1#![doc = r" Automatically generated code; do not edit!"]
2#![allow(
3 non_upper_case_globals,
4 clippy::unreadable_literal,
5 clippy::identity_op,
6 unused,
7 clippy::derive_partial_eq_without_eq
8)]
9use crate::platform::*;
10use crate::support::*;
11use crate::*;
12use libc::{timespec, wchar_t};
13use std::fmt;
14use std::mem::MaybeUninit;
15use std::os::raw::{c_char, c_void};
16pub const CURRENT_API_VERSION: Version = Version::new(1u16, 1u16, 54u32);
17pub const EXTENSION_ENUM_BASE: usize = 1000000000usize;
18pub const EXTENSION_ENUM_STRIDE: usize = 1000usize;
19pub const NULL_PATH: usize = 0usize;
20pub const NULL_SYSTEM_ID: usize = 0usize;
21pub const NO_DURATION: usize = 0usize;
22pub const FREQUENCY_UNSPECIFIED: usize = 0usize;
23pub const MIN_COMPOSITION_LAYERS_SUPPORTED: usize = 16usize;
24pub const CURRENT_LOADER_API_LAYER_VERSION: usize = 1usize;
25pub const CURRENT_LOADER_RUNTIME_VERSION: usize = 1usize;
26pub const LOADER_INFO_STRUCT_VERSION: usize = 1usize;
27pub const API_LAYER_INFO_STRUCT_VERSION: usize = 1usize;
28pub const RUNTIME_INFO_STRUCT_VERSION: usize = 1usize;
29pub const API_LAYER_NEXT_INFO_STRUCT_VERSION: usize = 1usize;
30pub const API_LAYER_CREATE_INFO_STRUCT_VERSION: usize = 1usize;
31pub const API_LAYER_MAX_SETTINGS_PATH_SIZE: usize = 512usize;
32pub const HAND_JOINT_COUNT_EXT: usize = 26usize;
33pub const BODY_JOINT_COUNT_BD: usize = 24usize;
34pub const BODY_JOINT_WITHOUT_ARM_COUNT_BD: usize = 16usize;
35pub const NULL_CONTROLLER_MODEL_KEY_MSFT: usize = 0usize;
36pub const NULL_RENDER_MODEL_KEY_FB: usize = 0usize;
37pub const FACIAL_EXPRESSION_EYE_COUNT_HTC: usize = 14usize;
38pub const FACIAL_EXPRESSION_LIP_COUNT_HTC: usize = 37usize;
39pub const HAND_FOREARM_JOINT_COUNT_ULTRALEAP: usize = 27usize;
40pub const NULL_TRACKABLE_ANDROID: usize = 0usize;
41pub const MAX_HAPTIC_PCM_BUFFER_SIZE_FB: usize = 4000usize;
42pub const NULL_SPATIAL_ENTITY_ID_EXT: usize = 0usize;
43pub const NULL_SPATIAL_BUFFER_ID_EXT: usize = 0usize;
44pub const BODY_JOINT_COUNT_HTC: usize = 26usize;
45pub const FACE_EXPRESSION_COUNT_BD: usize = 52usize;
46pub const LIP_EXPRESSION_COUNT_BD: usize = 20usize;
47pub const MAX_EXTENSION_NAME_SIZE: usize = 128usize;
48pub const MAX_API_LAYER_NAME_SIZE: usize = 256usize;
49pub const MAX_API_LAYER_DESCRIPTION_SIZE: usize = 256usize;
50pub const MAX_SYSTEM_NAME_SIZE: usize = 256usize;
51pub const MAX_APPLICATION_NAME_SIZE: usize = 128usize;
52pub const MAX_ENGINE_NAME_SIZE: usize = 128usize;
53pub const MAX_RUNTIME_NAME_SIZE: usize = 128usize;
54pub const MAX_PATH_LENGTH: usize = 256usize;
55pub const MAX_STRUCTURE_NAME_SIZE: usize = 64usize;
56pub const MAX_RESULT_STRING_SIZE: usize = 64usize;
57pub const MAX_GRAPHICS_APIS_SUPPORTED: usize = 32usize;
58pub const MAX_ACTION_SET_NAME_SIZE: usize = 64usize;
59pub const MAX_ACTION_NAME_SIZE: usize = 64usize;
60pub const MAX_LOCALIZED_ACTION_SET_NAME_SIZE: usize = 128usize;
61pub const MAX_LOCALIZED_ACTION_NAME_SIZE: usize = 128usize;
62pub const UUID_SIZE: usize = 16usize;
63pub const GUID_SIZE_MSFT: usize = 16usize;
64pub const MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT: usize = 64usize;
65pub const HAND_TRACKING_CAPSULE_POINT_COUNT_FB: usize = 2usize;
66pub const HAND_TRACKING_CAPSULE_COUNT_FB: usize = 19usize;
67pub const MAX_KEYBOARD_TRACKING_NAME_SIZE_FB: usize = 128usize;
68pub const PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB: usize = 256usize;
69pub const MAX_RENDER_MODEL_NAME_SIZE_FB: usize = 64usize;
70pub const MAX_LOCALIZATION_MAP_NAME_LENGTH_ML: usize = 64usize;
71pub const MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT: usize = 256usize;
72pub const MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR: usize = 256usize;
73pub const MAX_AUDIO_DEVICE_STR_SIZE_OCULUS: usize = 128usize;
74pub const FOVEATION_CENTER_SIZE_META: usize = 2usize;
75pub const MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META: usize = 3992usize;
76pub const MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS: usize = 32usize;
77pub const MAX_SPACES_PER_SHARE_REQUEST_META: usize = 32usize;
78pub const UUID_SIZE_EXT: usize = 16usize;
79pub const NULL_RENDER_MODEL_ID_EXT: usize = 0usize;
80pub const MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT: usize = 64usize;
81pub const MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC: usize = 256usize;
82pub const FACE_PARAMETER_COUNT_ANDROID: usize = 68usize;
83pub const FACE_REGION_CONFIDENCE_COUNT_ANDROID: usize = 3usize;
84pub const NULL_FUTURE_EXT: usize = 0usize;
85pub const MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META: usize = 1024usize;
86#[doc = "See [XrPassthroughCameraStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCameraStateANDROID)"]
87#[repr(transparent)]
88#[derive(Copy, Clone, Eq, PartialEq, Default)]
89pub struct PassthroughCameraStateANDROID(i32);
90impl PassthroughCameraStateANDROID {
91 #[doc = "The camera has been disabled by an app, the system or the user."]
92 pub const DISABLED: PassthroughCameraStateANDROID = Self(0i32);
93 #[doc = "The camera is still coming online and not yet ready to use. The runtime may: render a black background where the passthrough video is supposed to appear."]
94 pub const INITIALIZING: PassthroughCameraStateANDROID = Self(1i32);
95 #[doc = "The camera is ready to use."]
96 pub const READY: PassthroughCameraStateANDROID = Self(2i32);
97 #[doc = "The camera is in an unrecoverable error state."]
98 pub const ERROR: PassthroughCameraStateANDROID = Self(3i32);
99 pub fn from_raw(x: i32) -> Self {
100 Self(x)
101 }
102 pub fn into_raw(self) -> i32 {
103 self.0
104 }
105}
106impl fmt::Debug for PassthroughCameraStateANDROID {
107 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
108 let name = match *self {
109 Self::DISABLED => Some("DISABLED"),
110 Self::INITIALIZING => Some("INITIALIZING"),
111 Self::READY => Some("READY"),
112 Self::ERROR => Some("ERROR"),
113 _ => None,
114 };
115 fmt_enum(fmt, self.0, name)
116 }
117}
118#[doc = "See [XrTrackableMarkerTrackingModeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerTrackingModeANDROID)"]
119#[repr(transparent)]
120#[derive(Copy, Clone, Eq, PartialEq, Default)]
121pub struct TrackableMarkerTrackingModeANDROID(i32);
122impl TrackableMarkerTrackingModeANDROID {
123 #[doc = "Tracking dynamic markers. This mode has the highest accuracy and works on moving and static markers, but also has the highest power consumption."]
124 pub const DYNAMIC: TrackableMarkerTrackingModeANDROID = Self(0i32);
125 #[doc = "Tracking static markers. This mode is primarily useful for markers that are known to be static, which leads to less power consumption in comparison to the dynamic mode."]
126 pub const STATIC: TrackableMarkerTrackingModeANDROID = Self(1i32);
127 pub fn from_raw(x: i32) -> Self {
128 Self(x)
129 }
130 pub fn into_raw(self) -> i32 {
131 self.0
132 }
133}
134impl fmt::Debug for TrackableMarkerTrackingModeANDROID {
135 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
136 let name = match *self {
137 Self::DYNAMIC => Some("DYNAMIC"),
138 Self::STATIC => Some("STATIC"),
139 _ => None,
140 };
141 fmt_enum(fmt, self.0, name)
142 }
143}
144#[doc = "See [XrTrackableMarkerDictionaryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDictionaryANDROID)"]
145#[repr(transparent)]
146#[derive(Copy, Clone, Eq, PartialEq, Default)]
147pub struct TrackableMarkerDictionaryANDROID(i32);
148impl TrackableMarkerDictionaryANDROID {
149 pub const ARUCO_4X4_50: TrackableMarkerDictionaryANDROID = Self(0i32);
150 pub const ARUCO_4X4_100: TrackableMarkerDictionaryANDROID = Self(1i32);
151 pub const ARUCO_4X4_250: TrackableMarkerDictionaryANDROID = Self(2i32);
152 pub const ARUCO_4X4_1000: TrackableMarkerDictionaryANDROID = Self(3i32);
153 pub const ARUCO_5X5_50: TrackableMarkerDictionaryANDROID = Self(4i32);
154 pub const ARUCO_5X5_100: TrackableMarkerDictionaryANDROID = Self(5i32);
155 pub const ARUCO_5X5_250: TrackableMarkerDictionaryANDROID = Self(6i32);
156 pub const ARUCO_5X5_1000: TrackableMarkerDictionaryANDROID = Self(7i32);
157 pub const ARUCO_6X6_50: TrackableMarkerDictionaryANDROID = Self(8i32);
158 pub const ARUCO_6X6_100: TrackableMarkerDictionaryANDROID = Self(9i32);
159 pub const ARUCO_6X6_250: TrackableMarkerDictionaryANDROID = Self(10i32);
160 pub const ARUCO_6X6_1000: TrackableMarkerDictionaryANDROID = Self(11i32);
161 pub const ARUCO_7X7_50: TrackableMarkerDictionaryANDROID = Self(12i32);
162 pub const ARUCO_7X7_100: TrackableMarkerDictionaryANDROID = Self(13i32);
163 pub const ARUCO_7X7_250: TrackableMarkerDictionaryANDROID = Self(14i32);
164 pub const ARUCO_7X7_1000: TrackableMarkerDictionaryANDROID = Self(15i32);
165 pub const APRILTAG_16H5: TrackableMarkerDictionaryANDROID = Self(16i32);
166 pub const APRILTAG_25H9: TrackableMarkerDictionaryANDROID = Self(17i32);
167 pub const APRILTAG_36H10: TrackableMarkerDictionaryANDROID = Self(18i32);
168 pub const APRILTAG_36H11: TrackableMarkerDictionaryANDROID = Self(19i32);
169 pub fn from_raw(x: i32) -> Self {
170 Self(x)
171 }
172 pub fn into_raw(self) -> i32 {
173 self.0
174 }
175}
176impl fmt::Debug for TrackableMarkerDictionaryANDROID {
177 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
178 let name = match *self {
179 Self::ARUCO_4X4_50 => Some("ARUCO_4X4_50"),
180 Self::ARUCO_4X4_100 => Some("ARUCO_4X4_100"),
181 Self::ARUCO_4X4_250 => Some("ARUCO_4X4_250"),
182 Self::ARUCO_4X4_1000 => Some("ARUCO_4X4_1000"),
183 Self::ARUCO_5X5_50 => Some("ARUCO_5X5_50"),
184 Self::ARUCO_5X5_100 => Some("ARUCO_5X5_100"),
185 Self::ARUCO_5X5_250 => Some("ARUCO_5X5_250"),
186 Self::ARUCO_5X5_1000 => Some("ARUCO_5X5_1000"),
187 Self::ARUCO_6X6_50 => Some("ARUCO_6X6_50"),
188 Self::ARUCO_6X6_100 => Some("ARUCO_6X6_100"),
189 Self::ARUCO_6X6_250 => Some("ARUCO_6X6_250"),
190 Self::ARUCO_6X6_1000 => Some("ARUCO_6X6_1000"),
191 Self::ARUCO_7X7_50 => Some("ARUCO_7X7_50"),
192 Self::ARUCO_7X7_100 => Some("ARUCO_7X7_100"),
193 Self::ARUCO_7X7_250 => Some("ARUCO_7X7_250"),
194 Self::ARUCO_7X7_1000 => Some("ARUCO_7X7_1000"),
195 Self::APRILTAG_16H5 => Some("APRILTAG_16H5"),
196 Self::APRILTAG_25H9 => Some("APRILTAG_25H9"),
197 Self::APRILTAG_36H10 => Some("APRILTAG_36H10"),
198 Self::APRILTAG_36H11 => Some("APRILTAG_36H11"),
199 _ => None,
200 };
201 fmt_enum(fmt, self.0, name)
202 }
203}
204#[doc = "See [XrLoaderInterfaceStructs](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInterfaceStructs)"]
205#[repr(transparent)]
206#[derive(Copy, Clone, Eq, PartialEq, Default)]
207pub struct LoaderInterfaceStructs(i32);
208impl LoaderInterfaceStructs {
209 pub const UNINTIALIZED: LoaderInterfaceStructs = Self(0i32);
210 pub const LOADER_INFO: LoaderInterfaceStructs = Self(1i32);
211 pub const API_LAYER_REQUEST: LoaderInterfaceStructs = Self(2i32);
212 pub const RUNTIME_REQUEST: LoaderInterfaceStructs = Self(3i32);
213 pub const API_LAYER_CREATE_INFO: LoaderInterfaceStructs = Self(4i32);
214 pub const API_LAYER_NEXT_INFO: LoaderInterfaceStructs = Self(5i32);
215 pub fn from_raw(x: i32) -> Self {
216 Self(x)
217 }
218 pub fn into_raw(self) -> i32 {
219 self.0
220 }
221}
222impl fmt::Debug for LoaderInterfaceStructs {
223 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
224 let name = match *self {
225 Self::UNINTIALIZED => Some("UNINTIALIZED"),
226 Self::LOADER_INFO => Some("LOADER_INFO"),
227 Self::API_LAYER_REQUEST => Some("API_LAYER_REQUEST"),
228 Self::RUNTIME_REQUEST => Some("RUNTIME_REQUEST"),
229 Self::API_LAYER_CREATE_INFO => Some("API_LAYER_CREATE_INFO"),
230 Self::API_LAYER_NEXT_INFO => Some("API_LAYER_NEXT_INFO"),
231 _ => None,
232 };
233 fmt_enum(fmt, self.0, name)
234 }
235}
236#[doc = "Structure type enumerant - see [XrStructureType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrStructureType)"]
237#[repr(transparent)]
238#[derive(Copy, Clone, Eq, PartialEq, Default)]
239pub struct StructureType(i32);
240impl StructureType {
241 pub const UNKNOWN: StructureType = Self(0i32);
242 pub const API_LAYER_PROPERTIES: StructureType = Self(1i32);
243 pub const EXTENSION_PROPERTIES: StructureType = Self(2i32);
244 pub const INSTANCE_CREATE_INFO: StructureType = Self(3i32);
245 pub const SYSTEM_GET_INFO: StructureType = Self(4i32);
246 pub const SYSTEM_PROPERTIES: StructureType = Self(5i32);
247 pub const VIEW_LOCATE_INFO: StructureType = Self(6i32);
248 pub const VIEW: StructureType = Self(7i32);
249 pub const SESSION_CREATE_INFO: StructureType = Self(8i32);
250 pub const SWAPCHAIN_CREATE_INFO: StructureType = Self(9i32);
251 pub const SESSION_BEGIN_INFO: StructureType = Self(10i32);
252 pub const VIEW_STATE: StructureType = Self(11i32);
253 pub const FRAME_END_INFO: StructureType = Self(12i32);
254 pub const HAPTIC_VIBRATION: StructureType = Self(13i32);
255 pub const EVENT_DATA_BUFFER: StructureType = Self(16i32);
256 pub const EVENT_DATA_INSTANCE_LOSS_PENDING: StructureType = Self(17i32);
257 pub const EVENT_DATA_SESSION_STATE_CHANGED: StructureType = Self(18i32);
258 pub const ACTION_STATE_BOOLEAN: StructureType = Self(23i32);
259 pub const ACTION_STATE_FLOAT: StructureType = Self(24i32);
260 pub const ACTION_STATE_VECTOR2F: StructureType = Self(25i32);
261 pub const ACTION_STATE_POSE: StructureType = Self(27i32);
262 pub const ACTION_SET_CREATE_INFO: StructureType = Self(28i32);
263 pub const ACTION_CREATE_INFO: StructureType = Self(29i32);
264 pub const INSTANCE_PROPERTIES: StructureType = Self(32i32);
265 pub const FRAME_WAIT_INFO: StructureType = Self(33i32);
266 pub const COMPOSITION_LAYER_PROJECTION: StructureType = Self(35i32);
267 pub const COMPOSITION_LAYER_QUAD: StructureType = Self(36i32);
268 pub const REFERENCE_SPACE_CREATE_INFO: StructureType = Self(37i32);
269 pub const ACTION_SPACE_CREATE_INFO: StructureType = Self(38i32);
270 pub const EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING: StructureType = Self(40i32);
271 pub const VIEW_CONFIGURATION_VIEW: StructureType = Self(41i32);
272 pub const SPACE_LOCATION: StructureType = Self(42i32);
273 pub const SPACE_VELOCITY: StructureType = Self(43i32);
274 pub const FRAME_STATE: StructureType = Self(44i32);
275 pub const VIEW_CONFIGURATION_PROPERTIES: StructureType = Self(45i32);
276 pub const FRAME_BEGIN_INFO: StructureType = Self(46i32);
277 pub const COMPOSITION_LAYER_PROJECTION_VIEW: StructureType = Self(48i32);
278 pub const EVENT_DATA_EVENTS_LOST: StructureType = Self(49i32);
279 pub const INTERACTION_PROFILE_SUGGESTED_BINDING: StructureType = Self(51i32);
280 pub const EVENT_DATA_INTERACTION_PROFILE_CHANGED: StructureType = Self(52i32);
281 pub const INTERACTION_PROFILE_STATE: StructureType = Self(53i32);
282 pub const SWAPCHAIN_IMAGE_ACQUIRE_INFO: StructureType = Self(55i32);
283 pub const SWAPCHAIN_IMAGE_WAIT_INFO: StructureType = Self(56i32);
284 pub const SWAPCHAIN_IMAGE_RELEASE_INFO: StructureType = Self(57i32);
285 pub const ACTION_STATE_GET_INFO: StructureType = Self(58i32);
286 pub const HAPTIC_ACTION_INFO: StructureType = Self(59i32);
287 pub const SESSION_ACTION_SETS_ATTACH_INFO: StructureType = Self(60i32);
288 pub const ACTIONS_SYNC_INFO: StructureType = Self(61i32);
289 pub const BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO: StructureType = Self(62i32);
290 pub const INPUT_SOURCE_LOCALIZED_NAME_GET_INFO: StructureType = Self(63i32);
291 pub const SPACES_LOCATE_INFO: StructureType = Self(1000471000i32);
292 pub const SPACE_LOCATIONS: StructureType = Self(1000471001i32);
293 pub const SPACE_VELOCITIES: StructureType = Self(1000471002i32);
294 pub const COMPOSITION_LAYER_CUBE_KHR: StructureType = Self(1000006000i32);
295 pub const INSTANCE_CREATE_INFO_ANDROID_KHR: StructureType = Self(1000008000i32);
296 pub const COMPOSITION_LAYER_DEPTH_INFO_KHR: StructureType = Self(1000010000i32);
297 pub const VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR: StructureType = Self(1000014000i32);
298 pub const EVENT_DATA_PERF_SETTINGS_EXT: StructureType = Self(1000015000i32);
299 pub const COMPOSITION_LAYER_CYLINDER_KHR: StructureType = Self(1000017000i32);
300 pub const COMPOSITION_LAYER_EQUIRECT_KHR: StructureType = Self(1000018000i32);
301 pub const DEBUG_UTILS_OBJECT_NAME_INFO_EXT: StructureType = Self(1000019000i32);
302 pub const DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: StructureType = Self(1000019001i32);
303 pub const DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: StructureType = Self(1000019002i32);
304 pub const DEBUG_UTILS_LABEL_EXT: StructureType = Self(1000019003i32);
305 pub const GRAPHICS_BINDING_OPENGL_WIN32_KHR: StructureType = Self(1000023000i32);
306 pub const GRAPHICS_BINDING_OPENGL_XLIB_KHR: StructureType = Self(1000023001i32);
307 pub const GRAPHICS_BINDING_OPENGL_XCB_KHR: StructureType = Self(1000023002i32);
308 pub const GRAPHICS_BINDING_OPENGL_WAYLAND_KHR: StructureType = Self(1000023003i32);
309 pub const SWAPCHAIN_IMAGE_OPENGL_KHR: StructureType = Self(1000023004i32);
310 pub const GRAPHICS_REQUIREMENTS_OPENGL_KHR: StructureType = Self(1000023005i32);
311 pub const GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR: StructureType = Self(1000024001i32);
312 pub const SWAPCHAIN_IMAGE_OPENGL_ES_KHR: StructureType = Self(1000024002i32);
313 pub const GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR: StructureType = Self(1000024003i32);
314 pub const GRAPHICS_BINDING_VULKAN_KHR: StructureType = Self(1000025000i32);
315 pub const SWAPCHAIN_IMAGE_VULKAN_KHR: StructureType = Self(1000025001i32);
316 pub const GRAPHICS_REQUIREMENTS_VULKAN_KHR: StructureType = Self(1000025002i32);
317 pub const GRAPHICS_BINDING_D3D11_KHR: StructureType = Self(1000027000i32);
318 pub const SWAPCHAIN_IMAGE_D3D11_KHR: StructureType = Self(1000027001i32);
319 pub const GRAPHICS_REQUIREMENTS_D3D11_KHR: StructureType = Self(1000027002i32);
320 pub const GRAPHICS_BINDING_D3D12_KHR: StructureType = Self(1000028000i32);
321 pub const SWAPCHAIN_IMAGE_D3D12_KHR: StructureType = Self(1000028001i32);
322 pub const GRAPHICS_REQUIREMENTS_D3D12_KHR: StructureType = Self(1000028002i32);
323 pub const GRAPHICS_BINDING_METAL_KHR: StructureType = Self(1000029000i32);
324 pub const SWAPCHAIN_IMAGE_METAL_KHR: StructureType = Self(1000029001i32);
325 pub const GRAPHICS_REQUIREMENTS_METAL_KHR: StructureType = Self(1000029002i32);
326 pub const SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT: StructureType = Self(1000030000i32);
327 pub const EYE_GAZE_SAMPLE_TIME_EXT: StructureType = Self(1000030001i32);
328 pub const VISIBILITY_MASK_KHR: StructureType = Self(1000031000i32);
329 pub const EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR: StructureType = Self(1000031001i32);
330 pub const SESSION_CREATE_INFO_OVERLAY_EXTX: StructureType = Self(1000033000i32);
331 pub const EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX: StructureType = Self(1000033003i32);
332 pub const COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR: StructureType = Self(1000034000i32);
333 pub const SPATIAL_ANCHOR_CREATE_INFO_MSFT: StructureType = Self(1000039000i32);
334 pub const SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000039001i32);
335 pub const COMPOSITION_LAYER_IMAGE_LAYOUT_FB: StructureType = Self(1000040000i32);
336 pub const COMPOSITION_LAYER_ALPHA_BLEND_FB: StructureType = Self(1000041001i32);
337 pub const VIEW_CONFIGURATION_DEPTH_RANGE_EXT: StructureType = Self(1000046000i32);
338 pub const GRAPHICS_BINDING_EGL_MNDX: StructureType = Self(1000048004i32);
339 pub const SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000049000i32);
340 pub const SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT: StructureType =
341 Self(1000049001i32);
342 pub const SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT: StructureType =
343 Self(1000049002i32);
344 pub const SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT: StructureType = Self(1000049003i32);
345 pub const SYSTEM_HAND_TRACKING_PROPERTIES_EXT: StructureType = Self(1000051000i32);
346 pub const HAND_TRACKER_CREATE_INFO_EXT: StructureType = Self(1000051001i32);
347 pub const HAND_JOINTS_LOCATE_INFO_EXT: StructureType = Self(1000051002i32);
348 pub const HAND_JOINT_LOCATIONS_EXT: StructureType = Self(1000051003i32);
349 pub const HAND_JOINT_VELOCITIES_EXT: StructureType = Self(1000051004i32);
350 pub const SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT: StructureType = Self(1000052000i32);
351 pub const HAND_MESH_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000052001i32);
352 pub const HAND_MESH_UPDATE_INFO_MSFT: StructureType = Self(1000052002i32);
353 pub const HAND_MESH_MSFT: StructureType = Self(1000052003i32);
354 pub const HAND_POSE_TYPE_INFO_MSFT: StructureType = Self(1000052004i32);
355 pub const SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT: StructureType =
356 Self(1000053000i32);
357 pub const SECONDARY_VIEW_CONFIGURATION_STATE_MSFT: StructureType = Self(1000053001i32);
358 pub const SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT: StructureType = Self(1000053002i32);
359 pub const SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT: StructureType = Self(1000053003i32);
360 pub const SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT: StructureType = Self(1000053004i32);
361 pub const SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT: StructureType =
362 Self(1000053005i32);
363 pub const CONTROLLER_MODEL_KEY_STATE_MSFT: StructureType = Self(1000055000i32);
364 pub const CONTROLLER_MODEL_NODE_PROPERTIES_MSFT: StructureType = Self(1000055001i32);
365 pub const CONTROLLER_MODEL_PROPERTIES_MSFT: StructureType = Self(1000055002i32);
366 pub const CONTROLLER_MODEL_NODE_STATE_MSFT: StructureType = Self(1000055003i32);
367 pub const CONTROLLER_MODEL_STATE_MSFT: StructureType = Self(1000055004i32);
368 pub const VIEW_CONFIGURATION_VIEW_FOV_EPIC: StructureType = Self(1000059000i32);
369 pub const HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT: StructureType = Self(1000063000i32);
370 pub const COMPOSITION_LAYER_REPROJECTION_INFO_MSFT: StructureType = Self(1000066000i32);
371 pub const COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT: StructureType =
372 Self(1000066001i32);
373 pub const ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB: StructureType = Self(1000070000i32);
374 pub const COMPOSITION_LAYER_SECURE_CONTENT_FB: StructureType = Self(1000072000i32);
375 pub const BODY_TRACKER_CREATE_INFO_FB: StructureType = Self(1000076001i32);
376 pub const BODY_JOINTS_LOCATE_INFO_FB: StructureType = Self(1000076002i32);
377 pub const SYSTEM_BODY_TRACKING_PROPERTIES_FB: StructureType = Self(1000076004i32);
378 pub const BODY_JOINT_LOCATIONS_FB: StructureType = Self(1000076005i32);
379 pub const BODY_SKELETON_FB: StructureType = Self(1000076006i32);
380 pub const INTERACTION_PROFILE_DPAD_BINDING_EXT: StructureType = Self(1000078000i32);
381 pub const INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE: StructureType = Self(1000079000i32);
382 pub const HAND_JOINTS_MOTION_RANGE_INFO_EXT: StructureType = Self(1000080000i32);
383 pub const LOADER_INIT_INFO_ANDROID_KHR: StructureType = Self(1000089000i32);
384 pub const VULKAN_INSTANCE_CREATE_INFO_KHR: StructureType = Self(1000090000i32);
385 pub const VULKAN_DEVICE_CREATE_INFO_KHR: StructureType = Self(1000090001i32);
386 pub const VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR: StructureType = Self(1000090003i32);
387 pub const GRAPHICS_BINDING_VULKAN2_KHR: StructureType = Self::GRAPHICS_BINDING_VULKAN_KHR;
388 pub const SWAPCHAIN_IMAGE_VULKAN2_KHR: StructureType = Self::SWAPCHAIN_IMAGE_VULKAN_KHR;
389 pub const GRAPHICS_REQUIREMENTS_VULKAN2_KHR: StructureType =
390 Self::GRAPHICS_REQUIREMENTS_VULKAN_KHR;
391 pub const COMPOSITION_LAYER_EQUIRECT2_KHR: StructureType = Self(1000091000i32);
392 pub const SCENE_OBSERVER_CREATE_INFO_MSFT: StructureType = Self(1000097000i32);
393 pub const SCENE_CREATE_INFO_MSFT: StructureType = Self(1000097001i32);
394 pub const NEW_SCENE_COMPUTE_INFO_MSFT: StructureType = Self(1000097002i32);
395 pub const VISUAL_MESH_COMPUTE_LOD_INFO_MSFT: StructureType = Self(1000097003i32);
396 pub const SCENE_COMPONENTS_MSFT: StructureType = Self(1000097004i32);
397 pub const SCENE_COMPONENTS_GET_INFO_MSFT: StructureType = Self(1000097005i32);
398 pub const SCENE_COMPONENT_LOCATIONS_MSFT: StructureType = Self(1000097006i32);
399 pub const SCENE_COMPONENTS_LOCATE_INFO_MSFT: StructureType = Self(1000097007i32);
400 pub const SCENE_OBJECTS_MSFT: StructureType = Self(1000097008i32);
401 pub const SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT: StructureType = Self(1000097009i32);
402 pub const SCENE_OBJECT_TYPES_FILTER_INFO_MSFT: StructureType = Self(1000097010i32);
403 pub const SCENE_PLANES_MSFT: StructureType = Self(1000097011i32);
404 pub const SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT: StructureType = Self(1000097012i32);
405 pub const SCENE_MESHES_MSFT: StructureType = Self(1000097013i32);
406 pub const SCENE_MESH_BUFFERS_GET_INFO_MSFT: StructureType = Self(1000097014i32);
407 pub const SCENE_MESH_BUFFERS_MSFT: StructureType = Self(1000097015i32);
408 pub const SCENE_MESH_VERTEX_BUFFER_MSFT: StructureType = Self(1000097016i32);
409 pub const SCENE_MESH_INDICES_UINT32_MSFT: StructureType = Self(1000097017i32);
410 pub const SCENE_MESH_INDICES_UINT16_MSFT: StructureType = Self(1000097018i32);
411 pub const SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT: StructureType = Self(1000098000i32);
412 pub const SCENE_DESERIALIZE_INFO_MSFT: StructureType = Self(1000098001i32);
413 pub const EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB: StructureType = Self(1000101000i32);
414 pub const VIVE_TRACKER_PATHS_HTCX: StructureType = Self(1000103000i32);
415 pub const EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX: StructureType = Self(1000103001i32);
416 pub const SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC: StructureType = Self(1000104000i32);
417 pub const FACIAL_TRACKER_CREATE_INFO_HTC: StructureType = Self(1000104001i32);
418 pub const FACIAL_EXPRESSIONS_HTC: StructureType = Self(1000104002i32);
419 pub const SYSTEM_COLOR_SPACE_PROPERTIES_FB: StructureType = Self(1000108000i32);
420 pub const HAND_TRACKING_MESH_FB: StructureType = Self(1000110001i32);
421 pub const HAND_TRACKING_SCALE_FB: StructureType = Self(1000110003i32);
422 pub const HAND_TRACKING_AIM_STATE_FB: StructureType = Self(1000111001i32);
423 pub const HAND_TRACKING_CAPSULES_STATE_FB: StructureType = Self(1000112000i32);
424 pub const SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB: StructureType = Self(1000113004i32);
425 pub const SPATIAL_ANCHOR_CREATE_INFO_FB: StructureType = Self(1000113003i32);
426 pub const SPACE_COMPONENT_STATUS_SET_INFO_FB: StructureType = Self(1000113007i32);
427 pub const SPACE_COMPONENT_STATUS_FB: StructureType = Self(1000113001i32);
428 pub const EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB: StructureType = Self(1000113005i32);
429 pub const EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB: StructureType = Self(1000113006i32);
430 pub const FOVEATION_PROFILE_CREATE_INFO_FB: StructureType = Self(1000114000i32);
431 pub const SWAPCHAIN_CREATE_INFO_FOVEATION_FB: StructureType = Self(1000114001i32);
432 pub const SWAPCHAIN_STATE_FOVEATION_FB: StructureType = Self(1000114002i32);
433 pub const FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB: StructureType = Self(1000115000i32);
434 pub const KEYBOARD_SPACE_CREATE_INFO_FB: StructureType = Self(1000116009i32);
435 pub const KEYBOARD_TRACKING_QUERY_FB: StructureType = Self(1000116004i32);
436 pub const SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB: StructureType = Self(1000116002i32);
437 pub const TRIANGLE_MESH_CREATE_INFO_FB: StructureType = Self(1000117001i32);
438 pub const SYSTEM_PASSTHROUGH_PROPERTIES_FB: StructureType = Self(1000118000i32);
439 pub const PASSTHROUGH_CREATE_INFO_FB: StructureType = Self(1000118001i32);
440 pub const PASSTHROUGH_LAYER_CREATE_INFO_FB: StructureType = Self(1000118002i32);
441 pub const COMPOSITION_LAYER_PASSTHROUGH_FB: StructureType = Self(1000118003i32);
442 pub const GEOMETRY_INSTANCE_CREATE_INFO_FB: StructureType = Self(1000118004i32);
443 pub const GEOMETRY_INSTANCE_TRANSFORM_FB: StructureType = Self(1000118005i32);
444 pub const SYSTEM_PASSTHROUGH_PROPERTIES2_FB: StructureType = Self(1000118006i32);
445 pub const PASSTHROUGH_STYLE_FB: StructureType = Self(1000118020i32);
446 pub const PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB: StructureType = Self(1000118021i32);
447 pub const PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB: StructureType = Self(1000118022i32);
448 pub const PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB: StructureType = Self(1000118023i32);
449 pub const EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB: StructureType = Self(1000118030i32);
450 pub const RENDER_MODEL_PATH_INFO_FB: StructureType = Self(1000119000i32);
451 pub const RENDER_MODEL_PROPERTIES_FB: StructureType = Self(1000119001i32);
452 pub const RENDER_MODEL_BUFFER_FB: StructureType = Self(1000119002i32);
453 pub const RENDER_MODEL_LOAD_INFO_FB: StructureType = Self(1000119003i32);
454 pub const SYSTEM_RENDER_MODEL_PROPERTIES_FB: StructureType = Self(1000119004i32);
455 pub const RENDER_MODEL_CAPABILITIES_REQUEST_FB: StructureType = Self(1000119005i32);
456 pub const BINDING_MODIFICATIONS_KHR: StructureType = Self(1000120000i32);
457 pub const VIEW_LOCATE_FOVEATED_RENDERING_VARJO: StructureType = Self(1000121000i32);
458 pub const FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO: StructureType = Self(1000121001i32);
459 pub const SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO: StructureType = Self(1000121002i32);
460 pub const COMPOSITION_LAYER_DEPTH_TEST_VARJO: StructureType = Self(1000122000i32);
461 pub const SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO: StructureType = Self(1000124000i32);
462 pub const EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO: StructureType = Self(1000124001i32);
463 pub const MARKER_SPACE_CREATE_INFO_VARJO: StructureType = Self(1000124002i32);
464 pub const FRAME_END_INFO_ML: StructureType = Self(1000135000i32);
465 pub const GLOBAL_DIMMER_FRAME_END_INFO_ML: StructureType = Self(1000136000i32);
466 pub const COORDINATE_SPACE_CREATE_INFO_ML: StructureType = Self(1000137000i32);
467 pub const SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML: StructureType = Self(1000138000i32);
468 pub const MARKER_DETECTOR_CREATE_INFO_ML: StructureType = Self(1000138001i32);
469 pub const MARKER_DETECTOR_ARUCO_INFO_ML: StructureType = Self(1000138002i32);
470 pub const MARKER_DETECTOR_SIZE_INFO_ML: StructureType = Self(1000138003i32);
471 pub const MARKER_DETECTOR_APRIL_TAG_INFO_ML: StructureType = Self(1000138004i32);
472 pub const MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML: StructureType = Self(1000138005i32);
473 pub const MARKER_DETECTOR_SNAPSHOT_INFO_ML: StructureType = Self(1000138006i32);
474 pub const MARKER_DETECTOR_STATE_ML: StructureType = Self(1000138007i32);
475 pub const MARKER_SPACE_CREATE_INFO_ML: StructureType = Self(1000138008i32);
476 pub const LOCALIZATION_MAP_ML: StructureType = Self(1000139000i32);
477 pub const EVENT_DATA_LOCALIZATION_CHANGED_ML: StructureType = Self(1000139001i32);
478 pub const MAP_LOCALIZATION_REQUEST_INFO_ML: StructureType = Self(1000139002i32);
479 pub const LOCALIZATION_MAP_IMPORT_INFO_ML: StructureType = Self(1000139003i32);
480 pub const LOCALIZATION_ENABLE_EVENTS_INFO_ML: StructureType = Self(1000139004i32);
481 pub const SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML: StructureType = Self(1000140000i32);
482 pub const CREATE_SPATIAL_ANCHORS_COMPLETION_ML: StructureType = Self(1000140001i32);
483 pub const SPATIAL_ANCHOR_STATE_ML: StructureType = Self(1000140002i32);
484 pub const SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML: StructureType = Self(1000141000i32);
485 pub const SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML: StructureType = Self(1000141001i32);
486 pub const SPATIAL_ANCHORS_QUERY_COMPLETION_ML: StructureType = Self(1000141002i32);
487 pub const SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML: StructureType = Self(1000141003i32);
488 pub const SPATIAL_ANCHORS_PUBLISH_INFO_ML: StructureType = Self(1000141004i32);
489 pub const SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML: StructureType = Self(1000141005i32);
490 pub const SPATIAL_ANCHORS_DELETE_INFO_ML: StructureType = Self(1000141006i32);
491 pub const SPATIAL_ANCHORS_DELETE_COMPLETION_ML: StructureType = Self(1000141007i32);
492 pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML: StructureType = Self(1000141008i32);
493 pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML: StructureType = Self(1000141009i32);
494 pub const SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML: StructureType = Self(1000141010i32);
495 pub const SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML: StructureType = Self(1000141011i32);
496 pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML: StructureType =
497 Self(1000141012i32);
498 pub const EVENT_DATA_HEADSET_FIT_CHANGED_ML: StructureType = Self(1000472000i32);
499 pub const EVENT_DATA_EYE_CALIBRATION_CHANGED_ML: StructureType = Self(1000472001i32);
500 pub const USER_CALIBRATION_ENABLE_EVENTS_INFO_ML: StructureType = Self(1000472002i32);
501 pub const SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT: StructureType = Self(1000142000i32);
502 pub const SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT: StructureType =
503 Self(1000142001i32);
504 pub const SCENE_MARKERS_MSFT: StructureType = Self(1000147000i32);
505 pub const SCENE_MARKER_TYPE_FILTER_MSFT: StructureType = Self(1000147001i32);
506 pub const SCENE_MARKER_QR_CODES_MSFT: StructureType = Self(1000147002i32);
507 pub const SPACE_QUERY_INFO_FB: StructureType = Self(1000156001i32);
508 pub const SPACE_QUERY_RESULTS_FB: StructureType = Self(1000156002i32);
509 pub const SPACE_STORAGE_LOCATION_FILTER_INFO_FB: StructureType = Self(1000156003i32);
510 pub const SPACE_UUID_FILTER_INFO_FB: StructureType = Self(1000156054i32);
511 pub const SPACE_COMPONENT_FILTER_INFO_FB: StructureType = Self(1000156052i32);
512 pub const EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB: StructureType = Self(1000156103i32);
513 pub const EVENT_DATA_SPACE_QUERY_COMPLETE_FB: StructureType = Self(1000156104i32);
514 pub const SPACE_SAVE_INFO_FB: StructureType = Self(1000158000i32);
515 pub const SPACE_ERASE_INFO_FB: StructureType = Self(1000158001i32);
516 pub const EVENT_DATA_SPACE_SAVE_COMPLETE_FB: StructureType = Self(1000158106i32);
517 pub const EVENT_DATA_SPACE_ERASE_COMPLETE_FB: StructureType = Self(1000158107i32);
518 pub const SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB: StructureType = Self(1000160000i32);
519 pub const SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB: StructureType = Self(1000161000i32);
520 pub const SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB: StructureType = Self(1000162000i32);
521 pub const SWAPCHAIN_STATE_SAMPLER_VULKAN_FB: StructureType = Self(1000163000i32);
522 pub const SPACE_SHARE_INFO_FB: StructureType = Self(1000169001i32);
523 pub const EVENT_DATA_SPACE_SHARE_COMPLETE_FB: StructureType = Self(1000169002i32);
524 pub const COMPOSITION_LAYER_SPACE_WARP_INFO_FB: StructureType = Self(1000171000i32);
525 pub const SYSTEM_SPACE_WARP_PROPERTIES_FB: StructureType = Self(1000171001i32);
526 pub const HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB: StructureType = Self(1000173001i32);
527 pub const SEMANTIC_LABELS_FB: StructureType = Self(1000175000i32);
528 pub const ROOM_LAYOUT_FB: StructureType = Self(1000175001i32);
529 pub const BOUNDARY_2D_FB: StructureType = Self(1000175002i32);
530 pub const SEMANTIC_LABELS_SUPPORT_INFO_FB: StructureType = Self(1000175010i32);
531 pub const DIGITAL_LENS_CONTROL_ALMALENCE: StructureType = Self(1000196000i32);
532 pub const EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB: StructureType = Self(1000198001i32);
533 pub const SCENE_CAPTURE_REQUEST_INFO_FB: StructureType = Self(1000198050i32);
534 pub const SPACE_CONTAINER_FB: StructureType = Self(1000199000i32);
535 pub const FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META: StructureType = Self(1000200000i32);
536 pub const FOVEATION_EYE_TRACKED_STATE_META: StructureType = Self(1000200001i32);
537 pub const SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META: StructureType = Self(1000200002i32);
538 pub const SYSTEM_FACE_TRACKING_PROPERTIES_FB: StructureType = Self(1000201004i32);
539 pub const FACE_TRACKER_CREATE_INFO_FB: StructureType = Self(1000201005i32);
540 pub const FACE_EXPRESSION_INFO_FB: StructureType = Self(1000201002i32);
541 pub const FACE_EXPRESSION_WEIGHTS_FB: StructureType = Self(1000201006i32);
542 pub const EYE_TRACKER_CREATE_INFO_FB: StructureType = Self(1000202001i32);
543 pub const EYE_GAZES_INFO_FB: StructureType = Self(1000202002i32);
544 pub const EYE_GAZES_FB: StructureType = Self(1000202003i32);
545 pub const SYSTEM_EYE_TRACKING_PROPERTIES_FB: StructureType = Self(1000202004i32);
546 pub const PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB: StructureType = Self(1000203002i32);
547 pub const COMPOSITION_LAYER_SETTINGS_FB: StructureType = Self(1000204000i32);
548 pub const HAPTIC_PCM_VIBRATION_FB: StructureType = Self(1000209001i32);
549 pub const DEVICE_PCM_SAMPLE_RATE_STATE_FB: StructureType = Self(1000209002i32);
550 pub const DEVICE_PCM_SAMPLE_RATE_GET_INFO_FB: StructureType =
551 Self::DEVICE_PCM_SAMPLE_RATE_STATE_FB;
552 pub const FRAME_SYNTHESIS_INFO_EXT: StructureType = Self(1000211000i32);
553 pub const FRAME_SYNTHESIS_CONFIG_VIEW_EXT: StructureType = Self(1000211001i32);
554 pub const COMPOSITION_LAYER_DEPTH_TEST_FB: StructureType = Self(1000212000i32);
555 pub const LOCAL_DIMMING_FRAME_END_INFO_META: StructureType = Self(1000216000i32);
556 pub const PASSTHROUGH_PREFERENCES_META: StructureType = Self(1000217000i32);
557 pub const SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META: StructureType = Self(1000219001i32);
558 pub const VIRTUAL_KEYBOARD_CREATE_INFO_META: StructureType = Self(1000219002i32);
559 pub const VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META: StructureType = Self(1000219003i32);
560 pub const VIRTUAL_KEYBOARD_LOCATION_INFO_META: StructureType = Self(1000219004i32);
561 pub const VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META: StructureType = Self(1000219005i32);
562 pub const VIRTUAL_KEYBOARD_ANIMATION_STATE_META: StructureType = Self(1000219006i32);
563 pub const VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META: StructureType = Self(1000219007i32);
564 pub const VIRTUAL_KEYBOARD_TEXTURE_DATA_META: StructureType = Self(1000219009i32);
565 pub const VIRTUAL_KEYBOARD_INPUT_INFO_META: StructureType = Self(1000219010i32);
566 pub const VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META: StructureType = Self(1000219011i32);
567 pub const EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META: StructureType = Self(1000219014i32);
568 pub const EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META: StructureType = Self(1000219015i32);
569 pub const EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META: StructureType = Self(1000219016i32);
570 pub const EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META: StructureType = Self(1000219017i32);
571 pub const EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META: StructureType = Self(1000219018i32);
572 pub const EXTERNAL_CAMERA_OCULUS: StructureType = Self(1000226000i32);
573 pub const VULKAN_SWAPCHAIN_CREATE_INFO_META: StructureType = Self(1000227000i32);
574 pub const PERFORMANCE_METRICS_STATE_META: StructureType = Self(1000232001i32);
575 pub const PERFORMANCE_METRICS_COUNTER_META: StructureType = Self(1000232002i32);
576 pub const SPACE_LIST_SAVE_INFO_FB: StructureType = Self(1000238000i32);
577 pub const EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB: StructureType = Self(1000238001i32);
578 pub const SPACE_USER_CREATE_INFO_FB: StructureType = Self(1000241001i32);
579 pub const SYSTEM_HEADSET_ID_PROPERTIES_META: StructureType = Self(1000245000i32);
580 pub const SYSTEM_SPACE_DISCOVERY_PROPERTIES_META: StructureType = Self(1000247000i32);
581 pub const SPACE_DISCOVERY_INFO_META: StructureType = Self(1000247001i32);
582 pub const SPACE_FILTER_UUID_META: StructureType = Self(1000247003i32);
583 pub const SPACE_FILTER_COMPONENT_META: StructureType = Self(1000247004i32);
584 pub const SPACE_DISCOVERY_RESULT_META: StructureType = Self(1000247005i32);
585 pub const SPACE_DISCOVERY_RESULTS_META: StructureType = Self(1000247006i32);
586 pub const EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META: StructureType =
587 Self(1000247007i32);
588 pub const EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META: StructureType = Self(1000247008i32);
589 pub const RECOMMENDED_LAYER_RESOLUTION_META: StructureType = Self(1000254000i32);
590 pub const RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META: StructureType = Self(1000254001i32);
591 pub const SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META: StructureType = Self(1000259000i32);
592 pub const SPACES_SAVE_INFO_META: StructureType = Self(1000259001i32);
593 pub const EVENT_DATA_SPACES_SAVE_RESULT_META: StructureType = Self(1000259002i32);
594 pub const SPACES_ERASE_INFO_META: StructureType = Self(1000259003i32);
595 pub const EVENT_DATA_SPACES_ERASE_RESULT_META: StructureType = Self(1000259004i32);
596 pub const SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META: StructureType = Self(1000266000i32);
597 pub const PASSTHROUGH_COLOR_LUT_CREATE_INFO_META: StructureType = Self(1000266001i32);
598 pub const PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META: StructureType = Self(1000266002i32);
599 pub const PASSTHROUGH_COLOR_MAP_LUT_META: StructureType = Self(1000266100i32);
600 pub const PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META: StructureType = Self(1000266101i32);
601 pub const SPACE_TRIANGLE_MESH_GET_INFO_META: StructureType = Self(1000269001i32);
602 pub const SPACE_TRIANGLE_MESH_META: StructureType = Self(1000269002i32);
603 pub const SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META: StructureType = Self(1000274000i32);
604 pub const EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META: StructureType = Self(1000282000i32);
605 pub const BODY_TRACKING_CALIBRATION_INFO_META: StructureType = Self(1000283002i32);
606 pub const BODY_TRACKING_CALIBRATION_STATUS_META: StructureType = Self(1000283003i32);
607 pub const SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META: StructureType = Self(1000283004i32);
608 pub const SYSTEM_FACE_TRACKING_PROPERTIES2_FB: StructureType = Self(1000287013i32);
609 pub const FACE_TRACKER_CREATE_INFO2_FB: StructureType = Self(1000287014i32);
610 pub const FACE_EXPRESSION_INFO2_FB: StructureType = Self(1000287015i32);
611 pub const FACE_EXPRESSION_WEIGHTS2_FB: StructureType = Self(1000287016i32);
612 pub const SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META: StructureType = Self(1000290000i32);
613 pub const SHARE_SPACES_INFO_META: StructureType = Self(1000290001i32);
614 pub const EVENT_DATA_SHARE_SPACES_COMPLETE_META: StructureType = Self(1000290002i32);
615 pub const ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META: StructureType = Self(1000291000i32);
616 pub const ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META: StructureType = Self(1000291001i32);
617 pub const ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META: StructureType = Self(1000291002i32);
618 pub const ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META: StructureType = Self(1000291003i32);
619 pub const ENVIRONMENT_DEPTH_IMAGE_VIEW_META: StructureType = Self(1000291004i32);
620 pub const ENVIRONMENT_DEPTH_IMAGE_META: StructureType = Self(1000291005i32);
621 pub const ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META: StructureType = Self(1000291006i32);
622 pub const SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META: StructureType = Self(1000291007i32);
623 pub const ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META: StructureType = Self(1000291008i32);
624 pub const RENDER_MODEL_CREATE_INFO_EXT: StructureType = Self(1000300000i32);
625 pub const RENDER_MODEL_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300001i32);
626 pub const RENDER_MODEL_PROPERTIES_EXT: StructureType = Self(1000300002i32);
627 pub const RENDER_MODEL_SPACE_CREATE_INFO_EXT: StructureType = Self(1000300003i32);
628 pub const RENDER_MODEL_STATE_GET_INFO_EXT: StructureType = Self(1000300004i32);
629 pub const RENDER_MODEL_STATE_EXT: StructureType = Self(1000300005i32);
630 pub const RENDER_MODEL_ASSET_CREATE_INFO_EXT: StructureType = Self(1000300006i32);
631 pub const RENDER_MODEL_ASSET_DATA_GET_INFO_EXT: StructureType = Self(1000300007i32);
632 pub const RENDER_MODEL_ASSET_DATA_EXT: StructureType = Self(1000300008i32);
633 pub const RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300009i32);
634 pub const RENDER_MODEL_ASSET_PROPERTIES_EXT: StructureType = Self(1000300010i32);
635 pub const INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT: StructureType = Self(1000301000i32);
636 pub const INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT: StructureType = Self(1000301001i32);
637 pub const EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT: StructureType = Self(1000301002i32);
638 pub const INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT: StructureType =
639 Self(1000301003i32);
640 pub const PASSTHROUGH_CREATE_INFO_HTC: StructureType = Self(1000317001i32);
641 pub const PASSTHROUGH_COLOR_HTC: StructureType = Self(1000317002i32);
642 pub const PASSTHROUGH_MESH_TRANSFORM_INFO_HTC: StructureType = Self(1000317003i32);
643 pub const COMPOSITION_LAYER_PASSTHROUGH_HTC: StructureType = Self(1000317004i32);
644 pub const FOVEATION_APPLY_INFO_HTC: StructureType = Self(1000318000i32);
645 pub const FOVEATION_DYNAMIC_MODE_INFO_HTC: StructureType = Self(1000318001i32);
646 pub const FOVEATION_CUSTOM_MODE_INFO_HTC: StructureType = Self(1000318002i32);
647 pub const SYSTEM_ANCHOR_PROPERTIES_HTC: StructureType = Self(1000319000i32);
648 pub const SPATIAL_ANCHOR_CREATE_INFO_HTC: StructureType = Self(1000319001i32);
649 pub const SYSTEM_BODY_TRACKING_PROPERTIES_HTC: StructureType = Self(1000320000i32);
650 pub const BODY_TRACKER_CREATE_INFO_HTC: StructureType = Self(1000320001i32);
651 pub const BODY_JOINTS_LOCATE_INFO_HTC: StructureType = Self(1000320002i32);
652 pub const BODY_JOINT_LOCATIONS_HTC: StructureType = Self(1000320003i32);
653 pub const BODY_SKELETON_HTC: StructureType = Self(1000320004i32);
654 pub const ACTIVE_ACTION_SET_PRIORITIES_EXT: StructureType = Self(1000373000i32);
655 pub const SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX: StructureType = Self(1000375000i32);
656 pub const FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX: StructureType = Self(1000375001i32);
657 pub const BODY_TRACKER_CREATE_INFO_BD: StructureType = Self(1000385001i32);
658 pub const BODY_JOINTS_LOCATE_INFO_BD: StructureType = Self(1000385002i32);
659 pub const BODY_JOINT_LOCATIONS_BD: StructureType = Self(1000385003i32);
660 pub const SYSTEM_BODY_TRACKING_PROPERTIES_BD: StructureType = Self(1000385004i32);
661 pub const SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD: StructureType = Self(1000386001i32);
662 pub const FACE_TRACKER_CREATE_INFO_BD: StructureType = Self(1000386002i32);
663 pub const FACIAL_SIMULATION_DATA_GET_INFO_BD: StructureType = Self(1000386003i32);
664 pub const FACIAL_SIMULATION_DATA_BD: StructureType = Self(1000386004i32);
665 pub const LIP_EXPRESSION_DATA_BD: StructureType = Self(1000386005i32);
666 pub const SYSTEM_SPATIAL_SENSING_PROPERTIES_BD: StructureType = Self(1000389000i32);
667 pub const SPATIAL_ENTITY_COMPONENT_GET_INFO_BD: StructureType = Self(1000389001i32);
668 pub const SPATIAL_ENTITY_LOCATION_GET_INFO_BD: StructureType = Self(1000389002i32);
669 pub const SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD: StructureType = Self(1000389003i32);
670 pub const SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD: StructureType = Self(1000389004i32);
671 pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD: StructureType = Self(1000389005i32);
672 pub const SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD: StructureType = Self(1000389006i32);
673 pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD: StructureType = Self(1000389007i32);
674 pub const SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD: StructureType = Self(1000389008i32);
675 pub const SENSE_DATA_PROVIDER_CREATE_INFO_BD: StructureType = Self(1000389009i32);
676 pub const SENSE_DATA_PROVIDER_START_INFO_BD: StructureType = Self(1000389010i32);
677 pub const EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD: StructureType = Self(1000389011i32);
678 pub const EVENT_DATA_SENSE_DATA_UPDATED_BD: StructureType = Self(1000389012i32);
679 pub const SENSE_DATA_QUERY_INFO_BD: StructureType = Self(1000389013i32);
680 pub const SENSE_DATA_QUERY_COMPLETION_BD: StructureType = Self(1000389014i32);
681 pub const SENSE_DATA_FILTER_UUID_BD: StructureType = Self(1000389015i32);
682 pub const SENSE_DATA_FILTER_SEMANTIC_BD: StructureType = Self(1000389016i32);
683 pub const QUERIED_SENSE_DATA_GET_INFO_BD: StructureType = Self(1000389017i32);
684 pub const QUERIED_SENSE_DATA_BD: StructureType = Self(1000389018i32);
685 pub const SPATIAL_ENTITY_STATE_BD: StructureType = Self(1000389019i32);
686 pub const SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000389020i32);
687 pub const ANCHOR_SPACE_CREATE_INFO_BD: StructureType = Self(1000389021i32);
688 pub const SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD: StructureType = Self(1000390000i32);
689 pub const SPATIAL_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000390001i32);
690 pub const SPATIAL_ANCHOR_CREATE_COMPLETION_BD: StructureType = Self(1000390002i32);
691 pub const SPATIAL_ANCHOR_PERSIST_INFO_BD: StructureType = Self(1000390003i32);
692 pub const SPATIAL_ANCHOR_UNPERSIST_INFO_BD: StructureType = Self(1000390004i32);
693 pub const SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD: StructureType = Self(1000391000i32);
694 pub const SPATIAL_ANCHOR_SHARE_INFO_BD: StructureType = Self(1000391001i32);
695 pub const SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD: StructureType = Self(1000391002i32);
696 pub const SYSTEM_SPATIAL_SCENE_PROPERTIES_BD: StructureType = Self(1000392000i32);
697 pub const SCENE_CAPTURE_INFO_BD: StructureType = Self(1000392001i32);
698 pub const SYSTEM_SPATIAL_MESH_PROPERTIES_BD: StructureType = Self(1000393000i32);
699 pub const SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD: StructureType = Self(1000393001i32);
700 pub const FUTURE_POLL_RESULT_PROGRESS_BD: StructureType = Self(1000394001i32);
701 #[doc = "XrSystemSpatialPlanePropertiesBD"]
702 pub const SYSTEM_SPATIAL_PLANE_PROPERTIES_BD: StructureType = Self(1000396000i32);
703 #[doc = "XrSpatialEntityComponentDataPlaneOrientationBD"]
704 pub const SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD: StructureType =
705 Self(1000396001i32);
706 #[doc = "XrSenseDataFilterPlaneOrientationBD"]
707 pub const SENSE_DATA_FILTER_PLANE_ORIENTATION_BD: StructureType = Self(1000396002i32);
708 pub const HAND_TRACKING_DATA_SOURCE_INFO_EXT: StructureType = Self(1000428000i32);
709 pub const HAND_TRACKING_DATA_SOURCE_STATE_EXT: StructureType = Self(1000428001i32);
710 pub const PLANE_DETECTOR_CREATE_INFO_EXT: StructureType = Self(1000429001i32);
711 pub const PLANE_DETECTOR_BEGIN_INFO_EXT: StructureType = Self(1000429002i32);
712 pub const PLANE_DETECTOR_GET_INFO_EXT: StructureType = Self(1000429003i32);
713 pub const PLANE_DETECTOR_LOCATIONS_EXT: StructureType = Self(1000429004i32);
714 pub const PLANE_DETECTOR_LOCATION_EXT: StructureType = Self(1000429005i32);
715 pub const PLANE_DETECTOR_POLYGON_BUFFER_EXT: StructureType = Self(1000429006i32);
716 pub const SYSTEM_PLANE_DETECTION_PROPERTIES_EXT: StructureType = Self(1000429007i32);
717 pub const TRACKABLE_GET_INFO_ANDROID: StructureType = Self(1000455000i32);
718 pub const ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000455001i32);
719 pub const TRACKABLE_PLANE_ANDROID: StructureType = Self(1000455003i32);
720 pub const TRACKABLE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000455004i32);
721 pub const SYSTEM_TRACKABLES_PROPERTIES_ANDROID: StructureType = Self(1000455005i32);
722 pub const PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000457001i32);
723 pub const PERSISTED_ANCHOR_SPACE_INFO_ANDROID: StructureType = Self(1000457002i32);
724 pub const DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID: StructureType = Self(1000457003i32);
725 pub const SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID: StructureType =
726 Self(1000457004i32);
727 pub const FACE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000458000i32);
728 pub const FACE_STATE_GET_INFO_ANDROID: StructureType = Self(1000458001i32);
729 pub const FACE_STATE_ANDROID: StructureType = Self(1000458002i32);
730 pub const SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000458003i32);
731 pub const PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID: StructureType = Self(1000460000i32);
732 pub const SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID: StructureType =
733 Self(1000460001i32);
734 pub const RAYCAST_INFO_ANDROID: StructureType = Self(1000463000i32);
735 pub const RAYCAST_HIT_RESULTS_ANDROID: StructureType = Self(1000463001i32);
736 pub const TRACKABLE_OBJECT_ANDROID: StructureType = Self(1000466000i32);
737 pub const TRACKABLE_OBJECT_CONFIGURATION_ANDROID: StructureType = Self(1000466001i32);
738 pub const FUTURE_CANCEL_INFO_EXT: StructureType = Self(1000469000i32);
739 pub const FUTURE_POLL_INFO_EXT: StructureType = Self(1000469001i32);
740 pub const FUTURE_COMPLETION_EXT: StructureType = Self(1000469002i32);
741 pub const FUTURE_POLL_RESULT_EXT: StructureType = Self(1000469003i32);
742 pub const EVENT_DATA_USER_PRESENCE_CHANGED_EXT: StructureType = Self(1000470000i32);
743 pub const SYSTEM_USER_PRESENCE_PROPERTIES_EXT: StructureType = Self(1000470001i32);
744 pub const SPACES_LOCATE_INFO_KHR: StructureType = Self::SPACES_LOCATE_INFO;
745 pub const SPACE_LOCATIONS_KHR: StructureType = Self::SPACE_LOCATIONS;
746 pub const SPACE_VELOCITIES_KHR: StructureType = Self::SPACE_VELOCITIES;
747 pub const SYSTEM_NOTIFICATIONS_SET_INFO_ML: StructureType = Self(1000473000i32);
748 pub const WORLD_MESH_DETECTOR_CREATE_INFO_ML: StructureType = Self(1000474001i32);
749 pub const WORLD_MESH_STATE_REQUEST_INFO_ML: StructureType = Self(1000474002i32);
750 pub const WORLD_MESH_BLOCK_STATE_ML: StructureType = Self(1000474003i32);
751 pub const WORLD_MESH_STATE_REQUEST_COMPLETION_ML: StructureType = Self(1000474004i32);
752 pub const WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML: StructureType = Self(1000474005i32);
753 pub const WORLD_MESH_BUFFER_SIZE_ML: StructureType = Self(1000474006i32);
754 pub const WORLD_MESH_BUFFER_ML: StructureType = Self(1000474007i32);
755 pub const WORLD_MESH_BLOCK_REQUEST_ML: StructureType = Self(1000474008i32);
756 pub const WORLD_MESH_GET_INFO_ML: StructureType = Self(1000474009i32);
757 pub const WORLD_MESH_BLOCK_ML: StructureType = Self(1000474010i32);
758 pub const WORLD_MESH_REQUEST_COMPLETION_ML: StructureType = Self(1000474011i32);
759 pub const WORLD_MESH_REQUEST_COMPLETION_INFO_ML: StructureType = Self(1000474012i32);
760 pub const SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML: StructureType = Self(1000482004i32);
761 pub const FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML: StructureType = Self(1000482005i32);
762 pub const FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML: StructureType = Self(1000482006i32);
763 pub const FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML: StructureType = Self(1000482007i32);
764 pub const SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META: StructureType =
765 Self(1000532001i32);
766 pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META: StructureType =
767 Self(1000532002i32);
768 pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META: StructureType =
769 Self(1000532003i32);
770 pub const COLOCATION_DISCOVERY_START_INFO_META: StructureType = Self(1000571010i32);
771 pub const COLOCATION_DISCOVERY_STOP_INFO_META: StructureType = Self(1000571011i32);
772 pub const COLOCATION_ADVERTISEMENT_START_INFO_META: StructureType = Self(1000571012i32);
773 pub const COLOCATION_ADVERTISEMENT_STOP_INFO_META: StructureType = Self(1000571013i32);
774 pub const EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
775 Self(1000571020i32);
776 pub const EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
777 Self(1000571021i32);
778 pub const EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
779 Self(1000571022i32);
780 pub const EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
781 Self(1000571023i32);
782 pub const EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META: StructureType = Self(1000571024i32);
783 pub const EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META: StructureType = Self(1000571025i32);
784 pub const EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
785 Self(1000571026i32);
786 pub const SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META: StructureType = Self(1000571030i32);
787 pub const SHARE_SPACES_RECIPIENT_GROUPS_META: StructureType = Self(1000572000i32);
788 pub const SPACE_GROUP_UUID_FILTER_INFO_META: StructureType = Self(1000572001i32);
789 pub const SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META: StructureType =
790 Self(1000572100i32);
791 pub const ANCHOR_SHARING_INFO_ANDROID: StructureType = Self(1000701000i32);
792 pub const ANCHOR_SHARING_TOKEN_ANDROID: StructureType = Self(1000701001i32);
793 pub const SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID: StructureType = Self(1000701002i32);
794 pub const SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000707000i32);
795 pub const TRACKABLE_MARKER_CONFIGURATION_ANDROID: StructureType = Self(1000707001i32);
796 pub const TRACKABLE_MARKER_ANDROID: StructureType = Self(1000707002i32);
797 pub const SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT: StructureType = Self(1000740000i32);
798 pub const SPATIAL_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000740001i32);
799 pub const CREATE_SPATIAL_CONTEXT_COMPLETION_EXT: StructureType = Self(1000740002i32);
800 pub const SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740003i32);
801 pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT: StructureType =
802 Self(1000740004i32);
803 pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT: StructureType = Self(1000740005i32);
804 pub const SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT: StructureType = Self(1000740006i32);
805 pub const SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT: StructureType = Self(1000740007i32);
806 pub const SPATIAL_BUFFER_GET_INFO_EXT: StructureType = Self(1000740008i32);
807 pub const SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT: StructureType = Self(1000740009i32);
808 pub const SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT: StructureType = Self(1000740010i32);
809 pub const SPATIAL_COMPONENT_PARENT_LIST_EXT: StructureType = Self(1000740011i32);
810 pub const SPATIAL_COMPONENT_MESH_3D_LIST_EXT: StructureType = Self(1000740012i32);
811 pub const SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT: StructureType = Self(1000740013i32);
812 pub const SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740014i32);
813 pub const EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT: StructureType = Self(1000740015i32);
814 pub const SPATIAL_FILTER_TRACKING_STATE_EXT: StructureType = Self(1000740016i32);
815 pub const SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT: StructureType =
816 Self(1000741000i32);
817 pub const SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT: StructureType = Self(1000741001i32);
818 pub const SPATIAL_COMPONENT_MESH_2D_LIST_EXT: StructureType = Self(1000741002i32);
819 pub const SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT: StructureType = Self(1000741003i32);
820 pub const SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT: StructureType = Self(1000741004i32);
821 pub const SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT: StructureType = Self(1000743000i32);
822 pub const SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT: StructureType =
823 Self(1000743001i32);
824 pub const SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT: StructureType =
825 Self(1000743002i32);
826 pub const SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT: StructureType = Self(1000743003i32);
827 pub const SPATIAL_MARKER_SIZE_EXT: StructureType = Self(1000743004i32);
828 pub const SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT: StructureType = Self(1000743005i32);
829 pub const SPATIAL_COMPONENT_MARKER_LIST_EXT: StructureType = Self(1000743006i32);
830 pub const SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT: StructureType = Self(1000762000i32);
831 pub const SPATIAL_COMPONENT_ANCHOR_LIST_EXT: StructureType = Self(1000762001i32);
832 pub const SPATIAL_ANCHOR_CREATE_INFO_EXT: StructureType = Self(1000762002i32);
833 pub const SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000763000i32);
834 pub const CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT: StructureType =
835 Self(1000763001i32);
836 pub const SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT: StructureType = Self(1000763002i32);
837 pub const SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT: StructureType = Self(1000763003i32);
838 pub const SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT: StructureType = Self(1000763004i32);
839 pub const SPATIAL_ENTITY_PERSIST_INFO_EXT: StructureType = Self(1000781000i32);
840 pub const PERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781001i32);
841 pub const SPATIAL_ENTITY_UNPERSIST_INFO_EXT: StructureType = Self(1000781002i32);
842 pub const UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781003i32);
843 pub const LOADER_INIT_INFO_PROPERTIES_EXT: StructureType = Self(1000838000i32);
844 pub fn from_raw(x: i32) -> Self {
845 Self(x)
846 }
847 pub fn into_raw(self) -> i32 {
848 self.0
849 }
850}
851impl fmt::Debug for StructureType {
852 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
853 let name = match *self {
854 Self::UNKNOWN => Some("UNKNOWN"),
855 Self::API_LAYER_PROPERTIES => Some("API_LAYER_PROPERTIES"),
856 Self::EXTENSION_PROPERTIES => Some("EXTENSION_PROPERTIES"),
857 Self::INSTANCE_CREATE_INFO => Some("INSTANCE_CREATE_INFO"),
858 Self::SYSTEM_GET_INFO => Some("SYSTEM_GET_INFO"),
859 Self::SYSTEM_PROPERTIES => Some("SYSTEM_PROPERTIES"),
860 Self::VIEW_LOCATE_INFO => Some("VIEW_LOCATE_INFO"),
861 Self::VIEW => Some("VIEW"),
862 Self::SESSION_CREATE_INFO => Some("SESSION_CREATE_INFO"),
863 Self::SWAPCHAIN_CREATE_INFO => Some("SWAPCHAIN_CREATE_INFO"),
864 Self::SESSION_BEGIN_INFO => Some("SESSION_BEGIN_INFO"),
865 Self::VIEW_STATE => Some("VIEW_STATE"),
866 Self::FRAME_END_INFO => Some("FRAME_END_INFO"),
867 Self::HAPTIC_VIBRATION => Some("HAPTIC_VIBRATION"),
868 Self::EVENT_DATA_BUFFER => Some("EVENT_DATA_BUFFER"),
869 Self::EVENT_DATA_INSTANCE_LOSS_PENDING => Some("EVENT_DATA_INSTANCE_LOSS_PENDING"),
870 Self::EVENT_DATA_SESSION_STATE_CHANGED => Some("EVENT_DATA_SESSION_STATE_CHANGED"),
871 Self::ACTION_STATE_BOOLEAN => Some("ACTION_STATE_BOOLEAN"),
872 Self::ACTION_STATE_FLOAT => Some("ACTION_STATE_FLOAT"),
873 Self::ACTION_STATE_VECTOR2F => Some("ACTION_STATE_VECTOR2F"),
874 Self::ACTION_STATE_POSE => Some("ACTION_STATE_POSE"),
875 Self::ACTION_SET_CREATE_INFO => Some("ACTION_SET_CREATE_INFO"),
876 Self::ACTION_CREATE_INFO => Some("ACTION_CREATE_INFO"),
877 Self::INSTANCE_PROPERTIES => Some("INSTANCE_PROPERTIES"),
878 Self::FRAME_WAIT_INFO => Some("FRAME_WAIT_INFO"),
879 Self::COMPOSITION_LAYER_PROJECTION => Some("COMPOSITION_LAYER_PROJECTION"),
880 Self::COMPOSITION_LAYER_QUAD => Some("COMPOSITION_LAYER_QUAD"),
881 Self::REFERENCE_SPACE_CREATE_INFO => Some("REFERENCE_SPACE_CREATE_INFO"),
882 Self::ACTION_SPACE_CREATE_INFO => Some("ACTION_SPACE_CREATE_INFO"),
883 Self::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING => {
884 Some("EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING")
885 }
886 Self::VIEW_CONFIGURATION_VIEW => Some("VIEW_CONFIGURATION_VIEW"),
887 Self::SPACE_LOCATION => Some("SPACE_LOCATION"),
888 Self::SPACE_VELOCITY => Some("SPACE_VELOCITY"),
889 Self::FRAME_STATE => Some("FRAME_STATE"),
890 Self::VIEW_CONFIGURATION_PROPERTIES => Some("VIEW_CONFIGURATION_PROPERTIES"),
891 Self::FRAME_BEGIN_INFO => Some("FRAME_BEGIN_INFO"),
892 Self::COMPOSITION_LAYER_PROJECTION_VIEW => Some("COMPOSITION_LAYER_PROJECTION_VIEW"),
893 Self::EVENT_DATA_EVENTS_LOST => Some("EVENT_DATA_EVENTS_LOST"),
894 Self::INTERACTION_PROFILE_SUGGESTED_BINDING => {
895 Some("INTERACTION_PROFILE_SUGGESTED_BINDING")
896 }
897 Self::EVENT_DATA_INTERACTION_PROFILE_CHANGED => {
898 Some("EVENT_DATA_INTERACTION_PROFILE_CHANGED")
899 }
900 Self::INTERACTION_PROFILE_STATE => Some("INTERACTION_PROFILE_STATE"),
901 Self::SWAPCHAIN_IMAGE_ACQUIRE_INFO => Some("SWAPCHAIN_IMAGE_ACQUIRE_INFO"),
902 Self::SWAPCHAIN_IMAGE_WAIT_INFO => Some("SWAPCHAIN_IMAGE_WAIT_INFO"),
903 Self::SWAPCHAIN_IMAGE_RELEASE_INFO => Some("SWAPCHAIN_IMAGE_RELEASE_INFO"),
904 Self::ACTION_STATE_GET_INFO => Some("ACTION_STATE_GET_INFO"),
905 Self::HAPTIC_ACTION_INFO => Some("HAPTIC_ACTION_INFO"),
906 Self::SESSION_ACTION_SETS_ATTACH_INFO => Some("SESSION_ACTION_SETS_ATTACH_INFO"),
907 Self::ACTIONS_SYNC_INFO => Some("ACTIONS_SYNC_INFO"),
908 Self::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO => {
909 Some("BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO")
910 }
911 Self::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO => {
912 Some("INPUT_SOURCE_LOCALIZED_NAME_GET_INFO")
913 }
914 Self::SPACES_LOCATE_INFO => Some("SPACES_LOCATE_INFO"),
915 Self::SPACE_LOCATIONS => Some("SPACE_LOCATIONS"),
916 Self::SPACE_VELOCITIES => Some("SPACE_VELOCITIES"),
917 Self::COMPOSITION_LAYER_CUBE_KHR => Some("COMPOSITION_LAYER_CUBE_KHR"),
918 Self::INSTANCE_CREATE_INFO_ANDROID_KHR => Some("INSTANCE_CREATE_INFO_ANDROID_KHR"),
919 Self::COMPOSITION_LAYER_DEPTH_INFO_KHR => Some("COMPOSITION_LAYER_DEPTH_INFO_KHR"),
920 Self::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR => {
921 Some("VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR")
922 }
923 Self::EVENT_DATA_PERF_SETTINGS_EXT => Some("EVENT_DATA_PERF_SETTINGS_EXT"),
924 Self::COMPOSITION_LAYER_CYLINDER_KHR => Some("COMPOSITION_LAYER_CYLINDER_KHR"),
925 Self::COMPOSITION_LAYER_EQUIRECT_KHR => Some("COMPOSITION_LAYER_EQUIRECT_KHR"),
926 Self::DEBUG_UTILS_OBJECT_NAME_INFO_EXT => Some("DEBUG_UTILS_OBJECT_NAME_INFO_EXT"),
927 Self::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT => {
928 Some("DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT")
929 }
930 Self::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT => {
931 Some("DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT")
932 }
933 Self::DEBUG_UTILS_LABEL_EXT => Some("DEBUG_UTILS_LABEL_EXT"),
934 Self::GRAPHICS_BINDING_OPENGL_WIN32_KHR => Some("GRAPHICS_BINDING_OPENGL_WIN32_KHR"),
935 Self::GRAPHICS_BINDING_OPENGL_XLIB_KHR => Some("GRAPHICS_BINDING_OPENGL_XLIB_KHR"),
936 Self::GRAPHICS_BINDING_OPENGL_XCB_KHR => Some("GRAPHICS_BINDING_OPENGL_XCB_KHR"),
937 Self::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR => {
938 Some("GRAPHICS_BINDING_OPENGL_WAYLAND_KHR")
939 }
940 Self::SWAPCHAIN_IMAGE_OPENGL_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_KHR"),
941 Self::GRAPHICS_REQUIREMENTS_OPENGL_KHR => Some("GRAPHICS_REQUIREMENTS_OPENGL_KHR"),
942 Self::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR => {
943 Some("GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR")
944 }
945 Self::SWAPCHAIN_IMAGE_OPENGL_ES_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_ES_KHR"),
946 Self::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR => {
947 Some("GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR")
948 }
949 Self::GRAPHICS_BINDING_VULKAN_KHR => Some("GRAPHICS_BINDING_VULKAN_KHR"),
950 Self::SWAPCHAIN_IMAGE_VULKAN_KHR => Some("SWAPCHAIN_IMAGE_VULKAN_KHR"),
951 Self::GRAPHICS_REQUIREMENTS_VULKAN_KHR => Some("GRAPHICS_REQUIREMENTS_VULKAN_KHR"),
952 Self::GRAPHICS_BINDING_D3D11_KHR => Some("GRAPHICS_BINDING_D3D11_KHR"),
953 Self::SWAPCHAIN_IMAGE_D3D11_KHR => Some("SWAPCHAIN_IMAGE_D3D11_KHR"),
954 Self::GRAPHICS_REQUIREMENTS_D3D11_KHR => Some("GRAPHICS_REQUIREMENTS_D3D11_KHR"),
955 Self::GRAPHICS_BINDING_D3D12_KHR => Some("GRAPHICS_BINDING_D3D12_KHR"),
956 Self::SWAPCHAIN_IMAGE_D3D12_KHR => Some("SWAPCHAIN_IMAGE_D3D12_KHR"),
957 Self::GRAPHICS_REQUIREMENTS_D3D12_KHR => Some("GRAPHICS_REQUIREMENTS_D3D12_KHR"),
958 Self::GRAPHICS_BINDING_METAL_KHR => Some("GRAPHICS_BINDING_METAL_KHR"),
959 Self::SWAPCHAIN_IMAGE_METAL_KHR => Some("SWAPCHAIN_IMAGE_METAL_KHR"),
960 Self::GRAPHICS_REQUIREMENTS_METAL_KHR => Some("GRAPHICS_REQUIREMENTS_METAL_KHR"),
961 Self::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT => {
962 Some("SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT")
963 }
964 Self::EYE_GAZE_SAMPLE_TIME_EXT => Some("EYE_GAZE_SAMPLE_TIME_EXT"),
965 Self::VISIBILITY_MASK_KHR => Some("VISIBILITY_MASK_KHR"),
966 Self::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR => {
967 Some("EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR")
968 }
969 Self::SESSION_CREATE_INFO_OVERLAY_EXTX => Some("SESSION_CREATE_INFO_OVERLAY_EXTX"),
970 Self::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX => {
971 Some("EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX")
972 }
973 Self::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR => {
974 Some("COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR")
975 }
976 Self::SPATIAL_ANCHOR_CREATE_INFO_MSFT => Some("SPATIAL_ANCHOR_CREATE_INFO_MSFT"),
977 Self::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT => {
978 Some("SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT")
979 }
980 Self::COMPOSITION_LAYER_IMAGE_LAYOUT_FB => Some("COMPOSITION_LAYER_IMAGE_LAYOUT_FB"),
981 Self::COMPOSITION_LAYER_ALPHA_BLEND_FB => Some("COMPOSITION_LAYER_ALPHA_BLEND_FB"),
982 Self::VIEW_CONFIGURATION_DEPTH_RANGE_EXT => Some("VIEW_CONFIGURATION_DEPTH_RANGE_EXT"),
983 Self::GRAPHICS_BINDING_EGL_MNDX => Some("GRAPHICS_BINDING_EGL_MNDX"),
984 Self::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT => {
985 Some("SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT")
986 }
987 Self::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT => {
988 Some("SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT")
989 }
990 Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT => {
991 Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT")
992 }
993 Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT => {
994 Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT")
995 }
996 Self::SYSTEM_HAND_TRACKING_PROPERTIES_EXT => {
997 Some("SYSTEM_HAND_TRACKING_PROPERTIES_EXT")
998 }
999 Self::HAND_TRACKER_CREATE_INFO_EXT => Some("HAND_TRACKER_CREATE_INFO_EXT"),
1000 Self::HAND_JOINTS_LOCATE_INFO_EXT => Some("HAND_JOINTS_LOCATE_INFO_EXT"),
1001 Self::HAND_JOINT_LOCATIONS_EXT => Some("HAND_JOINT_LOCATIONS_EXT"),
1002 Self::HAND_JOINT_VELOCITIES_EXT => Some("HAND_JOINT_VELOCITIES_EXT"),
1003 Self::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT => {
1004 Some("SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT")
1005 }
1006 Self::HAND_MESH_SPACE_CREATE_INFO_MSFT => Some("HAND_MESH_SPACE_CREATE_INFO_MSFT"),
1007 Self::HAND_MESH_UPDATE_INFO_MSFT => Some("HAND_MESH_UPDATE_INFO_MSFT"),
1008 Self::HAND_MESH_MSFT => Some("HAND_MESH_MSFT"),
1009 Self::HAND_POSE_TYPE_INFO_MSFT => Some("HAND_POSE_TYPE_INFO_MSFT"),
1010 Self::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT => {
1011 Some("SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT")
1012 }
1013 Self::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT => {
1014 Some("SECONDARY_VIEW_CONFIGURATION_STATE_MSFT")
1015 }
1016 Self::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT => {
1017 Some("SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT")
1018 }
1019 Self::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT => {
1020 Some("SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT")
1021 }
1022 Self::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT => {
1023 Some("SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT")
1024 }
1025 Self::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT => {
1026 Some("SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT")
1027 }
1028 Self::CONTROLLER_MODEL_KEY_STATE_MSFT => Some("CONTROLLER_MODEL_KEY_STATE_MSFT"),
1029 Self::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT => {
1030 Some("CONTROLLER_MODEL_NODE_PROPERTIES_MSFT")
1031 }
1032 Self::CONTROLLER_MODEL_PROPERTIES_MSFT => Some("CONTROLLER_MODEL_PROPERTIES_MSFT"),
1033 Self::CONTROLLER_MODEL_NODE_STATE_MSFT => Some("CONTROLLER_MODEL_NODE_STATE_MSFT"),
1034 Self::CONTROLLER_MODEL_STATE_MSFT => Some("CONTROLLER_MODEL_STATE_MSFT"),
1035 Self::VIEW_CONFIGURATION_VIEW_FOV_EPIC => Some("VIEW_CONFIGURATION_VIEW_FOV_EPIC"),
1036 Self::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT => Some("HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT"),
1037 Self::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT => {
1038 Some("COMPOSITION_LAYER_REPROJECTION_INFO_MSFT")
1039 }
1040 Self::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT => {
1041 Some("COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT")
1042 }
1043 Self::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB => {
1044 Some("ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB")
1045 }
1046 Self::COMPOSITION_LAYER_SECURE_CONTENT_FB => {
1047 Some("COMPOSITION_LAYER_SECURE_CONTENT_FB")
1048 }
1049 Self::BODY_TRACKER_CREATE_INFO_FB => Some("BODY_TRACKER_CREATE_INFO_FB"),
1050 Self::BODY_JOINTS_LOCATE_INFO_FB => Some("BODY_JOINTS_LOCATE_INFO_FB"),
1051 Self::SYSTEM_BODY_TRACKING_PROPERTIES_FB => Some("SYSTEM_BODY_TRACKING_PROPERTIES_FB"),
1052 Self::BODY_JOINT_LOCATIONS_FB => Some("BODY_JOINT_LOCATIONS_FB"),
1053 Self::BODY_SKELETON_FB => Some("BODY_SKELETON_FB"),
1054 Self::INTERACTION_PROFILE_DPAD_BINDING_EXT => {
1055 Some("INTERACTION_PROFILE_DPAD_BINDING_EXT")
1056 }
1057 Self::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE => {
1058 Some("INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE")
1059 }
1060 Self::HAND_JOINTS_MOTION_RANGE_INFO_EXT => Some("HAND_JOINTS_MOTION_RANGE_INFO_EXT"),
1061 Self::LOADER_INIT_INFO_ANDROID_KHR => Some("LOADER_INIT_INFO_ANDROID_KHR"),
1062 Self::VULKAN_INSTANCE_CREATE_INFO_KHR => Some("VULKAN_INSTANCE_CREATE_INFO_KHR"),
1063 Self::VULKAN_DEVICE_CREATE_INFO_KHR => Some("VULKAN_DEVICE_CREATE_INFO_KHR"),
1064 Self::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR => {
1065 Some("VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR")
1066 }
1067 Self::COMPOSITION_LAYER_EQUIRECT2_KHR => Some("COMPOSITION_LAYER_EQUIRECT2_KHR"),
1068 Self::SCENE_OBSERVER_CREATE_INFO_MSFT => Some("SCENE_OBSERVER_CREATE_INFO_MSFT"),
1069 Self::SCENE_CREATE_INFO_MSFT => Some("SCENE_CREATE_INFO_MSFT"),
1070 Self::NEW_SCENE_COMPUTE_INFO_MSFT => Some("NEW_SCENE_COMPUTE_INFO_MSFT"),
1071 Self::VISUAL_MESH_COMPUTE_LOD_INFO_MSFT => Some("VISUAL_MESH_COMPUTE_LOD_INFO_MSFT"),
1072 Self::SCENE_COMPONENTS_MSFT => Some("SCENE_COMPONENTS_MSFT"),
1073 Self::SCENE_COMPONENTS_GET_INFO_MSFT => Some("SCENE_COMPONENTS_GET_INFO_MSFT"),
1074 Self::SCENE_COMPONENT_LOCATIONS_MSFT => Some("SCENE_COMPONENT_LOCATIONS_MSFT"),
1075 Self::SCENE_COMPONENTS_LOCATE_INFO_MSFT => Some("SCENE_COMPONENTS_LOCATE_INFO_MSFT"),
1076 Self::SCENE_OBJECTS_MSFT => Some("SCENE_OBJECTS_MSFT"),
1077 Self::SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT => {
1078 Some("SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT")
1079 }
1080 Self::SCENE_OBJECT_TYPES_FILTER_INFO_MSFT => {
1081 Some("SCENE_OBJECT_TYPES_FILTER_INFO_MSFT")
1082 }
1083 Self::SCENE_PLANES_MSFT => Some("SCENE_PLANES_MSFT"),
1084 Self::SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT => {
1085 Some("SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT")
1086 }
1087 Self::SCENE_MESHES_MSFT => Some("SCENE_MESHES_MSFT"),
1088 Self::SCENE_MESH_BUFFERS_GET_INFO_MSFT => Some("SCENE_MESH_BUFFERS_GET_INFO_MSFT"),
1089 Self::SCENE_MESH_BUFFERS_MSFT => Some("SCENE_MESH_BUFFERS_MSFT"),
1090 Self::SCENE_MESH_VERTEX_BUFFER_MSFT => Some("SCENE_MESH_VERTEX_BUFFER_MSFT"),
1091 Self::SCENE_MESH_INDICES_UINT32_MSFT => Some("SCENE_MESH_INDICES_UINT32_MSFT"),
1092 Self::SCENE_MESH_INDICES_UINT16_MSFT => Some("SCENE_MESH_INDICES_UINT16_MSFT"),
1093 Self::SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT => {
1094 Some("SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT")
1095 }
1096 Self::SCENE_DESERIALIZE_INFO_MSFT => Some("SCENE_DESERIALIZE_INFO_MSFT"),
1097 Self::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB => {
1098 Some("EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB")
1099 }
1100 Self::VIVE_TRACKER_PATHS_HTCX => Some("VIVE_TRACKER_PATHS_HTCX"),
1101 Self::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX => {
1102 Some("EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX")
1103 }
1104 Self::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC => {
1105 Some("SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC")
1106 }
1107 Self::FACIAL_TRACKER_CREATE_INFO_HTC => Some("FACIAL_TRACKER_CREATE_INFO_HTC"),
1108 Self::FACIAL_EXPRESSIONS_HTC => Some("FACIAL_EXPRESSIONS_HTC"),
1109 Self::SYSTEM_COLOR_SPACE_PROPERTIES_FB => Some("SYSTEM_COLOR_SPACE_PROPERTIES_FB"),
1110 Self::HAND_TRACKING_MESH_FB => Some("HAND_TRACKING_MESH_FB"),
1111 Self::HAND_TRACKING_SCALE_FB => Some("HAND_TRACKING_SCALE_FB"),
1112 Self::HAND_TRACKING_AIM_STATE_FB => Some("HAND_TRACKING_AIM_STATE_FB"),
1113 Self::HAND_TRACKING_CAPSULES_STATE_FB => Some("HAND_TRACKING_CAPSULES_STATE_FB"),
1114 Self::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB => {
1115 Some("SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB")
1116 }
1117 Self::SPATIAL_ANCHOR_CREATE_INFO_FB => Some("SPATIAL_ANCHOR_CREATE_INFO_FB"),
1118 Self::SPACE_COMPONENT_STATUS_SET_INFO_FB => Some("SPACE_COMPONENT_STATUS_SET_INFO_FB"),
1119 Self::SPACE_COMPONENT_STATUS_FB => Some("SPACE_COMPONENT_STATUS_FB"),
1120 Self::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB => {
1121 Some("EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB")
1122 }
1123 Self::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB => {
1124 Some("EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB")
1125 }
1126 Self::FOVEATION_PROFILE_CREATE_INFO_FB => Some("FOVEATION_PROFILE_CREATE_INFO_FB"),
1127 Self::SWAPCHAIN_CREATE_INFO_FOVEATION_FB => Some("SWAPCHAIN_CREATE_INFO_FOVEATION_FB"),
1128 Self::SWAPCHAIN_STATE_FOVEATION_FB => Some("SWAPCHAIN_STATE_FOVEATION_FB"),
1129 Self::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB => {
1130 Some("FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB")
1131 }
1132 Self::KEYBOARD_SPACE_CREATE_INFO_FB => Some("KEYBOARD_SPACE_CREATE_INFO_FB"),
1133 Self::KEYBOARD_TRACKING_QUERY_FB => Some("KEYBOARD_TRACKING_QUERY_FB"),
1134 Self::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB => {
1135 Some("SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB")
1136 }
1137 Self::TRIANGLE_MESH_CREATE_INFO_FB => Some("TRIANGLE_MESH_CREATE_INFO_FB"),
1138 Self::SYSTEM_PASSTHROUGH_PROPERTIES_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES_FB"),
1139 Self::PASSTHROUGH_CREATE_INFO_FB => Some("PASSTHROUGH_CREATE_INFO_FB"),
1140 Self::PASSTHROUGH_LAYER_CREATE_INFO_FB => Some("PASSTHROUGH_LAYER_CREATE_INFO_FB"),
1141 Self::COMPOSITION_LAYER_PASSTHROUGH_FB => Some("COMPOSITION_LAYER_PASSTHROUGH_FB"),
1142 Self::GEOMETRY_INSTANCE_CREATE_INFO_FB => Some("GEOMETRY_INSTANCE_CREATE_INFO_FB"),
1143 Self::GEOMETRY_INSTANCE_TRANSFORM_FB => Some("GEOMETRY_INSTANCE_TRANSFORM_FB"),
1144 Self::SYSTEM_PASSTHROUGH_PROPERTIES2_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES2_FB"),
1145 Self::PASSTHROUGH_STYLE_FB => Some("PASSTHROUGH_STYLE_FB"),
1146 Self::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB => {
1147 Some("PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB")
1148 }
1149 Self::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB => {
1150 Some("PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB")
1151 }
1152 Self::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB => {
1153 Some("PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB")
1154 }
1155 Self::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB => {
1156 Some("EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB")
1157 }
1158 Self::RENDER_MODEL_PATH_INFO_FB => Some("RENDER_MODEL_PATH_INFO_FB"),
1159 Self::RENDER_MODEL_PROPERTIES_FB => Some("RENDER_MODEL_PROPERTIES_FB"),
1160 Self::RENDER_MODEL_BUFFER_FB => Some("RENDER_MODEL_BUFFER_FB"),
1161 Self::RENDER_MODEL_LOAD_INFO_FB => Some("RENDER_MODEL_LOAD_INFO_FB"),
1162 Self::SYSTEM_RENDER_MODEL_PROPERTIES_FB => Some("SYSTEM_RENDER_MODEL_PROPERTIES_FB"),
1163 Self::RENDER_MODEL_CAPABILITIES_REQUEST_FB => {
1164 Some("RENDER_MODEL_CAPABILITIES_REQUEST_FB")
1165 }
1166 Self::BINDING_MODIFICATIONS_KHR => Some("BINDING_MODIFICATIONS_KHR"),
1167 Self::VIEW_LOCATE_FOVEATED_RENDERING_VARJO => {
1168 Some("VIEW_LOCATE_FOVEATED_RENDERING_VARJO")
1169 }
1170 Self::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO => {
1171 Some("FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO")
1172 }
1173 Self::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO => {
1174 Some("SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO")
1175 }
1176 Self::COMPOSITION_LAYER_DEPTH_TEST_VARJO => Some("COMPOSITION_LAYER_DEPTH_TEST_VARJO"),
1177 Self::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO => {
1178 Some("SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO")
1179 }
1180 Self::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO => {
1181 Some("EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO")
1182 }
1183 Self::MARKER_SPACE_CREATE_INFO_VARJO => Some("MARKER_SPACE_CREATE_INFO_VARJO"),
1184 Self::FRAME_END_INFO_ML => Some("FRAME_END_INFO_ML"),
1185 Self::GLOBAL_DIMMER_FRAME_END_INFO_ML => Some("GLOBAL_DIMMER_FRAME_END_INFO_ML"),
1186 Self::COORDINATE_SPACE_CREATE_INFO_ML => Some("COORDINATE_SPACE_CREATE_INFO_ML"),
1187 Self::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML => {
1188 Some("SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML")
1189 }
1190 Self::MARKER_DETECTOR_CREATE_INFO_ML => Some("MARKER_DETECTOR_CREATE_INFO_ML"),
1191 Self::MARKER_DETECTOR_ARUCO_INFO_ML => Some("MARKER_DETECTOR_ARUCO_INFO_ML"),
1192 Self::MARKER_DETECTOR_SIZE_INFO_ML => Some("MARKER_DETECTOR_SIZE_INFO_ML"),
1193 Self::MARKER_DETECTOR_APRIL_TAG_INFO_ML => Some("MARKER_DETECTOR_APRIL_TAG_INFO_ML"),
1194 Self::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML => {
1195 Some("MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML")
1196 }
1197 Self::MARKER_DETECTOR_SNAPSHOT_INFO_ML => Some("MARKER_DETECTOR_SNAPSHOT_INFO_ML"),
1198 Self::MARKER_DETECTOR_STATE_ML => Some("MARKER_DETECTOR_STATE_ML"),
1199 Self::MARKER_SPACE_CREATE_INFO_ML => Some("MARKER_SPACE_CREATE_INFO_ML"),
1200 Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
1201 Self::EVENT_DATA_LOCALIZATION_CHANGED_ML => Some("EVENT_DATA_LOCALIZATION_CHANGED_ML"),
1202 Self::MAP_LOCALIZATION_REQUEST_INFO_ML => Some("MAP_LOCALIZATION_REQUEST_INFO_ML"),
1203 Self::LOCALIZATION_MAP_IMPORT_INFO_ML => Some("LOCALIZATION_MAP_IMPORT_INFO_ML"),
1204 Self::LOCALIZATION_ENABLE_EVENTS_INFO_ML => Some("LOCALIZATION_ENABLE_EVENTS_INFO_ML"),
1205 Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML => {
1206 Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML")
1207 }
1208 Self::CREATE_SPATIAL_ANCHORS_COMPLETION_ML => {
1209 Some("CREATE_SPATIAL_ANCHORS_COMPLETION_ML")
1210 }
1211 Self::SPATIAL_ANCHOR_STATE_ML => Some("SPATIAL_ANCHOR_STATE_ML"),
1212 Self::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML => {
1213 Some("SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML")
1214 }
1215 Self::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML => {
1216 Some("SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML")
1217 }
1218 Self::SPATIAL_ANCHORS_QUERY_COMPLETION_ML => {
1219 Some("SPATIAL_ANCHORS_QUERY_COMPLETION_ML")
1220 }
1221 Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML => {
1222 Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML")
1223 }
1224 Self::SPATIAL_ANCHORS_PUBLISH_INFO_ML => Some("SPATIAL_ANCHORS_PUBLISH_INFO_ML"),
1225 Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML => {
1226 Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML")
1227 }
1228 Self::SPATIAL_ANCHORS_DELETE_INFO_ML => Some("SPATIAL_ANCHORS_DELETE_INFO_ML"),
1229 Self::SPATIAL_ANCHORS_DELETE_COMPLETION_ML => {
1230 Some("SPATIAL_ANCHORS_DELETE_COMPLETION_ML")
1231 }
1232 Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML => {
1233 Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML")
1234 }
1235 Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML => {
1236 Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML")
1237 }
1238 Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML => {
1239 Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML")
1240 }
1241 Self::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML => {
1242 Some("SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML")
1243 }
1244 Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML => {
1245 Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML")
1246 }
1247 Self::EVENT_DATA_HEADSET_FIT_CHANGED_ML => Some("EVENT_DATA_HEADSET_FIT_CHANGED_ML"),
1248 Self::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML => {
1249 Some("EVENT_DATA_EYE_CALIBRATION_CHANGED_ML")
1250 }
1251 Self::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML => {
1252 Some("USER_CALIBRATION_ENABLE_EVENTS_INFO_ML")
1253 }
1254 Self::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT => {
1255 Some("SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT")
1256 }
1257 Self::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT => {
1258 Some("SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT")
1259 }
1260 Self::SCENE_MARKERS_MSFT => Some("SCENE_MARKERS_MSFT"),
1261 Self::SCENE_MARKER_TYPE_FILTER_MSFT => Some("SCENE_MARKER_TYPE_FILTER_MSFT"),
1262 Self::SCENE_MARKER_QR_CODES_MSFT => Some("SCENE_MARKER_QR_CODES_MSFT"),
1263 Self::SPACE_QUERY_INFO_FB => Some("SPACE_QUERY_INFO_FB"),
1264 Self::SPACE_QUERY_RESULTS_FB => Some("SPACE_QUERY_RESULTS_FB"),
1265 Self::SPACE_STORAGE_LOCATION_FILTER_INFO_FB => {
1266 Some("SPACE_STORAGE_LOCATION_FILTER_INFO_FB")
1267 }
1268 Self::SPACE_UUID_FILTER_INFO_FB => Some("SPACE_UUID_FILTER_INFO_FB"),
1269 Self::SPACE_COMPONENT_FILTER_INFO_FB => Some("SPACE_COMPONENT_FILTER_INFO_FB"),
1270 Self::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB => {
1271 Some("EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB")
1272 }
1273 Self::EVENT_DATA_SPACE_QUERY_COMPLETE_FB => Some("EVENT_DATA_SPACE_QUERY_COMPLETE_FB"),
1274 Self::SPACE_SAVE_INFO_FB => Some("SPACE_SAVE_INFO_FB"),
1275 Self::SPACE_ERASE_INFO_FB => Some("SPACE_ERASE_INFO_FB"),
1276 Self::EVENT_DATA_SPACE_SAVE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SAVE_COMPLETE_FB"),
1277 Self::EVENT_DATA_SPACE_ERASE_COMPLETE_FB => Some("EVENT_DATA_SPACE_ERASE_COMPLETE_FB"),
1278 Self::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB => {
1279 Some("SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB")
1280 }
1281 Self::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB => {
1282 Some("SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB")
1283 }
1284 Self::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB => {
1285 Some("SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB")
1286 }
1287 Self::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB => Some("SWAPCHAIN_STATE_SAMPLER_VULKAN_FB"),
1288 Self::SPACE_SHARE_INFO_FB => Some("SPACE_SHARE_INFO_FB"),
1289 Self::EVENT_DATA_SPACE_SHARE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SHARE_COMPLETE_FB"),
1290 Self::COMPOSITION_LAYER_SPACE_WARP_INFO_FB => {
1291 Some("COMPOSITION_LAYER_SPACE_WARP_INFO_FB")
1292 }
1293 Self::SYSTEM_SPACE_WARP_PROPERTIES_FB => Some("SYSTEM_SPACE_WARP_PROPERTIES_FB"),
1294 Self::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB => {
1295 Some("HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB")
1296 }
1297 Self::SEMANTIC_LABELS_FB => Some("SEMANTIC_LABELS_FB"),
1298 Self::ROOM_LAYOUT_FB => Some("ROOM_LAYOUT_FB"),
1299 Self::BOUNDARY_2D_FB => Some("BOUNDARY_2D_FB"),
1300 Self::SEMANTIC_LABELS_SUPPORT_INFO_FB => Some("SEMANTIC_LABELS_SUPPORT_INFO_FB"),
1301 Self::DIGITAL_LENS_CONTROL_ALMALENCE => Some("DIGITAL_LENS_CONTROL_ALMALENCE"),
1302 Self::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB => {
1303 Some("EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB")
1304 }
1305 Self::SCENE_CAPTURE_REQUEST_INFO_FB => Some("SCENE_CAPTURE_REQUEST_INFO_FB"),
1306 Self::SPACE_CONTAINER_FB => Some("SPACE_CONTAINER_FB"),
1307 Self::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META => {
1308 Some("FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META")
1309 }
1310 Self::FOVEATION_EYE_TRACKED_STATE_META => Some("FOVEATION_EYE_TRACKED_STATE_META"),
1311 Self::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META => {
1312 Some("SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META")
1313 }
1314 Self::SYSTEM_FACE_TRACKING_PROPERTIES_FB => Some("SYSTEM_FACE_TRACKING_PROPERTIES_FB"),
1315 Self::FACE_TRACKER_CREATE_INFO_FB => Some("FACE_TRACKER_CREATE_INFO_FB"),
1316 Self::FACE_EXPRESSION_INFO_FB => Some("FACE_EXPRESSION_INFO_FB"),
1317 Self::FACE_EXPRESSION_WEIGHTS_FB => Some("FACE_EXPRESSION_WEIGHTS_FB"),
1318 Self::EYE_TRACKER_CREATE_INFO_FB => Some("EYE_TRACKER_CREATE_INFO_FB"),
1319 Self::EYE_GAZES_INFO_FB => Some("EYE_GAZES_INFO_FB"),
1320 Self::EYE_GAZES_FB => Some("EYE_GAZES_FB"),
1321 Self::SYSTEM_EYE_TRACKING_PROPERTIES_FB => Some("SYSTEM_EYE_TRACKING_PROPERTIES_FB"),
1322 Self::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB => {
1323 Some("PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB")
1324 }
1325 Self::COMPOSITION_LAYER_SETTINGS_FB => Some("COMPOSITION_LAYER_SETTINGS_FB"),
1326 Self::HAPTIC_PCM_VIBRATION_FB => Some("HAPTIC_PCM_VIBRATION_FB"),
1327 Self::DEVICE_PCM_SAMPLE_RATE_STATE_FB => Some("DEVICE_PCM_SAMPLE_RATE_STATE_FB"),
1328 Self::FRAME_SYNTHESIS_INFO_EXT => Some("FRAME_SYNTHESIS_INFO_EXT"),
1329 Self::FRAME_SYNTHESIS_CONFIG_VIEW_EXT => Some("FRAME_SYNTHESIS_CONFIG_VIEW_EXT"),
1330 Self::COMPOSITION_LAYER_DEPTH_TEST_FB => Some("COMPOSITION_LAYER_DEPTH_TEST_FB"),
1331 Self::LOCAL_DIMMING_FRAME_END_INFO_META => Some("LOCAL_DIMMING_FRAME_END_INFO_META"),
1332 Self::PASSTHROUGH_PREFERENCES_META => Some("PASSTHROUGH_PREFERENCES_META"),
1333 Self::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META => {
1334 Some("SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META")
1335 }
1336 Self::VIRTUAL_KEYBOARD_CREATE_INFO_META => Some("VIRTUAL_KEYBOARD_CREATE_INFO_META"),
1337 Self::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META => {
1338 Some("VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META")
1339 }
1340 Self::VIRTUAL_KEYBOARD_LOCATION_INFO_META => {
1341 Some("VIRTUAL_KEYBOARD_LOCATION_INFO_META")
1342 }
1343 Self::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META => {
1344 Some("VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META")
1345 }
1346 Self::VIRTUAL_KEYBOARD_ANIMATION_STATE_META => {
1347 Some("VIRTUAL_KEYBOARD_ANIMATION_STATE_META")
1348 }
1349 Self::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META => {
1350 Some("VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META")
1351 }
1352 Self::VIRTUAL_KEYBOARD_TEXTURE_DATA_META => Some("VIRTUAL_KEYBOARD_TEXTURE_DATA_META"),
1353 Self::VIRTUAL_KEYBOARD_INPUT_INFO_META => Some("VIRTUAL_KEYBOARD_INPUT_INFO_META"),
1354 Self::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META => {
1355 Some("VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META")
1356 }
1357 Self::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META => {
1358 Some("EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META")
1359 }
1360 Self::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META => {
1361 Some("EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META")
1362 }
1363 Self::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META => {
1364 Some("EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META")
1365 }
1366 Self::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META => {
1367 Some("EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META")
1368 }
1369 Self::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META => {
1370 Some("EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META")
1371 }
1372 Self::EXTERNAL_CAMERA_OCULUS => Some("EXTERNAL_CAMERA_OCULUS"),
1373 Self::VULKAN_SWAPCHAIN_CREATE_INFO_META => Some("VULKAN_SWAPCHAIN_CREATE_INFO_META"),
1374 Self::PERFORMANCE_METRICS_STATE_META => Some("PERFORMANCE_METRICS_STATE_META"),
1375 Self::PERFORMANCE_METRICS_COUNTER_META => Some("PERFORMANCE_METRICS_COUNTER_META"),
1376 Self::SPACE_LIST_SAVE_INFO_FB => Some("SPACE_LIST_SAVE_INFO_FB"),
1377 Self::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB => {
1378 Some("EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB")
1379 }
1380 Self::SPACE_USER_CREATE_INFO_FB => Some("SPACE_USER_CREATE_INFO_FB"),
1381 Self::SYSTEM_HEADSET_ID_PROPERTIES_META => Some("SYSTEM_HEADSET_ID_PROPERTIES_META"),
1382 Self::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META => {
1383 Some("SYSTEM_SPACE_DISCOVERY_PROPERTIES_META")
1384 }
1385 Self::SPACE_DISCOVERY_INFO_META => Some("SPACE_DISCOVERY_INFO_META"),
1386 Self::SPACE_FILTER_UUID_META => Some("SPACE_FILTER_UUID_META"),
1387 Self::SPACE_FILTER_COMPONENT_META => Some("SPACE_FILTER_COMPONENT_META"),
1388 Self::SPACE_DISCOVERY_RESULT_META => Some("SPACE_DISCOVERY_RESULT_META"),
1389 Self::SPACE_DISCOVERY_RESULTS_META => Some("SPACE_DISCOVERY_RESULTS_META"),
1390 Self::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META => {
1391 Some("EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META")
1392 }
1393 Self::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META => {
1394 Some("EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META")
1395 }
1396 Self::RECOMMENDED_LAYER_RESOLUTION_META => Some("RECOMMENDED_LAYER_RESOLUTION_META"),
1397 Self::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META => {
1398 Some("RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META")
1399 }
1400 Self::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META => {
1401 Some("SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META")
1402 }
1403 Self::SPACES_SAVE_INFO_META => Some("SPACES_SAVE_INFO_META"),
1404 Self::EVENT_DATA_SPACES_SAVE_RESULT_META => Some("EVENT_DATA_SPACES_SAVE_RESULT_META"),
1405 Self::SPACES_ERASE_INFO_META => Some("SPACES_ERASE_INFO_META"),
1406 Self::EVENT_DATA_SPACES_ERASE_RESULT_META => {
1407 Some("EVENT_DATA_SPACES_ERASE_RESULT_META")
1408 }
1409 Self::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META => {
1410 Some("SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META")
1411 }
1412 Self::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META => {
1413 Some("PASSTHROUGH_COLOR_LUT_CREATE_INFO_META")
1414 }
1415 Self::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META => {
1416 Some("PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META")
1417 }
1418 Self::PASSTHROUGH_COLOR_MAP_LUT_META => Some("PASSTHROUGH_COLOR_MAP_LUT_META"),
1419 Self::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META => {
1420 Some("PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META")
1421 }
1422 Self::SPACE_TRIANGLE_MESH_GET_INFO_META => Some("SPACE_TRIANGLE_MESH_GET_INFO_META"),
1423 Self::SPACE_TRIANGLE_MESH_META => Some("SPACE_TRIANGLE_MESH_META"),
1424 Self::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META => {
1425 Some("SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META")
1426 }
1427 Self::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META => {
1428 Some("EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META")
1429 }
1430 Self::BODY_TRACKING_CALIBRATION_INFO_META => {
1431 Some("BODY_TRACKING_CALIBRATION_INFO_META")
1432 }
1433 Self::BODY_TRACKING_CALIBRATION_STATUS_META => {
1434 Some("BODY_TRACKING_CALIBRATION_STATUS_META")
1435 }
1436 Self::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META => {
1437 Some("SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META")
1438 }
1439 Self::SYSTEM_FACE_TRACKING_PROPERTIES2_FB => {
1440 Some("SYSTEM_FACE_TRACKING_PROPERTIES2_FB")
1441 }
1442 Self::FACE_TRACKER_CREATE_INFO2_FB => Some("FACE_TRACKER_CREATE_INFO2_FB"),
1443 Self::FACE_EXPRESSION_INFO2_FB => Some("FACE_EXPRESSION_INFO2_FB"),
1444 Self::FACE_EXPRESSION_WEIGHTS2_FB => Some("FACE_EXPRESSION_WEIGHTS2_FB"),
1445 Self::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META => {
1446 Some("SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META")
1447 }
1448 Self::SHARE_SPACES_INFO_META => Some("SHARE_SPACES_INFO_META"),
1449 Self::EVENT_DATA_SHARE_SPACES_COMPLETE_META => {
1450 Some("EVENT_DATA_SHARE_SPACES_COMPLETE_META")
1451 }
1452 Self::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META => {
1453 Some("ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META")
1454 }
1455 Self::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META => {
1456 Some("ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META")
1457 }
1458 Self::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META => {
1459 Some("ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META")
1460 }
1461 Self::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META => {
1462 Some("ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META")
1463 }
1464 Self::ENVIRONMENT_DEPTH_IMAGE_VIEW_META => Some("ENVIRONMENT_DEPTH_IMAGE_VIEW_META"),
1465 Self::ENVIRONMENT_DEPTH_IMAGE_META => Some("ENVIRONMENT_DEPTH_IMAGE_META"),
1466 Self::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META => {
1467 Some("ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META")
1468 }
1469 Self::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META => {
1470 Some("SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META")
1471 }
1472 Self::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META => {
1473 Some("ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META")
1474 }
1475 Self::RENDER_MODEL_CREATE_INFO_EXT => Some("RENDER_MODEL_CREATE_INFO_EXT"),
1476 Self::RENDER_MODEL_PROPERTIES_GET_INFO_EXT => {
1477 Some("RENDER_MODEL_PROPERTIES_GET_INFO_EXT")
1478 }
1479 Self::RENDER_MODEL_PROPERTIES_EXT => Some("RENDER_MODEL_PROPERTIES_EXT"),
1480 Self::RENDER_MODEL_SPACE_CREATE_INFO_EXT => Some("RENDER_MODEL_SPACE_CREATE_INFO_EXT"),
1481 Self::RENDER_MODEL_STATE_GET_INFO_EXT => Some("RENDER_MODEL_STATE_GET_INFO_EXT"),
1482 Self::RENDER_MODEL_STATE_EXT => Some("RENDER_MODEL_STATE_EXT"),
1483 Self::RENDER_MODEL_ASSET_CREATE_INFO_EXT => Some("RENDER_MODEL_ASSET_CREATE_INFO_EXT"),
1484 Self::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT => {
1485 Some("RENDER_MODEL_ASSET_DATA_GET_INFO_EXT")
1486 }
1487 Self::RENDER_MODEL_ASSET_DATA_EXT => Some("RENDER_MODEL_ASSET_DATA_EXT"),
1488 Self::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT => {
1489 Some("RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT")
1490 }
1491 Self::RENDER_MODEL_ASSET_PROPERTIES_EXT => Some("RENDER_MODEL_ASSET_PROPERTIES_EXT"),
1492 Self::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT => {
1493 Some("INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT")
1494 }
1495 Self::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT => {
1496 Some("INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT")
1497 }
1498 Self::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT => {
1499 Some("EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT")
1500 }
1501 Self::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT => {
1502 Some("INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT")
1503 }
1504 Self::PASSTHROUGH_CREATE_INFO_HTC => Some("PASSTHROUGH_CREATE_INFO_HTC"),
1505 Self::PASSTHROUGH_COLOR_HTC => Some("PASSTHROUGH_COLOR_HTC"),
1506 Self::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC => {
1507 Some("PASSTHROUGH_MESH_TRANSFORM_INFO_HTC")
1508 }
1509 Self::COMPOSITION_LAYER_PASSTHROUGH_HTC => Some("COMPOSITION_LAYER_PASSTHROUGH_HTC"),
1510 Self::FOVEATION_APPLY_INFO_HTC => Some("FOVEATION_APPLY_INFO_HTC"),
1511 Self::FOVEATION_DYNAMIC_MODE_INFO_HTC => Some("FOVEATION_DYNAMIC_MODE_INFO_HTC"),
1512 Self::FOVEATION_CUSTOM_MODE_INFO_HTC => Some("FOVEATION_CUSTOM_MODE_INFO_HTC"),
1513 Self::SYSTEM_ANCHOR_PROPERTIES_HTC => Some("SYSTEM_ANCHOR_PROPERTIES_HTC"),
1514 Self::SPATIAL_ANCHOR_CREATE_INFO_HTC => Some("SPATIAL_ANCHOR_CREATE_INFO_HTC"),
1515 Self::SYSTEM_BODY_TRACKING_PROPERTIES_HTC => {
1516 Some("SYSTEM_BODY_TRACKING_PROPERTIES_HTC")
1517 }
1518 Self::BODY_TRACKER_CREATE_INFO_HTC => Some("BODY_TRACKER_CREATE_INFO_HTC"),
1519 Self::BODY_JOINTS_LOCATE_INFO_HTC => Some("BODY_JOINTS_LOCATE_INFO_HTC"),
1520 Self::BODY_JOINT_LOCATIONS_HTC => Some("BODY_JOINT_LOCATIONS_HTC"),
1521 Self::BODY_SKELETON_HTC => Some("BODY_SKELETON_HTC"),
1522 Self::ACTIVE_ACTION_SET_PRIORITIES_EXT => Some("ACTIVE_ACTION_SET_PRIORITIES_EXT"),
1523 Self::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX => {
1524 Some("SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX")
1525 }
1526 Self::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX => {
1527 Some("FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX")
1528 }
1529 Self::BODY_TRACKER_CREATE_INFO_BD => Some("BODY_TRACKER_CREATE_INFO_BD"),
1530 Self::BODY_JOINTS_LOCATE_INFO_BD => Some("BODY_JOINTS_LOCATE_INFO_BD"),
1531 Self::BODY_JOINT_LOCATIONS_BD => Some("BODY_JOINT_LOCATIONS_BD"),
1532 Self::SYSTEM_BODY_TRACKING_PROPERTIES_BD => Some("SYSTEM_BODY_TRACKING_PROPERTIES_BD"),
1533 Self::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD => {
1534 Some("SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD")
1535 }
1536 Self::FACE_TRACKER_CREATE_INFO_BD => Some("FACE_TRACKER_CREATE_INFO_BD"),
1537 Self::FACIAL_SIMULATION_DATA_GET_INFO_BD => Some("FACIAL_SIMULATION_DATA_GET_INFO_BD"),
1538 Self::FACIAL_SIMULATION_DATA_BD => Some("FACIAL_SIMULATION_DATA_BD"),
1539 Self::LIP_EXPRESSION_DATA_BD => Some("LIP_EXPRESSION_DATA_BD"),
1540 Self::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD => {
1541 Some("SYSTEM_SPATIAL_SENSING_PROPERTIES_BD")
1542 }
1543 Self::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD => {
1544 Some("SPATIAL_ENTITY_COMPONENT_GET_INFO_BD")
1545 }
1546 Self::SPATIAL_ENTITY_LOCATION_GET_INFO_BD => {
1547 Some("SPATIAL_ENTITY_LOCATION_GET_INFO_BD")
1548 }
1549 Self::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD => {
1550 Some("SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD")
1551 }
1552 Self::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD => {
1553 Some("SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD")
1554 }
1555 Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD => {
1556 Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD")
1557 }
1558 Self::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD => {
1559 Some("SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD")
1560 }
1561 Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD => {
1562 Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD")
1563 }
1564 Self::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD => {
1565 Some("SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD")
1566 }
1567 Self::SENSE_DATA_PROVIDER_CREATE_INFO_BD => Some("SENSE_DATA_PROVIDER_CREATE_INFO_BD"),
1568 Self::SENSE_DATA_PROVIDER_START_INFO_BD => Some("SENSE_DATA_PROVIDER_START_INFO_BD"),
1569 Self::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD => {
1570 Some("EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD")
1571 }
1572 Self::EVENT_DATA_SENSE_DATA_UPDATED_BD => Some("EVENT_DATA_SENSE_DATA_UPDATED_BD"),
1573 Self::SENSE_DATA_QUERY_INFO_BD => Some("SENSE_DATA_QUERY_INFO_BD"),
1574 Self::SENSE_DATA_QUERY_COMPLETION_BD => Some("SENSE_DATA_QUERY_COMPLETION_BD"),
1575 Self::SENSE_DATA_FILTER_UUID_BD => Some("SENSE_DATA_FILTER_UUID_BD"),
1576 Self::SENSE_DATA_FILTER_SEMANTIC_BD => Some("SENSE_DATA_FILTER_SEMANTIC_BD"),
1577 Self::QUERIED_SENSE_DATA_GET_INFO_BD => Some("QUERIED_SENSE_DATA_GET_INFO_BD"),
1578 Self::QUERIED_SENSE_DATA_BD => Some("QUERIED_SENSE_DATA_BD"),
1579 Self::SPATIAL_ENTITY_STATE_BD => Some("SPATIAL_ENTITY_STATE_BD"),
1580 Self::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD => {
1581 Some("SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD")
1582 }
1583 Self::ANCHOR_SPACE_CREATE_INFO_BD => Some("ANCHOR_SPACE_CREATE_INFO_BD"),
1584 Self::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD => {
1585 Some("SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD")
1586 }
1587 Self::SPATIAL_ANCHOR_CREATE_INFO_BD => Some("SPATIAL_ANCHOR_CREATE_INFO_BD"),
1588 Self::SPATIAL_ANCHOR_CREATE_COMPLETION_BD => {
1589 Some("SPATIAL_ANCHOR_CREATE_COMPLETION_BD")
1590 }
1591 Self::SPATIAL_ANCHOR_PERSIST_INFO_BD => Some("SPATIAL_ANCHOR_PERSIST_INFO_BD"),
1592 Self::SPATIAL_ANCHOR_UNPERSIST_INFO_BD => Some("SPATIAL_ANCHOR_UNPERSIST_INFO_BD"),
1593 Self::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD => {
1594 Some("SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD")
1595 }
1596 Self::SPATIAL_ANCHOR_SHARE_INFO_BD => Some("SPATIAL_ANCHOR_SHARE_INFO_BD"),
1597 Self::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD => {
1598 Some("SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD")
1599 }
1600 Self::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_SCENE_PROPERTIES_BD"),
1601 Self::SCENE_CAPTURE_INFO_BD => Some("SCENE_CAPTURE_INFO_BD"),
1602 Self::SYSTEM_SPATIAL_MESH_PROPERTIES_BD => Some("SYSTEM_SPATIAL_MESH_PROPERTIES_BD"),
1603 Self::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD => {
1604 Some("SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD")
1605 }
1606 Self::FUTURE_POLL_RESULT_PROGRESS_BD => Some("FUTURE_POLL_RESULT_PROGRESS_BD"),
1607 Self::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_PLANE_PROPERTIES_BD"),
1608 Self::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD => {
1609 Some("SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD")
1610 }
1611 Self::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD => {
1612 Some("SENSE_DATA_FILTER_PLANE_ORIENTATION_BD")
1613 }
1614 Self::HAND_TRACKING_DATA_SOURCE_INFO_EXT => Some("HAND_TRACKING_DATA_SOURCE_INFO_EXT"),
1615 Self::HAND_TRACKING_DATA_SOURCE_STATE_EXT => {
1616 Some("HAND_TRACKING_DATA_SOURCE_STATE_EXT")
1617 }
1618 Self::PLANE_DETECTOR_CREATE_INFO_EXT => Some("PLANE_DETECTOR_CREATE_INFO_EXT"),
1619 Self::PLANE_DETECTOR_BEGIN_INFO_EXT => Some("PLANE_DETECTOR_BEGIN_INFO_EXT"),
1620 Self::PLANE_DETECTOR_GET_INFO_EXT => Some("PLANE_DETECTOR_GET_INFO_EXT"),
1621 Self::PLANE_DETECTOR_LOCATIONS_EXT => Some("PLANE_DETECTOR_LOCATIONS_EXT"),
1622 Self::PLANE_DETECTOR_LOCATION_EXT => Some("PLANE_DETECTOR_LOCATION_EXT"),
1623 Self::PLANE_DETECTOR_POLYGON_BUFFER_EXT => Some("PLANE_DETECTOR_POLYGON_BUFFER_EXT"),
1624 Self::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT => {
1625 Some("SYSTEM_PLANE_DETECTION_PROPERTIES_EXT")
1626 }
1627 Self::TRACKABLE_GET_INFO_ANDROID => Some("TRACKABLE_GET_INFO_ANDROID"),
1628 Self::ANCHOR_SPACE_CREATE_INFO_ANDROID => Some("ANCHOR_SPACE_CREATE_INFO_ANDROID"),
1629 Self::TRACKABLE_PLANE_ANDROID => Some("TRACKABLE_PLANE_ANDROID"),
1630 Self::TRACKABLE_TRACKER_CREATE_INFO_ANDROID => {
1631 Some("TRACKABLE_TRACKER_CREATE_INFO_ANDROID")
1632 }
1633 Self::SYSTEM_TRACKABLES_PROPERTIES_ANDROID => {
1634 Some("SYSTEM_TRACKABLES_PROPERTIES_ANDROID")
1635 }
1636 Self::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID => {
1637 Some("PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID")
1638 }
1639 Self::PERSISTED_ANCHOR_SPACE_INFO_ANDROID => {
1640 Some("PERSISTED_ANCHOR_SPACE_INFO_ANDROID")
1641 }
1642 Self::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID => {
1643 Some("DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID")
1644 }
1645 Self::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID => {
1646 Some("SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID")
1647 }
1648 Self::FACE_TRACKER_CREATE_INFO_ANDROID => Some("FACE_TRACKER_CREATE_INFO_ANDROID"),
1649 Self::FACE_STATE_GET_INFO_ANDROID => Some("FACE_STATE_GET_INFO_ANDROID"),
1650 Self::FACE_STATE_ANDROID => Some("FACE_STATE_ANDROID"),
1651 Self::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID => {
1652 Some("SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID")
1653 }
1654 Self::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID => {
1655 Some("PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID")
1656 }
1657 Self::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID => {
1658 Some("SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID")
1659 }
1660 Self::RAYCAST_INFO_ANDROID => Some("RAYCAST_INFO_ANDROID"),
1661 Self::RAYCAST_HIT_RESULTS_ANDROID => Some("RAYCAST_HIT_RESULTS_ANDROID"),
1662 Self::TRACKABLE_OBJECT_ANDROID => Some("TRACKABLE_OBJECT_ANDROID"),
1663 Self::TRACKABLE_OBJECT_CONFIGURATION_ANDROID => {
1664 Some("TRACKABLE_OBJECT_CONFIGURATION_ANDROID")
1665 }
1666 Self::FUTURE_CANCEL_INFO_EXT => Some("FUTURE_CANCEL_INFO_EXT"),
1667 Self::FUTURE_POLL_INFO_EXT => Some("FUTURE_POLL_INFO_EXT"),
1668 Self::FUTURE_COMPLETION_EXT => Some("FUTURE_COMPLETION_EXT"),
1669 Self::FUTURE_POLL_RESULT_EXT => Some("FUTURE_POLL_RESULT_EXT"),
1670 Self::EVENT_DATA_USER_PRESENCE_CHANGED_EXT => {
1671 Some("EVENT_DATA_USER_PRESENCE_CHANGED_EXT")
1672 }
1673 Self::SYSTEM_USER_PRESENCE_PROPERTIES_EXT => {
1674 Some("SYSTEM_USER_PRESENCE_PROPERTIES_EXT")
1675 }
1676 Self::SYSTEM_NOTIFICATIONS_SET_INFO_ML => Some("SYSTEM_NOTIFICATIONS_SET_INFO_ML"),
1677 Self::WORLD_MESH_DETECTOR_CREATE_INFO_ML => Some("WORLD_MESH_DETECTOR_CREATE_INFO_ML"),
1678 Self::WORLD_MESH_STATE_REQUEST_INFO_ML => Some("WORLD_MESH_STATE_REQUEST_INFO_ML"),
1679 Self::WORLD_MESH_BLOCK_STATE_ML => Some("WORLD_MESH_BLOCK_STATE_ML"),
1680 Self::WORLD_MESH_STATE_REQUEST_COMPLETION_ML => {
1681 Some("WORLD_MESH_STATE_REQUEST_COMPLETION_ML")
1682 }
1683 Self::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML => {
1684 Some("WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML")
1685 }
1686 Self::WORLD_MESH_BUFFER_SIZE_ML => Some("WORLD_MESH_BUFFER_SIZE_ML"),
1687 Self::WORLD_MESH_BUFFER_ML => Some("WORLD_MESH_BUFFER_ML"),
1688 Self::WORLD_MESH_BLOCK_REQUEST_ML => Some("WORLD_MESH_BLOCK_REQUEST_ML"),
1689 Self::WORLD_MESH_GET_INFO_ML => Some("WORLD_MESH_GET_INFO_ML"),
1690 Self::WORLD_MESH_BLOCK_ML => Some("WORLD_MESH_BLOCK_ML"),
1691 Self::WORLD_MESH_REQUEST_COMPLETION_ML => Some("WORLD_MESH_REQUEST_COMPLETION_ML"),
1692 Self::WORLD_MESH_REQUEST_COMPLETION_INFO_ML => {
1693 Some("WORLD_MESH_REQUEST_COMPLETION_INFO_ML")
1694 }
1695 Self::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML => {
1696 Some("SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML")
1697 }
1698 Self::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML => {
1699 Some("FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML")
1700 }
1701 Self::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML => {
1702 Some("FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML")
1703 }
1704 Self::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML => {
1705 Some("FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML")
1706 }
1707 Self::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META => {
1708 Some("SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META")
1709 }
1710 Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META => {
1711 Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META")
1712 }
1713 Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META => {
1714 Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META")
1715 }
1716 Self::COLOCATION_DISCOVERY_START_INFO_META => {
1717 Some("COLOCATION_DISCOVERY_START_INFO_META")
1718 }
1719 Self::COLOCATION_DISCOVERY_STOP_INFO_META => {
1720 Some("COLOCATION_DISCOVERY_STOP_INFO_META")
1721 }
1722 Self::COLOCATION_ADVERTISEMENT_START_INFO_META => {
1723 Some("COLOCATION_ADVERTISEMENT_START_INFO_META")
1724 }
1725 Self::COLOCATION_ADVERTISEMENT_STOP_INFO_META => {
1726 Some("COLOCATION_ADVERTISEMENT_STOP_INFO_META")
1727 }
1728 Self::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1729 Some("EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1730 }
1731 Self::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1732 Some("EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1733 }
1734 Self::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1735 Some("EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1736 }
1737 Self::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META => {
1738 Some("EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META")
1739 }
1740 Self::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META => {
1741 Some("EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META")
1742 }
1743 Self::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META => {
1744 Some("EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META")
1745 }
1746 Self::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META => {
1747 Some("EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META")
1748 }
1749 Self::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META => {
1750 Some("SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META")
1751 }
1752 Self::SHARE_SPACES_RECIPIENT_GROUPS_META => Some("SHARE_SPACES_RECIPIENT_GROUPS_META"),
1753 Self::SPACE_GROUP_UUID_FILTER_INFO_META => Some("SPACE_GROUP_UUID_FILTER_INFO_META"),
1754 Self::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META => {
1755 Some("SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META")
1756 }
1757 Self::ANCHOR_SHARING_INFO_ANDROID => Some("ANCHOR_SHARING_INFO_ANDROID"),
1758 Self::ANCHOR_SHARING_TOKEN_ANDROID => Some("ANCHOR_SHARING_TOKEN_ANDROID"),
1759 Self::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID => {
1760 Some("SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID")
1761 }
1762 Self::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID => {
1763 Some("SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID")
1764 }
1765 Self::TRACKABLE_MARKER_CONFIGURATION_ANDROID => {
1766 Some("TRACKABLE_MARKER_CONFIGURATION_ANDROID")
1767 }
1768 Self::TRACKABLE_MARKER_ANDROID => Some("TRACKABLE_MARKER_ANDROID"),
1769 Self::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT => {
1770 Some("SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT")
1771 }
1772 Self::SPATIAL_CONTEXT_CREATE_INFO_EXT => Some("SPATIAL_CONTEXT_CREATE_INFO_EXT"),
1773 Self::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT => {
1774 Some("CREATE_SPATIAL_CONTEXT_COMPLETION_EXT")
1775 }
1776 Self::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT => {
1777 Some("SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT")
1778 }
1779 Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT => {
1780 Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT")
1781 }
1782 Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT => {
1783 Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT")
1784 }
1785 Self::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT => {
1786 Some("SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT")
1787 }
1788 Self::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT => {
1789 Some("SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT")
1790 }
1791 Self::SPATIAL_BUFFER_GET_INFO_EXT => Some("SPATIAL_BUFFER_GET_INFO_EXT"),
1792 Self::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT => {
1793 Some("SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT")
1794 }
1795 Self::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT => {
1796 Some("SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT")
1797 }
1798 Self::SPATIAL_COMPONENT_PARENT_LIST_EXT => Some("SPATIAL_COMPONENT_PARENT_LIST_EXT"),
1799 Self::SPATIAL_COMPONENT_MESH_3D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_3D_LIST_EXT"),
1800 Self::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT => {
1801 Some("SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT")
1802 }
1803 Self::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT => {
1804 Some("SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT")
1805 }
1806 Self::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT => {
1807 Some("EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT")
1808 }
1809 Self::SPATIAL_FILTER_TRACKING_STATE_EXT => Some("SPATIAL_FILTER_TRACKING_STATE_EXT"),
1810 Self::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT => {
1811 Some("SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT")
1812 }
1813 Self::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT => {
1814 Some("SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT")
1815 }
1816 Self::SPATIAL_COMPONENT_MESH_2D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_2D_LIST_EXT"),
1817 Self::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT => {
1818 Some("SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT")
1819 }
1820 Self::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT => {
1821 Some("SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT")
1822 }
1823 Self::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT => {
1824 Some("SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT")
1825 }
1826 Self::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT => {
1827 Some("SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT")
1828 }
1829 Self::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT => {
1830 Some("SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT")
1831 }
1832 Self::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT => {
1833 Some("SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT")
1834 }
1835 Self::SPATIAL_MARKER_SIZE_EXT => Some("SPATIAL_MARKER_SIZE_EXT"),
1836 Self::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT => {
1837 Some("SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT")
1838 }
1839 Self::SPATIAL_COMPONENT_MARKER_LIST_EXT => Some("SPATIAL_COMPONENT_MARKER_LIST_EXT"),
1840 Self::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT => {
1841 Some("SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT")
1842 }
1843 Self::SPATIAL_COMPONENT_ANCHOR_LIST_EXT => Some("SPATIAL_COMPONENT_ANCHOR_LIST_EXT"),
1844 Self::SPATIAL_ANCHOR_CREATE_INFO_EXT => Some("SPATIAL_ANCHOR_CREATE_INFO_EXT"),
1845 Self::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT => {
1846 Some("SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT")
1847 }
1848 Self::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT => {
1849 Some("CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT")
1850 }
1851 Self::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT => {
1852 Some("SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT")
1853 }
1854 Self::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT => {
1855 Some("SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT")
1856 }
1857 Self::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT => {
1858 Some("SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT")
1859 }
1860 Self::SPATIAL_ENTITY_PERSIST_INFO_EXT => Some("SPATIAL_ENTITY_PERSIST_INFO_EXT"),
1861 Self::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
1862 Some("PERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
1863 }
1864 Self::SPATIAL_ENTITY_UNPERSIST_INFO_EXT => Some("SPATIAL_ENTITY_UNPERSIST_INFO_EXT"),
1865 Self::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
1866 Some("UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
1867 }
1868 Self::LOADER_INIT_INFO_PROPERTIES_EXT => Some("LOADER_INIT_INFO_PROPERTIES_EXT"),
1869 _ => None,
1870 };
1871 fmt_enum(fmt, self.0, name)
1872 }
1873}
1874#[doc = "Error and return codes - see [XrResult](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrResult)"]
1875#[repr(transparent)]
1876#[derive(Copy, Clone, Eq, PartialEq, Default)]
1877pub struct Result(i32);
1878impl Result {
1879 #[doc = "Function successfully completed."]
1880 pub const SUCCESS: Result = Self(0i32);
1881 #[doc = "The specified timeout time occurred before the operation could complete."]
1882 pub const TIMEOUT_EXPIRED: Result = Self(1i32);
1883 #[doc = "The session will be lost soon."]
1884 pub const SESSION_LOSS_PENDING: Result = Self(3i32);
1885 #[doc = "No event was available."]
1886 pub const EVENT_UNAVAILABLE: Result = Self(4i32);
1887 #[doc = "The space's bounds are not known at the moment."]
1888 pub const SPACE_BOUNDS_UNAVAILABLE: Result = Self(7i32);
1889 #[doc = "The session is not in the focused state."]
1890 pub const SESSION_NOT_FOCUSED: Result = Self(8i32);
1891 #[doc = "A frame has been discarded from composition."]
1892 pub const FRAME_DISCARDED: Result = Self(9i32);
1893 #[doc = "The function usage was invalid in some way."]
1894 pub const ERROR_VALIDATION_FAILURE: Result = Self(-1i32);
1895 #[doc = "The runtime failed to handle the function in an unexpected way that is not covered by another error result."]
1896 pub const ERROR_RUNTIME_FAILURE: Result = Self(-2i32);
1897 #[doc = "A memory allocation has failed."]
1898 pub const ERROR_OUT_OF_MEMORY: Result = Self(-3i32);
1899 #[doc = "The runtime does not support the requested API version."]
1900 pub const ERROR_API_VERSION_UNSUPPORTED: Result = Self(-4i32);
1901 #[doc = "Initialization of object could not be completed."]
1902 pub const ERROR_INITIALIZATION_FAILED: Result = Self(-6i32);
1903 #[doc = "The requested function was not found or is otherwise unsupported."]
1904 pub const ERROR_FUNCTION_UNSUPPORTED: Result = Self(-7i32);
1905 #[doc = "The requested feature is not supported."]
1906 pub const ERROR_FEATURE_UNSUPPORTED: Result = Self(-8i32);
1907 #[doc = "A requested extension is not supported."]
1908 pub const ERROR_EXTENSION_NOT_PRESENT: Result = Self(-9i32);
1909 #[doc = "The runtime supports no more of the requested resource."]
1910 pub const ERROR_LIMIT_REACHED: Result = Self(-10i32);
1911 #[doc = "The supplied size was smaller than required."]
1912 pub const ERROR_SIZE_INSUFFICIENT: Result = Self(-11i32);
1913 #[doc = "A supplied object handle was invalid."]
1914 pub const ERROR_HANDLE_INVALID: Result = Self(-12i32);
1915 #[doc = "The XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated."]
1916 pub const ERROR_INSTANCE_LOST: Result = Self(-13i32);
1917 #[doc = "The session is already running."]
1918 pub const ERROR_SESSION_RUNNING: Result = Self(-14i32);
1919 #[doc = "The session is not yet running."]
1920 pub const ERROR_SESSION_NOT_RUNNING: Result = Self(-16i32);
1921 #[doc = "The XrSession was lost. It will need to be destroyed and optionally recreated."]
1922 pub const ERROR_SESSION_LOST: Result = Self(-17i32);
1923 #[doc = "The provided XrSystemId was invalid."]
1924 pub const ERROR_SYSTEM_INVALID: Result = Self(-18i32);
1925 #[doc = "The provided XrPath was not valid."]
1926 pub const ERROR_PATH_INVALID: Result = Self(-19i32);
1927 #[doc = "The maximum number of supported semantic paths has been reached."]
1928 pub const ERROR_PATH_COUNT_EXCEEDED: Result = Self(-20i32);
1929 #[doc = "The semantic path character format is invalid."]
1930 pub const ERROR_PATH_FORMAT_INVALID: Result = Self(-21i32);
1931 #[doc = "The semantic path is unsupported."]
1932 pub const ERROR_PATH_UNSUPPORTED: Result = Self(-22i32);
1933 #[doc = "The layer was NULL or otherwise invalid."]
1934 pub const ERROR_LAYER_INVALID: Result = Self(-23i32);
1935 #[doc = "The number of specified layers is greater than the supported number."]
1936 pub const ERROR_LAYER_LIMIT_EXCEEDED: Result = Self(-24i32);
1937 #[doc = "The image rect was negatively sized or otherwise invalid."]
1938 pub const ERROR_SWAPCHAIN_RECT_INVALID: Result = Self(-25i32);
1939 #[doc = "The image format is not supported by the runtime or platform."]
1940 pub const ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED: Result = Self(-26i32);
1941 #[doc = "The API used to retrieve an action's state does not match the action's type."]
1942 pub const ERROR_ACTION_TYPE_MISMATCH: Result = Self(-27i32);
1943 #[doc = "The session is not in the ready state."]
1944 pub const ERROR_SESSION_NOT_READY: Result = Self(-28i32);
1945 #[doc = "The session is not in the stopping state."]
1946 pub const ERROR_SESSION_NOT_STOPPING: Result = Self(-29i32);
1947 #[doc = "The provided XrTime was zero, negative, or out of range."]
1948 pub const ERROR_TIME_INVALID: Result = Self(-30i32);
1949 #[doc = "The specified reference space is not supported by the runtime or system."]
1950 pub const ERROR_REFERENCE_SPACE_UNSUPPORTED: Result = Self(-31i32);
1951 #[doc = "The file could not be accessed."]
1952 pub const ERROR_FILE_ACCESS_ERROR: Result = Self(-32i32);
1953 #[doc = "The file's contents were invalid."]
1954 pub const ERROR_FILE_CONTENTS_INVALID: Result = Self(-33i32);
1955 #[doc = "The specified form factor is not supported by the current runtime or platform."]
1956 pub const ERROR_FORM_FACTOR_UNSUPPORTED: Result = Self(-34i32);
1957 #[doc = "The specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off."]
1958 pub const ERROR_FORM_FACTOR_UNAVAILABLE: Result = Self(-35i32);
1959 #[doc = "A requested API layer is not present or could not be loaded."]
1960 pub const ERROR_API_LAYER_NOT_PRESENT: Result = Self(-36i32);
1961 #[doc = "The call was made without having made a previously required call."]
1962 pub const ERROR_CALL_ORDER_INVALID: Result = Self(-37i32);
1963 #[doc = "The given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements."]
1964 pub const ERROR_GRAPHICS_DEVICE_INVALID: Result = Self(-38i32);
1965 #[doc = "The supplied pose was invalid with respect to the requirements."]
1966 pub const ERROR_POSE_INVALID: Result = Self(-39i32);
1967 #[doc = "The supplied index was outside the range of valid indices."]
1968 pub const ERROR_INDEX_OUT_OF_RANGE: Result = Self(-40i32);
1969 #[doc = "The specified view configuration type is not supported by the runtime or platform."]
1970 pub const ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED: Result = Self(-41i32);
1971 #[doc = "The specified environment blend mode is not supported by the runtime or platform."]
1972 pub const ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED: Result = Self(-42i32);
1973 #[doc = "The name provided was a duplicate of an already-existing resource."]
1974 pub const ERROR_NAME_DUPLICATED: Result = Self(-44i32);
1975 #[doc = "The name provided was invalid."]
1976 pub const ERROR_NAME_INVALID: Result = Self(-45i32);
1977 #[doc = "A referenced action set is not attached to the session."]
1978 pub const ERROR_ACTIONSET_NOT_ATTACHED: Result = Self(-46i32);
1979 #[doc = "The session already has attached action sets."]
1980 pub const ERROR_ACTIONSETS_ALREADY_ATTACHED: Result = Self(-47i32);
1981 #[doc = "The localized name provided was a duplicate of an already-existing resource."]
1982 pub const ERROR_LOCALIZED_NAME_DUPLICATED: Result = Self(-48i32);
1983 #[doc = "The localized name provided was invalid."]
1984 pub const ERROR_LOCALIZED_NAME_INVALID: Result = Self(-49i32);
1985 #[doc = "The xrGet*GraphicsRequirements call was not made before calling xrCreateSession."]
1986 pub const ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING: Result = Self(-50i32);
1987 #[doc = "The loader was unable to find or load a runtime."]
1988 pub const ERROR_RUNTIME_UNAVAILABLE: Result = Self(-51i32);
1989 #[doc = "One or more of the extensions being enabled has dependency on extensions that are not enabled."]
1990 pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED: Result = Self(-1000710001i32);
1991 #[doc = "Insufficient permissions. This error is included for use by vendor extensions. The precise definition of `XR_ERROR_PERMISSION_INSUFFICIENT` and actions possible by the developer or user to resolve it can vary by platform, extension or function. The developer should refer to the documentation of the function that returned the error code and extension it was defined."]
1992 pub const ERROR_PERMISSION_INSUFFICIENT: Result = Self(-1000710000i32);
1993 #[doc = "xrSetAndroidApplicationThreadKHR failed as thread id is invalid."]
1994 pub const ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR: Result = Self(-1000003000i32);
1995 #[doc = "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority."]
1996 pub const ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR: Result = Self(-1000003001i32);
1997 #[doc = "Spatial anchor could not be created at that location."]
1998 pub const ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT: Result = Self(-1000039001i32);
1999 #[doc = "The secondary view configuration was not enabled when creating the session."]
2000 pub const ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT: Result =
2001 Self(-1000053000i32);
2002 #[doc = "The controller model key is invalid."]
2003 pub const ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT: Result = Self(-1000055000i32);
2004 #[doc = "The reprojection mode is not supported."]
2005 pub const ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT: Result = Self(-1000066000i32);
2006 #[doc = "Compute new scene not completed."]
2007 pub const ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT: Result = Self(-1000097000i32);
2008 #[doc = "Scene component id invalid."]
2009 pub const ERROR_SCENE_COMPONENT_ID_INVALID_MSFT: Result = Self(-1000097001i32);
2010 #[doc = "Scene component type mismatch."]
2011 pub const ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT: Result = Self(-1000097002i32);
2012 #[doc = "Scene mesh buffer id invalid."]
2013 pub const ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT: Result = Self(-1000097003i32);
2014 #[doc = "Scene compute feature incompatible."]
2015 pub const ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT: Result = Self(-1000097004i32);
2016 #[doc = "Scene compute consistency mismatch."]
2017 pub const ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT: Result = Self(-1000097005i32);
2018 #[doc = "The display refresh rate is not supported by the platform."]
2019 pub const ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB: Result = Self(-1000101000i32);
2020 #[doc = "The color space is not supported by the runtime."]
2021 pub const ERROR_COLOR_SPACE_UNSUPPORTED_FB: Result = Self(-1000108000i32);
2022 #[doc = "The component type is not supported for this space."]
2023 pub const ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB: Result = Self(-1000113000i32);
2024 #[doc = "The required component is not enabled for this space."]
2025 pub const ERROR_SPACE_COMPONENT_NOT_ENABLED_FB: Result = Self(-1000113001i32);
2026 #[doc = "A request to set the component's status is currently pending."]
2027 pub const ERROR_SPACE_COMPONENT_STATUS_PENDING_FB: Result = Self(-1000113002i32);
2028 #[doc = "The component is already set to the requested value."]
2029 pub const ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB: Result = Self(-1000113003i32);
2030 #[doc = "The object state is unexpected for the issued command."]
2031 pub const ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB: Result = Self(-1000118000i32);
2032 #[doc = "Trying to create an MR feature when one was already created and only one instance is allowed."]
2033 pub const ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB: Result = Self(-1000118001i32);
2034 #[doc = "Requested functionality requires a feature to be created first."]
2035 pub const ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB: Result = Self(-1000118002i32);
2036 #[doc = "Requested functionality is not permitted - application is not allowed to perform the requested operation."]
2037 pub const ERROR_NOT_PERMITTED_PASSTHROUGH_FB: Result = Self(-1000118003i32);
2038 #[doc = "There were insufficient resources available to perform an operation."]
2039 pub const ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB: Result = Self(-1000118004i32);
2040 #[doc = "Unknown Passthrough error (no further details provided)."]
2041 pub const ERROR_UNKNOWN_PASSTHROUGH_FB: Result = Self(-1000118050i32);
2042 #[doc = "The model key is invalid."]
2043 pub const ERROR_RENDER_MODEL_KEY_INVALID_FB: Result = Self(-1000119000i32);
2044 #[doc = "The model is unavailable."]
2045 pub const RENDER_MODEL_UNAVAILABLE_FB: Result = Self(1000119020i32);
2046 #[doc = "Marker tracking is disabled or the specified marker is not currently tracked."]
2047 pub const ERROR_MARKER_NOT_TRACKED_VARJO: Result = Self(-1000124000i32);
2048 #[doc = "The specified marker ID is not valid."]
2049 pub const ERROR_MARKER_ID_INVALID_VARJO: Result = Self(-1000124001i32);
2050 #[doc = "The com.magicleap.permission.MARKER_TRACKING permission was denied."]
2051 pub const ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000138000i32);
2052 #[doc = "The specified marker could not be located spatially."]
2053 pub const ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML: Result = Self(-1000138001i32);
2054 #[doc = "The marker queried does not contain data of the requested type."]
2055 pub const ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML: Result = Self(-1000138002i32);
2056 #[doc = "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML."]
2057 pub const ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML: Result = Self(-1000138003i32);
2058 #[doc = "The marker id passed to the function was invalid."]
2059 pub const ERROR_MARKER_INVALID_ML: Result = Self(-1000138004i32);
2060 #[doc = "The localization map being imported is not compatible with current OS or mode."]
2061 pub const ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML: Result = Self(-1000139000i32);
2062 #[doc = "The localization map requested is not available."]
2063 pub const ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML: Result = Self(-1000139001i32);
2064 #[doc = "The map localization service failed to fulfill the request, retry later."]
2065 pub const ERROR_LOCALIZATION_MAP_FAIL_ML: Result = Self(-1000139002i32);
2066 #[doc = "The com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied."]
2067 pub const ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML: Result =
2068 Self(-1000139003i32);
2069 #[doc = "The com.magicleap.permission.SPACE_MANAGER permission was denied."]
2070 pub const ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML: Result = Self(-1000139004i32);
2071 #[doc = "The map being imported already exists in the system."]
2072 pub const ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML: Result = Self(-1000139005i32);
2073 #[doc = "The map localization service cannot export cloud based maps."]
2074 pub const ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML: Result = Self(-1000139006i32);
2075 #[doc = "The com.magicleap.permission.SPATIAL_ANCHOR permission was not granted."]
2076 pub const ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML: Result = Self(-1000140000i32);
2077 #[doc = "Operation failed because the system is not localized into a localization map."]
2078 pub const ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML: Result = Self(-1000140001i32);
2079 #[doc = "Operation failed because it is performed outside of the localization map."]
2080 pub const ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML: Result = Self(-1000140002i32);
2081 #[doc = "Operation failed because the space referenced cannot be located."]
2082 pub const ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000140003i32);
2083 #[doc = "The anchor references was not found."]
2084 pub const ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML: Result = Self(-1000141000i32);
2085 #[doc = "A spatial anchor was not found associated with the spatial anchor name provided"]
2086 pub const ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT: Result = Self(-1000142001i32);
2087 #[doc = "The spatial anchor name provided was not valid"]
2088 pub const ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT: Result = Self(-1000142002i32);
2089 #[doc = "Marker does not encode a string."]
2090 pub const SCENE_MARKER_DATA_NOT_STRING_MSFT: Result = Self(1000147000i32);
2091 #[doc = "Anchor import from cloud or export from device failed."]
2092 pub const ERROR_SPACE_MAPPING_INSUFFICIENT_FB: Result = Self(-1000169000i32);
2093 #[doc = "Anchors were downloaded from the cloud but failed to be imported/aligned on the device."]
2094 pub const ERROR_SPACE_LOCALIZATION_FAILED_FB: Result = Self(-1000169001i32);
2095 #[doc = "Timeout occurred while waiting for network request to complete."]
2096 pub const ERROR_SPACE_NETWORK_TIMEOUT_FB: Result = Self(-1000169002i32);
2097 #[doc = "The network request failed."]
2098 pub const ERROR_SPACE_NETWORK_REQUEST_FAILED_FB: Result = Self(-1000169003i32);
2099 #[doc = "Cloud storage is required for this operation but is currently disabled."]
2100 pub const ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB: Result = Self(-1000169004i32);
2101 #[doc = "Resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption."]
2102 pub const ERROR_SPACE_INSUFFICIENT_RESOURCES_META: Result = Self(-1000259000i32);
2103 #[doc = "Operation could not be completed until resources used are reduced or storage expanded."]
2104 pub const ERROR_SPACE_STORAGE_AT_CAPACITY_META: Result = Self(-1000259001i32);
2105 #[doc = "Look around the environment more for space tracking to function."]
2106 pub const ERROR_SPACE_INSUFFICIENT_VIEW_META: Result = Self(-1000259002i32);
2107 #[doc = "Space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs."]
2108 pub const ERROR_SPACE_PERMISSION_INSUFFICIENT_META: Result = Self(-1000259003i32);
2109 #[doc = "Operation cancelled due to rate limiting. Recommend retrying after a short delay."]
2110 pub const ERROR_SPACE_RATE_LIMITED_META: Result = Self(-1000259004i32);
2111 #[doc = "Environment too dark for tracking to complete operation."]
2112 pub const ERROR_SPACE_TOO_DARK_META: Result = Self(-1000259005i32);
2113 #[doc = "Environment too bright for tracking to complete operation."]
2114 pub const ERROR_SPACE_TOO_BRIGHT_META: Result = Self(-1000259006i32);
2115 #[doc = "The provided data buffer did not match the required size."]
2116 pub const ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META: Result = Self(-1000266000i32);
2117 #[doc = "Warning: The requested depth image is not yet available."]
2118 pub const ENVIRONMENT_DEPTH_NOT_AVAILABLE_META: Result = Self(1000291000i32);
2119 #[doc = "The render model ID is invalid."]
2120 pub const ERROR_RENDER_MODEL_ID_INVALID_EXT: Result = Self(-1000300000i32);
2121 #[doc = "The render model asset is unavailable."]
2122 pub const ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT: Result = Self(-1000300001i32);
2123 #[doc = "A glTF extension is required."]
2124 pub const ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT: Result = Self(-1000300002i32);
2125 #[doc = "The provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`"]
2126 pub const ERROR_NOT_INTERACTION_RENDER_MODEL_EXT: Result = Self(-1000301000i32);
2127 #[doc = "Tracking optimization hint is already set for the domain."]
2128 pub const ERROR_HINT_ALREADY_SET_QCOM: Result = Self(-1000306000i32);
2129 #[doc = "The provided space is valid but not an anchor."]
2130 pub const ERROR_NOT_AN_ANCHOR_HTC: Result = Self(-1000319000i32);
2131 #[doc = "The spatial entity id is invalid."]
2132 pub const ERROR_SPATIAL_ENTITY_ID_INVALID_BD: Result = Self(-1000389000i32);
2133 #[doc = "The spatial sensing service is unavailable."]
2134 pub const ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD: Result = Self(-1000389001i32);
2135 #[doc = "The spatial entity does not support anchor."]
2136 pub const ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD: Result = Self(-1000389002i32);
2137 #[doc = "The spatial anchor is not found."]
2138 pub const ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD: Result = Self(-1000390000i32);
2139 #[doc = "The network transmission timeout."]
2140 pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD: Result = Self(-1000391000i32);
2141 #[doc = "The authentication for the user account failed."]
2142 pub const ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD: Result = Self(-1000391001i32);
2143 #[doc = "The network connection failed, e.g. the connection is unstable or disconnected."]
2144 pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD: Result = Self(-1000391002i32);
2145 #[doc = "The spatial anchor localization failed."]
2146 pub const ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD: Result = Self(-1000391003i32);
2147 #[doc = "The feature points of spatial anchor map are insufficient."]
2148 pub const ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD: Result = Self(-1000391004i32);
2149 #[doc = "The scene capture is failed, for example exiting abnormally."]
2150 pub const ERROR_SCENE_CAPTURE_FAILURE_BD: Result = Self(-1000392000i32);
2151 #[doc = "The space passed to the function was not locatable."]
2152 pub const ERROR_SPACE_NOT_LOCATABLE_EXT: Result = Self(-1000429000i32);
2153 #[doc = "The permission for this resource was not granted."]
2154 pub const ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT: Result = Self(-1000429001i32);
2155 #[doc = "Indicates that the parameters contains multiple trackable types."]
2156 pub const ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID: Result = Self(-1000455000i32);
2157 #[doc = "Indicates that the function is not supported by the given trackable type."]
2158 pub const ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID: Result = Self(-1000455001i32);
2159 #[doc = "XrUuidExt passed to the function was not found to be a persisted anchor."]
2160 pub const ERROR_ANCHOR_ID_NOT_FOUND_ANDROID: Result = Self(-1000457000i32);
2161 #[doc = "XrUuidExt passed to the function was already marked to be persisted."]
2162 pub const ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID: Result = Self(-1000457001i32);
2163 #[doc = "ANchor cannot be persisted because it is not tracking."]
2164 pub const ERROR_ANCHOR_NOT_TRACKING_ANDROID: Result = Self(-1000457002i32);
2165 #[doc = "Persisted data stored by this app has not been loaded yet."]
2166 pub const ERROR_PERSISTED_DATA_NOT_READY_ANDROID: Result = Self(-1000457003i32);
2167 #[doc = "The underlying tracking service is not yet ready."]
2168 pub const ERROR_SERVICE_NOT_READY_ANDROID: Result = Self(-1000458000i32);
2169 #[doc = "Returned by completion function to indicate future is not ready."]
2170 pub const ERROR_FUTURE_PENDING_EXT: Result = Self(-1000469001i32);
2171 #[doc = "Returned by completion function to indicate future is not valid."]
2172 pub const ERROR_FUTURE_INVALID_EXT: Result = Self(-1000469002i32);
2173 #[doc = "The com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted."]
2174 pub const ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML: Result = Self(-1000473000i32);
2175 #[doc = "Incompatible SKU detected."]
2176 pub const ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML: Result = Self(-1000473001i32);
2177 #[doc = "The world mesh detector permission was not granted."]
2178 pub const ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000474000i32);
2179 #[doc = "At the time of the call the runtime was unable to locate the space and cannot fulfill your request."]
2180 pub const ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000474001i32);
2181 #[doc = "Permission to track facial expressions was not granted"]
2182 pub const ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML: Result = Self(1000482000i32);
2183 #[doc = "The network request failed."]
2184 pub const ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META: Result = Self(-1000571001i32);
2185 #[doc = "The runtime does not have any methods available to perform discovery."]
2186 pub const ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META: Result = Self(-1000571002i32);
2187 #[doc = "Colocation advertisement has already been enabled"]
2188 pub const COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META: Result = Self(1000571003i32);
2189 #[doc = "Colocation discovery has already been enabled"]
2190 pub const COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META: Result = Self(1000571004i32);
2191 #[doc = "The group UUID was not found within the runtime"]
2192 pub const ERROR_SPACE_GROUP_NOT_FOUND_META: Result = Self(-1000572002i32);
2193 #[doc = "Operation not allowed because anchor is not owned by the XrSession in which the function is being called."]
2194 pub const ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID: Result = Self(-1000701000i32);
2195 pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR: Result =
2196 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED;
2197 pub const ERROR_PERMISSION_INSUFFICIENT_KHR: Result = Self::ERROR_PERMISSION_INSUFFICIENT;
2198 #[doc = "The specified spatial capability is not supported by the runtime or the system."]
2199 pub const ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT: Result = Self(-1000740001i32);
2200 #[doc = "The specified spatial entity id is invalid or an entity with that id does not exist in the environment."]
2201 pub const ERROR_SPATIAL_ENTITY_ID_INVALID_EXT: Result = Self(-1000740002i32);
2202 #[doc = "The specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data."]
2203 pub const ERROR_SPATIAL_BUFFER_ID_INVALID_EXT: Result = Self(-1000740003i32);
2204 #[doc = "The specified spatial component is not supported by the runtime or the system for the given capability."]
2205 pub const ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT: Result = Self(-1000740004i32);
2206 #[doc = "The specified spatial capability configuration is invalid."]
2207 pub const ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT: Result = Self(-1000740005i32);
2208 #[doc = "The specified spatial component is not enabled for the spatial context."]
2209 pub const ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT: Result = Self(-1000740006i32);
2210 #[doc = "The specified spatial persistence scope is not supported by the runtime or the system."]
2211 pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT: Result = Self(-1000763001i32);
2212 #[doc = "The scope configured for the persistence context is incompatible for the current spatial entity."]
2213 pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT: Result = Self(-1000781001i32);
2214 pub fn from_raw(x: i32) -> Self {
2215 Self(x)
2216 }
2217 pub fn into_raw(self) -> i32 {
2218 self.0
2219 }
2220}
2221impl fmt::Debug for Result {
2222 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2223 let name = match *self {
2224 Self::SUCCESS => Some("SUCCESS"),
2225 Self::TIMEOUT_EXPIRED => Some("TIMEOUT_EXPIRED"),
2226 Self::SESSION_LOSS_PENDING => Some("SESSION_LOSS_PENDING"),
2227 Self::EVENT_UNAVAILABLE => Some("EVENT_UNAVAILABLE"),
2228 Self::SPACE_BOUNDS_UNAVAILABLE => Some("SPACE_BOUNDS_UNAVAILABLE"),
2229 Self::SESSION_NOT_FOCUSED => Some("SESSION_NOT_FOCUSED"),
2230 Self::FRAME_DISCARDED => Some("FRAME_DISCARDED"),
2231 Self::ERROR_VALIDATION_FAILURE => Some("ERROR_VALIDATION_FAILURE"),
2232 Self::ERROR_RUNTIME_FAILURE => Some("ERROR_RUNTIME_FAILURE"),
2233 Self::ERROR_OUT_OF_MEMORY => Some("ERROR_OUT_OF_MEMORY"),
2234 Self::ERROR_API_VERSION_UNSUPPORTED => Some("ERROR_API_VERSION_UNSUPPORTED"),
2235 Self::ERROR_INITIALIZATION_FAILED => Some("ERROR_INITIALIZATION_FAILED"),
2236 Self::ERROR_FUNCTION_UNSUPPORTED => Some("ERROR_FUNCTION_UNSUPPORTED"),
2237 Self::ERROR_FEATURE_UNSUPPORTED => Some("ERROR_FEATURE_UNSUPPORTED"),
2238 Self::ERROR_EXTENSION_NOT_PRESENT => Some("ERROR_EXTENSION_NOT_PRESENT"),
2239 Self::ERROR_LIMIT_REACHED => Some("ERROR_LIMIT_REACHED"),
2240 Self::ERROR_SIZE_INSUFFICIENT => Some("ERROR_SIZE_INSUFFICIENT"),
2241 Self::ERROR_HANDLE_INVALID => Some("ERROR_HANDLE_INVALID"),
2242 Self::ERROR_INSTANCE_LOST => Some("ERROR_INSTANCE_LOST"),
2243 Self::ERROR_SESSION_RUNNING => Some("ERROR_SESSION_RUNNING"),
2244 Self::ERROR_SESSION_NOT_RUNNING => Some("ERROR_SESSION_NOT_RUNNING"),
2245 Self::ERROR_SESSION_LOST => Some("ERROR_SESSION_LOST"),
2246 Self::ERROR_SYSTEM_INVALID => Some("ERROR_SYSTEM_INVALID"),
2247 Self::ERROR_PATH_INVALID => Some("ERROR_PATH_INVALID"),
2248 Self::ERROR_PATH_COUNT_EXCEEDED => Some("ERROR_PATH_COUNT_EXCEEDED"),
2249 Self::ERROR_PATH_FORMAT_INVALID => Some("ERROR_PATH_FORMAT_INVALID"),
2250 Self::ERROR_PATH_UNSUPPORTED => Some("ERROR_PATH_UNSUPPORTED"),
2251 Self::ERROR_LAYER_INVALID => Some("ERROR_LAYER_INVALID"),
2252 Self::ERROR_LAYER_LIMIT_EXCEEDED => Some("ERROR_LAYER_LIMIT_EXCEEDED"),
2253 Self::ERROR_SWAPCHAIN_RECT_INVALID => Some("ERROR_SWAPCHAIN_RECT_INVALID"),
2254 Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => Some("ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED"),
2255 Self::ERROR_ACTION_TYPE_MISMATCH => Some("ERROR_ACTION_TYPE_MISMATCH"),
2256 Self::ERROR_SESSION_NOT_READY => Some("ERROR_SESSION_NOT_READY"),
2257 Self::ERROR_SESSION_NOT_STOPPING => Some("ERROR_SESSION_NOT_STOPPING"),
2258 Self::ERROR_TIME_INVALID => Some("ERROR_TIME_INVALID"),
2259 Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => Some("ERROR_REFERENCE_SPACE_UNSUPPORTED"),
2260 Self::ERROR_FILE_ACCESS_ERROR => Some("ERROR_FILE_ACCESS_ERROR"),
2261 Self::ERROR_FILE_CONTENTS_INVALID => Some("ERROR_FILE_CONTENTS_INVALID"),
2262 Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some("ERROR_FORM_FACTOR_UNSUPPORTED"),
2263 Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some("ERROR_FORM_FACTOR_UNAVAILABLE"),
2264 Self::ERROR_API_LAYER_NOT_PRESENT => Some("ERROR_API_LAYER_NOT_PRESENT"),
2265 Self::ERROR_CALL_ORDER_INVALID => Some("ERROR_CALL_ORDER_INVALID"),
2266 Self::ERROR_GRAPHICS_DEVICE_INVALID => Some("ERROR_GRAPHICS_DEVICE_INVALID"),
2267 Self::ERROR_POSE_INVALID => Some("ERROR_POSE_INVALID"),
2268 Self::ERROR_INDEX_OUT_OF_RANGE => Some("ERROR_INDEX_OUT_OF_RANGE"),
2269 Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => {
2270 Some("ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED")
2271 }
2272 Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => {
2273 Some("ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED")
2274 }
2275 Self::ERROR_NAME_DUPLICATED => Some("ERROR_NAME_DUPLICATED"),
2276 Self::ERROR_NAME_INVALID => Some("ERROR_NAME_INVALID"),
2277 Self::ERROR_ACTIONSET_NOT_ATTACHED => Some("ERROR_ACTIONSET_NOT_ATTACHED"),
2278 Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => Some("ERROR_ACTIONSETS_ALREADY_ATTACHED"),
2279 Self::ERROR_LOCALIZED_NAME_DUPLICATED => Some("ERROR_LOCALIZED_NAME_DUPLICATED"),
2280 Self::ERROR_LOCALIZED_NAME_INVALID => Some("ERROR_LOCALIZED_NAME_INVALID"),
2281 Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => {
2282 Some("ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING")
2283 }
2284 Self::ERROR_RUNTIME_UNAVAILABLE => Some("ERROR_RUNTIME_UNAVAILABLE"),
2285 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => {
2286 Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED")
2287 }
2288 Self::ERROR_PERMISSION_INSUFFICIENT => Some("ERROR_PERMISSION_INSUFFICIENT"),
2289 Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2290 Some("ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR")
2291 }
2292 Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => {
2293 Some("ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR")
2294 }
2295 Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2296 Some("ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT")
2297 }
2298 Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2299 Some("ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT")
2300 }
2301 Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2302 Some("ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT")
2303 }
2304 Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2305 Some("ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT")
2306 }
2307 Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2308 Some("ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT")
2309 }
2310 Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => {
2311 Some("ERROR_SCENE_COMPONENT_ID_INVALID_MSFT")
2312 }
2313 Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => {
2314 Some("ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT")
2315 }
2316 Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => {
2317 Some("ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT")
2318 }
2319 Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2320 Some("ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT")
2321 }
2322 Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2323 Some("ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT")
2324 }
2325 Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2326 Some("ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB")
2327 }
2328 Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => Some("ERROR_COLOR_SPACE_UNSUPPORTED_FB"),
2329 Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2330 Some("ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB")
2331 }
2332 Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2333 Some("ERROR_SPACE_COMPONENT_NOT_ENABLED_FB")
2334 }
2335 Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2336 Some("ERROR_SPACE_COMPONENT_STATUS_PENDING_FB")
2337 }
2338 Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2339 Some("ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB")
2340 }
2341 Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2342 Some("ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB")
2343 }
2344 Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => {
2345 Some("ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB")
2346 }
2347 Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2348 Some("ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB")
2349 }
2350 Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some("ERROR_NOT_PERMITTED_PASSTHROUGH_FB"),
2351 Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2352 Some("ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB")
2353 }
2354 Self::ERROR_UNKNOWN_PASSTHROUGH_FB => Some("ERROR_UNKNOWN_PASSTHROUGH_FB"),
2355 Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("ERROR_RENDER_MODEL_KEY_INVALID_FB"),
2356 Self::RENDER_MODEL_UNAVAILABLE_FB => Some("RENDER_MODEL_UNAVAILABLE_FB"),
2357 Self::ERROR_MARKER_NOT_TRACKED_VARJO => Some("ERROR_MARKER_NOT_TRACKED_VARJO"),
2358 Self::ERROR_MARKER_ID_INVALID_VARJO => Some("ERROR_MARKER_ID_INVALID_VARJO"),
2359 Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2360 Some("ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML")
2361 }
2362 Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2363 Some("ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML")
2364 }
2365 Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2366 Some("ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML")
2367 }
2368 Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => {
2369 Some("ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML")
2370 }
2371 Self::ERROR_MARKER_INVALID_ML => Some("ERROR_MARKER_INVALID_ML"),
2372 Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => {
2373 Some("ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML")
2374 }
2375 Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2376 Some("ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML")
2377 }
2378 Self::ERROR_LOCALIZATION_MAP_FAIL_ML => Some("ERROR_LOCALIZATION_MAP_FAIL_ML"),
2379 Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
2380 Some("ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML")
2381 }
2382 Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
2383 Some("ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML")
2384 }
2385 Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
2386 Some("ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML")
2387 }
2388 Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
2389 Some("ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML")
2390 }
2391 Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
2392 Some("ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML")
2393 }
2394 Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
2395 Some("ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML")
2396 }
2397 Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
2398 Some("ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML")
2399 }
2400 Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
2401 Some("ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML")
2402 }
2403 Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
2404 Some("ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML")
2405 }
2406 Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => {
2407 Some("ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT")
2408 }
2409 Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
2410 Some("ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT")
2411 }
2412 Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("SCENE_MARKER_DATA_NOT_STRING_MSFT"),
2413 Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
2414 Some("ERROR_SPACE_MAPPING_INSUFFICIENT_FB")
2415 }
2416 Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some("ERROR_SPACE_LOCALIZATION_FAILED_FB"),
2417 Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => Some("ERROR_SPACE_NETWORK_TIMEOUT_FB"),
2418 Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => {
2419 Some("ERROR_SPACE_NETWORK_REQUEST_FAILED_FB")
2420 }
2421 Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
2422 Some("ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB")
2423 }
2424 Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => {
2425 Some("ERROR_SPACE_INSUFFICIENT_RESOURCES_META")
2426 }
2427 Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => {
2428 Some("ERROR_SPACE_STORAGE_AT_CAPACITY_META")
2429 }
2430 Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => Some("ERROR_SPACE_INSUFFICIENT_VIEW_META"),
2431 Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => {
2432 Some("ERROR_SPACE_PERMISSION_INSUFFICIENT_META")
2433 }
2434 Self::ERROR_SPACE_RATE_LIMITED_META => Some("ERROR_SPACE_RATE_LIMITED_META"),
2435 Self::ERROR_SPACE_TOO_DARK_META => Some("ERROR_SPACE_TOO_DARK_META"),
2436 Self::ERROR_SPACE_TOO_BRIGHT_META => Some("ERROR_SPACE_TOO_BRIGHT_META"),
2437 Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
2438 Some("ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META")
2439 }
2440 Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
2441 Some("ENVIRONMENT_DEPTH_NOT_AVAILABLE_META")
2442 }
2443 Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("ERROR_RENDER_MODEL_ID_INVALID_EXT"),
2444 Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
2445 Some("ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT")
2446 }
2447 Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
2448 Some("ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT")
2449 }
2450 Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => {
2451 Some("ERROR_NOT_INTERACTION_RENDER_MODEL_EXT")
2452 }
2453 Self::ERROR_HINT_ALREADY_SET_QCOM => Some("ERROR_HINT_ALREADY_SET_QCOM"),
2454 Self::ERROR_NOT_AN_ANCHOR_HTC => Some("ERROR_NOT_AN_ANCHOR_HTC"),
2455 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("ERROR_SPATIAL_ENTITY_ID_INVALID_BD"),
2456 Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
2457 Some("ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD")
2458 }
2459 Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
2460 Some("ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD")
2461 }
2462 Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD"),
2463 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
2464 Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD")
2465 }
2466 Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
2467 Some("ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD")
2468 }
2469 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => {
2470 Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD")
2471 }
2472 Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
2473 Some("ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD")
2474 }
2475 Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
2476 Some("ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD")
2477 }
2478 Self::ERROR_SCENE_CAPTURE_FAILURE_BD => Some("ERROR_SCENE_CAPTURE_FAILURE_BD"),
2479 Self::ERROR_SPACE_NOT_LOCATABLE_EXT => Some("ERROR_SPACE_NOT_LOCATABLE_EXT"),
2480 Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
2481 Some("ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT")
2482 }
2483 Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
2484 Some("ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID")
2485 }
2486 Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
2487 Some("ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID")
2488 }
2489 Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => Some("ERROR_ANCHOR_ID_NOT_FOUND_ANDROID"),
2490 Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
2491 Some("ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID")
2492 }
2493 Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => Some("ERROR_ANCHOR_NOT_TRACKING_ANDROID"),
2494 Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
2495 Some("ERROR_PERSISTED_DATA_NOT_READY_ANDROID")
2496 }
2497 Self::ERROR_SERVICE_NOT_READY_ANDROID => Some("ERROR_SERVICE_NOT_READY_ANDROID"),
2498 Self::ERROR_FUTURE_PENDING_EXT => Some("ERROR_FUTURE_PENDING_EXT"),
2499 Self::ERROR_FUTURE_INVALID_EXT => Some("ERROR_FUTURE_INVALID_EXT"),
2500 Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
2501 Some("ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML")
2502 }
2503 Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
2504 Some("ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML")
2505 }
2506 Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
2507 Some("ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML")
2508 }
2509 Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => {
2510 Some("ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML")
2511 }
2512 Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
2513 Some("ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML")
2514 }
2515 Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
2516 Some("ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META")
2517 }
2518 Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
2519 Some("ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META")
2520 }
2521 Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
2522 Some("COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META")
2523 }
2524 Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
2525 Some("COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META")
2526 }
2527 Self::ERROR_SPACE_GROUP_NOT_FOUND_META => Some("ERROR_SPACE_GROUP_NOT_FOUND_META"),
2528 Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => {
2529 Some("ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID")
2530 }
2531 Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => {
2532 Some("ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT")
2533 }
2534 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => {
2535 Some("ERROR_SPATIAL_ENTITY_ID_INVALID_EXT")
2536 }
2537 Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => {
2538 Some("ERROR_SPATIAL_BUFFER_ID_INVALID_EXT")
2539 }
2540 Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => {
2541 Some("ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT")
2542 }
2543 Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
2544 Some("ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT")
2545 }
2546 Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
2547 Some("ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT")
2548 }
2549 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => {
2550 Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT")
2551 }
2552 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => {
2553 Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT")
2554 }
2555 _ => None,
2556 };
2557 fmt_enum(fmt, self.0, name)
2558 }
2559}
2560impl fmt::Display for Result {
2561 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2562 let reason = match *self {
2563 Self::SUCCESS => Some("function successfully completed"),
2564 Self::TIMEOUT_EXPIRED => {
2565 Some("the specified timeout time occurred before the operation could complete")
2566 }
2567 Self::SESSION_LOSS_PENDING => Some("the session will be lost soon"),
2568 Self::EVENT_UNAVAILABLE => Some("no event was available"),
2569 Self::SPACE_BOUNDS_UNAVAILABLE => {
2570 Some("the space's bounds are not known at the moment")
2571 }
2572 Self::SESSION_NOT_FOCUSED => Some("the session is not in the focused state"),
2573 Self::FRAME_DISCARDED => Some("a frame has been discarded from composition"),
2574 Self::ERROR_VALIDATION_FAILURE => Some("the function usage was invalid in some way"),
2575 Self::ERROR_RUNTIME_FAILURE => Some(
2576 "the runtime failed to handle the function in an unexpected way that is not covered by another error result",
2577 ),
2578 Self::ERROR_OUT_OF_MEMORY => Some("a memory allocation has failed"),
2579 Self::ERROR_API_VERSION_UNSUPPORTED => {
2580 Some("the runtime does not support the requested API version")
2581 }
2582 Self::ERROR_INITIALIZATION_FAILED => {
2583 Some("initialization of object could not be completed")
2584 }
2585 Self::ERROR_FUNCTION_UNSUPPORTED => {
2586 Some("the requested function was not found or is otherwise unsupported")
2587 }
2588 Self::ERROR_FEATURE_UNSUPPORTED => Some("the requested feature is not supported"),
2589 Self::ERROR_EXTENSION_NOT_PRESENT => Some("a requested extension is not supported"),
2590 Self::ERROR_LIMIT_REACHED => {
2591 Some("the runtime supports no more of the requested resource")
2592 }
2593 Self::ERROR_SIZE_INSUFFICIENT => Some("the supplied size was smaller than required"),
2594 Self::ERROR_HANDLE_INVALID => Some("a supplied object handle was invalid"),
2595 Self::ERROR_INSTANCE_LOST => Some(
2596 "the XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated",
2597 ),
2598 Self::ERROR_SESSION_RUNNING => Some("the session is already running"),
2599 Self::ERROR_SESSION_NOT_RUNNING => Some("the session is not yet running"),
2600 Self::ERROR_SESSION_LOST => Some(
2601 "the XrSession was lost. It will need to be destroyed and optionally recreated",
2602 ),
2603 Self::ERROR_SYSTEM_INVALID => Some("the provided XrSystemId was invalid"),
2604 Self::ERROR_PATH_INVALID => Some("the provided XrPath was not valid"),
2605 Self::ERROR_PATH_COUNT_EXCEEDED => {
2606 Some("the maximum number of supported semantic paths has been reached")
2607 }
2608 Self::ERROR_PATH_FORMAT_INVALID => {
2609 Some("the semantic path character format is invalid")
2610 }
2611 Self::ERROR_PATH_UNSUPPORTED => Some("the semantic path is unsupported"),
2612 Self::ERROR_LAYER_INVALID => Some("the layer was NULL or otherwise invalid"),
2613 Self::ERROR_LAYER_LIMIT_EXCEEDED => {
2614 Some("the number of specified layers is greater than the supported number")
2615 }
2616 Self::ERROR_SWAPCHAIN_RECT_INVALID => {
2617 Some("the image rect was negatively sized or otherwise invalid")
2618 }
2619 Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => {
2620 Some("the image format is not supported by the runtime or platform")
2621 }
2622 Self::ERROR_ACTION_TYPE_MISMATCH => {
2623 Some("the API used to retrieve an action's state does not match the action's type")
2624 }
2625 Self::ERROR_SESSION_NOT_READY => Some("the session is not in the ready state"),
2626 Self::ERROR_SESSION_NOT_STOPPING => Some("the session is not in the stopping state"),
2627 Self::ERROR_TIME_INVALID => {
2628 Some("the provided XrTime was zero, negative, or out of range")
2629 }
2630 Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => {
2631 Some("the specified reference space is not supported by the runtime or system")
2632 }
2633 Self::ERROR_FILE_ACCESS_ERROR => Some("the file could not be accessed"),
2634 Self::ERROR_FILE_CONTENTS_INVALID => Some("the file's contents were invalid"),
2635 Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some(
2636 "the specified form factor is not supported by the current runtime or platform",
2637 ),
2638 Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some(
2639 "the specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off",
2640 ),
2641 Self::ERROR_API_LAYER_NOT_PRESENT => {
2642 Some("a requested API layer is not present or could not be loaded")
2643 }
2644 Self::ERROR_CALL_ORDER_INVALID => {
2645 Some("the call was made without having made a previously required call")
2646 }
2647 Self::ERROR_GRAPHICS_DEVICE_INVALID => Some(
2648 "the given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements",
2649 ),
2650 Self::ERROR_POSE_INVALID => {
2651 Some("the supplied pose was invalid with respect to the requirements")
2652 }
2653 Self::ERROR_INDEX_OUT_OF_RANGE => {
2654 Some("the supplied index was outside the range of valid indices")
2655 }
2656 Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => Some(
2657 "the specified view configuration type is not supported by the runtime or platform",
2658 ),
2659 Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => Some(
2660 "the specified environment blend mode is not supported by the runtime or platform",
2661 ),
2662 Self::ERROR_NAME_DUPLICATED => {
2663 Some("the name provided was a duplicate of an already-existing resource")
2664 }
2665 Self::ERROR_NAME_INVALID => Some("the name provided was invalid"),
2666 Self::ERROR_ACTIONSET_NOT_ATTACHED => {
2667 Some("a referenced action set is not attached to the session")
2668 }
2669 Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => {
2670 Some("the session already has attached action sets")
2671 }
2672 Self::ERROR_LOCALIZED_NAME_DUPLICATED => {
2673 Some("the localized name provided was a duplicate of an already-existing resource")
2674 }
2675 Self::ERROR_LOCALIZED_NAME_INVALID => Some("the localized name provided was invalid"),
2676 Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => Some(
2677 "the xrGet*GraphicsRequirements call was not made before calling xrCreateSession",
2678 ),
2679 Self::ERROR_RUNTIME_UNAVAILABLE => {
2680 Some("the loader was unable to find or load a runtime")
2681 }
2682 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => Some(
2683 "one or more of the extensions being enabled has dependency on extensions that are not enabled",
2684 ),
2685 Self::ERROR_PERMISSION_INSUFFICIENT => Some(
2686 "insufficient permissions. This error is included for use by vendor extensions. The precise definition of `XR_ERROR_PERMISSION_INSUFFICIENT` and actions possible by the developer or user to resolve it can vary by platform, extension or function. The developer should refer to the documentation of the function that returned the error code and extension it was defined",
2687 ),
2688 Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2689 Some("xrSetAndroidApplicationThreadKHR failed as thread id is invalid")
2690 }
2691 Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => Some(
2692 "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority",
2693 ),
2694 Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2695 Some("spatial anchor could not be created at that location")
2696 }
2697 Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2698 Some("the secondary view configuration was not enabled when creating the session")
2699 }
2700 Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2701 Some("the controller model key is invalid")
2702 }
2703 Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2704 Some("the reprojection mode is not supported")
2705 }
2706 Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2707 Some("compute new scene not completed")
2708 }
2709 Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => Some("scene component id invalid"),
2710 Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => Some("scene component type mismatch"),
2711 Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => Some("scene mesh buffer id invalid"),
2712 Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2713 Some("scene compute feature incompatible")
2714 }
2715 Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2716 Some("scene compute consistency mismatch")
2717 }
2718 Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2719 Some("the display refresh rate is not supported by the platform")
2720 }
2721 Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => {
2722 Some("the color space is not supported by the runtime")
2723 }
2724 Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2725 Some("the component type is not supported for this space")
2726 }
2727 Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2728 Some("the required component is not enabled for this space")
2729 }
2730 Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2731 Some("a request to set the component's status is currently pending")
2732 }
2733 Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2734 Some("the component is already set to the requested value")
2735 }
2736 Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2737 Some("the object state is unexpected for the issued command")
2738 }
2739 Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => Some(
2740 "trying to create an MR feature when one was already created and only one instance is allowed",
2741 ),
2742 Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2743 Some("requested functionality requires a feature to be created first")
2744 }
2745 Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some(
2746 "requested functionality is not permitted - application is not allowed to perform the requested operation",
2747 ),
2748 Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2749 Some("there were insufficient resources available to perform an operation")
2750 }
2751 Self::ERROR_UNKNOWN_PASSTHROUGH_FB => {
2752 Some("unknown Passthrough error (no further details provided)")
2753 }
2754 Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("the model key is invalid"),
2755 Self::RENDER_MODEL_UNAVAILABLE_FB => Some("the model is unavailable"),
2756 Self::ERROR_MARKER_NOT_TRACKED_VARJO => {
2757 Some("marker tracking is disabled or the specified marker is not currently tracked")
2758 }
2759 Self::ERROR_MARKER_ID_INVALID_VARJO => Some("the specified marker ID is not valid"),
2760 Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2761 Some("the com.magicleap.permission.MARKER_TRACKING permission was denied")
2762 }
2763 Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2764 Some("the specified marker could not be located spatially")
2765 }
2766 Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2767 Some("the marker queried does not contain data of the requested type")
2768 }
2769 Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => Some(
2770 "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML",
2771 ),
2772 Self::ERROR_MARKER_INVALID_ML => {
2773 Some("the marker id passed to the function was invalid")
2774 }
2775 Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => Some(
2776 "the localization map being imported is not compatible with current OS or mode",
2777 ),
2778 Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2779 Some("the localization map requested is not available")
2780 }
2781 Self::ERROR_LOCALIZATION_MAP_FAIL_ML => {
2782 Some("the map localization service failed to fulfill the request, retry later")
2783 }
2784 Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
2785 Some("the com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied")
2786 }
2787 Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
2788 Some("the com.magicleap.permission.SPACE_MANAGER permission was denied")
2789 }
2790 Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
2791 Some("the map being imported already exists in the system")
2792 }
2793 Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
2794 Some("the map localization service cannot export cloud based maps")
2795 }
2796 Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
2797 Some("the com.magicleap.permission.SPATIAL_ANCHOR permission was not granted")
2798 }
2799 Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
2800 Some("operation failed because the system is not localized into a localization map")
2801 }
2802 Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
2803 Some("operation failed because it is performed outside of the localization map")
2804 }
2805 Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
2806 Some("operation failed because the space referenced cannot be located")
2807 }
2808 Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
2809 Some("the anchor references was not found")
2810 }
2811 Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => Some(
2812 "a spatial anchor was not found associated with the spatial anchor name provided",
2813 ),
2814 Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
2815 Some("the spatial anchor name provided was not valid")
2816 }
2817 Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("marker does not encode a string"),
2818 Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
2819 Some("anchor import from cloud or export from device failed")
2820 }
2821 Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some(
2822 "anchors were downloaded from the cloud but failed to be imported/aligned on the device",
2823 ),
2824 Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => {
2825 Some("timeout occurred while waiting for network request to complete")
2826 }
2827 Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => Some("the network request failed"),
2828 Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
2829 Some("cloud storage is required for this operation but is currently disabled")
2830 }
2831 Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => Some(
2832 "resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption",
2833 ),
2834 Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => Some(
2835 "operation could not be completed until resources used are reduced or storage expanded",
2836 ),
2837 Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => {
2838 Some("look around the environment more for space tracking to function")
2839 }
2840 Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => Some(
2841 "space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs",
2842 ),
2843 Self::ERROR_SPACE_RATE_LIMITED_META => Some(
2844 "operation cancelled due to rate limiting. Recommend retrying after a short delay",
2845 ),
2846 Self::ERROR_SPACE_TOO_DARK_META => {
2847 Some("environment too dark for tracking to complete operation")
2848 }
2849 Self::ERROR_SPACE_TOO_BRIGHT_META => {
2850 Some("environment too bright for tracking to complete operation")
2851 }
2852 Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
2853 Some("the provided data buffer did not match the required size")
2854 }
2855 Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
2856 Some("warning: The requested depth image is not yet available")
2857 }
2858 Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("the render model ID is invalid"),
2859 Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
2860 Some("the render model asset is unavailable")
2861 }
2862 Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
2863 Some("a glTF extension is required")
2864 }
2865 Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => Some(
2866 "the provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`",
2867 ),
2868 Self::ERROR_HINT_ALREADY_SET_QCOM => {
2869 Some("tracking optimization hint is already set for the domain")
2870 }
2871 Self::ERROR_NOT_AN_ANCHOR_HTC => Some("the provided space is valid but not an anchor"),
2872 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("the spatial entity id is invalid"),
2873 Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
2874 Some("the spatial sensing service is unavailable")
2875 }
2876 Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
2877 Some("the spatial entity does not support anchor")
2878 }
2879 Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("the spatial anchor is not found"),
2880 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
2881 Some("the network transmission timeout")
2882 }
2883 Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
2884 Some("the authentication for the user account failed")
2885 }
2886 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => Some(
2887 "the network connection failed, e.g. the connection is unstable or disconnected",
2888 ),
2889 Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
2890 Some("the spatial anchor localization failed")
2891 }
2892 Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
2893 Some("the feature points of spatial anchor map are insufficient")
2894 }
2895 Self::ERROR_SCENE_CAPTURE_FAILURE_BD => {
2896 Some("the scene capture is failed, for example exiting abnormally")
2897 }
2898 Self::ERROR_SPACE_NOT_LOCATABLE_EXT => {
2899 Some("the space passed to the function was not locatable")
2900 }
2901 Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
2902 Some("the permission for this resource was not granted")
2903 }
2904 Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
2905 Some("indicates that the parameters contains multiple trackable types")
2906 }
2907 Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
2908 Some("indicates that the function is not supported by the given trackable type")
2909 }
2910 Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => {
2911 Some("xrUuidExt passed to the function was not found to be a persisted anchor")
2912 }
2913 Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
2914 Some("xrUuidExt passed to the function was already marked to be persisted")
2915 }
2916 Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => {
2917 Some("aNchor cannot be persisted because it is not tracking")
2918 }
2919 Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
2920 Some("persisted data stored by this app has not been loaded yet")
2921 }
2922 Self::ERROR_SERVICE_NOT_READY_ANDROID => {
2923 Some("the underlying tracking service is not yet ready")
2924 }
2925 Self::ERROR_FUTURE_PENDING_EXT => {
2926 Some("returned by completion function to indicate future is not ready")
2927 }
2928 Self::ERROR_FUTURE_INVALID_EXT => {
2929 Some("returned by completion function to indicate future is not valid")
2930 }
2931 Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
2932 Some("the com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted")
2933 }
2934 Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
2935 Some("incompatible SKU detected")
2936 }
2937 Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
2938 Some("the world mesh detector permission was not granted")
2939 }
2940 Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => Some(
2941 "at the time of the call the runtime was unable to locate the space and cannot fulfill your request",
2942 ),
2943 Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
2944 Some("permission to track facial expressions was not granted")
2945 }
2946 Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
2947 Some("the network request failed")
2948 }
2949 Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
2950 Some("the runtime does not have any methods available to perform discovery")
2951 }
2952 Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
2953 Some("colocation advertisement has already been enabled")
2954 }
2955 Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
2956 Some("colocation discovery has already been enabled")
2957 }
2958 Self::ERROR_SPACE_GROUP_NOT_FOUND_META => {
2959 Some("the group UUID was not found within the runtime")
2960 }
2961 Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => Some(
2962 "operation not allowed because anchor is not owned by the XrSession in which the function is being called",
2963 ),
2964 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR => {
2965 Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR")
2966 }
2967 Self::ERROR_PERMISSION_INSUFFICIENT_KHR => Some("ERROR_PERMISSION_INSUFFICIENT_KHR"),
2968 Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => Some(
2969 "the specified spatial capability is not supported by the runtime or the system",
2970 ),
2971 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => Some(
2972 "the specified spatial entity id is invalid or an entity with that id does not exist in the environment",
2973 ),
2974 Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => Some(
2975 "the specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data",
2976 ),
2977 Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => Some(
2978 "the specified spatial component is not supported by the runtime or the system for the given capability",
2979 ),
2980 Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
2981 Some("the specified spatial capability configuration is invalid")
2982 }
2983 Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
2984 Some("the specified spatial component is not enabled for the spatial context")
2985 }
2986 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => Some(
2987 "the specified spatial persistence scope is not supported by the runtime or the system",
2988 ),
2989 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => Some(
2990 "the scope configured for the persistence context is incompatible for the current spatial entity",
2991 ),
2992 _ => None,
2993 };
2994 if let Some(reason) = reason {
2995 fmt.pad(reason)
2996 } else {
2997 write!(fmt, "unknown error (code {})", self.0)
2998 }
2999 }
3000}
3001impl std::error::Error for Result {}
3002#[doc = "Enums to track objects of various types - see [XrObjectType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectType)"]
3003#[repr(transparent)]
3004#[derive(Copy, Clone, Eq, PartialEq, Default)]
3005pub struct ObjectType(i32);
3006impl ObjectType {
3007 pub const UNKNOWN: ObjectType = Self(0i32);
3008 #[doc = "XrInstance"]
3009 pub const INSTANCE: ObjectType = Self(1i32);
3010 #[doc = "XrSession"]
3011 pub const SESSION: ObjectType = Self(2i32);
3012 #[doc = "XrSwapchain"]
3013 pub const SWAPCHAIN: ObjectType = Self(3i32);
3014 #[doc = "XrSpace"]
3015 pub const SPACE: ObjectType = Self(4i32);
3016 #[doc = "XrActionSet"]
3017 pub const ACTION_SET: ObjectType = Self(5i32);
3018 #[doc = "XrAction"]
3019 pub const ACTION: ObjectType = Self(6i32);
3020 #[doc = "XrDebugUtilsMessengerEXT"]
3021 pub const DEBUG_UTILS_MESSENGER_EXT: ObjectType = Self(1000019000i32);
3022 #[doc = "XrSpatialAnchorMSFT"]
3023 pub const SPATIAL_ANCHOR_MSFT: ObjectType = Self(1000039000i32);
3024 #[doc = "XrSpatialGraphNodeBindingMSFT"]
3025 pub const SPATIAL_GRAPH_NODE_BINDING_MSFT: ObjectType = Self(1000049000i32);
3026 #[doc = "XrHandTrackerEXT"]
3027 pub const HAND_TRACKER_EXT: ObjectType = Self(1000051000i32);
3028 #[doc = "XrBodyTrackerFB"]
3029 pub const BODY_TRACKER_FB: ObjectType = Self(1000076000i32);
3030 #[doc = "XrSceneObserverMSFT"]
3031 pub const SCENE_OBSERVER_MSFT: ObjectType = Self(1000097000i32);
3032 #[doc = "XrSceneMSFT"]
3033 pub const SCENE_MSFT: ObjectType = Self(1000097001i32);
3034 #[doc = "XrFacialTrackerHTC"]
3035 pub const FACIAL_TRACKER_HTC: ObjectType = Self(1000104000i32);
3036 #[doc = "XrFoveationProfileFB"]
3037 pub const FOVEATION_PROFILE_FB: ObjectType = Self(1000114000i32);
3038 #[doc = "XrTriangleMeshFB"]
3039 pub const TRIANGLE_MESH_FB: ObjectType = Self(1000117000i32);
3040 #[doc = "XrPassthroughFB"]
3041 pub const PASSTHROUGH_FB: ObjectType = Self(1000118000i32);
3042 #[doc = "XrPassthroughLayerFB"]
3043 pub const PASSTHROUGH_LAYER_FB: ObjectType = Self(1000118002i32);
3044 #[doc = "XrGeometryInstanceFB"]
3045 pub const GEOMETRY_INSTANCE_FB: ObjectType = Self(1000118004i32);
3046 #[doc = "XrMarkerDetectorML"]
3047 pub const MARKER_DETECTOR_ML: ObjectType = Self(1000138000i32);
3048 #[doc = "XrExportedLocalizationMapML"]
3049 pub const EXPORTED_LOCALIZATION_MAP_ML: ObjectType = Self(1000139000i32);
3050 #[doc = "XrSpatialAnchorsStorageML"]
3051 pub const SPATIAL_ANCHORS_STORAGE_ML: ObjectType = Self(1000141000i32);
3052 #[doc = "XrSpatialAnchorStoreConnectionMSFT"]
3053 pub const SPATIAL_ANCHOR_STORE_CONNECTION_MSFT: ObjectType = Self(1000142000i32);
3054 #[doc = "XrFaceTrackerFB"]
3055 pub const FACE_TRACKER_FB: ObjectType = Self(1000201000i32);
3056 #[doc = "XrEyeTrackerFB"]
3057 pub const EYE_TRACKER_FB: ObjectType = Self(1000202000i32);
3058 #[doc = "XrVirtualKeyboardMETA"]
3059 pub const VIRTUAL_KEYBOARD_META: ObjectType = Self(1000219000i32);
3060 #[doc = "XrSpaceUserFB"]
3061 pub const SPACE_USER_FB: ObjectType = Self(1000241000i32);
3062 #[doc = "XrPassthroughColorLutMETA"]
3063 pub const PASSTHROUGH_COLOR_LUT_META: ObjectType = Self(1000266000i32);
3064 #[doc = "XrFaceTracker2FB"]
3065 pub const FACE_TRACKER2_FB: ObjectType = Self(1000287012i32);
3066 #[doc = "XrEnvironmentDepthProviderMETA"]
3067 pub const ENVIRONMENT_DEPTH_PROVIDER_META: ObjectType = Self(1000291000i32);
3068 #[doc = "XrEnvironmentDepthSwapchainMETA"]
3069 pub const ENVIRONMENT_DEPTH_SWAPCHAIN_META: ObjectType = Self(1000291001i32);
3070 #[doc = "XrRenderModelEXT"]
3071 pub const RENDER_MODEL_EXT: ObjectType = Self(1000300000i32);
3072 #[doc = "XrRenderModelAssetEXT"]
3073 pub const RENDER_MODEL_ASSET_EXT: ObjectType = Self(1000300001i32);
3074 #[doc = "XrPassthroughHTC"]
3075 pub const PASSTHROUGH_HTC: ObjectType = Self(1000317000i32);
3076 #[doc = "XrBodyTrackerHTC"]
3077 pub const BODY_TRACKER_HTC: ObjectType = Self(1000320000i32);
3078 #[doc = "XrBodyTrackerBD"]
3079 pub const BODY_TRACKER_BD: ObjectType = Self(1000385000i32);
3080 #[doc = "XrFaceTrackerBD"]
3081 pub const FACE_TRACKER_BD: ObjectType = Self(1000386000i32);
3082 #[doc = "XrSenseDataProviderBD"]
3083 pub const SENSE_DATA_PROVIDER_BD: ObjectType = Self(1000389000i32);
3084 #[doc = "XrSenseDataSnapshotBD"]
3085 pub const SENSE_DATA_SNAPSHOT_BD: ObjectType = Self(1000389001i32);
3086 #[doc = "XrAnchorBD"]
3087 pub const ANCHOR_BD: ObjectType = Self(1000389002i32);
3088 #[doc = "XrPlaneDetectorEXT"]
3089 pub const PLANE_DETECTOR_EXT: ObjectType = Self(1000429000i32);
3090 #[doc = "XrTrackableTrackerANDROID"]
3091 pub const TRACKABLE_TRACKER_ANDROID: ObjectType = Self(1000455001i32);
3092 #[doc = "XrDeviceAnchorPersistenceANDROID"]
3093 pub const DEVICE_ANCHOR_PERSISTENCE_ANDROID: ObjectType = Self(1000457000i32);
3094 #[doc = "XrFaceTrackerANDROID"]
3095 pub const FACE_TRACKER_ANDROID: ObjectType = Self(1000458000i32);
3096 #[doc = "XrWorldMeshDetectorML"]
3097 pub const WORLD_MESH_DETECTOR_ML: ObjectType = Self(1000474000i32);
3098 #[doc = "XrFacialExpressionClientML"]
3099 pub const FACIAL_EXPRESSION_CLIENT_ML: ObjectType = Self(1000482000i32);
3100 #[doc = "XrSpatialEntityEXT"]
3101 pub const SPATIAL_ENTITY_EXT: ObjectType = Self(1000740000i32);
3102 #[doc = "XrSpatialContextEXT"]
3103 pub const SPATIAL_CONTEXT_EXT: ObjectType = Self(1000740001i32);
3104 #[doc = "XrSpatialSnapshotEXT"]
3105 pub const SPATIAL_SNAPSHOT_EXT: ObjectType = Self(1000740002i32);
3106 #[doc = "XrSpatialPersistenceContextEXT"]
3107 pub const SPATIAL_PERSISTENCE_CONTEXT_EXT: ObjectType = Self(1000763000i32);
3108 pub fn from_raw(x: i32) -> Self {
3109 Self(x)
3110 }
3111 pub fn into_raw(self) -> i32 {
3112 self.0
3113 }
3114}
3115impl fmt::Debug for ObjectType {
3116 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3117 let name = match *self {
3118 Self::UNKNOWN => Some("UNKNOWN"),
3119 Self::INSTANCE => Some("INSTANCE"),
3120 Self::SESSION => Some("SESSION"),
3121 Self::SWAPCHAIN => Some("SWAPCHAIN"),
3122 Self::SPACE => Some("SPACE"),
3123 Self::ACTION_SET => Some("ACTION_SET"),
3124 Self::ACTION => Some("ACTION"),
3125 Self::DEBUG_UTILS_MESSENGER_EXT => Some("DEBUG_UTILS_MESSENGER_EXT"),
3126 Self::SPATIAL_ANCHOR_MSFT => Some("SPATIAL_ANCHOR_MSFT"),
3127 Self::SPATIAL_GRAPH_NODE_BINDING_MSFT => Some("SPATIAL_GRAPH_NODE_BINDING_MSFT"),
3128 Self::HAND_TRACKER_EXT => Some("HAND_TRACKER_EXT"),
3129 Self::BODY_TRACKER_FB => Some("BODY_TRACKER_FB"),
3130 Self::SCENE_OBSERVER_MSFT => Some("SCENE_OBSERVER_MSFT"),
3131 Self::SCENE_MSFT => Some("SCENE_MSFT"),
3132 Self::FACIAL_TRACKER_HTC => Some("FACIAL_TRACKER_HTC"),
3133 Self::FOVEATION_PROFILE_FB => Some("FOVEATION_PROFILE_FB"),
3134 Self::TRIANGLE_MESH_FB => Some("TRIANGLE_MESH_FB"),
3135 Self::PASSTHROUGH_FB => Some("PASSTHROUGH_FB"),
3136 Self::PASSTHROUGH_LAYER_FB => Some("PASSTHROUGH_LAYER_FB"),
3137 Self::GEOMETRY_INSTANCE_FB => Some("GEOMETRY_INSTANCE_FB"),
3138 Self::MARKER_DETECTOR_ML => Some("MARKER_DETECTOR_ML"),
3139 Self::EXPORTED_LOCALIZATION_MAP_ML => Some("EXPORTED_LOCALIZATION_MAP_ML"),
3140 Self::SPATIAL_ANCHORS_STORAGE_ML => Some("SPATIAL_ANCHORS_STORAGE_ML"),
3141 Self::SPATIAL_ANCHOR_STORE_CONNECTION_MSFT => {
3142 Some("SPATIAL_ANCHOR_STORE_CONNECTION_MSFT")
3143 }
3144 Self::FACE_TRACKER_FB => Some("FACE_TRACKER_FB"),
3145 Self::EYE_TRACKER_FB => Some("EYE_TRACKER_FB"),
3146 Self::VIRTUAL_KEYBOARD_META => Some("VIRTUAL_KEYBOARD_META"),
3147 Self::SPACE_USER_FB => Some("SPACE_USER_FB"),
3148 Self::PASSTHROUGH_COLOR_LUT_META => Some("PASSTHROUGH_COLOR_LUT_META"),
3149 Self::FACE_TRACKER2_FB => Some("FACE_TRACKER2_FB"),
3150 Self::ENVIRONMENT_DEPTH_PROVIDER_META => Some("ENVIRONMENT_DEPTH_PROVIDER_META"),
3151 Self::ENVIRONMENT_DEPTH_SWAPCHAIN_META => Some("ENVIRONMENT_DEPTH_SWAPCHAIN_META"),
3152 Self::RENDER_MODEL_EXT => Some("RENDER_MODEL_EXT"),
3153 Self::RENDER_MODEL_ASSET_EXT => Some("RENDER_MODEL_ASSET_EXT"),
3154 Self::PASSTHROUGH_HTC => Some("PASSTHROUGH_HTC"),
3155 Self::BODY_TRACKER_HTC => Some("BODY_TRACKER_HTC"),
3156 Self::BODY_TRACKER_BD => Some("BODY_TRACKER_BD"),
3157 Self::FACE_TRACKER_BD => Some("FACE_TRACKER_BD"),
3158 Self::SENSE_DATA_PROVIDER_BD => Some("SENSE_DATA_PROVIDER_BD"),
3159 Self::SENSE_DATA_SNAPSHOT_BD => Some("SENSE_DATA_SNAPSHOT_BD"),
3160 Self::ANCHOR_BD => Some("ANCHOR_BD"),
3161 Self::PLANE_DETECTOR_EXT => Some("PLANE_DETECTOR_EXT"),
3162 Self::TRACKABLE_TRACKER_ANDROID => Some("TRACKABLE_TRACKER_ANDROID"),
3163 Self::DEVICE_ANCHOR_PERSISTENCE_ANDROID => Some("DEVICE_ANCHOR_PERSISTENCE_ANDROID"),
3164 Self::FACE_TRACKER_ANDROID => Some("FACE_TRACKER_ANDROID"),
3165 Self::WORLD_MESH_DETECTOR_ML => Some("WORLD_MESH_DETECTOR_ML"),
3166 Self::FACIAL_EXPRESSION_CLIENT_ML => Some("FACIAL_EXPRESSION_CLIENT_ML"),
3167 Self::SPATIAL_ENTITY_EXT => Some("SPATIAL_ENTITY_EXT"),
3168 Self::SPATIAL_CONTEXT_EXT => Some("SPATIAL_CONTEXT_EXT"),
3169 Self::SPATIAL_SNAPSHOT_EXT => Some("SPATIAL_SNAPSHOT_EXT"),
3170 Self::SPATIAL_PERSISTENCE_CONTEXT_EXT => Some("SPATIAL_PERSISTENCE_CONTEXT_EXT"),
3171 _ => None,
3172 };
3173 fmt_enum(fmt, self.0, name)
3174 }
3175}
3176#[doc = "Android Thread Types - see [XrAndroidThreadTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidThreadTypeKHR)"]
3177#[repr(transparent)]
3178#[derive(Copy, Clone, Eq, PartialEq)]
3179pub struct AndroidThreadTypeKHR(i32);
3180impl AndroidThreadTypeKHR {
3181 pub const APPLICATION_MAIN: AndroidThreadTypeKHR = Self(1i32);
3182 pub const APPLICATION_WORKER: AndroidThreadTypeKHR = Self(2i32);
3183 pub const RENDERER_MAIN: AndroidThreadTypeKHR = Self(3i32);
3184 pub const RENDERER_WORKER: AndroidThreadTypeKHR = Self(4i32);
3185 pub fn from_raw(x: i32) -> Self {
3186 Self(x)
3187 }
3188 pub fn into_raw(self) -> i32 {
3189 self.0
3190 }
3191}
3192impl fmt::Debug for AndroidThreadTypeKHR {
3193 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3194 let name = match *self {
3195 Self::APPLICATION_MAIN => Some("APPLICATION_MAIN"),
3196 Self::APPLICATION_WORKER => Some("APPLICATION_WORKER"),
3197 Self::RENDERER_MAIN => Some("RENDERER_MAIN"),
3198 Self::RENDERER_WORKER => Some("RENDERER_WORKER"),
3199 _ => None,
3200 };
3201 fmt_enum(fmt, self.0, name)
3202 }
3203}
3204#[doc = "eye visibility selector - see [XrEyeVisibility](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeVisibility)"]
3205#[repr(transparent)]
3206#[derive(Copy, Clone, Eq, PartialEq, Default)]
3207pub struct EyeVisibility(i32);
3208impl EyeVisibility {
3209 #[doc = "Display in both eyes."]
3210 pub const BOTH: EyeVisibility = Self(0i32);
3211 #[doc = "Display in the left eye only."]
3212 pub const LEFT: EyeVisibility = Self(1i32);
3213 #[doc = "Display in the right eye only."]
3214 pub const RIGHT: EyeVisibility = Self(2i32);
3215 pub fn from_raw(x: i32) -> Self {
3216 Self(x)
3217 }
3218 pub fn into_raw(self) -> i32 {
3219 self.0
3220 }
3221}
3222impl fmt::Debug for EyeVisibility {
3223 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3224 let name = match *self {
3225 Self::BOTH => Some("BOTH"),
3226 Self::LEFT => Some("LEFT"),
3227 Self::RIGHT => Some("RIGHT"),
3228 _ => None,
3229 };
3230 fmt_enum(fmt, self.0, name)
3231 }
3232}
3233#[doc = "See [XrActionType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionType)"]
3234#[repr(transparent)]
3235#[derive(Copy, Clone, Eq, PartialEq)]
3236pub struct ActionType(i32);
3237impl ActionType {
3238 pub const BOOLEAN_INPUT: ActionType = Self(1i32);
3239 pub const FLOAT_INPUT: ActionType = Self(2i32);
3240 pub const VECTOR2F_INPUT: ActionType = Self(3i32);
3241 pub const POSE_INPUT: ActionType = Self(4i32);
3242 pub const VIBRATION_OUTPUT: ActionType = Self(100i32);
3243 pub fn from_raw(x: i32) -> Self {
3244 Self(x)
3245 }
3246 pub fn into_raw(self) -> i32 {
3247 self.0
3248 }
3249}
3250impl fmt::Debug for ActionType {
3251 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3252 let name = match *self {
3253 Self::BOOLEAN_INPUT => Some("BOOLEAN_INPUT"),
3254 Self::FLOAT_INPUT => Some("FLOAT_INPUT"),
3255 Self::VECTOR2F_INPUT => Some("VECTOR2F_INPUT"),
3256 Self::POSE_INPUT => Some("POSE_INPUT"),
3257 Self::VIBRATION_OUTPUT => Some("VIBRATION_OUTPUT"),
3258 _ => None,
3259 };
3260 fmt_enum(fmt, self.0, name)
3261 }
3262}
3263#[doc = "See [XrReferenceSpaceType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceType)"]
3264#[repr(transparent)]
3265#[derive(Copy, Clone, Eq, PartialEq)]
3266pub struct ReferenceSpaceType(i32);
3267impl ReferenceSpaceType {
3268 pub const VIEW: ReferenceSpaceType = Self(1i32);
3269 pub const LOCAL: ReferenceSpaceType = Self(2i32);
3270 pub const STAGE: ReferenceSpaceType = Self(3i32);
3271 pub const LOCAL_FLOOR: ReferenceSpaceType = Self(1000426000i32);
3272 pub const UNBOUNDED_MSFT: ReferenceSpaceType = Self(1000038000i32);
3273 pub const COMBINED_EYE_VARJO: ReferenceSpaceType = Self(1000121000i32);
3274 pub const LOCALIZATION_MAP_ML: ReferenceSpaceType = Self(1000139000i32);
3275 pub const LOCAL_FLOOR_EXT: ReferenceSpaceType = Self::LOCAL_FLOOR;
3276 pub fn from_raw(x: i32) -> Self {
3277 Self(x)
3278 }
3279 pub fn into_raw(self) -> i32 {
3280 self.0
3281 }
3282}
3283impl fmt::Debug for ReferenceSpaceType {
3284 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3285 let name = match *self {
3286 Self::VIEW => Some("VIEW"),
3287 Self::LOCAL => Some("LOCAL"),
3288 Self::STAGE => Some("STAGE"),
3289 Self::LOCAL_FLOOR => Some("LOCAL_FLOOR"),
3290 Self::UNBOUNDED_MSFT => Some("UNBOUNDED_MSFT"),
3291 Self::COMBINED_EYE_VARJO => Some("COMBINED_EYE_VARJO"),
3292 Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
3293 _ => None,
3294 };
3295 fmt_enum(fmt, self.0, name)
3296 }
3297}
3298#[doc = "See [XrFormFactor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFormFactor)"]
3299#[repr(transparent)]
3300#[derive(Copy, Clone, Eq, PartialEq)]
3301pub struct FormFactor(i32);
3302impl FormFactor {
3303 pub const HEAD_MOUNTED_DISPLAY: FormFactor = Self(1i32);
3304 pub const HANDHELD_DISPLAY: FormFactor = Self(2i32);
3305 pub fn from_raw(x: i32) -> Self {
3306 Self(x)
3307 }
3308 pub fn into_raw(self) -> i32 {
3309 self.0
3310 }
3311}
3312impl fmt::Debug for FormFactor {
3313 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3314 let name = match *self {
3315 Self::HEAD_MOUNTED_DISPLAY => Some("HEAD_MOUNTED_DISPLAY"),
3316 Self::HANDHELD_DISPLAY => Some("HANDHELD_DISPLAY"),
3317 _ => None,
3318 };
3319 fmt_enum(fmt, self.0, name)
3320 }
3321}
3322#[doc = "See [XrViewConfigurationType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationType)"]
3323#[repr(transparent)]
3324#[derive(Copy, Clone, Eq, PartialEq)]
3325pub struct ViewConfigurationType(i32);
3326impl ViewConfigurationType {
3327 pub const PRIMARY_MONO: ViewConfigurationType = Self(1i32);
3328 pub const PRIMARY_STEREO: ViewConfigurationType = Self(2i32);
3329 pub const PRIMARY_STEREO_WITH_FOVEATED_INSET: ViewConfigurationType = Self(1000037000i32);
3330 pub const PRIMARY_QUAD_VARJO: ViewConfigurationType = Self::PRIMARY_STEREO_WITH_FOVEATED_INSET;
3331 pub const SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT: ViewConfigurationType =
3332 Self(1000054000i32);
3333 pub fn from_raw(x: i32) -> Self {
3334 Self(x)
3335 }
3336 pub fn into_raw(self) -> i32 {
3337 self.0
3338 }
3339}
3340impl fmt::Debug for ViewConfigurationType {
3341 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3342 let name = match *self {
3343 Self::PRIMARY_MONO => Some("PRIMARY_MONO"),
3344 Self::PRIMARY_STEREO => Some("PRIMARY_STEREO"),
3345 Self::PRIMARY_STEREO_WITH_FOVEATED_INSET => Some("PRIMARY_STEREO_WITH_FOVEATED_INSET"),
3346 Self::SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT => {
3347 Some("SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT")
3348 }
3349 _ => None,
3350 };
3351 fmt_enum(fmt, self.0, name)
3352 }
3353}
3354#[doc = "See [XrEnvironmentBlendMode](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentBlendMode)"]
3355#[repr(transparent)]
3356#[derive(Copy, Clone, Eq, PartialEq)]
3357pub struct EnvironmentBlendMode(i32);
3358impl EnvironmentBlendMode {
3359 pub const OPAQUE: EnvironmentBlendMode = Self(1i32);
3360 pub const ADDITIVE: EnvironmentBlendMode = Self(2i32);
3361 pub const ALPHA_BLEND: EnvironmentBlendMode = Self(3i32);
3362 pub fn from_raw(x: i32) -> Self {
3363 Self(x)
3364 }
3365 pub fn into_raw(self) -> i32 {
3366 self.0
3367 }
3368}
3369impl fmt::Debug for EnvironmentBlendMode {
3370 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3371 let name = match *self {
3372 Self::OPAQUE => Some("OPAQUE"),
3373 Self::ADDITIVE => Some("ADDITIVE"),
3374 Self::ALPHA_BLEND => Some("ALPHA_BLEND"),
3375 _ => None,
3376 };
3377 fmt_enum(fmt, self.0, name)
3378 }
3379}
3380#[doc = "See [XrSessionState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionState)"]
3381#[repr(transparent)]
3382#[derive(Copy, Clone, Eq, PartialEq, Default)]
3383pub struct SessionState(i32);
3384impl SessionState {
3385 pub const UNKNOWN: SessionState = Self(0i32);
3386 pub const IDLE: SessionState = Self(1i32);
3387 pub const READY: SessionState = Self(2i32);
3388 pub const SYNCHRONIZED: SessionState = Self(3i32);
3389 pub const VISIBLE: SessionState = Self(4i32);
3390 pub const FOCUSED: SessionState = Self(5i32);
3391 pub const STOPPING: SessionState = Self(6i32);
3392 pub const LOSS_PENDING: SessionState = Self(7i32);
3393 pub const EXITING: SessionState = Self(8i32);
3394 pub fn from_raw(x: i32) -> Self {
3395 Self(x)
3396 }
3397 pub fn into_raw(self) -> i32 {
3398 self.0
3399 }
3400}
3401impl fmt::Debug for SessionState {
3402 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3403 let name = match *self {
3404 Self::UNKNOWN => Some("UNKNOWN"),
3405 Self::IDLE => Some("IDLE"),
3406 Self::READY => Some("READY"),
3407 Self::SYNCHRONIZED => Some("SYNCHRONIZED"),
3408 Self::VISIBLE => Some("VISIBLE"),
3409 Self::FOCUSED => Some("FOCUSED"),
3410 Self::STOPPING => Some("STOPPING"),
3411 Self::LOSS_PENDING => Some("LOSS_PENDING"),
3412 Self::EXITING => Some("EXITING"),
3413 _ => None,
3414 };
3415 fmt_enum(fmt, self.0, name)
3416 }
3417}
3418#[doc = "See [XrPerfSettingsDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsDomainEXT)"]
3419#[repr(transparent)]
3420#[derive(Copy, Clone, Eq, PartialEq)]
3421pub struct PerfSettingsDomainEXT(i32);
3422impl PerfSettingsDomainEXT {
3423 #[doc = "Indicates that the performance settings or notification applies to CPU domain"]
3424 pub const CPU: PerfSettingsDomainEXT = Self(1i32);
3425 #[doc = "Indicates that the performance settings or notification applies to GPU domain"]
3426 pub const GPU: PerfSettingsDomainEXT = Self(2i32);
3427 pub fn from_raw(x: i32) -> Self {
3428 Self(x)
3429 }
3430 pub fn into_raw(self) -> i32 {
3431 self.0
3432 }
3433}
3434impl fmt::Debug for PerfSettingsDomainEXT {
3435 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3436 let name = match *self {
3437 Self::CPU => Some("CPU"),
3438 Self::GPU => Some("GPU"),
3439 _ => None,
3440 };
3441 fmt_enum(fmt, self.0, name)
3442 }
3443}
3444#[doc = "See [XrPerfSettingsSubDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsSubDomainEXT)"]
3445#[repr(transparent)]
3446#[derive(Copy, Clone, Eq, PartialEq)]
3447pub struct PerfSettingsSubDomainEXT(i32);
3448impl PerfSettingsSubDomainEXT {
3449 #[doc = "Indicates that the performance notification originates from the COMPOSITING sub-domain"]
3450 pub const COMPOSITING: PerfSettingsSubDomainEXT = Self(1i32);
3451 #[doc = "Indicates that the performance notification originates from the RENDERING sub-domain"]
3452 pub const RENDERING: PerfSettingsSubDomainEXT = Self(2i32);
3453 #[doc = "Indicates that the performance notification originates from the THERMAL sub-domain"]
3454 pub const THERMAL: PerfSettingsSubDomainEXT = Self(3i32);
3455 pub fn from_raw(x: i32) -> Self {
3456 Self(x)
3457 }
3458 pub fn into_raw(self) -> i32 {
3459 self.0
3460 }
3461}
3462impl fmt::Debug for PerfSettingsSubDomainEXT {
3463 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3464 let name = match *self {
3465 Self::COMPOSITING => Some("COMPOSITING"),
3466 Self::RENDERING => Some("RENDERING"),
3467 Self::THERMAL => Some("THERMAL"),
3468 _ => None,
3469 };
3470 fmt_enum(fmt, self.0, name)
3471 }
3472}
3473#[doc = "See [XrPerfSettingsLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsLevelEXT)"]
3474#[repr(transparent)]
3475#[derive(Copy, Clone, Eq, PartialEq, Default)]
3476pub struct PerfSettingsLevelEXT(i32);
3477impl PerfSettingsLevelEXT {
3478 #[doc = "Performance settings hint used by the application to indicate that it enters a non-XR section (head-locked / static screen), during which power savings are to be prioritized"]
3479 pub const POWER_SAVINGS: PerfSettingsLevelEXT = Self(0i32);
3480 #[doc = "Performance settings hint used by the application to indicate that it enters a low and stable complexity section, during which reducing power is more important than occasional late rendering frames"]
3481 pub const SUSTAINED_LOW: PerfSettingsLevelEXT = Self(25i32);
3482 #[doc = "Performance settings hint used by the application to indicate that it enters a high or dynamic complexity section, during which the XR Runtime strives for consistent XR compositing and frame rendering within a thermally sustainable range"]
3483 pub const SUSTAINED_HIGH: PerfSettingsLevelEXT = Self(50i32);
3484 #[doc = "Performance settings hint used by the application to indicate that the application enters a section with very high complexity, during which the XR Runtime is allowed to step up beyond the thermally sustainable range"]
3485 pub const BOOST: PerfSettingsLevelEXT = Self(75i32);
3486 pub fn from_raw(x: i32) -> Self {
3487 Self(x)
3488 }
3489 pub fn into_raw(self) -> i32 {
3490 self.0
3491 }
3492}
3493impl fmt::Debug for PerfSettingsLevelEXT {
3494 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3495 let name = match *self {
3496 Self::POWER_SAVINGS => Some("POWER_SAVINGS"),
3497 Self::SUSTAINED_LOW => Some("SUSTAINED_LOW"),
3498 Self::SUSTAINED_HIGH => Some("SUSTAINED_HIGH"),
3499 Self::BOOST => Some("BOOST"),
3500 _ => None,
3501 };
3502 fmt_enum(fmt, self.0, name)
3503 }
3504}
3505#[doc = "See [XrPerfSettingsNotificationLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsNotificationLevelEXT)"]
3506#[repr(transparent)]
3507#[derive(Copy, Clone, Eq, PartialEq, Default)]
3508pub struct PerfSettingsNotificationLevelEXT(i32);
3509impl PerfSettingsNotificationLevelEXT {
3510 #[doc = "Notifies that the sub-domain has reached a level where no further actions other than currently applied are necessary"]
3511 pub const NORMAL: PerfSettingsNotificationLevelEXT = Self(0i32);
3512 #[doc = "Notifies that the sub-domain has reached an early warning level where the application should start proactive mitigation actions with the goal to return to the XR_PERF_NOTIF_LEVEL_NORMAL level"]
3513 pub const WARNING: PerfSettingsNotificationLevelEXT = Self(25i32);
3514 #[doc = "Notifies that the sub-domain has reached a critical level with significant performance degradation. The application should take drastic mitigation action"]
3515 pub const IMPAIRED: PerfSettingsNotificationLevelEXT = Self(75i32);
3516 pub fn from_raw(x: i32) -> Self {
3517 Self(x)
3518 }
3519 pub fn into_raw(self) -> i32 {
3520 self.0
3521 }
3522}
3523impl fmt::Debug for PerfSettingsNotificationLevelEXT {
3524 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3525 let name = match *self {
3526 Self::NORMAL => Some("NORMAL"),
3527 Self::WARNING => Some("WARNING"),
3528 Self::IMPAIRED => Some("IMPAIRED"),
3529 _ => None,
3530 };
3531 fmt_enum(fmt, self.0, name)
3532 }
3533}
3534#[doc = "See [XrVisibilityMaskTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVisibilityMaskTypeKHR)"]
3535#[repr(transparent)]
3536#[derive(Copy, Clone, Eq, PartialEq)]
3537pub struct VisibilityMaskTypeKHR(i32);
3538impl VisibilityMaskTypeKHR {
3539 #[doc = "exclusive mesh; indicates that which the viewer cannot see."]
3540 pub const HIDDEN_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(1i32);
3541 #[doc = "inclusive mesh; indicates strictly that which the viewer can see."]
3542 pub const VISIBLE_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(2i32);
3543 #[doc = "line loop; traces the outline of the area the viewer can see."]
3544 pub const LINE_LOOP: VisibilityMaskTypeKHR = Self(3i32);
3545 pub fn from_raw(x: i32) -> Self {
3546 Self(x)
3547 }
3548 pub fn into_raw(self) -> i32 {
3549 self.0
3550 }
3551}
3552impl fmt::Debug for VisibilityMaskTypeKHR {
3553 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3554 let name = match *self {
3555 Self::HIDDEN_TRIANGLE_MESH => Some("HIDDEN_TRIANGLE_MESH"),
3556 Self::VISIBLE_TRIANGLE_MESH => Some("VISIBLE_TRIANGLE_MESH"),
3557 Self::LINE_LOOP => Some("LINE_LOOP"),
3558 _ => None,
3559 };
3560 fmt_enum(fmt, self.0, name)
3561 }
3562}
3563#[doc = "See [XrSpatialGraphNodeTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeTypeMSFT)"]
3564#[repr(transparent)]
3565#[derive(Copy, Clone, Eq, PartialEq)]
3566pub struct SpatialGraphNodeTypeMSFT(i32);
3567impl SpatialGraphNodeTypeMSFT {
3568 pub const STATIC: SpatialGraphNodeTypeMSFT = Self(1i32);
3569 pub const DYNAMIC: SpatialGraphNodeTypeMSFT = Self(2i32);
3570 pub fn from_raw(x: i32) -> Self {
3571 Self(x)
3572 }
3573 pub fn into_raw(self) -> i32 {
3574 self.0
3575 }
3576}
3577impl fmt::Debug for SpatialGraphNodeTypeMSFT {
3578 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3579 let name = match *self {
3580 Self::STATIC => Some("STATIC"),
3581 Self::DYNAMIC => Some("DYNAMIC"),
3582 _ => None,
3583 };
3584 fmt_enum(fmt, self.0, name)
3585 }
3586}
3587#[doc = "See [XrBlendFactorFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBlendFactorFB)"]
3588#[repr(transparent)]
3589#[derive(Copy, Clone, Eq, PartialEq, Default)]
3590pub struct BlendFactorFB(i32);
3591impl BlendFactorFB {
3592 pub const ZERO: BlendFactorFB = Self(0i32);
3593 pub const ONE: BlendFactorFB = Self(1i32);
3594 pub const SRC_ALPHA: BlendFactorFB = Self(2i32);
3595 pub const ONE_MINUS_SRC_ALPHA: BlendFactorFB = Self(3i32);
3596 pub const DST_ALPHA: BlendFactorFB = Self(4i32);
3597 pub const ONE_MINUS_DST_ALPHA: BlendFactorFB = Self(5i32);
3598 pub fn from_raw(x: i32) -> Self {
3599 Self(x)
3600 }
3601 pub fn into_raw(self) -> i32 {
3602 self.0
3603 }
3604}
3605impl fmt::Debug for BlendFactorFB {
3606 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3607 let name = match *self {
3608 Self::ZERO => Some("ZERO"),
3609 Self::ONE => Some("ONE"),
3610 Self::SRC_ALPHA => Some("SRC_ALPHA"),
3611 Self::ONE_MINUS_SRC_ALPHA => Some("ONE_MINUS_SRC_ALPHA"),
3612 Self::DST_ALPHA => Some("DST_ALPHA"),
3613 Self::ONE_MINUS_DST_ALPHA => Some("ONE_MINUS_DST_ALPHA"),
3614 _ => None,
3615 };
3616 fmt_enum(fmt, self.0, name)
3617 }
3618}
3619#[doc = "See [XrSpaceComponentTypeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentTypeFB)"]
3620#[repr(transparent)]
3621#[derive(Copy, Clone, Eq, PartialEq, Default)]
3622pub struct SpaceComponentTypeFB(i32);
3623impl SpaceComponentTypeFB {
3624 #[doc = "Enables tracking the 6 DOF pose of the XrSpace with xrLocateSpace."]
3625 pub const LOCATABLE: SpaceComponentTypeFB = Self(0i32);
3626 #[doc = "Enables persistence operations: save and erase."]
3627 pub const STORABLE: SpaceComponentTypeFB = Self(1i32);
3628 #[doc = "Enables sharing of spatial entities."]
3629 pub const SHARABLE: SpaceComponentTypeFB = Self(2i32);
3630 #[doc = "Bounded 2D component."]
3631 pub const BOUNDED_2D: SpaceComponentTypeFB = Self(3i32);
3632 #[doc = "Bounded 3D component."]
3633 pub const BOUNDED_3D: SpaceComponentTypeFB = Self(4i32);
3634 #[doc = "Semantic labels component."]
3635 pub const SEMANTIC_LABELS: SpaceComponentTypeFB = Self(5i32);
3636 #[doc = "Room layout component."]
3637 pub const ROOM_LAYOUT: SpaceComponentTypeFB = Self(6i32);
3638 #[doc = "Space container component."]
3639 pub const SPACE_CONTAINER: SpaceComponentTypeFB = Self(7i32);
3640 #[doc = "Triangle mesh component."]
3641 pub const TRIANGLE_MESH_M: SpaceComponentTypeFB = Self(1000269000i32);
3642 pub fn from_raw(x: i32) -> Self {
3643 Self(x)
3644 }
3645 pub fn into_raw(self) -> i32 {
3646 self.0
3647 }
3648}
3649impl fmt::Debug for SpaceComponentTypeFB {
3650 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3651 let name = match *self {
3652 Self::LOCATABLE => Some("LOCATABLE"),
3653 Self::STORABLE => Some("STORABLE"),
3654 Self::SHARABLE => Some("SHARABLE"),
3655 Self::BOUNDED_2D => Some("BOUNDED_2D"),
3656 Self::BOUNDED_3D => Some("BOUNDED_3D"),
3657 Self::SEMANTIC_LABELS => Some("SEMANTIC_LABELS"),
3658 Self::ROOM_LAYOUT => Some("ROOM_LAYOUT"),
3659 Self::SPACE_CONTAINER => Some("SPACE_CONTAINER"),
3660 Self::TRIANGLE_MESH_M => Some("TRIANGLE_MESH_M"),
3661 _ => None,
3662 };
3663 fmt_enum(fmt, self.0, name)
3664 }
3665}
3666#[doc = "See [XrWindingOrderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWindingOrderFB)"]
3667#[repr(transparent)]
3668#[derive(Copy, Clone, Eq, PartialEq, Default)]
3669pub struct WindingOrderFB(i32);
3670impl WindingOrderFB {
3671 #[doc = "Winding order is unknown and the runtime cannot make any assumptions on the triangle orientation"]
3672 pub const UNKNOWN: WindingOrderFB = Self(0i32);
3673 #[doc = "Clockwise winding order"]
3674 pub const CW: WindingOrderFB = Self(1i32);
3675 #[doc = "Counter-clockwise winding order"]
3676 pub const CCW: WindingOrderFB = Self(2i32);
3677 pub fn from_raw(x: i32) -> Self {
3678 Self(x)
3679 }
3680 pub fn into_raw(self) -> i32 {
3681 self.0
3682 }
3683}
3684impl fmt::Debug for WindingOrderFB {
3685 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3686 let name = match *self {
3687 Self::UNKNOWN => Some("UNKNOWN"),
3688 Self::CW => Some("CW"),
3689 Self::CCW => Some("CCW"),
3690 _ => None,
3691 };
3692 fmt_enum(fmt, self.0, name)
3693 }
3694}
3695#[doc = "See [XrPassthroughLayerPurposeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerPurposeFB)"]
3696#[repr(transparent)]
3697#[derive(Copy, Clone, Eq, PartialEq, Default)]
3698pub struct PassthroughLayerPurposeFB(i32);
3699impl PassthroughLayerPurposeFB {
3700 #[doc = "Reconstruction passthrough (full screen environment)"]
3701 pub const RECONSTRUCTION: PassthroughLayerPurposeFB = Self(0i32);
3702 #[doc = "Projected passthrough (using a custom surface)"]
3703 pub const PROJECTED: PassthroughLayerPurposeFB = Self(1i32);
3704 #[doc = "Passthrough layer purpose for keyboard hands presence."]
3705 pub const TRACKED_KEYBOARD_HANDS: PassthroughLayerPurposeFB = Self(1000203001i32);
3706 #[doc = "Passthrough layer purpose for keyboard hands presence with keyboard masked hand transitions (i.e passthrough hands rendered only when they are over the keyboard)."]
3707 pub const TRACKED_KEYBOARD_MASKED_HANDS: PassthroughLayerPurposeFB = Self(1000203002i32);
3708 pub fn from_raw(x: i32) -> Self {
3709 Self(x)
3710 }
3711 pub fn into_raw(self) -> i32 {
3712 self.0
3713 }
3714}
3715impl fmt::Debug for PassthroughLayerPurposeFB {
3716 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3717 let name = match *self {
3718 Self::RECONSTRUCTION => Some("RECONSTRUCTION"),
3719 Self::PROJECTED => Some("PROJECTED"),
3720 Self::TRACKED_KEYBOARD_HANDS => Some("TRACKED_KEYBOARD_HANDS"),
3721 Self::TRACKED_KEYBOARD_MASKED_HANDS => Some("TRACKED_KEYBOARD_MASKED_HANDS"),
3722 _ => None,
3723 };
3724 fmt_enum(fmt, self.0, name)
3725 }
3726}
3727#[doc = "See [XrSpaceQueryActionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryActionFB)"]
3728#[repr(transparent)]
3729#[derive(Copy, Clone, Eq, PartialEq, Default)]
3730pub struct SpaceQueryActionFB(i32);
3731impl SpaceQueryActionFB {
3732 #[doc = "Tells the query to perform a load operation on any XrSpace returned by the query."]
3733 pub const LOAD: SpaceQueryActionFB = Self(0i32);
3734 pub fn from_raw(x: i32) -> Self {
3735 Self(x)
3736 }
3737 pub fn into_raw(self) -> i32 {
3738 self.0
3739 }
3740}
3741impl fmt::Debug for SpaceQueryActionFB {
3742 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3743 let name = match *self {
3744 Self::LOAD => Some("LOAD"),
3745 _ => None,
3746 };
3747 fmt_enum(fmt, self.0, name)
3748 }
3749}
3750#[doc = "See [XrSpaceStorageLocationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceStorageLocationFB)"]
3751#[repr(transparent)]
3752#[derive(Copy, Clone, Eq, PartialEq, Default)]
3753pub struct SpaceStorageLocationFB(i32);
3754impl SpaceStorageLocationFB {
3755 #[doc = "Invalid storage location"]
3756 pub const INVALID: SpaceStorageLocationFB = Self(0i32);
3757 #[doc = "Local device storage"]
3758 pub const LOCAL: SpaceStorageLocationFB = Self(1i32);
3759 #[doc = "Cloud storage"]
3760 pub const CLOUD: SpaceStorageLocationFB = Self(2i32);
3761 pub fn from_raw(x: i32) -> Self {
3762 Self(x)
3763 }
3764 pub fn into_raw(self) -> i32 {
3765 self.0
3766 }
3767}
3768impl fmt::Debug for SpaceStorageLocationFB {
3769 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3770 let name = match *self {
3771 Self::INVALID => Some("INVALID"),
3772 Self::LOCAL => Some("LOCAL"),
3773 Self::CLOUD => Some("CLOUD"),
3774 _ => None,
3775 };
3776 fmt_enum(fmt, self.0, name)
3777 }
3778}
3779#[doc = "See [XrSpacePersistenceModeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacePersistenceModeFB)"]
3780#[repr(transparent)]
3781#[derive(Copy, Clone, Eq, PartialEq, Default)]
3782pub struct SpacePersistenceModeFB(i32);
3783impl SpacePersistenceModeFB {
3784 #[doc = "Invalid storage persistence"]
3785 pub const INVALID: SpacePersistenceModeFB = Self(0i32);
3786 #[doc = "Store XrSpace indefinitely, or until erased"]
3787 pub const INDEFINITE: SpacePersistenceModeFB = Self(1i32);
3788 pub fn from_raw(x: i32) -> Self {
3789 Self(x)
3790 }
3791 pub fn into_raw(self) -> i32 {
3792 self.0
3793 }
3794}
3795impl fmt::Debug for SpacePersistenceModeFB {
3796 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3797 let name = match *self {
3798 Self::INVALID => Some("INVALID"),
3799 Self::INDEFINITE => Some("INDEFINITE"),
3800 _ => None,
3801 };
3802 fmt_enum(fmt, self.0, name)
3803 }
3804}
3805#[doc = "See [XrExternalCameraAttachedToDeviceOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraAttachedToDeviceOCULUS)"]
3806#[repr(transparent)]
3807#[derive(Copy, Clone, Eq, PartialEq, Default)]
3808pub struct ExternalCameraAttachedToDeviceOCULUS(i32);
3809impl ExternalCameraAttachedToDeviceOCULUS {
3810 #[doc = "External camera is at a fixed point in LOCAL space"]
3811 pub const NONE: ExternalCameraAttachedToDeviceOCULUS = Self(0i32);
3812 #[doc = "External camera is attached to the HMD"]
3813 pub const HMD: ExternalCameraAttachedToDeviceOCULUS = Self(1i32);
3814 #[doc = "External camera is attached to a left Touch controller"]
3815 pub const LTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(2i32);
3816 #[doc = "External camera is attached to a right Touch controller"]
3817 pub const RTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(3i32);
3818 pub fn from_raw(x: i32) -> Self {
3819 Self(x)
3820 }
3821 pub fn into_raw(self) -> i32 {
3822 self.0
3823 }
3824}
3825impl fmt::Debug for ExternalCameraAttachedToDeviceOCULUS {
3826 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3827 let name = match *self {
3828 Self::NONE => Some("NONE"),
3829 Self::HMD => Some("HMD"),
3830 Self::LTOUCH => Some("LTOUCH"),
3831 Self::RTOUCH => Some("RTOUCH"),
3832 _ => None,
3833 };
3834 fmt_enum(fmt, self.0, name)
3835 }
3836}
3837#[doc = "See [XrPassthroughColorLutChannelsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutChannelsMETA)"]
3838#[repr(transparent)]
3839#[derive(Copy, Clone, Eq, PartialEq)]
3840pub struct PassthroughColorLutChannelsMETA(i32);
3841impl PassthroughColorLutChannelsMETA {
3842 pub const RGB: PassthroughColorLutChannelsMETA = Self(1i32);
3843 pub const RGBA: PassthroughColorLutChannelsMETA = Self(2i32);
3844 pub fn from_raw(x: i32) -> Self {
3845 Self(x)
3846 }
3847 pub fn into_raw(self) -> i32 {
3848 self.0
3849 }
3850}
3851impl fmt::Debug for PassthroughColorLutChannelsMETA {
3852 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3853 let name = match *self {
3854 Self::RGB => Some("RGB"),
3855 Self::RGBA => Some("RGBA"),
3856 _ => None,
3857 };
3858 fmt_enum(fmt, self.0, name)
3859 }
3860}
3861#[doc = "See [XrPerformanceMetricsCounterUnitMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterUnitMETA)"]
3862#[repr(transparent)]
3863#[derive(Copy, Clone, Eq, PartialEq, Default)]
3864pub struct PerformanceMetricsCounterUnitMETA(i32);
3865impl PerformanceMetricsCounterUnitMETA {
3866 #[doc = "the performance counter unit is generic (unspecified)."]
3867 pub const GENERIC: PerformanceMetricsCounterUnitMETA = Self(0i32);
3868 #[doc = "the performance counter unit is percentage (%)."]
3869 pub const PERCENTAGE: PerformanceMetricsCounterUnitMETA = Self(1i32);
3870 #[doc = "the performance counter unit is millisecond."]
3871 pub const MILLISECONDS: PerformanceMetricsCounterUnitMETA = Self(2i32);
3872 #[doc = "the performance counter unit is byte."]
3873 pub const BYTES: PerformanceMetricsCounterUnitMETA = Self(3i32);
3874 #[doc = "the performance counter unit is hertz (Hz)."]
3875 pub const HERTZ: PerformanceMetricsCounterUnitMETA = Self(4i32);
3876 pub fn from_raw(x: i32) -> Self {
3877 Self(x)
3878 }
3879 pub fn into_raw(self) -> i32 {
3880 self.0
3881 }
3882}
3883impl fmt::Debug for PerformanceMetricsCounterUnitMETA {
3884 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3885 let name = match *self {
3886 Self::GENERIC => Some("GENERIC"),
3887 Self::PERCENTAGE => Some("PERCENTAGE"),
3888 Self::MILLISECONDS => Some("MILLISECONDS"),
3889 Self::BYTES => Some("BYTES"),
3890 Self::HERTZ => Some("HERTZ"),
3891 _ => None,
3892 };
3893 fmt_enum(fmt, self.0, name)
3894 }
3895}
3896#[doc = "See [XrFacialTrackingTypeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackingTypeHTC)"]
3897#[repr(transparent)]
3898#[derive(Copy, Clone, Eq, PartialEq)]
3899pub struct FacialTrackingTypeHTC(i32);
3900impl FacialTrackingTypeHTC {
3901 #[doc = "Specifies this handle will observe eye expressions, with values indexed by XrEyeExpressionHTC whose count is XR_FACIAL_EXPRESSION_EYE_COUNT_HTC."]
3902 pub const EYE_DEFAULT: FacialTrackingTypeHTC = Self(1i32);
3903 #[doc = "Specifies this handle will observe lip expressions, with values indexed by XrLipExpressionHTC whose count is XR_FACIAL_EXPRESSION_LIP_COUNT_HTC."]
3904 pub const LIP_DEFAULT: FacialTrackingTypeHTC = Self(2i32);
3905 pub fn from_raw(x: i32) -> Self {
3906 Self(x)
3907 }
3908 pub fn into_raw(self) -> i32 {
3909 self.0
3910 }
3911}
3912impl fmt::Debug for FacialTrackingTypeHTC {
3913 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3914 let name = match *self {
3915 Self::EYE_DEFAULT => Some("EYE_DEFAULT"),
3916 Self::LIP_DEFAULT => Some("LIP_DEFAULT"),
3917 _ => None,
3918 };
3919 fmt_enum(fmt, self.0, name)
3920 }
3921}
3922#[doc = "See [XrEyeExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeExpressionHTC)"]
3923#[repr(transparent)]
3924#[derive(Copy, Clone, Eq, PartialEq, Default)]
3925pub struct EyeExpressionHTC(i32);
3926impl EyeExpressionHTC {
3927 pub const LEFT_BLINK: EyeExpressionHTC = Self(0i32);
3928 pub const LEFT_WIDE: EyeExpressionHTC = Self(1i32);
3929 pub const RIGHT_BLINK: EyeExpressionHTC = Self(2i32);
3930 pub const RIGHT_WIDE: EyeExpressionHTC = Self(3i32);
3931 pub const LEFT_SQUEEZE: EyeExpressionHTC = Self(4i32);
3932 pub const RIGHT_SQUEEZE: EyeExpressionHTC = Self(5i32);
3933 pub const LEFT_DOWN: EyeExpressionHTC = Self(6i32);
3934 pub const RIGHT_DOWN: EyeExpressionHTC = Self(7i32);
3935 pub const LEFT_OUT: EyeExpressionHTC = Self(8i32);
3936 pub const RIGHT_IN: EyeExpressionHTC = Self(9i32);
3937 pub const LEFT_IN: EyeExpressionHTC = Self(10i32);
3938 pub const RIGHT_OUT: EyeExpressionHTC = Self(11i32);
3939 pub const LEFT_UP: EyeExpressionHTC = Self(12i32);
3940 pub const RIGHT_UP: EyeExpressionHTC = Self(13i32);
3941 pub fn from_raw(x: i32) -> Self {
3942 Self(x)
3943 }
3944 pub fn into_raw(self) -> i32 {
3945 self.0
3946 }
3947}
3948impl fmt::Debug for EyeExpressionHTC {
3949 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3950 let name = match *self {
3951 Self::LEFT_BLINK => Some("LEFT_BLINK"),
3952 Self::LEFT_WIDE => Some("LEFT_WIDE"),
3953 Self::RIGHT_BLINK => Some("RIGHT_BLINK"),
3954 Self::RIGHT_WIDE => Some("RIGHT_WIDE"),
3955 Self::LEFT_SQUEEZE => Some("LEFT_SQUEEZE"),
3956 Self::RIGHT_SQUEEZE => Some("RIGHT_SQUEEZE"),
3957 Self::LEFT_DOWN => Some("LEFT_DOWN"),
3958 Self::RIGHT_DOWN => Some("RIGHT_DOWN"),
3959 Self::LEFT_OUT => Some("LEFT_OUT"),
3960 Self::RIGHT_IN => Some("RIGHT_IN"),
3961 Self::LEFT_IN => Some("LEFT_IN"),
3962 Self::RIGHT_OUT => Some("RIGHT_OUT"),
3963 Self::LEFT_UP => Some("LEFT_UP"),
3964 Self::RIGHT_UP => Some("RIGHT_UP"),
3965 _ => None,
3966 };
3967 fmt_enum(fmt, self.0, name)
3968 }
3969}
3970#[doc = "See [XrLipExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionHTC)"]
3971#[repr(transparent)]
3972#[derive(Copy, Clone, Eq, PartialEq, Default)]
3973pub struct LipExpressionHTC(i32);
3974impl LipExpressionHTC {
3975 pub const JAW_RIGHT: LipExpressionHTC = Self(0i32);
3976 pub const JAW_LEFT: LipExpressionHTC = Self(1i32);
3977 pub const JAW_FORWARD: LipExpressionHTC = Self(2i32);
3978 pub const JAW_OPEN: LipExpressionHTC = Self(3i32);
3979 pub const MOUTH_APE_SHAPE: LipExpressionHTC = Self(4i32);
3980 pub const MOUTH_UPPER_RIGHT: LipExpressionHTC = Self(5i32);
3981 pub const MOUTH_UPPER_LEFT: LipExpressionHTC = Self(6i32);
3982 pub const MOUTH_LOWER_RIGHT: LipExpressionHTC = Self(7i32);
3983 pub const MOUTH_LOWER_LEFT: LipExpressionHTC = Self(8i32);
3984 pub const MOUTH_UPPER_OVERTURN: LipExpressionHTC = Self(9i32);
3985 pub const MOUTH_LOWER_OVERTURN: LipExpressionHTC = Self(10i32);
3986 pub const MOUTH_POUT: LipExpressionHTC = Self(11i32);
3987 pub const MOUTH_RAISER_RIGHT: LipExpressionHTC = Self(12i32);
3988 pub const MOUTH_RAISER_LEFT: LipExpressionHTC = Self(13i32);
3989 pub const MOUTH_STRETCHER_RIGHT: LipExpressionHTC = Self(14i32);
3990 pub const MOUTH_STRETCHER_LEFT: LipExpressionHTC = Self(15i32);
3991 pub const CHEEK_PUFF_RIGHT: LipExpressionHTC = Self(16i32);
3992 pub const CHEEK_PUFF_LEFT: LipExpressionHTC = Self(17i32);
3993 pub const CHEEK_SUCK: LipExpressionHTC = Self(18i32);
3994 pub const MOUTH_UPPER_UPRIGHT: LipExpressionHTC = Self(19i32);
3995 pub const MOUTH_UPPER_UPLEFT: LipExpressionHTC = Self(20i32);
3996 pub const MOUTH_LOWER_DOWNRIGHT: LipExpressionHTC = Self(21i32);
3997 pub const MOUTH_LOWER_DOWNLEFT: LipExpressionHTC = Self(22i32);
3998 pub const MOUTH_UPPER_INSIDE: LipExpressionHTC = Self(23i32);
3999 pub const MOUTH_LOWER_INSIDE: LipExpressionHTC = Self(24i32);
4000 pub const MOUTH_LOWER_OVERLAY: LipExpressionHTC = Self(25i32);
4001 pub const TONGUE_LONGSTEP1: LipExpressionHTC = Self(26i32);
4002 pub const TONGUE_LEFT: LipExpressionHTC = Self(27i32);
4003 pub const TONGUE_RIGHT: LipExpressionHTC = Self(28i32);
4004 pub const TONGUE_UP: LipExpressionHTC = Self(29i32);
4005 pub const TONGUE_DOWN: LipExpressionHTC = Self(30i32);
4006 pub const TONGUE_ROLL: LipExpressionHTC = Self(31i32);
4007 pub const TONGUE_LONGSTEP2: LipExpressionHTC = Self(32i32);
4008 pub const TONGUE_UPRIGHT_MORPH: LipExpressionHTC = Self(33i32);
4009 pub const TONGUE_UPLEFT_MORPH: LipExpressionHTC = Self(34i32);
4010 pub const TONGUE_DOWNRIGHT_MORPH: LipExpressionHTC = Self(35i32);
4011 pub const TONGUE_DOWNLEFT_MORPH: LipExpressionHTC = Self(36i32);
4012 #[doc = "Backward-compatibility alias for deprecated name."]
4013 pub const MOUTH_SMILE_RIGHT: LipExpressionHTC = Self::MOUTH_RAISER_RIGHT;
4014 #[doc = "Backward-compatibility alias for deprecated name."]
4015 pub const MOUTH_SMILE_LEFT: LipExpressionHTC = Self::MOUTH_RAISER_LEFT;
4016 #[doc = "Backward-compatibility alias for deprecated name."]
4017 pub const MOUTH_SAD_RIGHT: LipExpressionHTC = Self::MOUTH_STRETCHER_RIGHT;
4018 #[doc = "Backward-compatibility alias for deprecated name."]
4019 pub const MOUTH_SAD_LEFT: LipExpressionHTC = Self::MOUTH_STRETCHER_LEFT;
4020 pub fn from_raw(x: i32) -> Self {
4021 Self(x)
4022 }
4023 pub fn into_raw(self) -> i32 {
4024 self.0
4025 }
4026}
4027impl fmt::Debug for LipExpressionHTC {
4028 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4029 let name = match *self {
4030 Self::JAW_RIGHT => Some("JAW_RIGHT"),
4031 Self::JAW_LEFT => Some("JAW_LEFT"),
4032 Self::JAW_FORWARD => Some("JAW_FORWARD"),
4033 Self::JAW_OPEN => Some("JAW_OPEN"),
4034 Self::MOUTH_APE_SHAPE => Some("MOUTH_APE_SHAPE"),
4035 Self::MOUTH_UPPER_RIGHT => Some("MOUTH_UPPER_RIGHT"),
4036 Self::MOUTH_UPPER_LEFT => Some("MOUTH_UPPER_LEFT"),
4037 Self::MOUTH_LOWER_RIGHT => Some("MOUTH_LOWER_RIGHT"),
4038 Self::MOUTH_LOWER_LEFT => Some("MOUTH_LOWER_LEFT"),
4039 Self::MOUTH_UPPER_OVERTURN => Some("MOUTH_UPPER_OVERTURN"),
4040 Self::MOUTH_LOWER_OVERTURN => Some("MOUTH_LOWER_OVERTURN"),
4041 Self::MOUTH_POUT => Some("MOUTH_POUT"),
4042 Self::MOUTH_RAISER_RIGHT => Some("MOUTH_RAISER_RIGHT"),
4043 Self::MOUTH_RAISER_LEFT => Some("MOUTH_RAISER_LEFT"),
4044 Self::MOUTH_STRETCHER_RIGHT => Some("MOUTH_STRETCHER_RIGHT"),
4045 Self::MOUTH_STRETCHER_LEFT => Some("MOUTH_STRETCHER_LEFT"),
4046 Self::CHEEK_PUFF_RIGHT => Some("CHEEK_PUFF_RIGHT"),
4047 Self::CHEEK_PUFF_LEFT => Some("CHEEK_PUFF_LEFT"),
4048 Self::CHEEK_SUCK => Some("CHEEK_SUCK"),
4049 Self::MOUTH_UPPER_UPRIGHT => Some("MOUTH_UPPER_UPRIGHT"),
4050 Self::MOUTH_UPPER_UPLEFT => Some("MOUTH_UPPER_UPLEFT"),
4051 Self::MOUTH_LOWER_DOWNRIGHT => Some("MOUTH_LOWER_DOWNRIGHT"),
4052 Self::MOUTH_LOWER_DOWNLEFT => Some("MOUTH_LOWER_DOWNLEFT"),
4053 Self::MOUTH_UPPER_INSIDE => Some("MOUTH_UPPER_INSIDE"),
4054 Self::MOUTH_LOWER_INSIDE => Some("MOUTH_LOWER_INSIDE"),
4055 Self::MOUTH_LOWER_OVERLAY => Some("MOUTH_LOWER_OVERLAY"),
4056 Self::TONGUE_LONGSTEP1 => Some("TONGUE_LONGSTEP1"),
4057 Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4058 Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4059 Self::TONGUE_UP => Some("TONGUE_UP"),
4060 Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4061 Self::TONGUE_ROLL => Some("TONGUE_ROLL"),
4062 Self::TONGUE_LONGSTEP2 => Some("TONGUE_LONGSTEP2"),
4063 Self::TONGUE_UPRIGHT_MORPH => Some("TONGUE_UPRIGHT_MORPH"),
4064 Self::TONGUE_UPLEFT_MORPH => Some("TONGUE_UPLEFT_MORPH"),
4065 Self::TONGUE_DOWNRIGHT_MORPH => Some("TONGUE_DOWNRIGHT_MORPH"),
4066 Self::TONGUE_DOWNLEFT_MORPH => Some("TONGUE_DOWNLEFT_MORPH"),
4067 _ => None,
4068 };
4069 fmt_enum(fmt, self.0, name)
4070 }
4071}
4072#[doc = "See [XrPassthroughFormHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFormHTC)"]
4073#[repr(transparent)]
4074#[derive(Copy, Clone, Eq, PartialEq, Default)]
4075pub struct PassthroughFormHTC(i32);
4076impl PassthroughFormHTC {
4077 #[doc = "Presents the passthrough with full of the entire screen."]
4078 pub const PLANAR: PassthroughFormHTC = Self(0i32);
4079 #[doc = "Presents the passthrough projecting onto a custom mesh."]
4080 pub const PROJECTED: PassthroughFormHTC = Self(1i32);
4081 pub fn from_raw(x: i32) -> Self {
4082 Self(x)
4083 }
4084 pub fn into_raw(self) -> i32 {
4085 self.0
4086 }
4087}
4088impl fmt::Debug for PassthroughFormHTC {
4089 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4090 let name = match *self {
4091 Self::PLANAR => Some("PLANAR"),
4092 Self::PROJECTED => Some("PROJECTED"),
4093 _ => None,
4094 };
4095 fmt_enum(fmt, self.0, name)
4096 }
4097}
4098#[doc = "See [XrFoveationModeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationModeHTC)"]
4099#[repr(transparent)]
4100#[derive(Copy, Clone, Eq, PartialEq, Default)]
4101pub struct FoveationModeHTC(i32);
4102impl FoveationModeHTC {
4103 #[doc = "No foveation"]
4104 pub const DISABLE: FoveationModeHTC = Self(0i32);
4105 #[doc = "Apply system default setting with fixed clear FOV and periphery quality."]
4106 pub const FIXED: FoveationModeHTC = Self(1i32);
4107 #[doc = "Allow system to set foveation dynamically according realtime system metric or other extensions."]
4108 pub const DYNAMIC: FoveationModeHTC = Self(2i32);
4109 #[doc = "Allow application to set foveation with desired clear FOV, periphery quality, and focal center offset."]
4110 pub const CUSTOM: FoveationModeHTC = Self(3i32);
4111 pub fn from_raw(x: i32) -> Self {
4112 Self(x)
4113 }
4114 pub fn into_raw(self) -> i32 {
4115 self.0
4116 }
4117}
4118impl fmt::Debug for FoveationModeHTC {
4119 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4120 let name = match *self {
4121 Self::DISABLE => Some("DISABLE"),
4122 Self::FIXED => Some("FIXED"),
4123 Self::DYNAMIC => Some("DYNAMIC"),
4124 Self::CUSTOM => Some("CUSTOM"),
4125 _ => None,
4126 };
4127 fmt_enum(fmt, self.0, name)
4128 }
4129}
4130#[doc = "See [XrFoveationLevelHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelHTC)"]
4131#[repr(transparent)]
4132#[derive(Copy, Clone, Eq, PartialEq, Default)]
4133pub struct FoveationLevelHTC(i32);
4134impl FoveationLevelHTC {
4135 #[doc = "No foveation"]
4136 pub const NONE: FoveationLevelHTC = Self(0i32);
4137 #[doc = "Light periphery pixel density drop and lower performance gain."]
4138 pub const LOW: FoveationLevelHTC = Self(1i32);
4139 #[doc = "Medium periphery pixel density drop and medium performance gain"]
4140 pub const MEDIUM: FoveationLevelHTC = Self(2i32);
4141 #[doc = "Heavy periphery pixel density drop and higher performance gain"]
4142 pub const HIGH: FoveationLevelHTC = Self(3i32);
4143 pub fn from_raw(x: i32) -> Self {
4144 Self(x)
4145 }
4146 pub fn into_raw(self) -> i32 {
4147 self.0
4148 }
4149}
4150impl fmt::Debug for FoveationLevelHTC {
4151 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4152 let name = match *self {
4153 Self::NONE => Some("NONE"),
4154 Self::LOW => Some("LOW"),
4155 Self::MEDIUM => Some("MEDIUM"),
4156 Self::HIGH => Some("HIGH"),
4157 _ => None,
4158 };
4159 fmt_enum(fmt, self.0, name)
4160 }
4161}
4162#[doc = "See [XrFaceParameterIndicesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceParameterIndicesANDROID)"]
4163#[repr(transparent)]
4164#[derive(Copy, Clone, Eq, PartialEq, Default)]
4165pub struct FaceParameterIndicesANDROID(i32);
4166impl FaceParameterIndicesANDROID {
4167 #[doc = "The left brow lowerer blendshape parameter."]
4168 pub const BROW_LOWERER_L: FaceParameterIndicesANDROID = Self(0i32);
4169 #[doc = "The right brow lowerer blendshape parameter."]
4170 pub const BROW_LOWERER_R: FaceParameterIndicesANDROID = Self(1i32);
4171 #[doc = "The left cheek puff blendshape parameter."]
4172 pub const CHEEK_PUFF_L: FaceParameterIndicesANDROID = Self(2i32);
4173 #[doc = "The right cheek puff blendshape parameter."]
4174 pub const CHEEK_PUFF_R: FaceParameterIndicesANDROID = Self(3i32);
4175 #[doc = "The left cheek raiser blendshape parameter."]
4176 pub const CHEEK_RAISER_L: FaceParameterIndicesANDROID = Self(4i32);
4177 #[doc = "The right cheek raiser blendshape parameter."]
4178 pub const CHEEK_RAISER_R: FaceParameterIndicesANDROID = Self(5i32);
4179 #[doc = "The left cheek suck blendshape parameter."]
4180 pub const CHEEK_SUCK_L: FaceParameterIndicesANDROID = Self(6i32);
4181 #[doc = "The right cheek suck blendshape parameter."]
4182 pub const CHEEK_SUCK_R: FaceParameterIndicesANDROID = Self(7i32);
4183 #[doc = "The bottom chin raiser blendshape parameter."]
4184 pub const CHIN_RAISER_B: FaceParameterIndicesANDROID = Self(8i32);
4185 #[doc = "The top chin raiser blendshape parameter."]
4186 pub const CHIN_RAISER_T: FaceParameterIndicesANDROID = Self(9i32);
4187 #[doc = "The left dimpler blendshape parameter."]
4188 pub const DIMPLER_L: FaceParameterIndicesANDROID = Self(10i32);
4189 #[doc = "The right dimpler lowerer blendshape parameter."]
4190 pub const DIMPLER_R: FaceParameterIndicesANDROID = Self(11i32);
4191 #[doc = "The left eyes closed blendshape parameter."]
4192 pub const EYES_CLOSED_L: FaceParameterIndicesANDROID = Self(12i32);
4193 #[doc = "The right eyes closed blendshape parameter."]
4194 pub const EYES_CLOSED_R: FaceParameterIndicesANDROID = Self(13i32);
4195 #[doc = "The left eyes look down blendshape parameter."]
4196 pub const EYES_LOOK_DOWN_L: FaceParameterIndicesANDROID = Self(14i32);
4197 #[doc = "The right eyes look down blendshape parameter."]
4198 pub const EYES_LOOK_DOWN_R: FaceParameterIndicesANDROID = Self(15i32);
4199 #[doc = "The left look left blendshape parameter."]
4200 pub const EYES_LOOK_LEFT_L: FaceParameterIndicesANDROID = Self(16i32);
4201 #[doc = "The left look right blendshape parameter."]
4202 pub const EYES_LOOK_LEFT_R: FaceParameterIndicesANDROID = Self(17i32);
4203 #[doc = "The right look left blendshape parameter."]
4204 pub const EYES_LOOK_RIGHT_L: FaceParameterIndicesANDROID = Self(18i32);
4205 #[doc = "The right look right blendshape parameter."]
4206 pub const EYES_LOOK_RIGHT_R: FaceParameterIndicesANDROID = Self(19i32);
4207 #[doc = "The left eyes look up blendshape parameter."]
4208 pub const EYES_LOOK_UP_L: FaceParameterIndicesANDROID = Self(20i32);
4209 #[doc = "The right eyes look up blendshape parameter."]
4210 pub const EYES_LOOK_UP_R: FaceParameterIndicesANDROID = Self(21i32);
4211 #[doc = "The left inner brow raiser blendshape parameter."]
4212 pub const INNER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(22i32);
4213 #[doc = "The right inner brow raiser blendshape parameter."]
4214 pub const INNER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(23i32);
4215 #[doc = "The jaw drop blendshape parameter."]
4216 pub const JAW_DROP: FaceParameterIndicesANDROID = Self(24i32);
4217 #[doc = "The left jaw sideways blendshape parameter."]
4218 pub const JAW_SIDEWAYS_LEFT: FaceParameterIndicesANDROID = Self(25i32);
4219 #[doc = "The right jaw sideways blendshape parameter."]
4220 pub const JAW_SIDEWAYS_RIGHT: FaceParameterIndicesANDROID = Self(26i32);
4221 #[doc = "The jaw thrust blendshape parameter."]
4222 pub const JAW_THRUST: FaceParameterIndicesANDROID = Self(27i32);
4223 #[doc = "The left lid tightener blendshape parameter."]
4224 pub const LID_TIGHTENER_L: FaceParameterIndicesANDROID = Self(28i32);
4225 #[doc = "The right lid tightener blendshape parameter."]
4226 pub const LID_TIGHTENER_R: FaceParameterIndicesANDROID = Self(29i32);
4227 #[doc = "The left corner lip depressor blendshape parameter."]
4228 pub const LIP_CORNER_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(30i32);
4229 #[doc = "The right corner lip depressor blendshape parameter."]
4230 pub const LIP_CORNER_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(31i32);
4231 #[doc = "The left corner lip puller blendshape parameter."]
4232 pub const LIP_CORNER_PULLER_L: FaceParameterIndicesANDROID = Self(32i32);
4233 #[doc = "The right corner lip puller blendshape parameter."]
4234 pub const LIP_CORNER_PULLER_R: FaceParameterIndicesANDROID = Self(33i32);
4235 #[doc = "The left bottom lip funneler blendshape parameter."]
4236 pub const LIP_FUNNELER_LB: FaceParameterIndicesANDROID = Self(34i32);
4237 #[doc = "The left top lip funneler blendshape parameter."]
4238 pub const LIP_FUNNELER_LT: FaceParameterIndicesANDROID = Self(35i32);
4239 #[doc = "The right bottom lip funneler blendshape parameter."]
4240 pub const LIP_FUNNELER_RB: FaceParameterIndicesANDROID = Self(36i32);
4241 #[doc = "The right top lip funneler blendshape parameter."]
4242 pub const LIP_FUNNELER_RT: FaceParameterIndicesANDROID = Self(37i32);
4243 #[doc = "The left lip pressor blendshape parameter."]
4244 pub const LIP_PRESSOR_L: FaceParameterIndicesANDROID = Self(38i32);
4245 #[doc = "The right lip pressor blendshape parameter."]
4246 pub const LIP_PRESSOR_R: FaceParameterIndicesANDROID = Self(39i32);
4247 #[doc = "The left lip pucker blendshape parameter."]
4248 pub const LIP_PUCKER_L: FaceParameterIndicesANDROID = Self(40i32);
4249 #[doc = "The right lip pucker blendshape parameter."]
4250 pub const LIP_PUCKER_R: FaceParameterIndicesANDROID = Self(41i32);
4251 #[doc = "The left lip stretcher blendshape parameter."]
4252 pub const LIP_STRETCHER_L: FaceParameterIndicesANDROID = Self(42i32);
4253 #[doc = "The right lip stretcher blendshape parameter."]
4254 pub const LIP_STRETCHER_R: FaceParameterIndicesANDROID = Self(43i32);
4255 #[doc = "The left bottom lip suck blendshape parameter."]
4256 pub const LIP_SUCK_LB: FaceParameterIndicesANDROID = Self(44i32);
4257 #[doc = "The left top lip suck blendshape parameter."]
4258 pub const LIP_SUCK_LT: FaceParameterIndicesANDROID = Self(45i32);
4259 #[doc = "The right bottom lip suck blendshape parameter."]
4260 pub const LIP_SUCK_RB: FaceParameterIndicesANDROID = Self(46i32);
4261 #[doc = "The right top lip suck blendshape parameter."]
4262 pub const LIP_SUCK_RT: FaceParameterIndicesANDROID = Self(47i32);
4263 #[doc = "The left lip tightener blendshape parameter."]
4264 pub const LIP_TIGHTENER_L: FaceParameterIndicesANDROID = Self(48i32);
4265 #[doc = "The right lip tightener blendshape parameter."]
4266 pub const LIP_TIGHTENER_R: FaceParameterIndicesANDROID = Self(49i32);
4267 #[doc = "The lips toward blendshape parameter."]
4268 pub const LIPS_TOWARD: FaceParameterIndicesANDROID = Self(50i32);
4269 #[doc = "The left lower lip depressor blendshape parameter."]
4270 pub const LOWER_LIP_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(51i32);
4271 #[doc = "The right lower lip depressor blendshape parameter."]
4272 pub const LOWER_LIP_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(52i32);
4273 #[doc = "The mouth move left blendshape parameter."]
4274 pub const MOUTH_LEFT: FaceParameterIndicesANDROID = Self(53i32);
4275 #[doc = "The mouth move right blendshape parameter."]
4276 pub const MOUTH_RIGHT: FaceParameterIndicesANDROID = Self(54i32);
4277 #[doc = "The left nose wrinkler blendshape parameter."]
4278 pub const NOSE_WRINKLER_L: FaceParameterIndicesANDROID = Self(55i32);
4279 #[doc = "The right nose wrinkler blendshape parameter."]
4280 pub const NOSE_WRINKLER_R: FaceParameterIndicesANDROID = Self(56i32);
4281 #[doc = "The left outer brow raiser blendshape parameter."]
4282 pub const OUTER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(57i32);
4283 #[doc = "The right outer brow raiser blendshape parameter."]
4284 pub const OUTER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(58i32);
4285 #[doc = "The left lid raiser blendshape parameter."]
4286 pub const UPPER_LID_RAISER_L: FaceParameterIndicesANDROID = Self(59i32);
4287 #[doc = "The right lid raiser blendshape parameter."]
4288 pub const UPPER_LID_RAISER_R: FaceParameterIndicesANDROID = Self(60i32);
4289 #[doc = "The left lip raiser blendshape parameter."]
4290 pub const UPPER_LIP_RAISER_L: FaceParameterIndicesANDROID = Self(61i32);
4291 #[doc = "The right lip raiser blendshape parameter."]
4292 pub const UPPER_LIP_RAISER_R: FaceParameterIndicesANDROID = Self(62i32);
4293 #[doc = "The tongue out blendshape parameter."]
4294 pub const TONGUE_OUT: FaceParameterIndicesANDROID = Self(63i32);
4295 #[doc = "The tongue left puller blendshape parameter."]
4296 pub const TONGUE_LEFT: FaceParameterIndicesANDROID = Self(64i32);
4297 #[doc = "The right right puller blendshape parameter."]
4298 pub const TONGUE_RIGHT: FaceParameterIndicesANDROID = Self(65i32);
4299 #[doc = "The right up puller blendshape parameter."]
4300 pub const TONGUE_UP: FaceParameterIndicesANDROID = Self(66i32);
4301 #[doc = "The right down puller blendshape parameter."]
4302 pub const TONGUE_DOWN: FaceParameterIndicesANDROID = Self(67i32);
4303 pub fn from_raw(x: i32) -> Self {
4304 Self(x)
4305 }
4306 pub fn into_raw(self) -> i32 {
4307 self.0
4308 }
4309}
4310impl fmt::Debug for FaceParameterIndicesANDROID {
4311 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4312 let name = match *self {
4313 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4314 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4315 Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4316 Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4317 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4318 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4319 Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4320 Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4321 Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4322 Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4323 Self::DIMPLER_L => Some("DIMPLER_L"),
4324 Self::DIMPLER_R => Some("DIMPLER_R"),
4325 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4326 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4327 Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4328 Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4329 Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4330 Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4331 Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4332 Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4333 Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4334 Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4335 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4336 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4337 Self::JAW_DROP => Some("JAW_DROP"),
4338 Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4339 Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4340 Self::JAW_THRUST => Some("JAW_THRUST"),
4341 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4342 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4343 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4344 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4345 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4346 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4347 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4348 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4349 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4350 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4351 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4352 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4353 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4354 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4355 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4356 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4357 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4358 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4359 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4360 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4361 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4362 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4363 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4364 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4365 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4366 Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4367 Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
4368 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
4369 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
4370 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
4371 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
4372 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
4373 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
4374 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
4375 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
4376 Self::TONGUE_OUT => Some("TONGUE_OUT"),
4377 Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4378 Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4379 Self::TONGUE_UP => Some("TONGUE_UP"),
4380 Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4381 _ => None,
4382 };
4383 fmt_enum(fmt, self.0, name)
4384 }
4385}
4386#[doc = "See [XrFaceTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingStateANDROID)"]
4387#[repr(transparent)]
4388#[derive(Copy, Clone, Eq, PartialEq, Default)]
4389pub struct FaceTrackingStateANDROID(i32);
4390impl FaceTrackingStateANDROID {
4391 #[doc = "Indicates that face tracking is paused but may be resumed in the future."]
4392 pub const PAUSED: FaceTrackingStateANDROID = Self(0i32);
4393 #[doc = "Tracking has stopped but the client still has an active face tracker."]
4394 pub const STOPPED: FaceTrackingStateANDROID = Self(1i32);
4395 #[doc = "The face is currently tracked and its pose is current."]
4396 pub const TRACKING: FaceTrackingStateANDROID = Self(2i32);
4397 pub fn from_raw(x: i32) -> Self {
4398 Self(x)
4399 }
4400 pub fn into_raw(self) -> i32 {
4401 self.0
4402 }
4403}
4404impl fmt::Debug for FaceTrackingStateANDROID {
4405 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4406 let name = match *self {
4407 Self::PAUSED => Some("PAUSED"),
4408 Self::STOPPED => Some("STOPPED"),
4409 Self::TRACKING => Some("TRACKING"),
4410 _ => None,
4411 };
4412 fmt_enum(fmt, self.0, name)
4413 }
4414}
4415#[doc = "See [XrFaceConfidenceRegionsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceRegionsANDROID)"]
4416#[repr(transparent)]
4417#[derive(Copy, Clone, Eq, PartialEq, Default)]
4418pub struct FaceConfidenceRegionsANDROID(i32);
4419impl FaceConfidenceRegionsANDROID {
4420 #[doc = "Confidence corresponding to the lower region."]
4421 pub const LOWER: FaceConfidenceRegionsANDROID = Self(0i32);
4422 #[doc = "Confidence corresponding to the left upper region."]
4423 pub const LEFT_UPPER: FaceConfidenceRegionsANDROID = Self(1i32);
4424 #[doc = "Confidence corresponding to the right upper region."]
4425 pub const RIGHT_UPPER: FaceConfidenceRegionsANDROID = Self(2i32);
4426 pub fn from_raw(x: i32) -> Self {
4427 Self(x)
4428 }
4429 pub fn into_raw(self) -> i32 {
4430 self.0
4431 }
4432}
4433impl fmt::Debug for FaceConfidenceRegionsANDROID {
4434 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4435 let name = match *self {
4436 Self::LOWER => Some("LOWER"),
4437 Self::LEFT_UPPER => Some("LEFT_UPPER"),
4438 Self::RIGHT_UPPER => Some("RIGHT_UPPER"),
4439 _ => None,
4440 };
4441 fmt_enum(fmt, self.0, name)
4442 }
4443}
4444#[doc = "See [XrTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingStateANDROID)"]
4445#[repr(transparent)]
4446#[derive(Copy, Clone, Eq, PartialEq, Default)]
4447pub struct TrackingStateANDROID(i32);
4448impl TrackingStateANDROID {
4449 #[doc = "Indicates that the trackable or anchor tracking is paused but may be resumed in the future."]
4450 pub const PAUSED: TrackingStateANDROID = Self(0i32);
4451 #[doc = "Tracking has stopped on this Trackable and will never be resumed."]
4452 pub const STOPPED: TrackingStateANDROID = Self(1i32);
4453 #[doc = "The object is currently tracked and its pose is current."]
4454 pub const TRACKING: TrackingStateANDROID = Self(2i32);
4455 pub fn from_raw(x: i32) -> Self {
4456 Self(x)
4457 }
4458 pub fn into_raw(self) -> i32 {
4459 self.0
4460 }
4461}
4462impl fmt::Debug for TrackingStateANDROID {
4463 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4464 let name = match *self {
4465 Self::PAUSED => Some("PAUSED"),
4466 Self::STOPPED => Some("STOPPED"),
4467 Self::TRACKING => Some("TRACKING"),
4468 _ => None,
4469 };
4470 fmt_enum(fmt, self.0, name)
4471 }
4472}
4473#[doc = "See [XrTrackableTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTypeANDROID)"]
4474#[repr(transparent)]
4475#[derive(Copy, Clone, Eq, PartialEq, Default)]
4476pub struct TrackableTypeANDROID(i32);
4477impl TrackableTypeANDROID {
4478 #[doc = "Indicates that the trackable is not valid."]
4479 pub const NOT_VALID: TrackableTypeANDROID = Self(0i32);
4480 #[doc = "Indicates that the trackable is a plane."]
4481 pub const PLANE: TrackableTypeANDROID = Self(1i32);
4482 #[doc = "Indicates that the trackable is the perception depth buffer."]
4483 pub const DEPTH: TrackableTypeANDROID = Self(1000463000i32);
4484 #[doc = "Indicates that the trackable is the object."]
4485 pub const OBJECT: TrackableTypeANDROID = Self(1000466000i32);
4486 #[doc = "Indicates that the trackable is a marker."]
4487 pub const MARKER: TrackableTypeANDROID = Self(1000707000i32);
4488 pub fn from_raw(x: i32) -> Self {
4489 Self(x)
4490 }
4491 pub fn into_raw(self) -> i32 {
4492 self.0
4493 }
4494}
4495impl fmt::Debug for TrackableTypeANDROID {
4496 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4497 let name = match *self {
4498 Self::NOT_VALID => Some("NOT_VALID"),
4499 Self::PLANE => Some("PLANE"),
4500 Self::DEPTH => Some("DEPTH"),
4501 Self::OBJECT => Some("OBJECT"),
4502 Self::MARKER => Some("MARKER"),
4503 _ => None,
4504 };
4505 fmt_enum(fmt, self.0, name)
4506 }
4507}
4508#[doc = "See [XrPlaneTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneTypeANDROID)"]
4509#[repr(transparent)]
4510#[derive(Copy, Clone, Eq, PartialEq, Default)]
4511pub struct PlaneTypeANDROID(i32);
4512impl PlaneTypeANDROID {
4513 #[doc = "A horizontal plane facing downward (for example a ceiling)."]
4514 pub const HORIZONTAL_DOWNWARD_FACING: PlaneTypeANDROID = Self(0i32);
4515 #[doc = "A horizontal plane facing upward (for example a floor or tabletop)."]
4516 pub const HORIZONTAL_UPWARD_FACING: PlaneTypeANDROID = Self(1i32);
4517 #[doc = "A vertical plane (for example a wall)."]
4518 pub const VERTICAL: PlaneTypeANDROID = Self(2i32);
4519 #[doc = "A plane with an arbitrary orientation."]
4520 pub const ARBITRARY: PlaneTypeANDROID = Self(3i32);
4521 pub fn from_raw(x: i32) -> Self {
4522 Self(x)
4523 }
4524 pub fn into_raw(self) -> i32 {
4525 self.0
4526 }
4527}
4528impl fmt::Debug for PlaneTypeANDROID {
4529 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4530 let name = match *self {
4531 Self::HORIZONTAL_DOWNWARD_FACING => Some("HORIZONTAL_DOWNWARD_FACING"),
4532 Self::HORIZONTAL_UPWARD_FACING => Some("HORIZONTAL_UPWARD_FACING"),
4533 Self::VERTICAL => Some("VERTICAL"),
4534 Self::ARBITRARY => Some("ARBITRARY"),
4535 _ => None,
4536 };
4537 fmt_enum(fmt, self.0, name)
4538 }
4539}
4540#[doc = "See [XrPlaneLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneLabelANDROID)"]
4541#[repr(transparent)]
4542#[derive(Copy, Clone, Eq, PartialEq, Default)]
4543pub struct PlaneLabelANDROID(i32);
4544impl PlaneLabelANDROID {
4545 #[doc = "It was not possible to label the plane"]
4546 pub const UNKNOWN: PlaneLabelANDROID = Self(0i32);
4547 #[doc = "The plane is a wall."]
4548 pub const WALL: PlaneLabelANDROID = Self(1i32);
4549 #[doc = "The plane is a floor."]
4550 pub const FLOOR: PlaneLabelANDROID = Self(2i32);
4551 #[doc = "The plane is a ceiling."]
4552 pub const CEILING: PlaneLabelANDROID = Self(3i32);
4553 #[doc = "The plane is a table."]
4554 pub const TABLE: PlaneLabelANDROID = Self(4i32);
4555 pub fn from_raw(x: i32) -> Self {
4556 Self(x)
4557 }
4558 pub fn into_raw(self) -> i32 {
4559 self.0
4560 }
4561}
4562impl fmt::Debug for PlaneLabelANDROID {
4563 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4564 let name = match *self {
4565 Self::UNKNOWN => Some("UNKNOWN"),
4566 Self::WALL => Some("WALL"),
4567 Self::FLOOR => Some("FLOOR"),
4568 Self::CEILING => Some("CEILING"),
4569 Self::TABLE => Some("TABLE"),
4570 _ => None,
4571 };
4572 fmt_enum(fmt, self.0, name)
4573 }
4574}
4575#[doc = "See [XrObjectLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectLabelANDROID)"]
4576#[repr(transparent)]
4577#[derive(Copy, Clone, Eq, PartialEq, Default)]
4578pub struct ObjectLabelANDROID(i32);
4579impl ObjectLabelANDROID {
4580 #[doc = "It was not possible to label the object."]
4581 pub const UNKNOWN: ObjectLabelANDROID = Self(0i32);
4582 #[doc = "The object is a keyboard."]
4583 pub const KEYBOARD: ObjectLabelANDROID = Self(1i32);
4584 #[doc = "The object is a mouse."]
4585 pub const MOUSE: ObjectLabelANDROID = Self(2i32);
4586 #[doc = "The object is a laptop."]
4587 pub const LAPTOP: ObjectLabelANDROID = Self(3i32);
4588 pub fn from_raw(x: i32) -> Self {
4589 Self(x)
4590 }
4591 pub fn into_raw(self) -> i32 {
4592 self.0
4593 }
4594}
4595impl fmt::Debug for ObjectLabelANDROID {
4596 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4597 let name = match *self {
4598 Self::UNKNOWN => Some("UNKNOWN"),
4599 Self::KEYBOARD => Some("KEYBOARD"),
4600 Self::MOUSE => Some("MOUSE"),
4601 Self::LAPTOP => Some("LAPTOP"),
4602 _ => None,
4603 };
4604 fmt_enum(fmt, self.0, name)
4605 }
4606}
4607#[doc = "See [XrAnchorPersistStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorPersistStateANDROID)"]
4608#[repr(transparent)]
4609#[derive(Copy, Clone, Eq, PartialEq, Default)]
4610pub struct AnchorPersistStateANDROID(i32);
4611impl AnchorPersistStateANDROID {
4612 #[doc = "Anchor has not been requested to be persisted by the app."]
4613 pub const PERSIST_NOT_REQUESTED: AnchorPersistStateANDROID = Self(0i32);
4614 #[doc = "Anchor has been requested to be persisted but not persisted yet."]
4615 pub const PERSIST_PENDING: AnchorPersistStateANDROID = Self(1i32);
4616 #[doc = "Anchor has been successfully persisted by the runtime."]
4617 pub const PERSISTED: AnchorPersistStateANDROID = Self(2i32);
4618 pub fn from_raw(x: i32) -> Self {
4619 Self(x)
4620 }
4621 pub fn into_raw(self) -> i32 {
4622 self.0
4623 }
4624}
4625impl fmt::Debug for AnchorPersistStateANDROID {
4626 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4627 let name = match *self {
4628 Self::PERSIST_NOT_REQUESTED => Some("PERSIST_NOT_REQUESTED"),
4629 Self::PERSIST_PENDING => Some("PERSIST_PENDING"),
4630 Self::PERSISTED => Some("PERSISTED"),
4631 _ => None,
4632 };
4633 fmt_enum(fmt, self.0, name)
4634 }
4635}
4636#[doc = "See [XrLocalDimmingModeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalDimmingModeMETA)"]
4637#[repr(transparent)]
4638#[derive(Copy, Clone, Eq, PartialEq, Default)]
4639pub struct LocalDimmingModeMETA(i32);
4640impl LocalDimmingModeMETA {
4641 #[doc = "Local dimming is turned off by default for the current submitted frame. This is the same as not chaining XrLocalDimmingModeMETA."]
4642 pub const OFF: LocalDimmingModeMETA = Self(0i32);
4643 #[doc = "Local dimming is turned on for the current submitted frame."]
4644 pub const ON: LocalDimmingModeMETA = Self(1i32);
4645 pub fn from_raw(x: i32) -> Self {
4646 Self(x)
4647 }
4648 pub fn into_raw(self) -> i32 {
4649 self.0
4650 }
4651}
4652impl fmt::Debug for LocalDimmingModeMETA {
4653 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4654 let name = match *self {
4655 Self::OFF => Some("OFF"),
4656 Self::ON => Some("ON"),
4657 _ => None,
4658 };
4659 fmt_enum(fmt, self.0, name)
4660 }
4661}
4662#[doc = "See [XrFaceExpressionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionFB)"]
4663#[repr(transparent)]
4664#[derive(Copy, Clone, Eq, PartialEq, Default)]
4665pub struct FaceExpressionFB(i32);
4666impl FaceExpressionFB {
4667 pub const BROW_LOWERER_L: FaceExpressionFB = Self(0i32);
4668 pub const BROW_LOWERER_R: FaceExpressionFB = Self(1i32);
4669 pub const CHEEK_PUFF_L: FaceExpressionFB = Self(2i32);
4670 pub const CHEEK_PUFF_R: FaceExpressionFB = Self(3i32);
4671 pub const CHEEK_RAISER_L: FaceExpressionFB = Self(4i32);
4672 pub const CHEEK_RAISER_R: FaceExpressionFB = Self(5i32);
4673 pub const CHEEK_SUCK_L: FaceExpressionFB = Self(6i32);
4674 pub const CHEEK_SUCK_R: FaceExpressionFB = Self(7i32);
4675 pub const CHIN_RAISER_B: FaceExpressionFB = Self(8i32);
4676 pub const CHIN_RAISER_T: FaceExpressionFB = Self(9i32);
4677 pub const DIMPLER_L: FaceExpressionFB = Self(10i32);
4678 pub const DIMPLER_R: FaceExpressionFB = Self(11i32);
4679 pub const EYES_CLOSED_L: FaceExpressionFB = Self(12i32);
4680 pub const EYES_CLOSED_R: FaceExpressionFB = Self(13i32);
4681 pub const EYES_LOOK_DOWN_L: FaceExpressionFB = Self(14i32);
4682 pub const EYES_LOOK_DOWN_R: FaceExpressionFB = Self(15i32);
4683 pub const EYES_LOOK_LEFT_L: FaceExpressionFB = Self(16i32);
4684 pub const EYES_LOOK_LEFT_R: FaceExpressionFB = Self(17i32);
4685 pub const EYES_LOOK_RIGHT_L: FaceExpressionFB = Self(18i32);
4686 pub const EYES_LOOK_RIGHT_R: FaceExpressionFB = Self(19i32);
4687 pub const EYES_LOOK_UP_L: FaceExpressionFB = Self(20i32);
4688 pub const EYES_LOOK_UP_R: FaceExpressionFB = Self(21i32);
4689 pub const INNER_BROW_RAISER_L: FaceExpressionFB = Self(22i32);
4690 pub const INNER_BROW_RAISER_R: FaceExpressionFB = Self(23i32);
4691 pub const JAW_DROP: FaceExpressionFB = Self(24i32);
4692 pub const JAW_SIDEWAYS_LEFT: FaceExpressionFB = Self(25i32);
4693 pub const JAW_SIDEWAYS_RIGHT: FaceExpressionFB = Self(26i32);
4694 pub const JAW_THRUST: FaceExpressionFB = Self(27i32);
4695 pub const LID_TIGHTENER_L: FaceExpressionFB = Self(28i32);
4696 pub const LID_TIGHTENER_R: FaceExpressionFB = Self(29i32);
4697 pub const LIP_CORNER_DEPRESSOR_L: FaceExpressionFB = Self(30i32);
4698 pub const LIP_CORNER_DEPRESSOR_R: FaceExpressionFB = Self(31i32);
4699 pub const LIP_CORNER_PULLER_L: FaceExpressionFB = Self(32i32);
4700 pub const LIP_CORNER_PULLER_R: FaceExpressionFB = Self(33i32);
4701 pub const LIP_FUNNELER_LB: FaceExpressionFB = Self(34i32);
4702 pub const LIP_FUNNELER_LT: FaceExpressionFB = Self(35i32);
4703 pub const LIP_FUNNELER_RB: FaceExpressionFB = Self(36i32);
4704 pub const LIP_FUNNELER_RT: FaceExpressionFB = Self(37i32);
4705 pub const LIP_PRESSOR_L: FaceExpressionFB = Self(38i32);
4706 pub const LIP_PRESSOR_R: FaceExpressionFB = Self(39i32);
4707 pub const LIP_PUCKER_L: FaceExpressionFB = Self(40i32);
4708 pub const LIP_PUCKER_R: FaceExpressionFB = Self(41i32);
4709 pub const LIP_STRETCHER_L: FaceExpressionFB = Self(42i32);
4710 pub const LIP_STRETCHER_R: FaceExpressionFB = Self(43i32);
4711 pub const LIP_SUCK_LB: FaceExpressionFB = Self(44i32);
4712 pub const LIP_SUCK_LT: FaceExpressionFB = Self(45i32);
4713 pub const LIP_SUCK_RB: FaceExpressionFB = Self(46i32);
4714 pub const LIP_SUCK_RT: FaceExpressionFB = Self(47i32);
4715 pub const LIP_TIGHTENER_L: FaceExpressionFB = Self(48i32);
4716 pub const LIP_TIGHTENER_R: FaceExpressionFB = Self(49i32);
4717 pub const LIPS_TOWARD: FaceExpressionFB = Self(50i32);
4718 pub const LOWER_LIP_DEPRESSOR_L: FaceExpressionFB = Self(51i32);
4719 pub const LOWER_LIP_DEPRESSOR_R: FaceExpressionFB = Self(52i32);
4720 pub const MOUTH_LEFT: FaceExpressionFB = Self(53i32);
4721 pub const MOUTH_RIGHT: FaceExpressionFB = Self(54i32);
4722 pub const NOSE_WRINKLER_L: FaceExpressionFB = Self(55i32);
4723 pub const NOSE_WRINKLER_R: FaceExpressionFB = Self(56i32);
4724 pub const OUTER_BROW_RAISER_L: FaceExpressionFB = Self(57i32);
4725 pub const OUTER_BROW_RAISER_R: FaceExpressionFB = Self(58i32);
4726 pub const UPPER_LID_RAISER_L: FaceExpressionFB = Self(59i32);
4727 pub const UPPER_LID_RAISER_R: FaceExpressionFB = Self(60i32);
4728 pub const UPPER_LIP_RAISER_L: FaceExpressionFB = Self(61i32);
4729 pub const UPPER_LIP_RAISER_R: FaceExpressionFB = Self(62i32);
4730 pub const COUNT: FaceExpressionFB = Self(63i32);
4731 pub fn from_raw(x: i32) -> Self {
4732 Self(x)
4733 }
4734 pub fn into_raw(self) -> i32 {
4735 self.0
4736 }
4737}
4738impl fmt::Debug for FaceExpressionFB {
4739 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4740 let name = match *self {
4741 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4742 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4743 Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4744 Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4745 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4746 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4747 Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4748 Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4749 Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4750 Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4751 Self::DIMPLER_L => Some("DIMPLER_L"),
4752 Self::DIMPLER_R => Some("DIMPLER_R"),
4753 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4754 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4755 Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4756 Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4757 Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4758 Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4759 Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4760 Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4761 Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4762 Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4763 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4764 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4765 Self::JAW_DROP => Some("JAW_DROP"),
4766 Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4767 Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4768 Self::JAW_THRUST => Some("JAW_THRUST"),
4769 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4770 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4771 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4772 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4773 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4774 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4775 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4776 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4777 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4778 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4779 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4780 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4781 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4782 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4783 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4784 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4785 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4786 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4787 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4788 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4789 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4790 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4791 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4792 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4793 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4794 Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4795 Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
4796 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
4797 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
4798 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
4799 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
4800 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
4801 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
4802 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
4803 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
4804 Self::COUNT => Some("COUNT"),
4805 _ => None,
4806 };
4807 fmt_enum(fmt, self.0, name)
4808 }
4809}
4810#[doc = "See [XrFaceExpressionSetFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSetFB)"]
4811#[repr(transparent)]
4812#[derive(Copy, Clone, Eq, PartialEq, Default)]
4813pub struct FaceExpressionSetFB(i32);
4814impl FaceExpressionSetFB {
4815 #[doc = "indicates that the created XrFaceTrackerFB tracks the set of blend shapes described by XrFaceExpressionFB enum, i.e. the xrGetFaceExpressionWeightsFB function returns an array of blend shapes with the count of XR_FACE_EXPRESSION_COUNT_FB and can: be indexed using XrFaceExpressionFB."]
4816 pub const DEFAULT: FaceExpressionSetFB = Self(0i32);
4817 pub fn from_raw(x: i32) -> Self {
4818 Self(x)
4819 }
4820 pub fn into_raw(self) -> i32 {
4821 self.0
4822 }
4823}
4824impl fmt::Debug for FaceExpressionSetFB {
4825 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4826 let name = match *self {
4827 Self::DEFAULT => Some("DEFAULT"),
4828 _ => None,
4829 };
4830 fmt_enum(fmt, self.0, name)
4831 }
4832}
4833#[doc = "See [XrFaceConfidenceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceFB)"]
4834#[repr(transparent)]
4835#[derive(Copy, Clone, Eq, PartialEq, Default)]
4836pub struct FaceConfidenceFB(i32);
4837impl FaceConfidenceFB {
4838 pub const LOWER_FACE: FaceConfidenceFB = Self(0i32);
4839 pub const UPPER_FACE: FaceConfidenceFB = Self(1i32);
4840 pub const COUNT: FaceConfidenceFB = Self(2i32);
4841 pub fn from_raw(x: i32) -> Self {
4842 Self(x)
4843 }
4844 pub fn into_raw(self) -> i32 {
4845 self.0
4846 }
4847}
4848impl fmt::Debug for FaceConfidenceFB {
4849 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4850 let name = match *self {
4851 Self::LOWER_FACE => Some("LOWER_FACE"),
4852 Self::UPPER_FACE => Some("UPPER_FACE"),
4853 Self::COUNT => Some("COUNT"),
4854 _ => None,
4855 };
4856 fmt_enum(fmt, self.0, name)
4857 }
4858}
4859#[doc = "See [XrFaceExpression2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpression2FB)"]
4860#[repr(transparent)]
4861#[derive(Copy, Clone, Eq, PartialEq, Default)]
4862pub struct FaceExpression2FB(i32);
4863impl FaceExpression2FB {
4864 pub const BROW_LOWERER_L: FaceExpression2FB = Self(0i32);
4865 pub const BROW_LOWERER_R: FaceExpression2FB = Self(1i32);
4866 pub const CHEEK_PUFF_L: FaceExpression2FB = Self(2i32);
4867 pub const CHEEK_PUFF_R: FaceExpression2FB = Self(3i32);
4868 pub const CHEEK_RAISER_L: FaceExpression2FB = Self(4i32);
4869 pub const CHEEK_RAISER_R: FaceExpression2FB = Self(5i32);
4870 pub const CHEEK_SUCK_L: FaceExpression2FB = Self(6i32);
4871 pub const CHEEK_SUCK_R: FaceExpression2FB = Self(7i32);
4872 pub const CHIN_RAISER_B: FaceExpression2FB = Self(8i32);
4873 pub const CHIN_RAISER_T: FaceExpression2FB = Self(9i32);
4874 pub const DIMPLER_L: FaceExpression2FB = Self(10i32);
4875 pub const DIMPLER_R: FaceExpression2FB = Self(11i32);
4876 pub const EYES_CLOSED_L: FaceExpression2FB = Self(12i32);
4877 pub const EYES_CLOSED_R: FaceExpression2FB = Self(13i32);
4878 pub const EYES_LOOK_DOWN_L: FaceExpression2FB = Self(14i32);
4879 pub const EYES_LOOK_DOWN_R: FaceExpression2FB = Self(15i32);
4880 pub const EYES_LOOK_LEFT_L: FaceExpression2FB = Self(16i32);
4881 pub const EYES_LOOK_LEFT_R: FaceExpression2FB = Self(17i32);
4882 pub const EYES_LOOK_RIGHT_L: FaceExpression2FB = Self(18i32);
4883 pub const EYES_LOOK_RIGHT_R: FaceExpression2FB = Self(19i32);
4884 pub const EYES_LOOK_UP_L: FaceExpression2FB = Self(20i32);
4885 pub const EYES_LOOK_UP_R: FaceExpression2FB = Self(21i32);
4886 pub const INNER_BROW_RAISER_L: FaceExpression2FB = Self(22i32);
4887 pub const INNER_BROW_RAISER_R: FaceExpression2FB = Self(23i32);
4888 pub const JAW_DROP: FaceExpression2FB = Self(24i32);
4889 pub const JAW_SIDEWAYS_LEFT: FaceExpression2FB = Self(25i32);
4890 pub const JAW_SIDEWAYS_RIGHT: FaceExpression2FB = Self(26i32);
4891 pub const JAW_THRUST: FaceExpression2FB = Self(27i32);
4892 pub const LID_TIGHTENER_L: FaceExpression2FB = Self(28i32);
4893 pub const LID_TIGHTENER_R: FaceExpression2FB = Self(29i32);
4894 pub const LIP_CORNER_DEPRESSOR_L: FaceExpression2FB = Self(30i32);
4895 pub const LIP_CORNER_DEPRESSOR_R: FaceExpression2FB = Self(31i32);
4896 pub const LIP_CORNER_PULLER_L: FaceExpression2FB = Self(32i32);
4897 pub const LIP_CORNER_PULLER_R: FaceExpression2FB = Self(33i32);
4898 pub const LIP_FUNNELER_LB: FaceExpression2FB = Self(34i32);
4899 pub const LIP_FUNNELER_LT: FaceExpression2FB = Self(35i32);
4900 pub const LIP_FUNNELER_RB: FaceExpression2FB = Self(36i32);
4901 pub const LIP_FUNNELER_RT: FaceExpression2FB = Self(37i32);
4902 pub const LIP_PRESSOR_L: FaceExpression2FB = Self(38i32);
4903 pub const LIP_PRESSOR_R: FaceExpression2FB = Self(39i32);
4904 pub const LIP_PUCKER_L: FaceExpression2FB = Self(40i32);
4905 pub const LIP_PUCKER_R: FaceExpression2FB = Self(41i32);
4906 pub const LIP_STRETCHER_L: FaceExpression2FB = Self(42i32);
4907 pub const LIP_STRETCHER_R: FaceExpression2FB = Self(43i32);
4908 pub const LIP_SUCK_LB: FaceExpression2FB = Self(44i32);
4909 pub const LIP_SUCK_LT: FaceExpression2FB = Self(45i32);
4910 pub const LIP_SUCK_RB: FaceExpression2FB = Self(46i32);
4911 pub const LIP_SUCK_RT: FaceExpression2FB = Self(47i32);
4912 pub const LIP_TIGHTENER_L: FaceExpression2FB = Self(48i32);
4913 pub const LIP_TIGHTENER_R: FaceExpression2FB = Self(49i32);
4914 pub const LIPS_TOWARD: FaceExpression2FB = Self(50i32);
4915 pub const LOWER_LIP_DEPRESSOR_L: FaceExpression2FB = Self(51i32);
4916 pub const LOWER_LIP_DEPRESSOR_R: FaceExpression2FB = Self(52i32);
4917 pub const MOUTH_LEFT: FaceExpression2FB = Self(53i32);
4918 pub const MOUTH_RIGHT: FaceExpression2FB = Self(54i32);
4919 pub const NOSE_WRINKLER_L: FaceExpression2FB = Self(55i32);
4920 pub const NOSE_WRINKLER_R: FaceExpression2FB = Self(56i32);
4921 pub const OUTER_BROW_RAISER_L: FaceExpression2FB = Self(57i32);
4922 pub const OUTER_BROW_RAISER_R: FaceExpression2FB = Self(58i32);
4923 pub const UPPER_LID_RAISER_L: FaceExpression2FB = Self(59i32);
4924 pub const UPPER_LID_RAISER_R: FaceExpression2FB = Self(60i32);
4925 pub const UPPER_LIP_RAISER_L: FaceExpression2FB = Self(61i32);
4926 pub const UPPER_LIP_RAISER_R: FaceExpression2FB = Self(62i32);
4927 pub const TONGUE_TIP_INTERDENTAL: FaceExpression2FB = Self(63i32);
4928 pub const TONGUE_TIP_ALVEOLAR: FaceExpression2FB = Self(64i32);
4929 pub const TONGUE_FRONT_DORSAL_PALATE: FaceExpression2FB = Self(65i32);
4930 pub const TONGUE_MID_DORSAL_PALATE: FaceExpression2FB = Self(66i32);
4931 pub const TONGUE_BACK_DORSAL_VELAR: FaceExpression2FB = Self(67i32);
4932 pub const TONGUE_OUT: FaceExpression2FB = Self(68i32);
4933 pub const TONGUE_RETREAT: FaceExpression2FB = Self(69i32);
4934 pub const COUNT: FaceExpression2FB = Self(70i32);
4935 pub fn from_raw(x: i32) -> Self {
4936 Self(x)
4937 }
4938 pub fn into_raw(self) -> i32 {
4939 self.0
4940 }
4941}
4942impl fmt::Debug for FaceExpression2FB {
4943 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4944 let name = match *self {
4945 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4946 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4947 Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4948 Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4949 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4950 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4951 Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4952 Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4953 Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4954 Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4955 Self::DIMPLER_L => Some("DIMPLER_L"),
4956 Self::DIMPLER_R => Some("DIMPLER_R"),
4957 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4958 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4959 Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4960 Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4961 Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4962 Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4963 Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4964 Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4965 Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4966 Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4967 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4968 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4969 Self::JAW_DROP => Some("JAW_DROP"),
4970 Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4971 Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4972 Self::JAW_THRUST => Some("JAW_THRUST"),
4973 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4974 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4975 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4976 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4977 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4978 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4979 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4980 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4981 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4982 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4983 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4984 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4985 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4986 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4987 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4988 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4989 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4990 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4991 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4992 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4993 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4994 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4995 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4996 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4997 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4998 Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4999 Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
5000 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
5001 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
5002 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
5003 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
5004 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
5005 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
5006 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
5007 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
5008 Self::TONGUE_TIP_INTERDENTAL => Some("TONGUE_TIP_INTERDENTAL"),
5009 Self::TONGUE_TIP_ALVEOLAR => Some("TONGUE_TIP_ALVEOLAR"),
5010 Self::TONGUE_FRONT_DORSAL_PALATE => Some("TONGUE_FRONT_DORSAL_PALATE"),
5011 Self::TONGUE_MID_DORSAL_PALATE => Some("TONGUE_MID_DORSAL_PALATE"),
5012 Self::TONGUE_BACK_DORSAL_VELAR => Some("TONGUE_BACK_DORSAL_VELAR"),
5013 Self::TONGUE_OUT => Some("TONGUE_OUT"),
5014 Self::TONGUE_RETREAT => Some("TONGUE_RETREAT"),
5015 Self::COUNT => Some("COUNT"),
5016 _ => None,
5017 };
5018 fmt_enum(fmt, self.0, name)
5019 }
5020}
5021#[doc = "See [XrFaceExpressionSet2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSet2FB)"]
5022#[repr(transparent)]
5023#[derive(Copy, Clone, Eq, PartialEq, Default)]
5024pub struct FaceExpressionSet2FB(i32);
5025impl FaceExpressionSet2FB {
5026 #[doc = "indicates that the created XrFaceTracker2FB tracks the set of blend shapes described by XrFaceExpression2FB enum, i.e. the xrGetFaceExpressionWeights2FB function returns an array of blend shapes with the count of XR_FACE_EXPRESSION2_COUNT_FB and can: be indexed using XrFaceExpression2FB."]
5027 pub const DEFAULT: FaceExpressionSet2FB = Self(0i32);
5028 pub fn from_raw(x: i32) -> Self {
5029 Self(x)
5030 }
5031 pub fn into_raw(self) -> i32 {
5032 self.0
5033 }
5034}
5035impl fmt::Debug for FaceExpressionSet2FB {
5036 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5037 let name = match *self {
5038 Self::DEFAULT => Some("DEFAULT"),
5039 _ => None,
5040 };
5041 fmt_enum(fmt, self.0, name)
5042 }
5043}
5044#[doc = "See [XrFaceTrackingDataSource2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingDataSource2FB)"]
5045#[repr(transparent)]
5046#[derive(Copy, Clone, Eq, PartialEq, Default)]
5047pub struct FaceTrackingDataSource2FB(i32);
5048impl FaceTrackingDataSource2FB {
5049 #[doc = "face tracking uses visual data to estimate expressions. Face tracking may use audio to further improve the quality of face tracking."]
5050 pub const VISUAL: FaceTrackingDataSource2FB = Self(0i32);
5051 #[doc = "face tracking uses audio data to estimate expressions."]
5052 pub const AUDIO: FaceTrackingDataSource2FB = Self(1i32);
5053 pub fn from_raw(x: i32) -> Self {
5054 Self(x)
5055 }
5056 pub fn into_raw(self) -> i32 {
5057 self.0
5058 }
5059}
5060impl fmt::Debug for FaceTrackingDataSource2FB {
5061 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5062 let name = match *self {
5063 Self::VISUAL => Some("VISUAL"),
5064 Self::AUDIO => Some("AUDIO"),
5065 _ => None,
5066 };
5067 fmt_enum(fmt, self.0, name)
5068 }
5069}
5070#[doc = "See [XrFaceConfidence2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidence2FB)"]
5071#[repr(transparent)]
5072#[derive(Copy, Clone, Eq, PartialEq, Default)]
5073pub struct FaceConfidence2FB(i32);
5074impl FaceConfidence2FB {
5075 pub const LOWER_FACE: FaceConfidence2FB = Self(0i32);
5076 pub const UPPER_FACE: FaceConfidence2FB = Self(1i32);
5077 pub const COUNT: FaceConfidence2FB = Self(2i32);
5078 pub fn from_raw(x: i32) -> Self {
5079 Self(x)
5080 }
5081 pub fn into_raw(self) -> i32 {
5082 self.0
5083 }
5084}
5085impl fmt::Debug for FaceConfidence2FB {
5086 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5087 let name = match *self {
5088 Self::LOWER_FACE => Some("LOWER_FACE"),
5089 Self::UPPER_FACE => Some("UPPER_FACE"),
5090 Self::COUNT => Some("COUNT"),
5091 _ => None,
5092 };
5093 fmt_enum(fmt, self.0, name)
5094 }
5095}
5096#[doc = "See [XrBodyJointFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointFB)"]
5097#[repr(transparent)]
5098#[derive(Copy, Clone, Eq, PartialEq, Default)]
5099pub struct BodyJointFB(i32);
5100impl BodyJointFB {
5101 pub const ROOT: BodyJointFB = Self(0i32);
5102 pub const HIPS: BodyJointFB = Self(1i32);
5103 pub const SPINE_LOWER: BodyJointFB = Self(2i32);
5104 pub const SPINE_MIDDLE: BodyJointFB = Self(3i32);
5105 pub const SPINE_UPPER: BodyJointFB = Self(4i32);
5106 pub const CHEST: BodyJointFB = Self(5i32);
5107 pub const NECK: BodyJointFB = Self(6i32);
5108 pub const HEAD: BodyJointFB = Self(7i32);
5109 pub const LEFT_SHOULDER: BodyJointFB = Self(8i32);
5110 pub const LEFT_SCAPULA: BodyJointFB = Self(9i32);
5111 pub const LEFT_ARM_UPPER: BodyJointFB = Self(10i32);
5112 pub const LEFT_ARM_LOWER: BodyJointFB = Self(11i32);
5113 pub const LEFT_HAND_WRIST_TWIST: BodyJointFB = Self(12i32);
5114 pub const RIGHT_SHOULDER: BodyJointFB = Self(13i32);
5115 pub const RIGHT_SCAPULA: BodyJointFB = Self(14i32);
5116 pub const RIGHT_ARM_UPPER: BodyJointFB = Self(15i32);
5117 pub const RIGHT_ARM_LOWER: BodyJointFB = Self(16i32);
5118 pub const RIGHT_HAND_WRIST_TWIST: BodyJointFB = Self(17i32);
5119 pub const LEFT_HAND_PALM: BodyJointFB = Self(18i32);
5120 pub const LEFT_HAND_WRIST: BodyJointFB = Self(19i32);
5121 pub const LEFT_HAND_THUMB_METACARPAL: BodyJointFB = Self(20i32);
5122 pub const LEFT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(21i32);
5123 pub const LEFT_HAND_THUMB_DISTAL: BodyJointFB = Self(22i32);
5124 pub const LEFT_HAND_THUMB_TIP: BodyJointFB = Self(23i32);
5125 pub const LEFT_HAND_INDEX_METACARPAL: BodyJointFB = Self(24i32);
5126 pub const LEFT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(25i32);
5127 pub const LEFT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(26i32);
5128 pub const LEFT_HAND_INDEX_DISTAL: BodyJointFB = Self(27i32);
5129 pub const LEFT_HAND_INDEX_TIP: BodyJointFB = Self(28i32);
5130 pub const LEFT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(29i32);
5131 pub const LEFT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(30i32);
5132 pub const LEFT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(31i32);
5133 pub const LEFT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(32i32);
5134 pub const LEFT_HAND_MIDDLE_TIP: BodyJointFB = Self(33i32);
5135 pub const LEFT_HAND_RING_METACARPAL: BodyJointFB = Self(34i32);
5136 pub const LEFT_HAND_RING_PROXIMAL: BodyJointFB = Self(35i32);
5137 pub const LEFT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(36i32);
5138 pub const LEFT_HAND_RING_DISTAL: BodyJointFB = Self(37i32);
5139 pub const LEFT_HAND_RING_TIP: BodyJointFB = Self(38i32);
5140 pub const LEFT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(39i32);
5141 pub const LEFT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(40i32);
5142 pub const LEFT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(41i32);
5143 pub const LEFT_HAND_LITTLE_DISTAL: BodyJointFB = Self(42i32);
5144 pub const LEFT_HAND_LITTLE_TIP: BodyJointFB = Self(43i32);
5145 pub const RIGHT_HAND_PALM: BodyJointFB = Self(44i32);
5146 pub const RIGHT_HAND_WRIST: BodyJointFB = Self(45i32);
5147 pub const RIGHT_HAND_THUMB_METACARPAL: BodyJointFB = Self(46i32);
5148 pub const RIGHT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(47i32);
5149 pub const RIGHT_HAND_THUMB_DISTAL: BodyJointFB = Self(48i32);
5150 pub const RIGHT_HAND_THUMB_TIP: BodyJointFB = Self(49i32);
5151 pub const RIGHT_HAND_INDEX_METACARPAL: BodyJointFB = Self(50i32);
5152 pub const RIGHT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(51i32);
5153 pub const RIGHT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(52i32);
5154 pub const RIGHT_HAND_INDEX_DISTAL: BodyJointFB = Self(53i32);
5155 pub const RIGHT_HAND_INDEX_TIP: BodyJointFB = Self(54i32);
5156 pub const RIGHT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(55i32);
5157 pub const RIGHT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(56i32);
5158 pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(57i32);
5159 pub const RIGHT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(58i32);
5160 pub const RIGHT_HAND_MIDDLE_TIP: BodyJointFB = Self(59i32);
5161 pub const RIGHT_HAND_RING_METACARPAL: BodyJointFB = Self(60i32);
5162 pub const RIGHT_HAND_RING_PROXIMAL: BodyJointFB = Self(61i32);
5163 pub const RIGHT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(62i32);
5164 pub const RIGHT_HAND_RING_DISTAL: BodyJointFB = Self(63i32);
5165 pub const RIGHT_HAND_RING_TIP: BodyJointFB = Self(64i32);
5166 pub const RIGHT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(65i32);
5167 pub const RIGHT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(66i32);
5168 pub const RIGHT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(67i32);
5169 pub const RIGHT_HAND_LITTLE_DISTAL: BodyJointFB = Self(68i32);
5170 pub const RIGHT_HAND_LITTLE_TIP: BodyJointFB = Self(69i32);
5171 pub const COUNT: BodyJointFB = Self(70i32);
5172 pub const NONE: BodyJointFB = Self(-1i32);
5173 pub fn from_raw(x: i32) -> Self {
5174 Self(x)
5175 }
5176 pub fn into_raw(self) -> i32 {
5177 self.0
5178 }
5179}
5180impl fmt::Debug for BodyJointFB {
5181 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5182 let name = match *self {
5183 Self::ROOT => Some("ROOT"),
5184 Self::HIPS => Some("HIPS"),
5185 Self::SPINE_LOWER => Some("SPINE_LOWER"),
5186 Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5187 Self::SPINE_UPPER => Some("SPINE_UPPER"),
5188 Self::CHEST => Some("CHEST"),
5189 Self::NECK => Some("NECK"),
5190 Self::HEAD => Some("HEAD"),
5191 Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5192 Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5193 Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5194 Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5195 Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5196 Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5197 Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5198 Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5199 Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5200 Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5201 Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5202 Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5203 Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5204 Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5205 Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5206 Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5207 Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5208 Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5209 Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5210 Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5211 Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5212 Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5213 Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5214 Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5215 Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5216 Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5217 Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5218 Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5219 Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5220 Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5221 Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5222 Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5223 Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5224 Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5225 Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5226 Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5227 Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5228 Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5229 Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5230 Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5231 Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5232 Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5233 Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5234 Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5235 Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5236 Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5237 Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5238 Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5239 Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5240 Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5241 Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5242 Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5243 Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5244 Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5245 Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5246 Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5247 Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5248 Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5249 Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5250 Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5251 Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5252 Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5253 Self::COUNT => Some("COUNT"),
5254 Self::NONE => Some("NONE"),
5255 _ => None,
5256 };
5257 fmt_enum(fmt, self.0, name)
5258 }
5259}
5260#[doc = "Describes the set of body joints to track when creating an XrBodyTrackerFB. - see [XrBodyJointSetFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetFB)"]
5261#[repr(transparent)]
5262#[derive(Copy, Clone, Eq, PartialEq, Default)]
5263pub struct BodyJointSetFB(i32);
5264impl BodyJointSetFB {
5265 #[doc = "Indicates that the created XrBodyTrackerFB tracks the set of body joints described by XrBodyJointFB enum, i.e. the xrLocateBodyJointsFB function returns an array of joint locations with the count of XR_BODY_JOINT_COUNT_FB and can be indexed using XrBodyJointFB. This includes the upper body, both hands, and torso."]
5266 pub const DEFAULT: BodyJointSetFB = Self(0i32);
5267 #[doc = "Indicates that the created XrBodyTrackerFB tracks the set of body joints described by XrFullBodyJointMETA enum, i.e. the xrLocateBodyJointsFB function returns an array of joint locations with the count of XR_FULL_BODY_JOINT_COUNT_META and can be indexed using XrFullBodyJointMETA. This extends the joints of XR_BODY_JOINT_SET_DEFAULT_FB by also including the lower body."]
5268 pub const FULL_BODY_M: BodyJointSetFB = Self(1000274000i32);
5269 pub fn from_raw(x: i32) -> Self {
5270 Self(x)
5271 }
5272 pub fn into_raw(self) -> i32 {
5273 self.0
5274 }
5275}
5276impl fmt::Debug for BodyJointSetFB {
5277 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5278 let name = match *self {
5279 Self::DEFAULT => Some("DEFAULT"),
5280 Self::FULL_BODY_M => Some("FULL_BODY_M"),
5281 _ => None,
5282 };
5283 fmt_enum(fmt, self.0, name)
5284 }
5285}
5286#[doc = "See [XrFullBodyJointMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFullBodyJointMETA)"]
5287#[repr(transparent)]
5288#[derive(Copy, Clone, Eq, PartialEq, Default)]
5289pub struct FullBodyJointMETA(i32);
5290impl FullBodyJointMETA {
5291 pub const ROOT: FullBodyJointMETA = Self(0i32);
5292 pub const HIPS: FullBodyJointMETA = Self(1i32);
5293 pub const SPINE_LOWER: FullBodyJointMETA = Self(2i32);
5294 pub const SPINE_MIDDLE: FullBodyJointMETA = Self(3i32);
5295 pub const SPINE_UPPER: FullBodyJointMETA = Self(4i32);
5296 pub const CHEST: FullBodyJointMETA = Self(5i32);
5297 pub const NECK: FullBodyJointMETA = Self(6i32);
5298 pub const HEAD: FullBodyJointMETA = Self(7i32);
5299 pub const LEFT_SHOULDER: FullBodyJointMETA = Self(8i32);
5300 pub const LEFT_SCAPULA: FullBodyJointMETA = Self(9i32);
5301 pub const LEFT_ARM_UPPER: FullBodyJointMETA = Self(10i32);
5302 pub const LEFT_ARM_LOWER: FullBodyJointMETA = Self(11i32);
5303 pub const LEFT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(12i32);
5304 pub const RIGHT_SHOULDER: FullBodyJointMETA = Self(13i32);
5305 pub const RIGHT_SCAPULA: FullBodyJointMETA = Self(14i32);
5306 pub const RIGHT_ARM_UPPER: FullBodyJointMETA = Self(15i32);
5307 pub const RIGHT_ARM_LOWER: FullBodyJointMETA = Self(16i32);
5308 pub const RIGHT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(17i32);
5309 pub const LEFT_HAND_PALM: FullBodyJointMETA = Self(18i32);
5310 pub const LEFT_HAND_WRIST: FullBodyJointMETA = Self(19i32);
5311 pub const LEFT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(20i32);
5312 pub const LEFT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(21i32);
5313 pub const LEFT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(22i32);
5314 pub const LEFT_HAND_THUMB_TIP: FullBodyJointMETA = Self(23i32);
5315 pub const LEFT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(24i32);
5316 pub const LEFT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(25i32);
5317 pub const LEFT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(26i32);
5318 pub const LEFT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(27i32);
5319 pub const LEFT_HAND_INDEX_TIP: FullBodyJointMETA = Self(28i32);
5320 pub const LEFT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(29i32);
5321 pub const LEFT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(30i32);
5322 pub const LEFT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(31i32);
5323 pub const LEFT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(32i32);
5324 pub const LEFT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(33i32);
5325 pub const LEFT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(34i32);
5326 pub const LEFT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(35i32);
5327 pub const LEFT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(36i32);
5328 pub const LEFT_HAND_RING_DISTAL: FullBodyJointMETA = Self(37i32);
5329 pub const LEFT_HAND_RING_TIP: FullBodyJointMETA = Self(38i32);
5330 pub const LEFT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(39i32);
5331 pub const LEFT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(40i32);
5332 pub const LEFT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(41i32);
5333 pub const LEFT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(42i32);
5334 pub const LEFT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(43i32);
5335 pub const RIGHT_HAND_PALM: FullBodyJointMETA = Self(44i32);
5336 pub const RIGHT_HAND_WRIST: FullBodyJointMETA = Self(45i32);
5337 pub const RIGHT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(46i32);
5338 pub const RIGHT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(47i32);
5339 pub const RIGHT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(48i32);
5340 pub const RIGHT_HAND_THUMB_TIP: FullBodyJointMETA = Self(49i32);
5341 pub const RIGHT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(50i32);
5342 pub const RIGHT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(51i32);
5343 pub const RIGHT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(52i32);
5344 pub const RIGHT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(53i32);
5345 pub const RIGHT_HAND_INDEX_TIP: FullBodyJointMETA = Self(54i32);
5346 pub const RIGHT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(55i32);
5347 pub const RIGHT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(56i32);
5348 pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(57i32);
5349 pub const RIGHT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(58i32);
5350 pub const RIGHT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(59i32);
5351 pub const RIGHT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(60i32);
5352 pub const RIGHT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(61i32);
5353 pub const RIGHT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(62i32);
5354 pub const RIGHT_HAND_RING_DISTAL: FullBodyJointMETA = Self(63i32);
5355 pub const RIGHT_HAND_RING_TIP: FullBodyJointMETA = Self(64i32);
5356 pub const RIGHT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(65i32);
5357 pub const RIGHT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(66i32);
5358 pub const RIGHT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(67i32);
5359 pub const RIGHT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(68i32);
5360 pub const RIGHT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(69i32);
5361 pub const LEFT_UPPER_LEG: FullBodyJointMETA = Self(70i32);
5362 pub const LEFT_LOWER_LEG: FullBodyJointMETA = Self(71i32);
5363 pub const LEFT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(72i32);
5364 pub const LEFT_FOOT_ANKLE: FullBodyJointMETA = Self(73i32);
5365 pub const LEFT_FOOT_SUBTALAR: FullBodyJointMETA = Self(74i32);
5366 pub const LEFT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(75i32);
5367 pub const LEFT_FOOT_BALL: FullBodyJointMETA = Self(76i32);
5368 pub const RIGHT_UPPER_LEG: FullBodyJointMETA = Self(77i32);
5369 pub const RIGHT_LOWER_LEG: FullBodyJointMETA = Self(78i32);
5370 pub const RIGHT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(79i32);
5371 pub const RIGHT_FOOT_ANKLE: FullBodyJointMETA = Self(80i32);
5372 pub const RIGHT_FOOT_SUBTALAR: FullBodyJointMETA = Self(81i32);
5373 pub const RIGHT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(82i32);
5374 pub const RIGHT_FOOT_BALL: FullBodyJointMETA = Self(83i32);
5375 pub const COUNT: FullBodyJointMETA = Self(84i32);
5376 pub const NONE: FullBodyJointMETA = Self(85i32);
5377 pub fn from_raw(x: i32) -> Self {
5378 Self(x)
5379 }
5380 pub fn into_raw(self) -> i32 {
5381 self.0
5382 }
5383}
5384impl fmt::Debug for FullBodyJointMETA {
5385 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5386 let name = match *self {
5387 Self::ROOT => Some("ROOT"),
5388 Self::HIPS => Some("HIPS"),
5389 Self::SPINE_LOWER => Some("SPINE_LOWER"),
5390 Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5391 Self::SPINE_UPPER => Some("SPINE_UPPER"),
5392 Self::CHEST => Some("CHEST"),
5393 Self::NECK => Some("NECK"),
5394 Self::HEAD => Some("HEAD"),
5395 Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5396 Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5397 Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5398 Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5399 Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5400 Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5401 Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5402 Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5403 Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5404 Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5405 Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5406 Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5407 Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5408 Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5409 Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5410 Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5411 Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5412 Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5413 Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5414 Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5415 Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5416 Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5417 Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5418 Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5419 Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5420 Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5421 Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5422 Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5423 Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5424 Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5425 Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5426 Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5427 Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5428 Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5429 Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5430 Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5431 Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5432 Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5433 Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5434 Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5435 Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5436 Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5437 Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5438 Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5439 Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5440 Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5441 Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5442 Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5443 Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5444 Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5445 Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5446 Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5447 Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5448 Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5449 Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5450 Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5451 Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5452 Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5453 Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5454 Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5455 Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5456 Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5457 Self::LEFT_UPPER_LEG => Some("LEFT_UPPER_LEG"),
5458 Self::LEFT_LOWER_LEG => Some("LEFT_LOWER_LEG"),
5459 Self::LEFT_FOOT_ANKLE_TWIST => Some("LEFT_FOOT_ANKLE_TWIST"),
5460 Self::LEFT_FOOT_ANKLE => Some("LEFT_FOOT_ANKLE"),
5461 Self::LEFT_FOOT_SUBTALAR => Some("LEFT_FOOT_SUBTALAR"),
5462 Self::LEFT_FOOT_TRANSVERSE => Some("LEFT_FOOT_TRANSVERSE"),
5463 Self::LEFT_FOOT_BALL => Some("LEFT_FOOT_BALL"),
5464 Self::RIGHT_UPPER_LEG => Some("RIGHT_UPPER_LEG"),
5465 Self::RIGHT_LOWER_LEG => Some("RIGHT_LOWER_LEG"),
5466 Self::RIGHT_FOOT_ANKLE_TWIST => Some("RIGHT_FOOT_ANKLE_TWIST"),
5467 Self::RIGHT_FOOT_ANKLE => Some("RIGHT_FOOT_ANKLE"),
5468 Self::RIGHT_FOOT_SUBTALAR => Some("RIGHT_FOOT_SUBTALAR"),
5469 Self::RIGHT_FOOT_TRANSVERSE => Some("RIGHT_FOOT_TRANSVERSE"),
5470 Self::RIGHT_FOOT_BALL => Some("RIGHT_FOOT_BALL"),
5471 Self::COUNT => Some("COUNT"),
5472 Self::NONE => Some("NONE"),
5473 _ => None,
5474 };
5475 fmt_enum(fmt, self.0, name)
5476 }
5477}
5478#[doc = "See [XrBodyTrackingCalibrationStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationStateMETA)"]
5479#[repr(transparent)]
5480#[derive(Copy, Clone, Eq, PartialEq)]
5481pub struct BodyTrackingCalibrationStateMETA(i32);
5482impl BodyTrackingCalibrationStateMETA {
5483 #[doc = "Valid calibration, body tracking expected to be stable."]
5484 pub const VALID: BodyTrackingCalibrationStateMETA = Self(1i32);
5485 #[doc = "Calibration is in progress, body joint poses from XR_FB_body_tracking are valid to read and internally consistent within a single call, but may: be more variable than normal, shifting dramatically before calibration ends."]
5486 pub const CALIBRATING: BodyTrackingCalibrationStateMETA = Self(2i32);
5487 #[doc = "Calibration is invalid, accessing the body joint poses from XR_FB_body_tracking is defined behavior but their contents are unspecified. Tracking data may: be read but must: not be interpreted as body tracking poses."]
5488 pub const INVALID: BodyTrackingCalibrationStateMETA = Self(3i32);
5489 pub fn from_raw(x: i32) -> Self {
5490 Self(x)
5491 }
5492 pub fn into_raw(self) -> i32 {
5493 self.0
5494 }
5495}
5496impl fmt::Debug for BodyTrackingCalibrationStateMETA {
5497 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5498 let name = match *self {
5499 Self::VALID => Some("VALID"),
5500 Self::CALIBRATING => Some("CALIBRATING"),
5501 Self::INVALID => Some("INVALID"),
5502 _ => None,
5503 };
5504 fmt_enum(fmt, self.0, name)
5505 }
5506}
5507#[doc = "See [XrEyePositionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyePositionFB)"]
5508#[repr(transparent)]
5509#[derive(Copy, Clone, Eq, PartialEq, Default)]
5510pub struct EyePositionFB(i32);
5511impl EyePositionFB {
5512 #[doc = "Specifies the position of the left eye."]
5513 pub const LEFT: EyePositionFB = Self(0i32);
5514 #[doc = "Specifies the position of the right eye."]
5515 pub const RIGHT: EyePositionFB = Self(1i32);
5516 #[doc = "Specifies the number of eyes tracked."]
5517 pub const COUNT: EyePositionFB = Self(2i32);
5518 pub fn from_raw(x: i32) -> Self {
5519 Self(x)
5520 }
5521 pub fn into_raw(self) -> i32 {
5522 self.0
5523 }
5524}
5525impl fmt::Debug for EyePositionFB {
5526 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5527 let name = match *self {
5528 Self::LEFT => Some("LEFT"),
5529 Self::RIGHT => Some("RIGHT"),
5530 Self::COUNT => Some("COUNT"),
5531 _ => None,
5532 };
5533 fmt_enum(fmt, self.0, name)
5534 }
5535}
5536#[doc = "See [XrTrackingOptimizationSettingsDomainQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsDomainQCOM)"]
5537#[repr(transparent)]
5538#[derive(Copy, Clone, Eq, PartialEq)]
5539pub struct TrackingOptimizationSettingsDomainQCOM(i32);
5540impl TrackingOptimizationSettingsDomainQCOM {
5541 #[doc = "Setting applies to all QCOM tracking extensions."]
5542 pub const ALL: TrackingOptimizationSettingsDomainQCOM = Self(1i32);
5543 pub fn from_raw(x: i32) -> Self {
5544 Self(x)
5545 }
5546 pub fn into_raw(self) -> i32 {
5547 self.0
5548 }
5549}
5550impl fmt::Debug for TrackingOptimizationSettingsDomainQCOM {
5551 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5552 let name = match *self {
5553 Self::ALL => Some("ALL"),
5554 _ => None,
5555 };
5556 fmt_enum(fmt, self.0, name)
5557 }
5558}
5559#[doc = "See [XrTrackingOptimizationSettingsHintQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsHintQCOM)"]
5560#[repr(transparent)]
5561#[derive(Copy, Clone, Eq, PartialEq, Default)]
5562pub struct TrackingOptimizationSettingsHintQCOM(i32);
5563impl TrackingOptimizationSettingsHintQCOM {
5564 #[doc = "Used by the application to indicate that it does not have a preference to optimize for. The run-time is understood to choose a balanced approach."]
5565 pub const NONE: TrackingOptimizationSettingsHintQCOM = Self(0i32);
5566 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for long range, possibly at the expense of competing interests."]
5567 pub const LONG_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(1i32);
5568 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for close range, possibly at the expense of competing interests."]
5569 pub const CLOSE_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(2i32);
5570 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for low power consumption, possibly at the expense of competing interests."]
5571 pub const LOW_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(3i32);
5572 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for increased tracking performance, possibly at the cost of increased power consumption."]
5573 pub const HIGH_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(4i32);
5574 pub fn from_raw(x: i32) -> Self {
5575 Self(x)
5576 }
5577 pub fn into_raw(self) -> i32 {
5578 self.0
5579 }
5580}
5581impl fmt::Debug for TrackingOptimizationSettingsHintQCOM {
5582 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5583 let name = match *self {
5584 Self::NONE => Some("NONE"),
5585 Self::LONG_RANGE_PRIORIZATION => Some("LONG_RANGE_PRIORIZATION"),
5586 Self::CLOSE_RANGE_PRIORIZATION => Some("CLOSE_RANGE_PRIORIZATION"),
5587 Self::LOW_POWER_PRIORIZATION => Some("LOW_POWER_PRIORIZATION"),
5588 Self::HIGH_POWER_PRIORIZATION => Some("HIGH_POWER_PRIORIZATION"),
5589 _ => None,
5590 };
5591 fmt_enum(fmt, self.0, name)
5592 }
5593}
5594#[doc = "See [XrForceFeedbackCurlLocationMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlLocationMNDX)"]
5595#[repr(transparent)]
5596#[derive(Copy, Clone, Eq, PartialEq, Default)]
5597pub struct ForceFeedbackCurlLocationMNDX(i32);
5598impl ForceFeedbackCurlLocationMNDX {
5599 #[doc = "force feedback for thumb curl"]
5600 pub const THUMB_CURL: ForceFeedbackCurlLocationMNDX = Self(0i32);
5601 #[doc = "force feedback for index finger curl"]
5602 pub const INDEX_CURL: ForceFeedbackCurlLocationMNDX = Self(1i32);
5603 #[doc = "force feedback for middle finger curl"]
5604 pub const MIDDLE_CURL: ForceFeedbackCurlLocationMNDX = Self(2i32);
5605 #[doc = "force feedback for ring finger curl"]
5606 pub const RING_CURL: ForceFeedbackCurlLocationMNDX = Self(3i32);
5607 #[doc = "force feedback for little finger curl"]
5608 pub const LITTLE_CURL: ForceFeedbackCurlLocationMNDX = Self(4i32);
5609 pub fn from_raw(x: i32) -> Self {
5610 Self(x)
5611 }
5612 pub fn into_raw(self) -> i32 {
5613 self.0
5614 }
5615}
5616impl fmt::Debug for ForceFeedbackCurlLocationMNDX {
5617 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5618 let name = match *self {
5619 Self::THUMB_CURL => Some("THUMB_CURL"),
5620 Self::INDEX_CURL => Some("INDEX_CURL"),
5621 Self::MIDDLE_CURL => Some("MIDDLE_CURL"),
5622 Self::RING_CURL => Some("RING_CURL"),
5623 Self::LITTLE_CURL => Some("LITTLE_CURL"),
5624 _ => None,
5625 };
5626 fmt_enum(fmt, self.0, name)
5627 }
5628}
5629#[doc = "See [XrPlaneDetectionStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionStateEXT)"]
5630#[repr(transparent)]
5631#[derive(Copy, Clone, Eq, PartialEq, Default)]
5632pub struct PlaneDetectionStateEXT(i32);
5633impl PlaneDetectionStateEXT {
5634 pub const NONE: PlaneDetectionStateEXT = Self(0i32);
5635 pub const PENDING: PlaneDetectionStateEXT = Self(1i32);
5636 pub const DONE: PlaneDetectionStateEXT = Self(2i32);
5637 pub const ERROR: PlaneDetectionStateEXT = Self(3i32);
5638 pub const FATAL: PlaneDetectionStateEXT = Self(4i32);
5639 pub fn from_raw(x: i32) -> Self {
5640 Self(x)
5641 }
5642 pub fn into_raw(self) -> i32 {
5643 self.0
5644 }
5645}
5646impl fmt::Debug for PlaneDetectionStateEXT {
5647 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5648 let name = match *self {
5649 Self::NONE => Some("NONE"),
5650 Self::PENDING => Some("PENDING"),
5651 Self::DONE => Some("DONE"),
5652 Self::ERROR => Some("ERROR"),
5653 Self::FATAL => Some("FATAL"),
5654 _ => None,
5655 };
5656 fmt_enum(fmt, self.0, name)
5657 }
5658}
5659#[doc = "See [XrPlaneDetectorOrientationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorOrientationEXT)"]
5660#[repr(transparent)]
5661#[derive(Copy, Clone, Eq, PartialEq, Default)]
5662pub struct PlaneDetectorOrientationEXT(i32);
5663impl PlaneDetectorOrientationEXT {
5664 #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
5665 pub const HORIZONTAL_UPWARD: PlaneDetectorOrientationEXT = Self(0i32);
5666 #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
5667 pub const HORIZONTAL_DOWNWARD: PlaneDetectorOrientationEXT = Self(1i32);
5668 #[doc = "The detected plane is vertical (e.g. wall)."]
5669 pub const VERTICAL: PlaneDetectorOrientationEXT = Self(2i32);
5670 #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
5671 pub const ARBITRARY: PlaneDetectorOrientationEXT = Self(3i32);
5672 pub fn from_raw(x: i32) -> Self {
5673 Self(x)
5674 }
5675 pub fn into_raw(self) -> i32 {
5676 self.0
5677 }
5678}
5679impl fmt::Debug for PlaneDetectorOrientationEXT {
5680 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5681 let name = match *self {
5682 Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
5683 Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
5684 Self::VERTICAL => Some("VERTICAL"),
5685 Self::ARBITRARY => Some("ARBITRARY"),
5686 _ => None,
5687 };
5688 fmt_enum(fmt, self.0, name)
5689 }
5690}
5691#[doc = "See [XrPlaneDetectorSemanticTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorSemanticTypeEXT)"]
5692#[repr(transparent)]
5693#[derive(Copy, Clone, Eq, PartialEq, Default)]
5694pub struct PlaneDetectorSemanticTypeEXT(i32);
5695impl PlaneDetectorSemanticTypeEXT {
5696 #[doc = "The runtime was unable to classify this plane."]
5697 pub const UNDEFINED: PlaneDetectorSemanticTypeEXT = Self(0i32);
5698 #[doc = "The detected plane is a ceiling."]
5699 pub const CEILING: PlaneDetectorSemanticTypeEXT = Self(1i32);
5700 #[doc = "The detected plane is a floor."]
5701 pub const FLOOR: PlaneDetectorSemanticTypeEXT = Self(2i32);
5702 #[doc = "The detected plane is a wall."]
5703 pub const WALL: PlaneDetectorSemanticTypeEXT = Self(3i32);
5704 #[doc = "The detected plane is a platform, like a table."]
5705 pub const PLATFORM: PlaneDetectorSemanticTypeEXT = Self(4i32);
5706 pub fn from_raw(x: i32) -> Self {
5707 Self(x)
5708 }
5709 pub fn into_raw(self) -> i32 {
5710 self.0
5711 }
5712}
5713impl fmt::Debug for PlaneDetectorSemanticTypeEXT {
5714 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5715 let name = match *self {
5716 Self::UNDEFINED => Some("UNDEFINED"),
5717 Self::CEILING => Some("CEILING"),
5718 Self::FLOOR => Some("FLOOR"),
5719 Self::WALL => Some("WALL"),
5720 Self::PLATFORM => Some("PLATFORM"),
5721 _ => None,
5722 };
5723 fmt_enum(fmt, self.0, name)
5724 }
5725}
5726#[doc = "See [XrVirtualKeyboardLocationTypeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardLocationTypeMETA)"]
5727#[repr(transparent)]
5728#[derive(Copy, Clone, Eq, PartialEq, Default)]
5729pub struct VirtualKeyboardLocationTypeMETA(i32);
5730impl VirtualKeyboardLocationTypeMETA {
5731 #[doc = "Indicates that the application will provide the position and scale of the keyboard."]
5732 pub const CUSTOM: VirtualKeyboardLocationTypeMETA = Self(0i32);
5733 #[doc = "Indicates that the runtime will set the position and scale for far field keyboard."]
5734 pub const FAR: VirtualKeyboardLocationTypeMETA = Self(1i32);
5735 #[doc = "Indicates that the runtime will set the position and scale for direct interaction keyboard."]
5736 pub const DIRECT: VirtualKeyboardLocationTypeMETA = Self(2i32);
5737 pub fn from_raw(x: i32) -> Self {
5738 Self(x)
5739 }
5740 pub fn into_raw(self) -> i32 {
5741 self.0
5742 }
5743}
5744impl fmt::Debug for VirtualKeyboardLocationTypeMETA {
5745 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5746 let name = match *self {
5747 Self::CUSTOM => Some("CUSTOM"),
5748 Self::FAR => Some("FAR"),
5749 Self::DIRECT => Some("DIRECT"),
5750 _ => None,
5751 };
5752 fmt_enum(fmt, self.0, name)
5753 }
5754}
5755#[doc = "See [XrVirtualKeyboardInputSourceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputSourceMETA)"]
5756#[repr(transparent)]
5757#[derive(Copy, Clone, Eq, PartialEq)]
5758pub struct VirtualKeyboardInputSourceMETA(i32);
5759impl VirtualKeyboardInputSourceMETA {
5760 #[doc = "Left controller ray."]
5761 pub const CONTROLLER_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(1i32);
5762 #[doc = "Right controller ray."]
5763 pub const CONTROLLER_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(2i32);
5764 #[doc = "Left hand ray."]
5765 pub const HAND_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(3i32);
5766 #[doc = "Right hand ray."]
5767 pub const HAND_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(4i32);
5768 #[doc = "Left controller direct touch."]
5769 pub const CONTROLLER_DIRECT_LEFT: VirtualKeyboardInputSourceMETA = Self(5i32);
5770 #[doc = "Right controller direct touch."]
5771 pub const CONTROLLER_DIRECT_RIGHT: VirtualKeyboardInputSourceMETA = Self(6i32);
5772 #[doc = "Left hand direct touch."]
5773 pub const HAND_DIRECT_INDEX_TIP_LEFT: VirtualKeyboardInputSourceMETA = Self(7i32);
5774 #[doc = "Right hand direct touch."]
5775 pub const HAND_DIRECT_INDEX_TIP_RIGHT: VirtualKeyboardInputSourceMETA = Self(8i32);
5776 pub fn from_raw(x: i32) -> Self {
5777 Self(x)
5778 }
5779 pub fn into_raw(self) -> i32 {
5780 self.0
5781 }
5782}
5783impl fmt::Debug for VirtualKeyboardInputSourceMETA {
5784 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5785 let name = match *self {
5786 Self::CONTROLLER_RAY_LEFT => Some("CONTROLLER_RAY_LEFT"),
5787 Self::CONTROLLER_RAY_RIGHT => Some("CONTROLLER_RAY_RIGHT"),
5788 Self::HAND_RAY_LEFT => Some("HAND_RAY_LEFT"),
5789 Self::HAND_RAY_RIGHT => Some("HAND_RAY_RIGHT"),
5790 Self::CONTROLLER_DIRECT_LEFT => Some("CONTROLLER_DIRECT_LEFT"),
5791 Self::CONTROLLER_DIRECT_RIGHT => Some("CONTROLLER_DIRECT_RIGHT"),
5792 Self::HAND_DIRECT_INDEX_TIP_LEFT => Some("HAND_DIRECT_INDEX_TIP_LEFT"),
5793 Self::HAND_DIRECT_INDEX_TIP_RIGHT => Some("HAND_DIRECT_INDEX_TIP_RIGHT"),
5794 _ => None,
5795 };
5796 fmt_enum(fmt, self.0, name)
5797 }
5798}
5799#[doc = "See [XrHeadsetFitStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHeadsetFitStatusML)"]
5800#[repr(transparent)]
5801#[derive(Copy, Clone, Eq, PartialEq, Default)]
5802pub struct HeadsetFitStatusML(i32);
5803impl HeadsetFitStatusML {
5804 #[doc = "Headset fit status not available for unknown reason."]
5805 pub const UNKNOWN: HeadsetFitStatusML = Self(0i32);
5806 #[doc = "Headset not worn."]
5807 pub const NOT_WORN: HeadsetFitStatusML = Self(1i32);
5808 #[doc = "Good fit."]
5809 pub const GOOD_FIT: HeadsetFitStatusML = Self(2i32);
5810 #[doc = "Bad fit."]
5811 pub const BAD_FIT: HeadsetFitStatusML = Self(3i32);
5812 pub fn from_raw(x: i32) -> Self {
5813 Self(x)
5814 }
5815 pub fn into_raw(self) -> i32 {
5816 self.0
5817 }
5818}
5819impl fmt::Debug for HeadsetFitStatusML {
5820 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5821 let name = match *self {
5822 Self::UNKNOWN => Some("UNKNOWN"),
5823 Self::NOT_WORN => Some("NOT_WORN"),
5824 Self::GOOD_FIT => Some("GOOD_FIT"),
5825 Self::BAD_FIT => Some("BAD_FIT"),
5826 _ => None,
5827 };
5828 fmt_enum(fmt, self.0, name)
5829 }
5830}
5831#[doc = "See [XrEyeCalibrationStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeCalibrationStatusML)"]
5832#[repr(transparent)]
5833#[derive(Copy, Clone, Eq, PartialEq, Default)]
5834pub struct EyeCalibrationStatusML(i32);
5835impl EyeCalibrationStatusML {
5836 #[doc = "Eye calibration status not available for unknown reason."]
5837 pub const UNKNOWN: EyeCalibrationStatusML = Self(0i32);
5838 #[doc = "User has not performed the eye calibration step. Use system provided app to perform eye calibration."]
5839 pub const NONE: EyeCalibrationStatusML = Self(1i32);
5840 #[doc = "Eye calibration is of lower accuracy."]
5841 pub const COARSE: EyeCalibrationStatusML = Self(2i32);
5842 #[doc = "Eye calibration is of higher accuracy."]
5843 pub const FINE: EyeCalibrationStatusML = Self(3i32);
5844 pub fn from_raw(x: i32) -> Self {
5845 Self(x)
5846 }
5847 pub fn into_raw(self) -> i32 {
5848 self.0
5849 }
5850}
5851impl fmt::Debug for EyeCalibrationStatusML {
5852 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5853 let name = match *self {
5854 Self::UNKNOWN => Some("UNKNOWN"),
5855 Self::NONE => Some("NONE"),
5856 Self::COARSE => Some("COARSE"),
5857 Self::FINE => Some("FINE"),
5858 _ => None,
5859 };
5860 fmt_enum(fmt, self.0, name)
5861 }
5862}
5863#[doc = "See [XrLocalizationMapStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapStateML)"]
5864#[repr(transparent)]
5865#[derive(Copy, Clone, Eq, PartialEq, Default)]
5866pub struct LocalizationMapStateML(i32);
5867impl LocalizationMapStateML {
5868 #[doc = "The system is not localized into a map. Features like Spatial Anchors relying on localization will not work."]
5869 pub const NOT_LOCALIZED: LocalizationMapStateML = Self(0i32);
5870 #[doc = "The system is localized into a map."]
5871 pub const LOCALIZED: LocalizationMapStateML = Self(1i32);
5872 #[doc = "The system is localizing into a map."]
5873 pub const LOCALIZATION_PENDING: LocalizationMapStateML = Self(2i32);
5874 #[doc = "Initial localization failed, the system will retry localization."]
5875 pub const LOCALIZATION_SLEEPING_BEFORE_RETRY: LocalizationMapStateML = Self(3i32);
5876 pub fn from_raw(x: i32) -> Self {
5877 Self(x)
5878 }
5879 pub fn into_raw(self) -> i32 {
5880 self.0
5881 }
5882}
5883impl fmt::Debug for LocalizationMapStateML {
5884 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5885 let name = match *self {
5886 Self::NOT_LOCALIZED => Some("NOT_LOCALIZED"),
5887 Self::LOCALIZED => Some("LOCALIZED"),
5888 Self::LOCALIZATION_PENDING => Some("LOCALIZATION_PENDING"),
5889 Self::LOCALIZATION_SLEEPING_BEFORE_RETRY => Some("LOCALIZATION_SLEEPING_BEFORE_RETRY"),
5890 _ => None,
5891 };
5892 fmt_enum(fmt, self.0, name)
5893 }
5894}
5895#[doc = "See [XrLocalizationMapTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapTypeML)"]
5896#[repr(transparent)]
5897#[derive(Copy, Clone, Eq, PartialEq, Default)]
5898pub struct LocalizationMapTypeML(i32);
5899impl LocalizationMapTypeML {
5900 #[doc = "The system is localized into an On-Device map, published anchors are not shared between different devices."]
5901 pub const ON_DEVICE: LocalizationMapTypeML = Self(0i32);
5902 #[doc = "The system is localized into a Cloud Map, anchors are shared per cloud account settings."]
5903 pub const CLOUD: LocalizationMapTypeML = Self(1i32);
5904 pub fn from_raw(x: i32) -> Self {
5905 Self(x)
5906 }
5907 pub fn into_raw(self) -> i32 {
5908 self.0
5909 }
5910}
5911impl fmt::Debug for LocalizationMapTypeML {
5912 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5913 let name = match *self {
5914 Self::ON_DEVICE => Some("ON_DEVICE"),
5915 Self::CLOUD => Some("CLOUD"),
5916 _ => None,
5917 };
5918 fmt_enum(fmt, self.0, name)
5919 }
5920}
5921#[doc = "See [XrLocalizationMapConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapConfidenceML)"]
5922#[repr(transparent)]
5923#[derive(Copy, Clone, Eq, PartialEq, Default)]
5924pub struct LocalizationMapConfidenceML(i32);
5925impl LocalizationMapConfidenceML {
5926 #[doc = "The localization map has poor confidence, systems relying on the localization map are likely to have poor performance."]
5927 pub const POOR: LocalizationMapConfidenceML = Self(0i32);
5928 #[doc = "The confidence is fair, current environmental conditions may adversely affect localization."]
5929 pub const FAIR: LocalizationMapConfidenceML = Self(1i32);
5930 #[doc = "The confidence is high, persistent content should be stable."]
5931 pub const GOOD: LocalizationMapConfidenceML = Self(2i32);
5932 #[doc = "This is a very high-confidence localization, persistent content will be very stable."]
5933 pub const EXCELLENT: LocalizationMapConfidenceML = Self(3i32);
5934 pub fn from_raw(x: i32) -> Self {
5935 Self(x)
5936 }
5937 pub fn into_raw(self) -> i32 {
5938 self.0
5939 }
5940}
5941impl fmt::Debug for LocalizationMapConfidenceML {
5942 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5943 let name = match *self {
5944 Self::POOR => Some("POOR"),
5945 Self::FAIR => Some("FAIR"),
5946 Self::GOOD => Some("GOOD"),
5947 Self::EXCELLENT => Some("EXCELLENT"),
5948 _ => None,
5949 };
5950 fmt_enum(fmt, self.0, name)
5951 }
5952}
5953#[doc = "See [XrMarkerDetectorProfileML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorProfileML)"]
5954#[repr(transparent)]
5955#[derive(Copy, Clone, Eq, PartialEq, Default)]
5956pub struct MarkerDetectorProfileML(i32);
5957impl MarkerDetectorProfileML {
5958 #[doc = "Tracker profile that covers standard use cases. If this does not suite the needs of the application try the other profiles listed below."]
5959 pub const DEFAULT: MarkerDetectorProfileML = Self(0i32);
5960 #[doc = "Optimized for speed. Use this profile to reduce the compute load and increase detection/tracker speed. This can result in low accuracy poses."]
5961 pub const SPEED: MarkerDetectorProfileML = Self(1i32);
5962 #[doc = "Optimized for accuracy. Use this profile to optimize for accurate marker poses. This can cause increased load on the compute."]
5963 pub const ACCURACY: MarkerDetectorProfileML = Self(2i32);
5964 #[doc = "Optimized for small targets. Use this profile to optimize for markers that are small or for larger markers that need to be detected from afar."]
5965 pub const SMALL_TARGETS: MarkerDetectorProfileML = Self(3i32);
5966 #[doc = "Optimized for FoV. Use this profile to be able to detect markers across a larger FoV. The marker tracker system will attempt to use multiple cameras to detect the markers."]
5967 pub const LARGE_FOV: MarkerDetectorProfileML = Self(4i32);
5968 #[doc = "Custom Tracker Profile. The application can define a custom tracker profile. See XrMarkerDetectorCustomProfileInfoML for more details."]
5969 pub const CUSTOM: MarkerDetectorProfileML = Self(5i32);
5970 pub fn from_raw(x: i32) -> Self {
5971 Self(x)
5972 }
5973 pub fn into_raw(self) -> i32 {
5974 self.0
5975 }
5976}
5977impl fmt::Debug for MarkerDetectorProfileML {
5978 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5979 let name = match *self {
5980 Self::DEFAULT => Some("DEFAULT"),
5981 Self::SPEED => Some("SPEED"),
5982 Self::ACCURACY => Some("ACCURACY"),
5983 Self::SMALL_TARGETS => Some("SMALL_TARGETS"),
5984 Self::LARGE_FOV => Some("LARGE_FOV"),
5985 Self::CUSTOM => Some("CUSTOM"),
5986 _ => None,
5987 };
5988 fmt_enum(fmt, self.0, name)
5989 }
5990}
5991#[doc = "See [XrMarkerTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerTypeML)"]
5992#[repr(transparent)]
5993#[derive(Copy, Clone, Eq, PartialEq, Default)]
5994pub struct MarkerTypeML(i32);
5995impl MarkerTypeML {
5996 #[doc = "Aruco Marker detection and localization. The marker id of the Aruco marker is available via xrGetMarkerNumberML."]
5997 pub const ARUCO: MarkerTypeML = Self(0i32);
5998 #[doc = "AprilTag detection and localization. The marker id of the AprilTags is available via xrGetMarkerNumberML."]
5999 pub const APRIL_TAG: MarkerTypeML = Self(1i32);
6000 #[doc = "QR code detection and localization. The contents of the QR code is available via xrGetMarkerStringML."]
6001 pub const QR: MarkerTypeML = Self(2i32);
6002 #[doc = "EAN-13, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6003 pub const EAN_13: MarkerTypeML = Self(3i32);
6004 #[doc = "UPC-A, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6005 pub const UPC_A: MarkerTypeML = Self(4i32);
6006 #[doc = "Code 128, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6007 pub const CODE_128: MarkerTypeML = Self(5i32);
6008 pub fn from_raw(x: i32) -> Self {
6009 Self(x)
6010 }
6011 pub fn into_raw(self) -> i32 {
6012 self.0
6013 }
6014}
6015impl fmt::Debug for MarkerTypeML {
6016 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6017 let name = match *self {
6018 Self::ARUCO => Some("ARUCO"),
6019 Self::APRIL_TAG => Some("APRIL_TAG"),
6020 Self::QR => Some("QR"),
6021 Self::EAN_13 => Some("EAN_13"),
6022 Self::UPC_A => Some("UPC_A"),
6023 Self::CODE_128 => Some("CODE_128"),
6024 _ => None,
6025 };
6026 fmt_enum(fmt, self.0, name)
6027 }
6028}
6029#[doc = "See [XrMarkerArucoDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerArucoDictML)"]
6030#[repr(transparent)]
6031#[derive(Copy, Clone, Eq, PartialEq, Default)]
6032pub struct MarkerArucoDictML(i32);
6033impl MarkerArucoDictML {
6034 #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
6035 pub const DICT_4X4_50: MarkerArucoDictML = Self(0i32);
6036 #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
6037 pub const DICT_4X4_100: MarkerArucoDictML = Self(1i32);
6038 #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
6039 pub const DICT_4X4_250: MarkerArucoDictML = Self(2i32);
6040 #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
6041 pub const DICT_4X4_1000: MarkerArucoDictML = Self(3i32);
6042 #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
6043 pub const DICT_5X5_50: MarkerArucoDictML = Self(4i32);
6044 #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
6045 pub const DICT_5X5_100: MarkerArucoDictML = Self(5i32);
6046 #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
6047 pub const DICT_5X5_250: MarkerArucoDictML = Self(6i32);
6048 #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
6049 pub const DICT_5X5_1000: MarkerArucoDictML = Self(7i32);
6050 #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
6051 pub const DICT_6X6_50: MarkerArucoDictML = Self(8i32);
6052 #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
6053 pub const DICT_6X6_100: MarkerArucoDictML = Self(9i32);
6054 #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
6055 pub const DICT_6X6_250: MarkerArucoDictML = Self(10i32);
6056 #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
6057 pub const DICT_6X6_1000: MarkerArucoDictML = Self(11i32);
6058 #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
6059 pub const DICT_7X7_50: MarkerArucoDictML = Self(12i32);
6060 #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
6061 pub const DICT_7X7_100: MarkerArucoDictML = Self(13i32);
6062 #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
6063 pub const DICT_7X7_250: MarkerArucoDictML = Self(14i32);
6064 #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
6065 pub const DICT_7X7_1000: MarkerArucoDictML = Self(15i32);
6066 pub fn from_raw(x: i32) -> Self {
6067 Self(x)
6068 }
6069 pub fn into_raw(self) -> i32 {
6070 self.0
6071 }
6072}
6073impl fmt::Debug for MarkerArucoDictML {
6074 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6075 let name = match *self {
6076 Self::DICT_4X4_50 => Some("DICT_4X4_50"),
6077 Self::DICT_4X4_100 => Some("DICT_4X4_100"),
6078 Self::DICT_4X4_250 => Some("DICT_4X4_250"),
6079 Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
6080 Self::DICT_5X5_50 => Some("DICT_5X5_50"),
6081 Self::DICT_5X5_100 => Some("DICT_5X5_100"),
6082 Self::DICT_5X5_250 => Some("DICT_5X5_250"),
6083 Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
6084 Self::DICT_6X6_50 => Some("DICT_6X6_50"),
6085 Self::DICT_6X6_100 => Some("DICT_6X6_100"),
6086 Self::DICT_6X6_250 => Some("DICT_6X6_250"),
6087 Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
6088 Self::DICT_7X7_50 => Some("DICT_7X7_50"),
6089 Self::DICT_7X7_100 => Some("DICT_7X7_100"),
6090 Self::DICT_7X7_250 => Some("DICT_7X7_250"),
6091 Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
6092 _ => None,
6093 };
6094 fmt_enum(fmt, self.0, name)
6095 }
6096}
6097#[doc = "See [XrMarkerAprilTagDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerAprilTagDictML)"]
6098#[repr(transparent)]
6099#[derive(Copy, Clone, Eq, PartialEq, Default)]
6100pub struct MarkerAprilTagDictML(i32);
6101impl MarkerAprilTagDictML {
6102 #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
6103 pub const DICT_16H5: MarkerAprilTagDictML = Self(0i32);
6104 #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
6105 pub const DICT_25H9: MarkerAprilTagDictML = Self(1i32);
6106 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
6107 pub const DICT_36H10: MarkerAprilTagDictML = Self(2i32);
6108 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
6109 pub const DICT_36H11: MarkerAprilTagDictML = Self(3i32);
6110 pub fn from_raw(x: i32) -> Self {
6111 Self(x)
6112 }
6113 pub fn into_raw(self) -> i32 {
6114 self.0
6115 }
6116}
6117impl fmt::Debug for MarkerAprilTagDictML {
6118 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6119 let name = match *self {
6120 Self::DICT_16H5 => Some("DICT_16H5"),
6121 Self::DICT_25H9 => Some("DICT_25H9"),
6122 Self::DICT_36H10 => Some("DICT_36H10"),
6123 Self::DICT_36H11 => Some("DICT_36H11"),
6124 _ => None,
6125 };
6126 fmt_enum(fmt, self.0, name)
6127 }
6128}
6129#[doc = "See [XrMarkerDetectorFpsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFpsML)"]
6130#[repr(transparent)]
6131#[derive(Copy, Clone, Eq, PartialEq, Default)]
6132pub struct MarkerDetectorFpsML(i32);
6133impl MarkerDetectorFpsML {
6134 #[doc = "Low FPS."]
6135 pub const LOW: MarkerDetectorFpsML = Self(0i32);
6136 #[doc = "Medium FPS."]
6137 pub const MEDIUM: MarkerDetectorFpsML = Self(1i32);
6138 #[doc = "High FPS."]
6139 pub const HIGH: MarkerDetectorFpsML = Self(2i32);
6140 #[doc = "Max possible FPS."]
6141 pub const MAX: MarkerDetectorFpsML = Self(3i32);
6142 pub fn from_raw(x: i32) -> Self {
6143 Self(x)
6144 }
6145 pub fn into_raw(self) -> i32 {
6146 self.0
6147 }
6148}
6149impl fmt::Debug for MarkerDetectorFpsML {
6150 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6151 let name = match *self {
6152 Self::LOW => Some("LOW"),
6153 Self::MEDIUM => Some("MEDIUM"),
6154 Self::HIGH => Some("HIGH"),
6155 Self::MAX => Some("MAX"),
6156 _ => None,
6157 };
6158 fmt_enum(fmt, self.0, name)
6159 }
6160}
6161#[doc = "See [XrMarkerDetectorResolutionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorResolutionML)"]
6162#[repr(transparent)]
6163#[derive(Copy, Clone, Eq, PartialEq, Default)]
6164pub struct MarkerDetectorResolutionML(i32);
6165impl MarkerDetectorResolutionML {
6166 #[doc = "Low Resolution."]
6167 pub const LOW: MarkerDetectorResolutionML = Self(0i32);
6168 #[doc = "Medium Resolution."]
6169 pub const MEDIUM: MarkerDetectorResolutionML = Self(1i32);
6170 #[doc = "High Resolution."]
6171 pub const HIGH: MarkerDetectorResolutionML = Self(2i32);
6172 pub fn from_raw(x: i32) -> Self {
6173 Self(x)
6174 }
6175 pub fn into_raw(self) -> i32 {
6176 self.0
6177 }
6178}
6179impl fmt::Debug for MarkerDetectorResolutionML {
6180 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6181 let name = match *self {
6182 Self::LOW => Some("LOW"),
6183 Self::MEDIUM => Some("MEDIUM"),
6184 Self::HIGH => Some("HIGH"),
6185 _ => None,
6186 };
6187 fmt_enum(fmt, self.0, name)
6188 }
6189}
6190#[doc = "See [XrMarkerDetectorCameraML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCameraML)"]
6191#[repr(transparent)]
6192#[derive(Copy, Clone, Eq, PartialEq, Default)]
6193pub struct MarkerDetectorCameraML(i32);
6194impl MarkerDetectorCameraML {
6195 #[doc = "Single RGB camera."]
6196 pub const RGB_CAMERA: MarkerDetectorCameraML = Self(0i32);
6197 #[doc = "One or more world cameras."]
6198 pub const WORLD_CAMERAS: MarkerDetectorCameraML = Self(1i32);
6199 pub fn from_raw(x: i32) -> Self {
6200 Self(x)
6201 }
6202 pub fn into_raw(self) -> i32 {
6203 self.0
6204 }
6205}
6206impl fmt::Debug for MarkerDetectorCameraML {
6207 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6208 let name = match *self {
6209 Self::RGB_CAMERA => Some("RGB_CAMERA"),
6210 Self::WORLD_CAMERAS => Some("WORLD_CAMERAS"),
6211 _ => None,
6212 };
6213 fmt_enum(fmt, self.0, name)
6214 }
6215}
6216#[doc = "See [XrMarkerDetectorCornerRefineMethodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCornerRefineMethodML)"]
6217#[repr(transparent)]
6218#[derive(Copy, Clone, Eq, PartialEq, Default)]
6219pub struct MarkerDetectorCornerRefineMethodML(i32);
6220impl MarkerDetectorCornerRefineMethodML {
6221 #[doc = "No refinement. Inaccurate corners."]
6222 pub const NONE: MarkerDetectorCornerRefineMethodML = Self(0i32);
6223 #[doc = "Subpixel refinement. Corners have subpixel coordinates. High detection rate, very fast, reasonable accuracy."]
6224 pub const SUBPIX: MarkerDetectorCornerRefineMethodML = Self(1i32);
6225 #[doc = "Contour refinement. High detection rate, fast, reasonable accuracy."]
6226 pub const CONTOUR: MarkerDetectorCornerRefineMethodML = Self(2i32);
6227 #[doc = "AprilTag refinement. Reasonable detection rate, slowest, but very accurate. Only valid with AprilTags."]
6228 pub const APRIL_TAG: MarkerDetectorCornerRefineMethodML = Self(3i32);
6229 pub fn from_raw(x: i32) -> Self {
6230 Self(x)
6231 }
6232 pub fn into_raw(self) -> i32 {
6233 self.0
6234 }
6235}
6236impl fmt::Debug for MarkerDetectorCornerRefineMethodML {
6237 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6238 let name = match *self {
6239 Self::NONE => Some("NONE"),
6240 Self::SUBPIX => Some("SUBPIX"),
6241 Self::CONTOUR => Some("CONTOUR"),
6242 Self::APRIL_TAG => Some("APRIL_TAG"),
6243 _ => None,
6244 };
6245 fmt_enum(fmt, self.0, name)
6246 }
6247}
6248#[doc = "See [XrMarkerDetectorFullAnalysisIntervalML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFullAnalysisIntervalML)"]
6249#[repr(transparent)]
6250#[derive(Copy, Clone, Eq, PartialEq, Default)]
6251pub struct MarkerDetectorFullAnalysisIntervalML(i32);
6252impl MarkerDetectorFullAnalysisIntervalML {
6253 #[doc = "Detector analyzes every frame fully."]
6254 pub const MAX: MarkerDetectorFullAnalysisIntervalML = Self(0i32);
6255 #[doc = "Detector analyzes frame fully very often."]
6256 pub const FAST: MarkerDetectorFullAnalysisIntervalML = Self(1i32);
6257 #[doc = "Detector analyzes frame fully a few times per second."]
6258 pub const MEDIUM: MarkerDetectorFullAnalysisIntervalML = Self(2i32);
6259 #[doc = "Detector analyzes frame fully about every second."]
6260 pub const SLOW: MarkerDetectorFullAnalysisIntervalML = Self(3i32);
6261 pub fn from_raw(x: i32) -> Self {
6262 Self(x)
6263 }
6264 pub fn into_raw(self) -> i32 {
6265 self.0
6266 }
6267}
6268impl fmt::Debug for MarkerDetectorFullAnalysisIntervalML {
6269 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6270 let name = match *self {
6271 Self::MAX => Some("MAX"),
6272 Self::FAST => Some("FAST"),
6273 Self::MEDIUM => Some("MEDIUM"),
6274 Self::SLOW => Some("SLOW"),
6275 _ => None,
6276 };
6277 fmt_enum(fmt, self.0, name)
6278 }
6279}
6280#[doc = "See [XrMarkerDetectorStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorStatusML)"]
6281#[repr(transparent)]
6282#[derive(Copy, Clone, Eq, PartialEq, Default)]
6283pub struct MarkerDetectorStatusML(i32);
6284impl MarkerDetectorStatusML {
6285 #[doc = "The marker detector is working on a new snapshot."]
6286 pub const PENDING: MarkerDetectorStatusML = Self(0i32);
6287 #[doc = "The marker detector is ready to be inspected."]
6288 pub const READY: MarkerDetectorStatusML = Self(1i32);
6289 #[doc = "The marker detector has encountered a fatal error."]
6290 pub const ERROR: MarkerDetectorStatusML = Self(2i32);
6291 pub fn from_raw(x: i32) -> Self {
6292 Self(x)
6293 }
6294 pub fn into_raw(self) -> i32 {
6295 self.0
6296 }
6297}
6298impl fmt::Debug for MarkerDetectorStatusML {
6299 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6300 let name = match *self {
6301 Self::PENDING => Some("PENDING"),
6302 Self::READY => Some("READY"),
6303 Self::ERROR => Some("ERROR"),
6304 _ => None,
6305 };
6306 fmt_enum(fmt, self.0, name)
6307 }
6308}
6309#[doc = "Each facial blend shape describes an area/region of a face. - see [XrFacialBlendShapeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialBlendShapeML)"]
6310#[repr(transparent)]
6311#[derive(Copy, Clone, Eq, PartialEq, Default)]
6312pub struct FacialBlendShapeML(i32);
6313impl FacialBlendShapeML {
6314 pub const BROW_LOWERER_L: FacialBlendShapeML = Self(0i32);
6315 pub const BROW_LOWERER_R: FacialBlendShapeML = Self(1i32);
6316 pub const CHEEK_RAISER_L: FacialBlendShapeML = Self(2i32);
6317 pub const CHEEK_RAISER_R: FacialBlendShapeML = Self(3i32);
6318 pub const CHIN_RAISER: FacialBlendShapeML = Self(4i32);
6319 pub const DIMPLER_L: FacialBlendShapeML = Self(5i32);
6320 pub const DIMPLER_R: FacialBlendShapeML = Self(6i32);
6321 pub const EYES_CLOSED_L: FacialBlendShapeML = Self(7i32);
6322 pub const EYES_CLOSED_R: FacialBlendShapeML = Self(8i32);
6323 pub const INNER_BROW_RAISER_L: FacialBlendShapeML = Self(9i32);
6324 pub const INNER_BROW_RAISER_R: FacialBlendShapeML = Self(10i32);
6325 pub const JAW_DROP: FacialBlendShapeML = Self(11i32);
6326 pub const LID_TIGHTENER_L: FacialBlendShapeML = Self(12i32);
6327 pub const LID_TIGHTENER_R: FacialBlendShapeML = Self(13i32);
6328 pub const LIP_CORNER_DEPRESSOR_L: FacialBlendShapeML = Self(14i32);
6329 pub const LIP_CORNER_DEPRESSOR_R: FacialBlendShapeML = Self(15i32);
6330 pub const LIP_CORNER_PULLER_L: FacialBlendShapeML = Self(16i32);
6331 pub const LIP_CORNER_PULLER_R: FacialBlendShapeML = Self(17i32);
6332 pub const LIP_FUNNELER_LB: FacialBlendShapeML = Self(18i32);
6333 pub const LIP_FUNNELER_LT: FacialBlendShapeML = Self(19i32);
6334 pub const LIP_FUNNELER_RB: FacialBlendShapeML = Self(20i32);
6335 pub const LIP_FUNNELER_RT: FacialBlendShapeML = Self(21i32);
6336 pub const LIP_PRESSOR_L: FacialBlendShapeML = Self(22i32);
6337 pub const LIP_PRESSOR_R: FacialBlendShapeML = Self(23i32);
6338 pub const LIP_PUCKER_L: FacialBlendShapeML = Self(24i32);
6339 pub const LIP_PUCKER_R: FacialBlendShapeML = Self(25i32);
6340 pub const LIP_STRETCHER_L: FacialBlendShapeML = Self(26i32);
6341 pub const LIP_STRETCHER_R: FacialBlendShapeML = Self(27i32);
6342 pub const LIP_SUCK_LB: FacialBlendShapeML = Self(28i32);
6343 pub const LIP_SUCK_LT: FacialBlendShapeML = Self(29i32);
6344 pub const LIP_SUCK_RB: FacialBlendShapeML = Self(30i32);
6345 pub const LIP_SUCK_RT: FacialBlendShapeML = Self(31i32);
6346 pub const LIP_TIGHTENER_L: FacialBlendShapeML = Self(32i32);
6347 pub const LIP_TIGHTENER_R: FacialBlendShapeML = Self(33i32);
6348 pub const LIPS_TOWARD: FacialBlendShapeML = Self(34i32);
6349 pub const LOWER_LIP_DEPRESSOR_L: FacialBlendShapeML = Self(35i32);
6350 pub const LOWER_LIP_DEPRESSOR_R: FacialBlendShapeML = Self(36i32);
6351 pub const NOSE_WRINKLER_L: FacialBlendShapeML = Self(37i32);
6352 pub const NOSE_WRINKLER_R: FacialBlendShapeML = Self(38i32);
6353 pub const OUTER_BROW_RAISER_L: FacialBlendShapeML = Self(39i32);
6354 pub const OUTER_BROW_RAISER_R: FacialBlendShapeML = Self(40i32);
6355 pub const UPPER_LID_RAISER_L: FacialBlendShapeML = Self(41i32);
6356 pub const UPPER_LID_RAISER_R: FacialBlendShapeML = Self(42i32);
6357 pub const UPPER_LIP_RAISER_L: FacialBlendShapeML = Self(43i32);
6358 pub const UPPER_LIP_RAISER_R: FacialBlendShapeML = Self(44i32);
6359 pub const TONGUE_OUT: FacialBlendShapeML = Self(45i32);
6360 pub fn from_raw(x: i32) -> Self {
6361 Self(x)
6362 }
6363 pub fn into_raw(self) -> i32 {
6364 self.0
6365 }
6366}
6367impl fmt::Debug for FacialBlendShapeML {
6368 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6369 let name = match *self {
6370 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
6371 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
6372 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
6373 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
6374 Self::CHIN_RAISER => Some("CHIN_RAISER"),
6375 Self::DIMPLER_L => Some("DIMPLER_L"),
6376 Self::DIMPLER_R => Some("DIMPLER_R"),
6377 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
6378 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
6379 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
6380 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
6381 Self::JAW_DROP => Some("JAW_DROP"),
6382 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
6383 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
6384 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
6385 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
6386 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
6387 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
6388 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
6389 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
6390 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
6391 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
6392 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
6393 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
6394 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
6395 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
6396 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
6397 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
6398 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
6399 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
6400 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
6401 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
6402 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
6403 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
6404 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
6405 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
6406 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
6407 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
6408 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
6409 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
6410 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
6411 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
6412 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
6413 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
6414 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
6415 Self::TONGUE_OUT => Some("TONGUE_OUT"),
6416 _ => None,
6417 };
6418 fmt_enum(fmt, self.0, name)
6419 }
6420}
6421#[doc = "See [XrFutureStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureStateEXT)"]
6422#[repr(transparent)]
6423#[derive(Copy, Clone, Eq, PartialEq)]
6424pub struct FutureStateEXT(i32);
6425impl FutureStateEXT {
6426 pub const PENDING: FutureStateEXT = Self(1i32);
6427 pub const READY: FutureStateEXT = Self(2i32);
6428 pub fn from_raw(x: i32) -> Self {
6429 Self(x)
6430 }
6431 pub fn into_raw(self) -> i32 {
6432 self.0
6433 }
6434}
6435impl fmt::Debug for FutureStateEXT {
6436 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6437 let name = match *self {
6438 Self::PENDING => Some("PENDING"),
6439 Self::READY => Some("READY"),
6440 _ => None,
6441 };
6442 fmt_enum(fmt, self.0, name)
6443 }
6444}
6445#[doc = "See [XrSpatialCapabilityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityEXT)"]
6446#[repr(transparent)]
6447#[derive(Copy, Clone, Eq, PartialEq)]
6448pub struct SpatialCapabilityEXT(i32);
6449impl SpatialCapabilityEXT {
6450 #[doc = "Plane tracking"]
6451 pub const PLANE_TRACKING: SpatialCapabilityEXT = Self(1000741000i32);
6452 #[doc = "Capability to be able to detect and track QR codes."]
6453 pub const MARKER_TRACKING_QR_CODE: SpatialCapabilityEXT = Self(1000743000i32);
6454 #[doc = "Capability to be able to detect and track Micro QR codes."]
6455 pub const MARKER_TRACKING_MICRO_QR_CODE: SpatialCapabilityEXT = Self(1000743001i32);
6456 #[doc = "Capability to be able to detect and track Aruco Markers."]
6457 pub const MARKER_TRACKING_ARUCO_MARKER: SpatialCapabilityEXT = Self(1000743002i32);
6458 #[doc = "Capability to be able to detect and track AprilTags."]
6459 pub const MARKER_TRACKING_APRIL_TAG: SpatialCapabilityEXT = Self(1000743003i32);
6460 #[doc = "Capability to be able to create spatial anchors"]
6461 pub const ANCHOR: SpatialCapabilityEXT = Self(1000762000i32);
6462 pub fn from_raw(x: i32) -> Self {
6463 Self(x)
6464 }
6465 pub fn into_raw(self) -> i32 {
6466 self.0
6467 }
6468}
6469impl fmt::Debug for SpatialCapabilityEXT {
6470 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6471 let name = match *self {
6472 Self::PLANE_TRACKING => Some("PLANE_TRACKING"),
6473 Self::MARKER_TRACKING_QR_CODE => Some("MARKER_TRACKING_QR_CODE"),
6474 Self::MARKER_TRACKING_MICRO_QR_CODE => Some("MARKER_TRACKING_MICRO_QR_CODE"),
6475 Self::MARKER_TRACKING_ARUCO_MARKER => Some("MARKER_TRACKING_ARUCO_MARKER"),
6476 Self::MARKER_TRACKING_APRIL_TAG => Some("MARKER_TRACKING_APRIL_TAG"),
6477 Self::ANCHOR => Some("ANCHOR"),
6478 _ => None,
6479 };
6480 fmt_enum(fmt, self.0, name)
6481 }
6482}
6483#[doc = "See [XrSpatialCapabilityFeatureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityFeatureEXT)"]
6484#[repr(transparent)]
6485#[derive(Copy, Clone, Eq, PartialEq)]
6486pub struct SpatialCapabilityFeatureEXT(i32);
6487impl SpatialCapabilityFeatureEXT {
6488 #[doc = "Capability feature to allow applications to specify the size for the markers. Corresponding config structure is XrSpatialMarkerSizeEXT"]
6489 pub const MARKER_TRACKING_FIXED_SIZE_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743000i32);
6490 #[doc = "Capability feature to allow applications to specify if markers are static. Corresponding config structure is XrSpatialMarkerStaticOptimizationEXT"]
6491 pub const MARKER_TRACKING_STATIC_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743001i32);
6492 pub fn from_raw(x: i32) -> Self {
6493 Self(x)
6494 }
6495 pub fn into_raw(self) -> i32 {
6496 self.0
6497 }
6498}
6499impl fmt::Debug for SpatialCapabilityFeatureEXT {
6500 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6501 let name = match *self {
6502 Self::MARKER_TRACKING_FIXED_SIZE_MARKERS => Some("MARKER_TRACKING_FIXED_SIZE_MARKERS"),
6503 Self::MARKER_TRACKING_STATIC_MARKERS => Some("MARKER_TRACKING_STATIC_MARKERS"),
6504 _ => None,
6505 };
6506 fmt_enum(fmt, self.0, name)
6507 }
6508}
6509#[doc = "See [XrSpatialComponentTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentTypeEXT)"]
6510#[repr(transparent)]
6511#[derive(Copy, Clone, Eq, PartialEq)]
6512pub struct SpatialComponentTypeEXT(i32);
6513impl SpatialComponentTypeEXT {
6514 #[doc = "Component that provides the 2D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded2DListEXT; Corresponding data structure is XrSpatialBounded2DDataEXT"]
6515 pub const BOUNDED_2D: SpatialComponentTypeEXT = Self(1i32);
6516 #[doc = "Component that provides the 3D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded3DListEXT; Corresponding data structure is XrBoxf"]
6517 pub const BOUNDED_3D: SpatialComponentTypeEXT = Self(2i32);
6518 #[doc = "Component that provides the XrSpatialEntityIdEXT of the parent for a spatial entity. Corresponding list structure is XrSpatialComponentParentListEXT; Corresponding data structure is XrSpatialEntityIdEXT"]
6519 pub const PARENT: SpatialComponentTypeEXT = Self(3i32);
6520 #[doc = "Component that provides a 3D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh3DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
6521 pub const MESH_3D: SpatialComponentTypeEXT = Self(4i32);
6522 #[doc = "Component that provides the plane alignment enum for a spatial entity. Corresponding list structure is XrSpatialComponentPlaneAlignmentListEXT; Corresponding data structure is XrSpatialPlaneAlignmentEXT"]
6523 pub const PLANE_ALIGNMENT: SpatialComponentTypeEXT = Self(1000741000i32);
6524 #[doc = "Component that provides a 2D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh2DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
6525 pub const MESH_2D: SpatialComponentTypeEXT = Self(1000741001i32);
6526 #[doc = "Component that provides a 2D boundary polygon for a spatial entity. Corresponding list structure is XrSpatialComponentPolygon2DListEXT; Corresponding data structure is XrSpatialPolygon2DDataEXT"]
6527 pub const POLYGON_2D: SpatialComponentTypeEXT = Self(1000741002i32);
6528 #[doc = "Component that provides a semantic label for a plane. Corresponding list structure is XrSpatialComponentPlaneSemanticLabelListEXT; Corresponding data structure is XrSpatialPlaneSemanticLabelEXT"]
6529 pub const PLANE_SEMANTIC_LABEL: SpatialComponentTypeEXT = Self(1000741003i32);
6530 #[doc = "A component describing the marker type, id and location. Corresponding list structure is XrSpatialComponentMarkerListEXT; Corresponding data structure is XrSpatialMarkerDataEXT"]
6531 pub const MARKER: SpatialComponentTypeEXT = Self(1000743000i32);
6532 #[doc = "Component that provides the location for an anchor. Corresponding list structure is XrSpatialComponentAnchorListEXT; Corresponding data structure is XrPosef"]
6533 pub const ANCHOR: SpatialComponentTypeEXT = Self(1000762000i32);
6534 #[doc = "Component that provides the persisted UUID for a spatial entity. Corresponding list structure is XrSpatialComponentPersistenceListEXT; Corresponding data structure is XrSpatialPersistenceDataEXT"]
6535 pub const PERSISTENCE: SpatialComponentTypeEXT = Self(1000763000i32);
6536 pub fn from_raw(x: i32) -> Self {
6537 Self(x)
6538 }
6539 pub fn into_raw(self) -> i32 {
6540 self.0
6541 }
6542}
6543impl fmt::Debug for SpatialComponentTypeEXT {
6544 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6545 let name = match *self {
6546 Self::BOUNDED_2D => Some("BOUNDED_2D"),
6547 Self::BOUNDED_3D => Some("BOUNDED_3D"),
6548 Self::PARENT => Some("PARENT"),
6549 Self::MESH_3D => Some("MESH_3D"),
6550 Self::PLANE_ALIGNMENT => Some("PLANE_ALIGNMENT"),
6551 Self::MESH_2D => Some("MESH_2D"),
6552 Self::POLYGON_2D => Some("POLYGON_2D"),
6553 Self::PLANE_SEMANTIC_LABEL => Some("PLANE_SEMANTIC_LABEL"),
6554 Self::MARKER => Some("MARKER"),
6555 Self::ANCHOR => Some("ANCHOR"),
6556 Self::PERSISTENCE => Some("PERSISTENCE"),
6557 _ => None,
6558 };
6559 fmt_enum(fmt, self.0, name)
6560 }
6561}
6562#[doc = "See [XrSpatialEntityTrackingStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityTrackingStateEXT)"]
6563#[repr(transparent)]
6564#[derive(Copy, Clone, Eq, PartialEq)]
6565pub struct SpatialEntityTrackingStateEXT(i32);
6566impl SpatialEntityTrackingStateEXT {
6567 #[doc = "The runtime has stopped tracking this entity and will never resume tracking it."]
6568 pub const STOPPED: SpatialEntityTrackingStateEXT = Self(1i32);
6569 #[doc = "The runtime has paused tracking this entity but may: resume tracking it in the future."]
6570 pub const PAUSED: SpatialEntityTrackingStateEXT = Self(2i32);
6571 #[doc = "The runtime is currently tracking this entity and its component data is valid."]
6572 pub const TRACKING: SpatialEntityTrackingStateEXT = Self(3i32);
6573 pub fn from_raw(x: i32) -> Self {
6574 Self(x)
6575 }
6576 pub fn into_raw(self) -> i32 {
6577 self.0
6578 }
6579}
6580impl fmt::Debug for SpatialEntityTrackingStateEXT {
6581 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6582 let name = match *self {
6583 Self::STOPPED => Some("STOPPED"),
6584 Self::PAUSED => Some("PAUSED"),
6585 Self::TRACKING => Some("TRACKING"),
6586 _ => None,
6587 };
6588 fmt_enum(fmt, self.0, name)
6589 }
6590}
6591#[doc = "See [XrSpatialBufferTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferTypeEXT)"]
6592#[repr(transparent)]
6593#[derive(Copy, Clone, Eq, PartialEq, Default)]
6594pub struct SpatialBufferTypeEXT(i32);
6595impl SpatialBufferTypeEXT {
6596 pub const UNKNOWN: SpatialBufferTypeEXT = Self(0i32);
6597 pub const STRING: SpatialBufferTypeEXT = Self(1i32);
6598 pub const UINT8: SpatialBufferTypeEXT = Self(2i32);
6599 pub const UINT16: SpatialBufferTypeEXT = Self(3i32);
6600 pub const UINT32: SpatialBufferTypeEXT = Self(4i32);
6601 pub const FLOAT: SpatialBufferTypeEXT = Self(5i32);
6602 pub const VECTOR2F: SpatialBufferTypeEXT = Self(6i32);
6603 pub const VECTOR3F: SpatialBufferTypeEXT = Self(7i32);
6604 pub fn from_raw(x: i32) -> Self {
6605 Self(x)
6606 }
6607 pub fn into_raw(self) -> i32 {
6608 self.0
6609 }
6610}
6611impl fmt::Debug for SpatialBufferTypeEXT {
6612 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6613 let name = match *self {
6614 Self::UNKNOWN => Some("UNKNOWN"),
6615 Self::STRING => Some("STRING"),
6616 Self::UINT8 => Some("UINT8"),
6617 Self::UINT16 => Some("UINT16"),
6618 Self::UINT32 => Some("UINT32"),
6619 Self::FLOAT => Some("FLOAT"),
6620 Self::VECTOR2F => Some("VECTOR2F"),
6621 Self::VECTOR3F => Some("VECTOR3F"),
6622 _ => None,
6623 };
6624 fmt_enum(fmt, self.0, name)
6625 }
6626}
6627#[doc = "See [XrSpatialPersistenceScopeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceScopeEXT)"]
6628#[repr(transparent)]
6629#[derive(Copy, Clone, Eq, PartialEq)]
6630pub struct SpatialPersistenceScopeEXT(i32);
6631impl SpatialPersistenceScopeEXT {
6632 #[doc = "Provides the application with read-only access (i.e. application cannot modify the store associated with this scope) to spatial entities persisted and managed by the system. The application can: use the UUID in the persistence component for this scope to correlate entities across spatial contexts and device reboots."]
6633 pub const SYSTEM_MANAGED: SpatialPersistenceScopeEXT = Self(1i32);
6634 #[doc = "Persistence operations and data access is limited to spatial anchors, on the same device, for the same user and same app"]
6635 pub const LOCAL_ANCHORS: SpatialPersistenceScopeEXT = Self(1000781000i32);
6636 pub fn from_raw(x: i32) -> Self {
6637 Self(x)
6638 }
6639 pub fn into_raw(self) -> i32 {
6640 self.0
6641 }
6642}
6643impl fmt::Debug for SpatialPersistenceScopeEXT {
6644 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6645 let name = match *self {
6646 Self::SYSTEM_MANAGED => Some("SYSTEM_MANAGED"),
6647 Self::LOCAL_ANCHORS => Some("LOCAL_ANCHORS"),
6648 _ => None,
6649 };
6650 fmt_enum(fmt, self.0, name)
6651 }
6652}
6653#[doc = "See [XrSpatialPersistenceContextResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextResultEXT)"]
6654#[repr(transparent)]
6655#[derive(Copy, Clone, Eq, PartialEq, Default)]
6656pub struct SpatialPersistenceContextResultEXT(i32);
6657impl SpatialPersistenceContextResultEXT {
6658 #[doc = "The persistence context operation was a success."]
6659 pub const SUCCESS: SpatialPersistenceContextResultEXT = Self(0i32);
6660 #[doc = "The persistence operation failed because the entity could not be tracked by the runtime."]
6661 pub const ENTITY_NOT_TRACKING: SpatialPersistenceContextResultEXT = Self(-1000781001i32);
6662 #[doc = "The provided persist UUID was not found in the storage."]
6663 pub const PERSIST_UUID_NOT_FOUND: SpatialPersistenceContextResultEXT = Self(-1000781002i32);
6664 pub fn from_raw(x: i32) -> Self {
6665 Self(x)
6666 }
6667 pub fn into_raw(self) -> i32 {
6668 self.0
6669 }
6670}
6671impl fmt::Debug for SpatialPersistenceContextResultEXT {
6672 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6673 let name = match *self {
6674 Self::SUCCESS => Some("SUCCESS"),
6675 Self::ENTITY_NOT_TRACKING => Some("ENTITY_NOT_TRACKING"),
6676 Self::PERSIST_UUID_NOT_FOUND => Some("PERSIST_UUID_NOT_FOUND"),
6677 _ => None,
6678 };
6679 fmt_enum(fmt, self.0, name)
6680 }
6681}
6682#[doc = "See [XrSpatialPersistenceStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceStateEXT)"]
6683#[repr(transparent)]
6684#[derive(Copy, Clone, Eq, PartialEq)]
6685pub struct SpatialPersistenceStateEXT(i32);
6686impl SpatialPersistenceStateEXT {
6687 #[doc = "The persisted UUID has been successfully loaded from the storage."]
6688 pub const LOADED: SpatialPersistenceStateEXT = Self(1i32);
6689 #[doc = "The persisted UUID was not found in the storage and was either removed from it or never was in it."]
6690 pub const NOT_FOUND: SpatialPersistenceStateEXT = Self(2i32);
6691 pub fn from_raw(x: i32) -> Self {
6692 Self(x)
6693 }
6694 pub fn into_raw(self) -> i32 {
6695 self.0
6696 }
6697}
6698impl fmt::Debug for SpatialPersistenceStateEXT {
6699 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6700 let name = match *self {
6701 Self::LOADED => Some("LOADED"),
6702 Self::NOT_FOUND => Some("NOT_FOUND"),
6703 _ => None,
6704 };
6705 fmt_enum(fmt, self.0, name)
6706 }
6707}
6708#[doc = "See [XrSpatialPlaneAlignmentEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneAlignmentEXT)"]
6709#[repr(transparent)]
6710#[derive(Copy, Clone, Eq, PartialEq, Default)]
6711pub struct SpatialPlaneAlignmentEXT(i32);
6712impl SpatialPlaneAlignmentEXT {
6713 #[doc = "The entity is horizontal and faces upward (e.g. floor)."]
6714 pub const HORIZONTAL_UPWARD: SpatialPlaneAlignmentEXT = Self(0i32);
6715 #[doc = "The entity is horizontal and faces downward (e.g. ceiling)."]
6716 pub const HORIZONTAL_DOWNWARD: SpatialPlaneAlignmentEXT = Self(1i32);
6717 #[doc = "The entity is vertical (e.g. wall)."]
6718 pub const VERTICAL: SpatialPlaneAlignmentEXT = Self(2i32);
6719 #[doc = "The entity has an arbitrary, non-vertical and non-horizontal orientation."]
6720 pub const ARBITRARY: SpatialPlaneAlignmentEXT = Self(3i32);
6721 pub fn from_raw(x: i32) -> Self {
6722 Self(x)
6723 }
6724 pub fn into_raw(self) -> i32 {
6725 self.0
6726 }
6727}
6728impl fmt::Debug for SpatialPlaneAlignmentEXT {
6729 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6730 let name = match *self {
6731 Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
6732 Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
6733 Self::VERTICAL => Some("VERTICAL"),
6734 Self::ARBITRARY => Some("ARBITRARY"),
6735 _ => None,
6736 };
6737 fmt_enum(fmt, self.0, name)
6738 }
6739}
6740#[doc = "See [XrSpatialPlaneSemanticLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneSemanticLabelEXT)"]
6741#[repr(transparent)]
6742#[derive(Copy, Clone, Eq, PartialEq)]
6743pub struct SpatialPlaneSemanticLabelEXT(i32);
6744impl SpatialPlaneSemanticLabelEXT {
6745 #[doc = "The runtime was unable to classify this entity."]
6746 pub const UNCATEGORIZED: SpatialPlaneSemanticLabelEXT = Self(1i32);
6747 #[doc = "The entity is a floor."]
6748 pub const FLOOR: SpatialPlaneSemanticLabelEXT = Self(2i32);
6749 #[doc = "The entity is a wall."]
6750 pub const WALL: SpatialPlaneSemanticLabelEXT = Self(3i32);
6751 #[doc = "The entity is a ceiling."]
6752 pub const CEILING: SpatialPlaneSemanticLabelEXT = Self(4i32);
6753 #[doc = "The entity is a table."]
6754 pub const TABLE: SpatialPlaneSemanticLabelEXT = Self(5i32);
6755 pub fn from_raw(x: i32) -> Self {
6756 Self(x)
6757 }
6758 pub fn into_raw(self) -> i32 {
6759 self.0
6760 }
6761}
6762impl fmt::Debug for SpatialPlaneSemanticLabelEXT {
6763 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6764 let name = match *self {
6765 Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
6766 Self::FLOOR => Some("FLOOR"),
6767 Self::WALL => Some("WALL"),
6768 Self::CEILING => Some("CEILING"),
6769 Self::TABLE => Some("TABLE"),
6770 _ => None,
6771 };
6772 fmt_enum(fmt, self.0, name)
6773 }
6774}
6775#[doc = "See [XrBodyJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointHTC)"]
6776#[repr(transparent)]
6777#[derive(Copy, Clone, Eq, PartialEq, Default)]
6778pub struct BodyJointHTC(i32);
6779impl BodyJointHTC {
6780 pub const PELVIS: BodyJointHTC = Self(0i32);
6781 pub const LEFT_HIP: BodyJointHTC = Self(1i32);
6782 pub const LEFT_KNEE: BodyJointHTC = Self(2i32);
6783 pub const LEFT_ANKLE: BodyJointHTC = Self(3i32);
6784 pub const LEFT_FEET: BodyJointHTC = Self(4i32);
6785 pub const RIGHT_HIP: BodyJointHTC = Self(5i32);
6786 pub const RIGHT_KNEE: BodyJointHTC = Self(6i32);
6787 pub const RIGHT_ANKLE: BodyJointHTC = Self(7i32);
6788 pub const RIGHT_FEET: BodyJointHTC = Self(8i32);
6789 pub const WAIST: BodyJointHTC = Self(9i32);
6790 pub const SPINE_LOWER: BodyJointHTC = Self(10i32);
6791 pub const SPINE_MIDDLE: BodyJointHTC = Self(11i32);
6792 pub const SPINE_HIGH: BodyJointHTC = Self(12i32);
6793 pub const CHEST: BodyJointHTC = Self(13i32);
6794 pub const NECK: BodyJointHTC = Self(14i32);
6795 pub const HEAD: BodyJointHTC = Self(15i32);
6796 pub const LEFT_CLAVICLE: BodyJointHTC = Self(16i32);
6797 pub const LEFT_SCAPULA: BodyJointHTC = Self(17i32);
6798 pub const LEFT_ARM: BodyJointHTC = Self(18i32);
6799 pub const LEFT_ELBOW: BodyJointHTC = Self(19i32);
6800 pub const LEFT_WRIST: BodyJointHTC = Self(20i32);
6801 pub const RIGHT_CLAVICLE: BodyJointHTC = Self(21i32);
6802 pub const RIGHT_SCAPULA: BodyJointHTC = Self(22i32);
6803 pub const RIGHT_ARM: BodyJointHTC = Self(23i32);
6804 pub const RIGHT_ELBOW: BodyJointHTC = Self(24i32);
6805 pub const RIGHT_WRIST: BodyJointHTC = Self(25i32);
6806 pub fn from_raw(x: i32) -> Self {
6807 Self(x)
6808 }
6809 pub fn into_raw(self) -> i32 {
6810 self.0
6811 }
6812}
6813impl fmt::Debug for BodyJointHTC {
6814 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6815 let name = match *self {
6816 Self::PELVIS => Some("PELVIS"),
6817 Self::LEFT_HIP => Some("LEFT_HIP"),
6818 Self::LEFT_KNEE => Some("LEFT_KNEE"),
6819 Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
6820 Self::LEFT_FEET => Some("LEFT_FEET"),
6821 Self::RIGHT_HIP => Some("RIGHT_HIP"),
6822 Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
6823 Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
6824 Self::RIGHT_FEET => Some("RIGHT_FEET"),
6825 Self::WAIST => Some("WAIST"),
6826 Self::SPINE_LOWER => Some("SPINE_LOWER"),
6827 Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
6828 Self::SPINE_HIGH => Some("SPINE_HIGH"),
6829 Self::CHEST => Some("CHEST"),
6830 Self::NECK => Some("NECK"),
6831 Self::HEAD => Some("HEAD"),
6832 Self::LEFT_CLAVICLE => Some("LEFT_CLAVICLE"),
6833 Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
6834 Self::LEFT_ARM => Some("LEFT_ARM"),
6835 Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
6836 Self::LEFT_WRIST => Some("LEFT_WRIST"),
6837 Self::RIGHT_CLAVICLE => Some("RIGHT_CLAVICLE"),
6838 Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
6839 Self::RIGHT_ARM => Some("RIGHT_ARM"),
6840 Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
6841 Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
6842 _ => None,
6843 };
6844 fmt_enum(fmt, self.0, name)
6845 }
6846}
6847#[doc = "See [XrBodyJointSetHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetHTC)"]
6848#[repr(transparent)]
6849#[derive(Copy, Clone, Eq, PartialEq, Default)]
6850pub struct BodyJointSetHTC(i32);
6851impl BodyJointSetHTC {
6852 pub const FULL: BodyJointSetHTC = Self(0i32);
6853 pub fn from_raw(x: i32) -> Self {
6854 Self(x)
6855 }
6856 pub fn into_raw(self) -> i32 {
6857 self.0
6858 }
6859}
6860impl fmt::Debug for BodyJointSetHTC {
6861 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6862 let name = match *self {
6863 Self::FULL => Some("FULL"),
6864 _ => None,
6865 };
6866 fmt_enum(fmt, self.0, name)
6867 }
6868}
6869#[doc = "See [XrBodyJointConfidenceHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointConfidenceHTC)"]
6870#[repr(transparent)]
6871#[derive(Copy, Clone, Eq, PartialEq, Default)]
6872pub struct BodyJointConfidenceHTC(i32);
6873impl BodyJointConfidenceHTC {
6874 pub const NONE: BodyJointConfidenceHTC = Self(0i32);
6875 pub const LOW: BodyJointConfidenceHTC = Self(1i32);
6876 pub const HIGH: BodyJointConfidenceHTC = Self(2i32);
6877 pub fn from_raw(x: i32) -> Self {
6878 Self(x)
6879 }
6880 pub fn into_raw(self) -> i32 {
6881 self.0
6882 }
6883}
6884impl fmt::Debug for BodyJointConfidenceHTC {
6885 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6886 let name = match *self {
6887 Self::NONE => Some("NONE"),
6888 Self::LOW => Some("LOW"),
6889 Self::HIGH => Some("HIGH"),
6890 _ => None,
6891 };
6892 fmt_enum(fmt, self.0, name)
6893 }
6894}
6895#[doc = "See [XrSpatialAnchorConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorConfidenceML)"]
6896#[repr(transparent)]
6897#[derive(Copy, Clone, Eq, PartialEq, Default)]
6898pub struct SpatialAnchorConfidenceML(i32);
6899impl SpatialAnchorConfidenceML {
6900 #[doc = "Low quality, this anchor can be expected to move significantly."]
6901 pub const LOW: SpatialAnchorConfidenceML = Self(0i32);
6902 #[doc = "Medium quality, this anchor may move slightly."]
6903 pub const MEDIUM: SpatialAnchorConfidenceML = Self(1i32);
6904 #[doc = "High quality, this anchor is stable and suitable for digital content attachment."]
6905 pub const HIGH: SpatialAnchorConfidenceML = Self(2i32);
6906 pub fn from_raw(x: i32) -> Self {
6907 Self(x)
6908 }
6909 pub fn into_raw(self) -> i32 {
6910 self.0
6911 }
6912}
6913impl fmt::Debug for SpatialAnchorConfidenceML {
6914 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6915 let name = match *self {
6916 Self::LOW => Some("LOW"),
6917 Self::MEDIUM => Some("MEDIUM"),
6918 Self::HIGH => Some("HIGH"),
6919 _ => None,
6920 };
6921 fmt_enum(fmt, self.0, name)
6922 }
6923}
6924#[doc = "See [XrWorldMeshBlockStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockStatusML)"]
6925#[repr(transparent)]
6926#[derive(Copy, Clone, Eq, PartialEq, Default)]
6927pub struct WorldMeshBlockStatusML(i32);
6928impl WorldMeshBlockStatusML {
6929 #[doc = "The mesh block has been created."]
6930 pub const NEW: WorldMeshBlockStatusML = Self(0i32);
6931 #[doc = "The mesh block has been updated."]
6932 pub const UPDATED: WorldMeshBlockStatusML = Self(1i32);
6933 #[doc = "The mesh block has been deleted."]
6934 pub const DELETED: WorldMeshBlockStatusML = Self(2i32);
6935 #[doc = "The mesh block is unchanged."]
6936 pub const UNCHANGED: WorldMeshBlockStatusML = Self(3i32);
6937 pub fn from_raw(x: i32) -> Self {
6938 Self(x)
6939 }
6940 pub fn into_raw(self) -> i32 {
6941 self.0
6942 }
6943}
6944impl fmt::Debug for WorldMeshBlockStatusML {
6945 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6946 let name = match *self {
6947 Self::NEW => Some("NEW"),
6948 Self::UPDATED => Some("UPDATED"),
6949 Self::DELETED => Some("DELETED"),
6950 Self::UNCHANGED => Some("UNCHANGED"),
6951 _ => None,
6952 };
6953 fmt_enum(fmt, self.0, name)
6954 }
6955}
6956#[doc = "See [XrWorldMeshDetectorLodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorLodML)"]
6957#[repr(transparent)]
6958#[derive(Copy, Clone, Eq, PartialEq, Default)]
6959pub struct WorldMeshDetectorLodML(i32);
6960impl WorldMeshDetectorLodML {
6961 #[doc = "Minimum Level of Detail (LOD) for the mesh."]
6962 pub const MINIMUM: WorldMeshDetectorLodML = Self(0i32);
6963 #[doc = "Medium Level of Detail (LOD) for the mesh."]
6964 pub const MEDIUM: WorldMeshDetectorLodML = Self(1i32);
6965 #[doc = "Maximum Level of Detail (LOD) for the mesh."]
6966 pub const MAXIMUM: WorldMeshDetectorLodML = Self(2i32);
6967 pub fn from_raw(x: i32) -> Self {
6968 Self(x)
6969 }
6970 pub fn into_raw(self) -> i32 {
6971 self.0
6972 }
6973}
6974impl fmt::Debug for WorldMeshDetectorLodML {
6975 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6976 let name = match *self {
6977 Self::MINIMUM => Some("MINIMUM"),
6978 Self::MEDIUM => Some("MEDIUM"),
6979 Self::MAXIMUM => Some("MAXIMUM"),
6980 _ => None,
6981 };
6982 fmt_enum(fmt, self.0, name)
6983 }
6984}
6985#[doc = "See [XrWorldMeshBlockResultML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockResultML)"]
6986#[repr(transparent)]
6987#[derive(Copy, Clone, Eq, PartialEq, Default)]
6988pub struct WorldMeshBlockResultML(i32);
6989impl WorldMeshBlockResultML {
6990 #[doc = "Mesh request has succeeded."]
6991 pub const SUCCESS: WorldMeshBlockResultML = Self(0i32);
6992 #[doc = "Mesh request has failed."]
6993 pub const FAILED: WorldMeshBlockResultML = Self(1i32);
6994 #[doc = "Mesh request is pending."]
6995 pub const PENDING: WorldMeshBlockResultML = Self(2i32);
6996 #[doc = "There are partial updates on the mesh request."]
6997 pub const PARTIAL_UPDATE: WorldMeshBlockResultML = Self(3i32);
6998 pub fn from_raw(x: i32) -> Self {
6999 Self(x)
7000 }
7001 pub fn into_raw(self) -> i32 {
7002 self.0
7003 }
7004}
7005impl fmt::Debug for WorldMeshBlockResultML {
7006 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7007 let name = match *self {
7008 Self::SUCCESS => Some("SUCCESS"),
7009 Self::FAILED => Some("FAILED"),
7010 Self::PENDING => Some("PENDING"),
7011 Self::PARTIAL_UPDATE => Some("PARTIAL_UPDATE"),
7012 _ => None,
7013 };
7014 fmt_enum(fmt, self.0, name)
7015 }
7016}
7017#[doc = "See [XrBodyJointBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointBD)"]
7018#[repr(transparent)]
7019#[derive(Copy, Clone, Eq, PartialEq, Default)]
7020pub struct BodyJointBD(i32);
7021impl BodyJointBD {
7022 pub const PELVIS: BodyJointBD = Self(0i32);
7023 pub const LEFT_HIP: BodyJointBD = Self(1i32);
7024 pub const RIGHT_HIP: BodyJointBD = Self(2i32);
7025 pub const SPINE1: BodyJointBD = Self(3i32);
7026 pub const LEFT_KNEE: BodyJointBD = Self(4i32);
7027 pub const RIGHT_KNEE: BodyJointBD = Self(5i32);
7028 pub const SPINE2: BodyJointBD = Self(6i32);
7029 pub const LEFT_ANKLE: BodyJointBD = Self(7i32);
7030 pub const RIGHT_ANKLE: BodyJointBD = Self(8i32);
7031 pub const SPINE3: BodyJointBD = Self(9i32);
7032 pub const LEFT_FOOT: BodyJointBD = Self(10i32);
7033 pub const RIGHT_FOOT: BodyJointBD = Self(11i32);
7034 pub const NECK: BodyJointBD = Self(12i32);
7035 pub const LEFT_COLLAR: BodyJointBD = Self(13i32);
7036 pub const RIGHT_COLLAR: BodyJointBD = Self(14i32);
7037 pub const HEAD: BodyJointBD = Self(15i32);
7038 pub const LEFT_SHOULDER: BodyJointBD = Self(16i32);
7039 pub const RIGHT_SHOULDER: BodyJointBD = Self(17i32);
7040 pub const LEFT_ELBOW: BodyJointBD = Self(18i32);
7041 pub const RIGHT_ELBOW: BodyJointBD = Self(19i32);
7042 pub const LEFT_WRIST: BodyJointBD = Self(20i32);
7043 pub const RIGHT_WRIST: BodyJointBD = Self(21i32);
7044 pub const LEFT_HAND: BodyJointBD = Self(22i32);
7045 pub const RIGHT_HAND: BodyJointBD = Self(23i32);
7046 pub fn from_raw(x: i32) -> Self {
7047 Self(x)
7048 }
7049 pub fn into_raw(self) -> i32 {
7050 self.0
7051 }
7052}
7053impl fmt::Debug for BodyJointBD {
7054 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7055 let name = match *self {
7056 Self::PELVIS => Some("PELVIS"),
7057 Self::LEFT_HIP => Some("LEFT_HIP"),
7058 Self::RIGHT_HIP => Some("RIGHT_HIP"),
7059 Self::SPINE1 => Some("SPINE1"),
7060 Self::LEFT_KNEE => Some("LEFT_KNEE"),
7061 Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
7062 Self::SPINE2 => Some("SPINE2"),
7063 Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
7064 Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
7065 Self::SPINE3 => Some("SPINE3"),
7066 Self::LEFT_FOOT => Some("LEFT_FOOT"),
7067 Self::RIGHT_FOOT => Some("RIGHT_FOOT"),
7068 Self::NECK => Some("NECK"),
7069 Self::LEFT_COLLAR => Some("LEFT_COLLAR"),
7070 Self::RIGHT_COLLAR => Some("RIGHT_COLLAR"),
7071 Self::HEAD => Some("HEAD"),
7072 Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
7073 Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
7074 Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
7075 Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
7076 Self::LEFT_WRIST => Some("LEFT_WRIST"),
7077 Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
7078 Self::LEFT_HAND => Some("LEFT_HAND"),
7079 Self::RIGHT_HAND => Some("RIGHT_HAND"),
7080 _ => None,
7081 };
7082 fmt_enum(fmt, self.0, name)
7083 }
7084}
7085#[doc = "Describes the set of body joints to track when creating an XrBodyTrackerBD. - see [XrBodyJointSetBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetBD)"]
7086#[repr(transparent)]
7087#[derive(Copy, Clone, Eq, PartialEq)]
7088pub struct BodyJointSetBD(i32);
7089impl BodyJointSetBD {
7090 #[doc = "Contains joints in XrBodyJointBD in the range XR_BODY_JOINT_PELVIS_BD through XR_BODY_JOINT_HEAD_BD inclusive, a total of XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD joints."]
7091 pub const BODY_WITHOUT_ARM: BodyJointSetBD = Self(1i32);
7092 #[doc = "Contains joints in XrBodyJointBD in the range XR_BODY_JOINT_PELVIS_BD through XR_BODY_JOINT_RIGHT_HAND_BD inclusive, a total of XR_BODY_JOINT_COUNT_BD joints."]
7093 pub const FULL_BODY_JOINTS: BodyJointSetBD = Self(2i32);
7094 pub fn from_raw(x: i32) -> Self {
7095 Self(x)
7096 }
7097 pub fn into_raw(self) -> i32 {
7098 self.0
7099 }
7100}
7101impl fmt::Debug for BodyJointSetBD {
7102 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7103 let name = match *self {
7104 Self::BODY_WITHOUT_ARM => Some("BODY_WITHOUT_ARM"),
7105 Self::FULL_BODY_JOINTS => Some("FULL_BODY_JOINTS"),
7106 _ => None,
7107 };
7108 fmt_enum(fmt, self.0, name)
7109 }
7110}
7111#[doc = "See [XrSenseDataProviderTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderTypeBD)"]
7112#[repr(transparent)]
7113#[derive(Copy, Clone, Eq, PartialEq)]
7114pub struct SenseDataProviderTypeBD(i32);
7115impl SenseDataProviderTypeBD {
7116 #[doc = "Create arbitrary spatial anchors."]
7117 pub const ANCHOR: SenseDataProviderTypeBD = Self(1000390000i32);
7118 #[doc = "Access spatial scene capture data."]
7119 pub const SCENE: SenseDataProviderTypeBD = Self(1000392000i32);
7120 #[doc = "Capture spatial mesh data."]
7121 pub const MESH: SenseDataProviderTypeBD = Self(1000393000i32);
7122 #[doc = "Capture spatial plane data."]
7123 pub const PLANE: SenseDataProviderTypeBD = Self(1000396000i32);
7124 pub fn from_raw(x: i32) -> Self {
7125 Self(x)
7126 }
7127 pub fn into_raw(self) -> i32 {
7128 self.0
7129 }
7130}
7131impl fmt::Debug for SenseDataProviderTypeBD {
7132 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7133 let name = match *self {
7134 Self::ANCHOR => Some("ANCHOR"),
7135 Self::SCENE => Some("SCENE"),
7136 Self::MESH => Some("MESH"),
7137 Self::PLANE => Some("PLANE"),
7138 _ => None,
7139 };
7140 fmt_enum(fmt, self.0, name)
7141 }
7142}
7143#[doc = "See [XrSemanticLabelBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelBD)"]
7144#[repr(transparent)]
7145#[derive(Copy, Clone, Eq, PartialEq, Default)]
7146pub struct SemanticLabelBD(i32);
7147impl SemanticLabelBD {
7148 #[doc = "Semantic label that the runtime does not know."]
7149 pub const UNKNOWN: SemanticLabelBD = Self(0i32);
7150 #[doc = "Semantic label of floor."]
7151 pub const FLOOR: SemanticLabelBD = Self(1i32);
7152 #[doc = "Semantic label of ceiling."]
7153 pub const CEILING: SemanticLabelBD = Self(2i32);
7154 #[doc = "Semantic label of wall."]
7155 pub const WALL: SemanticLabelBD = Self(3i32);
7156 #[doc = "Semantic label of door."]
7157 pub const DOOR: SemanticLabelBD = Self(4i32);
7158 #[doc = "Semantic label of window."]
7159 pub const WINDOW: SemanticLabelBD = Self(5i32);
7160 #[doc = "Semantic label of opening, usually refers to a space that something or someone can pass through."]
7161 pub const OPENING: SemanticLabelBD = Self(6i32);
7162 #[doc = "Semantic label of table."]
7163 pub const TABLE: SemanticLabelBD = Self(7i32);
7164 #[doc = "Semantic label of sofa, usually refers to a seat that multiple people can sit on."]
7165 pub const SOFA: SemanticLabelBD = Self(8i32);
7166 #[doc = "Semantic label of chair, usually refers to a seat that for one person."]
7167 pub const CHAIR: SemanticLabelBD = Self(9i32);
7168 #[doc = "Semantic label of human."]
7169 pub const HUMAN: SemanticLabelBD = Self(10i32);
7170 #[doc = "Semantic label of beam, which usually supports weight in a building or other structure."]
7171 pub const BEAM: SemanticLabelBD = Self(11i32);
7172 #[doc = "Semantic label of column, which is vertical and used as a support for the roof of a building."]
7173 pub const COLUMN: SemanticLabelBD = Self(12i32);
7174 #[doc = "Semantic label of curtain."]
7175 pub const CURTAIN: SemanticLabelBD = Self(13i32);
7176 #[doc = "Semantic label of cabinet."]
7177 pub const CABINET: SemanticLabelBD = Self(14i32);
7178 #[doc = "Semantic label of bed."]
7179 pub const BED: SemanticLabelBD = Self(15i32);
7180 #[doc = "Semantic label of plant."]
7181 pub const PLANT: SemanticLabelBD = Self(16i32);
7182 #[doc = "Semantic label of screen."]
7183 pub const SCREEN: SemanticLabelBD = Self(17i32);
7184 #[doc = "Semantic label of virtual wall, which is generated by the system scene capture app in order to create a closed space for users."]
7185 pub const VIRTUAL_WALL: SemanticLabelBD = Self(18i32);
7186 #[doc = "Semantic label of refrigerator."]
7187 pub const REFRIGERATOR: SemanticLabelBD = Self(19i32);
7188 #[doc = "Semantic label of washing machine."]
7189 pub const WASHING_MACHINE: SemanticLabelBD = Self(20i32);
7190 #[doc = "Semantic label of air conditioner."]
7191 pub const AIR_CONDITIONER: SemanticLabelBD = Self(21i32);
7192 #[doc = "Semantic label of lamp."]
7193 pub const LAMP: SemanticLabelBD = Self(22i32);
7194 #[doc = "Semantic label of wall art, like a painting or a photo frame."]
7195 pub const WALL_ART: SemanticLabelBD = Self(23i32);
7196 #[doc = "Semantic label of stairway."]
7197 pub const STAIRWAY: SemanticLabelBD = Self(24i32);
7198 pub fn from_raw(x: i32) -> Self {
7199 Self(x)
7200 }
7201 pub fn into_raw(self) -> i32 {
7202 self.0
7203 }
7204}
7205impl fmt::Debug for SemanticLabelBD {
7206 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7207 let name = match *self {
7208 Self::UNKNOWN => Some("UNKNOWN"),
7209 Self::FLOOR => Some("FLOOR"),
7210 Self::CEILING => Some("CEILING"),
7211 Self::WALL => Some("WALL"),
7212 Self::DOOR => Some("DOOR"),
7213 Self::WINDOW => Some("WINDOW"),
7214 Self::OPENING => Some("OPENING"),
7215 Self::TABLE => Some("TABLE"),
7216 Self::SOFA => Some("SOFA"),
7217 Self::CHAIR => Some("CHAIR"),
7218 Self::HUMAN => Some("HUMAN"),
7219 Self::BEAM => Some("BEAM"),
7220 Self::COLUMN => Some("COLUMN"),
7221 Self::CURTAIN => Some("CURTAIN"),
7222 Self::CABINET => Some("CABINET"),
7223 Self::BED => Some("BED"),
7224 Self::PLANT => Some("PLANT"),
7225 Self::SCREEN => Some("SCREEN"),
7226 Self::VIRTUAL_WALL => Some("VIRTUAL_WALL"),
7227 Self::REFRIGERATOR => Some("REFRIGERATOR"),
7228 Self::WASHING_MACHINE => Some("WASHING_MACHINE"),
7229 Self::AIR_CONDITIONER => Some("AIR_CONDITIONER"),
7230 Self::LAMP => Some("LAMP"),
7231 Self::WALL_ART => Some("WALL_ART"),
7232 Self::STAIRWAY => Some("STAIRWAY"),
7233 _ => None,
7234 };
7235 fmt_enum(fmt, self.0, name)
7236 }
7237}
7238#[doc = "See [XrSpatialEntityComponentTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentTypeBD)"]
7239#[repr(transparent)]
7240#[derive(Copy, Clone, Eq, PartialEq, Default)]
7241pub struct SpatialEntityComponentTypeBD(i32);
7242impl SpatialEntityComponentTypeBD {
7243 #[doc = "The location including position and rotation. Corresponds to component data structure XrSpatialEntityComponentDataLocationBD."]
7244 pub const LOCATION: SpatialEntityComponentTypeBD = Self(0i32);
7245 #[doc = "The semantic label. Corresponds to component data structure XrSpatialEntityComponentDataSemanticBD."]
7246 pub const SEMANTIC: SpatialEntityComponentTypeBD = Self(1i32);
7247 #[doc = "The two-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox2DBD."]
7248 pub const BOUNDING_BOX_2D: SpatialEntityComponentTypeBD = Self(2i32);
7249 #[doc = "The two-dimensional polygon. Corresponds to component data structure XrSpatialEntityComponentDataPolygonBD."]
7250 pub const POLYGON: SpatialEntityComponentTypeBD = Self(3i32);
7251 #[doc = "The three-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox3DBD."]
7252 pub const BOUNDING_BOX_3D: SpatialEntityComponentTypeBD = Self(4i32);
7253 #[doc = "The triangle mesh. Corresponds to component data structure XrSpatialEntityComponentDataTriangleMeshBD."]
7254 pub const TRIANGLE_MESH: SpatialEntityComponentTypeBD = Self(5i32);
7255 #[doc = "The plane orientation. Corresponds to component data structure XrSpatialEntityComponentDataPlaneOrientationBD."]
7256 pub const PLANE_ORIENTATION: SpatialEntityComponentTypeBD = Self(1000396000i32);
7257 pub fn from_raw(x: i32) -> Self {
7258 Self(x)
7259 }
7260 pub fn into_raw(self) -> i32 {
7261 self.0
7262 }
7263}
7264impl fmt::Debug for SpatialEntityComponentTypeBD {
7265 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7266 let name = match *self {
7267 Self::LOCATION => Some("LOCATION"),
7268 Self::SEMANTIC => Some("SEMANTIC"),
7269 Self::BOUNDING_BOX_2D => Some("BOUNDING_BOX_2D"),
7270 Self::POLYGON => Some("POLYGON"),
7271 Self::BOUNDING_BOX_3D => Some("BOUNDING_BOX_3D"),
7272 Self::TRIANGLE_MESH => Some("TRIANGLE_MESH"),
7273 Self::PLANE_ORIENTATION => Some("PLANE_ORIENTATION"),
7274 _ => None,
7275 };
7276 fmt_enum(fmt, self.0, name)
7277 }
7278}
7279#[doc = "See [XrSenseDataProviderStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderStateBD)"]
7280#[repr(transparent)]
7281#[derive(Copy, Clone, Eq, PartialEq, Default)]
7282pub struct SenseDataProviderStateBD(i32);
7283impl SenseDataProviderStateBD {
7284 #[doc = "The state after the provider is successfully created, which means the provider is ready to start."]
7285 pub const INITIALIZED: SenseDataProviderStateBD = Self(0i32);
7286 #[doc = "The state when the provider is running normally."]
7287 pub const RUNNING: SenseDataProviderStateBD = Self(1i32);
7288 #[doc = "The state after the provider is successfully stopped, or when an unexpected error occurs."]
7289 pub const STOPPED: SenseDataProviderStateBD = Self(2i32);
7290 pub fn from_raw(x: i32) -> Self {
7291 Self(x)
7292 }
7293 pub fn into_raw(self) -> i32 {
7294 self.0
7295 }
7296}
7297impl fmt::Debug for SenseDataProviderStateBD {
7298 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7299 let name = match *self {
7300 Self::INITIALIZED => Some("INITIALIZED"),
7301 Self::RUNNING => Some("RUNNING"),
7302 Self::STOPPED => Some("STOPPED"),
7303 _ => None,
7304 };
7305 fmt_enum(fmt, self.0, name)
7306 }
7307}
7308#[doc = "See [XrPersistenceLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistenceLocationBD)"]
7309#[repr(transparent)]
7310#[derive(Copy, Clone, Eq, PartialEq, Default)]
7311pub struct PersistenceLocationBD(i32);
7312impl PersistenceLocationBD {
7313 #[doc = "The persistence storage location is local to the device."]
7314 pub const LOCAL: PersistenceLocationBD = Self(0i32);
7315 pub fn from_raw(x: i32) -> Self {
7316 Self(x)
7317 }
7318 pub fn into_raw(self) -> i32 {
7319 self.0
7320 }
7321}
7322impl fmt::Debug for PersistenceLocationBD {
7323 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7324 let name = match *self {
7325 Self::LOCAL => Some("LOCAL"),
7326 _ => None,
7327 };
7328 fmt_enum(fmt, self.0, name)
7329 }
7330}
7331#[doc = "See [XrSpatialMeshLodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshLodBD)"]
7332#[repr(transparent)]
7333#[derive(Copy, Clone, Eq, PartialEq, Default)]
7334pub struct SpatialMeshLodBD(i32);
7335impl SpatialMeshLodBD {
7336 #[doc = "Coarse level for the mesh with less details."]
7337 pub const COARSE: SpatialMeshLodBD = Self(0i32);
7338 #[doc = "Medium level for the mesh."]
7339 pub const MEDIUM: SpatialMeshLodBD = Self(1i32);
7340 #[doc = "Fine level for the mesh with more details."]
7341 pub const FINE: SpatialMeshLodBD = Self(2i32);
7342 pub fn from_raw(x: i32) -> Self {
7343 Self(x)
7344 }
7345 pub fn into_raw(self) -> i32 {
7346 self.0
7347 }
7348}
7349impl fmt::Debug for SpatialMeshLodBD {
7350 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7351 let name = match *self {
7352 Self::COARSE => Some("COARSE"),
7353 Self::MEDIUM => Some("MEDIUM"),
7354 Self::FINE => Some("FINE"),
7355 _ => None,
7356 };
7357 fmt_enum(fmt, self.0, name)
7358 }
7359}
7360#[doc = "See [XrPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneOrientationBD)"]
7361#[repr(transparent)]
7362#[derive(Copy, Clone, Eq, PartialEq, Default)]
7363pub struct PlaneOrientationBD(i32);
7364impl PlaneOrientationBD {
7365 #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
7366 pub const HORIZONTAL_UPWARD: PlaneOrientationBD = Self(0i32);
7367 #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
7368 pub const HORIZONTAL_DOWNWARD: PlaneOrientationBD = Self(1i32);
7369 #[doc = "The detected plane is vertical (e.g. wall)."]
7370 pub const VERTICAL: PlaneOrientationBD = Self(2i32);
7371 #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
7372 pub const ARBITRARY: PlaneOrientationBD = Self(3i32);
7373 pub fn from_raw(x: i32) -> Self {
7374 Self(x)
7375 }
7376 pub fn into_raw(self) -> i32 {
7377 self.0
7378 }
7379}
7380impl fmt::Debug for PlaneOrientationBD {
7381 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7382 let name = match *self {
7383 Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
7384 Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
7385 Self::VERTICAL => Some("VERTICAL"),
7386 Self::ARBITRARY => Some("ARBITRARY"),
7387 _ => None,
7388 };
7389 fmt_enum(fmt, self.0, name)
7390 }
7391}
7392#[doc = "See [XrSpatialMarkerArucoDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerArucoDictEXT)"]
7393#[repr(transparent)]
7394#[derive(Copy, Clone, Eq, PartialEq)]
7395pub struct SpatialMarkerArucoDictEXT(i32);
7396impl SpatialMarkerArucoDictEXT {
7397 #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
7398 pub const DICT_4X4_50: SpatialMarkerArucoDictEXT = Self(1i32);
7399 #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
7400 pub const DICT_4X4_100: SpatialMarkerArucoDictEXT = Self(2i32);
7401 #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
7402 pub const DICT_4X4_250: SpatialMarkerArucoDictEXT = Self(3i32);
7403 #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
7404 pub const DICT_4X4_1000: SpatialMarkerArucoDictEXT = Self(4i32);
7405 #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
7406 pub const DICT_5X5_50: SpatialMarkerArucoDictEXT = Self(5i32);
7407 #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
7408 pub const DICT_5X5_100: SpatialMarkerArucoDictEXT = Self(6i32);
7409 #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
7410 pub const DICT_5X5_250: SpatialMarkerArucoDictEXT = Self(7i32);
7411 #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
7412 pub const DICT_5X5_1000: SpatialMarkerArucoDictEXT = Self(8i32);
7413 #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
7414 pub const DICT_6X6_50: SpatialMarkerArucoDictEXT = Self(9i32);
7415 #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
7416 pub const DICT_6X6_100: SpatialMarkerArucoDictEXT = Self(10i32);
7417 #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
7418 pub const DICT_6X6_250: SpatialMarkerArucoDictEXT = Self(11i32);
7419 #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
7420 pub const DICT_6X6_1000: SpatialMarkerArucoDictEXT = Self(12i32);
7421 #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
7422 pub const DICT_7X7_50: SpatialMarkerArucoDictEXT = Self(13i32);
7423 #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
7424 pub const DICT_7X7_100: SpatialMarkerArucoDictEXT = Self(14i32);
7425 #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
7426 pub const DICT_7X7_250: SpatialMarkerArucoDictEXT = Self(15i32);
7427 #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
7428 pub const DICT_7X7_1000: SpatialMarkerArucoDictEXT = Self(16i32);
7429 pub fn from_raw(x: i32) -> Self {
7430 Self(x)
7431 }
7432 pub fn into_raw(self) -> i32 {
7433 self.0
7434 }
7435}
7436impl fmt::Debug for SpatialMarkerArucoDictEXT {
7437 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7438 let name = match *self {
7439 Self::DICT_4X4_50 => Some("DICT_4X4_50"),
7440 Self::DICT_4X4_100 => Some("DICT_4X4_100"),
7441 Self::DICT_4X4_250 => Some("DICT_4X4_250"),
7442 Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
7443 Self::DICT_5X5_50 => Some("DICT_5X5_50"),
7444 Self::DICT_5X5_100 => Some("DICT_5X5_100"),
7445 Self::DICT_5X5_250 => Some("DICT_5X5_250"),
7446 Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
7447 Self::DICT_6X6_50 => Some("DICT_6X6_50"),
7448 Self::DICT_6X6_100 => Some("DICT_6X6_100"),
7449 Self::DICT_6X6_250 => Some("DICT_6X6_250"),
7450 Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
7451 Self::DICT_7X7_50 => Some("DICT_7X7_50"),
7452 Self::DICT_7X7_100 => Some("DICT_7X7_100"),
7453 Self::DICT_7X7_250 => Some("DICT_7X7_250"),
7454 Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
7455 _ => None,
7456 };
7457 fmt_enum(fmt, self.0, name)
7458 }
7459}
7460#[doc = "See [XrSpatialMarkerAprilTagDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerAprilTagDictEXT)"]
7461#[repr(transparent)]
7462#[derive(Copy, Clone, Eq, PartialEq)]
7463pub struct SpatialMarkerAprilTagDictEXT(i32);
7464impl SpatialMarkerAprilTagDictEXT {
7465 #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
7466 pub const DICT_16H5: SpatialMarkerAprilTagDictEXT = Self(1i32);
7467 #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
7468 pub const DICT_25H9: SpatialMarkerAprilTagDictEXT = Self(2i32);
7469 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
7470 pub const DICT_36H10: SpatialMarkerAprilTagDictEXT = Self(3i32);
7471 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
7472 pub const DICT_36H11: SpatialMarkerAprilTagDictEXT = Self(4i32);
7473 pub fn from_raw(x: i32) -> Self {
7474 Self(x)
7475 }
7476 pub fn into_raw(self) -> i32 {
7477 self.0
7478 }
7479}
7480impl fmt::Debug for SpatialMarkerAprilTagDictEXT {
7481 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7482 let name = match *self {
7483 Self::DICT_16H5 => Some("DICT_16H5"),
7484 Self::DICT_25H9 => Some("DICT_25H9"),
7485 Self::DICT_36H10 => Some("DICT_36H10"),
7486 Self::DICT_36H11 => Some("DICT_36H11"),
7487 _ => None,
7488 };
7489 fmt_enum(fmt, self.0, name)
7490 }
7491}
7492#[doc = "See [XrFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationModeBD)"]
7493#[repr(transparent)]
7494#[derive(Copy, Clone, Eq, PartialEq, Default)]
7495pub struct FacialSimulationModeBD(i32);
7496impl FacialSimulationModeBD {
7497 #[doc = "When calling xrGetFacialSimulationDataBD, the output contains the XrFacialSimulationDataBD only."]
7498 pub const DEFAULT: FacialSimulationModeBD = Self(0i32);
7499 #[doc = "Results in the same output as the `Default` mode, furthermore, runtime can provide a precise result by using the audio input."]
7500 pub const COMBINED_AUDIO: FacialSimulationModeBD = Self(1i32);
7501 #[doc = "Separates the result into two parts, one is XrFacialSimulationDataBD, the other is XrLipExpressionDataBD."]
7502 pub const COMBINED_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(2i32);
7503 #[doc = "Uses only audio input to produce the output result as XrLipExpressionDataBD."]
7504 pub const ONLY_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(3i32);
7505 pub fn from_raw(x: i32) -> Self {
7506 Self(x)
7507 }
7508 pub fn into_raw(self) -> i32 {
7509 self.0
7510 }
7511}
7512impl fmt::Debug for FacialSimulationModeBD {
7513 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7514 let name = match *self {
7515 Self::DEFAULT => Some("DEFAULT"),
7516 Self::COMBINED_AUDIO => Some("COMBINED_AUDIO"),
7517 Self::COMBINED_AUDIO_WITH_LIP => Some("COMBINED_AUDIO_WITH_LIP"),
7518 Self::ONLY_AUDIO_WITH_LIP => Some("ONLY_AUDIO_WITH_LIP"),
7519 _ => None,
7520 };
7521 fmt_enum(fmt, self.0, name)
7522 }
7523}
7524#[doc = "See [XrFaceExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionBD)"]
7525#[repr(transparent)]
7526#[derive(Copy, Clone, Eq, PartialEq, Default)]
7527pub struct FaceExpressionBD(i32);
7528impl FaceExpressionBD {
7529 pub const BROW_DROP_L: FaceExpressionBD = Self(0i32);
7530 pub const BROW_DROP_R: FaceExpressionBD = Self(1i32);
7531 pub const BROW_INNER_UPWARDS: FaceExpressionBD = Self(2i32);
7532 pub const BROW_OUTER_UPWARDS_L: FaceExpressionBD = Self(3i32);
7533 pub const BROW_OUTER_UPWARDS_R: FaceExpressionBD = Self(4i32);
7534 pub const EYE_BLINK_L: FaceExpressionBD = Self(5i32);
7535 pub const EYE_LOOK_DROP_L: FaceExpressionBD = Self(6i32);
7536 pub const EYE_LOOK_IN_L: FaceExpressionBD = Self(7i32);
7537 pub const EYE_LOOK_OUT_L: FaceExpressionBD = Self(8i32);
7538 pub const EYE_LOOK_UPWARDS_L: FaceExpressionBD = Self(9i32);
7539 pub const EYE_LOOK_SQUINT_L: FaceExpressionBD = Self(10i32);
7540 pub const EYE_LOOK_WIDE_L: FaceExpressionBD = Self(11i32);
7541 pub const EYE_BLINK_R: FaceExpressionBD = Self(12i32);
7542 pub const EYE_LOOK_DROP_R: FaceExpressionBD = Self(13i32);
7543 pub const EYE_LOOK_IN_R: FaceExpressionBD = Self(14i32);
7544 pub const EYE_LOOK_OUT_R: FaceExpressionBD = Self(15i32);
7545 pub const EYE_LOOK_UPWARDS_R: FaceExpressionBD = Self(16i32);
7546 pub const EYE_LOOK_SQUINT_R: FaceExpressionBD = Self(17i32);
7547 pub const EYE_LOOK_WIDE_R: FaceExpressionBD = Self(18i32);
7548 pub const NOSE_SNEER_L: FaceExpressionBD = Self(19i32);
7549 pub const NOSE_SNEER_R: FaceExpressionBD = Self(20i32);
7550 pub const CHEEK_PUFF: FaceExpressionBD = Self(21i32);
7551 pub const CHEEK_SQUINT_L: FaceExpressionBD = Self(22i32);
7552 pub const CHEEK_SQUINT_R: FaceExpressionBD = Self(23i32);
7553 pub const MOUTH_CLOSE: FaceExpressionBD = Self(24i32);
7554 pub const MOUTH_FUNNEL: FaceExpressionBD = Self(25i32);
7555 pub const MOUTH_PUCKER: FaceExpressionBD = Self(26i32);
7556 pub const MOUTH_L: FaceExpressionBD = Self(27i32);
7557 pub const MOUTH_R: FaceExpressionBD = Self(28i32);
7558 pub const MOUTH_SMILE_L: FaceExpressionBD = Self(29i32);
7559 pub const MOUTH_SMILE_R: FaceExpressionBD = Self(30i32);
7560 pub const MOUTH_FROWN_L: FaceExpressionBD = Self(31i32);
7561 pub const MOUTH_FROWN_R: FaceExpressionBD = Self(32i32);
7562 pub const MOUTH_DIMPLE_L: FaceExpressionBD = Self(33i32);
7563 pub const MOUTH_DIMPLE_R: FaceExpressionBD = Self(34i32);
7564 pub const MOUTH_STRETCH_L: FaceExpressionBD = Self(35i32);
7565 pub const MOUTH_STRETCH_R: FaceExpressionBD = Self(36i32);
7566 pub const MOUTH_ROLL_LOWER: FaceExpressionBD = Self(37i32);
7567 pub const MOUTH_ROLL_UPPER: FaceExpressionBD = Self(38i32);
7568 pub const MOUTH_SHRUG_LOWER: FaceExpressionBD = Self(39i32);
7569 pub const MOUTH_SHRUG_UPPER: FaceExpressionBD = Self(40i32);
7570 pub const MOUTH_PRESS_L: FaceExpressionBD = Self(41i32);
7571 pub const MOUTH_PRESS_R: FaceExpressionBD = Self(42i32);
7572 pub const MOUTH_LOWER_DROP_L: FaceExpressionBD = Self(43i32);
7573 pub const MOUTH_LOWER_DROP_R: FaceExpressionBD = Self(44i32);
7574 pub const MOUTH_UPPER_UPWARDS_L: FaceExpressionBD = Self(45i32);
7575 pub const MOUTH_UPPER_UPWARDS_R: FaceExpressionBD = Self(46i32);
7576 pub const JAW_FORWARD: FaceExpressionBD = Self(47i32);
7577 pub const JAW_L: FaceExpressionBD = Self(48i32);
7578 pub const JAW_R: FaceExpressionBD = Self(49i32);
7579 pub const JAW_OPEN: FaceExpressionBD = Self(50i32);
7580 pub const TONGUE_OUT: FaceExpressionBD = Self(51i32);
7581 pub fn from_raw(x: i32) -> Self {
7582 Self(x)
7583 }
7584 pub fn into_raw(self) -> i32 {
7585 self.0
7586 }
7587}
7588impl fmt::Debug for FaceExpressionBD {
7589 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7590 let name = match *self {
7591 Self::BROW_DROP_L => Some("BROW_DROP_L"),
7592 Self::BROW_DROP_R => Some("BROW_DROP_R"),
7593 Self::BROW_INNER_UPWARDS => Some("BROW_INNER_UPWARDS"),
7594 Self::BROW_OUTER_UPWARDS_L => Some("BROW_OUTER_UPWARDS_L"),
7595 Self::BROW_OUTER_UPWARDS_R => Some("BROW_OUTER_UPWARDS_R"),
7596 Self::EYE_BLINK_L => Some("EYE_BLINK_L"),
7597 Self::EYE_LOOK_DROP_L => Some("EYE_LOOK_DROP_L"),
7598 Self::EYE_LOOK_IN_L => Some("EYE_LOOK_IN_L"),
7599 Self::EYE_LOOK_OUT_L => Some("EYE_LOOK_OUT_L"),
7600 Self::EYE_LOOK_UPWARDS_L => Some("EYE_LOOK_UPWARDS_L"),
7601 Self::EYE_LOOK_SQUINT_L => Some("EYE_LOOK_SQUINT_L"),
7602 Self::EYE_LOOK_WIDE_L => Some("EYE_LOOK_WIDE_L"),
7603 Self::EYE_BLINK_R => Some("EYE_BLINK_R"),
7604 Self::EYE_LOOK_DROP_R => Some("EYE_LOOK_DROP_R"),
7605 Self::EYE_LOOK_IN_R => Some("EYE_LOOK_IN_R"),
7606 Self::EYE_LOOK_OUT_R => Some("EYE_LOOK_OUT_R"),
7607 Self::EYE_LOOK_UPWARDS_R => Some("EYE_LOOK_UPWARDS_R"),
7608 Self::EYE_LOOK_SQUINT_R => Some("EYE_LOOK_SQUINT_R"),
7609 Self::EYE_LOOK_WIDE_R => Some("EYE_LOOK_WIDE_R"),
7610 Self::NOSE_SNEER_L => Some("NOSE_SNEER_L"),
7611 Self::NOSE_SNEER_R => Some("NOSE_SNEER_R"),
7612 Self::CHEEK_PUFF => Some("CHEEK_PUFF"),
7613 Self::CHEEK_SQUINT_L => Some("CHEEK_SQUINT_L"),
7614 Self::CHEEK_SQUINT_R => Some("CHEEK_SQUINT_R"),
7615 Self::MOUTH_CLOSE => Some("MOUTH_CLOSE"),
7616 Self::MOUTH_FUNNEL => Some("MOUTH_FUNNEL"),
7617 Self::MOUTH_PUCKER => Some("MOUTH_PUCKER"),
7618 Self::MOUTH_L => Some("MOUTH_L"),
7619 Self::MOUTH_R => Some("MOUTH_R"),
7620 Self::MOUTH_SMILE_L => Some("MOUTH_SMILE_L"),
7621 Self::MOUTH_SMILE_R => Some("MOUTH_SMILE_R"),
7622 Self::MOUTH_FROWN_L => Some("MOUTH_FROWN_L"),
7623 Self::MOUTH_FROWN_R => Some("MOUTH_FROWN_R"),
7624 Self::MOUTH_DIMPLE_L => Some("MOUTH_DIMPLE_L"),
7625 Self::MOUTH_DIMPLE_R => Some("MOUTH_DIMPLE_R"),
7626 Self::MOUTH_STRETCH_L => Some("MOUTH_STRETCH_L"),
7627 Self::MOUTH_STRETCH_R => Some("MOUTH_STRETCH_R"),
7628 Self::MOUTH_ROLL_LOWER => Some("MOUTH_ROLL_LOWER"),
7629 Self::MOUTH_ROLL_UPPER => Some("MOUTH_ROLL_UPPER"),
7630 Self::MOUTH_SHRUG_LOWER => Some("MOUTH_SHRUG_LOWER"),
7631 Self::MOUTH_SHRUG_UPPER => Some("MOUTH_SHRUG_UPPER"),
7632 Self::MOUTH_PRESS_L => Some("MOUTH_PRESS_L"),
7633 Self::MOUTH_PRESS_R => Some("MOUTH_PRESS_R"),
7634 Self::MOUTH_LOWER_DROP_L => Some("MOUTH_LOWER_DROP_L"),
7635 Self::MOUTH_LOWER_DROP_R => Some("MOUTH_LOWER_DROP_R"),
7636 Self::MOUTH_UPPER_UPWARDS_L => Some("MOUTH_UPPER_UPWARDS_L"),
7637 Self::MOUTH_UPPER_UPWARDS_R => Some("MOUTH_UPPER_UPWARDS_R"),
7638 Self::JAW_FORWARD => Some("JAW_FORWARD"),
7639 Self::JAW_L => Some("JAW_L"),
7640 Self::JAW_R => Some("JAW_R"),
7641 Self::JAW_OPEN => Some("JAW_OPEN"),
7642 Self::TONGUE_OUT => Some("TONGUE_OUT"),
7643 _ => None,
7644 };
7645 fmt_enum(fmt, self.0, name)
7646 }
7647}
7648#[doc = "See [XrLipExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionBD)"]
7649#[repr(transparent)]
7650#[derive(Copy, Clone, Eq, PartialEq, Default)]
7651pub struct LipExpressionBD(i32);
7652impl LipExpressionBD {
7653 pub const PP: LipExpressionBD = Self(0i32);
7654 pub const CH: LipExpressionBD = Self(1i32);
7655 pub const LO: LipExpressionBD = Self(2i32);
7656 pub const O: LipExpressionBD = Self(3i32);
7657 pub const I: LipExpressionBD = Self(4i32);
7658 pub const LU: LipExpressionBD = Self(5i32);
7659 pub const RR: LipExpressionBD = Self(6i32);
7660 pub const XX: LipExpressionBD = Self(7i32);
7661 pub const LAA: LipExpressionBD = Self(8i32);
7662 pub const LI: LipExpressionBD = Self(9i32);
7663 pub const FF: LipExpressionBD = Self(10i32);
7664 pub const U: LipExpressionBD = Self(11i32);
7665 pub const TH: LipExpressionBD = Self(12i32);
7666 pub const LKK: LipExpressionBD = Self(13i32);
7667 pub const SS: LipExpressionBD = Self(14i32);
7668 pub const LE: LipExpressionBD = Self(15i32);
7669 pub const DD: LipExpressionBD = Self(16i32);
7670 pub const E: LipExpressionBD = Self(17i32);
7671 pub const LNN: LipExpressionBD = Self(18i32);
7672 pub const SIL: LipExpressionBD = Self(19i32);
7673 pub fn from_raw(x: i32) -> Self {
7674 Self(x)
7675 }
7676 pub fn into_raw(self) -> i32 {
7677 self.0
7678 }
7679}
7680impl fmt::Debug for LipExpressionBD {
7681 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7682 let name = match *self {
7683 Self::PP => Some("PP"),
7684 Self::CH => Some("CH"),
7685 Self::LO => Some("LO"),
7686 Self::O => Some("O"),
7687 Self::I => Some("I"),
7688 Self::LU => Some("LU"),
7689 Self::RR => Some("RR"),
7690 Self::XX => Some("XX"),
7691 Self::LAA => Some("LAA"),
7692 Self::LI => Some("LI"),
7693 Self::FF => Some("FF"),
7694 Self::U => Some("U"),
7695 Self::TH => Some("TH"),
7696 Self::LKK => Some("LKK"),
7697 Self::SS => Some("SS"),
7698 Self::LE => Some("LE"),
7699 Self::DD => Some("DD"),
7700 Self::E => Some("E"),
7701 Self::LNN => Some("LNN"),
7702 Self::SIL => Some("SIL"),
7703 _ => None,
7704 };
7705 fmt_enum(fmt, self.0, name)
7706 }
7707}
7708#[doc = "See [XrHandEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandEXT)"]
7709#[repr(transparent)]
7710#[derive(Copy, Clone, Eq, PartialEq)]
7711pub struct HandEXT(i32);
7712impl HandEXT {
7713 pub const LEFT: HandEXT = Self(1i32);
7714 pub const RIGHT: HandEXT = Self(2i32);
7715 pub fn from_raw(x: i32) -> Self {
7716 Self(x)
7717 }
7718 pub fn into_raw(self) -> i32 {
7719 self.0
7720 }
7721}
7722impl fmt::Debug for HandEXT {
7723 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7724 let name = match *self {
7725 Self::LEFT => Some("LEFT"),
7726 Self::RIGHT => Some("RIGHT"),
7727 _ => None,
7728 };
7729 fmt_enum(fmt, self.0, name)
7730 }
7731}
7732#[doc = "See [XrHandJointEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointEXT)"]
7733#[repr(transparent)]
7734#[derive(Copy, Clone, Eq, PartialEq, Default)]
7735pub struct HandJointEXT(i32);
7736impl HandJointEXT {
7737 pub const PALM: HandJointEXT = Self(0i32);
7738 pub const WRIST: HandJointEXT = Self(1i32);
7739 pub const THUMB_METACARPAL: HandJointEXT = Self(2i32);
7740 pub const THUMB_PROXIMAL: HandJointEXT = Self(3i32);
7741 pub const THUMB_DISTAL: HandJointEXT = Self(4i32);
7742 pub const THUMB_TIP: HandJointEXT = Self(5i32);
7743 pub const INDEX_METACARPAL: HandJointEXT = Self(6i32);
7744 pub const INDEX_PROXIMAL: HandJointEXT = Self(7i32);
7745 pub const INDEX_INTERMEDIATE: HandJointEXT = Self(8i32);
7746 pub const INDEX_DISTAL: HandJointEXT = Self(9i32);
7747 pub const INDEX_TIP: HandJointEXT = Self(10i32);
7748 pub const MIDDLE_METACARPAL: HandJointEXT = Self(11i32);
7749 pub const MIDDLE_PROXIMAL: HandJointEXT = Self(12i32);
7750 pub const MIDDLE_INTERMEDIATE: HandJointEXT = Self(13i32);
7751 pub const MIDDLE_DISTAL: HandJointEXT = Self(14i32);
7752 pub const MIDDLE_TIP: HandJointEXT = Self(15i32);
7753 pub const RING_METACARPAL: HandJointEXT = Self(16i32);
7754 pub const RING_PROXIMAL: HandJointEXT = Self(17i32);
7755 pub const RING_INTERMEDIATE: HandJointEXT = Self(18i32);
7756 pub const RING_DISTAL: HandJointEXT = Self(19i32);
7757 pub const RING_TIP: HandJointEXT = Self(20i32);
7758 pub const LITTLE_METACARPAL: HandJointEXT = Self(21i32);
7759 pub const LITTLE_PROXIMAL: HandJointEXT = Self(22i32);
7760 pub const LITTLE_INTERMEDIATE: HandJointEXT = Self(23i32);
7761 pub const LITTLE_DISTAL: HandJointEXT = Self(24i32);
7762 pub const LITTLE_TIP: HandJointEXT = Self(25i32);
7763 pub fn from_raw(x: i32) -> Self {
7764 Self(x)
7765 }
7766 pub fn into_raw(self) -> i32 {
7767 self.0
7768 }
7769}
7770impl fmt::Debug for HandJointEXT {
7771 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7772 let name = match *self {
7773 Self::PALM => Some("PALM"),
7774 Self::WRIST => Some("WRIST"),
7775 Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
7776 Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
7777 Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
7778 Self::THUMB_TIP => Some("THUMB_TIP"),
7779 Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
7780 Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
7781 Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
7782 Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
7783 Self::INDEX_TIP => Some("INDEX_TIP"),
7784 Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
7785 Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
7786 Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
7787 Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
7788 Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
7789 Self::RING_METACARPAL => Some("RING_METACARPAL"),
7790 Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
7791 Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
7792 Self::RING_DISTAL => Some("RING_DISTAL"),
7793 Self::RING_TIP => Some("RING_TIP"),
7794 Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
7795 Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
7796 Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
7797 Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
7798 Self::LITTLE_TIP => Some("LITTLE_TIP"),
7799 _ => None,
7800 };
7801 fmt_enum(fmt, self.0, name)
7802 }
7803}
7804#[doc = "See [XrHandJointSetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointSetEXT)"]
7805#[repr(transparent)]
7806#[derive(Copy, Clone, Eq, PartialEq, Default)]
7807pub struct HandJointSetEXT(i32);
7808impl HandJointSetEXT {
7809 pub const DEFAULT: HandJointSetEXT = Self(0i32);
7810 pub const HAND_WITH_FOREARM_ULTRA: HandJointSetEXT = Self(1000149000i32);
7811 pub fn from_raw(x: i32) -> Self {
7812 Self(x)
7813 }
7814 pub fn into_raw(self) -> i32 {
7815 self.0
7816 }
7817}
7818impl fmt::Debug for HandJointSetEXT {
7819 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7820 let name = match *self {
7821 Self::DEFAULT => Some("DEFAULT"),
7822 Self::HAND_WITH_FOREARM_ULTRA => Some("HAND_WITH_FOREARM_ULTRA"),
7823 _ => None,
7824 };
7825 fmt_enum(fmt, self.0, name)
7826 }
7827}
7828#[doc = "See [XrHandJointsMotionRangeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsMotionRangeEXT)"]
7829#[repr(transparent)]
7830#[derive(Copy, Clone, Eq, PartialEq)]
7831pub struct HandJointsMotionRangeEXT(i32);
7832impl HandJointsMotionRangeEXT {
7833 pub const UNOBSTRUCTED: HandJointsMotionRangeEXT = Self(1i32);
7834 pub const CONFORMING_TO_CONTROLLER: HandJointsMotionRangeEXT = Self(2i32);
7835 pub fn from_raw(x: i32) -> Self {
7836 Self(x)
7837 }
7838 pub fn into_raw(self) -> i32 {
7839 self.0
7840 }
7841}
7842impl fmt::Debug for HandJointsMotionRangeEXT {
7843 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7844 let name = match *self {
7845 Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
7846 Self::CONFORMING_TO_CONTROLLER => Some("CONFORMING_TO_CONTROLLER"),
7847 _ => None,
7848 };
7849 fmt_enum(fmt, self.0, name)
7850 }
7851}
7852#[doc = "See [XrHandTrackingDataSourceEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceEXT)"]
7853#[repr(transparent)]
7854#[derive(Copy, Clone, Eq, PartialEq)]
7855pub struct HandTrackingDataSourceEXT(i32);
7856impl HandTrackingDataSourceEXT {
7857 #[doc = "This data source value indicates individual fingers and joints are tracked from unobstructed data source such as optical hand tracking, data gloves, or motion capture devices."]
7858 pub const UNOBSTRUCTED: HandTrackingDataSourceEXT = Self(1i32);
7859 #[doc = "This data source value indicates hand joints are inferred based on motion controller state."]
7860 pub const CONTROLLER: HandTrackingDataSourceEXT = Self(2i32);
7861 pub fn from_raw(x: i32) -> Self {
7862 Self(x)
7863 }
7864 pub fn into_raw(self) -> i32 {
7865 self.0
7866 }
7867}
7868impl fmt::Debug for HandTrackingDataSourceEXT {
7869 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7870 let name = match *self {
7871 Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
7872 Self::CONTROLLER => Some("CONTROLLER"),
7873 _ => None,
7874 };
7875 fmt_enum(fmt, self.0, name)
7876 }
7877}
7878#[doc = "See [XrHandPoseTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandPoseTypeMSFT)"]
7879#[repr(transparent)]
7880#[derive(Copy, Clone, Eq, PartialEq, Default)]
7881pub struct HandPoseTypeMSFT(i32);
7882impl HandPoseTypeMSFT {
7883 pub const TRACKED: HandPoseTypeMSFT = Self(0i32);
7884 pub const REFERENCE_OPEN_PALM: HandPoseTypeMSFT = Self(1i32);
7885 pub fn from_raw(x: i32) -> Self {
7886 Self(x)
7887 }
7888 pub fn into_raw(self) -> i32 {
7889 self.0
7890 }
7891}
7892impl fmt::Debug for HandPoseTypeMSFT {
7893 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7894 let name = match *self {
7895 Self::TRACKED => Some("TRACKED"),
7896 Self::REFERENCE_OPEN_PALM => Some("REFERENCE_OPEN_PALM"),
7897 _ => None,
7898 };
7899 fmt_enum(fmt, self.0, name)
7900 }
7901}
7902#[doc = "See [XrSceneObjectTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObjectTypeMSFT)"]
7903#[repr(transparent)]
7904#[derive(Copy, Clone, Eq, PartialEq)]
7905pub struct SceneObjectTypeMSFT(i32);
7906impl SceneObjectTypeMSFT {
7907 pub const UNCATEGORIZED: SceneObjectTypeMSFT = Self(-1i32);
7908 pub const BACKGROUND: SceneObjectTypeMSFT = Self(1i32);
7909 pub const WALL: SceneObjectTypeMSFT = Self(2i32);
7910 pub const FLOOR: SceneObjectTypeMSFT = Self(3i32);
7911 pub const CEILING: SceneObjectTypeMSFT = Self(4i32);
7912 pub const PLATFORM: SceneObjectTypeMSFT = Self(5i32);
7913 pub const INFERRED: SceneObjectTypeMSFT = Self(6i32);
7914 pub fn from_raw(x: i32) -> Self {
7915 Self(x)
7916 }
7917 pub fn into_raw(self) -> i32 {
7918 self.0
7919 }
7920}
7921impl fmt::Debug for SceneObjectTypeMSFT {
7922 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7923 let name = match *self {
7924 Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
7925 Self::BACKGROUND => Some("BACKGROUND"),
7926 Self::WALL => Some("WALL"),
7927 Self::FLOOR => Some("FLOOR"),
7928 Self::CEILING => Some("CEILING"),
7929 Self::PLATFORM => Some("PLATFORM"),
7930 Self::INFERRED => Some("INFERRED"),
7931 _ => None,
7932 };
7933 fmt_enum(fmt, self.0, name)
7934 }
7935}
7936#[doc = "See [XrScenePlaneAlignmentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrScenePlaneAlignmentTypeMSFT)"]
7937#[repr(transparent)]
7938#[derive(Copy, Clone, Eq, PartialEq, Default)]
7939pub struct ScenePlaneAlignmentTypeMSFT(i32);
7940impl ScenePlaneAlignmentTypeMSFT {
7941 pub const NON_ORTHOGONAL: ScenePlaneAlignmentTypeMSFT = Self(0i32);
7942 pub const HORIZONTAL: ScenePlaneAlignmentTypeMSFT = Self(1i32);
7943 pub const VERTICAL: ScenePlaneAlignmentTypeMSFT = Self(2i32);
7944 pub fn from_raw(x: i32) -> Self {
7945 Self(x)
7946 }
7947 pub fn into_raw(self) -> i32 {
7948 self.0
7949 }
7950}
7951impl fmt::Debug for ScenePlaneAlignmentTypeMSFT {
7952 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7953 let name = match *self {
7954 Self::NON_ORTHOGONAL => Some("NON_ORTHOGONAL"),
7955 Self::HORIZONTAL => Some("HORIZONTAL"),
7956 Self::VERTICAL => Some("VERTICAL"),
7957 _ => None,
7958 };
7959 fmt_enum(fmt, self.0, name)
7960 }
7961}
7962#[doc = "See [XrSceneComputeStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeStateMSFT)"]
7963#[repr(transparent)]
7964#[derive(Copy, Clone, Eq, PartialEq, Default)]
7965pub struct SceneComputeStateMSFT(i32);
7966impl SceneComputeStateMSFT {
7967 pub const NONE: SceneComputeStateMSFT = Self(0i32);
7968 pub const UPDATING: SceneComputeStateMSFT = Self(1i32);
7969 pub const COMPLETED: SceneComputeStateMSFT = Self(2i32);
7970 pub const COMPLETED_WITH_ERROR: SceneComputeStateMSFT = Self(3i32);
7971 pub fn from_raw(x: i32) -> Self {
7972 Self(x)
7973 }
7974 pub fn into_raw(self) -> i32 {
7975 self.0
7976 }
7977}
7978impl fmt::Debug for SceneComputeStateMSFT {
7979 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7980 let name = match *self {
7981 Self::NONE => Some("NONE"),
7982 Self::UPDATING => Some("UPDATING"),
7983 Self::COMPLETED => Some("COMPLETED"),
7984 Self::COMPLETED_WITH_ERROR => Some("COMPLETED_WITH_ERROR"),
7985 _ => None,
7986 };
7987 fmt_enum(fmt, self.0, name)
7988 }
7989}
7990#[doc = "See [XrSceneComputeFeatureMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeFeatureMSFT)"]
7991#[repr(transparent)]
7992#[derive(Copy, Clone, Eq, PartialEq)]
7993pub struct SceneComputeFeatureMSFT(i32);
7994impl SceneComputeFeatureMSFT {
7995 pub const PLANE: SceneComputeFeatureMSFT = Self(1i32);
7996 pub const PLANE_MESH: SceneComputeFeatureMSFT = Self(2i32);
7997 pub const VISUAL_MESH: SceneComputeFeatureMSFT = Self(3i32);
7998 pub const COLLIDER_MESH: SceneComputeFeatureMSFT = Self(4i32);
7999 pub const SERIALIZE_SCENE: SceneComputeFeatureMSFT = Self(1000098000i32);
8000 pub const MARKER: SceneComputeFeatureMSFT = Self(1000147000i32);
8001 pub fn from_raw(x: i32) -> Self {
8002 Self(x)
8003 }
8004 pub fn into_raw(self) -> i32 {
8005 self.0
8006 }
8007}
8008impl fmt::Debug for SceneComputeFeatureMSFT {
8009 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8010 let name = match *self {
8011 Self::PLANE => Some("PLANE"),
8012 Self::PLANE_MESH => Some("PLANE_MESH"),
8013 Self::VISUAL_MESH => Some("VISUAL_MESH"),
8014 Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
8015 Self::SERIALIZE_SCENE => Some("SERIALIZE_SCENE"),
8016 Self::MARKER => Some("MARKER"),
8017 _ => None,
8018 };
8019 fmt_enum(fmt, self.0, name)
8020 }
8021}
8022#[doc = "See [XrSceneComputeConsistencyMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeConsistencyMSFT)"]
8023#[repr(transparent)]
8024#[derive(Copy, Clone, Eq, PartialEq)]
8025pub struct SceneComputeConsistencyMSFT(i32);
8026impl SceneComputeConsistencyMSFT {
8027 pub const SNAPSHOT_COMPLETE: SceneComputeConsistencyMSFT = Self(1i32);
8028 pub const SNAPSHOT_INCOMPLETE_FAST: SceneComputeConsistencyMSFT = Self(2i32);
8029 pub const OCCLUSION_OPTIMIZED: SceneComputeConsistencyMSFT = Self(3i32);
8030 pub fn from_raw(x: i32) -> Self {
8031 Self(x)
8032 }
8033 pub fn into_raw(self) -> i32 {
8034 self.0
8035 }
8036}
8037impl fmt::Debug for SceneComputeConsistencyMSFT {
8038 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8039 let name = match *self {
8040 Self::SNAPSHOT_COMPLETE => Some("SNAPSHOT_COMPLETE"),
8041 Self::SNAPSHOT_INCOMPLETE_FAST => Some("SNAPSHOT_INCOMPLETE_FAST"),
8042 Self::OCCLUSION_OPTIMIZED => Some("OCCLUSION_OPTIMIZED"),
8043 _ => None,
8044 };
8045 fmt_enum(fmt, self.0, name)
8046 }
8047}
8048#[doc = "See [XrSceneComponentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComponentTypeMSFT)"]
8049#[repr(transparent)]
8050#[derive(Copy, Clone, Eq, PartialEq)]
8051pub struct SceneComponentTypeMSFT(i32);
8052impl SceneComponentTypeMSFT {
8053 pub const INVALID: SceneComponentTypeMSFT = Self(-1i32);
8054 pub const OBJECT: SceneComponentTypeMSFT = Self(1i32);
8055 pub const PLANE: SceneComponentTypeMSFT = Self(2i32);
8056 pub const VISUAL_MESH: SceneComponentTypeMSFT = Self(3i32);
8057 pub const COLLIDER_MESH: SceneComponentTypeMSFT = Self(4i32);
8058 pub const SERIALIZED_SCENE_FRAGMENT: SceneComponentTypeMSFT = Self(1000098000i32);
8059 pub const MARKER: SceneComponentTypeMSFT = Self(1000147000i32);
8060 pub fn from_raw(x: i32) -> Self {
8061 Self(x)
8062 }
8063 pub fn into_raw(self) -> i32 {
8064 self.0
8065 }
8066}
8067impl fmt::Debug for SceneComponentTypeMSFT {
8068 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8069 let name = match *self {
8070 Self::INVALID => Some("INVALID"),
8071 Self::OBJECT => Some("OBJECT"),
8072 Self::PLANE => Some("PLANE"),
8073 Self::VISUAL_MESH => Some("VISUAL_MESH"),
8074 Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
8075 Self::SERIALIZED_SCENE_FRAGMENT => Some("SERIALIZED_SCENE_FRAGMENT"),
8076 Self::MARKER => Some("MARKER"),
8077 _ => None,
8078 };
8079 fmt_enum(fmt, self.0, name)
8080 }
8081}
8082#[doc = "See [XrMeshComputeLodMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMeshComputeLodMSFT)"]
8083#[repr(transparent)]
8084#[derive(Copy, Clone, Eq, PartialEq)]
8085pub struct MeshComputeLodMSFT(i32);
8086impl MeshComputeLodMSFT {
8087 pub const COARSE: MeshComputeLodMSFT = Self(1i32);
8088 pub const MEDIUM: MeshComputeLodMSFT = Self(2i32);
8089 pub const FINE: MeshComputeLodMSFT = Self(3i32);
8090 pub const UNLIMITED: MeshComputeLodMSFT = Self(4i32);
8091 pub fn from_raw(x: i32) -> Self {
8092 Self(x)
8093 }
8094 pub fn into_raw(self) -> i32 {
8095 self.0
8096 }
8097}
8098impl fmt::Debug for MeshComputeLodMSFT {
8099 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8100 let name = match *self {
8101 Self::COARSE => Some("COARSE"),
8102 Self::MEDIUM => Some("MEDIUM"),
8103 Self::FINE => Some("FINE"),
8104 Self::UNLIMITED => Some("UNLIMITED"),
8105 _ => None,
8106 };
8107 fmt_enum(fmt, self.0, name)
8108 }
8109}
8110#[doc = "See [XrSceneMarkerTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerTypeMSFT)"]
8111#[repr(transparent)]
8112#[derive(Copy, Clone, Eq, PartialEq)]
8113pub struct SceneMarkerTypeMSFT(i32);
8114impl SceneMarkerTypeMSFT {
8115 pub const QR_CODE: SceneMarkerTypeMSFT = Self(1i32);
8116 pub fn from_raw(x: i32) -> Self {
8117 Self(x)
8118 }
8119 pub fn into_raw(self) -> i32 {
8120 self.0
8121 }
8122}
8123impl fmt::Debug for SceneMarkerTypeMSFT {
8124 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8125 let name = match *self {
8126 Self::QR_CODE => Some("QR_CODE"),
8127 _ => None,
8128 };
8129 fmt_enum(fmt, self.0, name)
8130 }
8131}
8132#[doc = "See [XrSceneMarkerQRCodeSymbolTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerQRCodeSymbolTypeMSFT)"]
8133#[repr(transparent)]
8134#[derive(Copy, Clone, Eq, PartialEq)]
8135pub struct SceneMarkerQRCodeSymbolTypeMSFT(i32);
8136impl SceneMarkerQRCodeSymbolTypeMSFT {
8137 pub const QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(1i32);
8138 pub const MICRO_QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(2i32);
8139 pub fn from_raw(x: i32) -> Self {
8140 Self(x)
8141 }
8142 pub fn into_raw(self) -> i32 {
8143 self.0
8144 }
8145}
8146impl fmt::Debug for SceneMarkerQRCodeSymbolTypeMSFT {
8147 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8148 let name = match *self {
8149 Self::QR_CODE => Some("QR_CODE"),
8150 Self::MICRO_QR_CODE => Some("MICRO_QR_CODE"),
8151 _ => None,
8152 };
8153 fmt_enum(fmt, self.0, name)
8154 }
8155}
8156#[doc = "See [XrColorSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColorSpaceFB)"]
8157#[repr(transparent)]
8158#[derive(Copy, Clone, Eq, PartialEq, Default)]
8159pub struct ColorSpaceFB(i32);
8160impl ColorSpaceFB {
8161 pub const UNMANAGED: ColorSpaceFB = Self(0i32);
8162 pub const REC2020: ColorSpaceFB = Self(1i32);
8163 pub const REC709: ColorSpaceFB = Self(2i32);
8164 pub const RIFT_CV1: ColorSpaceFB = Self(3i32);
8165 pub const RIFT_S: ColorSpaceFB = Self(4i32);
8166 pub const QUEST: ColorSpaceFB = Self(5i32);
8167 pub const P3: ColorSpaceFB = Self(6i32);
8168 pub const ADOBE_RGB: ColorSpaceFB = Self(7i32);
8169 pub fn from_raw(x: i32) -> Self {
8170 Self(x)
8171 }
8172 pub fn into_raw(self) -> i32 {
8173 self.0
8174 }
8175}
8176impl fmt::Debug for ColorSpaceFB {
8177 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8178 let name = match *self {
8179 Self::UNMANAGED => Some("UNMANAGED"),
8180 Self::REC2020 => Some("REC2020"),
8181 Self::REC709 => Some("REC709"),
8182 Self::RIFT_CV1 => Some("RIFT_CV1"),
8183 Self::RIFT_S => Some("RIFT_S"),
8184 Self::QUEST => Some("QUEST"),
8185 Self::P3 => Some("P3"),
8186 Self::ADOBE_RGB => Some("ADOBE_RGB"),
8187 _ => None,
8188 };
8189 fmt_enum(fmt, self.0, name)
8190 }
8191}
8192#[doc = "See [XrFoveationLevelFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelFB)"]
8193#[repr(transparent)]
8194#[derive(Copy, Clone, Eq, PartialEq, Default)]
8195pub struct FoveationLevelFB(i32);
8196impl FoveationLevelFB {
8197 #[doc = "No foveation"]
8198 pub const NONE: FoveationLevelFB = Self(0i32);
8199 #[doc = "Less foveation (higher periphery visual fidelity, lower performance)"]
8200 pub const LOW: FoveationLevelFB = Self(1i32);
8201 #[doc = "Medium foveation (medium periphery visual fidelity, medium performance)"]
8202 pub const MEDIUM: FoveationLevelFB = Self(2i32);
8203 #[doc = "High foveation (lower periphery visual fidelity, higher performance)"]
8204 pub const HIGH: FoveationLevelFB = Self(3i32);
8205 pub fn from_raw(x: i32) -> Self {
8206 Self(x)
8207 }
8208 pub fn into_raw(self) -> i32 {
8209 self.0
8210 }
8211}
8212impl fmt::Debug for FoveationLevelFB {
8213 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8214 let name = match *self {
8215 Self::NONE => Some("NONE"),
8216 Self::LOW => Some("LOW"),
8217 Self::MEDIUM => Some("MEDIUM"),
8218 Self::HIGH => Some("HIGH"),
8219 _ => None,
8220 };
8221 fmt_enum(fmt, self.0, name)
8222 }
8223}
8224#[doc = "See [XrFoveationDynamicFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFB)"]
8225#[repr(transparent)]
8226#[derive(Copy, Clone, Eq, PartialEq, Default)]
8227pub struct FoveationDynamicFB(i32);
8228impl FoveationDynamicFB {
8229 #[doc = "Static foveation at the maximum desired level"]
8230 pub const DISABLED: FoveationDynamicFB = Self(0i32);
8231 #[doc = "Dynamic changing foveation based on performance headroom available up to the maximum desired level"]
8232 pub const LEVEL_ENABLED: FoveationDynamicFB = Self(1i32);
8233 pub fn from_raw(x: i32) -> Self {
8234 Self(x)
8235 }
8236 pub fn into_raw(self) -> i32 {
8237 self.0
8238 }
8239}
8240impl fmt::Debug for FoveationDynamicFB {
8241 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8242 let name = match *self {
8243 Self::DISABLED => Some("DISABLED"),
8244 Self::LEVEL_ENABLED => Some("LEVEL_ENABLED"),
8245 _ => None,
8246 };
8247 fmt_enum(fmt, self.0, name)
8248 }
8249}
8250#[doc = "See [XrReprojectionModeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReprojectionModeMSFT)"]
8251#[repr(transparent)]
8252#[derive(Copy, Clone, Eq, PartialEq)]
8253pub struct ReprojectionModeMSFT(i32);
8254impl ReprojectionModeMSFT {
8255 pub const DEPTH: ReprojectionModeMSFT = Self(1i32);
8256 pub const PLANAR_FROM_DEPTH: ReprojectionModeMSFT = Self(2i32);
8257 pub const PLANAR_MANUAL: ReprojectionModeMSFT = Self(3i32);
8258 pub const ORIENTATION_ONLY: ReprojectionModeMSFT = Self(4i32);
8259 pub fn from_raw(x: i32) -> Self {
8260 Self(x)
8261 }
8262 pub fn into_raw(self) -> i32 {
8263 self.0
8264 }
8265}
8266impl fmt::Debug for ReprojectionModeMSFT {
8267 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8268 let name = match *self {
8269 Self::DEPTH => Some("DEPTH"),
8270 Self::PLANAR_FROM_DEPTH => Some("PLANAR_FROM_DEPTH"),
8271 Self::PLANAR_MANUAL => Some("PLANAR_MANUAL"),
8272 Self::ORIENTATION_ONLY => Some("ORIENTATION_ONLY"),
8273 _ => None,
8274 };
8275 fmt_enum(fmt, self.0, name)
8276 }
8277}
8278#[doc = "See [XrHandForearmJointULTRALEAP](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandForearmJointULTRALEAP)"]
8279#[repr(transparent)]
8280#[derive(Copy, Clone, Eq, PartialEq, Default)]
8281pub struct HandForearmJointULTRALEAP(i32);
8282impl HandForearmJointULTRALEAP {
8283 pub const PALM: HandForearmJointULTRALEAP = Self(0i32);
8284 pub const WRIST: HandForearmJointULTRALEAP = Self(1i32);
8285 pub const THUMB_METACARPAL: HandForearmJointULTRALEAP = Self(2i32);
8286 pub const THUMB_PROXIMAL: HandForearmJointULTRALEAP = Self(3i32);
8287 pub const THUMB_DISTAL: HandForearmJointULTRALEAP = Self(4i32);
8288 pub const THUMB_TIP: HandForearmJointULTRALEAP = Self(5i32);
8289 pub const INDEX_METACARPAL: HandForearmJointULTRALEAP = Self(6i32);
8290 pub const INDEX_PROXIMAL: HandForearmJointULTRALEAP = Self(7i32);
8291 pub const INDEX_INTERMEDIATE: HandForearmJointULTRALEAP = Self(8i32);
8292 pub const INDEX_DISTAL: HandForearmJointULTRALEAP = Self(9i32);
8293 pub const INDEX_TIP: HandForearmJointULTRALEAP = Self(10i32);
8294 pub const MIDDLE_METACARPAL: HandForearmJointULTRALEAP = Self(11i32);
8295 pub const MIDDLE_PROXIMAL: HandForearmJointULTRALEAP = Self(12i32);
8296 pub const MIDDLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(13i32);
8297 pub const MIDDLE_DISTAL: HandForearmJointULTRALEAP = Self(14i32);
8298 pub const MIDDLE_TIP: HandForearmJointULTRALEAP = Self(15i32);
8299 pub const RING_METACARPAL: HandForearmJointULTRALEAP = Self(16i32);
8300 pub const RING_PROXIMAL: HandForearmJointULTRALEAP = Self(17i32);
8301 pub const RING_INTERMEDIATE: HandForearmJointULTRALEAP = Self(18i32);
8302 pub const RING_DISTAL: HandForearmJointULTRALEAP = Self(19i32);
8303 pub const RING_TIP: HandForearmJointULTRALEAP = Self(20i32);
8304 pub const LITTLE_METACARPAL: HandForearmJointULTRALEAP = Self(21i32);
8305 pub const LITTLE_PROXIMAL: HandForearmJointULTRALEAP = Self(22i32);
8306 pub const LITTLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(23i32);
8307 pub const LITTLE_DISTAL: HandForearmJointULTRALEAP = Self(24i32);
8308 pub const LITTLE_TIP: HandForearmJointULTRALEAP = Self(25i32);
8309 pub const ELBOW: HandForearmJointULTRALEAP = Self(26i32);
8310 pub fn from_raw(x: i32) -> Self {
8311 Self(x)
8312 }
8313 pub fn into_raw(self) -> i32 {
8314 self.0
8315 }
8316}
8317impl fmt::Debug for HandForearmJointULTRALEAP {
8318 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8319 let name = match *self {
8320 Self::PALM => Some("PALM"),
8321 Self::WRIST => Some("WRIST"),
8322 Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
8323 Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
8324 Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
8325 Self::THUMB_TIP => Some("THUMB_TIP"),
8326 Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
8327 Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
8328 Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
8329 Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
8330 Self::INDEX_TIP => Some("INDEX_TIP"),
8331 Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
8332 Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
8333 Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
8334 Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
8335 Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
8336 Self::RING_METACARPAL => Some("RING_METACARPAL"),
8337 Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
8338 Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
8339 Self::RING_DISTAL => Some("RING_DISTAL"),
8340 Self::RING_TIP => Some("RING_TIP"),
8341 Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
8342 Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
8343 Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
8344 Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
8345 Self::LITTLE_TIP => Some("LITTLE_TIP"),
8346 Self::ELBOW => Some("ELBOW"),
8347 _ => None,
8348 };
8349 fmt_enum(fmt, self.0, name)
8350 }
8351}
8352#[doc = "See [XrCompareOpFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompareOpFB)"]
8353#[repr(transparent)]
8354#[derive(Copy, Clone, Eq, PartialEq, Default)]
8355pub struct CompareOpFB(i32);
8356impl CompareOpFB {
8357 #[doc = "Comparison is never true."]
8358 pub const NEVER: CompareOpFB = Self(0i32);
8359 #[doc = "Comparison is true if source less than is destination."]
8360 pub const LESS: CompareOpFB = Self(1i32);
8361 #[doc = "Comparison is true if source is equal to destination."]
8362 pub const EQUAL: CompareOpFB = Self(2i32);
8363 #[doc = "Comparison is true if source is less than or equal to destination."]
8364 pub const LESS_OR_EQUAL: CompareOpFB = Self(3i32);
8365 #[doc = "Comparison is true if source is greater than destination."]
8366 pub const GREATER: CompareOpFB = Self(4i32);
8367 #[doc = "Comparison is true if source is not equal to destination."]
8368 pub const NOT_EQUAL: CompareOpFB = Self(5i32);
8369 #[doc = "Comparison is true if source is greater than or equal to destination."]
8370 pub const GREATER_OR_EQUAL: CompareOpFB = Self(6i32);
8371 #[doc = "Comparison is always true."]
8372 pub const ALWAYS: CompareOpFB = Self(7i32);
8373 pub fn from_raw(x: i32) -> Self {
8374 Self(x)
8375 }
8376 pub fn into_raw(self) -> i32 {
8377 self.0
8378 }
8379}
8380impl fmt::Debug for CompareOpFB {
8381 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8382 let name = match *self {
8383 Self::NEVER => Some("NEVER"),
8384 Self::LESS => Some("LESS"),
8385 Self::EQUAL => Some("EQUAL"),
8386 Self::LESS_OR_EQUAL => Some("LESS_OR_EQUAL"),
8387 Self::GREATER => Some("GREATER"),
8388 Self::NOT_EQUAL => Some("NOT_EQUAL"),
8389 Self::GREATER_OR_EQUAL => Some("GREATER_OR_EQUAL"),
8390 Self::ALWAYS => Some("ALWAYS"),
8391 _ => None,
8392 };
8393 fmt_enum(fmt, self.0, name)
8394 }
8395}
8396#[doc = "See [XrInstanceCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateFlagBits)"]
8397#[repr(transparent)]
8398#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8399pub struct InstanceCreateFlags(u64);
8400impl InstanceCreateFlags {}
8401bitmask!(InstanceCreateFlags);
8402#[doc = "See [XrSessionCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateFlagBits)"]
8403#[repr(transparent)]
8404#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8405pub struct SessionCreateFlags(u64);
8406impl SessionCreateFlags {}
8407bitmask!(SessionCreateFlags);
8408#[doc = "See [XrSwapchainCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFlagBits)"]
8409#[repr(transparent)]
8410#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8411pub struct SwapchainCreateFlags(u64);
8412impl SwapchainCreateFlags {
8413 #[doc = "Content will be protected from CPU access"]
8414 pub const PROTECTED_CONTENT: SwapchainCreateFlags = Self(1 << 0u64);
8415 #[doc = "Only one image will be acquired from this swapchain over its lifetime"]
8416 pub const STATIC_IMAGE: SwapchainCreateFlags = Self(1 << 1u64);
8417}
8418bitmask!(SwapchainCreateFlags);
8419#[doc = "See [XrSwapchainUsageFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainUsageFlagBits)"]
8420#[repr(transparent)]
8421#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8422pub struct SwapchainUsageFlags(u64);
8423impl SwapchainUsageFlags {
8424 #[doc = "Specifies that the image may: be a color rendering target."]
8425 pub const COLOR_ATTACHMENT: SwapchainUsageFlags = Self(1 << 0u64);
8426 #[doc = "Specifies that the image may: be a depth/stencil rendering target."]
8427 pub const DEPTH_STENCIL_ATTACHMENT: SwapchainUsageFlags = Self(1 << 1u64);
8428 #[doc = "Specifies that the image may: be accessed out of order and that access may: be via atomic operations."]
8429 pub const UNORDERED_ACCESS: SwapchainUsageFlags = Self(1 << 2u64);
8430 #[doc = "Specifies that the image may: be used as the source of a transfer operation."]
8431 pub const TRANSFER_SRC: SwapchainUsageFlags = Self(1 << 3u64);
8432 #[doc = "Specifies that the image may: be used as the destination of a transfer operation."]
8433 pub const TRANSFER_DST: SwapchainUsageFlags = Self(1 << 4u64);
8434 #[doc = "Specifies that the image may: be sampled by a shader."]
8435 pub const SAMPLED: SwapchainUsageFlags = Self(1 << 5u64);
8436 #[doc = "Specifies that the image may: be reinterpreted as another image format."]
8437 pub const MUTABLE_FORMAT: SwapchainUsageFlags = Self(1 << 6u64);
8438 #[doc = "Specifies that the image may: be used as a input attachment."]
8439 pub const INPUT_ATTACHMENT: SwapchainUsageFlags = Self(1 << 7u64);
8440}
8441bitmask!(SwapchainUsageFlags);
8442#[doc = "See [XrViewStateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewStateFlagBits)"]
8443#[repr(transparent)]
8444#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8445pub struct ViewStateFlags(u64);
8446impl ViewStateFlags {
8447 #[doc = "Indicates validity of all XrView orientations"]
8448 pub const ORIENTATION_VALID: ViewStateFlags = Self(1 << 0u64);
8449 #[doc = "Indicates validity of all XrView positions"]
8450 pub const POSITION_VALID: ViewStateFlags = Self(1 << 1u64);
8451 #[doc = "Indicates whether all XrView orientations are actively tracked"]
8452 pub const ORIENTATION_TRACKED: ViewStateFlags = Self(1 << 2u64);
8453 #[doc = "Indicates whether all XrView positions are actively tracked"]
8454 pub const POSITION_TRACKED: ViewStateFlags = Self(1 << 3u64);
8455}
8456bitmask!(ViewStateFlags);
8457#[doc = "See [XrCompositionLayerFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerFlagBits)"]
8458#[repr(transparent)]
8459#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8460pub struct CompositionLayerFlags(u64);
8461impl CompositionLayerFlags {
8462 #[doc = "Enables chromatic aberration correction when not done by default. This flag has no effect on any known conformant runtime, and is officially deprecated in OpenXR 1.1."]
8463 pub const CORRECT_CHROMATIC_ABERRATION: CompositionLayerFlags = Self(1 << 0u64);
8464 #[doc = "Enables the layer texture alpha channel."]
8465 pub const BLEND_TEXTURE_SOURCE_ALPHA: CompositionLayerFlags = Self(1 << 1u64);
8466 #[doc = "Indicates the texture color channels have not been premultiplied by the texture alpha channel."]
8467 pub const UNPREMULTIPLIED_ALPHA: CompositionLayerFlags = Self(1 << 2u64);
8468 #[doc = "Indicates that the texture alpha channel stores transparency instead of opacity, and is to be inverted before layer blending."]
8469 pub const INVERTED_ALPHA: CompositionLayerFlags = Self(1 << 3u64);
8470}
8471bitmask!(CompositionLayerFlags);
8472#[doc = "See [XrSpaceLocationFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationFlagBits)"]
8473#[repr(transparent)]
8474#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8475pub struct SpaceLocationFlags(u64);
8476impl SpaceLocationFlags {
8477 #[doc = "Indicates that the orientation member contains valid data"]
8478 pub const ORIENTATION_VALID: SpaceLocationFlags = Self(1 << 0u64);
8479 #[doc = "Indicates that the position member contains valid data"]
8480 pub const POSITION_VALID: SpaceLocationFlags = Self(1 << 1u64);
8481 #[doc = "Indicates whether pose member contains an actively tracked orientation"]
8482 pub const ORIENTATION_TRACKED: SpaceLocationFlags = Self(1 << 2u64);
8483 #[doc = "Indicates whether pose member contains an actively tracked position"]
8484 pub const POSITION_TRACKED: SpaceLocationFlags = Self(1 << 3u64);
8485}
8486bitmask!(SpaceLocationFlags);
8487#[doc = "See [XrSpaceVelocityFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityFlagBits)"]
8488#[repr(transparent)]
8489#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8490pub struct SpaceVelocityFlags(u64);
8491impl SpaceVelocityFlags {
8492 #[doc = "Indicates that the linearVelocity member contains valid data. Applications must: not read the linearVelocity field if this flag is unset."]
8493 pub const LINEAR_VALID: SpaceVelocityFlags = Self(1 << 0u64);
8494 #[doc = "Indicates that the angularVelocity member contains valid data. Applications must: not read the angularVelocity field if this flag is unset."]
8495 pub const ANGULAR_VALID: SpaceVelocityFlags = Self(1 << 1u64);
8496}
8497bitmask!(SpaceVelocityFlags);
8498#[doc = "See [XrInputSourceLocalizedNameFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameFlagBits)"]
8499#[repr(transparent)]
8500#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8501pub struct InputSourceLocalizedNameFlags(u64);
8502impl InputSourceLocalizedNameFlags {
8503 #[doc = "Asks for the part of the string which indicates the top level user path the source represents"]
8504 pub const USER_PATH: InputSourceLocalizedNameFlags = Self(1 << 0u64);
8505 #[doc = "Asks for the part of the string which represents the interaction profile of the source"]
8506 pub const INTERACTION_PROFILE: InputSourceLocalizedNameFlags = Self(1 << 1u64);
8507 #[doc = "Asks for the part of the string which represents the component on the device which needs to be interacted with"]
8508 pub const COMPONENT: InputSourceLocalizedNameFlags = Self(1 << 2u64);
8509}
8510bitmask!(InputSourceLocalizedNameFlags);
8511#[doc = "See [XrVulkanInstanceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanInstanceCreateFlagsKHR)"]
8512#[repr(transparent)]
8513#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8514pub struct VulkanInstanceCreateFlagsKHR(u64);
8515impl VulkanInstanceCreateFlagsKHR {}
8516bitmask!(VulkanInstanceCreateFlagsKHR);
8517#[doc = "See [XrVulkanDeviceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanDeviceCreateFlagsKHR)"]
8518#[repr(transparent)]
8519#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8520pub struct VulkanDeviceCreateFlagsKHR(u64);
8521impl VulkanDeviceCreateFlagsKHR {}
8522bitmask!(VulkanDeviceCreateFlagsKHR);
8523#[doc = "See [XrDebugUtilsMessageSeverityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageSeverityFlagsEXT)"]
8524#[repr(transparent)]
8525#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8526pub struct DebugUtilsMessageSeverityFlagsEXT(u64);
8527impl DebugUtilsMessageSeverityFlagsEXT {
8528 #[doc = "Most verbose output severity, typically used for debugging."]
8529 pub const VERBOSE: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 0u64);
8530 #[doc = "General info message"]
8531 pub const INFO: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 4u64);
8532 #[doc = "Indicates the item may be the cause of issues."]
8533 pub const WARNING: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 8u64);
8534 #[doc = "Indicates that the item is definitely related to erroneous behavior."]
8535 pub const ERROR: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 12u64);
8536}
8537bitmask!(DebugUtilsMessageSeverityFlagsEXT);
8538#[doc = "See [XrDebugUtilsMessageTypeFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageTypeFlagsEXT)"]
8539#[repr(transparent)]
8540#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8541pub struct DebugUtilsMessageTypeFlagsEXT(u64);
8542impl DebugUtilsMessageTypeFlagsEXT {
8543 #[doc = "Indicates this is a general message"]
8544 pub const GENERAL: DebugUtilsMessageTypeFlagsEXT = Self(1 << 0u64);
8545 #[doc = "Indicates the message is related to a validation message"]
8546 pub const VALIDATION: DebugUtilsMessageTypeFlagsEXT = Self(1 << 1u64);
8547 #[doc = "Indicates the message is related to a potential performance situation"]
8548 pub const PERFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 2u64);
8549 #[doc = "Indicates the message is related to a non-conformant runtime result"]
8550 pub const CONFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 3u64);
8551}
8552bitmask!(DebugUtilsMessageTypeFlagsEXT);
8553#[doc = "See [XrFrameSynthesisInfoFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisInfoFlagsEXT)"]
8554#[repr(transparent)]
8555#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8556pub struct FrameSynthesisInfoFlagsEXT(u64);
8557impl FrameSynthesisInfoFlagsEXT {
8558 #[doc = "2D motion vector will be used"]
8559 pub const USE_2D_MOTION_VECTOR: FrameSynthesisInfoFlagsEXT = Self(1 << 0u64);
8560 #[doc = "Request the runtime to relax the application's frame interval to allow additional render time"]
8561 pub const REQUEST_RELAXED_FRAME_INTERVAL: FrameSynthesisInfoFlagsEXT = Self(1 << 1u64);
8562}
8563bitmask!(FrameSynthesisInfoFlagsEXT);
8564#[doc = "See [XrOverlayMainSessionFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlayMainSessionFlagsEXTX)"]
8565#[repr(transparent)]
8566#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8567pub struct OverlayMainSessionFlagsEXTX(u64);
8568impl OverlayMainSessionFlagsEXTX {
8569 #[doc = "Indicates the main session enabled `XR_KHR_composition_layer_depth`"]
8570 pub const ENABLED_COMPOSITION_LAYER_INFO_DEPTH: OverlayMainSessionFlagsEXTX = Self(1 << 0u64);
8571}
8572bitmask!(OverlayMainSessionFlagsEXTX);
8573#[doc = "See [XrOverlaySessionCreateFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlaySessionCreateFlagsEXTX)"]
8574#[repr(transparent)]
8575#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8576pub struct OverlaySessionCreateFlagsEXTX(u64);
8577impl OverlaySessionCreateFlagsEXTX {}
8578bitmask!(OverlaySessionCreateFlagsEXTX);
8579#[doc = "See [XrAndroidSurfaceSwapchainFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidSurfaceSwapchainFlagsFB)"]
8580#[repr(transparent)]
8581#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8582pub struct AndroidSurfaceSwapchainFlagsFB(u64);
8583impl AndroidSurfaceSwapchainFlagsFB {
8584 #[doc = "Create the underlying BufferQueue in synchronous mode"]
8585 pub const SYNCHRONOUS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 0u64);
8586 #[doc = "Acquire most recent buffer whose presentation timestamp is not greater than display time of final composited frame"]
8587 pub const USE_TIMESTAMPS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 1u64);
8588}
8589bitmask!(AndroidSurfaceSwapchainFlagsFB);
8590#[doc = "See [XrCompositionLayerImageLayoutFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerImageLayoutFlagsFB)"]
8591#[repr(transparent)]
8592#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8593pub struct CompositionLayerImageLayoutFlagsFB(u64);
8594impl CompositionLayerImageLayoutFlagsFB {
8595 #[doc = "The coordinate origin of the swapchain image must be considered to be flipped vertically."]
8596 pub const VERTICAL_FLIP: CompositionLayerImageLayoutFlagsFB = Self(1 << 0u64);
8597}
8598bitmask!(CompositionLayerImageLayoutFlagsFB);
8599#[doc = "See [XrCompositionLayerSecureContentFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSecureContentFlagsFB)"]
8600#[repr(transparent)]
8601#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8602pub struct CompositionLayerSecureContentFlagsFB(u64);
8603impl CompositionLayerSecureContentFlagsFB {
8604 #[doc = "Indicates the layer will only be visible inside the HMD, and not visible to external sources"]
8605 pub const EXCLUDE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 0u64);
8606 #[doc = "Indicates the layer will be displayed inside the HMD, but replaced by proxy content when written to external sources"]
8607 pub const REPLACE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 1u64);
8608}
8609bitmask!(CompositionLayerSecureContentFlagsFB);
8610#[doc = "See [XrSwapchainCreateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFoveationFlagsFB)"]
8611#[repr(transparent)]
8612#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8613pub struct SwapchainCreateFoveationFlagsFB(u64);
8614impl SwapchainCreateFoveationFlagsFB {
8615 #[doc = "Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled."]
8616 pub const SCALED_BIN: SwapchainCreateFoveationFlagsFB = Self(1 << 0u64);
8617 #[doc = "Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled."]
8618 pub const FRAGMENT_DENSITY_MAP: SwapchainCreateFoveationFlagsFB = Self(1 << 1u64);
8619}
8620bitmask!(SwapchainCreateFoveationFlagsFB);
8621#[doc = "See [XrSwapchainStateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateFoveationFlagsFB)"]
8622#[repr(transparent)]
8623#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8624pub struct SwapchainStateFoveationFlagsFB(u64);
8625impl SwapchainStateFoveationFlagsFB {}
8626bitmask!(SwapchainStateFoveationFlagsFB);
8627#[doc = "See [XrFoveationEyeTrackedProfileCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedProfileCreateFlagsMETA)"]
8628#[repr(transparent)]
8629#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8630pub struct FoveationEyeTrackedProfileCreateFlagsMETA(u64);
8631impl FoveationEyeTrackedProfileCreateFlagsMETA {}
8632bitmask!(FoveationEyeTrackedProfileCreateFlagsMETA);
8633#[doc = "See [XrFoveationEyeTrackedStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedStateFlagsMETA)"]
8634#[repr(transparent)]
8635#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8636pub struct FoveationEyeTrackedStateFlagsMETA(u64);
8637impl FoveationEyeTrackedStateFlagsMETA {
8638 #[doc = "Indicates whether or not foveation data is valid. This can happen if the eye tracker is obscured, the camera has dirt, or eye lid is closed, etc."]
8639 pub const VALID: FoveationEyeTrackedStateFlagsMETA = Self(1 << 0u64);
8640}
8641bitmask!(FoveationEyeTrackedStateFlagsMETA);
8642#[doc = "See [XrTriangleMeshFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFlagsFB)"]
8643#[repr(transparent)]
8644#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8645pub struct TriangleMeshFlagsFB(u64);
8646impl TriangleMeshFlagsFB {
8647 #[doc = "The triangle mesh is mutable (can be modified after it is created)."]
8648 pub const MUTABLE: TriangleMeshFlagsFB = Self(1 << 0u64);
8649}
8650bitmask!(TriangleMeshFlagsFB);
8651#[doc = "See [XrPassthroughFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFlagsFB)"]
8652#[repr(transparent)]
8653#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8654pub struct PassthroughFlagsFB(u64);
8655impl PassthroughFlagsFB {
8656 #[doc = "The object (passthrough, layer) is running at creation."]
8657 pub const IS_RUNNING_AT_CREATION: PassthroughFlagsFB = Self(1 << 0u64);
8658 #[doc = "The passthrough system sends depth information to the compositor. Only applicable to layer objects."]
8659 pub const LAYER_DEPTH: PassthroughFlagsFB = Self(1 << 1u64);
8660}
8661bitmask!(PassthroughFlagsFB);
8662#[doc = "See [XrPassthroughStateChangedFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughStateChangedFlagsFB)"]
8663#[repr(transparent)]
8664#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8665pub struct PassthroughStateChangedFlagsFB(u64);
8666impl PassthroughStateChangedFlagsFB {
8667 #[doc = "Passthrough system requires reinitialization."]
8668 pub const REINIT_REQUIRED: PassthroughStateChangedFlagsFB = Self(1 << 0u64);
8669 #[doc = "Non-recoverable error has occurred. A device reboot or a firmware update may be required."]
8670 pub const NON_RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 1u64);
8671 #[doc = "A recoverable error has occurred. The runtime will attempt to recover, but some functionality may be temporarily unavailable."]
8672 pub const RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 2u64);
8673 #[doc = "The runtime has recovered from a previous error and is functioning normally."]
8674 pub const RESTORED_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 3u64);
8675}
8676bitmask!(PassthroughStateChangedFlagsFB);
8677#[doc = "See [XrPassthroughCapabilityFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCapabilityFlagsFB)"]
8678#[repr(transparent)]
8679#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8680pub struct PassthroughCapabilityFlagsFB(u64);
8681impl PassthroughCapabilityFlagsFB {
8682 #[doc = "The system supports passthrough."]
8683 pub const PASSTHROUGH_CAPABILITY: PassthroughCapabilityFlagsFB = Self(1 << 0u64);
8684 #[doc = "The system can show passthrough with realistic colors. XR_PASSTHROUGH_CAPABILITY_BIT_FB must: be set if XR_PASSTHROUGH_CAPABILITY_COLOR_BIT_FB is set."]
8685 pub const COLOR: PassthroughCapabilityFlagsFB = Self(1 << 1u64);
8686 #[doc = "The system supports passthrough layers composited using depth testing. XR_PASSTHROUGH_CAPABILITY_BIT_FB must: be set if XR_PASSTHROUGH_CAPABILITY_LAYER_DEPTH_BIT_FB is set."]
8687 pub const LAYER_DEPTH: PassthroughCapabilityFlagsFB = Self(1 << 2u64);
8688}
8689bitmask!(PassthroughCapabilityFlagsFB);
8690#[doc = "See [XrSemanticLabelsSupportFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsSupportFlagsFB)"]
8691#[repr(transparent)]
8692#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8693pub struct SemanticLabelsSupportFlagsFB(u64);
8694impl SemanticLabelsSupportFlagsFB {
8695 #[doc = "If set, and the runtime reports the extensionVersion as 2 or greater, the runtime may: return multiple semantic labels separated by a comma without spaces. Otherwise, the runtime must: return a single semantic label."]
8696 pub const MULTIPLE_SEMANTIC_LABELS: SemanticLabelsSupportFlagsFB = Self(1 << 0u64);
8697 #[doc = "If set, and the runtime reports the extensionVersion as 3 or greater, the runtime must: return \"TABLE\" instead of \"DESK\" as a semantic label to the application. Otherwise, the runtime must: return \"DESK\" instead of \"TABLE\" as a semantic label to the application, when applicable."]
8698 pub const ACCEPT_DESK_TO_TABLE_MIGRATION: SemanticLabelsSupportFlagsFB = Self(1 << 1u64);
8699 #[doc = "If set, and the runtime reports the extensionVersion as 4 or greater, the runtime may: return \"INVISIBLE_WALL_FACE\" instead of \"WALL_FACE\" as a semantic label to the application in order to represent an invisible wall used to conceptually separate a space (e.g., separate a living space from a kitchen space in an open floor plan house even though there is no real wall between the two spaces) instead of a real wall. Otherwise, the runtime must: return \"WALL_FACE\" as a semantic label to the application in order to represent both an invisible and real wall, when applicable."]
8700 pub const ACCEPT_INVISIBLE_WALL_FACE: SemanticLabelsSupportFlagsFB = Self(1 << 2u64);
8701}
8702bitmask!(SemanticLabelsSupportFlagsFB);
8703#[doc = "See [XrHandTrackingAimFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingAimFlagsFB)"]
8704#[repr(transparent)]
8705#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8706pub struct HandTrackingAimFlagsFB(u64);
8707impl HandTrackingAimFlagsFB {
8708 #[doc = "Aiming data is computed from additional sources beyond the hand data in the base structure"]
8709 pub const COMPUTED: HandTrackingAimFlagsFB = Self(1 << 0u64);
8710 #[doc = "Aiming data is valid"]
8711 pub const VALID: HandTrackingAimFlagsFB = Self(1 << 1u64);
8712 #[doc = "Index finger pinch discrete signal"]
8713 pub const INDEX_PINCHING: HandTrackingAimFlagsFB = Self(1 << 2u64);
8714 #[doc = "Middle finger pinch discrete signal"]
8715 pub const MIDDLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 3u64);
8716 #[doc = "Ring finger pinch discrete signal"]
8717 pub const RING_PINCHING: HandTrackingAimFlagsFB = Self(1 << 4u64);
8718 #[doc = "Little finger pinch discrete signal"]
8719 pub const LITTLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 5u64);
8720 #[doc = "System gesture is active"]
8721 pub const SYSTEM_GESTURE: HandTrackingAimFlagsFB = Self(1 << 6u64);
8722 #[doc = "Hand is currently marked as dominant for the system"]
8723 pub const DOMINANT_HAND: HandTrackingAimFlagsFB = Self(1 << 7u64);
8724 #[doc = "System menu gesture is active"]
8725 pub const MENU_PRESSED: HandTrackingAimFlagsFB = Self(1 << 8u64);
8726}
8727bitmask!(HandTrackingAimFlagsFB);
8728#[doc = "See [XrKeyboardTrackingFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingFlagsFB)"]
8729#[repr(transparent)]
8730#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8731pub struct KeyboardTrackingFlagsFB(u64);
8732impl KeyboardTrackingFlagsFB {
8733 #[doc = "indicates that the system has a physically tracked keyboard to report. If not set then no other bits should be considered to be valid or meaningful. If set either XR_KEYBOARD_TRACKING_LOCAL_BIT_FB or XR_KEYBOARD_TRACKING_REMOTE_BIT_FB must also be set."]
8734 pub const EXISTS: KeyboardTrackingFlagsFB = Self(1 << 0u64);
8735 #[doc = "indicates that the physically tracked keyboard is intended to be used in a local pairing with the system. Mutually exclusive with XR_KEYBOARD_TRACKING_REMOTE_BIT_FB."]
8736 pub const LOCAL: KeyboardTrackingFlagsFB = Self(1 << 1u64);
8737 #[doc = "indicates that the physically tracked keyboard is intended to be used while paired to a separate remote computing device. Mutually exclusive with XR_KEYBOARD_TRACKING_LOCAL_BIT_FB."]
8738 pub const REMOTE: KeyboardTrackingFlagsFB = Self(1 << 2u64);
8739 #[doc = "indicates that the physically tracked keyboard is actively connected to the headset and capable of sending key data"]
8740 pub const CONNECTED: KeyboardTrackingFlagsFB = Self(1 << 3u64);
8741}
8742bitmask!(KeyboardTrackingFlagsFB);
8743#[doc = "See [XrKeyboardTrackingQueryFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingQueryFlagsFB)"]
8744#[repr(transparent)]
8745#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8746pub struct KeyboardTrackingQueryFlagsFB(u64);
8747impl KeyboardTrackingQueryFlagsFB {
8748 #[doc = "indicates the query is for the physically tracked keyboard that is intended to be used in a local pairing with the System. Mutually exclusive with XR_KEYBOARD_TRACKING_QUERY_REMOTE_BIT_FB."]
8749 pub const LOCAL: KeyboardTrackingQueryFlagsFB = Self(1 << 1u64);
8750 #[doc = "indicates the query is for the physically tracked keyboard that may be connected to a separate remote computing device. Mutually exclusive with XR_KEYBOARD_TRACKING_QUERY_LOCAL_BIT_FB."]
8751 pub const REMOTE: KeyboardTrackingQueryFlagsFB = Self(1 << 2u64);
8752}
8753bitmask!(KeyboardTrackingQueryFlagsFB);
8754#[doc = "See [XrCompositionLayerSpaceWarpInfoFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSpaceWarpInfoFlagsFB)"]
8755#[repr(transparent)]
8756#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8757pub struct CompositionLayerSpaceWarpInfoFlagsFB(u64);
8758impl CompositionLayerSpaceWarpInfoFlagsFB {
8759 #[doc = "Skip current frame's space warp extrapolation"]
8760 pub const FRAME_SKIP: CompositionLayerSpaceWarpInfoFlagsFB = Self(1 << 0u64);
8761}
8762bitmask!(CompositionLayerSpaceWarpInfoFlagsFB);
8763#[doc = "See [XrRenderModelFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelFlagsFB)"]
8764#[repr(transparent)]
8765#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8766pub struct RenderModelFlagsFB(u64);
8767impl RenderModelFlagsFB {
8768 #[doc = "Minimal level of support. Can only contain a single mesh. Can only contain a single texture. Can not contain transparency. Assumes unlit rendering. Requires Extension KHR_texturebasisu."]
8769 pub const SUPPORTS_GLTF_2_0_SUBSET_1: RenderModelFlagsFB = Self(1 << 0u64);
8770 #[doc = "All of XR_RENDER_MODEL_SUPPORTS_GLTF_2_0_SUBSET_1_BIT_FB support plus: Multiple meshes. Multiple Textures. Texture Transparency."]
8771 pub const SUPPORTS_GLTF_2_0_SUBSET_2: RenderModelFlagsFB = Self(1 << 1u64);
8772}
8773bitmask!(RenderModelFlagsFB);
8774#[doc = "See [XrDigitalLensControlFlagsALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlFlagsALMALENCE)"]
8775#[repr(transparent)]
8776#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8777pub struct DigitalLensControlFlagsALMALENCE(u64);
8778impl DigitalLensControlFlagsALMALENCE {
8779 #[doc = "disables Digital Lens processing of render textures"]
8780 pub const PROCESSING_DISABLE: DigitalLensControlFlagsALMALENCE = Self(1 << 0u64);
8781}
8782bitmask!(DigitalLensControlFlagsALMALENCE);
8783#[doc = "See [XrCompositionLayerSettingsFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSettingsFlagsFB)"]
8784#[repr(transparent)]
8785#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8786pub struct CompositionLayerSettingsFlagsFB(u64);
8787impl CompositionLayerSettingsFlagsFB {
8788 #[doc = "Indicates compositor may: use layer texture supersampling."]
8789 pub const NORMAL_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 0u64);
8790 #[doc = "Indicates compositor may: use high quality layer texture supersampling."]
8791 pub const QUALITY_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 1u64);
8792 #[doc = "Indicates compositor may: use layer texture sharpening."]
8793 pub const NORMAL_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 2u64);
8794 #[doc = "Indicates compositor may: use high quality layer texture sharpening."]
8795 pub const QUALITY_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 3u64);
8796 #[doc = "Indicates compositor may: automatically toggle a texture filtering mechanism to improve visual quality of layer. This must: not be the only bit set. (Added by XR_META_automatic_layer_filter)"]
8797 pub const AUTO_LAYER_FILTER: CompositionLayerSettingsFlagsFB = Self(1 << 5u64);
8798}
8799bitmask!(CompositionLayerSettingsFlagsFB);
8800#[doc = "See [XrExternalCameraStatusFlagsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraStatusFlagsOCULUS)"]
8801#[repr(transparent)]
8802#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8803pub struct ExternalCameraStatusFlagsOCULUS(u64);
8804impl ExternalCameraStatusFlagsOCULUS {
8805 #[doc = "External camera is connected"]
8806 pub const CONNECTED: ExternalCameraStatusFlagsOCULUS = Self(1 << 0u64);
8807 #[doc = "External camera is undergoing calibration"]
8808 pub const CALIBRATING: ExternalCameraStatusFlagsOCULUS = Self(1 << 1u64);
8809 #[doc = "External camera has tried and failed calibration"]
8810 pub const CALIBRATION_FAILED: ExternalCameraStatusFlagsOCULUS = Self(1 << 2u64);
8811 #[doc = "External camera has tried and passed calibration"]
8812 pub const CALIBRATED: ExternalCameraStatusFlagsOCULUS = Self(1 << 3u64);
8813 #[doc = "External camera is capturing"]
8814 pub const CAPTURING: ExternalCameraStatusFlagsOCULUS = Self(1 << 4u64);
8815}
8816bitmask!(ExternalCameraStatusFlagsOCULUS);
8817#[doc = "See [XrPerformanceMetricsCounterFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterFlagsMETA)"]
8818#[repr(transparent)]
8819#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8820pub struct PerformanceMetricsCounterFlagsMETA(u64);
8821impl PerformanceMetricsCounterFlagsMETA {
8822 #[doc = "Indicates any of the values in XrPerformanceMetricsCounterMETA is valid."]
8823 pub const ANY_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 0u64);
8824 #[doc = "Indicates the uintValue in XrPerformanceMetricsCounterMETA is valid."]
8825 pub const UINT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 1u64);
8826 #[doc = "Indicates the floatValue in XrPerformanceMetricsCounterMETA is valid."]
8827 pub const FLOAT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 2u64);
8828}
8829bitmask!(PerformanceMetricsCounterFlagsMETA);
8830#[doc = "See [XrPassthroughPreferenceFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughPreferenceFlagsMETA)"]
8831#[repr(transparent)]
8832#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8833pub struct PassthroughPreferenceFlagsMETA(u64);
8834impl PassthroughPreferenceFlagsMETA {
8835 #[doc = "Indicates that the runtime recommends apps to default to a mixed reality experience with passthrough (if supported)."]
8836 pub const DEFAULT_TO_ACTIVE: PassthroughPreferenceFlagsMETA = Self(1 << 0u64);
8837}
8838bitmask!(PassthroughPreferenceFlagsMETA);
8839#[doc = "See [XrFoveationDynamicFlagsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFlagsHTC)"]
8840#[repr(transparent)]
8841#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8842pub struct FoveationDynamicFlagsHTC(u64);
8843impl FoveationDynamicFlagsHTC {
8844 #[doc = "Allow system to set periphery pixel density dynamically."]
8845 pub const LEVEL_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 0u64);
8846 #[doc = "Allow system to set clear FOV degree dynamically."]
8847 pub const CLEAR_FOV_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 1u64);
8848 #[doc = "Allow system to set focal center offset dynamically."]
8849 pub const FOCAL_CENTER_OFFSET_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 2u64);
8850}
8851bitmask!(FoveationDynamicFlagsHTC);
8852#[doc = "See [XrFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfoFlagsML)"]
8853#[repr(transparent)]
8854#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8855pub struct FrameEndInfoFlagsML(u64);
8856impl FrameEndInfoFlagsML {
8857 #[doc = "Indicates that the content for this frame is protected and should not be recorded or captured outside the graphics system."]
8858 pub const PROTECTED: FrameEndInfoFlagsML = Self(1 << 0u64);
8859 #[doc = "Indicates that a soft fade to transparent should be added to the frame in the compositor to blend any hard edges at the FOV limits."]
8860 pub const VIGNETTE: FrameEndInfoFlagsML = Self(1 << 1u64);
8861}
8862bitmask!(FrameEndInfoFlagsML);
8863#[doc = "See [XrGlobalDimmerFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGlobalDimmerFrameEndInfoFlagsML)"]
8864#[repr(transparent)]
8865#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8866pub struct GlobalDimmerFrameEndInfoFlagsML(u64);
8867impl GlobalDimmerFrameEndInfoFlagsML {
8868 #[doc = "Indicates that the global dimmer should: be enabled and controlled by dimmerValue."]
8869 pub const ENABLED: GlobalDimmerFrameEndInfoFlagsML = Self(1 << 0u64);
8870}
8871bitmask!(GlobalDimmerFrameEndInfoFlagsML);
8872#[doc = "See [XrPlaneDetectorFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorFlagsEXT)"]
8873#[repr(transparent)]
8874#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8875pub struct PlaneDetectorFlagsEXT(u64);
8876impl PlaneDetectorFlagsEXT {
8877 #[doc = "populate the plane contour information"]
8878 pub const ENABLE_CONTOUR: PlaneDetectorFlagsEXT = Self(1 << 0u64);
8879}
8880bitmask!(PlaneDetectorFlagsEXT);
8881#[doc = "See [XrPlaneDetectionCapabilityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionCapabilityFlagsEXT)"]
8882#[repr(transparent)]
8883#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8884pub struct PlaneDetectionCapabilityFlagsEXT(u64);
8885impl PlaneDetectionCapabilityFlagsEXT {
8886 #[doc = "plane detection is supported"]
8887 pub const PLANE_DETECTION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 0u64);
8888 #[doc = "polygon buffers for holes in planes can be generated"]
8889 pub const PLANE_HOLES: PlaneDetectionCapabilityFlagsEXT = Self(1 << 1u64);
8890 #[doc = "plane detection supports ceiling semantic classification"]
8891 pub const SEMANTIC_CEILING: PlaneDetectionCapabilityFlagsEXT = Self(1 << 2u64);
8892 #[doc = "plane detection supports floor semantic classification"]
8893 pub const SEMANTIC_FLOOR: PlaneDetectionCapabilityFlagsEXT = Self(1 << 3u64);
8894 #[doc = "plane detection supports wall semantic classification"]
8895 pub const SEMANTIC_WALL: PlaneDetectionCapabilityFlagsEXT = Self(1 << 4u64);
8896 #[doc = "plane detection supports platform semantic classification (for example table tops)"]
8897 pub const SEMANTIC_PLATFORM: PlaneDetectionCapabilityFlagsEXT = Self(1 << 5u64);
8898 #[doc = "plane detection supports plane orientation classification. If not supported planes are always classified as ARBITRARY."]
8899 pub const ORIENTATION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 6u64);
8900}
8901bitmask!(PlaneDetectionCapabilityFlagsEXT);
8902#[doc = "See [XrVirtualKeyboardInputStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputStateFlagsMETA)"]
8903#[repr(transparent)]
8904#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8905pub struct VirtualKeyboardInputStateFlagsMETA(u64);
8906impl VirtualKeyboardInputStateFlagsMETA {
8907 #[doc = "If the input source is considered 'pressed' at all. Pinch for hands, Primary button for controllers."]
8908 pub const PRESSED: VirtualKeyboardInputStateFlagsMETA = Self(1 << 0u64);
8909}
8910bitmask!(VirtualKeyboardInputStateFlagsMETA);
8911#[doc = "See [XrLocalizationMapErrorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapErrorFlagsML)"]
8912#[repr(transparent)]
8913#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8914pub struct LocalizationMapErrorFlagsML(u64);
8915impl LocalizationMapErrorFlagsML {
8916 #[doc = "Localization failed for an unknown reason."]
8917 pub const UNKNOWN: LocalizationMapErrorFlagsML = Self(1 << 0u64);
8918 #[doc = "Localization failed because the user is outside of the mapped area."]
8919 pub const OUT_OF_MAPPED_AREA: LocalizationMapErrorFlagsML = Self(1 << 1u64);
8920 #[doc = "There are not enough features in the environment to successfully localize."]
8921 pub const LOW_FEATURE_COUNT: LocalizationMapErrorFlagsML = Self(1 << 2u64);
8922 #[doc = "Localization failed due to excessive motion."]
8923 pub const EXCESSIVE_MOTION: LocalizationMapErrorFlagsML = Self(1 << 3u64);
8924 #[doc = "Localization failed because the lighting levels are too low in the environment."]
8925 pub const LOW_LIGHT: LocalizationMapErrorFlagsML = Self(1 << 4u64);
8926 #[doc = "A headpose failure caused localization to be unsuccessful."]
8927 pub const HEADPOSE: LocalizationMapErrorFlagsML = Self(1 << 5u64);
8928}
8929bitmask!(LocalizationMapErrorFlagsML);
8930#[doc = "See [XrEnvironmentDepthProviderCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderCreateFlagsMETA)"]
8931#[repr(transparent)]
8932#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8933pub struct EnvironmentDepthProviderCreateFlagsMETA(u64);
8934impl EnvironmentDepthProviderCreateFlagsMETA {}
8935bitmask!(EnvironmentDepthProviderCreateFlagsMETA);
8936#[doc = "See [XrEnvironmentDepthSwapchainCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainCreateFlagsMETA)"]
8937#[repr(transparent)]
8938#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8939pub struct EnvironmentDepthSwapchainCreateFlagsMETA(u64);
8940impl EnvironmentDepthSwapchainCreateFlagsMETA {}
8941bitmask!(EnvironmentDepthSwapchainCreateFlagsMETA);
8942#[doc = "See [XrWorldMeshDetectorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorFlagsML)"]
8943#[repr(transparent)]
8944#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8945pub struct WorldMeshDetectorFlagsML(u64);
8946impl WorldMeshDetectorFlagsML {
8947 #[doc = "If set, will return a point cloud instead of a triangle mesh."]
8948 pub const POINT_CLOUD: WorldMeshDetectorFlagsML = Self(1 << 0u64);
8949 #[doc = "If set, the system will compute the normals for the triangle vertices."]
8950 pub const COMPUTE_NORMALS: WorldMeshDetectorFlagsML = Self(1 << 1u64);
8951 #[doc = "If set, the system will compute the confidence values."]
8952 pub const COMPUTE_CONFIDENCE: WorldMeshDetectorFlagsML = Self(1 << 2u64);
8953 #[doc = "If set, the system will planarize the returned mesh (planar regions will be smoothed out)."]
8954 pub const PLANARIZE: WorldMeshDetectorFlagsML = Self(1 << 3u64);
8955 #[doc = "If set, the mesh skirt (overlapping area between two mesh blocks) will be removed."]
8956 pub const REMOVE_MESH_SKIRT: WorldMeshDetectorFlagsML = Self(1 << 4u64);
8957 #[doc = "If set, winding order of indices will be be changed from counter clockwise to clockwise."]
8958 pub const INDEX_ORDER_CW: WorldMeshDetectorFlagsML = Self(1 << 5u64);
8959}
8960bitmask!(WorldMeshDetectorFlagsML);
8961#[doc = "See [XrFacialExpressionBlendShapePropertiesFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapePropertiesFlagsML)"]
8962#[repr(transparent)]
8963#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8964pub struct FacialExpressionBlendShapePropertiesFlagsML(u64);
8965impl FacialExpressionBlendShapePropertiesFlagsML {
8966 #[doc = "Indicates whether the blend shape is valid."]
8967 pub const VALID: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 0u64);
8968 #[doc = "Indicates whether the blend shape is being tracked by the runtime."]
8969 pub const TRACKED: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 1u64);
8970}
8971bitmask!(FacialExpressionBlendShapePropertiesFlagsML);
8972#[doc = "See [XrSpatialMeshConfigFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshConfigFlagsBD)"]
8973#[repr(transparent)]
8974#[derive(Debug, Copy, Clone, Eq, PartialEq)]
8975pub struct SpatialMeshConfigFlagsBD(u64);
8976impl SpatialMeshConfigFlagsBD {
8977 #[doc = "Detect and include semantic label component data in the spatial entity."]
8978 pub const SEMANTIC: SpatialMeshConfigFlagsBD = Self(1 << 0u64);
8979 #[doc = "Semantic labels are associated with each vertex, otherwise, semantic labels are associated with each triangle face by default. It only takes effect if XR_SPATIAL_MESH_CONFIG_SEMANTIC_BIT_BD is set"]
8980 pub const ALIGN_SEMANTIC_WITH_VERTEX: SpatialMeshConfigFlagsBD = Self(1 << 1u64);
8981}
8982bitmask!(SpatialMeshConfigFlagsBD);
8983#[doc = "See [XrInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstance)"]
8984#[repr(transparent)]
8985#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
8986pub struct Instance(u64);
8987handle!(Instance);
8988#[doc = "See [XrSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSession)"]
8989#[repr(transparent)]
8990#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
8991pub struct Session(u64);
8992handle!(Session);
8993#[doc = "See [XrActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSet)"]
8994#[repr(transparent)]
8995#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
8996pub struct ActionSet(u64);
8997handle!(ActionSet);
8998#[doc = "See [XrAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAction)"]
8999#[repr(transparent)]
9000#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9001pub struct Action(u64);
9002handle!(Action);
9003#[doc = "See [XrSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchain)"]
9004#[repr(transparent)]
9005#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9006pub struct Swapchain(u64);
9007handle!(Swapchain);
9008#[doc = "See [XrSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpace)"]
9009#[repr(transparent)]
9010#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9011pub struct Space(u64);
9012handle!(Space);
9013#[doc = "See [XrDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerEXT)"]
9014#[repr(transparent)]
9015#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9016pub struct DebugUtilsMessengerEXT(u64);
9017handle!(DebugUtilsMessengerEXT);
9018#[doc = "See [XrSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorMSFT)"]
9019#[repr(transparent)]
9020#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9021pub struct SpatialAnchorMSFT(u64);
9022handle!(SpatialAnchorMSFT);
9023#[doc = "See [XrHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackerEXT)"]
9024#[repr(transparent)]
9025#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9026pub struct HandTrackerEXT(u64);
9027handle!(HandTrackerEXT);
9028#[doc = "See [XrFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationProfileFB)"]
9029#[repr(transparent)]
9030#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9031pub struct FoveationProfileFB(u64);
9032handle!(FoveationProfileFB);
9033#[doc = "See [XrTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFB)"]
9034#[repr(transparent)]
9035#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9036pub struct TriangleMeshFB(u64);
9037handle!(TriangleMeshFB);
9038#[doc = "See [XrPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFB)"]
9039#[repr(transparent)]
9040#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9041pub struct PassthroughFB(u64);
9042handle!(PassthroughFB);
9043#[doc = "See [XrPassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerFB)"]
9044#[repr(transparent)]
9045#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9046pub struct PassthroughLayerFB(u64);
9047handle!(PassthroughLayerFB);
9048#[doc = "See [XrGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceFB)"]
9049#[repr(transparent)]
9050#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9051pub struct GeometryInstanceFB(u64);
9052handle!(GeometryInstanceFB);
9053#[doc = "See [XrFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackerHTC)"]
9054#[repr(transparent)]
9055#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9056pub struct FacialTrackerHTC(u64);
9057handle!(FacialTrackerHTC);
9058#[doc = "See [XrPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughHTC)"]
9059#[repr(transparent)]
9060#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9061pub struct PassthroughHTC(u64);
9062handle!(PassthroughHTC);
9063#[doc = "See [XrFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerANDROID)"]
9064#[repr(transparent)]
9065#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9066pub struct FaceTrackerANDROID(u64);
9067handle!(FaceTrackerANDROID);
9068#[doc = "See [XrTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTrackerANDROID)"]
9069#[repr(transparent)]
9070#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9071pub struct TrackableTrackerANDROID(u64);
9072handle!(TrackableTrackerANDROID);
9073#[doc = "See [XrDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDeviceAnchorPersistenceANDROID)"]
9074#[repr(transparent)]
9075#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9076pub struct DeviceAnchorPersistenceANDROID(u64);
9077handle!(DeviceAnchorPersistenceANDROID);
9078#[doc = "See [XrFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerFB)"]
9079#[repr(transparent)]
9080#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9081pub struct FaceTrackerFB(u64);
9082handle!(FaceTrackerFB);
9083#[doc = "See [XrFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTracker2FB)"]
9084#[repr(transparent)]
9085#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9086pub struct FaceTracker2FB(u64);
9087handle!(FaceTracker2FB);
9088#[doc = "See [XrBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerFB)"]
9089#[repr(transparent)]
9090#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9091pub struct BodyTrackerFB(u64);
9092handle!(BodyTrackerFB);
9093#[doc = "See [XrEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeTrackerFB)"]
9094#[repr(transparent)]
9095#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9096pub struct EyeTrackerFB(u64);
9097handle!(EyeTrackerFB);
9098#[doc = "See [XrSpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUserFB)"]
9099#[repr(transparent)]
9100#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9101pub struct SpaceUserFB(u64);
9102handle!(SpaceUserFB);
9103#[doc = "See [XrPassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutMETA)"]
9104#[repr(transparent)]
9105#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9106pub struct PassthroughColorLutMETA(u64);
9107handle!(PassthroughColorLutMETA);
9108#[doc = "See [XrPlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorEXT)"]
9109#[repr(transparent)]
9110#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9111pub struct PlaneDetectorEXT(u64);
9112handle!(PlaneDetectorEXT);
9113#[doc = "See [XrVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardMETA)"]
9114#[repr(transparent)]
9115#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9116pub struct VirtualKeyboardMETA(u64);
9117handle!(VirtualKeyboardMETA);
9118#[doc = "See [XrSpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsStorageML)"]
9119#[repr(transparent)]
9120#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9121pub struct SpatialAnchorsStorageML(u64);
9122handle!(SpatialAnchorsStorageML);
9123#[doc = "See [XrExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExportedLocalizationMapML)"]
9124#[repr(transparent)]
9125#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9126pub struct ExportedLocalizationMapML(u64);
9127handle!(ExportedLocalizationMapML);
9128#[doc = "See [XrMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorML)"]
9129#[repr(transparent)]
9130#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9131pub struct MarkerDetectorML(u64);
9132handle!(MarkerDetectorML);
9133#[doc = "See [XrFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionClientML)"]
9134#[repr(transparent)]
9135#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9136pub struct FacialExpressionClientML(u64);
9137handle!(FacialExpressionClientML);
9138#[doc = "See [XrEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderMETA)"]
9139#[repr(transparent)]
9140#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9141pub struct EnvironmentDepthProviderMETA(u64);
9142handle!(EnvironmentDepthProviderMETA);
9143#[doc = "See [XrEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainMETA)"]
9144#[repr(transparent)]
9145#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9146pub struct EnvironmentDepthSwapchainMETA(u64);
9147handle!(EnvironmentDepthSwapchainMETA);
9148#[doc = "See [XrSpatialContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextEXT)"]
9149#[repr(transparent)]
9150#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9151pub struct SpatialContextEXT(u64);
9152handle!(SpatialContextEXT);
9153#[doc = "See [XrSpatialEntityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityEXT)"]
9154#[repr(transparent)]
9155#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9156pub struct SpatialEntityEXT(u64);
9157handle!(SpatialEntityEXT);
9158#[doc = "See [XrSpatialSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialSnapshotEXT)"]
9159#[repr(transparent)]
9160#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9161pub struct SpatialSnapshotEXT(u64);
9162handle!(SpatialSnapshotEXT);
9163#[doc = "See [XrSpatialPersistenceContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextEXT)"]
9164#[repr(transparent)]
9165#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9166pub struct SpatialPersistenceContextEXT(u64);
9167handle!(SpatialPersistenceContextEXT);
9168#[doc = "See [XrBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerHTC)"]
9169#[repr(transparent)]
9170#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9171pub struct BodyTrackerHTC(u64);
9172handle!(BodyTrackerHTC);
9173#[doc = "See [XrWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorML)"]
9174#[repr(transparent)]
9175#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9176pub struct WorldMeshDetectorML(u64);
9177handle!(WorldMeshDetectorML);
9178#[doc = "See [XrBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerBD)"]
9179#[repr(transparent)]
9180#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9181pub struct BodyTrackerBD(u64);
9182handle!(BodyTrackerBD);
9183#[doc = "See [XrRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelEXT)"]
9184#[repr(transparent)]
9185#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9186pub struct RenderModelEXT(u64);
9187handle!(RenderModelEXT);
9188#[doc = "See [XrRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetEXT)"]
9189#[repr(transparent)]
9190#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9191pub struct RenderModelAssetEXT(u64);
9192handle!(RenderModelAssetEXT);
9193#[doc = "See [XrSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderBD)"]
9194#[repr(transparent)]
9195#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9196pub struct SenseDataProviderBD(u64);
9197handle!(SenseDataProviderBD);
9198#[doc = "See [XrSenseDataSnapshotBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataSnapshotBD)"]
9199#[repr(transparent)]
9200#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9201pub struct SenseDataSnapshotBD(u64);
9202handle!(SenseDataSnapshotBD);
9203#[doc = "See [XrAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorBD)"]
9204#[repr(transparent)]
9205#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9206pub struct AnchorBD(u64);
9207handle!(AnchorBD);
9208#[doc = "See [XrFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerBD)"]
9209#[repr(transparent)]
9210#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9211pub struct FaceTrackerBD(u64);
9212handle!(FaceTrackerBD);
9213#[doc = "See [XrSpatialGraphNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingMSFT)"]
9214#[repr(transparent)]
9215#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9216pub struct SpatialGraphNodeBindingMSFT(u64);
9217handle!(SpatialGraphNodeBindingMSFT);
9218#[doc = "See [XrSceneObserverMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObserverMSFT)"]
9219#[repr(transparent)]
9220#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9221pub struct SceneObserverMSFT(u64);
9222handle!(SceneObserverMSFT);
9223#[doc = "See [XrSceneMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMSFT)"]
9224#[repr(transparent)]
9225#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9226pub struct SceneMSFT(u64);
9227handle!(SceneMSFT);
9228#[doc = "See [XrSpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorStoreConnectionMSFT)"]
9229#[repr(transparent)]
9230#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
9231pub struct SpatialAnchorStoreConnectionMSFT(u64);
9232handle!(SpatialAnchorStoreConnectionMSFT);
9233#[repr(C)]
9234#[derive(Copy, Clone, Debug, Default, PartialEq)]
9235#[doc = "See [XrVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector2f)"]
9236pub struct Vector2f {
9237 pub x: f32,
9238 pub y: f32,
9239}
9240#[repr(C)]
9241#[derive(Copy, Clone, Debug, Default, PartialEq)]
9242#[doc = "See [XrVector3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector3f)"]
9243pub struct Vector3f {
9244 pub x: f32,
9245 pub y: f32,
9246 pub z: f32,
9247}
9248#[repr(C)]
9249#[derive(Copy, Clone, Debug, Default, PartialEq)]
9250#[doc = "See [XrVector4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector4f)"]
9251pub struct Vector4f {
9252 pub x: f32,
9253 pub y: f32,
9254 pub z: f32,
9255 pub w: f32,
9256}
9257#[repr(C)]
9258#[derive(Copy, Clone, Debug, Default, PartialEq)]
9259#[doc = "See [XrColor4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor4f)"]
9260pub struct Color4f {
9261 pub r: f32,
9262 pub g: f32,
9263 pub b: f32,
9264 pub a: f32,
9265}
9266#[repr(C)]
9267#[derive(Copy, Clone, Debug, Default, PartialEq)]
9268#[doc = "See [XrQuaternionf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQuaternionf)"]
9269pub struct Quaternionf {
9270 pub x: f32,
9271 pub y: f32,
9272 pub z: f32,
9273 pub w: f32,
9274}
9275#[repr(C)]
9276#[derive(Copy, Clone, Debug, Default, PartialEq)]
9277#[doc = "See [XrPosef](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPosef)"]
9278pub struct Posef {
9279 pub orientation: Quaternionf,
9280 pub position: Vector3f,
9281}
9282#[repr(C)]
9283#[derive(Copy, Clone, Debug, Default, PartialEq)]
9284#[doc = "See [XrOffset2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Df)"]
9285pub struct Offset2Df {
9286 pub x: f32,
9287 pub y: f32,
9288}
9289#[repr(C)]
9290#[derive(Copy, Clone, Debug, Default, PartialEq)]
9291#[doc = "See [XrExtent2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Df)"]
9292pub struct Extent2Df {
9293 pub width: f32,
9294 pub height: f32,
9295}
9296#[repr(C)]
9297#[derive(Copy, Clone, Debug, Default, PartialEq)]
9298#[doc = "See [XrRect2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Df)"]
9299pub struct Rect2Df {
9300 pub offset: Offset2Df,
9301 pub extent: Extent2Df,
9302}
9303#[repr(C)]
9304#[derive(Copy, Clone, Debug, Default, PartialEq)]
9305#[doc = "See [XrOffset2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Di)"]
9306pub struct Offset2Di {
9307 pub x: i32,
9308 pub y: i32,
9309}
9310#[repr(C)]
9311#[derive(Copy, Clone, Debug, Default, PartialEq)]
9312#[doc = "See [XrExtent2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Di)"]
9313pub struct Extent2Di {
9314 pub width: i32,
9315 pub height: i32,
9316}
9317#[repr(C)]
9318#[derive(Copy, Clone, Debug, Default, PartialEq)]
9319#[doc = "See [XrRect2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Di)"]
9320pub struct Rect2Di {
9321 pub offset: Offset2Di,
9322 pub extent: Extent2Di,
9323}
9324#[repr(C)]
9325#[derive(Copy, Clone, Debug, Default, PartialEq)]
9326#[doc = "See [XrNegotiateLoaderInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateLoaderInfo)"]
9327pub struct NegotiateLoaderInfo {
9328 pub struct_type: LoaderInterfaceStructs,
9329 pub struct_version: u32,
9330 pub struct_size: usize,
9331 pub min_interface_version: u32,
9332 pub max_interface_version: u32,
9333 pub min_api_version: Version,
9334 pub max_api_version: Version,
9335}
9336#[repr(C)]
9337#[derive(Copy, Clone)]
9338#[doc = "See [XrNegotiateApiLayerRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateApiLayerRequest)"]
9339pub struct NegotiateApiLayerRequest {
9340 pub struct_type: LoaderInterfaceStructs,
9341 pub struct_version: u32,
9342 pub struct_size: usize,
9343 pub layer_interface_version: u32,
9344 pub layer_api_version: Version,
9345 pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
9346 pub create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
9347}
9348#[repr(C)]
9349#[derive(Copy, Clone)]
9350#[doc = "See [XrNegotiateRuntimeRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateRuntimeRequest)"]
9351pub struct NegotiateRuntimeRequest {
9352 pub struct_type: LoaderInterfaceStructs,
9353 pub struct_version: u32,
9354 pub struct_size: usize,
9355 pub runtime_interface_version: u32,
9356 pub runtime_api_version: Version,
9357 pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
9358}
9359#[repr(C)]
9360#[derive(Copy, Clone)]
9361#[doc = "See [XrApiLayerNextInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerNextInfo)"]
9362pub struct ApiLayerNextInfo {
9363 pub struct_type: LoaderInterfaceStructs,
9364 pub struct_version: u32,
9365 pub struct_size: usize,
9366 pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
9367 pub next_get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
9368 pub next_create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
9369 pub next: *mut ApiLayerNextInfo,
9370}
9371#[repr(C)]
9372#[derive(Copy, Clone)]
9373#[doc = "See [XrApiLayerCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerCreateInfo)"]
9374pub struct ApiLayerCreateInfo {
9375 pub struct_type: LoaderInterfaceStructs,
9376 pub struct_version: u32,
9377 pub struct_size: usize,
9378 pub loader_instance: *mut c_void,
9379 pub settings_file_location: [c_char; API_LAYER_MAX_SETTINGS_PATH_SIZE],
9380 pub next_info: *mut ApiLayerNextInfo,
9381}
9382#[repr(C)]
9383#[derive(Copy, Clone, Debug)]
9384#[doc = "See [XrBaseInStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseInStructure)"]
9385pub struct BaseInStructure {
9386 pub ty: StructureType,
9387 pub next: *const BaseInStructure,
9388}
9389#[repr(C)]
9390#[derive(Copy, Clone, Debug)]
9391#[doc = "See [XrBaseOutStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseOutStructure)"]
9392pub struct BaseOutStructure {
9393 pub ty: StructureType,
9394 pub next: *mut BaseOutStructure,
9395}
9396#[repr(C)]
9397#[derive(Copy, Clone, Debug)]
9398#[doc = "See [XrApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerProperties)"]
9399pub struct ApiLayerProperties {
9400 pub ty: StructureType,
9401 pub next: *mut c_void,
9402 pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
9403 pub spec_version: Version,
9404 pub layer_version: u32,
9405 pub description: [c_char; MAX_API_LAYER_DESCRIPTION_SIZE],
9406}
9407impl ApiLayerProperties {
9408 pub const TYPE: StructureType = StructureType::API_LAYER_PROPERTIES;
9409 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9410 #[inline]
9411 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9412 let mut x = MaybeUninit::<Self>::uninit();
9413 unsafe {
9414 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9415 ty: Self::TYPE,
9416 next,
9417 });
9418 }
9419 x
9420 }
9421}
9422#[repr(C)]
9423#[derive(Copy, Clone, Debug)]
9424#[doc = "See [XrExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtensionProperties)"]
9425pub struct ExtensionProperties {
9426 pub ty: StructureType,
9427 pub next: *mut c_void,
9428 pub extension_name: [c_char; MAX_EXTENSION_NAME_SIZE],
9429 pub extension_version: u32,
9430}
9431impl ExtensionProperties {
9432 pub const TYPE: StructureType = StructureType::EXTENSION_PROPERTIES;
9433 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9434 #[inline]
9435 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9436 let mut x = MaybeUninit::<Self>::uninit();
9437 unsafe {
9438 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9439 ty: Self::TYPE,
9440 next,
9441 });
9442 }
9443 x
9444 }
9445}
9446#[repr(C)]
9447#[derive(Copy, Clone, Debug)]
9448#[doc = "See [XrApplicationInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApplicationInfo)"]
9449pub struct ApplicationInfo {
9450 pub application_name: [c_char; MAX_APPLICATION_NAME_SIZE],
9451 pub application_version: u32,
9452 pub engine_name: [c_char; MAX_ENGINE_NAME_SIZE],
9453 pub engine_version: u32,
9454 pub api_version: Version,
9455}
9456#[repr(C)]
9457#[derive(Copy, Clone, Debug)]
9458#[doc = "See [XrInstanceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateInfo)"]
9459pub struct InstanceCreateInfo {
9460 pub ty: StructureType,
9461 pub next: *const c_void,
9462 pub create_flags: InstanceCreateFlags,
9463 pub application_info: ApplicationInfo,
9464 pub enabled_api_layer_count: u32,
9465 pub enabled_api_layer_names: *const *const c_char,
9466 pub enabled_extension_count: u32,
9467 pub enabled_extension_names: *const *const c_char,
9468}
9469impl InstanceCreateInfo {
9470 pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO;
9471}
9472#[repr(C)]
9473#[derive(Copy, Clone, Debug)]
9474#[doc = "See [XrInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceProperties)"]
9475pub struct InstanceProperties {
9476 pub ty: StructureType,
9477 pub next: *mut c_void,
9478 pub runtime_version: Version,
9479 pub runtime_name: [c_char; MAX_RUNTIME_NAME_SIZE],
9480}
9481impl InstanceProperties {
9482 pub const TYPE: StructureType = StructureType::INSTANCE_PROPERTIES;
9483 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9484 #[inline]
9485 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9486 let mut x = MaybeUninit::<Self>::uninit();
9487 unsafe {
9488 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9489 ty: Self::TYPE,
9490 next,
9491 });
9492 }
9493 x
9494 }
9495}
9496#[repr(C)]
9497#[derive(Copy, Clone, Debug)]
9498#[doc = "See [XrSystemGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGetInfo)"]
9499pub struct SystemGetInfo {
9500 pub ty: StructureType,
9501 pub next: *const c_void,
9502 pub form_factor: FormFactor,
9503}
9504impl SystemGetInfo {
9505 pub const TYPE: StructureType = StructureType::SYSTEM_GET_INFO;
9506}
9507#[repr(C)]
9508#[derive(Copy, Clone, Debug)]
9509#[doc = "See [XrSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemProperties)"]
9510pub struct SystemProperties {
9511 pub ty: StructureType,
9512 pub next: *mut c_void,
9513 pub system_id: SystemId,
9514 pub vendor_id: u32,
9515 pub system_name: [c_char; MAX_SYSTEM_NAME_SIZE],
9516 pub graphics_properties: SystemGraphicsProperties,
9517 pub tracking_properties: SystemTrackingProperties,
9518}
9519impl SystemProperties {
9520 pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES;
9521 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9522 #[inline]
9523 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9524 let mut x = MaybeUninit::<Self>::uninit();
9525 unsafe {
9526 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9527 ty: Self::TYPE,
9528 next,
9529 });
9530 }
9531 x
9532 }
9533}
9534#[repr(C)]
9535#[derive(Copy, Clone, Debug, Default, PartialEq)]
9536#[doc = "See [XrSystemGraphicsProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGraphicsProperties)"]
9537pub struct SystemGraphicsProperties {
9538 pub max_swapchain_image_height: u32,
9539 pub max_swapchain_image_width: u32,
9540 pub max_layer_count: u32,
9541}
9542#[repr(C)]
9543#[derive(Copy, Clone, Debug, Default, PartialEq)]
9544#[doc = "See [XrSystemTrackingProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemTrackingProperties)"]
9545pub struct SystemTrackingProperties {
9546 pub orientation_tracking: Bool32,
9547 pub position_tracking: Bool32,
9548}
9549#[repr(C)]
9550#[derive(Copy, Clone, Debug)]
9551#[doc = "See [XrGraphicsBindingOpenGLWin32KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLWin32KHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9552#[cfg(windows)]
9553pub struct GraphicsBindingOpenGLWin32KHR {
9554 pub ty: StructureType,
9555 pub next: *const c_void,
9556 pub h_dc: HDC,
9557 pub h_glrc: HGLRC,
9558}
9559#[cfg(windows)]
9560impl GraphicsBindingOpenGLWin32KHR {
9561 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WIN32_KHR;
9562}
9563#[repr(C)]
9564#[derive(Copy, Clone, Debug)]
9565#[doc = "See [XrGraphicsBindingOpenGLXlibKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLXlibKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9566pub struct GraphicsBindingOpenGLXlibKHR {
9567 pub ty: StructureType,
9568 pub next: *const c_void,
9569 pub x_display: *mut Display,
9570 pub visualid: u32,
9571 pub glx_fb_config: GLXFBConfig,
9572 pub glx_drawable: GLXDrawable,
9573 pub glx_context: GLXContext,
9574}
9575impl GraphicsBindingOpenGLXlibKHR {
9576 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XLIB_KHR;
9577}
9578#[repr(C)]
9579#[derive(Copy, Clone, Debug)]
9580#[doc = "See [XrGraphicsBindingOpenGLXcbKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLXcbKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9581pub struct GraphicsBindingOpenGLXcbKHR {
9582 pub ty: StructureType,
9583 pub next: *const c_void,
9584 pub connection: *mut xcb_connection_t,
9585 pub screen_number: u32,
9586 pub fbconfigid: xcb_glx_fbconfig_t,
9587 pub visualid: xcb_visualid_t,
9588 pub glx_drawable: xcb_glx_drawable_t,
9589 pub glx_context: xcb_glx_context_t,
9590}
9591impl GraphicsBindingOpenGLXcbKHR {
9592 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XCB_KHR;
9593}
9594#[repr(C)]
9595#[derive(Copy, Clone, Debug)]
9596#[doc = "See [XrGraphicsBindingOpenGLWaylandKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLWaylandKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9597pub struct GraphicsBindingOpenGLWaylandKHR {
9598 pub ty: StructureType,
9599 pub next: *const c_void,
9600 pub display: *mut wl_display,
9601}
9602impl GraphicsBindingOpenGLWaylandKHR {
9603 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR;
9604}
9605#[repr(C)]
9606#[derive(Copy, Clone, Debug)]
9607#[doc = "See [XrGraphicsBindingD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
9608#[cfg(windows)]
9609pub struct GraphicsBindingD3D11KHR {
9610 pub ty: StructureType,
9611 pub next: *const c_void,
9612 pub device: *mut ID3D11Device,
9613}
9614#[cfg(windows)]
9615impl GraphicsBindingD3D11KHR {
9616 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D11_KHR;
9617}
9618#[repr(C)]
9619#[derive(Copy, Clone, Debug)]
9620#[doc = "See [XrGraphicsBindingD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
9621#[cfg(windows)]
9622pub struct GraphicsBindingD3D12KHR {
9623 pub ty: StructureType,
9624 pub next: *const c_void,
9625 pub device: *mut ID3D12Device,
9626 pub queue: *mut ID3D12CommandQueue,
9627}
9628#[cfg(windows)]
9629impl GraphicsBindingD3D12KHR {
9630 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D12_KHR;
9631}
9632#[repr(C)]
9633#[derive(Copy, Clone, Debug)]
9634#[doc = "See [XrGraphicsBindingOpenGLESAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLESAndroidKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
9635#[cfg(target_os = "android")]
9636pub struct GraphicsBindingOpenGLESAndroidKHR {
9637 pub ty: StructureType,
9638 pub next: *const c_void,
9639 pub display: EGLDisplay,
9640 pub config: EGLConfig,
9641 pub context: EGLContext,
9642}
9643#[cfg(target_os = "android")]
9644impl GraphicsBindingOpenGLESAndroidKHR {
9645 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR;
9646}
9647#[repr(C)]
9648#[derive(Copy, Clone, Debug)]
9649#[doc = "See [XrGraphicsBindingVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
9650pub struct GraphicsBindingVulkanKHR {
9651 pub ty: StructureType,
9652 pub next: *const c_void,
9653 pub instance: VkInstance,
9654 pub physical_device: VkPhysicalDevice,
9655 pub device: VkDevice,
9656 pub queue_family_index: u32,
9657 pub queue_index: u32,
9658}
9659impl GraphicsBindingVulkanKHR {
9660 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_VULKAN_KHR;
9661}
9662pub type GraphicsBindingVulkan2KHR = GraphicsBindingVulkanKHR;
9663#[repr(C)]
9664#[derive(Copy, Clone, Debug)]
9665#[doc = "See [XrGraphicsBindingMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
9666#[cfg(target_vendor = "apple")]
9667pub struct GraphicsBindingMetalKHR {
9668 pub ty: StructureType,
9669 pub next: *const c_void,
9670 pub command_queue: *mut c_void,
9671}
9672#[cfg(target_vendor = "apple")]
9673impl GraphicsBindingMetalKHR {
9674 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_METAL_KHR;
9675}
9676#[repr(C)]
9677#[derive(Copy, Clone, Debug)]
9678#[doc = "See [XrSessionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateInfo)"]
9679pub struct SessionCreateInfo {
9680 pub ty: StructureType,
9681 pub next: *const c_void,
9682 pub create_flags: SessionCreateFlags,
9683 pub system_id: SystemId,
9684}
9685impl SessionCreateInfo {
9686 pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO;
9687}
9688#[repr(C)]
9689#[derive(Copy, Clone, Debug)]
9690#[doc = "See [XrSessionBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionBeginInfo)"]
9691pub struct SessionBeginInfo {
9692 pub ty: StructureType,
9693 pub next: *const c_void,
9694 pub primary_view_configuration_type: ViewConfigurationType,
9695}
9696impl SessionBeginInfo {
9697 pub const TYPE: StructureType = StructureType::SESSION_BEGIN_INFO;
9698}
9699#[repr(C)]
9700#[derive(Copy, Clone, Debug)]
9701#[doc = "See [XrSwapchainCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateInfo)"]
9702pub struct SwapchainCreateInfo {
9703 pub ty: StructureType,
9704 pub next: *const c_void,
9705 pub create_flags: SwapchainCreateFlags,
9706 pub usage_flags: SwapchainUsageFlags,
9707 pub format: i64,
9708 pub sample_count: u32,
9709 pub width: u32,
9710 pub height: u32,
9711 pub face_count: u32,
9712 pub array_size: u32,
9713 pub mip_count: u32,
9714}
9715impl SwapchainCreateInfo {
9716 pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO;
9717}
9718#[repr(C)]
9719#[derive(Copy, Clone, Debug)]
9720#[doc = "See [XrSwapchainImageBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageBaseHeader)"]
9721pub struct SwapchainImageBaseHeader {
9722 pub ty: StructureType,
9723 pub next: *mut c_void,
9724}
9725#[repr(C)]
9726#[derive(Copy, Clone, Debug)]
9727#[doc = "See [XrSwapchainImageOpenGLKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageOpenGLKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
9728pub struct SwapchainImageOpenGLKHR {
9729 pub ty: StructureType,
9730 pub next: *mut c_void,
9731 pub image: u32,
9732}
9733impl SwapchainImageOpenGLKHR {
9734 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_KHR;
9735 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9736 #[inline]
9737 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9738 let mut x = MaybeUninit::<Self>::uninit();
9739 unsafe {
9740 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9741 ty: Self::TYPE,
9742 next,
9743 });
9744 }
9745 x
9746 }
9747}
9748#[repr(C)]
9749#[derive(Copy, Clone, Debug)]
9750#[doc = "See [XrSwapchainImageOpenGLESKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageOpenGLESKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
9751pub struct SwapchainImageOpenGLESKHR {
9752 pub ty: StructureType,
9753 pub next: *mut c_void,
9754 pub image: u32,
9755}
9756impl SwapchainImageOpenGLESKHR {
9757 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_ES_KHR;
9758 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9759 #[inline]
9760 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9761 let mut x = MaybeUninit::<Self>::uninit();
9762 unsafe {
9763 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9764 ty: Self::TYPE,
9765 next,
9766 });
9767 }
9768 x
9769 }
9770}
9771#[repr(C)]
9772#[derive(Copy, Clone, Debug)]
9773#[doc = "See [XrSwapchainImageVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
9774pub struct SwapchainImageVulkanKHR {
9775 pub ty: StructureType,
9776 pub next: *mut c_void,
9777 pub image: VkImage,
9778}
9779impl SwapchainImageVulkanKHR {
9780 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_VULKAN_KHR;
9781 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9782 #[inline]
9783 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9784 let mut x = MaybeUninit::<Self>::uninit();
9785 unsafe {
9786 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9787 ty: Self::TYPE,
9788 next,
9789 });
9790 }
9791 x
9792 }
9793}
9794pub type SwapchainImageVulkan2KHR = SwapchainImageVulkanKHR;
9795#[repr(C)]
9796#[derive(Copy, Clone, Debug)]
9797#[doc = "See [XrSwapchainImageD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
9798#[cfg(windows)]
9799pub struct SwapchainImageD3D11KHR {
9800 pub ty: StructureType,
9801 pub next: *mut c_void,
9802 pub texture: *mut ID3D11Texture2D,
9803}
9804#[cfg(windows)]
9805impl SwapchainImageD3D11KHR {
9806 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D11_KHR;
9807 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9808 #[inline]
9809 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9810 let mut x = MaybeUninit::<Self>::uninit();
9811 unsafe {
9812 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9813 ty: Self::TYPE,
9814 next,
9815 });
9816 }
9817 x
9818 }
9819}
9820#[repr(C)]
9821#[derive(Copy, Clone, Debug)]
9822#[doc = "See [XrSwapchainImageD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
9823#[cfg(windows)]
9824pub struct SwapchainImageD3D12KHR {
9825 pub ty: StructureType,
9826 pub next: *mut c_void,
9827 pub texture: *mut ID3D12Resource,
9828}
9829#[cfg(windows)]
9830impl SwapchainImageD3D12KHR {
9831 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D12_KHR;
9832 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9833 #[inline]
9834 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9835 let mut x = MaybeUninit::<Self>::uninit();
9836 unsafe {
9837 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9838 ty: Self::TYPE,
9839 next,
9840 });
9841 }
9842 x
9843 }
9844}
9845#[repr(C)]
9846#[derive(Copy, Clone, Debug)]
9847#[doc = "See [XrSwapchainImageMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
9848#[cfg(target_vendor = "apple")]
9849pub struct SwapchainImageMetalKHR {
9850 pub ty: StructureType,
9851 pub next: *mut c_void,
9852 pub texture: *mut c_void,
9853}
9854#[cfg(target_vendor = "apple")]
9855impl SwapchainImageMetalKHR {
9856 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_METAL_KHR;
9857 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9858 #[inline]
9859 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9860 let mut x = MaybeUninit::<Self>::uninit();
9861 unsafe {
9862 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9863 ty: Self::TYPE,
9864 next,
9865 });
9866 }
9867 x
9868 }
9869}
9870#[repr(C)]
9871#[derive(Copy, Clone, Debug)]
9872#[doc = "See [XrSwapchainImageAcquireInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageAcquireInfo)"]
9873pub struct SwapchainImageAcquireInfo {
9874 pub ty: StructureType,
9875 pub next: *const c_void,
9876}
9877impl SwapchainImageAcquireInfo {
9878 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_ACQUIRE_INFO;
9879}
9880#[repr(C)]
9881#[derive(Copy, Clone, Debug)]
9882#[doc = "See [XrSwapchainImageWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageWaitInfo)"]
9883pub struct SwapchainImageWaitInfo {
9884 pub ty: StructureType,
9885 pub next: *const c_void,
9886 pub timeout: Duration,
9887}
9888impl SwapchainImageWaitInfo {
9889 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_WAIT_INFO;
9890}
9891#[repr(C)]
9892#[derive(Copy, Clone, Debug)]
9893#[doc = "See [XrSwapchainImageReleaseInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageReleaseInfo)"]
9894pub struct SwapchainImageReleaseInfo {
9895 pub ty: StructureType,
9896 pub next: *const c_void,
9897}
9898impl SwapchainImageReleaseInfo {
9899 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_RELEASE_INFO;
9900}
9901#[repr(C)]
9902#[derive(Copy, Clone, Debug)]
9903#[doc = "See [XrReferenceSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceCreateInfo)"]
9904pub struct ReferenceSpaceCreateInfo {
9905 pub ty: StructureType,
9906 pub next: *const c_void,
9907 pub reference_space_type: ReferenceSpaceType,
9908 pub pose_in_reference_space: Posef,
9909}
9910impl ReferenceSpaceCreateInfo {
9911 pub const TYPE: StructureType = StructureType::REFERENCE_SPACE_CREATE_INFO;
9912}
9913#[repr(C)]
9914#[derive(Copy, Clone, Debug)]
9915#[doc = "See [XrActionSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSpaceCreateInfo)"]
9916pub struct ActionSpaceCreateInfo {
9917 pub ty: StructureType,
9918 pub next: *const c_void,
9919 pub action: Action,
9920 pub subaction_path: Path,
9921 pub pose_in_action_space: Posef,
9922}
9923impl ActionSpaceCreateInfo {
9924 pub const TYPE: StructureType = StructureType::ACTION_SPACE_CREATE_INFO;
9925}
9926#[repr(C)]
9927#[derive(Copy, Clone, Debug)]
9928#[doc = "See [XrSpaceLocation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocation)"]
9929pub struct SpaceLocation {
9930 pub ty: StructureType,
9931 pub next: *mut c_void,
9932 pub location_flags: SpaceLocationFlags,
9933 pub pose: Posef,
9934}
9935impl SpaceLocation {
9936 pub const TYPE: StructureType = StructureType::SPACE_LOCATION;
9937 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9938 #[inline]
9939 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9940 let mut x = MaybeUninit::<Self>::uninit();
9941 unsafe {
9942 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9943 ty: Self::TYPE,
9944 next,
9945 });
9946 }
9947 x
9948 }
9949}
9950#[repr(C)]
9951#[derive(Copy, Clone, Debug)]
9952#[doc = "See [XrSpaceVelocity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocity)"]
9953pub struct SpaceVelocity {
9954 pub ty: StructureType,
9955 pub next: *mut c_void,
9956 pub velocity_flags: SpaceVelocityFlags,
9957 pub linear_velocity: Vector3f,
9958 pub angular_velocity: Vector3f,
9959}
9960impl SpaceVelocity {
9961 pub const TYPE: StructureType = StructureType::SPACE_VELOCITY;
9962 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9963 #[inline]
9964 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9965 let mut x = MaybeUninit::<Self>::uninit();
9966 unsafe {
9967 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
9968 ty: Self::TYPE,
9969 next,
9970 });
9971 }
9972 x
9973 }
9974}
9975#[repr(C)]
9976#[derive(Copy, Clone, Debug, Default, PartialEq)]
9977#[doc = "See [XrFovf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFovf)"]
9978pub struct Fovf {
9979 pub angle_left: f32,
9980 pub angle_right: f32,
9981 pub angle_up: f32,
9982 pub angle_down: f32,
9983}
9984#[repr(C)]
9985#[derive(Copy, Clone, Debug)]
9986#[doc = "See [XrView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrView)"]
9987pub struct View {
9988 pub ty: StructureType,
9989 pub next: *mut c_void,
9990 pub pose: Posef,
9991 pub fov: Fovf,
9992}
9993impl View {
9994 pub const TYPE: StructureType = StructureType::VIEW;
9995 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
9996 #[inline]
9997 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
9998 let mut x = MaybeUninit::<Self>::uninit();
9999 unsafe {
10000 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10001 ty: Self::TYPE,
10002 next,
10003 });
10004 }
10005 x
10006 }
10007}
10008#[repr(C)]
10009#[derive(Copy, Clone, Debug)]
10010#[doc = "See [XrViewLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewLocateInfo)"]
10011pub struct ViewLocateInfo {
10012 pub ty: StructureType,
10013 pub next: *const c_void,
10014 pub view_configuration_type: ViewConfigurationType,
10015 pub display_time: Time,
10016 pub space: Space,
10017}
10018impl ViewLocateInfo {
10019 pub const TYPE: StructureType = StructureType::VIEW_LOCATE_INFO;
10020}
10021#[repr(C)]
10022#[derive(Copy, Clone, Debug)]
10023#[doc = "See [XrViewState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewState)"]
10024pub struct ViewState {
10025 pub ty: StructureType,
10026 pub next: *mut c_void,
10027 pub view_state_flags: ViewStateFlags,
10028}
10029impl ViewState {
10030 pub const TYPE: StructureType = StructureType::VIEW_STATE;
10031 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10032 #[inline]
10033 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10034 let mut x = MaybeUninit::<Self>::uninit();
10035 unsafe {
10036 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10037 ty: Self::TYPE,
10038 next,
10039 });
10040 }
10041 x
10042 }
10043}
10044#[repr(C)]
10045#[derive(Copy, Clone, Debug)]
10046#[doc = "See [XrViewConfigurationView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationView)"]
10047pub struct ViewConfigurationView {
10048 pub ty: StructureType,
10049 pub next: *mut c_void,
10050 pub recommended_image_rect_width: u32,
10051 pub max_image_rect_width: u32,
10052 pub recommended_image_rect_height: u32,
10053 pub max_image_rect_height: u32,
10054 pub recommended_swapchain_sample_count: u32,
10055 pub max_swapchain_sample_count: u32,
10056}
10057impl ViewConfigurationView {
10058 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW;
10059 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10060 #[inline]
10061 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10062 let mut x = MaybeUninit::<Self>::uninit();
10063 unsafe {
10064 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10065 ty: Self::TYPE,
10066 next,
10067 });
10068 }
10069 x
10070 }
10071}
10072#[repr(C)]
10073#[derive(Copy, Clone, Debug)]
10074#[doc = "See [XrSwapchainSubImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainSubImage)"]
10075pub struct SwapchainSubImage {
10076 pub swapchain: Swapchain,
10077 pub image_rect: Rect2Di,
10078 pub image_array_index: u32,
10079}
10080#[repr(C)]
10081#[derive(Copy, Clone, Debug)]
10082#[doc = "See [XrCompositionLayerBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerBaseHeader)"]
10083pub struct CompositionLayerBaseHeader {
10084 pub ty: StructureType,
10085 pub next: *const c_void,
10086 pub layer_flags: CompositionLayerFlags,
10087 pub space: Space,
10088}
10089#[repr(C)]
10090#[derive(Copy, Clone, Debug)]
10091#[doc = "See [XrCompositionLayerProjectionView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjectionView)"]
10092pub struct CompositionLayerProjectionView {
10093 pub ty: StructureType,
10094 pub next: *const c_void,
10095 pub pose: Posef,
10096 pub fov: Fovf,
10097 pub sub_image: SwapchainSubImage,
10098}
10099impl CompositionLayerProjectionView {
10100 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION_VIEW;
10101}
10102#[repr(C)]
10103#[derive(Copy, Clone, Debug)]
10104#[doc = "See [XrCompositionLayerProjection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjection)"]
10105pub struct CompositionLayerProjection {
10106 pub ty: StructureType,
10107 pub next: *const c_void,
10108 pub layer_flags: CompositionLayerFlags,
10109 pub space: Space,
10110 pub view_count: u32,
10111 pub views: *const CompositionLayerProjectionView,
10112}
10113impl CompositionLayerProjection {
10114 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION;
10115}
10116#[repr(C)]
10117#[derive(Copy, Clone, Debug)]
10118#[doc = "See [XrCompositionLayerQuad](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerQuad)"]
10119pub struct CompositionLayerQuad {
10120 pub ty: StructureType,
10121 pub next: *const c_void,
10122 pub layer_flags: CompositionLayerFlags,
10123 pub space: Space,
10124 pub eye_visibility: EyeVisibility,
10125 pub sub_image: SwapchainSubImage,
10126 pub pose: Posef,
10127 pub size: Extent2Df,
10128}
10129impl CompositionLayerQuad {
10130 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_QUAD;
10131}
10132#[repr(C)]
10133#[derive(Copy, Clone, Debug)]
10134#[doc = "See [XrCompositionLayerCylinderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerCylinderKHR) - defined by [XR_KHR_composition_layer_cylinder](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_cylinder)"]
10135pub struct CompositionLayerCylinderKHR {
10136 pub ty: StructureType,
10137 pub next: *const c_void,
10138 pub layer_flags: CompositionLayerFlags,
10139 pub space: Space,
10140 pub eye_visibility: EyeVisibility,
10141 pub sub_image: SwapchainSubImage,
10142 pub pose: Posef,
10143 pub radius: f32,
10144 pub central_angle: f32,
10145 pub aspect_ratio: f32,
10146}
10147impl CompositionLayerCylinderKHR {
10148 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CYLINDER_KHR;
10149}
10150#[repr(C)]
10151#[derive(Copy, Clone, Debug)]
10152#[doc = "See [XrCompositionLayerCubeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerCubeKHR) - defined by [XR_KHR_composition_layer_cube](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_cube)"]
10153pub struct CompositionLayerCubeKHR {
10154 pub ty: StructureType,
10155 pub next: *const c_void,
10156 pub layer_flags: CompositionLayerFlags,
10157 pub space: Space,
10158 pub eye_visibility: EyeVisibility,
10159 pub swapchain: Swapchain,
10160 pub image_array_index: u32,
10161 pub orientation: Quaternionf,
10162}
10163impl CompositionLayerCubeKHR {
10164 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CUBE_KHR;
10165}
10166#[repr(C)]
10167#[derive(Copy, Clone, Debug)]
10168#[doc = "See [XrCompositionLayerEquirectKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerEquirectKHR) - defined by [XR_KHR_composition_layer_equirect](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_equirect)"]
10169pub struct CompositionLayerEquirectKHR {
10170 pub ty: StructureType,
10171 pub next: *const c_void,
10172 pub layer_flags: CompositionLayerFlags,
10173 pub space: Space,
10174 pub eye_visibility: EyeVisibility,
10175 pub sub_image: SwapchainSubImage,
10176 pub pose: Posef,
10177 pub radius: f32,
10178 pub scale: Vector2f,
10179 pub bias: Vector2f,
10180}
10181impl CompositionLayerEquirectKHR {
10182 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT_KHR;
10183}
10184#[repr(C)]
10185#[derive(Copy, Clone, Debug)]
10186#[doc = "See [XrCompositionLayerDepthInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthInfoKHR) - defined by [XR_KHR_composition_layer_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_depth)"]
10187pub struct CompositionLayerDepthInfoKHR {
10188 pub ty: StructureType,
10189 pub next: *const c_void,
10190 pub sub_image: SwapchainSubImage,
10191 pub min_depth: f32,
10192 pub max_depth: f32,
10193 pub near_z: f32,
10194 pub far_z: f32,
10195}
10196impl CompositionLayerDepthInfoKHR {
10197 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_INFO_KHR;
10198}
10199#[repr(C)]
10200#[derive(Copy, Clone, Debug)]
10201#[doc = "See [XrFrameBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameBeginInfo)"]
10202pub struct FrameBeginInfo {
10203 pub ty: StructureType,
10204 pub next: *const c_void,
10205}
10206impl FrameBeginInfo {
10207 pub const TYPE: StructureType = StructureType::FRAME_BEGIN_INFO;
10208}
10209#[repr(C)]
10210#[derive(Copy, Clone, Debug)]
10211#[doc = "See [XrFrameEndInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfo)"]
10212pub struct FrameEndInfo {
10213 pub ty: StructureType,
10214 pub next: *const c_void,
10215 pub display_time: Time,
10216 pub environment_blend_mode: EnvironmentBlendMode,
10217 pub layer_count: u32,
10218 pub layers: *const *const CompositionLayerBaseHeader,
10219}
10220impl FrameEndInfo {
10221 pub const TYPE: StructureType = StructureType::FRAME_END_INFO;
10222}
10223#[repr(C)]
10224#[derive(Copy, Clone, Debug)]
10225#[doc = "See [XrFrameWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameWaitInfo)"]
10226pub struct FrameWaitInfo {
10227 pub ty: StructureType,
10228 pub next: *const c_void,
10229}
10230impl FrameWaitInfo {
10231 pub const TYPE: StructureType = StructureType::FRAME_WAIT_INFO;
10232}
10233#[repr(C)]
10234#[derive(Copy, Clone, Debug)]
10235#[doc = "See [XrFrameState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameState)"]
10236pub struct FrameState {
10237 pub ty: StructureType,
10238 pub next: *mut c_void,
10239 pub predicted_display_time: Time,
10240 pub predicted_display_period: Duration,
10241 pub should_render: Bool32,
10242}
10243impl FrameState {
10244 pub const TYPE: StructureType = StructureType::FRAME_STATE;
10245 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10246 #[inline]
10247 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10248 let mut x = MaybeUninit::<Self>::uninit();
10249 unsafe {
10250 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10251 ty: Self::TYPE,
10252 next,
10253 });
10254 }
10255 x
10256 }
10257}
10258#[repr(C)]
10259#[derive(Copy, Clone, Debug)]
10260#[doc = "See [XrHapticBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticBaseHeader)"]
10261pub struct HapticBaseHeader {
10262 pub ty: StructureType,
10263 pub next: *const c_void,
10264}
10265#[repr(C)]
10266#[derive(Copy, Clone, Debug)]
10267#[doc = "See [XrHapticVibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticVibration)"]
10268pub struct HapticVibration {
10269 pub ty: StructureType,
10270 pub next: *const c_void,
10271 pub duration: Duration,
10272 pub frequency: f32,
10273 pub amplitude: f32,
10274}
10275impl HapticVibration {
10276 pub const TYPE: StructureType = StructureType::HAPTIC_VIBRATION;
10277}
10278#[repr(C)]
10279#[derive(Copy, Clone, Debug)]
10280#[doc = "See [XrEventDataBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBaseHeader)"]
10281pub struct EventDataBaseHeader {
10282 pub ty: StructureType,
10283 pub next: *const c_void,
10284}
10285#[repr(C)]
10286#[derive(Copy, Clone, Debug)]
10287#[doc = "See [XrEventDataBuffer](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBuffer)"]
10288pub struct EventDataBuffer {
10289 pub ty: StructureType,
10290 pub next: *const c_void,
10291 pub varying: [u8; 4000usize],
10292}
10293impl EventDataBuffer {
10294 pub const TYPE: StructureType = StructureType::EVENT_DATA_BUFFER;
10295}
10296#[repr(C)]
10297#[derive(Copy, Clone, Debug)]
10298#[doc = "See [XrEventDataEventsLost](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataEventsLost)"]
10299pub struct EventDataEventsLost {
10300 pub ty: StructureType,
10301 pub next: *const c_void,
10302 pub lost_event_count: u32,
10303}
10304impl EventDataEventsLost {
10305 pub const TYPE: StructureType = StructureType::EVENT_DATA_EVENTS_LOST;
10306}
10307#[repr(C)]
10308#[derive(Copy, Clone, Debug)]
10309#[doc = "See [XrEventDataInstanceLossPending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInstanceLossPending)"]
10310pub struct EventDataInstanceLossPending {
10311 pub ty: StructureType,
10312 pub next: *const c_void,
10313 pub loss_time: Time,
10314}
10315impl EventDataInstanceLossPending {
10316 pub const TYPE: StructureType = StructureType::EVENT_DATA_INSTANCE_LOSS_PENDING;
10317}
10318#[repr(C)]
10319#[derive(Copy, Clone, Debug)]
10320#[doc = "See [XrEventDataSessionStateChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSessionStateChanged)"]
10321pub struct EventDataSessionStateChanged {
10322 pub ty: StructureType,
10323 pub next: *const c_void,
10324 pub session: Session,
10325 pub state: SessionState,
10326 pub time: Time,
10327}
10328impl EventDataSessionStateChanged {
10329 pub const TYPE: StructureType = StructureType::EVENT_DATA_SESSION_STATE_CHANGED;
10330}
10331#[repr(C)]
10332#[derive(Copy, Clone, Debug)]
10333#[doc = "See [XrEventDataReferenceSpaceChangePending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataReferenceSpaceChangePending)"]
10334pub struct EventDataReferenceSpaceChangePending {
10335 pub ty: StructureType,
10336 pub next: *const c_void,
10337 pub session: Session,
10338 pub reference_space_type: ReferenceSpaceType,
10339 pub change_time: Time,
10340 pub pose_valid: Bool32,
10341 pub pose_in_previous_space: Posef,
10342}
10343impl EventDataReferenceSpaceChangePending {
10344 pub const TYPE: StructureType = StructureType::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING;
10345}
10346#[repr(C)]
10347#[derive(Copy, Clone, Debug)]
10348#[doc = "See [XrEventDataPerfSettingsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPerfSettingsEXT) - defined by [XR_EXT_performance_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_performance_settings)"]
10349pub struct EventDataPerfSettingsEXT {
10350 pub ty: StructureType,
10351 pub next: *const c_void,
10352 pub domain: PerfSettingsDomainEXT,
10353 pub sub_domain: PerfSettingsSubDomainEXT,
10354 pub from_level: PerfSettingsNotificationLevelEXT,
10355 pub to_level: PerfSettingsNotificationLevelEXT,
10356}
10357impl EventDataPerfSettingsEXT {
10358 pub const TYPE: StructureType = StructureType::EVENT_DATA_PERF_SETTINGS_EXT;
10359}
10360#[repr(C)]
10361#[derive(Copy, Clone, Debug)]
10362#[doc = "See [XrEventDataVisibilityMaskChangedKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVisibilityMaskChangedKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
10363pub struct EventDataVisibilityMaskChangedKHR {
10364 pub ty: StructureType,
10365 pub next: *const c_void,
10366 pub session: Session,
10367 pub view_configuration_type: ViewConfigurationType,
10368 pub view_index: u32,
10369}
10370impl EventDataVisibilityMaskChangedKHR {
10371 pub const TYPE: StructureType = StructureType::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR;
10372}
10373#[repr(C)]
10374#[derive(Copy, Clone, Debug)]
10375#[doc = "See [XrViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationProperties)"]
10376pub struct ViewConfigurationProperties {
10377 pub ty: StructureType,
10378 pub next: *mut c_void,
10379 pub view_configuration_type: ViewConfigurationType,
10380 pub fov_mutable: Bool32,
10381}
10382impl ViewConfigurationProperties {
10383 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_PROPERTIES;
10384 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10385 #[inline]
10386 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10387 let mut x = MaybeUninit::<Self>::uninit();
10388 unsafe {
10389 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10390 ty: Self::TYPE,
10391 next,
10392 });
10393 }
10394 x
10395 }
10396}
10397#[repr(C)]
10398#[derive(Copy, Clone, Debug)]
10399#[doc = "See [XrActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateBoolean)"]
10400pub struct ActionStateBoolean {
10401 pub ty: StructureType,
10402 pub next: *mut c_void,
10403 pub current_state: Bool32,
10404 pub changed_since_last_sync: Bool32,
10405 pub last_change_time: Time,
10406 pub is_active: Bool32,
10407}
10408impl ActionStateBoolean {
10409 pub const TYPE: StructureType = StructureType::ACTION_STATE_BOOLEAN;
10410 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10411 #[inline]
10412 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10413 let mut x = MaybeUninit::<Self>::uninit();
10414 unsafe {
10415 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10416 ty: Self::TYPE,
10417 next,
10418 });
10419 }
10420 x
10421 }
10422}
10423#[repr(C)]
10424#[derive(Copy, Clone, Debug)]
10425#[doc = "See [XrActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateFloat)"]
10426pub struct ActionStateFloat {
10427 pub ty: StructureType,
10428 pub next: *mut c_void,
10429 pub current_state: f32,
10430 pub changed_since_last_sync: Bool32,
10431 pub last_change_time: Time,
10432 pub is_active: Bool32,
10433}
10434impl ActionStateFloat {
10435 pub const TYPE: StructureType = StructureType::ACTION_STATE_FLOAT;
10436 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10437 #[inline]
10438 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10439 let mut x = MaybeUninit::<Self>::uninit();
10440 unsafe {
10441 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10442 ty: Self::TYPE,
10443 next,
10444 });
10445 }
10446 x
10447 }
10448}
10449#[repr(C)]
10450#[derive(Copy, Clone, Debug)]
10451#[doc = "See [XrActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateVector2f)"]
10452pub struct ActionStateVector2f {
10453 pub ty: StructureType,
10454 pub next: *mut c_void,
10455 pub current_state: Vector2f,
10456 pub changed_since_last_sync: Bool32,
10457 pub last_change_time: Time,
10458 pub is_active: Bool32,
10459}
10460impl ActionStateVector2f {
10461 pub const TYPE: StructureType = StructureType::ACTION_STATE_VECTOR2F;
10462 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10463 #[inline]
10464 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10465 let mut x = MaybeUninit::<Self>::uninit();
10466 unsafe {
10467 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10468 ty: Self::TYPE,
10469 next,
10470 });
10471 }
10472 x
10473 }
10474}
10475#[repr(C)]
10476#[derive(Copy, Clone, Debug)]
10477#[doc = "See [XrActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStatePose)"]
10478pub struct ActionStatePose {
10479 pub ty: StructureType,
10480 pub next: *mut c_void,
10481 pub is_active: Bool32,
10482}
10483impl ActionStatePose {
10484 pub const TYPE: StructureType = StructureType::ACTION_STATE_POSE;
10485 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10486 #[inline]
10487 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10488 let mut x = MaybeUninit::<Self>::uninit();
10489 unsafe {
10490 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10491 ty: Self::TYPE,
10492 next,
10493 });
10494 }
10495 x
10496 }
10497}
10498#[repr(C)]
10499#[derive(Copy, Clone, Debug)]
10500#[doc = "See [XrActionStateGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateGetInfo)"]
10501pub struct ActionStateGetInfo {
10502 pub ty: StructureType,
10503 pub next: *const c_void,
10504 pub action: Action,
10505 pub subaction_path: Path,
10506}
10507impl ActionStateGetInfo {
10508 pub const TYPE: StructureType = StructureType::ACTION_STATE_GET_INFO;
10509}
10510#[repr(C)]
10511#[derive(Copy, Clone, Debug)]
10512#[doc = "See [XrHapticActionInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticActionInfo)"]
10513pub struct HapticActionInfo {
10514 pub ty: StructureType,
10515 pub next: *const c_void,
10516 pub action: Action,
10517 pub subaction_path: Path,
10518}
10519impl HapticActionInfo {
10520 pub const TYPE: StructureType = StructureType::HAPTIC_ACTION_INFO;
10521}
10522#[repr(C)]
10523#[derive(Copy, Clone, Debug)]
10524#[doc = "See [XrActionSetCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSetCreateInfo)"]
10525pub struct ActionSetCreateInfo {
10526 pub ty: StructureType,
10527 pub next: *const c_void,
10528 pub action_set_name: [c_char; MAX_ACTION_SET_NAME_SIZE],
10529 pub localized_action_set_name: [c_char; MAX_LOCALIZED_ACTION_SET_NAME_SIZE],
10530 pub priority: u32,
10531}
10532impl ActionSetCreateInfo {
10533 pub const TYPE: StructureType = StructureType::ACTION_SET_CREATE_INFO;
10534}
10535#[repr(C)]
10536#[derive(Copy, Clone, Debug)]
10537#[doc = "See [XrActionSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSuggestedBinding)"]
10538pub struct ActionSuggestedBinding {
10539 pub action: Action,
10540 pub binding: Path,
10541}
10542#[repr(C)]
10543#[derive(Copy, Clone, Debug)]
10544#[doc = "See [XrInteractionProfileSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileSuggestedBinding)"]
10545pub struct InteractionProfileSuggestedBinding {
10546 pub ty: StructureType,
10547 pub next: *const c_void,
10548 pub interaction_profile: Path,
10549 pub count_suggested_bindings: u32,
10550 pub suggested_bindings: *const ActionSuggestedBinding,
10551}
10552impl InteractionProfileSuggestedBinding {
10553 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_SUGGESTED_BINDING;
10554}
10555#[repr(C)]
10556#[derive(Copy, Clone, Debug)]
10557#[doc = "See [XrActiveActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSet)"]
10558pub struct ActiveActionSet {
10559 pub action_set: ActionSet,
10560 pub subaction_path: Path,
10561}
10562#[repr(C)]
10563#[derive(Copy, Clone, Debug)]
10564#[doc = "See [XrSessionActionSetsAttachInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionActionSetsAttachInfo)"]
10565pub struct SessionActionSetsAttachInfo {
10566 pub ty: StructureType,
10567 pub next: *const c_void,
10568 pub count_action_sets: u32,
10569 pub action_sets: *const ActionSet,
10570}
10571impl SessionActionSetsAttachInfo {
10572 pub const TYPE: StructureType = StructureType::SESSION_ACTION_SETS_ATTACH_INFO;
10573}
10574#[repr(C)]
10575#[derive(Copy, Clone, Debug)]
10576#[doc = "See [XrActionsSyncInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionsSyncInfo)"]
10577pub struct ActionsSyncInfo {
10578 pub ty: StructureType,
10579 pub next: *const c_void,
10580 pub count_active_action_sets: u32,
10581 pub active_action_sets: *const ActiveActionSet,
10582}
10583impl ActionsSyncInfo {
10584 pub const TYPE: StructureType = StructureType::ACTIONS_SYNC_INFO;
10585}
10586#[repr(C)]
10587#[derive(Copy, Clone, Debug)]
10588#[doc = "See [XrBoundSourcesForActionEnumerateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoundSourcesForActionEnumerateInfo)"]
10589pub struct BoundSourcesForActionEnumerateInfo {
10590 pub ty: StructureType,
10591 pub next: *const c_void,
10592 pub action: Action,
10593}
10594impl BoundSourcesForActionEnumerateInfo {
10595 pub const TYPE: StructureType = StructureType::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO;
10596}
10597#[repr(C)]
10598#[derive(Copy, Clone, Debug)]
10599#[doc = "See [XrInputSourceLocalizedNameGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameGetInfo)"]
10600pub struct InputSourceLocalizedNameGetInfo {
10601 pub ty: StructureType,
10602 pub next: *const c_void,
10603 pub source_path: Path,
10604 pub which_components: InputSourceLocalizedNameFlags,
10605}
10606impl InputSourceLocalizedNameGetInfo {
10607 pub const TYPE: StructureType = StructureType::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO;
10608}
10609#[repr(C)]
10610#[derive(Copy, Clone, Debug)]
10611#[doc = "See [XrEventDataInteractionProfileChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInteractionProfileChanged)"]
10612pub struct EventDataInteractionProfileChanged {
10613 pub ty: StructureType,
10614 pub next: *const c_void,
10615 pub session: Session,
10616}
10617impl EventDataInteractionProfileChanged {
10618 pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_PROFILE_CHANGED;
10619}
10620#[repr(C)]
10621#[derive(Copy, Clone, Debug)]
10622#[doc = "See [XrInteractionProfileState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileState)"]
10623pub struct InteractionProfileState {
10624 pub ty: StructureType,
10625 pub next: *mut c_void,
10626 pub interaction_profile: Path,
10627}
10628impl InteractionProfileState {
10629 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_STATE;
10630 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10631 #[inline]
10632 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10633 let mut x = MaybeUninit::<Self>::uninit();
10634 unsafe {
10635 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10636 ty: Self::TYPE,
10637 next,
10638 });
10639 }
10640 x
10641 }
10642}
10643#[repr(C)]
10644#[derive(Copy, Clone, Debug)]
10645#[doc = "See [XrActionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionCreateInfo)"]
10646pub struct ActionCreateInfo {
10647 pub ty: StructureType,
10648 pub next: *const c_void,
10649 pub action_name: [c_char; MAX_ACTION_NAME_SIZE],
10650 pub action_type: ActionType,
10651 pub count_subaction_paths: u32,
10652 pub subaction_paths: *const Path,
10653 pub localized_action_name: [c_char; MAX_LOCALIZED_ACTION_NAME_SIZE],
10654}
10655impl ActionCreateInfo {
10656 pub const TYPE: StructureType = StructureType::ACTION_CREATE_INFO;
10657}
10658#[repr(C)]
10659#[derive(Copy, Clone, Debug)]
10660#[doc = "See [XrInstanceCreateInfoAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateInfoAndroidKHR) - defined by [XR_KHR_android_create_instance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_create_instance)"]
10661#[cfg(target_os = "android")]
10662pub struct InstanceCreateInfoAndroidKHR {
10663 pub ty: StructureType,
10664 pub next: *const c_void,
10665 pub application_vm: *mut c_void,
10666 pub application_activity: *mut c_void,
10667}
10668#[cfg(target_os = "android")]
10669impl InstanceCreateInfoAndroidKHR {
10670 pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO_ANDROID_KHR;
10671}
10672#[repr(C)]
10673#[derive(Copy, Clone, Debug)]
10674#[doc = "See [XrVulkanSwapchainFormatListCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanSwapchainFormatListCreateInfoKHR) - defined by [XR_KHR_vulkan_swapchain_format_list](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_swapchain_format_list)"]
10675pub struct VulkanSwapchainFormatListCreateInfoKHR {
10676 pub ty: StructureType,
10677 pub next: *const c_void,
10678 pub view_format_count: u32,
10679 pub view_formats: *const VkFormat,
10680}
10681impl VulkanSwapchainFormatListCreateInfoKHR {
10682 pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR;
10683}
10684#[repr(C)]
10685#[derive(Copy, Clone, Debug)]
10686#[doc = "See [XrDebugUtilsObjectNameInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsObjectNameInfoEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10687pub struct DebugUtilsObjectNameInfoEXT {
10688 pub ty: StructureType,
10689 pub next: *const c_void,
10690 pub object_type: ObjectType,
10691 pub object_handle: u64,
10692 pub object_name: *const c_char,
10693}
10694impl DebugUtilsObjectNameInfoEXT {
10695 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
10696}
10697#[repr(C)]
10698#[derive(Copy, Clone, Debug)]
10699#[doc = "See [XrDebugUtilsLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsLabelEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10700pub struct DebugUtilsLabelEXT {
10701 pub ty: StructureType,
10702 pub next: *const c_void,
10703 pub label_name: *const c_char,
10704}
10705impl DebugUtilsLabelEXT {
10706 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_LABEL_EXT;
10707}
10708#[repr(C)]
10709#[derive(Copy, Clone, Debug)]
10710#[doc = "See [XrDebugUtilsMessengerCallbackDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerCallbackDataEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10711pub struct DebugUtilsMessengerCallbackDataEXT {
10712 pub ty: StructureType,
10713 pub next: *const c_void,
10714 pub message_id: *const c_char,
10715 pub function_name: *const c_char,
10716 pub message: *const c_char,
10717 pub object_count: u32,
10718 pub objects: *mut DebugUtilsObjectNameInfoEXT,
10719 pub session_label_count: u32,
10720 pub session_labels: *mut DebugUtilsLabelEXT,
10721}
10722impl DebugUtilsMessengerCallbackDataEXT {
10723 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
10724}
10725#[repr(C)]
10726#[derive(Copy, Clone)]
10727#[doc = "See [XrDebugUtilsMessengerCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerCreateInfoEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
10728pub struct DebugUtilsMessengerCreateInfoEXT {
10729 pub ty: StructureType,
10730 pub next: *const c_void,
10731 pub message_severities: DebugUtilsMessageSeverityFlagsEXT,
10732 pub message_types: DebugUtilsMessageTypeFlagsEXT,
10733 pub user_callback: Option<pfn::DebugUtilsMessengerCallbackEXT>,
10734 pub user_data: *mut c_void,
10735}
10736impl DebugUtilsMessengerCreateInfoEXT {
10737 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
10738}
10739#[repr(C)]
10740#[derive(Copy, Clone, Debug)]
10741#[doc = "See [XrVisibilityMaskKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVisibilityMaskKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
10742pub struct VisibilityMaskKHR {
10743 pub ty: StructureType,
10744 pub next: *mut c_void,
10745 pub vertex_capacity_input: u32,
10746 pub vertex_count_output: u32,
10747 pub vertices: *mut Vector2f,
10748 pub index_capacity_input: u32,
10749 pub index_count_output: u32,
10750 pub indices: *mut u32,
10751}
10752impl VisibilityMaskKHR {
10753 pub const TYPE: StructureType = StructureType::VISIBILITY_MASK_KHR;
10754 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10755 #[inline]
10756 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10757 let mut x = MaybeUninit::<Self>::uninit();
10758 unsafe {
10759 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10760 ty: Self::TYPE,
10761 next,
10762 });
10763 }
10764 x
10765 }
10766}
10767#[repr(C)]
10768#[derive(Copy, Clone, Debug)]
10769#[doc = "See [XrGraphicsRequirementsOpenGLKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsOpenGLKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
10770pub struct GraphicsRequirementsOpenGLKHR {
10771 pub ty: StructureType,
10772 pub next: *mut c_void,
10773 pub min_api_version_supported: Version,
10774 pub max_api_version_supported: Version,
10775}
10776impl GraphicsRequirementsOpenGLKHR {
10777 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_KHR;
10778 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10779 #[inline]
10780 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10781 let mut x = MaybeUninit::<Self>::uninit();
10782 unsafe {
10783 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10784 ty: Self::TYPE,
10785 next,
10786 });
10787 }
10788 x
10789 }
10790}
10791#[repr(C)]
10792#[derive(Copy, Clone, Debug)]
10793#[doc = "See [XrGraphicsRequirementsOpenGLESKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsOpenGLESKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
10794pub struct GraphicsRequirementsOpenGLESKHR {
10795 pub ty: StructureType,
10796 pub next: *mut c_void,
10797 pub min_api_version_supported: Version,
10798 pub max_api_version_supported: Version,
10799}
10800impl GraphicsRequirementsOpenGLESKHR {
10801 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR;
10802 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10803 #[inline]
10804 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10805 let mut x = MaybeUninit::<Self>::uninit();
10806 unsafe {
10807 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10808 ty: Self::TYPE,
10809 next,
10810 });
10811 }
10812 x
10813 }
10814}
10815#[repr(C)]
10816#[derive(Copy, Clone, Debug)]
10817#[doc = "See [XrGraphicsRequirementsVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
10818pub struct GraphicsRequirementsVulkanKHR {
10819 pub ty: StructureType,
10820 pub next: *mut c_void,
10821 pub min_api_version_supported: Version,
10822 pub max_api_version_supported: Version,
10823}
10824impl GraphicsRequirementsVulkanKHR {
10825 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_VULKAN_KHR;
10826 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10827 #[inline]
10828 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10829 let mut x = MaybeUninit::<Self>::uninit();
10830 unsafe {
10831 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10832 ty: Self::TYPE,
10833 next,
10834 });
10835 }
10836 x
10837 }
10838}
10839pub type GraphicsRequirementsVulkan2KHR = GraphicsRequirementsVulkanKHR;
10840#[repr(C)]
10841#[derive(Copy, Clone)]
10842#[doc = "See [XrGraphicsRequirementsD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
10843#[cfg(windows)]
10844pub struct GraphicsRequirementsD3D11KHR {
10845 pub ty: StructureType,
10846 pub next: *mut c_void,
10847 pub adapter_luid: LUID,
10848 pub min_feature_level: D3D_FEATURE_LEVEL,
10849}
10850#[cfg(windows)]
10851impl GraphicsRequirementsD3D11KHR {
10852 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D11_KHR;
10853 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10854 #[inline]
10855 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10856 let mut x = MaybeUninit::<Self>::uninit();
10857 unsafe {
10858 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10859 ty: Self::TYPE,
10860 next,
10861 });
10862 }
10863 x
10864 }
10865}
10866#[repr(C)]
10867#[derive(Copy, Clone)]
10868#[doc = "See [XrGraphicsRequirementsD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
10869#[cfg(windows)]
10870pub struct GraphicsRequirementsD3D12KHR {
10871 pub ty: StructureType,
10872 pub next: *mut c_void,
10873 pub adapter_luid: LUID,
10874 pub min_feature_level: D3D_FEATURE_LEVEL,
10875}
10876#[cfg(windows)]
10877impl GraphicsRequirementsD3D12KHR {
10878 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D12_KHR;
10879 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10880 #[inline]
10881 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10882 let mut x = MaybeUninit::<Self>::uninit();
10883 unsafe {
10884 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10885 ty: Self::TYPE,
10886 next,
10887 });
10888 }
10889 x
10890 }
10891}
10892#[repr(C)]
10893#[derive(Copy, Clone, Debug)]
10894#[doc = "See [XrGraphicsRequirementsMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
10895#[cfg(target_vendor = "apple")]
10896pub struct GraphicsRequirementsMetalKHR {
10897 pub ty: StructureType,
10898 pub next: *mut c_void,
10899 pub metal_device: *mut c_void,
10900}
10901#[cfg(target_vendor = "apple")]
10902impl GraphicsRequirementsMetalKHR {
10903 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_METAL_KHR;
10904 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10905 #[inline]
10906 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10907 let mut x = MaybeUninit::<Self>::uninit();
10908 unsafe {
10909 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10910 ty: Self::TYPE,
10911 next,
10912 });
10913 }
10914 x
10915 }
10916}
10917#[repr(C)]
10918#[derive(Copy, Clone)]
10919#[doc = "See [XrVulkanInstanceCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanInstanceCreateInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
10920pub struct VulkanInstanceCreateInfoKHR {
10921 pub ty: StructureType,
10922 pub next: *const c_void,
10923 pub system_id: SystemId,
10924 pub create_flags: VulkanInstanceCreateFlagsKHR,
10925 pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
10926 pub vulkan_create_info: *const VkInstanceCreateInfo,
10927 pub vulkan_allocator: *const VkAllocationCallbacks,
10928}
10929impl VulkanInstanceCreateInfoKHR {
10930 pub const TYPE: StructureType = StructureType::VULKAN_INSTANCE_CREATE_INFO_KHR;
10931}
10932#[repr(C)]
10933#[derive(Copy, Clone)]
10934#[doc = "See [XrVulkanDeviceCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanDeviceCreateInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
10935pub struct VulkanDeviceCreateInfoKHR {
10936 pub ty: StructureType,
10937 pub next: *const c_void,
10938 pub system_id: SystemId,
10939 pub create_flags: VulkanDeviceCreateFlagsKHR,
10940 pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
10941 pub vulkan_physical_device: VkPhysicalDevice,
10942 pub vulkan_create_info: *const VkDeviceCreateInfo,
10943 pub vulkan_allocator: *const VkAllocationCallbacks,
10944}
10945impl VulkanDeviceCreateInfoKHR {
10946 pub const TYPE: StructureType = StructureType::VULKAN_DEVICE_CREATE_INFO_KHR;
10947}
10948#[repr(C)]
10949#[derive(Copy, Clone, Debug)]
10950#[doc = "See [XrVulkanGraphicsDeviceGetInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanGraphicsDeviceGetInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
10951pub struct VulkanGraphicsDeviceGetInfoKHR {
10952 pub ty: StructureType,
10953 pub next: *const c_void,
10954 pub system_id: SystemId,
10955 pub vulkan_instance: VkInstance,
10956}
10957impl VulkanGraphicsDeviceGetInfoKHR {
10958 pub const TYPE: StructureType = StructureType::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR;
10959}
10960#[repr(C)]
10961#[derive(Copy, Clone, Debug)]
10962#[doc = "See [XrVulkanSwapchainCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanSwapchainCreateInfoMETA) - defined by [XR_META_vulkan_swapchain_create_info](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_vulkan_swapchain_create_info)"]
10963pub struct VulkanSwapchainCreateInfoMETA {
10964 pub ty: StructureType,
10965 pub next: *const c_void,
10966 pub additional_create_flags: VkImageCreateFlags,
10967 pub additional_usage_flags: VkImageUsageFlags,
10968}
10969impl VulkanSwapchainCreateInfoMETA {
10970 pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_CREATE_INFO_META;
10971}
10972#[repr(C)]
10973#[derive(Copy, Clone, Debug)]
10974#[doc = "See [XrSessionCreateInfoOverlayEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateInfoOverlayEXTX) - defined by [XR_EXTX_overlay](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXTX_overlay)"]
10975pub struct SessionCreateInfoOverlayEXTX {
10976 pub ty: StructureType,
10977 pub next: *const c_void,
10978 pub create_flags: OverlaySessionCreateFlagsEXTX,
10979 pub session_layers_placement: u32,
10980}
10981impl SessionCreateInfoOverlayEXTX {
10982 pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO_OVERLAY_EXTX;
10983}
10984#[repr(C)]
10985#[derive(Copy, Clone, Debug)]
10986#[doc = "See [XrEventDataMainSessionVisibilityChangedEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataMainSessionVisibilityChangedEXTX) - defined by [XR_EXTX_overlay](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXTX_overlay)"]
10987pub struct EventDataMainSessionVisibilityChangedEXTX {
10988 pub ty: StructureType,
10989 pub next: *const c_void,
10990 pub visible: Bool32,
10991 pub flags: OverlayMainSessionFlagsEXTX,
10992}
10993impl EventDataMainSessionVisibilityChangedEXTX {
10994 pub const TYPE: StructureType = StructureType::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX;
10995}
10996#[repr(C)]
10997#[derive(Copy, Clone, Debug)]
10998#[doc = "See [XrEventDataDisplayRefreshRateChangedFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataDisplayRefreshRateChangedFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
10999pub struct EventDataDisplayRefreshRateChangedFB {
11000 pub ty: StructureType,
11001 pub next: *const c_void,
11002 pub from_display_refresh_rate: f32,
11003 pub to_display_refresh_rate: f32,
11004}
11005impl EventDataDisplayRefreshRateChangedFB {
11006 pub const TYPE: StructureType = StructureType::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB;
11007}
11008#[repr(C)]
11009#[derive(Copy, Clone, Debug)]
11010#[doc = "See [XrViewConfigurationDepthRangeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationDepthRangeEXT) - defined by [XR_EXT_view_configuration_depth_range](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_view_configuration_depth_range)"]
11011pub struct ViewConfigurationDepthRangeEXT {
11012 pub ty: StructureType,
11013 pub next: *mut c_void,
11014 pub recommended_near_z: f32,
11015 pub min_near_z: f32,
11016 pub recommended_far_z: f32,
11017 pub max_far_z: f32,
11018}
11019impl ViewConfigurationDepthRangeEXT {
11020 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_DEPTH_RANGE_EXT;
11021 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11022 #[inline]
11023 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11024 let mut x = MaybeUninit::<Self>::uninit();
11025 unsafe {
11026 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11027 ty: Self::TYPE,
11028 next,
11029 });
11030 }
11031 x
11032 }
11033}
11034#[repr(C)]
11035#[derive(Copy, Clone, Debug)]
11036#[doc = "See [XrViewConfigurationViewFovEPIC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationViewFovEPIC) - defined by [XR_EPIC_view_configuration_fov](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EPIC_view_configuration_fov)"]
11037pub struct ViewConfigurationViewFovEPIC {
11038 pub ty: StructureType,
11039 pub next: *const c_void,
11040 pub recommended_fov: Fovf,
11041 pub max_mutable_fov: Fovf,
11042}
11043impl ViewConfigurationViewFovEPIC {
11044 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW_FOV_EPIC;
11045}
11046#[repr(C)]
11047#[derive(Copy, Clone, Debug)]
11048#[doc = "See [XrInteractionProfileDpadBindingEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileDpadBindingEXT) - defined by [XR_EXT_dpad_binding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_dpad_binding)"]
11049pub struct InteractionProfileDpadBindingEXT {
11050 pub ty: StructureType,
11051 pub next: *const c_void,
11052 pub binding: Path,
11053 pub action_set: ActionSet,
11054 pub force_threshold: f32,
11055 pub force_threshold_released: f32,
11056 pub center_region: f32,
11057 pub wedge_angle: f32,
11058 pub is_sticky: Bool32,
11059 pub on_haptic: *const HapticBaseHeader,
11060 pub off_haptic: *const HapticBaseHeader,
11061}
11062impl InteractionProfileDpadBindingEXT {
11063 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_DPAD_BINDING_EXT;
11064}
11065#[repr(C)]
11066#[derive(Copy, Clone, Debug)]
11067#[doc = "See [XrInteractionProfileAnalogThresholdVALVE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileAnalogThresholdVALVE) - defined by [XR_VALVE_analog_threshold](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VALVE_analog_threshold)"]
11068pub struct InteractionProfileAnalogThresholdVALVE {
11069 pub ty: StructureType,
11070 pub next: *const c_void,
11071 pub action: Action,
11072 pub binding: Path,
11073 pub on_threshold: f32,
11074 pub off_threshold: f32,
11075 pub on_haptic: *const HapticBaseHeader,
11076 pub off_haptic: *const HapticBaseHeader,
11077}
11078impl InteractionProfileAnalogThresholdVALVE {
11079 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE;
11080}
11081#[repr(C)]
11082#[derive(Copy, Clone, Debug)]
11083#[doc = "See [XrBindingModificationsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBindingModificationsKHR) - defined by [XR_KHR_binding_modification](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_binding_modification)"]
11084pub struct BindingModificationsKHR {
11085 pub ty: StructureType,
11086 pub next: *const c_void,
11087 pub binding_modification_count: u32,
11088 pub binding_modifications: *const *const BindingModificationBaseHeaderKHR,
11089}
11090impl BindingModificationsKHR {
11091 pub const TYPE: StructureType = StructureType::BINDING_MODIFICATIONS_KHR;
11092}
11093#[repr(C)]
11094#[derive(Copy, Clone, Debug)]
11095#[doc = "See [XrBindingModificationBaseHeaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBindingModificationBaseHeaderKHR) - defined by [XR_KHR_binding_modification](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_binding_modification)"]
11096pub struct BindingModificationBaseHeaderKHR {
11097 pub ty: StructureType,
11098 pub next: *const c_void,
11099}
11100#[repr(C)]
11101#[derive(Copy, Clone, Debug)]
11102#[doc = "See [XrSystemEyeGazeInteractionPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEyeGazeInteractionPropertiesEXT) - defined by [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_eye_gaze_interaction)"]
11103pub struct SystemEyeGazeInteractionPropertiesEXT {
11104 pub ty: StructureType,
11105 pub next: *mut c_void,
11106 pub supports_eye_gaze_interaction: Bool32,
11107}
11108impl SystemEyeGazeInteractionPropertiesEXT {
11109 pub const TYPE: StructureType = StructureType::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT;
11110 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11111 #[inline]
11112 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11113 let mut x = MaybeUninit::<Self>::uninit();
11114 unsafe {
11115 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11116 ty: Self::TYPE,
11117 next,
11118 });
11119 }
11120 x
11121 }
11122}
11123#[repr(C)]
11124#[derive(Copy, Clone, Debug)]
11125#[doc = "See [XrEyeGazeSampleTimeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazeSampleTimeEXT) - defined by [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_eye_gaze_interaction)"]
11126pub struct EyeGazeSampleTimeEXT {
11127 pub ty: StructureType,
11128 pub next: *mut c_void,
11129 pub time: Time,
11130}
11131impl EyeGazeSampleTimeEXT {
11132 pub const TYPE: StructureType = StructureType::EYE_GAZE_SAMPLE_TIME_EXT;
11133 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11134 #[inline]
11135 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11136 let mut x = MaybeUninit::<Self>::uninit();
11137 unsafe {
11138 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11139 ty: Self::TYPE,
11140 next,
11141 });
11142 }
11143 x
11144 }
11145}
11146#[repr(C)]
11147#[derive(Copy, Clone, Debug)]
11148#[doc = "See [XrFrameSynthesisInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisInfoEXT) - defined by [XR_EXT_frame_synthesis](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_frame_synthesis)"]
11149pub struct FrameSynthesisInfoEXT {
11150 pub ty: StructureType,
11151 pub next: *const c_void,
11152 pub layer_flags: FrameSynthesisInfoFlagsEXT,
11153 pub motion_vector_sub_image: SwapchainSubImage,
11154 pub motion_vector_scale: Vector4f,
11155 pub motion_vector_offset: Vector4f,
11156 pub app_space_delta_pose: Posef,
11157 pub depth_sub_image: SwapchainSubImage,
11158 pub min_depth: f32,
11159 pub max_depth: f32,
11160 pub near_z: f32,
11161 pub far_z: f32,
11162}
11163impl FrameSynthesisInfoEXT {
11164 pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_INFO_EXT;
11165}
11166#[repr(C)]
11167#[derive(Copy, Clone, Debug)]
11168#[doc = "See [XrFrameSynthesisConfigViewEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisConfigViewEXT) - defined by [XR_EXT_frame_synthesis](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_frame_synthesis)"]
11169pub struct FrameSynthesisConfigViewEXT {
11170 pub ty: StructureType,
11171 pub next: *mut c_void,
11172 pub recommended_motion_vector_image_rect_width: u32,
11173 pub recommended_motion_vector_image_rect_height: u32,
11174}
11175impl FrameSynthesisConfigViewEXT {
11176 pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_CONFIG_VIEW_EXT;
11177 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11178 #[inline]
11179 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11180 let mut x = MaybeUninit::<Self>::uninit();
11181 unsafe {
11182 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11183 ty: Self::TYPE,
11184 next,
11185 });
11186 }
11187 x
11188 }
11189}
11190#[repr(C)]
11191#[derive(Copy, Clone, Debug)]
11192#[doc = "See [XrSpatialAnchorCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoMSFT)"]
11193pub struct SpatialAnchorCreateInfoMSFT {
11194 pub ty: StructureType,
11195 pub next: *const c_void,
11196 pub space: Space,
11197 pub pose: Posef,
11198 pub time: Time,
11199}
11200impl SpatialAnchorCreateInfoMSFT {
11201 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_MSFT;
11202}
11203#[repr(C)]
11204#[derive(Copy, Clone, Debug)]
11205#[doc = "See [XrSpatialAnchorSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorSpaceCreateInfoMSFT)"]
11206pub struct SpatialAnchorSpaceCreateInfoMSFT {
11207 pub ty: StructureType,
11208 pub next: *const c_void,
11209 pub anchor: SpatialAnchorMSFT,
11210 pub pose_in_anchor_space: Posef,
11211}
11212impl SpatialAnchorSpaceCreateInfoMSFT {
11213 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT;
11214}
11215#[repr(C)]
11216#[derive(Copy, Clone, Debug)]
11217#[doc = "See [XrCompositionLayerImageLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerImageLayoutFB) - defined by [XR_FB_composition_layer_image_layout](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_image_layout)"]
11218pub struct CompositionLayerImageLayoutFB {
11219 pub ty: StructureType,
11220 pub next: *mut c_void,
11221 pub flags: CompositionLayerImageLayoutFlagsFB,
11222}
11223impl CompositionLayerImageLayoutFB {
11224 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_IMAGE_LAYOUT_FB;
11225 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11226 #[inline]
11227 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11228 let mut x = MaybeUninit::<Self>::uninit();
11229 unsafe {
11230 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11231 ty: Self::TYPE,
11232 next,
11233 });
11234 }
11235 x
11236 }
11237}
11238#[repr(C)]
11239#[derive(Copy, Clone, Debug)]
11240#[doc = "See [XrCompositionLayerAlphaBlendFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerAlphaBlendFB) - defined by [XR_FB_composition_layer_alpha_blend](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_alpha_blend)"]
11241pub struct CompositionLayerAlphaBlendFB {
11242 pub ty: StructureType,
11243 pub next: *mut c_void,
11244 pub src_factor_color: BlendFactorFB,
11245 pub dst_factor_color: BlendFactorFB,
11246 pub src_factor_alpha: BlendFactorFB,
11247 pub dst_factor_alpha: BlendFactorFB,
11248}
11249impl CompositionLayerAlphaBlendFB {
11250 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_ALPHA_BLEND_FB;
11251 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11252 #[inline]
11253 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11254 let mut x = MaybeUninit::<Self>::uninit();
11255 unsafe {
11256 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11257 ty: Self::TYPE,
11258 next,
11259 });
11260 }
11261 x
11262 }
11263}
11264#[repr(C)]
11265#[derive(Copy, Clone)]
11266#[doc = "See [XrGraphicsBindingEGLMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingEGLMNDX) - defined by [XR_MNDX_egl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_egl_enable)"]
11267pub struct GraphicsBindingEGLMNDX {
11268 pub ty: StructureType,
11269 pub next: *const c_void,
11270 pub get_proc_address: Option<pfn::EglGetProcAddressMNDX>,
11271 pub display: EGLDisplay,
11272 pub config: EGLConfig,
11273 pub context: EGLContext,
11274}
11275impl GraphicsBindingEGLMNDX {
11276 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_EGL_MNDX;
11277}
11278#[repr(C)]
11279#[derive(Copy, Clone, Debug)]
11280#[doc = "See [XrSpatialGraphNodeSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeSpaceCreateInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11281pub struct SpatialGraphNodeSpaceCreateInfoMSFT {
11282 pub ty: StructureType,
11283 pub next: *const c_void,
11284 pub node_type: SpatialGraphNodeTypeMSFT,
11285 pub node_id: [u8; GUID_SIZE_MSFT],
11286 pub pose: Posef,
11287}
11288impl SpatialGraphNodeSpaceCreateInfoMSFT {
11289 pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT;
11290}
11291#[repr(C)]
11292#[derive(Copy, Clone, Debug)]
11293#[doc = "See [XrSpatialGraphStaticNodeBindingCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphStaticNodeBindingCreateInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11294pub struct SpatialGraphStaticNodeBindingCreateInfoMSFT {
11295 pub ty: StructureType,
11296 pub next: *const c_void,
11297 pub space: Space,
11298 pub pose_in_space: Posef,
11299 pub time: Time,
11300}
11301impl SpatialGraphStaticNodeBindingCreateInfoMSFT {
11302 pub const TYPE: StructureType =
11303 StructureType::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT;
11304}
11305#[repr(C)]
11306#[derive(Copy, Clone, Debug)]
11307#[doc = "See [XrSpatialGraphNodeBindingPropertiesGetInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingPropertiesGetInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11308pub struct SpatialGraphNodeBindingPropertiesGetInfoMSFT {
11309 pub ty: StructureType,
11310 pub next: *const c_void,
11311}
11312impl SpatialGraphNodeBindingPropertiesGetInfoMSFT {
11313 pub const TYPE: StructureType =
11314 StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT;
11315}
11316#[repr(C)]
11317#[derive(Copy, Clone, Debug)]
11318#[doc = "See [XrSpatialGraphNodeBindingPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingPropertiesMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
11319pub struct SpatialGraphNodeBindingPropertiesMSFT {
11320 pub ty: StructureType,
11321 pub next: *mut c_void,
11322 pub node_id: [u8; GUID_SIZE_MSFT],
11323 pub pose_in_node_space: Posef,
11324}
11325impl SpatialGraphNodeBindingPropertiesMSFT {
11326 pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT;
11327 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11328 #[inline]
11329 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11330 let mut x = MaybeUninit::<Self>::uninit();
11331 unsafe {
11332 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11333 ty: Self::TYPE,
11334 next,
11335 });
11336 }
11337 x
11338 }
11339}
11340#[repr(C)]
11341#[derive(Copy, Clone, Debug)]
11342#[doc = "See [XrSystemHandTrackingPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHandTrackingPropertiesEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11343pub struct SystemHandTrackingPropertiesEXT {
11344 pub ty: StructureType,
11345 pub next: *mut c_void,
11346 pub supports_hand_tracking: Bool32,
11347}
11348impl SystemHandTrackingPropertiesEXT {
11349 pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_PROPERTIES_EXT;
11350 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11351 #[inline]
11352 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11353 let mut x = MaybeUninit::<Self>::uninit();
11354 unsafe {
11355 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11356 ty: Self::TYPE,
11357 next,
11358 });
11359 }
11360 x
11361 }
11362}
11363#[repr(C)]
11364#[derive(Copy, Clone, Debug)]
11365#[doc = "See [XrHandTrackerCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackerCreateInfoEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11366pub struct HandTrackerCreateInfoEXT {
11367 pub ty: StructureType,
11368 pub next: *const c_void,
11369 pub hand: HandEXT,
11370 pub hand_joint_set: HandJointSetEXT,
11371}
11372impl HandTrackerCreateInfoEXT {
11373 pub const TYPE: StructureType = StructureType::HAND_TRACKER_CREATE_INFO_EXT;
11374}
11375#[repr(C)]
11376#[derive(Copy, Clone, Debug)]
11377#[doc = "See [XrHandJointsLocateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsLocateInfoEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11378pub struct HandJointsLocateInfoEXT {
11379 pub ty: StructureType,
11380 pub next: *const c_void,
11381 pub base_space: Space,
11382 pub time: Time,
11383}
11384impl HandJointsLocateInfoEXT {
11385 pub const TYPE: StructureType = StructureType::HAND_JOINTS_LOCATE_INFO_EXT;
11386}
11387#[repr(C)]
11388#[derive(Copy, Clone, Debug, Default, PartialEq)]
11389#[doc = "See [XrHandJointLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointLocationEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11390pub struct HandJointLocationEXT {
11391 pub location_flags: SpaceLocationFlags,
11392 pub pose: Posef,
11393 pub radius: f32,
11394}
11395#[repr(C)]
11396#[derive(Copy, Clone, Debug, Default, PartialEq)]
11397#[doc = "See [XrHandJointVelocityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointVelocityEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11398pub struct HandJointVelocityEXT {
11399 pub velocity_flags: SpaceVelocityFlags,
11400 pub linear_velocity: Vector3f,
11401 pub angular_velocity: Vector3f,
11402}
11403#[repr(C)]
11404#[derive(Copy, Clone, Debug)]
11405#[doc = "See [XrHandJointLocationsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointLocationsEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11406pub struct HandJointLocationsEXT {
11407 pub ty: StructureType,
11408 pub next: *mut c_void,
11409 pub is_active: Bool32,
11410 pub joint_count: u32,
11411 pub joint_locations: *mut HandJointLocationEXT,
11412}
11413impl HandJointLocationsEXT {
11414 pub const TYPE: StructureType = StructureType::HAND_JOINT_LOCATIONS_EXT;
11415 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11416 #[inline]
11417 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11418 let mut x = MaybeUninit::<Self>::uninit();
11419 unsafe {
11420 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11421 ty: Self::TYPE,
11422 next,
11423 });
11424 }
11425 x
11426 }
11427}
11428#[repr(C)]
11429#[derive(Copy, Clone, Debug)]
11430#[doc = "See [XrHandJointVelocitiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointVelocitiesEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
11431pub struct HandJointVelocitiesEXT {
11432 pub ty: StructureType,
11433 pub next: *mut c_void,
11434 pub joint_count: u32,
11435 pub joint_velocities: *mut HandJointVelocityEXT,
11436}
11437impl HandJointVelocitiesEXT {
11438 pub const TYPE: StructureType = StructureType::HAND_JOINT_VELOCITIES_EXT;
11439 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11440 #[inline]
11441 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11442 let mut x = MaybeUninit::<Self>::uninit();
11443 unsafe {
11444 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11445 ty: Self::TYPE,
11446 next,
11447 });
11448 }
11449 x
11450 }
11451}
11452#[repr(C)]
11453#[derive(Copy, Clone, Debug)]
11454#[doc = "See [XrSystemFaceTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingPropertiesFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11455pub struct SystemFaceTrackingPropertiesFB {
11456 pub ty: StructureType,
11457 pub next: *mut c_void,
11458 pub supports_face_tracking: Bool32,
11459}
11460impl SystemFaceTrackingPropertiesFB {
11461 pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_FB;
11462 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11463 #[inline]
11464 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11465 let mut x = MaybeUninit::<Self>::uninit();
11466 unsafe {
11467 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11468 ty: Self::TYPE,
11469 next,
11470 });
11471 }
11472 x
11473 }
11474}
11475#[repr(C)]
11476#[derive(Copy, Clone, Debug)]
11477#[doc = "See [XrFaceTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11478pub struct FaceTrackerCreateInfoFB {
11479 pub ty: StructureType,
11480 pub next: *const c_void,
11481 pub face_expression_set: FaceExpressionSetFB,
11482}
11483impl FaceTrackerCreateInfoFB {
11484 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_FB;
11485}
11486#[repr(C)]
11487#[derive(Copy, Clone, Debug)]
11488#[doc = "See [XrFaceExpressionInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionInfoFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11489pub struct FaceExpressionInfoFB {
11490 pub ty: StructureType,
11491 pub next: *const c_void,
11492 pub time: Time,
11493}
11494impl FaceExpressionInfoFB {
11495 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO_FB;
11496}
11497#[repr(C)]
11498#[derive(Copy, Clone, Debug, Default, PartialEq)]
11499#[doc = "See [XrFaceExpressionStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionStatusFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11500pub struct FaceExpressionStatusFB {
11501 pub is_valid: Bool32,
11502 pub is_eye_following_blendshapes_valid: Bool32,
11503}
11504#[repr(C)]
11505#[derive(Copy, Clone, Debug)]
11506#[doc = "See [XrFaceExpressionWeightsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionWeightsFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
11507pub struct FaceExpressionWeightsFB {
11508 pub ty: StructureType,
11509 pub next: *mut c_void,
11510 pub weight_count: u32,
11511 pub weights: *mut f32,
11512 pub confidence_count: u32,
11513 pub confidences: *mut f32,
11514 pub status: FaceExpressionStatusFB,
11515 pub time: Time,
11516}
11517impl FaceExpressionWeightsFB {
11518 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS_FB;
11519 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11520 #[inline]
11521 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11522 let mut x = MaybeUninit::<Self>::uninit();
11523 unsafe {
11524 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11525 ty: Self::TYPE,
11526 next,
11527 });
11528 }
11529 x
11530 }
11531}
11532#[repr(C)]
11533#[derive(Copy, Clone, Debug)]
11534#[doc = "See [XrSystemFaceTrackingProperties2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingProperties2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11535pub struct SystemFaceTrackingProperties2FB {
11536 pub ty: StructureType,
11537 pub next: *mut c_void,
11538 pub supports_visual_face_tracking: Bool32,
11539 pub supports_audio_face_tracking: Bool32,
11540}
11541impl SystemFaceTrackingProperties2FB {
11542 pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES2_FB;
11543 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11544 #[inline]
11545 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11546 let mut x = MaybeUninit::<Self>::uninit();
11547 unsafe {
11548 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11549 ty: Self::TYPE,
11550 next,
11551 });
11552 }
11553 x
11554 }
11555}
11556#[repr(C)]
11557#[derive(Copy, Clone, Debug)]
11558#[doc = "See [XrFaceTrackerCreateInfo2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfo2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11559pub struct FaceTrackerCreateInfo2FB {
11560 pub ty: StructureType,
11561 pub next: *const c_void,
11562 pub face_expression_set: FaceExpressionSet2FB,
11563 pub requested_data_source_count: u32,
11564 pub requested_data_sources: *mut FaceTrackingDataSource2FB,
11565}
11566impl FaceTrackerCreateInfo2FB {
11567 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO2_FB;
11568}
11569#[repr(C)]
11570#[derive(Copy, Clone, Debug)]
11571#[doc = "See [XrFaceExpressionInfo2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionInfo2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11572pub struct FaceExpressionInfo2FB {
11573 pub ty: StructureType,
11574 pub next: *const c_void,
11575 pub time: Time,
11576}
11577impl FaceExpressionInfo2FB {
11578 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO2_FB;
11579}
11580#[repr(C)]
11581#[derive(Copy, Clone, Debug)]
11582#[doc = "See [XrFaceExpressionWeights2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionWeights2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
11583pub struct FaceExpressionWeights2FB {
11584 pub ty: StructureType,
11585 pub next: *mut c_void,
11586 pub weight_count: u32,
11587 pub weights: *mut f32,
11588 pub confidence_count: u32,
11589 pub confidences: *mut f32,
11590 pub is_valid: Bool32,
11591 pub is_eye_following_blendshapes_valid: Bool32,
11592 pub data_source: FaceTrackingDataSource2FB,
11593 pub time: Time,
11594}
11595impl FaceExpressionWeights2FB {
11596 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS2_FB;
11597 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11598 #[inline]
11599 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11600 let mut x = MaybeUninit::<Self>::uninit();
11601 unsafe {
11602 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11603 ty: Self::TYPE,
11604 next,
11605 });
11606 }
11607 x
11608 }
11609}
11610#[repr(C)]
11611#[derive(Copy, Clone, Debug)]
11612#[doc = "See [XrSystemBodyTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11613pub struct SystemBodyTrackingPropertiesFB {
11614 pub ty: StructureType,
11615 pub next: *mut c_void,
11616 pub supports_body_tracking: Bool32,
11617}
11618impl SystemBodyTrackingPropertiesFB {
11619 pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_FB;
11620 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11621 #[inline]
11622 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11623 let mut x = MaybeUninit::<Self>::uninit();
11624 unsafe {
11625 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11626 ty: Self::TYPE,
11627 next,
11628 });
11629 }
11630 x
11631 }
11632}
11633#[repr(C)]
11634#[derive(Copy, Clone, Debug)]
11635#[doc = "See [XrBodyTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11636pub struct BodyTrackerCreateInfoFB {
11637 pub ty: StructureType,
11638 pub next: *const c_void,
11639 pub body_joint_set: BodyJointSetFB,
11640}
11641impl BodyTrackerCreateInfoFB {
11642 pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_FB;
11643}
11644#[repr(C)]
11645#[derive(Copy, Clone, Debug, Default, PartialEq)]
11646#[doc = "See [XrBodySkeletonJointFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonJointFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11647pub struct BodySkeletonJointFB {
11648 pub joint: i32,
11649 pub parent_joint: i32,
11650 pub pose: Posef,
11651}
11652#[repr(C)]
11653#[derive(Copy, Clone, Debug)]
11654#[doc = "See [XrBodySkeletonFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11655pub struct BodySkeletonFB {
11656 pub ty: StructureType,
11657 pub next: *mut c_void,
11658 pub joint_count: u32,
11659 pub joints: *mut BodySkeletonJointFB,
11660}
11661impl BodySkeletonFB {
11662 pub const TYPE: StructureType = StructureType::BODY_SKELETON_FB;
11663 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11664 #[inline]
11665 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11666 let mut x = MaybeUninit::<Self>::uninit();
11667 unsafe {
11668 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11669 ty: Self::TYPE,
11670 next,
11671 });
11672 }
11673 x
11674 }
11675}
11676#[repr(C)]
11677#[derive(Copy, Clone, Debug)]
11678#[doc = "See [XrBodyJointsLocateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11679pub struct BodyJointsLocateInfoFB {
11680 pub ty: StructureType,
11681 pub next: *const c_void,
11682 pub base_space: Space,
11683 pub time: Time,
11684}
11685impl BodyJointsLocateInfoFB {
11686 pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_FB;
11687}
11688#[repr(C)]
11689#[derive(Copy, Clone, Debug, Default, PartialEq)]
11690#[doc = "See [XrBodyJointLocationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11691pub struct BodyJointLocationFB {
11692 pub location_flags: SpaceLocationFlags,
11693 pub pose: Posef,
11694}
11695#[repr(C)]
11696#[derive(Copy, Clone, Debug)]
11697#[doc = "See [XrBodyJointLocationsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
11698pub struct BodyJointLocationsFB {
11699 pub ty: StructureType,
11700 pub next: *mut c_void,
11701 pub is_active: Bool32,
11702 pub confidence: f32,
11703 pub joint_count: u32,
11704 pub joint_locations: *mut BodyJointLocationFB,
11705 pub skeleton_changed_count: u32,
11706 pub time: Time,
11707}
11708impl BodyJointLocationsFB {
11709 pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_FB;
11710 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11711 #[inline]
11712 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11713 let mut x = MaybeUninit::<Self>::uninit();
11714 unsafe {
11715 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11716 ty: Self::TYPE,
11717 next,
11718 });
11719 }
11720 x
11721 }
11722}
11723#[repr(C)]
11724#[derive(Copy, Clone, Debug)]
11725#[doc = "See [XrSystemPropertiesBodyTrackingFullBodyMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingFullBodyMETA) - defined by [XR_META_body_tracking_full_body](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_full_body)"]
11726pub struct SystemPropertiesBodyTrackingFullBodyMETA {
11727 pub ty: StructureType,
11728 pub next: *mut c_void,
11729 pub supports_full_body_tracking: Bool32,
11730}
11731impl SystemPropertiesBodyTrackingFullBodyMETA {
11732 pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META;
11733 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11734 #[inline]
11735 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11736 let mut x = MaybeUninit::<Self>::uninit();
11737 unsafe {
11738 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11739 ty: Self::TYPE,
11740 next,
11741 });
11742 }
11743 x
11744 }
11745}
11746#[repr(C)]
11747#[derive(Copy, Clone, Debug)]
11748#[doc = "See [XrBodyTrackingCalibrationInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationInfoMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
11749pub struct BodyTrackingCalibrationInfoMETA {
11750 pub ty: StructureType,
11751 pub next: *const c_void,
11752 pub body_height: f32,
11753}
11754impl BodyTrackingCalibrationInfoMETA {
11755 pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_INFO_META;
11756}
11757#[repr(C)]
11758#[derive(Copy, Clone, Debug)]
11759#[doc = "See [XrBodyTrackingCalibrationStatusMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationStatusMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
11760pub struct BodyTrackingCalibrationStatusMETA {
11761 pub ty: StructureType,
11762 pub next: *mut c_void,
11763 pub status: BodyTrackingCalibrationStateMETA,
11764}
11765impl BodyTrackingCalibrationStatusMETA {
11766 pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_STATUS_META;
11767 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11768 #[inline]
11769 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11770 let mut x = MaybeUninit::<Self>::uninit();
11771 unsafe {
11772 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11773 ty: Self::TYPE,
11774 next,
11775 });
11776 }
11777 x
11778 }
11779}
11780#[repr(C)]
11781#[derive(Copy, Clone, Debug)]
11782#[doc = "See [XrSystemPropertiesBodyTrackingCalibrationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingCalibrationMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
11783pub struct SystemPropertiesBodyTrackingCalibrationMETA {
11784 pub ty: StructureType,
11785 pub next: *mut c_void,
11786 pub supports_height_override: Bool32,
11787}
11788impl SystemPropertiesBodyTrackingCalibrationMETA {
11789 pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META;
11790 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11791 #[inline]
11792 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11793 let mut x = MaybeUninit::<Self>::uninit();
11794 unsafe {
11795 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11796 ty: Self::TYPE,
11797 next,
11798 });
11799 }
11800 x
11801 }
11802}
11803#[repr(C)]
11804#[derive(Copy, Clone, Debug)]
11805#[doc = "See [XrSystemEyeTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEyeTrackingPropertiesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11806pub struct SystemEyeTrackingPropertiesFB {
11807 pub ty: StructureType,
11808 pub next: *mut c_void,
11809 pub supports_eye_tracking: Bool32,
11810}
11811impl SystemEyeTrackingPropertiesFB {
11812 pub const TYPE: StructureType = StructureType::SYSTEM_EYE_TRACKING_PROPERTIES_FB;
11813 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11814 #[inline]
11815 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11816 let mut x = MaybeUninit::<Self>::uninit();
11817 unsafe {
11818 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11819 ty: Self::TYPE,
11820 next,
11821 });
11822 }
11823 x
11824 }
11825}
11826#[repr(C)]
11827#[derive(Copy, Clone, Debug)]
11828#[doc = "See [XrEyeTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeTrackerCreateInfoFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11829pub struct EyeTrackerCreateInfoFB {
11830 pub ty: StructureType,
11831 pub next: *const c_void,
11832}
11833impl EyeTrackerCreateInfoFB {
11834 pub const TYPE: StructureType = StructureType::EYE_TRACKER_CREATE_INFO_FB;
11835}
11836#[repr(C)]
11837#[derive(Copy, Clone, Debug)]
11838#[doc = "See [XrEyeGazesInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazesInfoFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11839pub struct EyeGazesInfoFB {
11840 pub ty: StructureType,
11841 pub next: *const c_void,
11842 pub base_space: Space,
11843 pub time: Time,
11844}
11845impl EyeGazesInfoFB {
11846 pub const TYPE: StructureType = StructureType::EYE_GAZES_INFO_FB;
11847}
11848#[repr(C)]
11849#[derive(Copy, Clone, Debug, Default, PartialEq)]
11850#[doc = "See [XrEyeGazeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazeFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11851pub struct EyeGazeFB {
11852 pub is_valid: Bool32,
11853 pub gaze_pose: Posef,
11854 pub gaze_confidence: f32,
11855}
11856#[repr(C)]
11857#[derive(Copy, Clone, Debug)]
11858#[doc = "See [XrEyeGazesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
11859pub struct EyeGazesFB {
11860 pub ty: StructureType,
11861 pub next: *mut c_void,
11862 pub gaze: [EyeGazeFB; EYE_POSITION_COUNT_FB],
11863 pub time: Time,
11864}
11865impl EyeGazesFB {
11866 pub const TYPE: StructureType = StructureType::EYE_GAZES_FB;
11867 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11868 #[inline]
11869 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11870 let mut x = MaybeUninit::<Self>::uninit();
11871 unsafe {
11872 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11873 ty: Self::TYPE,
11874 next,
11875 });
11876 }
11877 x
11878 }
11879}
11880#[repr(C)]
11881#[derive(Copy, Clone, Debug)]
11882#[doc = "See [XrHandJointsMotionRangeInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsMotionRangeInfoEXT) - defined by [XR_EXT_hand_joints_motion_range](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_joints_motion_range)"]
11883pub struct HandJointsMotionRangeInfoEXT {
11884 pub ty: StructureType,
11885 pub next: *const c_void,
11886 pub hand_joints_motion_range: HandJointsMotionRangeEXT,
11887}
11888impl HandJointsMotionRangeInfoEXT {
11889 pub const TYPE: StructureType = StructureType::HAND_JOINTS_MOTION_RANGE_INFO_EXT;
11890}
11891#[repr(C)]
11892#[derive(Copy, Clone, Debug)]
11893#[doc = "See [XrHandTrackingDataSourceInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceInfoEXT) - defined by [XR_EXT_hand_tracking_data_source](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking_data_source)"]
11894pub struct HandTrackingDataSourceInfoEXT {
11895 pub ty: StructureType,
11896 pub next: *const c_void,
11897 pub requested_data_source_count: u32,
11898 pub requested_data_sources: *mut HandTrackingDataSourceEXT,
11899}
11900impl HandTrackingDataSourceInfoEXT {
11901 pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_INFO_EXT;
11902}
11903#[repr(C)]
11904#[derive(Copy, Clone, Debug)]
11905#[doc = "See [XrHandTrackingDataSourceStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceStateEXT) - defined by [XR_EXT_hand_tracking_data_source](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking_data_source)"]
11906pub struct HandTrackingDataSourceStateEXT {
11907 pub ty: StructureType,
11908 pub next: *mut c_void,
11909 pub is_active: Bool32,
11910 pub data_source: HandTrackingDataSourceEXT,
11911}
11912impl HandTrackingDataSourceStateEXT {
11913 pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_STATE_EXT;
11914 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11915 #[inline]
11916 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11917 let mut x = MaybeUninit::<Self>::uninit();
11918 unsafe {
11919 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11920 ty: Self::TYPE,
11921 next,
11922 });
11923 }
11924 x
11925 }
11926}
11927#[repr(C)]
11928#[derive(Copy, Clone, Debug)]
11929#[doc = "See [XrHandMeshSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshSpaceCreateInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11930pub struct HandMeshSpaceCreateInfoMSFT {
11931 pub ty: StructureType,
11932 pub next: *const c_void,
11933 pub hand_pose_type: HandPoseTypeMSFT,
11934 pub pose_in_hand_mesh_space: Posef,
11935}
11936impl HandMeshSpaceCreateInfoMSFT {
11937 pub const TYPE: StructureType = StructureType::HAND_MESH_SPACE_CREATE_INFO_MSFT;
11938}
11939#[repr(C)]
11940#[derive(Copy, Clone, Debug)]
11941#[doc = "See [XrHandMeshUpdateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshUpdateInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11942pub struct HandMeshUpdateInfoMSFT {
11943 pub ty: StructureType,
11944 pub next: *const c_void,
11945 pub time: Time,
11946 pub hand_pose_type: HandPoseTypeMSFT,
11947}
11948impl HandMeshUpdateInfoMSFT {
11949 pub const TYPE: StructureType = StructureType::HAND_MESH_UPDATE_INFO_MSFT;
11950}
11951#[repr(C)]
11952#[derive(Copy, Clone, Debug)]
11953#[doc = "See [XrHandMeshMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11954pub struct HandMeshMSFT {
11955 pub ty: StructureType,
11956 pub next: *mut c_void,
11957 pub is_active: Bool32,
11958 pub index_buffer_changed: Bool32,
11959 pub vertex_buffer_changed: Bool32,
11960 pub index_buffer: HandMeshIndexBufferMSFT,
11961 pub vertex_buffer: HandMeshVertexBufferMSFT,
11962}
11963impl HandMeshMSFT {
11964 pub const TYPE: StructureType = StructureType::HAND_MESH_MSFT;
11965 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11966 #[inline]
11967 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11968 let mut x = MaybeUninit::<Self>::uninit();
11969 unsafe {
11970 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11971 ty: Self::TYPE,
11972 next,
11973 });
11974 }
11975 x
11976 }
11977}
11978#[repr(C)]
11979#[derive(Copy, Clone, Debug)]
11980#[doc = "See [XrHandMeshIndexBufferMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshIndexBufferMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11981pub struct HandMeshIndexBufferMSFT {
11982 pub index_buffer_key: u32,
11983 pub index_capacity_input: u32,
11984 pub index_count_output: u32,
11985 pub indices: *mut u32,
11986}
11987#[repr(C)]
11988#[derive(Copy, Clone, Debug)]
11989#[doc = "See [XrHandMeshVertexBufferMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshVertexBufferMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11990pub struct HandMeshVertexBufferMSFT {
11991 pub vertex_update_time: Time,
11992 pub vertex_capacity_input: u32,
11993 pub vertex_count_output: u32,
11994 pub vertices: *mut HandMeshVertexMSFT,
11995}
11996#[repr(C)]
11997#[derive(Copy, Clone, Debug, Default, PartialEq)]
11998#[doc = "See [XrHandMeshVertexMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshVertexMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
11999pub struct HandMeshVertexMSFT {
12000 pub position: Vector3f,
12001 pub normal: Vector3f,
12002}
12003#[repr(C)]
12004#[derive(Copy, Clone, Debug)]
12005#[doc = "See [XrSystemHandTrackingMeshPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHandTrackingMeshPropertiesMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
12006pub struct SystemHandTrackingMeshPropertiesMSFT {
12007 pub ty: StructureType,
12008 pub next: *mut c_void,
12009 pub supports_hand_tracking_mesh: Bool32,
12010 pub max_hand_mesh_index_count: u32,
12011 pub max_hand_mesh_vertex_count: u32,
12012}
12013impl SystemHandTrackingMeshPropertiesMSFT {
12014 pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT;
12015 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12016 #[inline]
12017 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12018 let mut x = MaybeUninit::<Self>::uninit();
12019 unsafe {
12020 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12021 ty: Self::TYPE,
12022 next,
12023 });
12024 }
12025 x
12026 }
12027}
12028#[repr(C)]
12029#[derive(Copy, Clone, Debug)]
12030#[doc = "See [XrHandPoseTypeInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandPoseTypeInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
12031pub struct HandPoseTypeInfoMSFT {
12032 pub ty: StructureType,
12033 pub next: *const c_void,
12034 pub hand_pose_type: HandPoseTypeMSFT,
12035}
12036impl HandPoseTypeInfoMSFT {
12037 pub const TYPE: StructureType = StructureType::HAND_POSE_TYPE_INFO_MSFT;
12038}
12039#[repr(C)]
12040#[derive(Copy, Clone, Debug)]
12041#[doc = "See [XrSecondaryViewConfigurationSessionBeginInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationSessionBeginInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12042pub struct SecondaryViewConfigurationSessionBeginInfoMSFT {
12043 pub ty: StructureType,
12044 pub next: *const c_void,
12045 pub view_configuration_count: u32,
12046 pub enabled_view_configuration_types: *const ViewConfigurationType,
12047}
12048impl SecondaryViewConfigurationSessionBeginInfoMSFT {
12049 pub const TYPE: StructureType =
12050 StructureType::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT;
12051}
12052#[repr(C)]
12053#[derive(Copy, Clone, Debug)]
12054#[doc = "See [XrSecondaryViewConfigurationStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationStateMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12055pub struct SecondaryViewConfigurationStateMSFT {
12056 pub ty: StructureType,
12057 pub next: *mut c_void,
12058 pub view_configuration_type: ViewConfigurationType,
12059 pub active: Bool32,
12060}
12061impl SecondaryViewConfigurationStateMSFT {
12062 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT;
12063 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12064 #[inline]
12065 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12066 let mut x = MaybeUninit::<Self>::uninit();
12067 unsafe {
12068 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12069 ty: Self::TYPE,
12070 next,
12071 });
12072 }
12073 x
12074 }
12075}
12076#[repr(C)]
12077#[derive(Copy, Clone, Debug)]
12078#[doc = "See [XrSecondaryViewConfigurationFrameStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationFrameStateMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12079pub struct SecondaryViewConfigurationFrameStateMSFT {
12080 pub ty: StructureType,
12081 pub next: *mut c_void,
12082 pub view_configuration_count: u32,
12083 pub view_configuration_states: *mut SecondaryViewConfigurationStateMSFT,
12084}
12085impl SecondaryViewConfigurationFrameStateMSFT {
12086 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT;
12087 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12088 #[inline]
12089 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12090 let mut x = MaybeUninit::<Self>::uninit();
12091 unsafe {
12092 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12093 ty: Self::TYPE,
12094 next,
12095 });
12096 }
12097 x
12098 }
12099}
12100#[repr(C)]
12101#[derive(Copy, Clone, Debug)]
12102#[doc = "See [XrSecondaryViewConfigurationFrameEndInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationFrameEndInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12103pub struct SecondaryViewConfigurationFrameEndInfoMSFT {
12104 pub ty: StructureType,
12105 pub next: *const c_void,
12106 pub view_configuration_count: u32,
12107 pub view_configuration_layers_info: *const SecondaryViewConfigurationLayerInfoMSFT,
12108}
12109impl SecondaryViewConfigurationFrameEndInfoMSFT {
12110 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT;
12111}
12112#[repr(C)]
12113#[derive(Copy, Clone, Debug)]
12114#[doc = "See [XrSecondaryViewConfigurationLayerInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationLayerInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12115pub struct SecondaryViewConfigurationLayerInfoMSFT {
12116 pub ty: StructureType,
12117 pub next: *const c_void,
12118 pub view_configuration_type: ViewConfigurationType,
12119 pub environment_blend_mode: EnvironmentBlendMode,
12120 pub layer_count: u32,
12121 pub layers: *const *const CompositionLayerBaseHeader,
12122}
12123impl SecondaryViewConfigurationLayerInfoMSFT {
12124 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT;
12125}
12126#[repr(C)]
12127#[derive(Copy, Clone, Debug)]
12128#[doc = "See [XrSecondaryViewConfigurationSwapchainCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationSwapchainCreateInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
12129pub struct SecondaryViewConfigurationSwapchainCreateInfoMSFT {
12130 pub ty: StructureType,
12131 pub next: *const c_void,
12132 pub view_configuration_type: ViewConfigurationType,
12133}
12134impl SecondaryViewConfigurationSwapchainCreateInfoMSFT {
12135 pub const TYPE: StructureType =
12136 StructureType::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT;
12137}
12138#[repr(C)]
12139#[derive(Copy, Clone, Debug)]
12140#[doc = "See [XrHolographicWindowAttachmentMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHolographicWindowAttachmentMSFT) - defined by [XR_MSFT_holographic_window_attachment](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_holographic_window_attachment)"]
12141#[cfg(windows)]
12142pub struct HolographicWindowAttachmentMSFT {
12143 pub ty: StructureType,
12144 pub next: *const c_void,
12145 pub holographic_space: *mut IUnknown,
12146 pub core_window: *mut IUnknown,
12147}
12148#[cfg(windows)]
12149impl HolographicWindowAttachmentMSFT {
12150 pub const TYPE: StructureType = StructureType::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT;
12151}
12152#[repr(C)]
12153#[derive(Copy, Clone, Debug)]
12154#[doc = "See [XrAndroidSurfaceSwapchainCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidSurfaceSwapchainCreateInfoFB) - defined by [XR_FB_android_surface_swapchain_create](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_android_surface_swapchain_create)"]
12155#[cfg(target_os = "android")]
12156pub struct AndroidSurfaceSwapchainCreateInfoFB {
12157 pub ty: StructureType,
12158 pub next: *const c_void,
12159 pub create_flags: AndroidSurfaceSwapchainFlagsFB,
12160}
12161#[cfg(target_os = "android")]
12162impl AndroidSurfaceSwapchainCreateInfoFB {
12163 pub const TYPE: StructureType = StructureType::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB;
12164}
12165#[repr(C)]
12166#[derive(Copy, Clone, Debug)]
12167#[doc = "See [XrSwapchainStateBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateBaseHeaderFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
12168pub struct SwapchainStateBaseHeaderFB {
12169 pub ty: StructureType,
12170 pub next: *mut c_void,
12171}
12172#[repr(C)]
12173#[derive(Copy, Clone, Debug)]
12174#[doc = "See [XrSwapchainStateAndroidSurfaceDimensionsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateAndroidSurfaceDimensionsFB) - defined by [XR_FB_swapchain_update_state_android_surface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_android_surface)"]
12175#[cfg(target_os = "android")]
12176pub struct SwapchainStateAndroidSurfaceDimensionsFB {
12177 pub ty: StructureType,
12178 pub next: *mut c_void,
12179 pub width: u32,
12180 pub height: u32,
12181}
12182#[cfg(target_os = "android")]
12183impl SwapchainStateAndroidSurfaceDimensionsFB {
12184 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB;
12185 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12186 #[inline]
12187 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12188 let mut x = MaybeUninit::<Self>::uninit();
12189 unsafe {
12190 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12191 ty: Self::TYPE,
12192 next,
12193 });
12194 }
12195 x
12196 }
12197}
12198#[repr(C)]
12199#[derive(Copy, Clone, Debug)]
12200#[doc = "See [XrSwapchainStateSamplerOpenGLESFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateSamplerOpenGLESFB) - defined by [XR_FB_swapchain_update_state_opengl_es](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_opengl_es)"]
12201pub struct SwapchainStateSamplerOpenGLESFB {
12202 pub ty: StructureType,
12203 pub next: *mut c_void,
12204 pub min_filter: EGLenum,
12205 pub mag_filter: EGLenum,
12206 pub wrap_mode_s: EGLenum,
12207 pub wrap_mode_t: EGLenum,
12208 pub swizzle_red: EGLenum,
12209 pub swizzle_green: EGLenum,
12210 pub swizzle_blue: EGLenum,
12211 pub swizzle_alpha: EGLenum,
12212 pub max_anisotropy: f32,
12213 pub border_color: Color4f,
12214}
12215impl SwapchainStateSamplerOpenGLESFB {
12216 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB;
12217 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12218 #[inline]
12219 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12220 let mut x = MaybeUninit::<Self>::uninit();
12221 unsafe {
12222 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12223 ty: Self::TYPE,
12224 next,
12225 });
12226 }
12227 x
12228 }
12229}
12230#[repr(C)]
12231#[derive(Copy, Clone, Debug)]
12232#[doc = "See [XrSwapchainStateSamplerVulkanFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateSamplerVulkanFB) - defined by [XR_FB_swapchain_update_state_vulkan](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_vulkan)"]
12233pub struct SwapchainStateSamplerVulkanFB {
12234 pub ty: StructureType,
12235 pub next: *mut c_void,
12236 pub min_filter: VkFilter,
12237 pub mag_filter: VkFilter,
12238 pub mipmap_mode: VkSamplerMipmapMode,
12239 pub wrap_mode_s: VkSamplerAddressMode,
12240 pub wrap_mode_t: VkSamplerAddressMode,
12241 pub swizzle_red: VkComponentSwizzle,
12242 pub swizzle_green: VkComponentSwizzle,
12243 pub swizzle_blue: VkComponentSwizzle,
12244 pub swizzle_alpha: VkComponentSwizzle,
12245 pub max_anisotropy: f32,
12246 pub border_color: Color4f,
12247}
12248impl SwapchainStateSamplerVulkanFB {
12249 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB;
12250 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12251 #[inline]
12252 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12253 let mut x = MaybeUninit::<Self>::uninit();
12254 unsafe {
12255 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12256 ty: Self::TYPE,
12257 next,
12258 });
12259 }
12260 x
12261 }
12262}
12263#[repr(C)]
12264#[derive(Copy, Clone, Debug)]
12265#[doc = "See [XrCompositionLayerSecureContentFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSecureContentFB) - defined by [XR_FB_composition_layer_secure_content](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_secure_content)"]
12266pub struct CompositionLayerSecureContentFB {
12267 pub ty: StructureType,
12268 pub next: *const c_void,
12269 pub flags: CompositionLayerSecureContentFlagsFB,
12270}
12271impl CompositionLayerSecureContentFB {
12272 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SECURE_CONTENT_FB;
12273}
12274#[repr(C)]
12275#[derive(Copy, Clone, Debug)]
12276#[doc = "See [XrLoaderInitInfoBaseHeaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoBaseHeaderKHR) - defined by [XR_KHR_loader_init](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init)"]
12277pub struct LoaderInitInfoBaseHeaderKHR {
12278 pub ty: StructureType,
12279 pub next: *const c_void,
12280}
12281#[repr(C)]
12282#[derive(Copy, Clone, Debug)]
12283#[doc = "See [XrLoaderInitInfoAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoAndroidKHR) - defined by [XR_KHR_loader_init_android](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init_android)"]
12284#[cfg(target_os = "android")]
12285pub struct LoaderInitInfoAndroidKHR {
12286 pub ty: StructureType,
12287 pub next: *const c_void,
12288 pub application_vm: *mut c_void,
12289 pub application_context: *mut c_void,
12290}
12291#[cfg(target_os = "android")]
12292impl LoaderInitInfoAndroidKHR {
12293 pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_ANDROID_KHR;
12294}
12295#[repr(C)]
12296#[derive(Copy, Clone, Debug)]
12297#[doc = "See [XrCompositionLayerEquirect2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerEquirect2KHR) - defined by [XR_KHR_composition_layer_equirect2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_equirect2)"]
12298pub struct CompositionLayerEquirect2KHR {
12299 pub ty: StructureType,
12300 pub next: *const c_void,
12301 pub layer_flags: CompositionLayerFlags,
12302 pub space: Space,
12303 pub eye_visibility: EyeVisibility,
12304 pub sub_image: SwapchainSubImage,
12305 pub pose: Posef,
12306 pub radius: f32,
12307 pub central_horizontal_angle: f32,
12308 pub upper_vertical_angle: f32,
12309 pub lower_vertical_angle: f32,
12310}
12311impl CompositionLayerEquirect2KHR {
12312 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT2_KHR;
12313}
12314#[repr(C)]
12315#[derive(Copy, Clone, Debug)]
12316#[doc = "See [XrCompositionLayerColorScaleBiasKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerColorScaleBiasKHR) - defined by [XR_KHR_composition_layer_color_scale_bias](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_color_scale_bias)"]
12317pub struct CompositionLayerColorScaleBiasKHR {
12318 pub ty: StructureType,
12319 pub next: *const c_void,
12320 pub color_scale: Color4f,
12321 pub color_bias: Color4f,
12322}
12323impl CompositionLayerColorScaleBiasKHR {
12324 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR;
12325}
12326#[repr(C)]
12327#[derive(Copy, Clone, Debug)]
12328#[doc = "See [XrControllerModelKeyStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelKeyStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12329pub struct ControllerModelKeyStateMSFT {
12330 pub ty: StructureType,
12331 pub next: *mut c_void,
12332 pub model_key: ControllerModelKeyMSFT,
12333}
12334impl ControllerModelKeyStateMSFT {
12335 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_KEY_STATE_MSFT;
12336 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12337 #[inline]
12338 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12339 let mut x = MaybeUninit::<Self>::uninit();
12340 unsafe {
12341 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12342 ty: Self::TYPE,
12343 next,
12344 });
12345 }
12346 x
12347 }
12348}
12349#[repr(C)]
12350#[derive(Copy, Clone, Debug)]
12351#[doc = "See [XrControllerModelNodePropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelNodePropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12352pub struct ControllerModelNodePropertiesMSFT {
12353 pub ty: StructureType,
12354 pub next: *mut c_void,
12355 pub parent_node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
12356 pub node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
12357}
12358impl ControllerModelNodePropertiesMSFT {
12359 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT;
12360 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12361 #[inline]
12362 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12363 let mut x = MaybeUninit::<Self>::uninit();
12364 unsafe {
12365 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12366 ty: Self::TYPE,
12367 next,
12368 });
12369 }
12370 x
12371 }
12372}
12373#[repr(C)]
12374#[derive(Copy, Clone, Debug)]
12375#[doc = "See [XrControllerModelPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelPropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12376pub struct ControllerModelPropertiesMSFT {
12377 pub ty: StructureType,
12378 pub next: *mut c_void,
12379 pub node_capacity_input: u32,
12380 pub node_count_output: u32,
12381 pub node_properties: *mut ControllerModelNodePropertiesMSFT,
12382}
12383impl ControllerModelPropertiesMSFT {
12384 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_PROPERTIES_MSFT;
12385 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12386 #[inline]
12387 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12388 let mut x = MaybeUninit::<Self>::uninit();
12389 unsafe {
12390 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12391 ty: Self::TYPE,
12392 next,
12393 });
12394 }
12395 x
12396 }
12397}
12398#[repr(C)]
12399#[derive(Copy, Clone, Debug)]
12400#[doc = "See [XrControllerModelNodeStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelNodeStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12401pub struct ControllerModelNodeStateMSFT {
12402 pub ty: StructureType,
12403 pub next: *mut c_void,
12404 pub node_pose: Posef,
12405}
12406impl ControllerModelNodeStateMSFT {
12407 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_STATE_MSFT;
12408 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12409 #[inline]
12410 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12411 let mut x = MaybeUninit::<Self>::uninit();
12412 unsafe {
12413 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12414 ty: Self::TYPE,
12415 next,
12416 });
12417 }
12418 x
12419 }
12420}
12421#[repr(C)]
12422#[derive(Copy, Clone, Debug)]
12423#[doc = "See [XrControllerModelStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
12424pub struct ControllerModelStateMSFT {
12425 pub ty: StructureType,
12426 pub next: *mut c_void,
12427 pub node_capacity_input: u32,
12428 pub node_count_output: u32,
12429 pub node_states: *mut ControllerModelNodeStateMSFT,
12430}
12431impl ControllerModelStateMSFT {
12432 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_STATE_MSFT;
12433 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12434 #[inline]
12435 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12436 let mut x = MaybeUninit::<Self>::uninit();
12437 unsafe {
12438 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12439 ty: Self::TYPE,
12440 next,
12441 });
12442 }
12443 x
12444 }
12445}
12446#[repr(C)]
12447#[derive(Copy, Clone, Debug)]
12448#[doc = "See [XrSystemColorSpacePropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemColorSpacePropertiesFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
12449pub struct SystemColorSpacePropertiesFB {
12450 pub ty: StructureType,
12451 pub next: *mut c_void,
12452 pub color_space: ColorSpaceFB,
12453}
12454impl SystemColorSpacePropertiesFB {
12455 pub const TYPE: StructureType = StructureType::SYSTEM_COLOR_SPACE_PROPERTIES_FB;
12456 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12457 #[inline]
12458 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12459 let mut x = MaybeUninit::<Self>::uninit();
12460 unsafe {
12461 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12462 ty: Self::TYPE,
12463 next,
12464 });
12465 }
12466 x
12467 }
12468}
12469#[repr(C)]
12470#[derive(Copy, Clone, Debug)]
12471#[doc = "See [XrSystemSpatialEntityPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntityPropertiesFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12472pub struct SystemSpatialEntityPropertiesFB {
12473 pub ty: StructureType,
12474 pub next: *const c_void,
12475 pub supports_spatial_entity: Bool32,
12476}
12477impl SystemSpatialEntityPropertiesFB {
12478 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB;
12479}
12480#[repr(C)]
12481#[derive(Copy, Clone, Debug)]
12482#[doc = "See [XrSpatialAnchorCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12483pub struct SpatialAnchorCreateInfoFB {
12484 pub ty: StructureType,
12485 pub next: *const c_void,
12486 pub space: Space,
12487 pub pose_in_space: Posef,
12488 pub time: Time,
12489}
12490impl SpatialAnchorCreateInfoFB {
12491 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_FB;
12492}
12493#[repr(C)]
12494#[derive(Copy, Clone, Debug)]
12495#[doc = "See [XrSpaceComponentStatusSetInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentStatusSetInfoFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12496pub struct SpaceComponentStatusSetInfoFB {
12497 pub ty: StructureType,
12498 pub next: *const c_void,
12499 pub component_type: SpaceComponentTypeFB,
12500 pub enabled: Bool32,
12501 pub timeout: Duration,
12502}
12503impl SpaceComponentStatusSetInfoFB {
12504 pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_SET_INFO_FB;
12505}
12506#[repr(C)]
12507#[derive(Copy, Clone, Debug)]
12508#[doc = "See [XrSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12509pub struct SpaceComponentStatusFB {
12510 pub ty: StructureType,
12511 pub next: *mut c_void,
12512 pub enabled: Bool32,
12513 pub change_pending: Bool32,
12514}
12515impl SpaceComponentStatusFB {
12516 pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_FB;
12517 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12518 #[inline]
12519 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12520 let mut x = MaybeUninit::<Self>::uninit();
12521 unsafe {
12522 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12523 ty: Self::TYPE,
12524 next,
12525 });
12526 }
12527 x
12528 }
12529}
12530#[repr(C)]
12531#[derive(Copy, Clone, Debug)]
12532#[doc = "See [XrEventDataSpatialAnchorCreateCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpatialAnchorCreateCompleteFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12533pub struct EventDataSpatialAnchorCreateCompleteFB {
12534 pub ty: StructureType,
12535 pub next: *const c_void,
12536 pub request_id: AsyncRequestIdFB,
12537 pub result: Result,
12538 pub space: Space,
12539 pub uuid: UuidEXT,
12540}
12541impl EventDataSpatialAnchorCreateCompleteFB {
12542 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB;
12543}
12544#[repr(C)]
12545#[derive(Copy, Clone, Debug)]
12546#[doc = "See [XrEventDataSpaceSetStatusCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceSetStatusCompleteFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
12547pub struct EventDataSpaceSetStatusCompleteFB {
12548 pub ty: StructureType,
12549 pub next: *const c_void,
12550 pub request_id: AsyncRequestIdFB,
12551 pub result: Result,
12552 pub space: Space,
12553 pub uuid: UuidEXT,
12554 pub component_type: SpaceComponentTypeFB,
12555 pub enabled: Bool32,
12556}
12557impl EventDataSpaceSetStatusCompleteFB {
12558 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB;
12559}
12560#[repr(C)]
12561#[derive(Copy, Clone, Debug)]
12562#[doc = "See [XrFoveationProfileCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationProfileCreateInfoFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
12563pub struct FoveationProfileCreateInfoFB {
12564 pub ty: StructureType,
12565 pub next: *mut c_void,
12566}
12567impl FoveationProfileCreateInfoFB {
12568 pub const TYPE: StructureType = StructureType::FOVEATION_PROFILE_CREATE_INFO_FB;
12569 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12570 #[inline]
12571 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12572 let mut x = MaybeUninit::<Self>::uninit();
12573 unsafe {
12574 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12575 ty: Self::TYPE,
12576 next,
12577 });
12578 }
12579 x
12580 }
12581}
12582#[repr(C)]
12583#[derive(Copy, Clone, Debug)]
12584#[doc = "See [XrSwapchainCreateInfoFoveationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateInfoFoveationFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
12585pub struct SwapchainCreateInfoFoveationFB {
12586 pub ty: StructureType,
12587 pub next: *mut c_void,
12588 pub flags: SwapchainCreateFoveationFlagsFB,
12589}
12590impl SwapchainCreateInfoFoveationFB {
12591 pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO_FOVEATION_FB;
12592 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12593 #[inline]
12594 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12595 let mut x = MaybeUninit::<Self>::uninit();
12596 unsafe {
12597 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12598 ty: Self::TYPE,
12599 next,
12600 });
12601 }
12602 x
12603 }
12604}
12605#[repr(C)]
12606#[derive(Copy, Clone, Debug)]
12607#[doc = "See [XrSwapchainStateFoveationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateFoveationFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
12608pub struct SwapchainStateFoveationFB {
12609 pub ty: StructureType,
12610 pub next: *mut c_void,
12611 pub flags: SwapchainStateFoveationFlagsFB,
12612 pub profile: FoveationProfileFB,
12613}
12614impl SwapchainStateFoveationFB {
12615 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_FOVEATION_FB;
12616 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12617 #[inline]
12618 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12619 let mut x = MaybeUninit::<Self>::uninit();
12620 unsafe {
12621 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12622 ty: Self::TYPE,
12623 next,
12624 });
12625 }
12626 x
12627 }
12628}
12629#[repr(C)]
12630#[derive(Copy, Clone, Debug)]
12631#[doc = "See [XrSwapchainImageFoveationVulkanFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageFoveationVulkanFB) - defined by [XR_FB_foveation_vulkan](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation_vulkan)"]
12632pub struct SwapchainImageFoveationVulkanFB {
12633 pub ty: StructureType,
12634 pub next: *mut c_void,
12635 pub image: VkImage,
12636 pub width: u32,
12637 pub height: u32,
12638}
12639impl SwapchainImageFoveationVulkanFB {
12640 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB;
12641 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12642 #[inline]
12643 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12644 let mut x = MaybeUninit::<Self>::uninit();
12645 unsafe {
12646 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12647 ty: Self::TYPE,
12648 next,
12649 });
12650 }
12651 x
12652 }
12653}
12654#[repr(C)]
12655#[derive(Copy, Clone, Debug)]
12656#[doc = "See [XrFoveationLevelProfileCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelProfileCreateInfoFB) - defined by [XR_FB_foveation_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation_configuration)"]
12657pub struct FoveationLevelProfileCreateInfoFB {
12658 pub ty: StructureType,
12659 pub next: *mut c_void,
12660 pub level: FoveationLevelFB,
12661 pub vertical_offset: f32,
12662 pub dynamic: FoveationDynamicFB,
12663}
12664impl FoveationLevelProfileCreateInfoFB {
12665 pub const TYPE: StructureType = StructureType::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB;
12666 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12667 #[inline]
12668 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12669 let mut x = MaybeUninit::<Self>::uninit();
12670 unsafe {
12671 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12672 ty: Self::TYPE,
12673 next,
12674 });
12675 }
12676 x
12677 }
12678}
12679#[repr(C)]
12680#[derive(Copy, Clone, Debug)]
12681#[doc = "See [XrFoveationEyeTrackedProfileCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedProfileCreateInfoMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
12682pub struct FoveationEyeTrackedProfileCreateInfoMETA {
12683 pub ty: StructureType,
12684 pub next: *const c_void,
12685 pub flags: FoveationEyeTrackedProfileCreateFlagsMETA,
12686}
12687impl FoveationEyeTrackedProfileCreateInfoMETA {
12688 pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META;
12689}
12690#[repr(C)]
12691#[derive(Copy, Clone, Debug)]
12692#[doc = "See [XrFoveationEyeTrackedStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedStateMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
12693pub struct FoveationEyeTrackedStateMETA {
12694 pub ty: StructureType,
12695 pub next: *mut c_void,
12696 pub foveation_center: [Vector2f; FOVEATION_CENTER_SIZE_META],
12697 pub flags: FoveationEyeTrackedStateFlagsMETA,
12698}
12699impl FoveationEyeTrackedStateMETA {
12700 pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_STATE_META;
12701 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12702 #[inline]
12703 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12704 let mut x = MaybeUninit::<Self>::uninit();
12705 unsafe {
12706 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12707 ty: Self::TYPE,
12708 next,
12709 });
12710 }
12711 x
12712 }
12713}
12714#[repr(C)]
12715#[derive(Copy, Clone, Debug)]
12716#[doc = "See [XrSystemFoveationEyeTrackedPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFoveationEyeTrackedPropertiesMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
12717pub struct SystemFoveationEyeTrackedPropertiesMETA {
12718 pub ty: StructureType,
12719 pub next: *mut c_void,
12720 pub supports_foveation_eye_tracked: Bool32,
12721}
12722impl SystemFoveationEyeTrackedPropertiesMETA {
12723 pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META;
12724 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12725 #[inline]
12726 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12727 let mut x = MaybeUninit::<Self>::uninit();
12728 unsafe {
12729 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12730 ty: Self::TYPE,
12731 next,
12732 });
12733 }
12734 x
12735 }
12736}
12737#[repr(C)]
12738#[derive(Copy, Clone, Debug, Default, PartialEq)]
12739#[doc = "See [XrVector4sFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector4sFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
12740pub struct Vector4sFB {
12741 pub x: i16,
12742 pub y: i16,
12743 pub z: i16,
12744 pub w: i16,
12745}
12746#[repr(C)]
12747#[derive(Copy, Clone, Debug)]
12748#[doc = "See [XrHandTrackingMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingMeshFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
12749pub struct HandTrackingMeshFB {
12750 pub ty: StructureType,
12751 pub next: *mut c_void,
12752 pub joint_capacity_input: u32,
12753 pub joint_count_output: u32,
12754 pub joint_bind_poses: *mut Posef,
12755 pub joint_radii: *mut f32,
12756 pub joint_parents: *mut HandJointEXT,
12757 pub vertex_capacity_input: u32,
12758 pub vertex_count_output: u32,
12759 pub vertex_positions: *mut Vector3f,
12760 pub vertex_normals: *mut Vector3f,
12761 pub vertex_u_vs: *mut Vector2f,
12762 pub vertex_blend_indices: *mut Vector4sFB,
12763 pub vertex_blend_weights: *mut Vector4f,
12764 pub index_capacity_input: u32,
12765 pub index_count_output: u32,
12766 pub indices: *mut i16,
12767}
12768impl HandTrackingMeshFB {
12769 pub const TYPE: StructureType = StructureType::HAND_TRACKING_MESH_FB;
12770 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12771 #[inline]
12772 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12773 let mut x = MaybeUninit::<Self>::uninit();
12774 unsafe {
12775 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12776 ty: Self::TYPE,
12777 next,
12778 });
12779 }
12780 x
12781 }
12782}
12783#[repr(C)]
12784#[derive(Copy, Clone, Debug)]
12785#[doc = "See [XrHandTrackingScaleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingScaleFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
12786pub struct HandTrackingScaleFB {
12787 pub ty: StructureType,
12788 pub next: *mut c_void,
12789 pub sensor_output: f32,
12790 pub current_output: f32,
12791 pub override_hand_scale: Bool32,
12792 pub override_value_input: f32,
12793}
12794impl HandTrackingScaleFB {
12795 pub const TYPE: StructureType = StructureType::HAND_TRACKING_SCALE_FB;
12796 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12797 #[inline]
12798 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12799 let mut x = MaybeUninit::<Self>::uninit();
12800 unsafe {
12801 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12802 ty: Self::TYPE,
12803 next,
12804 });
12805 }
12806 x
12807 }
12808}
12809#[repr(C)]
12810#[derive(Copy, Clone, Debug)]
12811#[doc = "See [XrHandTrackingAimStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingAimStateFB) - defined by [XR_FB_hand_tracking_aim](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_aim)"]
12812pub struct HandTrackingAimStateFB {
12813 pub ty: StructureType,
12814 pub next: *mut c_void,
12815 pub status: HandTrackingAimFlagsFB,
12816 pub aim_pose: Posef,
12817 pub pinch_strength_index: f32,
12818 pub pinch_strength_middle: f32,
12819 pub pinch_strength_ring: f32,
12820 pub pinch_strength_little: f32,
12821}
12822impl HandTrackingAimStateFB {
12823 pub const TYPE: StructureType = StructureType::HAND_TRACKING_AIM_STATE_FB;
12824 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12825 #[inline]
12826 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12827 let mut x = MaybeUninit::<Self>::uninit();
12828 unsafe {
12829 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12830 ty: Self::TYPE,
12831 next,
12832 });
12833 }
12834 x
12835 }
12836}
12837#[repr(C)]
12838#[derive(Copy, Clone, Debug)]
12839#[doc = "See [XrHandCapsuleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandCapsuleFB) - defined by [XR_FB_hand_tracking_capsules](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_capsules)"]
12840pub struct HandCapsuleFB {
12841 pub points: [Vector3f; HAND_TRACKING_CAPSULE_POINT_COUNT_FB],
12842 pub radius: f32,
12843 pub joint: HandJointEXT,
12844}
12845#[repr(C)]
12846#[derive(Copy, Clone, Debug)]
12847#[doc = "See [XrHandTrackingCapsulesStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingCapsulesStateFB) - defined by [XR_FB_hand_tracking_capsules](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_capsules)"]
12848pub struct HandTrackingCapsulesStateFB {
12849 pub ty: StructureType,
12850 pub next: *mut c_void,
12851 pub capsules: [HandCapsuleFB; HAND_TRACKING_CAPSULE_COUNT_FB],
12852}
12853impl HandTrackingCapsulesStateFB {
12854 pub const TYPE: StructureType = StructureType::HAND_TRACKING_CAPSULES_STATE_FB;
12855 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12856 #[inline]
12857 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12858 let mut x = MaybeUninit::<Self>::uninit();
12859 unsafe {
12860 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12861 ty: Self::TYPE,
12862 next,
12863 });
12864 }
12865 x
12866 }
12867}
12868#[repr(C)]
12869#[derive(Copy, Clone, Debug)]
12870#[doc = "See [XrRenderModelPathInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPathInfoFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12871pub struct RenderModelPathInfoFB {
12872 pub ty: StructureType,
12873 pub next: *mut c_void,
12874 pub path: Path,
12875}
12876impl RenderModelPathInfoFB {
12877 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PATH_INFO_FB;
12878 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12879 #[inline]
12880 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12881 let mut x = MaybeUninit::<Self>::uninit();
12882 unsafe {
12883 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12884 ty: Self::TYPE,
12885 next,
12886 });
12887 }
12888 x
12889 }
12890}
12891#[repr(C)]
12892#[derive(Copy, Clone, Debug)]
12893#[doc = "See [XrRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12894pub struct RenderModelPropertiesFB {
12895 pub ty: StructureType,
12896 pub next: *mut c_void,
12897 pub vendor_id: u32,
12898 pub model_name: [c_char; MAX_RENDER_MODEL_NAME_SIZE_FB],
12899 pub model_key: RenderModelKeyFB,
12900 pub model_version: u32,
12901 pub flags: RenderModelFlagsFB,
12902}
12903impl RenderModelPropertiesFB {
12904 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_FB;
12905 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12906 #[inline]
12907 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12908 let mut x = MaybeUninit::<Self>::uninit();
12909 unsafe {
12910 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12911 ty: Self::TYPE,
12912 next,
12913 });
12914 }
12915 x
12916 }
12917}
12918#[repr(C)]
12919#[derive(Copy, Clone, Debug)]
12920#[doc = "See [XrRenderModelCapabilitiesRequestFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelCapabilitiesRequestFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12921pub struct RenderModelCapabilitiesRequestFB {
12922 pub ty: StructureType,
12923 pub next: *mut c_void,
12924 pub flags: RenderModelFlagsFB,
12925}
12926impl RenderModelCapabilitiesRequestFB {
12927 pub const TYPE: StructureType = StructureType::RENDER_MODEL_CAPABILITIES_REQUEST_FB;
12928 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12929 #[inline]
12930 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12931 let mut x = MaybeUninit::<Self>::uninit();
12932 unsafe {
12933 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12934 ty: Self::TYPE,
12935 next,
12936 });
12937 }
12938 x
12939 }
12940}
12941#[repr(C)]
12942#[derive(Copy, Clone, Debug)]
12943#[doc = "See [XrRenderModelBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelBufferFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12944pub struct RenderModelBufferFB {
12945 pub ty: StructureType,
12946 pub next: *mut c_void,
12947 pub buffer_capacity_input: u32,
12948 pub buffer_count_output: u32,
12949 pub buffer: *mut u8,
12950}
12951impl RenderModelBufferFB {
12952 pub const TYPE: StructureType = StructureType::RENDER_MODEL_BUFFER_FB;
12953 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12954 #[inline]
12955 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12956 let mut x = MaybeUninit::<Self>::uninit();
12957 unsafe {
12958 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12959 ty: Self::TYPE,
12960 next,
12961 });
12962 }
12963 x
12964 }
12965}
12966#[repr(C)]
12967#[derive(Copy, Clone, Debug)]
12968#[doc = "See [XrRenderModelLoadInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelLoadInfoFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12969pub struct RenderModelLoadInfoFB {
12970 pub ty: StructureType,
12971 pub next: *mut c_void,
12972 pub model_key: RenderModelKeyFB,
12973}
12974impl RenderModelLoadInfoFB {
12975 pub const TYPE: StructureType = StructureType::RENDER_MODEL_LOAD_INFO_FB;
12976 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12977 #[inline]
12978 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12979 let mut x = MaybeUninit::<Self>::uninit();
12980 unsafe {
12981 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12982 ty: Self::TYPE,
12983 next,
12984 });
12985 }
12986 x
12987 }
12988}
12989#[repr(C)]
12990#[derive(Copy, Clone, Debug)]
12991#[doc = "See [XrSystemRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
12992pub struct SystemRenderModelPropertiesFB {
12993 pub ty: StructureType,
12994 pub next: *mut c_void,
12995 pub supports_render_model_loading: Bool32,
12996}
12997impl SystemRenderModelPropertiesFB {
12998 pub const TYPE: StructureType = StructureType::SYSTEM_RENDER_MODEL_PROPERTIES_FB;
12999 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13000 #[inline]
13001 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13002 let mut x = MaybeUninit::<Self>::uninit();
13003 unsafe {
13004 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13005 ty: Self::TYPE,
13006 next,
13007 });
13008 }
13009 x
13010 }
13011}
13012#[repr(C)]
13013#[derive(Copy, Clone, Debug)]
13014#[doc = "See [XrSpaceQueryInfoBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryInfoBaseHeaderFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13015pub struct SpaceQueryInfoBaseHeaderFB {
13016 pub ty: StructureType,
13017 pub next: *const c_void,
13018}
13019#[repr(C)]
13020#[derive(Copy, Clone, Debug)]
13021#[doc = "See [XrSpaceFilterInfoBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterInfoBaseHeaderFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13022pub struct SpaceFilterInfoBaseHeaderFB {
13023 pub ty: StructureType,
13024 pub next: *const c_void,
13025}
13026#[repr(C)]
13027#[derive(Copy, Clone, Debug)]
13028#[doc = "See [XrSpaceQueryInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13029pub struct SpaceQueryInfoFB {
13030 pub ty: StructureType,
13031 pub next: *const c_void,
13032 pub query_action: SpaceQueryActionFB,
13033 pub max_result_count: u32,
13034 pub timeout: Duration,
13035 pub filter: *const SpaceFilterInfoBaseHeaderFB,
13036 pub exclude_filter: *const SpaceFilterInfoBaseHeaderFB,
13037}
13038impl SpaceQueryInfoFB {
13039 pub const TYPE: StructureType = StructureType::SPACE_QUERY_INFO_FB;
13040}
13041#[repr(C)]
13042#[derive(Copy, Clone, Debug)]
13043#[doc = "See [XrSpaceStorageLocationFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceStorageLocationFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13044pub struct SpaceStorageLocationFilterInfoFB {
13045 pub ty: StructureType,
13046 pub next: *const c_void,
13047 pub location: SpaceStorageLocationFB,
13048}
13049impl SpaceStorageLocationFilterInfoFB {
13050 pub const TYPE: StructureType = StructureType::SPACE_STORAGE_LOCATION_FILTER_INFO_FB;
13051}
13052#[repr(C)]
13053#[derive(Copy, Clone, Debug)]
13054#[doc = "See [XrSpaceUuidFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUuidFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13055pub struct SpaceUuidFilterInfoFB {
13056 pub ty: StructureType,
13057 pub next: *const c_void,
13058 pub uuid_count: u32,
13059 pub uuids: *mut UuidEXT,
13060}
13061impl SpaceUuidFilterInfoFB {
13062 pub const TYPE: StructureType = StructureType::SPACE_UUID_FILTER_INFO_FB;
13063}
13064#[repr(C)]
13065#[derive(Copy, Clone, Debug)]
13066#[doc = "See [XrSpaceComponentFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13067pub struct SpaceComponentFilterInfoFB {
13068 pub ty: StructureType,
13069 pub next: *const c_void,
13070 pub component_type: SpaceComponentTypeFB,
13071}
13072impl SpaceComponentFilterInfoFB {
13073 pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_FILTER_INFO_FB;
13074}
13075#[repr(C)]
13076#[derive(Copy, Clone, Debug)]
13077#[doc = "See [XrSpaceQueryResultFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryResultFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13078pub struct SpaceQueryResultFB {
13079 pub space: Space,
13080 pub uuid: UuidEXT,
13081}
13082#[repr(C)]
13083#[derive(Copy, Clone, Debug)]
13084#[doc = "See [XrSpaceQueryResultsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryResultsFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13085pub struct SpaceQueryResultsFB {
13086 pub ty: StructureType,
13087 pub next: *mut c_void,
13088 pub result_capacity_input: u32,
13089 pub result_count_output: u32,
13090 pub results: *mut SpaceQueryResultFB,
13091}
13092impl SpaceQueryResultsFB {
13093 pub const TYPE: StructureType = StructureType::SPACE_QUERY_RESULTS_FB;
13094 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13095 #[inline]
13096 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13097 let mut x = MaybeUninit::<Self>::uninit();
13098 unsafe {
13099 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13100 ty: Self::TYPE,
13101 next,
13102 });
13103 }
13104 x
13105 }
13106}
13107#[repr(C)]
13108#[derive(Copy, Clone, Debug)]
13109#[doc = "See [XrEventDataSpaceQueryResultsAvailableFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceQueryResultsAvailableFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13110pub struct EventDataSpaceQueryResultsAvailableFB {
13111 pub ty: StructureType,
13112 pub next: *const c_void,
13113 pub request_id: AsyncRequestIdFB,
13114}
13115impl EventDataSpaceQueryResultsAvailableFB {
13116 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB;
13117}
13118#[repr(C)]
13119#[derive(Copy, Clone, Debug)]
13120#[doc = "See [XrEventDataSpaceQueryCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceQueryCompleteFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
13121pub struct EventDataSpaceQueryCompleteFB {
13122 pub ty: StructureType,
13123 pub next: *const c_void,
13124 pub request_id: AsyncRequestIdFB,
13125 pub result: Result,
13126}
13127impl EventDataSpaceQueryCompleteFB {
13128 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_COMPLETE_FB;
13129}
13130#[repr(C)]
13131#[derive(Copy, Clone, Debug)]
13132#[doc = "See [XrSpaceSaveInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceSaveInfoFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13133pub struct SpaceSaveInfoFB {
13134 pub ty: StructureType,
13135 pub next: *const c_void,
13136 pub space: Space,
13137 pub location: SpaceStorageLocationFB,
13138 pub persistence_mode: SpacePersistenceModeFB,
13139}
13140impl SpaceSaveInfoFB {
13141 pub const TYPE: StructureType = StructureType::SPACE_SAVE_INFO_FB;
13142}
13143#[repr(C)]
13144#[derive(Copy, Clone, Debug)]
13145#[doc = "See [XrSpaceEraseInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceEraseInfoFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13146pub struct SpaceEraseInfoFB {
13147 pub ty: StructureType,
13148 pub next: *const c_void,
13149 pub space: Space,
13150 pub location: SpaceStorageLocationFB,
13151}
13152impl SpaceEraseInfoFB {
13153 pub const TYPE: StructureType = StructureType::SPACE_ERASE_INFO_FB;
13154}
13155#[repr(C)]
13156#[derive(Copy, Clone, Debug)]
13157#[doc = "See [XrEventDataSpaceSaveCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceSaveCompleteFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13158pub struct EventDataSpaceSaveCompleteFB {
13159 pub ty: StructureType,
13160 pub next: *const c_void,
13161 pub request_id: AsyncRequestIdFB,
13162 pub result: Result,
13163 pub space: Space,
13164 pub uuid: UuidEXT,
13165 pub location: SpaceStorageLocationFB,
13166}
13167impl EventDataSpaceSaveCompleteFB {
13168 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SAVE_COMPLETE_FB;
13169}
13170#[repr(C)]
13171#[derive(Copy, Clone, Debug)]
13172#[doc = "See [XrEventDataSpaceEraseCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceEraseCompleteFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
13173pub struct EventDataSpaceEraseCompleteFB {
13174 pub ty: StructureType,
13175 pub next: *const c_void,
13176 pub request_id: AsyncRequestIdFB,
13177 pub result: Result,
13178 pub space: Space,
13179 pub uuid: UuidEXT,
13180 pub location: SpaceStorageLocationFB,
13181}
13182impl EventDataSpaceEraseCompleteFB {
13183 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_ERASE_COMPLETE_FB;
13184}
13185#[repr(C)]
13186#[derive(Copy, Clone, Debug)]
13187#[doc = "See [XrSpaceShareInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceShareInfoFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
13188pub struct SpaceShareInfoFB {
13189 pub ty: StructureType,
13190 pub next: *const c_void,
13191 pub space_count: u32,
13192 pub spaces: *mut Space,
13193 pub user_count: u32,
13194 pub users: *mut SpaceUserFB,
13195}
13196impl SpaceShareInfoFB {
13197 pub const TYPE: StructureType = StructureType::SPACE_SHARE_INFO_FB;
13198}
13199#[repr(C)]
13200#[derive(Copy, Clone, Debug)]
13201#[doc = "See [XrEventDataSpaceShareCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceShareCompleteFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
13202pub struct EventDataSpaceShareCompleteFB {
13203 pub ty: StructureType,
13204 pub next: *const c_void,
13205 pub request_id: AsyncRequestIdFB,
13206 pub result: Result,
13207}
13208impl EventDataSpaceShareCompleteFB {
13209 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SHARE_COMPLETE_FB;
13210}
13211#[repr(C)]
13212#[derive(Copy, Clone, Debug)]
13213#[doc = "See [XrSpaceListSaveInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceListSaveInfoFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
13214pub struct SpaceListSaveInfoFB {
13215 pub ty: StructureType,
13216 pub next: *const c_void,
13217 pub space_count: u32,
13218 pub spaces: *mut Space,
13219 pub location: SpaceStorageLocationFB,
13220}
13221impl SpaceListSaveInfoFB {
13222 pub const TYPE: StructureType = StructureType::SPACE_LIST_SAVE_INFO_FB;
13223}
13224#[repr(C)]
13225#[derive(Copy, Clone, Debug)]
13226#[doc = "See [XrEventDataSpaceListSaveCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceListSaveCompleteFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
13227pub struct EventDataSpaceListSaveCompleteFB {
13228 pub ty: StructureType,
13229 pub next: *const c_void,
13230 pub request_id: AsyncRequestIdFB,
13231 pub result: Result,
13232}
13233impl EventDataSpaceListSaveCompleteFB {
13234 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB;
13235}
13236#[repr(C)]
13237#[derive(Copy, Clone, Debug)]
13238#[doc = "See [XrSpaceContainerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceContainerFB) - defined by [XR_FB_spatial_entity_container](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_container)"]
13239pub struct SpaceContainerFB {
13240 pub ty: StructureType,
13241 pub next: *const c_void,
13242 pub uuid_capacity_input: u32,
13243 pub uuid_count_output: u32,
13244 pub uuids: *mut UuidEXT,
13245}
13246impl SpaceContainerFB {
13247 pub const TYPE: StructureType = StructureType::SPACE_CONTAINER_FB;
13248}
13249#[repr(C)]
13250#[derive(Copy, Clone, Debug)]
13251#[doc = "See [XrSpaceTriangleMeshGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceTriangleMeshGetInfoMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
13252pub struct SpaceTriangleMeshGetInfoMETA {
13253 pub ty: StructureType,
13254 pub next: *const c_void,
13255}
13256impl SpaceTriangleMeshGetInfoMETA {
13257 pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_GET_INFO_META;
13258}
13259#[repr(C)]
13260#[derive(Copy, Clone, Debug)]
13261#[doc = "See [XrSpaceTriangleMeshMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceTriangleMeshMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
13262pub struct SpaceTriangleMeshMETA {
13263 pub ty: StructureType,
13264 pub next: *mut c_void,
13265 pub vertex_capacity_input: u32,
13266 pub vertex_count_output: u32,
13267 pub vertices: *mut Vector3f,
13268 pub index_capacity_input: u32,
13269 pub index_count_output: u32,
13270 pub indices: *mut u32,
13271}
13272impl SpaceTriangleMeshMETA {
13273 pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_META;
13274 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13275 #[inline]
13276 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13277 let mut x = MaybeUninit::<Self>::uninit();
13278 unsafe {
13279 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13280 ty: Self::TYPE,
13281 next,
13282 });
13283 }
13284 x
13285 }
13286}
13287#[repr(C)]
13288#[derive(Copy, Clone, Debug, Default, PartialEq)]
13289#[doc = "See [XrOffset3DfFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset3DfFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13290pub struct Offset3DfFB {
13291 pub x: f32,
13292 pub y: f32,
13293 pub z: f32,
13294}
13295#[repr(C)]
13296#[derive(Copy, Clone, Debug, Default, PartialEq)]
13297#[doc = "See [XrRect3DfFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect3DfFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13298pub struct Rect3DfFB {
13299 pub offset: Offset3DfFB,
13300 pub extent: Extent3DfFB,
13301}
13302#[repr(C)]
13303#[derive(Copy, Clone, Debug)]
13304#[doc = "See [XrSemanticLabelsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13305pub struct SemanticLabelsFB {
13306 pub ty: StructureType,
13307 pub next: *const c_void,
13308 pub buffer_capacity_input: u32,
13309 pub buffer_count_output: u32,
13310 pub buffer: *mut c_char,
13311}
13312impl SemanticLabelsFB {
13313 pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_FB;
13314}
13315#[repr(C)]
13316#[derive(Copy, Clone, Debug)]
13317#[doc = "See [XrRoomLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRoomLayoutFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13318pub struct RoomLayoutFB {
13319 pub ty: StructureType,
13320 pub next: *const c_void,
13321 pub floor_uuid: UuidEXT,
13322 pub ceiling_uuid: UuidEXT,
13323 pub wall_uuid_capacity_input: u32,
13324 pub wall_uuid_count_output: u32,
13325 pub wall_uuids: *mut UuidEXT,
13326}
13327impl RoomLayoutFB {
13328 pub const TYPE: StructureType = StructureType::ROOM_LAYOUT_FB;
13329}
13330#[repr(C)]
13331#[derive(Copy, Clone, Debug)]
13332#[doc = "See [XrBoundary2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoundary2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13333pub struct Boundary2DFB {
13334 pub ty: StructureType,
13335 pub next: *const c_void,
13336 pub vertex_capacity_input: u32,
13337 pub vertex_count_output: u32,
13338 pub vertices: *mut Vector2f,
13339}
13340impl Boundary2DFB {
13341 pub const TYPE: StructureType = StructureType::BOUNDARY_2D_FB;
13342}
13343#[repr(C)]
13344#[derive(Copy, Clone, Debug)]
13345#[doc = "See [XrSemanticLabelsSupportInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsSupportInfoFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
13346pub struct SemanticLabelsSupportInfoFB {
13347 pub ty: StructureType,
13348 pub next: *const c_void,
13349 pub flags: SemanticLabelsSupportFlagsFB,
13350 pub recognized_labels: *const c_char,
13351}
13352impl SemanticLabelsSupportInfoFB {
13353 pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_SUPPORT_INFO_FB;
13354}
13355#[repr(C)]
13356#[derive(Copy, Clone, Debug)]
13357#[doc = "See [XrSceneCaptureRequestInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneCaptureRequestInfoFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
13358pub struct SceneCaptureRequestInfoFB {
13359 pub ty: StructureType,
13360 pub next: *const c_void,
13361 pub request_byte_count: u32,
13362 pub request: *const c_char,
13363}
13364impl SceneCaptureRequestInfoFB {
13365 pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_REQUEST_INFO_FB;
13366}
13367#[repr(C)]
13368#[derive(Copy, Clone, Debug)]
13369#[doc = "See [XrEventDataSceneCaptureCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSceneCaptureCompleteFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
13370pub struct EventDataSceneCaptureCompleteFB {
13371 pub ty: StructureType,
13372 pub next: *const c_void,
13373 pub request_id: AsyncRequestIdFB,
13374 pub result: Result,
13375}
13376impl EventDataSceneCaptureCompleteFB {
13377 pub const TYPE: StructureType = StructureType::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB;
13378}
13379#[repr(C)]
13380#[derive(Copy, Clone, Debug)]
13381#[doc = "See [XrSystemKeyboardTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemKeyboardTrackingPropertiesFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13382pub struct SystemKeyboardTrackingPropertiesFB {
13383 pub ty: StructureType,
13384 pub next: *mut c_void,
13385 pub supports_keyboard_tracking: Bool32,
13386}
13387impl SystemKeyboardTrackingPropertiesFB {
13388 pub const TYPE: StructureType = StructureType::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB;
13389 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13390 #[inline]
13391 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13392 let mut x = MaybeUninit::<Self>::uninit();
13393 unsafe {
13394 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13395 ty: Self::TYPE,
13396 next,
13397 });
13398 }
13399 x
13400 }
13401}
13402#[repr(C)]
13403#[derive(Copy, Clone, Debug)]
13404#[doc = "See [XrKeyboardTrackingDescriptionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingDescriptionFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13405pub struct KeyboardTrackingDescriptionFB {
13406 pub tracked_keyboard_id: u64,
13407 pub size: Vector3f,
13408 pub flags: KeyboardTrackingFlagsFB,
13409 pub name: [c_char; MAX_KEYBOARD_TRACKING_NAME_SIZE_FB],
13410}
13411#[repr(C)]
13412#[derive(Copy, Clone, Debug)]
13413#[doc = "See [XrKeyboardSpaceCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardSpaceCreateInfoFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13414pub struct KeyboardSpaceCreateInfoFB {
13415 pub ty: StructureType,
13416 pub next: *mut c_void,
13417 pub tracked_keyboard_id: u64,
13418}
13419impl KeyboardSpaceCreateInfoFB {
13420 pub const TYPE: StructureType = StructureType::KEYBOARD_SPACE_CREATE_INFO_FB;
13421 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13422 #[inline]
13423 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13424 let mut x = MaybeUninit::<Self>::uninit();
13425 unsafe {
13426 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13427 ty: Self::TYPE,
13428 next,
13429 });
13430 }
13431 x
13432 }
13433}
13434#[repr(C)]
13435#[derive(Copy, Clone, Debug)]
13436#[doc = "See [XrKeyboardTrackingQueryFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingQueryFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
13437pub struct KeyboardTrackingQueryFB {
13438 pub ty: StructureType,
13439 pub next: *mut c_void,
13440 pub flags: KeyboardTrackingQueryFlagsFB,
13441}
13442impl KeyboardTrackingQueryFB {
13443 pub const TYPE: StructureType = StructureType::KEYBOARD_TRACKING_QUERY_FB;
13444 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13445 #[inline]
13446 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13447 let mut x = MaybeUninit::<Self>::uninit();
13448 unsafe {
13449 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13450 ty: Self::TYPE,
13451 next,
13452 });
13453 }
13454 x
13455 }
13456}
13457#[repr(C)]
13458#[derive(Copy, Clone, Debug)]
13459#[doc = "See [XrSystemColocationDiscoveryPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemColocationDiscoveryPropertiesMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13460pub struct SystemColocationDiscoveryPropertiesMETA {
13461 pub ty: StructureType,
13462 pub next: *mut c_void,
13463 pub supports_colocation_discovery: Bool32,
13464}
13465impl SystemColocationDiscoveryPropertiesMETA {
13466 pub const TYPE: StructureType = StructureType::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META;
13467 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13468 #[inline]
13469 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13470 let mut x = MaybeUninit::<Self>::uninit();
13471 unsafe {
13472 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13473 ty: Self::TYPE,
13474 next,
13475 });
13476 }
13477 x
13478 }
13479}
13480#[repr(C)]
13481#[derive(Copy, Clone, Debug)]
13482#[doc = "See [XrColocationAdvertisementStartInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationAdvertisementStartInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13483pub struct ColocationAdvertisementStartInfoMETA {
13484 pub ty: StructureType,
13485 pub next: *const c_void,
13486 pub buffer_size: u32,
13487 pub buffer: *mut u8,
13488}
13489impl ColocationAdvertisementStartInfoMETA {
13490 pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_START_INFO_META;
13491}
13492#[repr(C)]
13493#[derive(Copy, Clone, Debug)]
13494#[doc = "See [XrColocationAdvertisementStopInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationAdvertisementStopInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13495pub struct ColocationAdvertisementStopInfoMETA {
13496 pub ty: StructureType,
13497 pub next: *const c_void,
13498}
13499impl ColocationAdvertisementStopInfoMETA {
13500 pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_STOP_INFO_META;
13501}
13502#[repr(C)]
13503#[derive(Copy, Clone, Debug)]
13504#[doc = "See [XrColocationDiscoveryStartInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationDiscoveryStartInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13505pub struct ColocationDiscoveryStartInfoMETA {
13506 pub ty: StructureType,
13507 pub next: *const c_void,
13508}
13509impl ColocationDiscoveryStartInfoMETA {
13510 pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_START_INFO_META;
13511}
13512#[repr(C)]
13513#[derive(Copy, Clone, Debug)]
13514#[doc = "See [XrColocationDiscoveryStopInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationDiscoveryStopInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13515pub struct ColocationDiscoveryStopInfoMETA {
13516 pub ty: StructureType,
13517 pub next: *const c_void,
13518}
13519impl ColocationDiscoveryStopInfoMETA {
13520 pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_STOP_INFO_META;
13521}
13522#[repr(C)]
13523#[derive(Copy, Clone, Debug)]
13524#[doc = "See [XrEventDataStartColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStartColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13525pub struct EventDataStartColocationAdvertisementCompleteMETA {
13526 pub ty: StructureType,
13527 pub next: *const c_void,
13528 pub advertisement_request_id: AsyncRequestIdFB,
13529 pub result: Result,
13530 pub advertisement_uuid: Uuid,
13531}
13532impl EventDataStartColocationAdvertisementCompleteMETA {
13533 pub const TYPE: StructureType =
13534 StructureType::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META;
13535}
13536#[repr(C)]
13537#[derive(Copy, Clone, Debug)]
13538#[doc = "See [XrEventDataColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13539pub struct EventDataColocationAdvertisementCompleteMETA {
13540 pub ty: StructureType,
13541 pub next: *const c_void,
13542 pub advertisement_request_id: AsyncRequestIdFB,
13543 pub result: Result,
13544}
13545impl EventDataColocationAdvertisementCompleteMETA {
13546 pub const TYPE: StructureType =
13547 StructureType::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META;
13548}
13549#[repr(C)]
13550#[derive(Copy, Clone, Debug)]
13551#[doc = "See [XrEventDataStopColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStopColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13552pub struct EventDataStopColocationAdvertisementCompleteMETA {
13553 pub ty: StructureType,
13554 pub next: *const c_void,
13555 pub request_id: AsyncRequestIdFB,
13556 pub result: Result,
13557}
13558impl EventDataStopColocationAdvertisementCompleteMETA {
13559 pub const TYPE: StructureType =
13560 StructureType::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META;
13561}
13562#[repr(C)]
13563#[derive(Copy, Clone, Debug)]
13564#[doc = "See [XrEventDataStartColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStartColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13565pub struct EventDataStartColocationDiscoveryCompleteMETA {
13566 pub ty: StructureType,
13567 pub next: *const c_void,
13568 pub discovery_request_id: AsyncRequestIdFB,
13569 pub result: Result,
13570}
13571impl EventDataStartColocationDiscoveryCompleteMETA {
13572 pub const TYPE: StructureType =
13573 StructureType::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META;
13574}
13575#[repr(C)]
13576#[derive(Copy, Clone, Debug)]
13577#[doc = "See [XrEventDataColocationDiscoveryResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationDiscoveryResultMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13578pub struct EventDataColocationDiscoveryResultMETA {
13579 pub ty: StructureType,
13580 pub next: *const c_void,
13581 pub discovery_request_id: AsyncRequestIdFB,
13582 pub advertisement_uuid: Uuid,
13583 pub buffer_size: u32,
13584 pub buffer: [u8; MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META],
13585}
13586impl EventDataColocationDiscoveryResultMETA {
13587 pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META;
13588}
13589#[repr(C)]
13590#[derive(Copy, Clone, Debug)]
13591#[doc = "See [XrEventDataColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13592pub struct EventDataColocationDiscoveryCompleteMETA {
13593 pub ty: StructureType,
13594 pub next: *const c_void,
13595 pub discovery_request_id: AsyncRequestIdFB,
13596 pub result: Result,
13597}
13598impl EventDataColocationDiscoveryCompleteMETA {
13599 pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META;
13600}
13601#[repr(C)]
13602#[derive(Copy, Clone, Debug)]
13603#[doc = "See [XrEventDataStopColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStopColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
13604pub struct EventDataStopColocationDiscoveryCompleteMETA {
13605 pub ty: StructureType,
13606 pub next: *const c_void,
13607 pub request_id: AsyncRequestIdFB,
13608 pub result: Result,
13609}
13610impl EventDataStopColocationDiscoveryCompleteMETA {
13611 pub const TYPE: StructureType =
13612 StructureType::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META;
13613}
13614#[repr(C)]
13615#[derive(Copy, Clone, Debug)]
13616#[doc = "See [XrSystemSpatialEntitySharingPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntitySharingPropertiesMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13617pub struct SystemSpatialEntitySharingPropertiesMETA {
13618 pub ty: StructureType,
13619 pub next: *mut c_void,
13620 pub supports_spatial_entity_sharing: Bool32,
13621}
13622impl SystemSpatialEntitySharingPropertiesMETA {
13623 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META;
13624 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13625 #[inline]
13626 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13627 let mut x = MaybeUninit::<Self>::uninit();
13628 unsafe {
13629 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13630 ty: Self::TYPE,
13631 next,
13632 });
13633 }
13634 x
13635 }
13636}
13637#[repr(C)]
13638#[derive(Copy, Clone, Debug)]
13639#[doc = "See [XrShareSpacesRecipientBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesRecipientBaseHeaderMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13640pub struct ShareSpacesRecipientBaseHeaderMETA {
13641 pub ty: StructureType,
13642 pub next: *const c_void,
13643}
13644#[repr(C)]
13645#[derive(Copy, Clone, Debug)]
13646#[doc = "See [XrShareSpacesInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesInfoMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13647pub struct ShareSpacesInfoMETA {
13648 pub ty: StructureType,
13649 pub next: *const c_void,
13650 pub space_count: u32,
13651 pub spaces: *mut Space,
13652 pub recipient_info: *const ShareSpacesRecipientBaseHeaderMETA,
13653}
13654impl ShareSpacesInfoMETA {
13655 pub const TYPE: StructureType = StructureType::SHARE_SPACES_INFO_META;
13656}
13657#[repr(C)]
13658#[derive(Copy, Clone, Debug)]
13659#[doc = "See [XrEventDataShareSpacesCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataShareSpacesCompleteMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
13660pub struct EventDataShareSpacesCompleteMETA {
13661 pub ty: StructureType,
13662 pub next: *const c_void,
13663 pub request_id: AsyncRequestIdFB,
13664 pub result: Result,
13665}
13666impl EventDataShareSpacesCompleteMETA {
13667 pub const TYPE: StructureType = StructureType::EVENT_DATA_SHARE_SPACES_COMPLETE_META;
13668}
13669#[repr(C)]
13670#[derive(Copy, Clone, Debug)]
13671#[doc = "See [XrShareSpacesRecipientGroupsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesRecipientGroupsMETA)"]
13672pub struct ShareSpacesRecipientGroupsMETA {
13673 pub ty: StructureType,
13674 pub next: *const c_void,
13675 pub group_count: u32,
13676 pub groups: *mut Uuid,
13677}
13678impl ShareSpacesRecipientGroupsMETA {
13679 pub const TYPE: StructureType = StructureType::SHARE_SPACES_RECIPIENT_GROUPS_META;
13680}
13681#[repr(C)]
13682#[derive(Copy, Clone, Debug)]
13683#[doc = "See [XrSpaceGroupUuidFilterInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceGroupUuidFilterInfoMETA)"]
13684pub struct SpaceGroupUuidFilterInfoMETA {
13685 pub ty: StructureType,
13686 pub next: *const c_void,
13687 pub group_uuid: Uuid,
13688}
13689impl SpaceGroupUuidFilterInfoMETA {
13690 pub const TYPE: StructureType = StructureType::SPACE_GROUP_UUID_FILTER_INFO_META;
13691}
13692#[repr(C)]
13693#[derive(Copy, Clone, Debug)]
13694#[doc = "See [XrSystemSpatialEntityGroupSharingPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntityGroupSharingPropertiesMETA) - defined by [XR_META_spatial_entity_group_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_group_sharing)"]
13695pub struct SystemSpatialEntityGroupSharingPropertiesMETA {
13696 pub ty: StructureType,
13697 pub next: *mut c_void,
13698 pub supports_spatial_entity_group_sharing: Bool32,
13699}
13700impl SystemSpatialEntityGroupSharingPropertiesMETA {
13701 pub const TYPE: StructureType =
13702 StructureType::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META;
13703 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13704 #[inline]
13705 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13706 let mut x = MaybeUninit::<Self>::uninit();
13707 unsafe {
13708 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13709 ty: Self::TYPE,
13710 next,
13711 });
13712 }
13713 x
13714 }
13715}
13716#[repr(C)]
13717#[derive(Copy, Clone, Debug)]
13718#[doc = "See [XrCompositionLayerDepthTestVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthTestVARJO) - defined by [XR_VARJO_composition_layer_depth_test](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_composition_layer_depth_test)"]
13719pub struct CompositionLayerDepthTestVARJO {
13720 pub ty: StructureType,
13721 pub next: *const c_void,
13722 pub depth_test_range_near_z: f32,
13723 pub depth_test_range_far_z: f32,
13724}
13725impl CompositionLayerDepthTestVARJO {
13726 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_VARJO;
13727}
13728#[repr(C)]
13729#[derive(Copy, Clone, Debug)]
13730#[doc = "See [XrViewLocateFoveatedRenderingVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewLocateFoveatedRenderingVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
13731pub struct ViewLocateFoveatedRenderingVARJO {
13732 pub ty: StructureType,
13733 pub next: *const c_void,
13734 pub foveated_rendering_active: Bool32,
13735}
13736impl ViewLocateFoveatedRenderingVARJO {
13737 pub const TYPE: StructureType = StructureType::VIEW_LOCATE_FOVEATED_RENDERING_VARJO;
13738}
13739#[repr(C)]
13740#[derive(Copy, Clone, Debug)]
13741#[doc = "See [XrFoveatedViewConfigurationViewVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveatedViewConfigurationViewVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
13742pub struct FoveatedViewConfigurationViewVARJO {
13743 pub ty: StructureType,
13744 pub next: *mut c_void,
13745 pub foveated_rendering_active: Bool32,
13746}
13747impl FoveatedViewConfigurationViewVARJO {
13748 pub const TYPE: StructureType = StructureType::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO;
13749 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13750 #[inline]
13751 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13752 let mut x = MaybeUninit::<Self>::uninit();
13753 unsafe {
13754 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13755 ty: Self::TYPE,
13756 next,
13757 });
13758 }
13759 x
13760 }
13761}
13762#[repr(C)]
13763#[derive(Copy, Clone, Debug)]
13764#[doc = "See [XrSystemFoveatedRenderingPropertiesVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFoveatedRenderingPropertiesVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
13765pub struct SystemFoveatedRenderingPropertiesVARJO {
13766 pub ty: StructureType,
13767 pub next: *mut c_void,
13768 pub supports_foveated_rendering: Bool32,
13769}
13770impl SystemFoveatedRenderingPropertiesVARJO {
13771 pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO;
13772 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13773 #[inline]
13774 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13775 let mut x = MaybeUninit::<Self>::uninit();
13776 unsafe {
13777 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13778 ty: Self::TYPE,
13779 next,
13780 });
13781 }
13782 x
13783 }
13784}
13785#[repr(C)]
13786#[derive(Copy, Clone, Debug)]
13787#[doc = "See [XrCompositionLayerReprojectionInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerReprojectionInfoMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
13788pub struct CompositionLayerReprojectionInfoMSFT {
13789 pub ty: StructureType,
13790 pub next: *const c_void,
13791 pub reprojection_mode: ReprojectionModeMSFT,
13792}
13793impl CompositionLayerReprojectionInfoMSFT {
13794 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT;
13795}
13796#[repr(C)]
13797#[derive(Copy, Clone, Debug)]
13798#[doc = "See [XrCompositionLayerReprojectionPlaneOverrideMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerReprojectionPlaneOverrideMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
13799pub struct CompositionLayerReprojectionPlaneOverrideMSFT {
13800 pub ty: StructureType,
13801 pub next: *const c_void,
13802 pub position: Vector3f,
13803 pub normal: Vector3f,
13804 pub velocity: Vector3f,
13805}
13806impl CompositionLayerReprojectionPlaneOverrideMSFT {
13807 pub const TYPE: StructureType =
13808 StructureType::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT;
13809}
13810#[repr(C)]
13811#[derive(Copy, Clone, Debug)]
13812#[doc = "See [XrTriangleMeshCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshCreateInfoFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
13813pub struct TriangleMeshCreateInfoFB {
13814 pub ty: StructureType,
13815 pub next: *const c_void,
13816 pub flags: TriangleMeshFlagsFB,
13817 pub winding_order: WindingOrderFB,
13818 pub vertex_count: u32,
13819 pub vertex_buffer: *const Vector3f,
13820 pub triangle_count: u32,
13821 pub index_buffer: *const u32,
13822}
13823impl TriangleMeshCreateInfoFB {
13824 pub const TYPE: StructureType = StructureType::TRIANGLE_MESH_CREATE_INFO_FB;
13825}
13826#[repr(C)]
13827#[derive(Copy, Clone, Debug)]
13828#[doc = "See [XrSystemPassthroughPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughPropertiesFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13829pub struct SystemPassthroughPropertiesFB {
13830 pub ty: StructureType,
13831 pub next: *const c_void,
13832 pub supports_passthrough: Bool32,
13833}
13834impl SystemPassthroughPropertiesFB {
13835 pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES_FB;
13836}
13837#[repr(C)]
13838#[derive(Copy, Clone, Debug)]
13839#[doc = "See [XrSystemPassthroughProperties2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughProperties2FB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13840pub struct SystemPassthroughProperties2FB {
13841 pub ty: StructureType,
13842 pub next: *const c_void,
13843 pub capabilities: PassthroughCapabilityFlagsFB,
13844}
13845impl SystemPassthroughProperties2FB {
13846 pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES2_FB;
13847}
13848#[repr(C)]
13849#[derive(Copy, Clone, Debug)]
13850#[doc = "See [XrPassthroughCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13851pub struct PassthroughCreateInfoFB {
13852 pub ty: StructureType,
13853 pub next: *const c_void,
13854 pub flags: PassthroughFlagsFB,
13855}
13856impl PassthroughCreateInfoFB {
13857 pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_FB;
13858}
13859#[repr(C)]
13860#[derive(Copy, Clone, Debug)]
13861#[doc = "See [XrPassthroughLayerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13862pub struct PassthroughLayerCreateInfoFB {
13863 pub ty: StructureType,
13864 pub next: *const c_void,
13865 pub passthrough: PassthroughFB,
13866 pub flags: PassthroughFlagsFB,
13867 pub purpose: PassthroughLayerPurposeFB,
13868}
13869impl PassthroughLayerCreateInfoFB {
13870 pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_CREATE_INFO_FB;
13871}
13872#[repr(C)]
13873#[derive(Copy, Clone, Debug)]
13874#[doc = "See [XrCompositionLayerPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13875pub struct CompositionLayerPassthroughFB {
13876 pub ty: StructureType,
13877 pub next: *const c_void,
13878 pub flags: CompositionLayerFlags,
13879 pub space: Space,
13880 pub layer_handle: PassthroughLayerFB,
13881}
13882impl CompositionLayerPassthroughFB {
13883 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_FB;
13884}
13885#[repr(C)]
13886#[derive(Copy, Clone, Debug)]
13887#[doc = "See [XrGeometryInstanceCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13888pub struct GeometryInstanceCreateInfoFB {
13889 pub ty: StructureType,
13890 pub next: *const c_void,
13891 pub layer: PassthroughLayerFB,
13892 pub mesh: TriangleMeshFB,
13893 pub base_space: Space,
13894 pub pose: Posef,
13895 pub scale: Vector3f,
13896}
13897impl GeometryInstanceCreateInfoFB {
13898 pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_CREATE_INFO_FB;
13899}
13900#[repr(C)]
13901#[derive(Copy, Clone, Debug)]
13902#[doc = "See [XrGeometryInstanceTransformFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceTransformFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13903pub struct GeometryInstanceTransformFB {
13904 pub ty: StructureType,
13905 pub next: *const c_void,
13906 pub base_space: Space,
13907 pub time: Time,
13908 pub pose: Posef,
13909 pub scale: Vector3f,
13910}
13911impl GeometryInstanceTransformFB {
13912 pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_TRANSFORM_FB;
13913}
13914#[repr(C)]
13915#[derive(Copy, Clone, Debug)]
13916#[doc = "See [XrPassthroughStyleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughStyleFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13917pub struct PassthroughStyleFB {
13918 pub ty: StructureType,
13919 pub next: *const c_void,
13920 pub texture_opacity_factor: f32,
13921 pub edge_color: Color4f,
13922}
13923impl PassthroughStyleFB {
13924 pub const TYPE: StructureType = StructureType::PASSTHROUGH_STYLE_FB;
13925}
13926#[repr(C)]
13927#[derive(Copy, Clone, Debug)]
13928#[doc = "See [XrPassthroughColorMapMonoToRgbaFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapMonoToRgbaFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13929pub struct PassthroughColorMapMonoToRgbaFB {
13930 pub ty: StructureType,
13931 pub next: *const c_void,
13932 pub texture_color_map: [Color4f; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
13933}
13934impl PassthroughColorMapMonoToRgbaFB {
13935 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB;
13936}
13937#[repr(C)]
13938#[derive(Copy, Clone, Debug)]
13939#[doc = "See [XrPassthroughColorMapMonoToMonoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapMonoToMonoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13940pub struct PassthroughColorMapMonoToMonoFB {
13941 pub ty: StructureType,
13942 pub next: *const c_void,
13943 pub texture_color_map: [u8; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
13944}
13945impl PassthroughColorMapMonoToMonoFB {
13946 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB;
13947}
13948#[repr(C)]
13949#[derive(Copy, Clone, Debug)]
13950#[doc = "See [XrPassthroughBrightnessContrastSaturationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughBrightnessContrastSaturationFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13951pub struct PassthroughBrightnessContrastSaturationFB {
13952 pub ty: StructureType,
13953 pub next: *const c_void,
13954 pub brightness: f32,
13955 pub contrast: f32,
13956 pub saturation: f32,
13957}
13958impl PassthroughBrightnessContrastSaturationFB {
13959 pub const TYPE: StructureType = StructureType::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB;
13960}
13961#[repr(C)]
13962#[derive(Copy, Clone, Debug)]
13963#[doc = "See [XrEventDataPassthroughStateChangedFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPassthroughStateChangedFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
13964pub struct EventDataPassthroughStateChangedFB {
13965 pub ty: StructureType,
13966 pub next: *const c_void,
13967 pub flags: PassthroughStateChangedFlagsFB,
13968}
13969impl EventDataPassthroughStateChangedFB {
13970 pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB;
13971}
13972#[repr(C)]
13973#[derive(Copy, Clone, Debug)]
13974#[doc = "See [XrPassthroughKeyboardHandsIntensityFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughKeyboardHandsIntensityFB) - defined by [XR_FB_passthrough_keyboard_hands](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough_keyboard_hands)"]
13975pub struct PassthroughKeyboardHandsIntensityFB {
13976 pub ty: StructureType,
13977 pub next: *const c_void,
13978 pub left_hand_intensity: f32,
13979 pub right_hand_intensity: f32,
13980}
13981impl PassthroughKeyboardHandsIntensityFB {
13982 pub const TYPE: StructureType = StructureType::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB;
13983}
13984#[repr(C)]
13985#[derive(Copy, Clone, Debug)]
13986#[doc = "See [XrLocalDimmingFrameEndInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalDimmingFrameEndInfoMETA) - defined by [XR_META_local_dimming](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_local_dimming)"]
13987pub struct LocalDimmingFrameEndInfoMETA {
13988 pub ty: StructureType,
13989 pub next: *const c_void,
13990 pub local_dimming_mode: LocalDimmingModeMETA,
13991}
13992impl LocalDimmingFrameEndInfoMETA {
13993 pub const TYPE: StructureType = StructureType::LOCAL_DIMMING_FRAME_END_INFO_META;
13994}
13995#[repr(C)]
13996#[derive(Copy, Clone, Debug)]
13997#[doc = "See [XrSpatialAnchorPersistenceNameMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistenceNameMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
13998pub struct SpatialAnchorPersistenceNameMSFT {
13999 pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT],
14000}
14001#[repr(C)]
14002#[derive(Copy, Clone, Debug)]
14003#[doc = "See [XrSpatialAnchorPersistenceInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistenceInfoMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
14004pub struct SpatialAnchorPersistenceInfoMSFT {
14005 pub ty: StructureType,
14006 pub next: *const c_void,
14007 pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
14008 pub spatial_anchor: SpatialAnchorMSFT,
14009}
14010impl SpatialAnchorPersistenceInfoMSFT {
14011 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT;
14012}
14013#[repr(C)]
14014#[derive(Copy, Clone, Debug)]
14015#[doc = "See [XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
14016pub struct SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
14017 pub ty: StructureType,
14018 pub next: *const c_void,
14019 pub spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
14020 pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
14021}
14022impl SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
14023 pub const TYPE: StructureType =
14024 StructureType::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT;
14025}
14026#[repr(C)]
14027#[derive(Copy, Clone, Debug)]
14028#[doc = "See [XrSystemBodyTrackingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14029pub struct SystemBodyTrackingPropertiesBD {
14030 pub ty: StructureType,
14031 pub next: *mut c_void,
14032 pub supports_body_tracking: Bool32,
14033}
14034impl SystemBodyTrackingPropertiesBD {
14035 pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_BD;
14036 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14037 #[inline]
14038 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14039 let mut x = MaybeUninit::<Self>::uninit();
14040 unsafe {
14041 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14042 ty: Self::TYPE,
14043 next,
14044 });
14045 }
14046 x
14047 }
14048}
14049#[repr(C)]
14050#[derive(Copy, Clone, Debug)]
14051#[doc = "See [XrBodyTrackerCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14052pub struct BodyTrackerCreateInfoBD {
14053 pub ty: StructureType,
14054 pub next: *const c_void,
14055 pub joint_set: BodyJointSetBD,
14056}
14057impl BodyTrackerCreateInfoBD {
14058 pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_BD;
14059}
14060#[repr(C)]
14061#[derive(Copy, Clone, Debug)]
14062#[doc = "See [XrBodyJointsLocateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14063pub struct BodyJointsLocateInfoBD {
14064 pub ty: StructureType,
14065 pub next: *const c_void,
14066 pub base_space: Space,
14067 pub time: Time,
14068}
14069impl BodyJointsLocateInfoBD {
14070 pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_BD;
14071}
14072#[repr(C)]
14073#[derive(Copy, Clone, Debug, Default, PartialEq)]
14074#[doc = "See [XrBodyJointLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14075pub struct BodyJointLocationBD {
14076 pub location_flags: SpaceLocationFlags,
14077 pub pose: Posef,
14078}
14079#[repr(C)]
14080#[derive(Copy, Clone, Debug)]
14081#[doc = "See [XrBodyJointLocationsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
14082pub struct BodyJointLocationsBD {
14083 pub ty: StructureType,
14084 pub next: *mut c_void,
14085 pub all_joint_poses_tracked: Bool32,
14086 pub joint_location_count: u32,
14087 pub joint_locations: *mut BodyJointLocationBD,
14088}
14089impl BodyJointLocationsBD {
14090 pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_BD;
14091 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14092 #[inline]
14093 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14094 let mut x = MaybeUninit::<Self>::uninit();
14095 unsafe {
14096 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14097 ty: Self::TYPE,
14098 next,
14099 });
14100 }
14101 x
14102 }
14103}
14104#[repr(C)]
14105#[derive(Copy, Clone, Debug)]
14106#[doc = "See [XrFuturePollResultProgressBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollResultProgressBD) - defined by [XR_BD_future_progress](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_future_progress)"]
14107pub struct FuturePollResultProgressBD {
14108 pub ty: StructureType,
14109 pub next: *mut c_void,
14110 pub is_supported: Bool32,
14111 pub progress_percentage: u32,
14112}
14113impl FuturePollResultProgressBD {
14114 pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_PROGRESS_BD;
14115 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14116 #[inline]
14117 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14118 let mut x = MaybeUninit::<Self>::uninit();
14119 unsafe {
14120 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14121 ty: Self::TYPE,
14122 next,
14123 });
14124 }
14125 x
14126 }
14127}
14128#[repr(C)]
14129#[derive(Copy, Clone, Debug)]
14130#[doc = "See [XrFacialTrackerCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackerCreateInfoHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
14131pub struct FacialTrackerCreateInfoHTC {
14132 pub ty: StructureType,
14133 pub next: *const c_void,
14134 pub facial_tracking_type: FacialTrackingTypeHTC,
14135}
14136impl FacialTrackerCreateInfoHTC {
14137 pub const TYPE: StructureType = StructureType::FACIAL_TRACKER_CREATE_INFO_HTC;
14138}
14139#[repr(C)]
14140#[derive(Copy, Clone, Debug)]
14141#[doc = "See [XrSystemFacialTrackingPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialTrackingPropertiesHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
14142pub struct SystemFacialTrackingPropertiesHTC {
14143 pub ty: StructureType,
14144 pub next: *mut c_void,
14145 pub support_eye_facial_tracking: Bool32,
14146 pub support_lip_facial_tracking: Bool32,
14147}
14148impl SystemFacialTrackingPropertiesHTC {
14149 pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC;
14150 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14151 #[inline]
14152 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14153 let mut x = MaybeUninit::<Self>::uninit();
14154 unsafe {
14155 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14156 ty: Self::TYPE,
14157 next,
14158 });
14159 }
14160 x
14161 }
14162}
14163#[repr(C)]
14164#[derive(Copy, Clone, Debug)]
14165#[doc = "See [XrFacialExpressionsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionsHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
14166pub struct FacialExpressionsHTC {
14167 pub ty: StructureType,
14168 pub next: *const c_void,
14169 pub is_active: Bool32,
14170 pub sample_time: Time,
14171 pub expression_count: u32,
14172 pub expression_weightings: *mut f32,
14173}
14174impl FacialExpressionsHTC {
14175 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSIONS_HTC;
14176}
14177#[repr(C)]
14178#[derive(Copy, Clone, Debug)]
14179#[doc = "See [XrPassthroughCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCreateInfoHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14180pub struct PassthroughCreateInfoHTC {
14181 pub ty: StructureType,
14182 pub next: *const c_void,
14183 pub form: PassthroughFormHTC,
14184}
14185impl PassthroughCreateInfoHTC {
14186 pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_HTC;
14187}
14188#[repr(C)]
14189#[derive(Copy, Clone, Debug)]
14190#[doc = "See [XrPassthroughColorHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14191pub struct PassthroughColorHTC {
14192 pub ty: StructureType,
14193 pub next: *const c_void,
14194 pub alpha: f32,
14195}
14196impl PassthroughColorHTC {
14197 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_HTC;
14198}
14199#[repr(C)]
14200#[derive(Copy, Clone, Debug)]
14201#[doc = "See [XrPassthroughMeshTransformInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughMeshTransformInfoHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14202pub struct PassthroughMeshTransformInfoHTC {
14203 pub ty: StructureType,
14204 pub next: *const c_void,
14205 pub vertex_count: u32,
14206 pub vertices: *const Vector3f,
14207 pub index_count: u32,
14208 pub indices: *const u32,
14209 pub base_space: Space,
14210 pub time: Time,
14211 pub pose: Posef,
14212 pub scale: Vector3f,
14213}
14214impl PassthroughMeshTransformInfoHTC {
14215 pub const TYPE: StructureType = StructureType::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC;
14216}
14217#[repr(C)]
14218#[derive(Copy, Clone, Debug)]
14219#[doc = "See [XrCompositionLayerPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
14220pub struct CompositionLayerPassthroughHTC {
14221 pub ty: StructureType,
14222 pub next: *const c_void,
14223 pub layer_flags: CompositionLayerFlags,
14224 pub space: Space,
14225 pub passthrough: PassthroughHTC,
14226 pub color: PassthroughColorHTC,
14227}
14228impl CompositionLayerPassthroughHTC {
14229 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_HTC;
14230}
14231#[repr(C)]
14232#[derive(Copy, Clone, Debug)]
14233#[doc = "See [XrSpatialAnchorCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
14234pub struct SpatialAnchorCreateInfoHTC {
14235 pub ty: StructureType,
14236 pub next: *const c_void,
14237 pub space: Space,
14238 pub pose_in_space: Posef,
14239 pub name: SpatialAnchorNameHTC,
14240}
14241impl SpatialAnchorCreateInfoHTC {
14242 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_HTC;
14243}
14244#[repr(C)]
14245#[derive(Copy, Clone, Debug)]
14246#[doc = "See [XrSpatialAnchorNameHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorNameHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
14247pub struct SpatialAnchorNameHTC {
14248 pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC],
14249}
14250#[repr(C)]
14251#[derive(Copy, Clone, Debug)]
14252#[doc = "See [XrSystemAnchorPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemAnchorPropertiesHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
14253pub struct SystemAnchorPropertiesHTC {
14254 pub ty: StructureType,
14255 pub next: *mut c_void,
14256 pub supports_anchor: Bool32,
14257}
14258impl SystemAnchorPropertiesHTC {
14259 pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_PROPERTIES_HTC;
14260 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14261 #[inline]
14262 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14263 let mut x = MaybeUninit::<Self>::uninit();
14264 unsafe {
14265 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14266 ty: Self::TYPE,
14267 next,
14268 });
14269 }
14270 x
14271 }
14272}
14273#[repr(C)]
14274#[derive(Copy, Clone, Debug)]
14275#[doc = "See [XrViveTrackerPathsHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViveTrackerPathsHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
14276pub struct ViveTrackerPathsHTCX {
14277 pub ty: StructureType,
14278 pub next: *mut c_void,
14279 pub persistent_path: Path,
14280 pub role_path: Path,
14281}
14282impl ViveTrackerPathsHTCX {
14283 pub const TYPE: StructureType = StructureType::VIVE_TRACKER_PATHS_HTCX;
14284 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14285 #[inline]
14286 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14287 let mut x = MaybeUninit::<Self>::uninit();
14288 unsafe {
14289 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14290 ty: Self::TYPE,
14291 next,
14292 });
14293 }
14294 x
14295 }
14296}
14297#[repr(C)]
14298#[derive(Copy, Clone, Debug)]
14299#[doc = "See [XrEventDataViveTrackerConnectedHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataViveTrackerConnectedHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
14300pub struct EventDataViveTrackerConnectedHTCX {
14301 pub ty: StructureType,
14302 pub next: *const c_void,
14303 pub paths: *mut ViveTrackerPathsHTCX,
14304}
14305impl EventDataViveTrackerConnectedHTCX {
14306 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX;
14307}
14308#[repr(C)]
14309#[derive(Copy, Clone, Debug)]
14310#[doc = "See [XrSystemBodyTrackingPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14311pub struct SystemBodyTrackingPropertiesHTC {
14312 pub ty: StructureType,
14313 pub next: *mut c_void,
14314 pub supports_body_tracking: Bool32,
14315}
14316impl SystemBodyTrackingPropertiesHTC {
14317 pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_HTC;
14318 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14319 #[inline]
14320 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14321 let mut x = MaybeUninit::<Self>::uninit();
14322 unsafe {
14323 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14324 ty: Self::TYPE,
14325 next,
14326 });
14327 }
14328 x
14329 }
14330}
14331#[repr(C)]
14332#[derive(Copy, Clone, Debug)]
14333#[doc = "See [XrBodyTrackerCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14334pub struct BodyTrackerCreateInfoHTC {
14335 pub ty: StructureType,
14336 pub next: *const c_void,
14337 pub body_joint_set: BodyJointSetHTC,
14338}
14339impl BodyTrackerCreateInfoHTC {
14340 pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_HTC;
14341}
14342#[repr(C)]
14343#[derive(Copy, Clone, Debug, Default, PartialEq)]
14344#[doc = "See [XrBodySkeletonJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonJointHTC)"]
14345pub struct BodySkeletonJointHTC {
14346 pub pose: Posef,
14347}
14348#[repr(C)]
14349#[derive(Copy, Clone, Debug)]
14350#[doc = "See [XrBodySkeletonHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14351pub struct BodySkeletonHTC {
14352 pub ty: StructureType,
14353 pub next: *mut c_void,
14354 pub joint_count: u32,
14355 pub joints: *mut BodySkeletonJointHTC,
14356}
14357impl BodySkeletonHTC {
14358 pub const TYPE: StructureType = StructureType::BODY_SKELETON_HTC;
14359 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14360 #[inline]
14361 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14362 let mut x = MaybeUninit::<Self>::uninit();
14363 unsafe {
14364 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14365 ty: Self::TYPE,
14366 next,
14367 });
14368 }
14369 x
14370 }
14371}
14372#[repr(C)]
14373#[derive(Copy, Clone, Debug)]
14374#[doc = "See [XrBodyJointsLocateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14375pub struct BodyJointsLocateInfoHTC {
14376 pub ty: StructureType,
14377 pub next: *const c_void,
14378 pub base_space: Space,
14379 pub time: Time,
14380}
14381impl BodyJointsLocateInfoHTC {
14382 pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_HTC;
14383}
14384#[repr(C)]
14385#[derive(Copy, Clone, Debug, Default, PartialEq)]
14386#[doc = "See [XrBodyJointLocationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14387pub struct BodyJointLocationHTC {
14388 pub location_flags: SpaceLocationFlags,
14389 pub pose: Posef,
14390}
14391#[repr(C)]
14392#[derive(Copy, Clone, Debug)]
14393#[doc = "See [XrBodyJointLocationsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
14394pub struct BodyJointLocationsHTC {
14395 pub ty: StructureType,
14396 pub next: *mut c_void,
14397 pub combined_location_flags: SpaceLocationFlags,
14398 pub confidence_level: BodyJointConfidenceHTC,
14399 pub joint_location_count: u32,
14400 pub joint_locations: *mut BodyJointLocationHTC,
14401 pub skeleton_generation_id: u32,
14402}
14403impl BodyJointLocationsHTC {
14404 pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_HTC;
14405 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14406 #[inline]
14407 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14408 let mut x = MaybeUninit::<Self>::uninit();
14409 unsafe {
14410 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14411 ty: Self::TYPE,
14412 next,
14413 });
14414 }
14415 x
14416 }
14417}
14418#[repr(C)]
14419#[derive(Copy, Clone, Debug)]
14420#[doc = "See [XrCompositionLayerSpaceWarpInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSpaceWarpInfoFB) - defined by [XR_FB_space_warp](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_space_warp)"]
14421pub struct CompositionLayerSpaceWarpInfoFB {
14422 pub ty: StructureType,
14423 pub next: *const c_void,
14424 pub layer_flags: CompositionLayerSpaceWarpInfoFlagsFB,
14425 pub motion_vector_sub_image: SwapchainSubImage,
14426 pub app_space_delta_pose: Posef,
14427 pub depth_sub_image: SwapchainSubImage,
14428 pub min_depth: f32,
14429 pub max_depth: f32,
14430 pub near_z: f32,
14431 pub far_z: f32,
14432}
14433impl CompositionLayerSpaceWarpInfoFB {
14434 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SPACE_WARP_INFO_FB;
14435}
14436#[repr(C)]
14437#[derive(Copy, Clone, Debug)]
14438#[doc = "See [XrSystemSpaceWarpPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpaceWarpPropertiesFB) - defined by [XR_FB_space_warp](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_space_warp)"]
14439pub struct SystemSpaceWarpPropertiesFB {
14440 pub ty: StructureType,
14441 pub next: *mut c_void,
14442 pub recommended_motion_vector_image_rect_width: u32,
14443 pub recommended_motion_vector_image_rect_height: u32,
14444}
14445impl SystemSpaceWarpPropertiesFB {
14446 pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_WARP_PROPERTIES_FB;
14447 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14448 #[inline]
14449 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14450 let mut x = MaybeUninit::<Self>::uninit();
14451 unsafe {
14452 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14453 ty: Self::TYPE,
14454 next,
14455 });
14456 }
14457 x
14458 }
14459}
14460#[repr(C)]
14461#[derive(Copy, Clone, Debug)]
14462#[doc = "See [XrSystemMarkerTrackingPropertiesVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerTrackingPropertiesVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
14463pub struct SystemMarkerTrackingPropertiesVARJO {
14464 pub ty: StructureType,
14465 pub next: *mut c_void,
14466 pub supports_marker_tracking: Bool32,
14467}
14468impl SystemMarkerTrackingPropertiesVARJO {
14469 pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO;
14470 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14471 #[inline]
14472 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14473 let mut x = MaybeUninit::<Self>::uninit();
14474 unsafe {
14475 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14476 ty: Self::TYPE,
14477 next,
14478 });
14479 }
14480 x
14481 }
14482}
14483#[repr(C)]
14484#[derive(Copy, Clone, Debug)]
14485#[doc = "See [XrEventDataMarkerTrackingUpdateVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataMarkerTrackingUpdateVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
14486pub struct EventDataMarkerTrackingUpdateVARJO {
14487 pub ty: StructureType,
14488 pub next: *const c_void,
14489 pub marker_id: u64,
14490 pub is_active: Bool32,
14491 pub is_predicted: Bool32,
14492 pub time: Time,
14493}
14494impl EventDataMarkerTrackingUpdateVARJO {
14495 pub const TYPE: StructureType = StructureType::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO;
14496}
14497#[repr(C)]
14498#[derive(Copy, Clone, Debug)]
14499#[doc = "See [XrMarkerSpaceCreateInfoVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerSpaceCreateInfoVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
14500pub struct MarkerSpaceCreateInfoVARJO {
14501 pub ty: StructureType,
14502 pub next: *const c_void,
14503 pub marker_id: u64,
14504 pub pose_in_marker_space: Posef,
14505}
14506impl MarkerSpaceCreateInfoVARJO {
14507 pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_VARJO;
14508}
14509#[repr(C)]
14510#[derive(Copy, Clone, Debug)]
14511#[doc = "See [XrGlobalDimmerFrameEndInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGlobalDimmerFrameEndInfoML) - defined by [XR_ML_global_dimmer](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_global_dimmer)"]
14512pub struct GlobalDimmerFrameEndInfoML {
14513 pub ty: StructureType,
14514 pub next: *const c_void,
14515 pub dimmer_value: f32,
14516 pub flags: GlobalDimmerFrameEndInfoFlagsML,
14517}
14518impl GlobalDimmerFrameEndInfoML {
14519 pub const TYPE: StructureType = StructureType::GLOBAL_DIMMER_FRAME_END_INFO_ML;
14520}
14521#[repr(C)]
14522#[derive(Copy, Clone, Debug)]
14523#[doc = "See [XrDigitalLensControlALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlALMALENCE)"]
14524pub struct DigitalLensControlALMALENCE {
14525 pub ty: StructureType,
14526 pub next: *const c_void,
14527 pub flags: DigitalLensControlFlagsALMALENCE,
14528}
14529impl DigitalLensControlALMALENCE {
14530 pub const TYPE: StructureType = StructureType::DIGITAL_LENS_CONTROL_ALMALENCE;
14531}
14532#[repr(C)]
14533#[derive(Copy, Clone, Debug)]
14534#[doc = "See [XrCompositionLayerSettingsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSettingsFB) - defined by [XR_FB_composition_layer_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_settings)"]
14535pub struct CompositionLayerSettingsFB {
14536 pub ty: StructureType,
14537 pub next: *const c_void,
14538 pub layer_flags: CompositionLayerSettingsFlagsFB,
14539}
14540impl CompositionLayerSettingsFB {
14541 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SETTINGS_FB;
14542}
14543#[repr(C)]
14544#[derive(Copy, Clone, Debug, PartialEq)]
14545#[doc = "See [XrExternalCameraIntrinsicsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraIntrinsicsOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
14546pub struct ExternalCameraIntrinsicsOCULUS {
14547 pub last_change_time: Time,
14548 pub fov: Fovf,
14549 pub virtual_near_plane_distance: f32,
14550 pub virtual_far_plane_distance: f32,
14551 pub image_sensor_pixel_resolution: Extent2Di,
14552}
14553#[repr(C)]
14554#[derive(Copy, Clone, Debug, PartialEq)]
14555#[doc = "See [XrExternalCameraExtrinsicsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraExtrinsicsOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
14556pub struct ExternalCameraExtrinsicsOCULUS {
14557 pub last_change_time: Time,
14558 pub camera_status_flags: ExternalCameraStatusFlagsOCULUS,
14559 pub attached_to_device: ExternalCameraAttachedToDeviceOCULUS,
14560 pub relative_pose: Posef,
14561}
14562#[repr(C)]
14563#[derive(Copy, Clone, Debug)]
14564#[doc = "See [XrExternalCameraOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
14565pub struct ExternalCameraOCULUS {
14566 pub ty: StructureType,
14567 pub next: *const c_void,
14568 pub name: [c_char; MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS],
14569 pub intrinsics: ExternalCameraIntrinsicsOCULUS,
14570 pub extrinsics: ExternalCameraExtrinsicsOCULUS,
14571}
14572impl ExternalCameraOCULUS {
14573 pub const TYPE: StructureType = StructureType::EXTERNAL_CAMERA_OCULUS;
14574}
14575#[repr(C)]
14576#[derive(Copy, Clone, Debug)]
14577#[doc = "See [XrPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
14578pub struct PerformanceMetricsStateMETA {
14579 pub ty: StructureType,
14580 pub next: *const c_void,
14581 pub enabled: Bool32,
14582}
14583impl PerformanceMetricsStateMETA {
14584 pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_STATE_META;
14585}
14586#[repr(C)]
14587#[derive(Copy, Clone, Debug)]
14588#[doc = "See [XrPerformanceMetricsCounterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
14589pub struct PerformanceMetricsCounterMETA {
14590 pub ty: StructureType,
14591 pub next: *const c_void,
14592 pub counter_flags: PerformanceMetricsCounterFlagsMETA,
14593 pub counter_unit: PerformanceMetricsCounterUnitMETA,
14594 pub uint_value: u32,
14595 pub float_value: f32,
14596}
14597impl PerformanceMetricsCounterMETA {
14598 pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_COUNTER_META;
14599}
14600#[repr(C)]
14601#[derive(Copy, Clone, Debug)]
14602#[doc = "See [XrPassthroughPreferencesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughPreferencesMETA) - defined by [XR_META_passthrough_preferences](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_preferences)"]
14603pub struct PassthroughPreferencesMETA {
14604 pub ty: StructureType,
14605 pub next: *const c_void,
14606 pub flags: PassthroughPreferenceFlagsMETA,
14607}
14608impl PassthroughPreferencesMETA {
14609 pub const TYPE: StructureType = StructureType::PASSTHROUGH_PREFERENCES_META;
14610}
14611#[repr(C)]
14612#[derive(Copy, Clone, Debug)]
14613#[doc = "See [XrSystemHeadsetIdPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHeadsetIdPropertiesMETA) - defined by [XR_META_headset_id](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_headset_id)"]
14614pub struct SystemHeadsetIdPropertiesMETA {
14615 pub ty: StructureType,
14616 pub next: *mut c_void,
14617 pub id: UuidEXT,
14618}
14619impl SystemHeadsetIdPropertiesMETA {
14620 pub const TYPE: StructureType = StructureType::SYSTEM_HEADSET_ID_PROPERTIES_META;
14621 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14622 #[inline]
14623 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14624 let mut x = MaybeUninit::<Self>::uninit();
14625 unsafe {
14626 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14627 ty: Self::TYPE,
14628 next,
14629 });
14630 }
14631 x
14632 }
14633}
14634#[repr(C)]
14635#[derive(Copy, Clone, Debug)]
14636#[doc = "See [XrSystemSpacePersistencePropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpacePersistencePropertiesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14637pub struct SystemSpacePersistencePropertiesMETA {
14638 pub ty: StructureType,
14639 pub next: *const c_void,
14640 pub supports_space_persistence: Bool32,
14641}
14642impl SystemSpacePersistencePropertiesMETA {
14643 pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META;
14644}
14645#[repr(C)]
14646#[derive(Copy, Clone, Debug)]
14647#[doc = "See [XrSpacesSaveInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesSaveInfoMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14648pub struct SpacesSaveInfoMETA {
14649 pub ty: StructureType,
14650 pub next: *const c_void,
14651 pub space_count: u32,
14652 pub spaces: *mut Space,
14653}
14654impl SpacesSaveInfoMETA {
14655 pub const TYPE: StructureType = StructureType::SPACES_SAVE_INFO_META;
14656}
14657#[repr(C)]
14658#[derive(Copy, Clone, Debug)]
14659#[doc = "See [XrEventDataSpacesSaveResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpacesSaveResultMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14660pub struct EventDataSpacesSaveResultMETA {
14661 pub ty: StructureType,
14662 pub next: *const c_void,
14663 pub request_id: AsyncRequestIdFB,
14664 pub result: Result,
14665}
14666impl EventDataSpacesSaveResultMETA {
14667 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_SAVE_RESULT_META;
14668}
14669#[repr(C)]
14670#[derive(Copy, Clone, Debug)]
14671#[doc = "See [XrSpacesEraseInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesEraseInfoMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14672pub struct SpacesEraseInfoMETA {
14673 pub ty: StructureType,
14674 pub next: *const c_void,
14675 pub space_count: u32,
14676 pub spaces: *mut Space,
14677 pub uuid_count: u32,
14678 pub uuids: *mut UuidEXT,
14679}
14680impl SpacesEraseInfoMETA {
14681 pub const TYPE: StructureType = StructureType::SPACES_ERASE_INFO_META;
14682}
14683#[repr(C)]
14684#[derive(Copy, Clone, Debug)]
14685#[doc = "See [XrEventDataSpacesEraseResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpacesEraseResultMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
14686pub struct EventDataSpacesEraseResultMETA {
14687 pub ty: StructureType,
14688 pub next: *const c_void,
14689 pub request_id: AsyncRequestIdFB,
14690 pub result: Result,
14691}
14692impl EventDataSpacesEraseResultMETA {
14693 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_ERASE_RESULT_META;
14694}
14695#[repr(C)]
14696#[derive(Copy, Clone, Debug)]
14697#[doc = "See [XrSystemSpaceDiscoveryPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpaceDiscoveryPropertiesMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14698pub struct SystemSpaceDiscoveryPropertiesMETA {
14699 pub ty: StructureType,
14700 pub next: *const c_void,
14701 pub supports_space_discovery: Bool32,
14702}
14703impl SystemSpaceDiscoveryPropertiesMETA {
14704 pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META;
14705}
14706#[repr(C)]
14707#[derive(Copy, Clone, Debug)]
14708#[doc = "See [XrSpaceFilterBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterBaseHeaderMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14709pub struct SpaceFilterBaseHeaderMETA {
14710 pub ty: StructureType,
14711 pub next: *const c_void,
14712}
14713#[repr(C)]
14714#[derive(Copy, Clone, Debug)]
14715#[doc = "See [XrSpaceDiscoveryInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryInfoMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14716pub struct SpaceDiscoveryInfoMETA {
14717 pub ty: StructureType,
14718 pub next: *const c_void,
14719 pub filter_count: u32,
14720 pub filters: *const *const SpaceFilterBaseHeaderMETA,
14721}
14722impl SpaceDiscoveryInfoMETA {
14723 pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_INFO_META;
14724}
14725#[repr(C)]
14726#[derive(Copy, Clone, Debug)]
14727#[doc = "See [XrSpaceFilterUuidMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterUuidMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14728pub struct SpaceFilterUuidMETA {
14729 pub ty: StructureType,
14730 pub next: *const c_void,
14731 pub uuid_count: u32,
14732 pub uuids: *const UuidEXT,
14733}
14734impl SpaceFilterUuidMETA {
14735 pub const TYPE: StructureType = StructureType::SPACE_FILTER_UUID_META;
14736}
14737#[repr(C)]
14738#[derive(Copy, Clone, Debug)]
14739#[doc = "See [XrSpaceFilterComponentMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterComponentMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14740pub struct SpaceFilterComponentMETA {
14741 pub ty: StructureType,
14742 pub next: *const c_void,
14743 pub component_type: SpaceComponentTypeFB,
14744}
14745impl SpaceFilterComponentMETA {
14746 pub const TYPE: StructureType = StructureType::SPACE_FILTER_COMPONENT_META;
14747}
14748#[repr(C)]
14749#[derive(Copy, Clone, Debug)]
14750#[doc = "See [XrSpaceDiscoveryResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryResultMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14751pub struct SpaceDiscoveryResultMETA {
14752 pub space: Space,
14753 pub uuid: UuidEXT,
14754}
14755#[repr(C)]
14756#[derive(Copy, Clone, Debug)]
14757#[doc = "See [XrSpaceDiscoveryResultsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryResultsMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14758pub struct SpaceDiscoveryResultsMETA {
14759 pub ty: StructureType,
14760 pub next: *const c_void,
14761 pub result_capacity_input: u32,
14762 pub result_count_output: u32,
14763 pub results: *mut SpaceDiscoveryResultMETA,
14764}
14765impl SpaceDiscoveryResultsMETA {
14766 pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_RESULTS_META;
14767}
14768#[repr(C)]
14769#[derive(Copy, Clone, Debug)]
14770#[doc = "See [XrEventDataSpaceDiscoveryResultsAvailableMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceDiscoveryResultsAvailableMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14771pub struct EventDataSpaceDiscoveryResultsAvailableMETA {
14772 pub ty: StructureType,
14773 pub next: *const c_void,
14774 pub request_id: AsyncRequestIdFB,
14775}
14776impl EventDataSpaceDiscoveryResultsAvailableMETA {
14777 pub const TYPE: StructureType =
14778 StructureType::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META;
14779}
14780#[repr(C)]
14781#[derive(Copy, Clone, Debug)]
14782#[doc = "See [XrEventDataSpaceDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceDiscoveryCompleteMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
14783pub struct EventDataSpaceDiscoveryCompleteMETA {
14784 pub ty: StructureType,
14785 pub next: *const c_void,
14786 pub request_id: AsyncRequestIdFB,
14787 pub result: Result,
14788}
14789impl EventDataSpaceDiscoveryCompleteMETA {
14790 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META;
14791}
14792#[repr(C)]
14793#[derive(Copy, Clone, Debug)]
14794#[doc = "See [XrPassthroughColorLutDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutDataMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14795pub struct PassthroughColorLutDataMETA {
14796 pub buffer_size: u32,
14797 pub buffer: *const u8,
14798}
14799#[repr(C)]
14800#[derive(Copy, Clone, Debug)]
14801#[doc = "See [XrPassthroughColorLutCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutCreateInfoMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14802pub struct PassthroughColorLutCreateInfoMETA {
14803 pub ty: StructureType,
14804 pub next: *const c_void,
14805 pub channels: PassthroughColorLutChannelsMETA,
14806 pub resolution: u32,
14807 pub data: PassthroughColorLutDataMETA,
14808}
14809impl PassthroughColorLutCreateInfoMETA {
14810 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META;
14811}
14812#[repr(C)]
14813#[derive(Copy, Clone, Debug)]
14814#[doc = "See [XrPassthroughColorLutUpdateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutUpdateInfoMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14815pub struct PassthroughColorLutUpdateInfoMETA {
14816 pub ty: StructureType,
14817 pub next: *const c_void,
14818 pub data: PassthroughColorLutDataMETA,
14819}
14820impl PassthroughColorLutUpdateInfoMETA {
14821 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META;
14822}
14823#[repr(C)]
14824#[derive(Copy, Clone, Debug)]
14825#[doc = "See [XrPassthroughColorMapLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14826pub struct PassthroughColorMapLutMETA {
14827 pub ty: StructureType,
14828 pub next: *const c_void,
14829 pub color_lut: PassthroughColorLutMETA,
14830 pub weight: f32,
14831}
14832impl PassthroughColorMapLutMETA {
14833 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_LUT_META;
14834}
14835#[repr(C)]
14836#[derive(Copy, Clone, Debug)]
14837#[doc = "See [XrPassthroughColorMapInterpolatedLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapInterpolatedLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14838pub struct PassthroughColorMapInterpolatedLutMETA {
14839 pub ty: StructureType,
14840 pub next: *const c_void,
14841 pub source_color_lut: PassthroughColorLutMETA,
14842 pub target_color_lut: PassthroughColorLutMETA,
14843 pub weight: f32,
14844}
14845impl PassthroughColorMapInterpolatedLutMETA {
14846 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META;
14847}
14848#[repr(C)]
14849#[derive(Copy, Clone, Debug)]
14850#[doc = "See [XrSystemPassthroughColorLutPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughColorLutPropertiesMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
14851pub struct SystemPassthroughColorLutPropertiesMETA {
14852 pub ty: StructureType,
14853 pub next: *const c_void,
14854 pub max_color_lut_resolution: u32,
14855}
14856impl SystemPassthroughColorLutPropertiesMETA {
14857 pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META;
14858}
14859#[repr(C)]
14860#[derive(Copy, Clone, Debug)]
14861#[doc = "See [XrFoveationApplyInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationApplyInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14862pub struct FoveationApplyInfoHTC {
14863 pub ty: StructureType,
14864 pub next: *const c_void,
14865 pub mode: FoveationModeHTC,
14866 pub sub_image_count: u32,
14867 pub sub_images: *mut SwapchainSubImage,
14868}
14869impl FoveationApplyInfoHTC {
14870 pub const TYPE: StructureType = StructureType::FOVEATION_APPLY_INFO_HTC;
14871}
14872#[repr(C)]
14873#[derive(Copy, Clone, Debug, Default, PartialEq)]
14874#[doc = "See [XrFoveationConfigurationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationConfigurationHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14875pub struct FoveationConfigurationHTC {
14876 pub level: FoveationLevelHTC,
14877 pub clear_fov_degree: f32,
14878 pub focal_center_offset: Vector2f,
14879}
14880#[repr(C)]
14881#[derive(Copy, Clone, Debug)]
14882#[doc = "See [XrFoveationDynamicModeInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicModeInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14883pub struct FoveationDynamicModeInfoHTC {
14884 pub ty: StructureType,
14885 pub next: *const c_void,
14886 pub dynamic_flags: FoveationDynamicFlagsHTC,
14887}
14888impl FoveationDynamicModeInfoHTC {
14889 pub const TYPE: StructureType = StructureType::FOVEATION_DYNAMIC_MODE_INFO_HTC;
14890}
14891#[repr(C)]
14892#[derive(Copy, Clone, Debug)]
14893#[doc = "See [XrFoveationCustomModeInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationCustomModeInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
14894pub struct FoveationCustomModeInfoHTC {
14895 pub ty: StructureType,
14896 pub next: *const c_void,
14897 pub config_count: u32,
14898 pub configs: *const FoveationConfigurationHTC,
14899}
14900impl FoveationCustomModeInfoHTC {
14901 pub const TYPE: StructureType = StructureType::FOVEATION_CUSTOM_MODE_INFO_HTC;
14902}
14903#[repr(C)]
14904#[derive(Copy, Clone, Debug)]
14905#[doc = "See [XrActiveActionSetPrioritiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSetPrioritiesEXT) - defined by [XR_EXT_active_action_set_priority](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_active_action_set_priority)"]
14906pub struct ActiveActionSetPrioritiesEXT {
14907 pub ty: StructureType,
14908 pub next: *const c_void,
14909 pub action_set_priority_count: u32,
14910 pub action_set_priorities: *const ActiveActionSetPriorityEXT,
14911}
14912impl ActiveActionSetPrioritiesEXT {
14913 pub const TYPE: StructureType = StructureType::ACTIVE_ACTION_SET_PRIORITIES_EXT;
14914}
14915#[repr(C)]
14916#[derive(Copy, Clone, Debug)]
14917#[doc = "See [XrActiveActionSetPriorityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSetPriorityEXT) - defined by [XR_EXT_active_action_set_priority](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_active_action_set_priority)"]
14918pub struct ActiveActionSetPriorityEXT {
14919 pub action_set: ActionSet,
14920 pub priority_override: u32,
14921}
14922#[repr(C)]
14923#[derive(Copy, Clone, Debug)]
14924#[doc = "See [XrCompositionLayerDepthTestFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthTestFB) - defined by [XR_FB_composition_layer_depth_test](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_depth_test)"]
14925pub struct CompositionLayerDepthTestFB {
14926 pub ty: StructureType,
14927 pub next: *const c_void,
14928 pub depth_mask: Bool32,
14929 pub compare_op: CompareOpFB,
14930}
14931impl CompositionLayerDepthTestFB {
14932 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_FB;
14933}
14934#[repr(C)]
14935#[derive(Copy, Clone, Debug)]
14936#[doc = "See [XrCoordinateSpaceCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCoordinateSpaceCreateInfoML) - defined by [XR_ML_compat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_compat)"]
14937pub struct CoordinateSpaceCreateInfoML {
14938 pub ty: StructureType,
14939 pub next: *const c_void,
14940 pub cfuid: MLCoordinateFrameUID,
14941 pub pose_in_coordinate_space: Posef,
14942}
14943impl CoordinateSpaceCreateInfoML {
14944 pub const TYPE: StructureType = StructureType::COORDINATE_SPACE_CREATE_INFO_ML;
14945}
14946#[repr(C)]
14947#[derive(Copy, Clone, Debug)]
14948#[doc = "See [XrFrameEndInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfoML) - defined by [XR_ML_frame_end_info](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_frame_end_info)"]
14949pub struct FrameEndInfoML {
14950 pub ty: StructureType,
14951 pub next: *const c_void,
14952 pub focus_distance: f32,
14953 pub flags: FrameEndInfoFlagsML,
14954}
14955impl FrameEndInfoML {
14956 pub const TYPE: StructureType = StructureType::FRAME_END_INFO_ML;
14957}
14958#[repr(C)]
14959#[derive(Copy, Clone, Debug)]
14960#[doc = "See [XrHapticAmplitudeEnvelopeVibrationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticAmplitudeEnvelopeVibrationFB) - defined by [XR_FB_haptic_amplitude_envelope](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_amplitude_envelope)"]
14961pub struct HapticAmplitudeEnvelopeVibrationFB {
14962 pub ty: StructureType,
14963 pub next: *const c_void,
14964 pub duration: Duration,
14965 pub amplitude_count: u32,
14966 pub amplitudes: *const f32,
14967}
14968impl HapticAmplitudeEnvelopeVibrationFB {
14969 pub const TYPE: StructureType = StructureType::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB;
14970}
14971#[repr(C)]
14972#[derive(Copy, Clone, Debug)]
14973#[doc = "See [XrHapticPcmVibrationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticPcmVibrationFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
14974pub struct HapticPcmVibrationFB {
14975 pub ty: StructureType,
14976 pub next: *const c_void,
14977 pub buffer_size: u32,
14978 pub buffer: *const f32,
14979 pub sample_rate: f32,
14980 pub append: Bool32,
14981 pub samples_consumed: *mut u32,
14982}
14983impl HapticPcmVibrationFB {
14984 pub const TYPE: StructureType = StructureType::HAPTIC_PCM_VIBRATION_FB;
14985}
14986#[repr(C)]
14987#[derive(Copy, Clone, Debug)]
14988#[doc = "See [XrDevicePcmSampleRateStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDevicePcmSampleRateStateFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
14989pub struct DevicePcmSampleRateStateFB {
14990 pub ty: StructureType,
14991 pub next: *mut c_void,
14992 pub sample_rate: f32,
14993}
14994impl DevicePcmSampleRateStateFB {
14995 pub const TYPE: StructureType = StructureType::DEVICE_PCM_SAMPLE_RATE_STATE_FB;
14996 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14997 #[inline]
14998 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14999 let mut x = MaybeUninit::<Self>::uninit();
15000 unsafe {
15001 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15002 ty: Self::TYPE,
15003 next,
15004 });
15005 }
15006 x
15007 }
15008}
15009pub type DevicePcmSampleRateGetInfoFB = DevicePcmSampleRateStateFB;
15010#[repr(C)]
15011#[derive(Copy, Clone, Debug)]
15012#[doc = "See [XrSpaceUserCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUserCreateInfoFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
15013pub struct SpaceUserCreateInfoFB {
15014 pub ty: StructureType,
15015 pub next: *const c_void,
15016 pub user_id: SpaceUserIdFB,
15017}
15018impl SpaceUserCreateInfoFB {
15019 pub const TYPE: StructureType = StructureType::SPACE_USER_CREATE_INFO_FB;
15020}
15021#[repr(C)]
15022#[derive(Copy, Clone, Debug)]
15023#[doc = "See [XrSystemForceFeedbackCurlPropertiesMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemForceFeedbackCurlPropertiesMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
15024pub struct SystemForceFeedbackCurlPropertiesMNDX {
15025 pub ty: StructureType,
15026 pub next: *mut c_void,
15027 pub supports_force_feedback_curl: Bool32,
15028}
15029impl SystemForceFeedbackCurlPropertiesMNDX {
15030 pub const TYPE: StructureType = StructureType::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX;
15031 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15032 #[inline]
15033 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15034 let mut x = MaybeUninit::<Self>::uninit();
15035 unsafe {
15036 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15037 ty: Self::TYPE,
15038 next,
15039 });
15040 }
15041 x
15042 }
15043}
15044#[repr(C)]
15045#[derive(Copy, Clone, Debug)]
15046#[doc = "See [XrForceFeedbackCurlApplyLocationsMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlApplyLocationsMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
15047pub struct ForceFeedbackCurlApplyLocationsMNDX {
15048 pub ty: StructureType,
15049 pub next: *const c_void,
15050 pub location_count: u32,
15051 pub locations: *mut ForceFeedbackCurlApplyLocationMNDX,
15052}
15053impl ForceFeedbackCurlApplyLocationsMNDX {
15054 pub const TYPE: StructureType = StructureType::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX;
15055}
15056#[repr(C)]
15057#[derive(Copy, Clone, Debug, Default, PartialEq)]
15058#[doc = "See [XrForceFeedbackCurlApplyLocationMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlApplyLocationMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
15059pub struct ForceFeedbackCurlApplyLocationMNDX {
15060 pub location: ForceFeedbackCurlLocationMNDX,
15061 pub value: f32,
15062}
15063#[repr(C)]
15064#[derive(Copy, Clone, Debug)]
15065#[doc = "See [XrFaceTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15066#[cfg(target_os = "android")]
15067pub struct FaceTrackerCreateInfoANDROID {
15068 pub ty: StructureType,
15069 pub next: *const c_void,
15070}
15071#[cfg(target_os = "android")]
15072impl FaceTrackerCreateInfoANDROID {
15073 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_ANDROID;
15074}
15075#[repr(C)]
15076#[derive(Copy, Clone, Debug)]
15077#[doc = "See [XrFaceStateGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceStateGetInfoANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15078#[cfg(target_os = "android")]
15079pub struct FaceStateGetInfoANDROID {
15080 pub ty: StructureType,
15081 pub next: *const c_void,
15082 pub time: Time,
15083}
15084#[cfg(target_os = "android")]
15085impl FaceStateGetInfoANDROID {
15086 pub const TYPE: StructureType = StructureType::FACE_STATE_GET_INFO_ANDROID;
15087}
15088#[repr(C)]
15089#[derive(Copy, Clone, Debug)]
15090#[doc = "See [XrFaceStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15091#[cfg(target_os = "android")]
15092pub struct FaceStateANDROID {
15093 pub ty: StructureType,
15094 pub next: *mut c_void,
15095 pub parameters_capacity_input: u32,
15096 pub parameters_count_output: u32,
15097 pub parameters: *mut f32,
15098 pub face_tracking_state: FaceTrackingStateANDROID,
15099 pub sample_time: Time,
15100 pub is_valid: Bool32,
15101 pub region_confidences_capacity_input: u32,
15102 pub region_confidences_count_output: u32,
15103 pub region_confidences: *mut f32,
15104}
15105#[cfg(target_os = "android")]
15106impl FaceStateANDROID {
15107 pub const TYPE: StructureType = StructureType::FACE_STATE_ANDROID;
15108 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15109 #[inline]
15110 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15111 let mut x = MaybeUninit::<Self>::uninit();
15112 unsafe {
15113 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15114 ty: Self::TYPE,
15115 next,
15116 });
15117 }
15118 x
15119 }
15120}
15121#[repr(C)]
15122#[derive(Copy, Clone, Debug)]
15123#[doc = "See [XrSystemFaceTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingPropertiesANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
15124#[cfg(target_os = "android")]
15125pub struct SystemFaceTrackingPropertiesANDROID {
15126 pub ty: StructureType,
15127 pub next: *mut c_void,
15128 pub supports_face_tracking: Bool32,
15129}
15130#[cfg(target_os = "android")]
15131impl SystemFaceTrackingPropertiesANDROID {
15132 pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID;
15133 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15134 #[inline]
15135 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15136 let mut x = MaybeUninit::<Self>::uninit();
15137 unsafe {
15138 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15139 ty: Self::TYPE,
15140 next,
15141 });
15142 }
15143 x
15144 }
15145}
15146#[repr(C)]
15147#[derive(Copy, Clone, Debug)]
15148#[doc = "See [XrSystemPassthroughCameraStatePropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughCameraStatePropertiesANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
15149#[cfg(target_os = "android")]
15150pub struct SystemPassthroughCameraStatePropertiesANDROID {
15151 pub ty: StructureType,
15152 pub next: *mut c_void,
15153 pub supports_passthrough_camera_state: Bool32,
15154}
15155#[cfg(target_os = "android")]
15156impl SystemPassthroughCameraStatePropertiesANDROID {
15157 pub const TYPE: StructureType =
15158 StructureType::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID;
15159 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15160 #[inline]
15161 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15162 let mut x = MaybeUninit::<Self>::uninit();
15163 unsafe {
15164 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15165 ty: Self::TYPE,
15166 next,
15167 });
15168 }
15169 x
15170 }
15171}
15172#[repr(C)]
15173#[derive(Copy, Clone, Debug)]
15174#[doc = "See [XrPassthroughCameraStateGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCameraStateGetInfoANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
15175#[cfg(target_os = "android")]
15176pub struct PassthroughCameraStateGetInfoANDROID {
15177 pub ty: StructureType,
15178 pub next: *const c_void,
15179}
15180#[cfg(target_os = "android")]
15181impl PassthroughCameraStateGetInfoANDROID {
15182 pub const TYPE: StructureType = StructureType::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID;
15183}
15184#[repr(C)]
15185#[derive(Copy, Clone, Debug)]
15186#[doc = "See [XrTrackableTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTrackerCreateInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15187#[cfg(target_os = "android")]
15188pub struct TrackableTrackerCreateInfoANDROID {
15189 pub ty: StructureType,
15190 pub next: *const c_void,
15191 pub trackable_type: TrackableTypeANDROID,
15192}
15193#[cfg(target_os = "android")]
15194impl TrackableTrackerCreateInfoANDROID {
15195 pub const TYPE: StructureType = StructureType::TRACKABLE_TRACKER_CREATE_INFO_ANDROID;
15196}
15197#[repr(C)]
15198#[derive(Copy, Clone, Debug)]
15199#[doc = "See [XrTrackableGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableGetInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15200#[cfg(target_os = "android")]
15201pub struct TrackableGetInfoANDROID {
15202 pub ty: StructureType,
15203 pub next: *const c_void,
15204 pub trackable: TrackableANDROID,
15205 pub base_space: Space,
15206 pub time: Time,
15207}
15208#[cfg(target_os = "android")]
15209impl TrackableGetInfoANDROID {
15210 pub const TYPE: StructureType = StructureType::TRACKABLE_GET_INFO_ANDROID;
15211}
15212#[repr(C)]
15213#[derive(Copy, Clone, Debug)]
15214#[doc = "See [XrTrackablePlaneANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackablePlaneANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15215#[cfg(target_os = "android")]
15216pub struct TrackablePlaneANDROID {
15217 pub ty: StructureType,
15218 pub next: *mut c_void,
15219 pub tracking_state: TrackingStateANDROID,
15220 pub center_pose: Posef,
15221 pub extents: Extent2Df,
15222 pub plane_type: PlaneTypeANDROID,
15223 pub plane_label: PlaneLabelANDROID,
15224 pub subsumed_by_plane: TrackableANDROID,
15225 pub last_updated_time: Time,
15226 pub vertex_capacity_input: u32,
15227 pub vertex_count_output: *mut u32,
15228 pub vertices: *mut Vector2f,
15229}
15230#[cfg(target_os = "android")]
15231impl TrackablePlaneANDROID {
15232 pub const TYPE: StructureType = StructureType::TRACKABLE_PLANE_ANDROID;
15233 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15234 #[inline]
15235 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15236 let mut x = MaybeUninit::<Self>::uninit();
15237 unsafe {
15238 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15239 ty: Self::TYPE,
15240 next,
15241 });
15242 }
15243 x
15244 }
15245}
15246#[repr(C)]
15247#[derive(Copy, Clone, Debug)]
15248#[doc = "See [XrAnchorSpaceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSpaceCreateInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15249#[cfg(target_os = "android")]
15250pub struct AnchorSpaceCreateInfoANDROID {
15251 pub ty: StructureType,
15252 pub next: *const c_void,
15253 pub space: Space,
15254 pub time: Time,
15255 pub pose: Posef,
15256 pub trackable: TrackableANDROID,
15257}
15258#[cfg(target_os = "android")]
15259impl AnchorSpaceCreateInfoANDROID {
15260 pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_ANDROID;
15261}
15262#[repr(C)]
15263#[derive(Copy, Clone, Debug)]
15264#[doc = "See [XrSystemTrackablesPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemTrackablesPropertiesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
15265#[cfg(target_os = "android")]
15266pub struct SystemTrackablesPropertiesANDROID {
15267 pub ty: StructureType,
15268 pub next: *const c_void,
15269 pub supports_anchor: Bool32,
15270 pub max_anchors: u32,
15271}
15272#[cfg(target_os = "android")]
15273impl SystemTrackablesPropertiesANDROID {
15274 pub const TYPE: StructureType = StructureType::SYSTEM_TRACKABLES_PROPERTIES_ANDROID;
15275}
15276#[repr(C)]
15277#[derive(Copy, Clone, Debug)]
15278#[doc = "See [XrTrackableObjectANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableObjectANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
15279#[cfg(target_os = "android")]
15280pub struct TrackableObjectANDROID {
15281 pub ty: StructureType,
15282 pub next: *mut c_void,
15283 pub tracking_state: TrackingStateANDROID,
15284 pub center_pose: Posef,
15285 pub extents: Extent3DfEXT,
15286 pub object_label: ObjectLabelANDROID,
15287 pub last_updated_time: Time,
15288}
15289#[cfg(target_os = "android")]
15290impl TrackableObjectANDROID {
15291 pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_ANDROID;
15292 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15293 #[inline]
15294 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15295 let mut x = MaybeUninit::<Self>::uninit();
15296 unsafe {
15297 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15298 ty: Self::TYPE,
15299 next,
15300 });
15301 }
15302 x
15303 }
15304}
15305#[repr(C)]
15306#[derive(Copy, Clone, Debug)]
15307#[doc = "See [XrTrackableObjectConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableObjectConfigurationANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
15308#[cfg(target_os = "android")]
15309pub struct TrackableObjectConfigurationANDROID {
15310 pub ty: StructureType,
15311 pub next: *mut c_void,
15312 pub label_count: u32,
15313 pub active_labels: *const ObjectLabelANDROID,
15314}
15315#[cfg(target_os = "android")]
15316impl TrackableObjectConfigurationANDROID {
15317 pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_CONFIGURATION_ANDROID;
15318 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15319 #[inline]
15320 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15321 let mut x = MaybeUninit::<Self>::uninit();
15322 unsafe {
15323 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15324 ty: Self::TYPE,
15325 next,
15326 });
15327 }
15328 x
15329 }
15330}
15331#[repr(C)]
15332#[derive(Copy, Clone, Debug)]
15333#[doc = "See [XrRaycastInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastInfoANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
15334#[cfg(target_os = "android")]
15335pub struct RaycastInfoANDROID {
15336 pub ty: StructureType,
15337 pub next: *const c_void,
15338 pub max_results: u32,
15339 pub tracker_count: u32,
15340 pub trackers: *const TrackableTrackerANDROID,
15341 pub origin: Vector3f,
15342 pub trajectory: Vector3f,
15343 pub space: Space,
15344 pub time: Time,
15345}
15346#[cfg(target_os = "android")]
15347impl RaycastInfoANDROID {
15348 pub const TYPE: StructureType = StructureType::RAYCAST_INFO_ANDROID;
15349}
15350#[repr(C)]
15351#[derive(Copy, Clone, Debug, Default, PartialEq)]
15352#[doc = "See [XrRaycastHitResultANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastHitResultANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
15353#[cfg(target_os = "android")]
15354pub struct RaycastHitResultANDROID {
15355 pub ty: TrackableTypeANDROID,
15356 pub trackable: TrackableANDROID,
15357 pub pose: Posef,
15358}
15359#[repr(C)]
15360#[derive(Copy, Clone, Debug)]
15361#[doc = "See [XrRaycastHitResultsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastHitResultsANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
15362#[cfg(target_os = "android")]
15363pub struct RaycastHitResultsANDROID {
15364 pub ty: StructureType,
15365 pub next: *mut c_void,
15366 pub results_capacity_input: u32,
15367 pub results_count_output: u32,
15368 pub results: *mut RaycastHitResultANDROID,
15369}
15370#[cfg(target_os = "android")]
15371impl RaycastHitResultsANDROID {
15372 pub const TYPE: StructureType = StructureType::RAYCAST_HIT_RESULTS_ANDROID;
15373 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15374 #[inline]
15375 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15376 let mut x = MaybeUninit::<Self>::uninit();
15377 unsafe {
15378 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15379 ty: Self::TYPE,
15380 next,
15381 });
15382 }
15383 x
15384 }
15385}
15386#[repr(C)]
15387#[derive(Copy, Clone, Debug)]
15388#[doc = "See [XrSystemMarkerTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerTrackingPropertiesANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15389#[cfg(target_os = "android")]
15390pub struct SystemMarkerTrackingPropertiesANDROID {
15391 pub ty: StructureType,
15392 pub next: *mut c_void,
15393 pub supports_marker_tracking: Bool32,
15394 pub supports_marker_size_estimation: Bool32,
15395 pub max_marker_count: u16,
15396}
15397#[cfg(target_os = "android")]
15398impl SystemMarkerTrackingPropertiesANDROID {
15399 pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID;
15400 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15401 #[inline]
15402 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15403 let mut x = MaybeUninit::<Self>::uninit();
15404 unsafe {
15405 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15406 ty: Self::TYPE,
15407 next,
15408 });
15409 }
15410 x
15411 }
15412}
15413#[repr(C)]
15414#[derive(Copy, Clone, Debug)]
15415#[doc = "See [XrTrackableMarkerConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerConfigurationANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15416#[cfg(target_os = "android")]
15417pub struct TrackableMarkerConfigurationANDROID {
15418 pub ty: StructureType,
15419 pub next: *mut c_void,
15420 pub tracking_mode: TrackableMarkerTrackingModeANDROID,
15421 pub database_count: u32,
15422 pub databases: *const TrackableMarkerDatabaseANDROID,
15423}
15424#[cfg(target_os = "android")]
15425impl TrackableMarkerConfigurationANDROID {
15426 pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_CONFIGURATION_ANDROID;
15427 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15428 #[inline]
15429 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15430 let mut x = MaybeUninit::<Self>::uninit();
15431 unsafe {
15432 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15433 ty: Self::TYPE,
15434 next,
15435 });
15436 }
15437 x
15438 }
15439}
15440#[repr(C)]
15441#[derive(Copy, Clone, Debug)]
15442#[doc = "See [XrTrackableMarkerDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDatabaseANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15443#[cfg(target_os = "android")]
15444pub struct TrackableMarkerDatabaseANDROID {
15445 pub dictionary: TrackableMarkerDictionaryANDROID,
15446 pub entry_count: u32,
15447 pub entries: *const TrackableMarkerDatabaseEntryANDROID,
15448}
15449#[repr(C)]
15450#[derive(Copy, Clone, Debug, Default, PartialEq)]
15451#[doc = "See [XrTrackableMarkerDatabaseEntryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDatabaseEntryANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15452#[cfg(target_os = "android")]
15453pub struct TrackableMarkerDatabaseEntryANDROID {
15454 pub id: i32,
15455 pub edge_size: f32,
15456}
15457#[repr(C)]
15458#[derive(Copy, Clone, Debug)]
15459#[doc = "See [XrTrackableMarkerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
15460#[cfg(target_os = "android")]
15461pub struct TrackableMarkerANDROID {
15462 pub ty: StructureType,
15463 pub next: *mut c_void,
15464 pub tracking_state: TrackingStateANDROID,
15465 pub last_updated_time: Time,
15466 pub dictionary: TrackableMarkerDictionaryANDROID,
15467 pub marker_id: i32,
15468 pub center_pose: Posef,
15469 pub extents: Extent2Df,
15470}
15471#[cfg(target_os = "android")]
15472impl TrackableMarkerANDROID {
15473 pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_ANDROID;
15474 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15475 #[inline]
15476 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15477 let mut x = MaybeUninit::<Self>::uninit();
15478 unsafe {
15479 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15480 ty: Self::TYPE,
15481 next,
15482 });
15483 }
15484 x
15485 }
15486}
15487#[repr(C)]
15488#[derive(Copy, Clone, Debug)]
15489#[doc = "See [XrSystemAnchorSharingExportPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemAnchorSharingExportPropertiesANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
15490#[cfg(target_os = "android")]
15491pub struct SystemAnchorSharingExportPropertiesANDROID {
15492 pub ty: StructureType,
15493 pub next: *mut c_void,
15494 pub supports_anchor_sharing_export: Bool32,
15495}
15496#[cfg(target_os = "android")]
15497impl SystemAnchorSharingExportPropertiesANDROID {
15498 pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID;
15499 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15500 #[inline]
15501 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15502 let mut x = MaybeUninit::<Self>::uninit();
15503 unsafe {
15504 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15505 ty: Self::TYPE,
15506 next,
15507 });
15508 }
15509 x
15510 }
15511}
15512#[repr(C)]
15513#[derive(Copy, Clone, Debug)]
15514#[doc = "See [XrAnchorSharingInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSharingInfoANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
15515#[cfg(target_os = "android")]
15516pub struct AnchorSharingInfoANDROID {
15517 pub ty: StructureType,
15518 pub next: *const c_void,
15519 pub anchor: Space,
15520}
15521#[cfg(target_os = "android")]
15522impl AnchorSharingInfoANDROID {
15523 pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_INFO_ANDROID;
15524}
15525#[repr(C)]
15526#[derive(Copy, Clone, Debug)]
15527#[doc = "See [XrAnchorSharingTokenANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSharingTokenANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
15528#[cfg(target_os = "android")]
15529pub struct AnchorSharingTokenANDROID {
15530 pub ty: StructureType,
15531 pub next: *mut c_void,
15532 pub token: *mut AIBinder,
15533}
15534#[cfg(target_os = "android")]
15535impl AnchorSharingTokenANDROID {
15536 pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_TOKEN_ANDROID;
15537 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15538 #[inline]
15539 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15540 let mut x = MaybeUninit::<Self>::uninit();
15541 unsafe {
15542 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15543 ty: Self::TYPE,
15544 next,
15545 });
15546 }
15547 x
15548 }
15549}
15550#[repr(C)]
15551#[derive(Copy, Clone, Debug)]
15552#[doc = "See [XrDeviceAnchorPersistenceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDeviceAnchorPersistenceCreateInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15553#[cfg(target_os = "android")]
15554pub struct DeviceAnchorPersistenceCreateInfoANDROID {
15555 pub ty: StructureType,
15556 pub next: *const c_void,
15557}
15558#[cfg(target_os = "android")]
15559impl DeviceAnchorPersistenceCreateInfoANDROID {
15560 pub const TYPE: StructureType = StructureType::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID;
15561}
15562#[repr(C)]
15563#[derive(Copy, Clone, Debug)]
15564#[doc = "See [XrPersistedAnchorSpaceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistedAnchorSpaceCreateInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15565#[cfg(target_os = "android")]
15566pub struct PersistedAnchorSpaceCreateInfoANDROID {
15567 pub ty: StructureType,
15568 pub next: *const c_void,
15569 pub anchor_id: UuidEXT,
15570}
15571#[cfg(target_os = "android")]
15572impl PersistedAnchorSpaceCreateInfoANDROID {
15573 pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID;
15574}
15575#[repr(C)]
15576#[derive(Copy, Clone, Debug)]
15577#[doc = "See [XrPersistedAnchorSpaceInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistedAnchorSpaceInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15578#[cfg(target_os = "android")]
15579pub struct PersistedAnchorSpaceInfoANDROID {
15580 pub ty: StructureType,
15581 pub next: *const c_void,
15582 pub anchor: Space,
15583}
15584#[cfg(target_os = "android")]
15585impl PersistedAnchorSpaceInfoANDROID {
15586 pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_INFO_ANDROID;
15587}
15588#[repr(C)]
15589#[derive(Copy, Clone, Debug)]
15590#[doc = "See [XrSystemDeviceAnchorPersistencePropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemDeviceAnchorPersistencePropertiesANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
15591#[cfg(target_os = "android")]
15592pub struct SystemDeviceAnchorPersistencePropertiesANDROID {
15593 pub ty: StructureType,
15594 pub next: *mut c_void,
15595 pub supports_anchor_persistence: Bool32,
15596}
15597#[cfg(target_os = "android")]
15598impl SystemDeviceAnchorPersistencePropertiesANDROID {
15599 pub const TYPE: StructureType =
15600 StructureType::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID;
15601 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15602 #[inline]
15603 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15604 let mut x = MaybeUninit::<Self>::uninit();
15605 unsafe {
15606 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15607 ty: Self::TYPE,
15608 next,
15609 });
15610 }
15611 x
15612 }
15613}
15614#[repr(C)]
15615#[derive(Copy, Clone, Debug)]
15616#[doc = "See [XrSystemPlaneDetectionPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPlaneDetectionPropertiesEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15617pub struct SystemPlaneDetectionPropertiesEXT {
15618 pub ty: StructureType,
15619 pub next: *mut c_void,
15620 pub supported_features: PlaneDetectionCapabilityFlagsEXT,
15621}
15622impl SystemPlaneDetectionPropertiesEXT {
15623 pub const TYPE: StructureType = StructureType::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT;
15624 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15625 #[inline]
15626 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15627 let mut x = MaybeUninit::<Self>::uninit();
15628 unsafe {
15629 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15630 ty: Self::TYPE,
15631 next,
15632 });
15633 }
15634 x
15635 }
15636}
15637#[repr(C)]
15638#[derive(Copy, Clone, Debug)]
15639#[doc = "See [XrPlaneDetectorCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorCreateInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15640pub struct PlaneDetectorCreateInfoEXT {
15641 pub ty: StructureType,
15642 pub next: *const c_void,
15643 pub flags: PlaneDetectorFlagsEXT,
15644}
15645impl PlaneDetectorCreateInfoEXT {
15646 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_CREATE_INFO_EXT;
15647}
15648#[repr(C)]
15649#[derive(Copy, Clone, Debug)]
15650#[doc = "See [XrPlaneDetectorBeginInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorBeginInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15651pub struct PlaneDetectorBeginInfoEXT {
15652 pub ty: StructureType,
15653 pub next: *const c_void,
15654 pub base_space: Space,
15655 pub time: Time,
15656 pub orientation_count: u32,
15657 pub orientations: *const PlaneDetectorOrientationEXT,
15658 pub semantic_type_count: u32,
15659 pub semantic_types: *const PlaneDetectorSemanticTypeEXT,
15660 pub max_planes: u32,
15661 pub min_area: f32,
15662 pub bounding_box_pose: Posef,
15663 pub bounding_box_extent: Extent3DfEXT,
15664}
15665impl PlaneDetectorBeginInfoEXT {
15666 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_BEGIN_INFO_EXT;
15667}
15668#[repr(C)]
15669#[derive(Copy, Clone, Debug)]
15670#[doc = "See [XrPlaneDetectorGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorGetInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15671pub struct PlaneDetectorGetInfoEXT {
15672 pub ty: StructureType,
15673 pub next: *const c_void,
15674 pub base_space: Space,
15675 pub time: Time,
15676}
15677impl PlaneDetectorGetInfoEXT {
15678 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_GET_INFO_EXT;
15679}
15680#[repr(C)]
15681#[derive(Copy, Clone, Debug)]
15682#[doc = "See [XrPlaneDetectorLocationsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorLocationsEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15683pub struct PlaneDetectorLocationsEXT {
15684 pub ty: StructureType,
15685 pub next: *mut c_void,
15686 pub plane_location_capacity_input: u32,
15687 pub plane_location_count_output: u32,
15688 pub plane_locations: *mut PlaneDetectorLocationEXT,
15689}
15690impl PlaneDetectorLocationsEXT {
15691 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATIONS_EXT;
15692 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15693 #[inline]
15694 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15695 let mut x = MaybeUninit::<Self>::uninit();
15696 unsafe {
15697 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15698 ty: Self::TYPE,
15699 next,
15700 });
15701 }
15702 x
15703 }
15704}
15705#[repr(C)]
15706#[derive(Copy, Clone, Debug)]
15707#[doc = "See [XrPlaneDetectorLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorLocationEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15708pub struct PlaneDetectorLocationEXT {
15709 pub ty: StructureType,
15710 pub next: *mut c_void,
15711 pub plane_id: u64,
15712 pub location_flags: SpaceLocationFlags,
15713 pub pose: Posef,
15714 pub extents: Extent2Df,
15715 pub orientation: PlaneDetectorOrientationEXT,
15716 pub semantic_type: PlaneDetectorSemanticTypeEXT,
15717 pub polygon_buffer_count: u32,
15718}
15719impl PlaneDetectorLocationEXT {
15720 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATION_EXT;
15721 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15722 #[inline]
15723 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15724 let mut x = MaybeUninit::<Self>::uninit();
15725 unsafe {
15726 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15727 ty: Self::TYPE,
15728 next,
15729 });
15730 }
15731 x
15732 }
15733}
15734#[repr(C)]
15735#[derive(Copy, Clone, Debug)]
15736#[doc = "See [XrPlaneDetectorPolygonBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorPolygonBufferEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
15737pub struct PlaneDetectorPolygonBufferEXT {
15738 pub ty: StructureType,
15739 pub next: *mut c_void,
15740 pub vertex_capacity_input: u32,
15741 pub vertex_count_output: u32,
15742 pub vertices: *mut Vector2f,
15743}
15744impl PlaneDetectorPolygonBufferEXT {
15745 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_POLYGON_BUFFER_EXT;
15746 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15747 #[inline]
15748 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15749 let mut x = MaybeUninit::<Self>::uninit();
15750 unsafe {
15751 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15752 ty: Self::TYPE,
15753 next,
15754 });
15755 }
15756 x
15757 }
15758}
15759#[repr(C)]
15760#[derive(Copy, Clone, Debug)]
15761#[doc = "See [XrSystemVirtualKeyboardPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemVirtualKeyboardPropertiesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15762pub struct SystemVirtualKeyboardPropertiesMETA {
15763 pub ty: StructureType,
15764 pub next: *mut c_void,
15765 pub supports_virtual_keyboard: Bool32,
15766}
15767impl SystemVirtualKeyboardPropertiesMETA {
15768 pub const TYPE: StructureType = StructureType::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META;
15769 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15770 #[inline]
15771 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15772 let mut x = MaybeUninit::<Self>::uninit();
15773 unsafe {
15774 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15775 ty: Self::TYPE,
15776 next,
15777 });
15778 }
15779 x
15780 }
15781}
15782#[repr(C)]
15783#[derive(Copy, Clone, Debug)]
15784#[doc = "See [XrVirtualKeyboardCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardCreateInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15785pub struct VirtualKeyboardCreateInfoMETA {
15786 pub ty: StructureType,
15787 pub next: *const c_void,
15788}
15789impl VirtualKeyboardCreateInfoMETA {
15790 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_CREATE_INFO_META;
15791}
15792#[repr(C)]
15793#[derive(Copy, Clone, Debug)]
15794#[doc = "See [XrVirtualKeyboardSpaceCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardSpaceCreateInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15795pub struct VirtualKeyboardSpaceCreateInfoMETA {
15796 pub ty: StructureType,
15797 pub next: *const c_void,
15798 pub location_type: VirtualKeyboardLocationTypeMETA,
15799 pub space: Space,
15800 pub pose_in_space: Posef,
15801}
15802impl VirtualKeyboardSpaceCreateInfoMETA {
15803 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META;
15804}
15805#[repr(C)]
15806#[derive(Copy, Clone, Debug)]
15807#[doc = "See [XrVirtualKeyboardLocationInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardLocationInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15808pub struct VirtualKeyboardLocationInfoMETA {
15809 pub ty: StructureType,
15810 pub next: *const c_void,
15811 pub location_type: VirtualKeyboardLocationTypeMETA,
15812 pub space: Space,
15813 pub pose_in_space: Posef,
15814 pub scale: f32,
15815}
15816impl VirtualKeyboardLocationInfoMETA {
15817 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_LOCATION_INFO_META;
15818}
15819#[repr(C)]
15820#[derive(Copy, Clone, Debug)]
15821#[doc = "See [XrVirtualKeyboardModelVisibilitySetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardModelVisibilitySetInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15822pub struct VirtualKeyboardModelVisibilitySetInfoMETA {
15823 pub ty: StructureType,
15824 pub next: *const c_void,
15825 pub visible: Bool32,
15826}
15827impl VirtualKeyboardModelVisibilitySetInfoMETA {
15828 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META;
15829}
15830#[repr(C)]
15831#[derive(Copy, Clone, Debug)]
15832#[doc = "See [XrVirtualKeyboardAnimationStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardAnimationStateMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15833pub struct VirtualKeyboardAnimationStateMETA {
15834 pub ty: StructureType,
15835 pub next: *mut c_void,
15836 pub animation_index: i32,
15837 pub fraction: f32,
15838}
15839impl VirtualKeyboardAnimationStateMETA {
15840 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_ANIMATION_STATE_META;
15841 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15842 #[inline]
15843 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15844 let mut x = MaybeUninit::<Self>::uninit();
15845 unsafe {
15846 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15847 ty: Self::TYPE,
15848 next,
15849 });
15850 }
15851 x
15852 }
15853}
15854#[repr(C)]
15855#[derive(Copy, Clone, Debug)]
15856#[doc = "See [XrVirtualKeyboardModelAnimationStatesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardModelAnimationStatesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15857pub struct VirtualKeyboardModelAnimationStatesMETA {
15858 pub ty: StructureType,
15859 pub next: *mut c_void,
15860 pub state_capacity_input: u32,
15861 pub state_count_output: u32,
15862 pub states: *mut VirtualKeyboardAnimationStateMETA,
15863}
15864impl VirtualKeyboardModelAnimationStatesMETA {
15865 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META;
15866 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15867 #[inline]
15868 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15869 let mut x = MaybeUninit::<Self>::uninit();
15870 unsafe {
15871 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15872 ty: Self::TYPE,
15873 next,
15874 });
15875 }
15876 x
15877 }
15878}
15879#[repr(C)]
15880#[derive(Copy, Clone, Debug)]
15881#[doc = "See [XrVirtualKeyboardTextureDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardTextureDataMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15882pub struct VirtualKeyboardTextureDataMETA {
15883 pub ty: StructureType,
15884 pub next: *mut c_void,
15885 pub texture_width: u32,
15886 pub texture_height: u32,
15887 pub buffer_capacity_input: u32,
15888 pub buffer_count_output: u32,
15889 pub buffer: *mut u8,
15890}
15891impl VirtualKeyboardTextureDataMETA {
15892 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXTURE_DATA_META;
15893 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15894 #[inline]
15895 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15896 let mut x = MaybeUninit::<Self>::uninit();
15897 unsafe {
15898 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15899 ty: Self::TYPE,
15900 next,
15901 });
15902 }
15903 x
15904 }
15905}
15906#[repr(C)]
15907#[derive(Copy, Clone, Debug)]
15908#[doc = "See [XrVirtualKeyboardInputInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15909pub struct VirtualKeyboardInputInfoMETA {
15910 pub ty: StructureType,
15911 pub next: *const c_void,
15912 pub input_source: VirtualKeyboardInputSourceMETA,
15913 pub input_space: Space,
15914 pub input_pose_in_space: Posef,
15915 pub input_state: VirtualKeyboardInputStateFlagsMETA,
15916}
15917impl VirtualKeyboardInputInfoMETA {
15918 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_INPUT_INFO_META;
15919}
15920#[repr(C)]
15921#[derive(Copy, Clone, Debug)]
15922#[doc = "See [XrVirtualKeyboardTextContextChangeInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardTextContextChangeInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15923pub struct VirtualKeyboardTextContextChangeInfoMETA {
15924 pub ty: StructureType,
15925 pub next: *const c_void,
15926 pub text_context: *const c_char,
15927}
15928impl VirtualKeyboardTextContextChangeInfoMETA {
15929 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META;
15930}
15931#[repr(C)]
15932#[derive(Copy, Clone, Debug)]
15933#[doc = "See [XrEventDataVirtualKeyboardCommitTextMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardCommitTextMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15934pub struct EventDataVirtualKeyboardCommitTextMETA {
15935 pub ty: StructureType,
15936 pub next: *const c_void,
15937 pub keyboard: VirtualKeyboardMETA,
15938 pub text: [c_char; MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META],
15939}
15940impl EventDataVirtualKeyboardCommitTextMETA {
15941 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META;
15942}
15943#[repr(C)]
15944#[derive(Copy, Clone, Debug)]
15945#[doc = "See [XrEventDataVirtualKeyboardBackspaceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardBackspaceMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15946pub struct EventDataVirtualKeyboardBackspaceMETA {
15947 pub ty: StructureType,
15948 pub next: *const c_void,
15949 pub keyboard: VirtualKeyboardMETA,
15950}
15951impl EventDataVirtualKeyboardBackspaceMETA {
15952 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META;
15953}
15954#[repr(C)]
15955#[derive(Copy, Clone, Debug)]
15956#[doc = "See [XrEventDataVirtualKeyboardEnterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardEnterMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15957pub struct EventDataVirtualKeyboardEnterMETA {
15958 pub ty: StructureType,
15959 pub next: *const c_void,
15960 pub keyboard: VirtualKeyboardMETA,
15961}
15962impl EventDataVirtualKeyboardEnterMETA {
15963 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META;
15964}
15965#[repr(C)]
15966#[derive(Copy, Clone, Debug)]
15967#[doc = "See [XrEventDataVirtualKeyboardShownMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardShownMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15968pub struct EventDataVirtualKeyboardShownMETA {
15969 pub ty: StructureType,
15970 pub next: *const c_void,
15971 pub keyboard: VirtualKeyboardMETA,
15972}
15973impl EventDataVirtualKeyboardShownMETA {
15974 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META;
15975}
15976#[repr(C)]
15977#[derive(Copy, Clone, Debug)]
15978#[doc = "See [XrEventDataVirtualKeyboardHiddenMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardHiddenMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
15979pub struct EventDataVirtualKeyboardHiddenMETA {
15980 pub ty: StructureType,
15981 pub next: *const c_void,
15982 pub keyboard: VirtualKeyboardMETA,
15983}
15984impl EventDataVirtualKeyboardHiddenMETA {
15985 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META;
15986}
15987#[repr(C)]
15988#[derive(Copy, Clone, Debug)]
15989#[doc = "See [XrUserCalibrationEnableEventsInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUserCalibrationEnableEventsInfoML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
15990pub struct UserCalibrationEnableEventsInfoML {
15991 pub ty: StructureType,
15992 pub next: *const c_void,
15993 pub enabled: Bool32,
15994}
15995impl UserCalibrationEnableEventsInfoML {
15996 pub const TYPE: StructureType = StructureType::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML;
15997}
15998#[repr(C)]
15999#[derive(Copy, Clone, Debug)]
16000#[doc = "See [XrEventDataHeadsetFitChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataHeadsetFitChangedML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
16001pub struct EventDataHeadsetFitChangedML {
16002 pub ty: StructureType,
16003 pub next: *const c_void,
16004 pub status: HeadsetFitStatusML,
16005 pub time: Time,
16006}
16007impl EventDataHeadsetFitChangedML {
16008 pub const TYPE: StructureType = StructureType::EVENT_DATA_HEADSET_FIT_CHANGED_ML;
16009}
16010#[repr(C)]
16011#[derive(Copy, Clone, Debug)]
16012#[doc = "See [XrEventDataEyeCalibrationChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataEyeCalibrationChangedML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
16013pub struct EventDataEyeCalibrationChangedML {
16014 pub ty: StructureType,
16015 pub next: *const c_void,
16016 pub status: EyeCalibrationStatusML,
16017}
16018impl EventDataEyeCalibrationChangedML {
16019 pub const TYPE: StructureType = StructureType::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML;
16020}
16021#[repr(C)]
16022#[derive(Copy, Clone, Debug)]
16023#[doc = "See [XrLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16024pub struct LocalizationMapML {
16025 pub ty: StructureType,
16026 pub next: *mut c_void,
16027 pub name: [c_char; MAX_LOCALIZATION_MAP_NAME_LENGTH_ML],
16028 pub map_uuid: UuidEXT,
16029 pub map_type: LocalizationMapTypeML,
16030}
16031impl LocalizationMapML {
16032 pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_ML;
16033 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16034 #[inline]
16035 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16036 let mut x = MaybeUninit::<Self>::uninit();
16037 unsafe {
16038 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16039 ty: Self::TYPE,
16040 next,
16041 });
16042 }
16043 x
16044 }
16045}
16046#[repr(C)]
16047#[derive(Copy, Clone, Debug)]
16048#[doc = "See [XrLocalizationEnableEventsInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationEnableEventsInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16049pub struct LocalizationEnableEventsInfoML {
16050 pub ty: StructureType,
16051 pub next: *const c_void,
16052 pub enabled: Bool32,
16053}
16054impl LocalizationEnableEventsInfoML {
16055 pub const TYPE: StructureType = StructureType::LOCALIZATION_ENABLE_EVENTS_INFO_ML;
16056}
16057#[repr(C)]
16058#[derive(Copy, Clone, Debug)]
16059#[doc = "See [XrEventDataLocalizationChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataLocalizationChangedML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16060pub struct EventDataLocalizationChangedML {
16061 pub ty: StructureType,
16062 pub next: *const c_void,
16063 pub session: Session,
16064 pub state: LocalizationMapStateML,
16065 pub map: LocalizationMapML,
16066 pub confidence: LocalizationMapConfidenceML,
16067 pub error_flags: LocalizationMapErrorFlagsML,
16068}
16069impl EventDataLocalizationChangedML {
16070 pub const TYPE: StructureType = StructureType::EVENT_DATA_LOCALIZATION_CHANGED_ML;
16071}
16072#[repr(C)]
16073#[derive(Copy, Clone, Debug)]
16074#[doc = "See [XrLocalizationMapQueryInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapQueryInfoBaseHeaderML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16075pub struct LocalizationMapQueryInfoBaseHeaderML {
16076 pub ty: StructureType,
16077 pub next: *const c_void,
16078}
16079#[repr(C)]
16080#[derive(Copy, Clone, Debug)]
16081#[doc = "See [XrMapLocalizationRequestInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMapLocalizationRequestInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16082pub struct MapLocalizationRequestInfoML {
16083 pub ty: StructureType,
16084 pub next: *const c_void,
16085 pub map_uuid: UuidEXT,
16086}
16087impl MapLocalizationRequestInfoML {
16088 pub const TYPE: StructureType = StructureType::MAP_LOCALIZATION_REQUEST_INFO_ML;
16089}
16090#[repr(C)]
16091#[derive(Copy, Clone, Debug)]
16092#[doc = "See [XrLocalizationMapImportInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapImportInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
16093pub struct LocalizationMapImportInfoML {
16094 pub ty: StructureType,
16095 pub next: *const c_void,
16096 pub size: u32,
16097 pub data: *mut c_char,
16098}
16099impl LocalizationMapImportInfoML {
16100 pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_IMPORT_INFO_ML;
16101}
16102#[repr(C)]
16103#[derive(Copy, Clone, Debug)]
16104#[doc = "See [XrSystemMarkerUnderstandingPropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerUnderstandingPropertiesML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16105pub struct SystemMarkerUnderstandingPropertiesML {
16106 pub ty: StructureType,
16107 pub next: *mut c_void,
16108 pub supports_marker_understanding: Bool32,
16109}
16110impl SystemMarkerUnderstandingPropertiesML {
16111 pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML;
16112 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16113 #[inline]
16114 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16115 let mut x = MaybeUninit::<Self>::uninit();
16116 unsafe {
16117 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16118 ty: Self::TYPE,
16119 next,
16120 });
16121 }
16122 x
16123 }
16124}
16125#[repr(C)]
16126#[derive(Copy, Clone, Debug)]
16127#[doc = "See [XrMarkerDetectorCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCreateInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16128pub struct MarkerDetectorCreateInfoML {
16129 pub ty: StructureType,
16130 pub next: *const c_void,
16131 pub profile: MarkerDetectorProfileML,
16132 pub marker_type: MarkerTypeML,
16133}
16134impl MarkerDetectorCreateInfoML {
16135 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CREATE_INFO_ML;
16136}
16137#[repr(C)]
16138#[derive(Copy, Clone, Debug)]
16139#[doc = "See [XrMarkerDetectorArucoInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorArucoInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16140pub struct MarkerDetectorArucoInfoML {
16141 pub ty: StructureType,
16142 pub next: *const c_void,
16143 pub aruco_dict: MarkerArucoDictML,
16144}
16145impl MarkerDetectorArucoInfoML {
16146 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_ARUCO_INFO_ML;
16147}
16148#[repr(C)]
16149#[derive(Copy, Clone, Debug)]
16150#[doc = "See [XrMarkerDetectorSizeInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorSizeInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16151pub struct MarkerDetectorSizeInfoML {
16152 pub ty: StructureType,
16153 pub next: *const c_void,
16154 pub marker_length: f32,
16155}
16156impl MarkerDetectorSizeInfoML {
16157 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SIZE_INFO_ML;
16158}
16159#[repr(C)]
16160#[derive(Copy, Clone, Debug)]
16161#[doc = "See [XrMarkerDetectorAprilTagInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorAprilTagInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16162pub struct MarkerDetectorAprilTagInfoML {
16163 pub ty: StructureType,
16164 pub next: *const c_void,
16165 pub april_tag_dict: MarkerAprilTagDictML,
16166}
16167impl MarkerDetectorAprilTagInfoML {
16168 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_APRIL_TAG_INFO_ML;
16169}
16170#[repr(C)]
16171#[derive(Copy, Clone, Debug)]
16172#[doc = "See [XrMarkerDetectorCustomProfileInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCustomProfileInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16173pub struct MarkerDetectorCustomProfileInfoML {
16174 pub ty: StructureType,
16175 pub next: *const c_void,
16176 pub fps_hint: MarkerDetectorFpsML,
16177 pub resolution_hint: MarkerDetectorResolutionML,
16178 pub camera_hint: MarkerDetectorCameraML,
16179 pub corner_refine_method: MarkerDetectorCornerRefineMethodML,
16180 pub use_edge_refinement: Bool32,
16181 pub full_analysis_interval_hint: MarkerDetectorFullAnalysisIntervalML,
16182}
16183impl MarkerDetectorCustomProfileInfoML {
16184 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML;
16185}
16186#[repr(C)]
16187#[derive(Copy, Clone, Debug)]
16188#[doc = "See [XrMarkerDetectorSnapshotInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorSnapshotInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16189pub struct MarkerDetectorSnapshotInfoML {
16190 pub ty: StructureType,
16191 pub next: *const c_void,
16192}
16193impl MarkerDetectorSnapshotInfoML {
16194 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SNAPSHOT_INFO_ML;
16195}
16196#[repr(C)]
16197#[derive(Copy, Clone, Debug)]
16198#[doc = "See [XrMarkerDetectorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorStateML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16199pub struct MarkerDetectorStateML {
16200 pub ty: StructureType,
16201 pub next: *mut c_void,
16202 pub state: MarkerDetectorStatusML,
16203}
16204impl MarkerDetectorStateML {
16205 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_STATE_ML;
16206 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16207 #[inline]
16208 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16209 let mut x = MaybeUninit::<Self>::uninit();
16210 unsafe {
16211 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16212 ty: Self::TYPE,
16213 next,
16214 });
16215 }
16216 x
16217 }
16218}
16219#[repr(C)]
16220#[derive(Copy, Clone, Debug)]
16221#[doc = "See [XrMarkerSpaceCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerSpaceCreateInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
16222pub struct MarkerSpaceCreateInfoML {
16223 pub ty: StructureType,
16224 pub next: *const c_void,
16225 pub marker_detector: MarkerDetectorML,
16226 pub marker: MarkerML,
16227 pub pose_in_marker_space: Posef,
16228}
16229impl MarkerSpaceCreateInfoML {
16230 pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_ML;
16231}
16232#[repr(C)]
16233#[derive(Copy, Clone, Debug, Default, PartialEq)]
16234#[doc = "See [XrColor3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor3f)"]
16235pub struct Color3f {
16236 pub r: f32,
16237 pub g: f32,
16238 pub b: f32,
16239}
16240pub type Color3fKHR = Color3f;
16241#[repr(C)]
16242#[derive(Copy, Clone, Debug, Default, PartialEq)]
16243#[doc = "See [XrExtent3Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent3Df)"]
16244pub struct Extent3Df {
16245 pub width: f32,
16246 pub height: f32,
16247 pub depth: f32,
16248}
16249pub type Extent3DfEXT = Extent3Df;
16250pub type Extent3DfFB = Extent3Df;
16251pub type Extent3DfKHR = Extent3Df;
16252#[repr(C)]
16253#[derive(Copy, Clone, Debug, Default, PartialEq)]
16254#[doc = "See [XrSpheref](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpheref)"]
16255pub struct Spheref {
16256 pub center: Posef,
16257 pub radius: f32,
16258}
16259pub type SpherefKHR = Spheref;
16260#[repr(C)]
16261#[derive(Copy, Clone, Debug, Default, PartialEq)]
16262#[doc = "See [XrBoxf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoxf)"]
16263pub struct Boxf {
16264 pub center: Posef,
16265 pub extents: Extent3Df,
16266}
16267pub type BoxfKHR = Boxf;
16268#[repr(C)]
16269#[derive(Copy, Clone, Debug, Default, PartialEq)]
16270#[doc = "See [XrFrustumf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrustumf)"]
16271pub struct Frustumf {
16272 pub pose: Posef,
16273 pub fov: Fovf,
16274 pub near_z: f32,
16275 pub far_z: f32,
16276}
16277pub type FrustumfKHR = Frustumf;
16278#[repr(C)]
16279#[derive(Copy, Clone, Debug, Default, PartialEq)]
16280#[doc = "See [XrUuid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUuid)"]
16281pub struct Uuid {
16282 pub data: [u8; UUID_SIZE],
16283}
16284pub type UuidEXT = Uuid;
16285#[repr(C)]
16286#[derive(Copy, Clone, Debug)]
16287#[doc = "See [XrSystemFacialExpressionPropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialExpressionPropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16288pub struct SystemFacialExpressionPropertiesML {
16289 pub ty: StructureType,
16290 pub next: *mut c_void,
16291 pub supports_facial_expression: Bool32,
16292}
16293impl SystemFacialExpressionPropertiesML {
16294 pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML;
16295 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16296 #[inline]
16297 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16298 let mut x = MaybeUninit::<Self>::uninit();
16299 unsafe {
16300 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16301 ty: Self::TYPE,
16302 next,
16303 });
16304 }
16305 x
16306 }
16307}
16308#[repr(C)]
16309#[derive(Copy, Clone, Debug)]
16310#[doc = "See [XrFacialExpressionClientCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionClientCreateInfoML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16311pub struct FacialExpressionClientCreateInfoML {
16312 pub ty: StructureType,
16313 pub next: *const c_void,
16314 pub requested_count: u32,
16315 pub requested_facial_blend_shapes: *const FacialBlendShapeML,
16316}
16317impl FacialExpressionClientCreateInfoML {
16318 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML;
16319}
16320#[repr(C)]
16321#[derive(Copy, Clone, Debug)]
16322#[doc = "See [XrFacialExpressionBlendShapePropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapePropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16323pub struct FacialExpressionBlendShapePropertiesML {
16324 pub ty: StructureType,
16325 pub next: *mut c_void,
16326 pub requested_facial_blend_shape: FacialBlendShapeML,
16327 pub weight: f32,
16328 pub flags: FacialExpressionBlendShapePropertiesFlagsML,
16329 pub time: Time,
16330}
16331impl FacialExpressionBlendShapePropertiesML {
16332 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML;
16333 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16334 #[inline]
16335 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16336 let mut x = MaybeUninit::<Self>::uninit();
16337 unsafe {
16338 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16339 ty: Self::TYPE,
16340 next,
16341 });
16342 }
16343 x
16344 }
16345}
16346#[repr(C)]
16347#[derive(Copy, Clone, Debug)]
16348#[doc = "See [XrFacialExpressionBlendShapeGetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapeGetInfoML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
16349pub struct FacialExpressionBlendShapeGetInfoML {
16350 pub ty: StructureType,
16351 pub next: *const c_void,
16352}
16353impl FacialExpressionBlendShapeGetInfoML {
16354 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML;
16355}
16356#[repr(C)]
16357#[derive(Copy, Clone, Debug)]
16358#[doc = "See [XrRecommendedLayerResolutionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRecommendedLayerResolutionMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
16359pub struct RecommendedLayerResolutionMETA {
16360 pub ty: StructureType,
16361 pub next: *mut c_void,
16362 pub recommended_image_dimensions: Extent2Di,
16363 pub is_valid: Bool32,
16364}
16365impl RecommendedLayerResolutionMETA {
16366 pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_META;
16367 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16368 #[inline]
16369 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16370 let mut x = MaybeUninit::<Self>::uninit();
16371 unsafe {
16372 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16373 ty: Self::TYPE,
16374 next,
16375 });
16376 }
16377 x
16378 }
16379}
16380#[repr(C)]
16381#[derive(Copy, Clone, Debug)]
16382#[doc = "See [XrRecommendedLayerResolutionGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRecommendedLayerResolutionGetInfoMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
16383pub struct RecommendedLayerResolutionGetInfoMETA {
16384 pub ty: StructureType,
16385 pub next: *const c_void,
16386 pub layer: *const CompositionLayerBaseHeader,
16387 pub predicted_display_time: Time,
16388}
16389impl RecommendedLayerResolutionGetInfoMETA {
16390 pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META;
16391}
16392#[repr(C)]
16393#[derive(Copy, Clone, Debug)]
16394#[doc = "See [XrSystemUserPresencePropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemUserPresencePropertiesEXT) - defined by [XR_EXT_user_presence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_user_presence)"]
16395pub struct SystemUserPresencePropertiesEXT {
16396 pub ty: StructureType,
16397 pub next: *mut c_void,
16398 pub supports_user_presence: Bool32,
16399}
16400impl SystemUserPresencePropertiesEXT {
16401 pub const TYPE: StructureType = StructureType::SYSTEM_USER_PRESENCE_PROPERTIES_EXT;
16402 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16403 #[inline]
16404 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16405 let mut x = MaybeUninit::<Self>::uninit();
16406 unsafe {
16407 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16408 ty: Self::TYPE,
16409 next,
16410 });
16411 }
16412 x
16413 }
16414}
16415#[repr(C)]
16416#[derive(Copy, Clone, Debug)]
16417#[doc = "See [XrEventDataUserPresenceChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataUserPresenceChangedEXT) - defined by [XR_EXT_user_presence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_user_presence)"]
16418pub struct EventDataUserPresenceChangedEXT {
16419 pub ty: StructureType,
16420 pub next: *const c_void,
16421 pub session: Session,
16422 pub is_user_present: Bool32,
16423}
16424impl EventDataUserPresenceChangedEXT {
16425 pub const TYPE: StructureType = StructureType::EVENT_DATA_USER_PRESENCE_CHANGED_EXT;
16426}
16427#[repr(C)]
16428#[derive(Copy, Clone, Debug)]
16429#[doc = "See [XrFutureCompletionBaseHeaderEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCompletionBaseHeaderEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16430pub struct FutureCompletionBaseHeaderEXT {
16431 pub ty: StructureType,
16432 pub next: *mut c_void,
16433 pub future_result: Result,
16434}
16435#[repr(C)]
16436#[derive(Copy, Clone, Debug)]
16437#[doc = "See [XrFutureCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCompletionEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16438pub struct FutureCompletionEXT {
16439 pub ty: StructureType,
16440 pub next: *mut c_void,
16441 pub future_result: Result,
16442}
16443impl FutureCompletionEXT {
16444 pub const TYPE: StructureType = StructureType::FUTURE_COMPLETION_EXT;
16445 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16446 #[inline]
16447 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16448 let mut x = MaybeUninit::<Self>::uninit();
16449 unsafe {
16450 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16451 ty: Self::TYPE,
16452 next,
16453 });
16454 }
16455 x
16456 }
16457}
16458#[repr(C)]
16459#[derive(Copy, Clone, Debug)]
16460#[doc = "See [XrFutureCancelInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCancelInfoEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16461pub struct FutureCancelInfoEXT {
16462 pub ty: StructureType,
16463 pub next: *const c_void,
16464 pub future: FutureEXT,
16465}
16466impl FutureCancelInfoEXT {
16467 pub const TYPE: StructureType = StructureType::FUTURE_CANCEL_INFO_EXT;
16468}
16469#[repr(C)]
16470#[derive(Copy, Clone, Debug)]
16471#[doc = "See [XrFuturePollInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollInfoEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16472pub struct FuturePollInfoEXT {
16473 pub ty: StructureType,
16474 pub next: *const c_void,
16475 pub future: FutureEXT,
16476}
16477impl FuturePollInfoEXT {
16478 pub const TYPE: StructureType = StructureType::FUTURE_POLL_INFO_EXT;
16479}
16480#[repr(C)]
16481#[derive(Copy, Clone, Debug)]
16482#[doc = "See [XrFuturePollResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollResultEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
16483pub struct FuturePollResultEXT {
16484 pub ty: StructureType,
16485 pub next: *mut c_void,
16486 pub state: FutureStateEXT,
16487}
16488impl FuturePollResultEXT {
16489 pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_EXT;
16490 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16491 #[inline]
16492 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16493 let mut x = MaybeUninit::<Self>::uninit();
16494 unsafe {
16495 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16496 ty: Self::TYPE,
16497 next,
16498 });
16499 }
16500 x
16501 }
16502}
16503#[repr(C)]
16504#[derive(Copy, Clone, Debug)]
16505#[doc = "See [XrEnvironmentDepthProviderCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderCreateInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16506pub struct EnvironmentDepthProviderCreateInfoMETA {
16507 pub ty: StructureType,
16508 pub next: *const c_void,
16509 pub create_flags: EnvironmentDepthProviderCreateFlagsMETA,
16510}
16511impl EnvironmentDepthProviderCreateInfoMETA {
16512 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META;
16513}
16514#[repr(C)]
16515#[derive(Copy, Clone, Debug)]
16516#[doc = "See [XrEnvironmentDepthSwapchainCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainCreateInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16517pub struct EnvironmentDepthSwapchainCreateInfoMETA {
16518 pub ty: StructureType,
16519 pub next: *const c_void,
16520 pub create_flags: EnvironmentDepthSwapchainCreateFlagsMETA,
16521}
16522impl EnvironmentDepthSwapchainCreateInfoMETA {
16523 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META;
16524}
16525#[repr(C)]
16526#[derive(Copy, Clone, Debug)]
16527#[doc = "See [XrEnvironmentDepthSwapchainStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainStateMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16528pub struct EnvironmentDepthSwapchainStateMETA {
16529 pub ty: StructureType,
16530 pub next: *mut c_void,
16531 pub width: u32,
16532 pub height: u32,
16533}
16534impl EnvironmentDepthSwapchainStateMETA {
16535 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META;
16536 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16537 #[inline]
16538 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16539 let mut x = MaybeUninit::<Self>::uninit();
16540 unsafe {
16541 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16542 ty: Self::TYPE,
16543 next,
16544 });
16545 }
16546 x
16547 }
16548}
16549#[repr(C)]
16550#[derive(Copy, Clone, Debug)]
16551#[doc = "See [XrEnvironmentDepthImageAcquireInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageAcquireInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16552pub struct EnvironmentDepthImageAcquireInfoMETA {
16553 pub ty: StructureType,
16554 pub next: *const c_void,
16555 pub space: Space,
16556 pub display_time: Time,
16557}
16558impl EnvironmentDepthImageAcquireInfoMETA {
16559 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META;
16560}
16561#[repr(C)]
16562#[derive(Copy, Clone, Debug)]
16563#[doc = "See [XrEnvironmentDepthImageViewMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageViewMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16564pub struct EnvironmentDepthImageViewMETA {
16565 pub ty: StructureType,
16566 pub next: *const c_void,
16567 pub fov: Fovf,
16568 pub pose: Posef,
16569}
16570impl EnvironmentDepthImageViewMETA {
16571 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_VIEW_META;
16572}
16573#[repr(C)]
16574#[derive(Copy, Clone, Debug)]
16575#[doc = "See [XrEnvironmentDepthImageMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16576pub struct EnvironmentDepthImageMETA {
16577 pub ty: StructureType,
16578 pub next: *const c_void,
16579 pub swapchain_index: u32,
16580 pub near_z: f32,
16581 pub far_z: f32,
16582 pub views: [EnvironmentDepthImageViewMETA; 2usize],
16583}
16584impl EnvironmentDepthImageMETA {
16585 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_META;
16586}
16587#[repr(C)]
16588#[derive(Copy, Clone, Debug)]
16589#[doc = "See [XrEnvironmentDepthImageTimestampMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageTimestampMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16590pub struct EnvironmentDepthImageTimestampMETA {
16591 pub ty: StructureType,
16592 pub next: *const c_void,
16593 pub capture_time: Time,
16594}
16595impl EnvironmentDepthImageTimestampMETA {
16596 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META;
16597}
16598#[repr(C)]
16599#[derive(Copy, Clone, Debug)]
16600#[doc = "See [XrEnvironmentDepthHandRemovalSetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthHandRemovalSetInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16601pub struct EnvironmentDepthHandRemovalSetInfoMETA {
16602 pub ty: StructureType,
16603 pub next: *const c_void,
16604 pub enabled: Bool32,
16605}
16606impl EnvironmentDepthHandRemovalSetInfoMETA {
16607 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META;
16608}
16609#[repr(C)]
16610#[derive(Copy, Clone, Debug)]
16611#[doc = "See [XrSystemEnvironmentDepthPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEnvironmentDepthPropertiesMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
16612pub struct SystemEnvironmentDepthPropertiesMETA {
16613 pub ty: StructureType,
16614 pub next: *mut c_void,
16615 pub supports_environment_depth: Bool32,
16616 pub supports_hand_removal: Bool32,
16617}
16618impl SystemEnvironmentDepthPropertiesMETA {
16619 pub const TYPE: StructureType = StructureType::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META;
16620 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16621 #[inline]
16622 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16623 let mut x = MaybeUninit::<Self>::uninit();
16624 unsafe {
16625 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16626 ty: Self::TYPE,
16627 next,
16628 });
16629 }
16630 x
16631 }
16632}
16633#[repr(C)]
16634#[derive(Copy, Clone, Debug)]
16635#[doc = "See [XrSpacesLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesLocateInfo)"]
16636pub struct SpacesLocateInfo {
16637 pub ty: StructureType,
16638 pub next: *const c_void,
16639 pub base_space: Space,
16640 pub time: Time,
16641 pub space_count: u32,
16642 pub spaces: *const Space,
16643}
16644impl SpacesLocateInfo {
16645 pub const TYPE: StructureType = StructureType::SPACES_LOCATE_INFO;
16646}
16647pub type SpacesLocateInfoKHR = SpacesLocateInfo;
16648#[repr(C)]
16649#[derive(Copy, Clone, Debug)]
16650#[doc = "See [XrSpaceLocations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocations)"]
16651pub struct SpaceLocations {
16652 pub ty: StructureType,
16653 pub next: *mut c_void,
16654 pub location_count: u32,
16655 pub locations: *mut SpaceLocationData,
16656}
16657impl SpaceLocations {
16658 pub const TYPE: StructureType = StructureType::SPACE_LOCATIONS;
16659 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16660 #[inline]
16661 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16662 let mut x = MaybeUninit::<Self>::uninit();
16663 unsafe {
16664 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16665 ty: Self::TYPE,
16666 next,
16667 });
16668 }
16669 x
16670 }
16671}
16672pub type SpaceLocationsKHR = SpaceLocations;
16673#[repr(C)]
16674#[derive(Copy, Clone, Debug, Default, PartialEq)]
16675#[doc = "See [XrSpaceLocationData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationData)"]
16676pub struct SpaceLocationData {
16677 pub location_flags: SpaceLocationFlags,
16678 pub pose: Posef,
16679}
16680pub type SpaceLocationDataKHR = SpaceLocationData;
16681#[repr(C)]
16682#[derive(Copy, Clone, Debug)]
16683#[doc = "See [XrSpaceVelocities](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocities)"]
16684pub struct SpaceVelocities {
16685 pub ty: StructureType,
16686 pub next: *mut c_void,
16687 pub velocity_count: u32,
16688 pub velocities: *mut SpaceVelocityData,
16689}
16690impl SpaceVelocities {
16691 pub const TYPE: StructureType = StructureType::SPACE_VELOCITIES;
16692 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16693 #[inline]
16694 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16695 let mut x = MaybeUninit::<Self>::uninit();
16696 unsafe {
16697 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16698 ty: Self::TYPE,
16699 next,
16700 });
16701 }
16702 x
16703 }
16704}
16705pub type SpaceVelocitiesKHR = SpaceVelocities;
16706#[repr(C)]
16707#[derive(Copy, Clone, Debug, Default, PartialEq)]
16708#[doc = "See [XrSpaceVelocityData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityData)"]
16709pub struct SpaceVelocityData {
16710 pub velocity_flags: SpaceVelocityFlags,
16711 pub linear_velocity: Vector3f,
16712 pub angular_velocity: Vector3f,
16713}
16714pub type SpaceVelocityDataKHR = SpaceVelocityData;
16715#[repr(C)]
16716#[derive(Copy, Clone, Debug)]
16717#[doc = "See [XrSpatialCapabilityComponentTypesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityComponentTypesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16718pub struct SpatialCapabilityComponentTypesEXT {
16719 pub ty: StructureType,
16720 pub next: *mut c_void,
16721 pub component_type_capacity_input: u32,
16722 pub component_type_count_output: u32,
16723 pub component_types: *mut SpatialComponentTypeEXT,
16724}
16725impl SpatialCapabilityComponentTypesEXT {
16726 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT;
16727 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16728 #[inline]
16729 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16730 let mut x = MaybeUninit::<Self>::uninit();
16731 unsafe {
16732 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16733 ty: Self::TYPE,
16734 next,
16735 });
16736 }
16737 x
16738 }
16739}
16740#[repr(C)]
16741#[derive(Copy, Clone, Debug)]
16742#[doc = "See [XrSpatialCapabilityConfigurationBaseHeaderEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationBaseHeaderEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16743pub struct SpatialCapabilityConfigurationBaseHeaderEXT {
16744 pub ty: StructureType,
16745 pub next: *const c_void,
16746 pub capability: SpatialCapabilityEXT,
16747 pub enabled_component_count: u32,
16748 pub enabled_components: *const SpatialComponentTypeEXT,
16749}
16750#[repr(C)]
16751#[derive(Copy, Clone, Debug)]
16752#[doc = "See [XrSpatialContextCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16753pub struct SpatialContextCreateInfoEXT {
16754 pub ty: StructureType,
16755 pub next: *const c_void,
16756 pub capability_config_count: u32,
16757 pub capability_configs: *const *const SpatialCapabilityConfigurationBaseHeaderEXT,
16758}
16759impl SpatialContextCreateInfoEXT {
16760 pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_CREATE_INFO_EXT;
16761}
16762#[repr(C)]
16763#[derive(Copy, Clone, Debug)]
16764#[doc = "See [XrCreateSpatialContextCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialContextCompletionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16765pub struct CreateSpatialContextCompletionEXT {
16766 pub ty: StructureType,
16767 pub next: *mut c_void,
16768 pub future_result: Result,
16769 pub spatial_context: SpatialContextEXT,
16770}
16771impl CreateSpatialContextCompletionEXT {
16772 pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT;
16773 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16774 #[inline]
16775 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16776 let mut x = MaybeUninit::<Self>::uninit();
16777 unsafe {
16778 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16779 ty: Self::TYPE,
16780 next,
16781 });
16782 }
16783 x
16784 }
16785}
16786#[repr(C)]
16787#[derive(Copy, Clone, Debug)]
16788#[doc = "See [XrSpatialDiscoverySnapshotCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoverySnapshotCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16789pub struct SpatialDiscoverySnapshotCreateInfoEXT {
16790 pub ty: StructureType,
16791 pub next: *const c_void,
16792 pub component_type_count: u32,
16793 pub component_types: *const SpatialComponentTypeEXT,
16794}
16795impl SpatialDiscoverySnapshotCreateInfoEXT {
16796 pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT;
16797}
16798#[repr(C)]
16799#[derive(Copy, Clone, Debug)]
16800#[doc = "See [XrCreateSpatialDiscoverySnapshotCompletionInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialDiscoverySnapshotCompletionInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16801pub struct CreateSpatialDiscoverySnapshotCompletionInfoEXT {
16802 pub ty: StructureType,
16803 pub next: *const c_void,
16804 pub base_space: Space,
16805 pub time: Time,
16806 pub future: FutureEXT,
16807}
16808impl CreateSpatialDiscoverySnapshotCompletionInfoEXT {
16809 pub const TYPE: StructureType =
16810 StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT;
16811}
16812#[repr(C)]
16813#[derive(Copy, Clone, Debug)]
16814#[doc = "See [XrCreateSpatialDiscoverySnapshotCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialDiscoverySnapshotCompletionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16815pub struct CreateSpatialDiscoverySnapshotCompletionEXT {
16816 pub ty: StructureType,
16817 pub next: *mut c_void,
16818 pub future_result: Result,
16819 pub snapshot: SpatialSnapshotEXT,
16820}
16821impl CreateSpatialDiscoverySnapshotCompletionEXT {
16822 pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT;
16823 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16824 #[inline]
16825 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16826 let mut x = MaybeUninit::<Self>::uninit();
16827 unsafe {
16828 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16829 ty: Self::TYPE,
16830 next,
16831 });
16832 }
16833 x
16834 }
16835}
16836#[repr(C)]
16837#[derive(Copy, Clone, Debug)]
16838#[doc = "See [XrSpatialComponentDataQueryConditionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentDataQueryConditionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16839pub struct SpatialComponentDataQueryConditionEXT {
16840 pub ty: StructureType,
16841 pub next: *const c_void,
16842 pub component_type_count: u32,
16843 pub component_types: *const SpatialComponentTypeEXT,
16844}
16845impl SpatialComponentDataQueryConditionEXT {
16846 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT;
16847}
16848#[repr(C)]
16849#[derive(Copy, Clone, Debug)]
16850#[doc = "See [XrSpatialComponentDataQueryResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentDataQueryResultEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16851pub struct SpatialComponentDataQueryResultEXT {
16852 pub ty: StructureType,
16853 pub next: *mut c_void,
16854 pub entity_id_capacity_input: u32,
16855 pub entity_id_count_output: u32,
16856 pub entity_ids: *mut SpatialEntityIdEXT,
16857 pub entity_state_capacity_input: u32,
16858 pub entity_state_count_output: u32,
16859 pub entity_states: *mut SpatialEntityTrackingStateEXT,
16860}
16861impl SpatialComponentDataQueryResultEXT {
16862 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT;
16863 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16864 #[inline]
16865 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16866 let mut x = MaybeUninit::<Self>::uninit();
16867 unsafe {
16868 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16869 ty: Self::TYPE,
16870 next,
16871 });
16872 }
16873 x
16874 }
16875}
16876#[repr(C)]
16877#[derive(Copy, Clone, Debug, Default, PartialEq)]
16878#[doc = "See [XrSpatialBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16879pub struct SpatialBufferEXT {
16880 pub buffer_id: SpatialBufferIdEXT,
16881 pub buffer_type: SpatialBufferTypeEXT,
16882}
16883#[repr(C)]
16884#[derive(Copy, Clone, Debug)]
16885#[doc = "See [XrSpatialBufferGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferGetInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16886pub struct SpatialBufferGetInfoEXT {
16887 pub ty: StructureType,
16888 pub next: *const c_void,
16889 pub buffer_id: SpatialBufferIdEXT,
16890}
16891impl SpatialBufferGetInfoEXT {
16892 pub const TYPE: StructureType = StructureType::SPATIAL_BUFFER_GET_INFO_EXT;
16893}
16894#[repr(C)]
16895#[derive(Copy, Clone, Debug, Default, PartialEq)]
16896#[doc = "See [XrSpatialBounded2DDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBounded2DDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16897pub struct SpatialBounded2DDataEXT {
16898 pub center: Posef,
16899 pub extents: Extent2Df,
16900}
16901#[repr(C)]
16902#[derive(Copy, Clone, Debug)]
16903#[doc = "See [XrSpatialComponentBounded2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentBounded2DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16904pub struct SpatialComponentBounded2DListEXT {
16905 pub ty: StructureType,
16906 pub next: *mut c_void,
16907 pub bound_count: u32,
16908 pub bounds: *mut SpatialBounded2DDataEXT,
16909}
16910impl SpatialComponentBounded2DListEXT {
16911 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT;
16912 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16913 #[inline]
16914 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16915 let mut x = MaybeUninit::<Self>::uninit();
16916 unsafe {
16917 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16918 ty: Self::TYPE,
16919 next,
16920 });
16921 }
16922 x
16923 }
16924}
16925#[repr(C)]
16926#[derive(Copy, Clone, Debug)]
16927#[doc = "See [XrSpatialComponentBounded3DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentBounded3DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16928#[cfg(windows)]
16929pub struct SpatialComponentBounded3DListEXT {
16930 pub ty: StructureType,
16931 pub next: *mut c_void,
16932 pub bound_count: u32,
16933 pub bounds: *mut Boxf,
16934}
16935#[cfg(windows)]
16936impl SpatialComponentBounded3DListEXT {
16937 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT;
16938 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16939 #[inline]
16940 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16941 let mut x = MaybeUninit::<Self>::uninit();
16942 unsafe {
16943 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16944 ty: Self::TYPE,
16945 next,
16946 });
16947 }
16948 x
16949 }
16950}
16951#[repr(C)]
16952#[derive(Copy, Clone, Debug)]
16953#[doc = "See [XrSpatialComponentParentListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentParentListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16954pub struct SpatialComponentParentListEXT {
16955 pub ty: StructureType,
16956 pub next: *mut c_void,
16957 pub parent_count: u32,
16958 pub parents: *mut SpatialEntityIdEXT,
16959}
16960impl SpatialComponentParentListEXT {
16961 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PARENT_LIST_EXT;
16962 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16963 #[inline]
16964 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16965 let mut x = MaybeUninit::<Self>::uninit();
16966 unsafe {
16967 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16968 ty: Self::TYPE,
16969 next,
16970 });
16971 }
16972 x
16973 }
16974}
16975#[repr(C)]
16976#[derive(Copy, Clone, Debug, Default, PartialEq)]
16977#[doc = "See [XrSpatialMeshDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16978pub struct SpatialMeshDataEXT {
16979 pub origin: Posef,
16980 pub vertex_buffer: SpatialBufferEXT,
16981 pub index_buffer: SpatialBufferEXT,
16982}
16983#[repr(C)]
16984#[derive(Copy, Clone, Debug)]
16985#[doc = "See [XrSpatialComponentMesh3DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMesh3DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
16986pub struct SpatialComponentMesh3DListEXT {
16987 pub ty: StructureType,
16988 pub next: *mut c_void,
16989 pub mesh_count: u32,
16990 pub meshes: *mut SpatialMeshDataEXT,
16991}
16992impl SpatialComponentMesh3DListEXT {
16993 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_3D_LIST_EXT;
16994 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16995 #[inline]
16996 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16997 let mut x = MaybeUninit::<Self>::uninit();
16998 unsafe {
16999 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17000 ty: Self::TYPE,
17001 next,
17002 });
17003 }
17004 x
17005 }
17006}
17007#[repr(C)]
17008#[derive(Copy, Clone, Debug)]
17009#[doc = "See [XrSpatialEntityFromIdCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityFromIdCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17010pub struct SpatialEntityFromIdCreateInfoEXT {
17011 pub ty: StructureType,
17012 pub next: *const c_void,
17013 pub entity_id: SpatialEntityIdEXT,
17014}
17015impl SpatialEntityFromIdCreateInfoEXT {
17016 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT;
17017}
17018#[repr(C)]
17019#[derive(Copy, Clone, Debug)]
17020#[doc = "See [XrSpatialUpdateSnapshotCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialUpdateSnapshotCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17021pub struct SpatialUpdateSnapshotCreateInfoEXT {
17022 pub ty: StructureType,
17023 pub next: *const c_void,
17024 pub entity_count: u32,
17025 pub entities: *const SpatialEntityEXT,
17026 pub component_type_count: u32,
17027 pub component_types: *const SpatialComponentTypeEXT,
17028 pub base_space: Space,
17029 pub time: Time,
17030}
17031impl SpatialUpdateSnapshotCreateInfoEXT {
17032 pub const TYPE: StructureType = StructureType::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT;
17033}
17034#[repr(C)]
17035#[derive(Copy, Clone, Debug)]
17036#[doc = "See [XrEventDataSpatialDiscoveryRecommendedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpatialDiscoveryRecommendedEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17037pub struct EventDataSpatialDiscoveryRecommendedEXT {
17038 pub ty: StructureType,
17039 pub next: *const c_void,
17040 pub spatial_context: SpatialContextEXT,
17041}
17042impl EventDataSpatialDiscoveryRecommendedEXT {
17043 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT;
17044}
17045#[repr(C)]
17046#[derive(Copy, Clone, Debug)]
17047#[doc = "See [XrSpatialFilterTrackingStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialFilterTrackingStateEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
17048pub struct SpatialFilterTrackingStateEXT {
17049 pub ty: StructureType,
17050 pub next: *const c_void,
17051 pub tracking_state: SpatialEntityTrackingStateEXT,
17052}
17053impl SpatialFilterTrackingStateEXT {
17054 pub const TYPE: StructureType = StructureType::SPATIAL_FILTER_TRACKING_STATE_EXT;
17055}
17056#[repr(C)]
17057#[derive(Copy, Clone, Debug)]
17058#[doc = "See [XrSpatialCapabilityConfigurationAnchorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationAnchorEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
17059pub struct SpatialCapabilityConfigurationAnchorEXT {
17060 pub ty: StructureType,
17061 pub next: *const c_void,
17062 pub capability: SpatialCapabilityEXT,
17063 pub enabled_component_count: u32,
17064 pub enabled_components: *const SpatialComponentTypeEXT,
17065}
17066impl SpatialCapabilityConfigurationAnchorEXT {
17067 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT;
17068}
17069#[repr(C)]
17070#[derive(Copy, Clone, Debug)]
17071#[doc = "See [XrSpatialComponentAnchorListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentAnchorListEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
17072pub struct SpatialComponentAnchorListEXT {
17073 pub ty: StructureType,
17074 pub next: *mut c_void,
17075 pub location_count: u32,
17076 pub locations: *mut Posef,
17077}
17078impl SpatialComponentAnchorListEXT {
17079 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_ANCHOR_LIST_EXT;
17080 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17081 #[inline]
17082 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17083 let mut x = MaybeUninit::<Self>::uninit();
17084 unsafe {
17085 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17086 ty: Self::TYPE,
17087 next,
17088 });
17089 }
17090 x
17091 }
17092}
17093#[repr(C)]
17094#[derive(Copy, Clone, Debug)]
17095#[doc = "See [XrSpatialAnchorCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
17096pub struct SpatialAnchorCreateInfoEXT {
17097 pub ty: StructureType,
17098 pub next: *const c_void,
17099 pub base_space: Space,
17100 pub time: Time,
17101 pub pose: Posef,
17102}
17103impl SpatialAnchorCreateInfoEXT {
17104 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_EXT;
17105}
17106#[repr(C)]
17107#[derive(Copy, Clone, Debug)]
17108#[doc = "See [XrSpatialPersistenceContextCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextCreateInfoEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17109pub struct SpatialPersistenceContextCreateInfoEXT {
17110 pub ty: StructureType,
17111 pub next: *const c_void,
17112 pub scope: SpatialPersistenceScopeEXT,
17113}
17114impl SpatialPersistenceContextCreateInfoEXT {
17115 pub const TYPE: StructureType = StructureType::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT;
17116}
17117#[repr(C)]
17118#[derive(Copy, Clone, Debug)]
17119#[doc = "See [XrCreateSpatialPersistenceContextCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialPersistenceContextCompletionEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17120pub struct CreateSpatialPersistenceContextCompletionEXT {
17121 pub ty: StructureType,
17122 pub next: *mut c_void,
17123 pub future_result: Result,
17124 pub create_result: SpatialPersistenceContextResultEXT,
17125 pub persistence_context: SpatialPersistenceContextEXT,
17126}
17127impl CreateSpatialPersistenceContextCompletionEXT {
17128 pub const TYPE: StructureType =
17129 StructureType::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT;
17130 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17131 #[inline]
17132 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17133 let mut x = MaybeUninit::<Self>::uninit();
17134 unsafe {
17135 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17136 ty: Self::TYPE,
17137 next,
17138 });
17139 }
17140 x
17141 }
17142}
17143#[repr(C)]
17144#[derive(Copy, Clone, Debug)]
17145#[doc = "See [XrSpatialContextPersistenceConfigEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextPersistenceConfigEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17146pub struct SpatialContextPersistenceConfigEXT {
17147 pub ty: StructureType,
17148 pub next: *const c_void,
17149 pub persistence_context_count: u32,
17150 pub persistence_contexts: *const SpatialPersistenceContextEXT,
17151}
17152impl SpatialContextPersistenceConfigEXT {
17153 pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT;
17154}
17155#[repr(C)]
17156#[derive(Copy, Clone, Debug)]
17157#[doc = "See [XrSpatialDiscoveryPersistenceUuidFilterEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoveryPersistenceUuidFilterEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17158pub struct SpatialDiscoveryPersistenceUuidFilterEXT {
17159 pub ty: StructureType,
17160 pub next: *const c_void,
17161 pub persisted_uuid_count: u32,
17162 pub persisted_uuids: *const Uuid,
17163}
17164impl SpatialDiscoveryPersistenceUuidFilterEXT {
17165 pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT;
17166}
17167#[repr(C)]
17168#[derive(Copy, Clone, Debug)]
17169#[doc = "See [XrSpatialPersistenceDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceDataEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17170pub struct SpatialPersistenceDataEXT {
17171 pub persist_uuid: Uuid,
17172 pub persist_state: SpatialPersistenceStateEXT,
17173}
17174#[repr(C)]
17175#[derive(Copy, Clone, Debug)]
17176#[doc = "See [XrSpatialComponentPersistenceListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPersistenceListEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
17177pub struct SpatialComponentPersistenceListEXT {
17178 pub ty: StructureType,
17179 pub next: *mut c_void,
17180 pub persist_data_count: u32,
17181 pub persist_data: *mut SpatialPersistenceDataEXT,
17182}
17183impl SpatialComponentPersistenceListEXT {
17184 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT;
17185 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17186 #[inline]
17187 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17188 let mut x = MaybeUninit::<Self>::uninit();
17189 unsafe {
17190 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17191 ty: Self::TYPE,
17192 next,
17193 });
17194 }
17195 x
17196 }
17197}
17198#[repr(C)]
17199#[derive(Copy, Clone, Debug)]
17200#[doc = "See [XrSpatialEntityPersistInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityPersistInfoEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17201pub struct SpatialEntityPersistInfoEXT {
17202 pub ty: StructureType,
17203 pub next: *const c_void,
17204 pub spatial_context: SpatialContextEXT,
17205 pub spatial_entity_id: SpatialEntityIdEXT,
17206}
17207impl SpatialEntityPersistInfoEXT {
17208 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_PERSIST_INFO_EXT;
17209}
17210#[repr(C)]
17211#[derive(Copy, Clone, Debug)]
17212#[doc = "See [XrPersistSpatialEntityCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistSpatialEntityCompletionEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17213pub struct PersistSpatialEntityCompletionEXT {
17214 pub ty: StructureType,
17215 pub next: *mut c_void,
17216 pub future_result: Result,
17217 pub persist_result: SpatialPersistenceContextResultEXT,
17218 pub persist_uuid: Uuid,
17219}
17220impl PersistSpatialEntityCompletionEXT {
17221 pub const TYPE: StructureType = StructureType::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
17222 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17223 #[inline]
17224 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17225 let mut x = MaybeUninit::<Self>::uninit();
17226 unsafe {
17227 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17228 ty: Self::TYPE,
17229 next,
17230 });
17231 }
17232 x
17233 }
17234}
17235#[repr(C)]
17236#[derive(Copy, Clone, Debug)]
17237#[doc = "See [XrSpatialEntityUnpersistInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityUnpersistInfoEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17238pub struct SpatialEntityUnpersistInfoEXT {
17239 pub ty: StructureType,
17240 pub next: *const c_void,
17241 pub persist_uuid: Uuid,
17242}
17243impl SpatialEntityUnpersistInfoEXT {
17244 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_UNPERSIST_INFO_EXT;
17245}
17246#[repr(C)]
17247#[derive(Copy, Clone, Debug)]
17248#[doc = "See [XrUnpersistSpatialEntityCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUnpersistSpatialEntityCompletionEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
17249pub struct UnpersistSpatialEntityCompletionEXT {
17250 pub ty: StructureType,
17251 pub next: *mut c_void,
17252 pub future_result: Result,
17253 pub unpersist_result: SpatialPersistenceContextResultEXT,
17254}
17255impl UnpersistSpatialEntityCompletionEXT {
17256 pub const TYPE: StructureType = StructureType::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
17257 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17258 #[inline]
17259 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17260 let mut x = MaybeUninit::<Self>::uninit();
17261 unsafe {
17262 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17263 ty: Self::TYPE,
17264 next,
17265 });
17266 }
17267 x
17268 }
17269}
17270#[repr(C)]
17271#[derive(Copy, Clone, Debug)]
17272#[doc = "See [XrSpatialCapabilityConfigurationPlaneTrackingEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationPlaneTrackingEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17273pub struct SpatialCapabilityConfigurationPlaneTrackingEXT {
17274 pub ty: StructureType,
17275 pub next: *const c_void,
17276 pub capability: SpatialCapabilityEXT,
17277 pub enabled_component_count: u32,
17278 pub enabled_components: *const SpatialComponentTypeEXT,
17279}
17280impl SpatialCapabilityConfigurationPlaneTrackingEXT {
17281 pub const TYPE: StructureType =
17282 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT;
17283}
17284#[repr(C)]
17285#[derive(Copy, Clone, Debug)]
17286#[doc = "See [XrSpatialComponentPlaneAlignmentListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPlaneAlignmentListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17287pub struct SpatialComponentPlaneAlignmentListEXT {
17288 pub ty: StructureType,
17289 pub next: *mut c_void,
17290 pub plane_alignment_count: u32,
17291 pub plane_alignments: *mut SpatialPlaneAlignmentEXT,
17292}
17293impl SpatialComponentPlaneAlignmentListEXT {
17294 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT;
17295 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17296 #[inline]
17297 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17298 let mut x = MaybeUninit::<Self>::uninit();
17299 unsafe {
17300 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17301 ty: Self::TYPE,
17302 next,
17303 });
17304 }
17305 x
17306 }
17307}
17308#[repr(C)]
17309#[derive(Copy, Clone, Debug)]
17310#[doc = "See [XrSpatialComponentMesh2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMesh2DListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17311pub struct SpatialComponentMesh2DListEXT {
17312 pub ty: StructureType,
17313 pub next: *mut c_void,
17314 pub mesh_count: u32,
17315 pub meshes: *mut SpatialMeshDataEXT,
17316}
17317impl SpatialComponentMesh2DListEXT {
17318 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_2D_LIST_EXT;
17319 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17320 #[inline]
17321 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17322 let mut x = MaybeUninit::<Self>::uninit();
17323 unsafe {
17324 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17325 ty: Self::TYPE,
17326 next,
17327 });
17328 }
17329 x
17330 }
17331}
17332#[repr(C)]
17333#[derive(Copy, Clone, Debug, Default, PartialEq)]
17334#[doc = "See [XrSpatialPolygon2DDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPolygon2DDataEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17335pub struct SpatialPolygon2DDataEXT {
17336 pub origin: Posef,
17337 pub vertex_buffer: SpatialBufferEXT,
17338}
17339#[repr(C)]
17340#[derive(Copy, Clone, Debug)]
17341#[doc = "See [XrSpatialComponentPolygon2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPolygon2DListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17342pub struct SpatialComponentPolygon2DListEXT {
17343 pub ty: StructureType,
17344 pub next: *mut c_void,
17345 pub polygon_count: u32,
17346 pub polygons: *mut SpatialPolygon2DDataEXT,
17347}
17348impl SpatialComponentPolygon2DListEXT {
17349 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT;
17350 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17351 #[inline]
17352 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17353 let mut x = MaybeUninit::<Self>::uninit();
17354 unsafe {
17355 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17356 ty: Self::TYPE,
17357 next,
17358 });
17359 }
17360 x
17361 }
17362}
17363#[repr(C)]
17364#[derive(Copy, Clone, Debug)]
17365#[doc = "See [XrSpatialComponentPlaneSemanticLabelListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPlaneSemanticLabelListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
17366pub struct SpatialComponentPlaneSemanticLabelListEXT {
17367 pub ty: StructureType,
17368 pub next: *mut c_void,
17369 pub semantic_label_count: u32,
17370 pub semantic_labels: *mut SpatialPlaneSemanticLabelEXT,
17371}
17372impl SpatialComponentPlaneSemanticLabelListEXT {
17373 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT;
17374 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17375 #[inline]
17376 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17377 let mut x = MaybeUninit::<Self>::uninit();
17378 unsafe {
17379 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17380 ty: Self::TYPE,
17381 next,
17382 });
17383 }
17384 x
17385 }
17386}
17387#[repr(C)]
17388#[derive(Copy, Clone, Debug)]
17389#[doc = "See [XrSystemNotificationsSetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemNotificationsSetInfoML) - defined by [XR_ML_system_notifications](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_system_notifications)"]
17390pub struct SystemNotificationsSetInfoML {
17391 pub ty: StructureType,
17392 pub next: *const c_void,
17393 pub suppress_notifications: Bool32,
17394}
17395impl SystemNotificationsSetInfoML {
17396 pub const TYPE: StructureType = StructureType::SYSTEM_NOTIFICATIONS_SET_INFO_ML;
17397}
17398#[repr(C)]
17399#[derive(Copy, Clone, Debug)]
17400#[doc = "See [XrSpatialAnchorsCreateInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoBaseHeaderML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17401pub struct SpatialAnchorsCreateInfoBaseHeaderML {
17402 pub ty: StructureType,
17403 pub next: *const c_void,
17404}
17405#[repr(C)]
17406#[derive(Copy, Clone, Debug)]
17407#[doc = "See [XrSpatialAnchorsCreateInfoFromPoseML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoFromPoseML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17408pub struct SpatialAnchorsCreateInfoFromPoseML {
17409 pub ty: StructureType,
17410 pub next: *const c_void,
17411 pub base_space: Space,
17412 pub pose_in_base_space: Posef,
17413 pub time: Time,
17414}
17415impl SpatialAnchorsCreateInfoFromPoseML {
17416 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML;
17417}
17418#[repr(C)]
17419#[derive(Copy, Clone, Debug)]
17420#[doc = "See [XrCreateSpatialAnchorsCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialAnchorsCompletionML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17421pub struct CreateSpatialAnchorsCompletionML {
17422 pub ty: StructureType,
17423 pub next: *mut c_void,
17424 pub future_result: Result,
17425 pub space_count: u32,
17426 pub spaces: *mut Space,
17427}
17428impl CreateSpatialAnchorsCompletionML {
17429 pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_ANCHORS_COMPLETION_ML;
17430 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17431 #[inline]
17432 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17433 let mut x = MaybeUninit::<Self>::uninit();
17434 unsafe {
17435 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17436 ty: Self::TYPE,
17437 next,
17438 });
17439 }
17440 x
17441 }
17442}
17443#[repr(C)]
17444#[derive(Copy, Clone, Debug)]
17445#[doc = "See [XrSpatialAnchorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorStateML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
17446pub struct SpatialAnchorStateML {
17447 pub ty: StructureType,
17448 pub next: *mut c_void,
17449 pub confidence: SpatialAnchorConfidenceML,
17450}
17451impl SpatialAnchorStateML {
17452 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_STATE_ML;
17453 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17454 #[inline]
17455 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17456 let mut x = MaybeUninit::<Self>::uninit();
17457 unsafe {
17458 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17459 ty: Self::TYPE,
17460 next,
17461 });
17462 }
17463 x
17464 }
17465}
17466#[repr(C)]
17467#[derive(Copy, Clone, Debug)]
17468#[doc = "See [XrSpatialAnchorsCreateStorageInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateStorageInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17469pub struct SpatialAnchorsCreateStorageInfoML {
17470 pub ty: StructureType,
17471 pub next: *const c_void,
17472}
17473impl SpatialAnchorsCreateStorageInfoML {
17474 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML;
17475}
17476#[repr(C)]
17477#[derive(Copy, Clone, Debug)]
17478#[doc = "See [XrSpatialAnchorsQueryInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryInfoBaseHeaderML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17479pub struct SpatialAnchorsQueryInfoBaseHeaderML {
17480 pub ty: StructureType,
17481 pub next: *const c_void,
17482}
17483#[repr(C)]
17484#[derive(Copy, Clone, Debug)]
17485#[doc = "See [XrSpatialAnchorsQueryInfoRadiusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryInfoRadiusML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17486pub struct SpatialAnchorsQueryInfoRadiusML {
17487 pub ty: StructureType,
17488 pub next: *const c_void,
17489 pub base_space: Space,
17490 pub center: Vector3f,
17491 pub time: Time,
17492 pub radius: f32,
17493}
17494impl SpatialAnchorsQueryInfoRadiusML {
17495 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML;
17496}
17497#[repr(C)]
17498#[derive(Copy, Clone, Debug)]
17499#[doc = "See [XrSpatialAnchorsQueryCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17500pub struct SpatialAnchorsQueryCompletionML {
17501 pub ty: StructureType,
17502 pub next: *mut c_void,
17503 pub future_result: Result,
17504 pub uuid_capacity_input: u32,
17505 pub uuid_count_output: u32,
17506 pub uuids: *mut UuidEXT,
17507}
17508impl SpatialAnchorsQueryCompletionML {
17509 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_COMPLETION_ML;
17510 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17511 #[inline]
17512 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17513 let mut x = MaybeUninit::<Self>::uninit();
17514 unsafe {
17515 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17516 ty: Self::TYPE,
17517 next,
17518 });
17519 }
17520 x
17521 }
17522}
17523#[repr(C)]
17524#[derive(Copy, Clone, Debug)]
17525#[doc = "See [XrSpatialAnchorsCreateInfoFromUuidsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoFromUuidsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17526pub struct SpatialAnchorsCreateInfoFromUuidsML {
17527 pub ty: StructureType,
17528 pub next: *const c_void,
17529 pub storage: SpatialAnchorsStorageML,
17530 pub uuid_count: u32,
17531 pub uuids: *const UuidEXT,
17532}
17533impl SpatialAnchorsCreateInfoFromUuidsML {
17534 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML;
17535}
17536#[repr(C)]
17537#[derive(Copy, Clone, Debug)]
17538#[doc = "See [XrSpatialAnchorsPublishInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17539pub struct SpatialAnchorsPublishInfoML {
17540 pub ty: StructureType,
17541 pub next: *const c_void,
17542 pub anchor_count: u32,
17543 pub anchors: *const Space,
17544 pub expiration: u64,
17545}
17546impl SpatialAnchorsPublishInfoML {
17547 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_INFO_ML;
17548}
17549#[repr(C)]
17550#[derive(Copy, Clone, Debug)]
17551#[doc = "See [XrSpatialAnchorsPublishCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17552pub struct SpatialAnchorsPublishCompletionML {
17553 pub ty: StructureType,
17554 pub next: *mut c_void,
17555 pub future_result: Result,
17556 pub uuid_count: u32,
17557 pub uuids: *mut UuidEXT,
17558}
17559impl SpatialAnchorsPublishCompletionML {
17560 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML;
17561 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17562 #[inline]
17563 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17564 let mut x = MaybeUninit::<Self>::uninit();
17565 unsafe {
17566 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17567 ty: Self::TYPE,
17568 next,
17569 });
17570 }
17571 x
17572 }
17573}
17574#[repr(C)]
17575#[derive(Copy, Clone, Debug)]
17576#[doc = "See [XrSpatialAnchorsDeleteInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17577pub struct SpatialAnchorsDeleteInfoML {
17578 pub ty: StructureType,
17579 pub next: *const c_void,
17580 pub uuid_count: u32,
17581 pub uuids: *const UuidEXT,
17582}
17583impl SpatialAnchorsDeleteInfoML {
17584 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_INFO_ML;
17585}
17586#[repr(C)]
17587#[derive(Copy, Clone, Debug)]
17588#[doc = "See [XrSpatialAnchorsDeleteCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17589pub struct SpatialAnchorsDeleteCompletionML {
17590 pub ty: StructureType,
17591 pub next: *mut c_void,
17592 pub future_result: Result,
17593}
17594impl SpatialAnchorsDeleteCompletionML {
17595 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_ML;
17596 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17597 #[inline]
17598 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17599 let mut x = MaybeUninit::<Self>::uninit();
17600 unsafe {
17601 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17602 ty: Self::TYPE,
17603 next,
17604 });
17605 }
17606 x
17607 }
17608}
17609#[repr(C)]
17610#[derive(Copy, Clone, Debug)]
17611#[doc = "See [XrSpatialAnchorsUpdateExpirationInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17612pub struct SpatialAnchorsUpdateExpirationInfoML {
17613 pub ty: StructureType,
17614 pub next: *const c_void,
17615 pub uuid_count: u32,
17616 pub uuids: *const UuidEXT,
17617 pub expiration: u64,
17618}
17619impl SpatialAnchorsUpdateExpirationInfoML {
17620 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML;
17621}
17622#[repr(C)]
17623#[derive(Copy, Clone, Debug)]
17624#[doc = "See [XrSpatialAnchorsUpdateExpirationCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17625pub struct SpatialAnchorsUpdateExpirationCompletionML {
17626 pub ty: StructureType,
17627 pub next: *mut c_void,
17628 pub future_result: Result,
17629}
17630impl SpatialAnchorsUpdateExpirationCompletionML {
17631 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML;
17632 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17633 #[inline]
17634 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17635 let mut x = MaybeUninit::<Self>::uninit();
17636 unsafe {
17637 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17638 ty: Self::TYPE,
17639 next,
17640 });
17641 }
17642 x
17643 }
17644}
17645#[repr(C)]
17646#[derive(Copy, Clone, Debug, Default, PartialEq)]
17647#[doc = "See [XrSpatialAnchorCompletionResultML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCompletionResultML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17648pub struct SpatialAnchorCompletionResultML {
17649 pub uuid: UuidEXT,
17650 pub result: Result,
17651}
17652#[repr(C)]
17653#[derive(Copy, Clone, Debug)]
17654#[doc = "See [XrSpatialAnchorsPublishCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17655pub struct SpatialAnchorsPublishCompletionDetailsML {
17656 pub ty: StructureType,
17657 pub next: *mut c_void,
17658 pub result_count: u32,
17659 pub results: *mut SpatialAnchorCompletionResultML,
17660}
17661impl SpatialAnchorsPublishCompletionDetailsML {
17662 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML;
17663 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17664 #[inline]
17665 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17666 let mut x = MaybeUninit::<Self>::uninit();
17667 unsafe {
17668 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17669 ty: Self::TYPE,
17670 next,
17671 });
17672 }
17673 x
17674 }
17675}
17676#[repr(C)]
17677#[derive(Copy, Clone, Debug)]
17678#[doc = "See [XrSpatialAnchorsDeleteCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17679pub struct SpatialAnchorsDeleteCompletionDetailsML {
17680 pub ty: StructureType,
17681 pub next: *mut c_void,
17682 pub result_count: u32,
17683 pub results: *mut SpatialAnchorCompletionResultML,
17684}
17685impl SpatialAnchorsDeleteCompletionDetailsML {
17686 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML;
17687 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17688 #[inline]
17689 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17690 let mut x = MaybeUninit::<Self>::uninit();
17691 unsafe {
17692 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17693 ty: Self::TYPE,
17694 next,
17695 });
17696 }
17697 x
17698 }
17699}
17700#[repr(C)]
17701#[derive(Copy, Clone, Debug)]
17702#[doc = "See [XrSpatialAnchorsUpdateExpirationCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
17703pub struct SpatialAnchorsUpdateExpirationCompletionDetailsML {
17704 pub ty: StructureType,
17705 pub next: *mut c_void,
17706 pub result_count: u32,
17707 pub results: *mut SpatialAnchorCompletionResultML,
17708}
17709impl SpatialAnchorsUpdateExpirationCompletionDetailsML {
17710 pub const TYPE: StructureType =
17711 StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML;
17712 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17713 #[inline]
17714 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17715 let mut x = MaybeUninit::<Self>::uninit();
17716 unsafe {
17717 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17718 ty: Self::TYPE,
17719 next,
17720 });
17721 }
17722 x
17723 }
17724}
17725#[repr(C)]
17726#[derive(Copy, Clone, Debug)]
17727#[doc = "See [XrWorldMeshDetectorCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorCreateInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17728pub struct WorldMeshDetectorCreateInfoML {
17729 pub ty: StructureType,
17730 pub next: *const c_void,
17731}
17732impl WorldMeshDetectorCreateInfoML {
17733 pub const TYPE: StructureType = StructureType::WORLD_MESH_DETECTOR_CREATE_INFO_ML;
17734}
17735#[repr(C)]
17736#[derive(Copy, Clone, Debug)]
17737#[doc = "See [XrWorldMeshStateRequestInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshStateRequestInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17738pub struct WorldMeshStateRequestInfoML {
17739 pub ty: StructureType,
17740 pub next: *const c_void,
17741 pub base_space: Space,
17742 pub time: Time,
17743 pub bounding_box_center: Posef,
17744 pub bounding_box_extents: Extent3DfEXT,
17745}
17746impl WorldMeshStateRequestInfoML {
17747 pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_INFO_ML;
17748}
17749#[repr(C)]
17750#[derive(Copy, Clone, Debug)]
17751#[doc = "See [XrWorldMeshBlockStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockStateML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17752pub struct WorldMeshBlockStateML {
17753 pub ty: StructureType,
17754 pub next: *mut c_void,
17755 pub uuid: UuidEXT,
17756 pub mesh_bounding_box_center: Posef,
17757 pub mesh_bounding_box_extents: Extent3DfEXT,
17758 pub last_update_time: Time,
17759 pub status: WorldMeshBlockStatusML,
17760}
17761impl WorldMeshBlockStateML {
17762 pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_STATE_ML;
17763 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17764 #[inline]
17765 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17766 let mut x = MaybeUninit::<Self>::uninit();
17767 unsafe {
17768 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17769 ty: Self::TYPE,
17770 next,
17771 });
17772 }
17773 x
17774 }
17775}
17776#[repr(C)]
17777#[derive(Copy, Clone, Debug)]
17778#[doc = "See [XrWorldMeshStateRequestCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshStateRequestCompletionML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17779pub struct WorldMeshStateRequestCompletionML {
17780 pub ty: StructureType,
17781 pub next: *mut c_void,
17782 pub future_result: Result,
17783 pub timestamp: Time,
17784 pub mesh_block_state_capacity_input: u32,
17785 pub mesh_block_state_count_output: u32,
17786 pub mesh_block_states: *mut WorldMeshBlockStateML,
17787}
17788impl WorldMeshStateRequestCompletionML {
17789 pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_COMPLETION_ML;
17790 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17791 #[inline]
17792 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17793 let mut x = MaybeUninit::<Self>::uninit();
17794 unsafe {
17795 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17796 ty: Self::TYPE,
17797 next,
17798 });
17799 }
17800 x
17801 }
17802}
17803#[repr(C)]
17804#[derive(Copy, Clone, Debug)]
17805#[doc = "See [XrWorldMeshBufferRecommendedSizeInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferRecommendedSizeInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17806pub struct WorldMeshBufferRecommendedSizeInfoML {
17807 pub ty: StructureType,
17808 pub next: *const c_void,
17809 pub max_block_count: u32,
17810}
17811impl WorldMeshBufferRecommendedSizeInfoML {
17812 pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML;
17813}
17814#[repr(C)]
17815#[derive(Copy, Clone, Debug)]
17816#[doc = "See [XrWorldMeshBufferSizeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferSizeML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17817pub struct WorldMeshBufferSizeML {
17818 pub ty: StructureType,
17819 pub next: *mut c_void,
17820 pub size: u32,
17821}
17822impl WorldMeshBufferSizeML {
17823 pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_SIZE_ML;
17824 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17825 #[inline]
17826 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17827 let mut x = MaybeUninit::<Self>::uninit();
17828 unsafe {
17829 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17830 ty: Self::TYPE,
17831 next,
17832 });
17833 }
17834 x
17835 }
17836}
17837#[repr(C)]
17838#[derive(Copy, Clone, Debug)]
17839#[doc = "See [XrWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17840pub struct WorldMeshBufferML {
17841 pub ty: StructureType,
17842 pub next: *mut c_void,
17843 pub buffer_size: u32,
17844 pub buffer: *mut c_void,
17845}
17846impl WorldMeshBufferML {
17847 pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_ML;
17848 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17849 #[inline]
17850 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17851 let mut x = MaybeUninit::<Self>::uninit();
17852 unsafe {
17853 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17854 ty: Self::TYPE,
17855 next,
17856 });
17857 }
17858 x
17859 }
17860}
17861#[repr(C)]
17862#[derive(Copy, Clone, Debug)]
17863#[doc = "See [XrWorldMeshBlockRequestML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockRequestML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17864pub struct WorldMeshBlockRequestML {
17865 pub ty: StructureType,
17866 pub next: *mut c_void,
17867 pub uuid: UuidEXT,
17868 pub lod: WorldMeshDetectorLodML,
17869}
17870impl WorldMeshBlockRequestML {
17871 pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_REQUEST_ML;
17872 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17873 #[inline]
17874 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17875 let mut x = MaybeUninit::<Self>::uninit();
17876 unsafe {
17877 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17878 ty: Self::TYPE,
17879 next,
17880 });
17881 }
17882 x
17883 }
17884}
17885#[repr(C)]
17886#[derive(Copy, Clone, Debug)]
17887#[doc = "See [XrWorldMeshGetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshGetInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17888pub struct WorldMeshGetInfoML {
17889 pub ty: StructureType,
17890 pub next: *const c_void,
17891 pub flags: WorldMeshDetectorFlagsML,
17892 pub fill_hole_length: f32,
17893 pub disconnected_component_area: f32,
17894 pub block_count: u32,
17895 pub blocks: *mut WorldMeshBlockRequestML,
17896}
17897impl WorldMeshGetInfoML {
17898 pub const TYPE: StructureType = StructureType::WORLD_MESH_GET_INFO_ML;
17899}
17900#[repr(C)]
17901#[derive(Copy, Clone, Debug)]
17902#[doc = "See [XrWorldMeshBlockML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17903pub struct WorldMeshBlockML {
17904 pub ty: StructureType,
17905 pub next: *mut c_void,
17906 pub uuid: UuidEXT,
17907 pub block_result: WorldMeshBlockResultML,
17908 pub lod: WorldMeshDetectorLodML,
17909 pub flags: WorldMeshDetectorFlagsML,
17910 pub index_count: u32,
17911 pub index_buffer: *mut u16,
17912 pub vertex_count: u32,
17913 pub vertex_buffer: *mut Vector3f,
17914 pub normal_count: u32,
17915 pub normal_buffer: *mut Vector3f,
17916 pub confidence_count: u32,
17917 pub confidence_buffer: *mut f32,
17918}
17919impl WorldMeshBlockML {
17920 pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_ML;
17921 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17922 #[inline]
17923 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17924 let mut x = MaybeUninit::<Self>::uninit();
17925 unsafe {
17926 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17927 ty: Self::TYPE,
17928 next,
17929 });
17930 }
17931 x
17932 }
17933}
17934#[repr(C)]
17935#[derive(Copy, Clone, Debug)]
17936#[doc = "See [XrWorldMeshRequestCompletionInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshRequestCompletionInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17937pub struct WorldMeshRequestCompletionInfoML {
17938 pub ty: StructureType,
17939 pub next: *const c_void,
17940 pub mesh_space: Space,
17941 pub mesh_space_locate_time: Time,
17942}
17943impl WorldMeshRequestCompletionInfoML {
17944 pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_INFO_ML;
17945}
17946#[repr(C)]
17947#[derive(Copy, Clone, Debug)]
17948#[doc = "See [XrWorldMeshRequestCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshRequestCompletionML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
17949pub struct WorldMeshRequestCompletionML {
17950 pub ty: StructureType,
17951 pub next: *mut c_void,
17952 pub future_result: Result,
17953 pub block_count: u32,
17954 pub blocks: *mut WorldMeshBlockML,
17955}
17956impl WorldMeshRequestCompletionML {
17957 pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_ML;
17958 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17959 #[inline]
17960 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17961 let mut x = MaybeUninit::<Self>::uninit();
17962 unsafe {
17963 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17964 ty: Self::TYPE,
17965 next,
17966 });
17967 }
17968 x
17969 }
17970}
17971#[repr(C)]
17972#[derive(Copy, Clone, Debug)]
17973#[doc = "See [XrEventDataPassthroughLayerResumedMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPassthroughLayerResumedMETA) - defined by [XR_META_passthrough_layer_resumed_event](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_layer_resumed_event)"]
17974pub struct EventDataPassthroughLayerResumedMETA {
17975 pub ty: StructureType,
17976 pub next: *const c_void,
17977 pub layer: PassthroughLayerFB,
17978}
17979impl EventDataPassthroughLayerResumedMETA {
17980 pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META;
17981}
17982#[repr(C)]
17983#[derive(Copy, Clone, Debug)]
17984#[doc = "See [XrRenderModelCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
17985pub struct RenderModelCreateInfoEXT {
17986 pub ty: StructureType,
17987 pub next: *const c_void,
17988 pub render_model_id: RenderModelIdEXT,
17989 pub gltf_extension_count: u32,
17990 pub gltf_extensions: *const *const c_char,
17991}
17992impl RenderModelCreateInfoEXT {
17993 pub const TYPE: StructureType = StructureType::RENDER_MODEL_CREATE_INFO_EXT;
17994}
17995#[repr(C)]
17996#[derive(Copy, Clone, Debug)]
17997#[doc = "See [XrRenderModelPropertiesGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
17998pub struct RenderModelPropertiesGetInfoEXT {
17999 pub ty: StructureType,
18000 pub next: *const c_void,
18001}
18002impl RenderModelPropertiesGetInfoEXT {
18003 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_GET_INFO_EXT;
18004}
18005#[repr(C)]
18006#[derive(Copy, Clone, Debug)]
18007#[doc = "See [XrRenderModelPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18008pub struct RenderModelPropertiesEXT {
18009 pub ty: StructureType,
18010 pub next: *mut c_void,
18011 pub cache_id: UuidEXT,
18012 pub animatable_node_count: u32,
18013}
18014impl RenderModelPropertiesEXT {
18015 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_EXT;
18016 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18017 #[inline]
18018 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18019 let mut x = MaybeUninit::<Self>::uninit();
18020 unsafe {
18021 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18022 ty: Self::TYPE,
18023 next,
18024 });
18025 }
18026 x
18027 }
18028}
18029#[repr(C)]
18030#[derive(Copy, Clone, Debug)]
18031#[doc = "See [XrRenderModelSpaceCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelSpaceCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18032pub struct RenderModelSpaceCreateInfoEXT {
18033 pub ty: StructureType,
18034 pub next: *const c_void,
18035 pub render_model: RenderModelEXT,
18036}
18037impl RenderModelSpaceCreateInfoEXT {
18038 pub const TYPE: StructureType = StructureType::RENDER_MODEL_SPACE_CREATE_INFO_EXT;
18039}
18040#[repr(C)]
18041#[derive(Copy, Clone, Debug)]
18042#[doc = "See [XrRenderModelAssetCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18043pub struct RenderModelAssetCreateInfoEXT {
18044 pub ty: StructureType,
18045 pub next: *const c_void,
18046 pub cache_id: UuidEXT,
18047}
18048impl RenderModelAssetCreateInfoEXT {
18049 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_CREATE_INFO_EXT;
18050}
18051#[repr(C)]
18052#[derive(Copy, Clone, Debug)]
18053#[doc = "See [XrRenderModelAssetDataGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetDataGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18054pub struct RenderModelAssetDataGetInfoEXT {
18055 pub ty: StructureType,
18056 pub next: *const c_void,
18057}
18058impl RenderModelAssetDataGetInfoEXT {
18059 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT;
18060}
18061#[repr(C)]
18062#[derive(Copy, Clone, Debug)]
18063#[doc = "See [XrRenderModelAssetDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetDataEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18064pub struct RenderModelAssetDataEXT {
18065 pub ty: StructureType,
18066 pub next: *mut c_void,
18067 pub buffer_capacity_input: u32,
18068 pub buffer_count_output: u32,
18069 pub buffer: *mut u8,
18070}
18071impl RenderModelAssetDataEXT {
18072 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_EXT;
18073 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18074 #[inline]
18075 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18076 let mut x = MaybeUninit::<Self>::uninit();
18077 unsafe {
18078 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18079 ty: Self::TYPE,
18080 next,
18081 });
18082 }
18083 x
18084 }
18085}
18086#[repr(C)]
18087#[derive(Copy, Clone, Debug)]
18088#[doc = "See [XrRenderModelAssetPropertiesGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetPropertiesGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18089pub struct RenderModelAssetPropertiesGetInfoEXT {
18090 pub ty: StructureType,
18091 pub next: *const c_void,
18092}
18093impl RenderModelAssetPropertiesGetInfoEXT {
18094 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT;
18095}
18096#[repr(C)]
18097#[derive(Copy, Clone, Debug)]
18098#[doc = "See [XrRenderModelAssetNodePropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetNodePropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18099pub struct RenderModelAssetNodePropertiesEXT {
18100 pub unique_name: [c_char; MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT],
18101}
18102#[repr(C)]
18103#[derive(Copy, Clone, Debug)]
18104#[doc = "See [XrRenderModelAssetPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18105pub struct RenderModelAssetPropertiesEXT {
18106 pub ty: StructureType,
18107 pub next: *mut c_void,
18108 pub node_property_count: u32,
18109 pub node_properties: *mut RenderModelAssetNodePropertiesEXT,
18110}
18111impl RenderModelAssetPropertiesEXT {
18112 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_EXT;
18113 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18114 #[inline]
18115 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18116 let mut x = MaybeUninit::<Self>::uninit();
18117 unsafe {
18118 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18119 ty: Self::TYPE,
18120 next,
18121 });
18122 }
18123 x
18124 }
18125}
18126#[repr(C)]
18127#[derive(Copy, Clone, Debug)]
18128#[doc = "See [XrRenderModelStateGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelStateGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18129pub struct RenderModelStateGetInfoEXT {
18130 pub ty: StructureType,
18131 pub next: *const c_void,
18132 pub display_time: Time,
18133}
18134impl RenderModelStateGetInfoEXT {
18135 pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_GET_INFO_EXT;
18136}
18137#[repr(C)]
18138#[derive(Copy, Clone, Debug, Default, PartialEq)]
18139#[doc = "See [XrRenderModelNodeStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelNodeStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18140pub struct RenderModelNodeStateEXT {
18141 pub node_pose: Posef,
18142 pub is_visible: Bool32,
18143}
18144#[repr(C)]
18145#[derive(Copy, Clone, Debug)]
18146#[doc = "See [XrRenderModelStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
18147pub struct RenderModelStateEXT {
18148 pub ty: StructureType,
18149 pub next: *mut c_void,
18150 pub node_state_count: u32,
18151 pub node_states: *mut RenderModelNodeStateEXT,
18152}
18153impl RenderModelStateEXT {
18154 pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_EXT;
18155 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18156 #[inline]
18157 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18158 let mut x = MaybeUninit::<Self>::uninit();
18159 unsafe {
18160 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18161 ty: Self::TYPE,
18162 next,
18163 });
18164 }
18165 x
18166 }
18167}
18168#[repr(C)]
18169#[derive(Copy, Clone, Debug)]
18170#[doc = "See [XrInteractionRenderModelIdsEnumerateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelIdsEnumerateInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18171pub struct InteractionRenderModelIdsEnumerateInfoEXT {
18172 pub ty: StructureType,
18173 pub next: *const c_void,
18174}
18175impl InteractionRenderModelIdsEnumerateInfoEXT {
18176 pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT;
18177}
18178#[repr(C)]
18179#[derive(Copy, Clone, Debug)]
18180#[doc = "See [XrInteractionRenderModelSubactionPathInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelSubactionPathInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18181pub struct InteractionRenderModelSubactionPathInfoEXT {
18182 pub ty: StructureType,
18183 pub next: *const c_void,
18184}
18185impl InteractionRenderModelSubactionPathInfoEXT {
18186 pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT;
18187}
18188#[repr(C)]
18189#[derive(Copy, Clone, Debug)]
18190#[doc = "See [XrInteractionRenderModelTopLevelUserPathGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelTopLevelUserPathGetInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18191pub struct InteractionRenderModelTopLevelUserPathGetInfoEXT {
18192 pub ty: StructureType,
18193 pub next: *const c_void,
18194 pub top_level_user_path_count: u32,
18195 pub top_level_user_paths: *const Path,
18196}
18197impl InteractionRenderModelTopLevelUserPathGetInfoEXT {
18198 pub const TYPE: StructureType =
18199 StructureType::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT;
18200}
18201#[repr(C)]
18202#[derive(Copy, Clone, Debug)]
18203#[doc = "See [XrEventDataInteractionRenderModelsChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInteractionRenderModelsChangedEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
18204pub struct EventDataInteractionRenderModelsChangedEXT {
18205 pub ty: StructureType,
18206 pub next: *const c_void,
18207}
18208impl EventDataInteractionRenderModelsChangedEXT {
18209 pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT;
18210}
18211#[repr(C)]
18212#[derive(Copy, Clone, Debug)]
18213#[doc = "See [XrSystemSpatialSensingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialSensingPropertiesBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18214pub struct SystemSpatialSensingPropertiesBD {
18215 pub ty: StructureType,
18216 pub next: *mut c_void,
18217 pub supports_spatial_sensing: Bool32,
18218}
18219impl SystemSpatialSensingPropertiesBD {
18220 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD;
18221 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18222 #[inline]
18223 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18224 let mut x = MaybeUninit::<Self>::uninit();
18225 unsafe {
18226 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18227 ty: Self::TYPE,
18228 next,
18229 });
18230 }
18231 x
18232 }
18233}
18234#[repr(C)]
18235#[derive(Copy, Clone, Debug)]
18236#[doc = "See [XrSpatialEntityComponentGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18237pub struct SpatialEntityComponentGetInfoBD {
18238 pub ty: StructureType,
18239 pub next: *const c_void,
18240 pub entity_id: SpatialEntityIdBD,
18241 pub component_type: SpatialEntityComponentTypeBD,
18242}
18243impl SpatialEntityComponentGetInfoBD {
18244 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD;
18245}
18246#[repr(C)]
18247#[derive(Copy, Clone, Debug)]
18248#[doc = "See [XrSpatialEntityComponentDataBaseHeaderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBaseHeaderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18249pub struct SpatialEntityComponentDataBaseHeaderBD {
18250 pub ty: StructureType,
18251 pub next: *mut c_void,
18252}
18253#[repr(C)]
18254#[derive(Copy, Clone, Debug)]
18255#[doc = "See [XrSpatialEntityLocationGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityLocationGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18256pub struct SpatialEntityLocationGetInfoBD {
18257 pub ty: StructureType,
18258 pub next: *const c_void,
18259 pub base_space: Space,
18260}
18261impl SpatialEntityLocationGetInfoBD {
18262 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_LOCATION_GET_INFO_BD;
18263}
18264#[repr(C)]
18265#[derive(Copy, Clone, Debug)]
18266#[doc = "See [XrSpatialEntityComponentDataLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataLocationBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18267pub struct SpatialEntityComponentDataLocationBD {
18268 pub ty: StructureType,
18269 pub next: *mut c_void,
18270 pub location: SpaceLocation,
18271}
18272impl SpatialEntityComponentDataLocationBD {
18273 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD;
18274 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18275 #[inline]
18276 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18277 let mut x = MaybeUninit::<Self>::uninit();
18278 unsafe {
18279 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18280 ty: Self::TYPE,
18281 next,
18282 });
18283 }
18284 x
18285 }
18286}
18287#[repr(C)]
18288#[derive(Copy, Clone, Debug)]
18289#[doc = "See [XrSpatialEntityComponentDataSemanticBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataSemanticBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18290pub struct SpatialEntityComponentDataSemanticBD {
18291 pub ty: StructureType,
18292 pub next: *mut c_void,
18293 pub label_capacity_input: u32,
18294 pub label_count_output: u32,
18295 pub labels: *mut SemanticLabelBD,
18296}
18297impl SpatialEntityComponentDataSemanticBD {
18298 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD;
18299 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18300 #[inline]
18301 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18302 let mut x = MaybeUninit::<Self>::uninit();
18303 unsafe {
18304 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18305 ty: Self::TYPE,
18306 next,
18307 });
18308 }
18309 x
18310 }
18311}
18312#[repr(C)]
18313#[derive(Copy, Clone, Debug)]
18314#[doc = "See [XrSpatialEntityComponentDataBoundingBox2DBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBoundingBox2DBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18315pub struct SpatialEntityComponentDataBoundingBox2DBD {
18316 pub ty: StructureType,
18317 pub next: *mut c_void,
18318 pub bounding_box2_d: Rect2Df,
18319}
18320impl SpatialEntityComponentDataBoundingBox2DBD {
18321 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD;
18322 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18323 #[inline]
18324 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18325 let mut x = MaybeUninit::<Self>::uninit();
18326 unsafe {
18327 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18328 ty: Self::TYPE,
18329 next,
18330 });
18331 }
18332 x
18333 }
18334}
18335#[repr(C)]
18336#[derive(Copy, Clone, Debug)]
18337#[doc = "See [XrSpatialEntityComponentDataPolygonBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataPolygonBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18338pub struct SpatialEntityComponentDataPolygonBD {
18339 pub ty: StructureType,
18340 pub next: *mut c_void,
18341 pub vertex_capacity_input: u32,
18342 pub vertex_count_output: u32,
18343 pub vertices: *mut Vector2f,
18344}
18345impl SpatialEntityComponentDataPolygonBD {
18346 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD;
18347 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18348 #[inline]
18349 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18350 let mut x = MaybeUninit::<Self>::uninit();
18351 unsafe {
18352 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18353 ty: Self::TYPE,
18354 next,
18355 });
18356 }
18357 x
18358 }
18359}
18360#[repr(C)]
18361#[derive(Copy, Clone, Debug)]
18362#[doc = "See [XrSpatialEntityComponentDataBoundingBox3DBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBoundingBox3DBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18363pub struct SpatialEntityComponentDataBoundingBox3DBD {
18364 pub ty: StructureType,
18365 pub next: *mut c_void,
18366 pub bounding_box3_d: Boxf,
18367}
18368impl SpatialEntityComponentDataBoundingBox3DBD {
18369 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD;
18370 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18371 #[inline]
18372 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18373 let mut x = MaybeUninit::<Self>::uninit();
18374 unsafe {
18375 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18376 ty: Self::TYPE,
18377 next,
18378 });
18379 }
18380 x
18381 }
18382}
18383#[repr(C)]
18384#[derive(Copy, Clone, Debug)]
18385#[doc = "See [XrSpatialEntityComponentDataTriangleMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataTriangleMeshBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18386pub struct SpatialEntityComponentDataTriangleMeshBD {
18387 pub ty: StructureType,
18388 pub next: *mut c_void,
18389 pub vertex_capacity_input: u32,
18390 pub vertex_count_output: u32,
18391 pub vertices: *mut Vector3f,
18392 pub index_capacity_input: u32,
18393 pub index_count_output: u32,
18394 pub indices: *mut u16,
18395}
18396impl SpatialEntityComponentDataTriangleMeshBD {
18397 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD;
18398 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18399 #[inline]
18400 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18401 let mut x = MaybeUninit::<Self>::uninit();
18402 unsafe {
18403 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18404 ty: Self::TYPE,
18405 next,
18406 });
18407 }
18408 x
18409 }
18410}
18411#[repr(C)]
18412#[derive(Copy, Clone, Debug)]
18413#[doc = "See [XrSenseDataProviderCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18414pub struct SenseDataProviderCreateInfoBD {
18415 pub ty: StructureType,
18416 pub next: *const c_void,
18417 pub provider_type: SenseDataProviderTypeBD,
18418}
18419impl SenseDataProviderCreateInfoBD {
18420 pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_BD;
18421}
18422#[repr(C)]
18423#[derive(Copy, Clone, Debug)]
18424#[doc = "See [XrSenseDataProviderStartInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderStartInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18425pub struct SenseDataProviderStartInfoBD {
18426 pub ty: StructureType,
18427 pub next: *const c_void,
18428}
18429impl SenseDataProviderStartInfoBD {
18430 pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_START_INFO_BD;
18431}
18432#[repr(C)]
18433#[derive(Copy, Clone, Debug)]
18434#[doc = "See [XrEventDataSenseDataProviderStateChangedBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSenseDataProviderStateChangedBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18435pub struct EventDataSenseDataProviderStateChangedBD {
18436 pub ty: StructureType,
18437 pub next: *const c_void,
18438 pub provider: SenseDataProviderBD,
18439 pub new_state: SenseDataProviderStateBD,
18440}
18441impl EventDataSenseDataProviderStateChangedBD {
18442 pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD;
18443}
18444#[repr(C)]
18445#[derive(Copy, Clone, Debug)]
18446#[doc = "See [XrEventDataSenseDataUpdatedBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSenseDataUpdatedBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18447pub struct EventDataSenseDataUpdatedBD {
18448 pub ty: StructureType,
18449 pub next: *const c_void,
18450 pub provider: SenseDataProviderBD,
18451}
18452impl EventDataSenseDataUpdatedBD {
18453 pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_UPDATED_BD;
18454}
18455#[repr(C)]
18456#[derive(Copy, Clone, Debug)]
18457#[doc = "See [XrSenseDataQueryInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataQueryInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18458pub struct SenseDataQueryInfoBD {
18459 pub ty: StructureType,
18460 pub next: *const c_void,
18461}
18462impl SenseDataQueryInfoBD {
18463 pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_INFO_BD;
18464}
18465#[repr(C)]
18466#[derive(Copy, Clone, Debug)]
18467#[doc = "See [XrSenseDataFilterUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18468pub struct SenseDataFilterUuidBD {
18469 pub ty: StructureType,
18470 pub next: *const c_void,
18471 pub uuid_count: u32,
18472 pub uuids: *const UuidEXT,
18473}
18474impl SenseDataFilterUuidBD {
18475 pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_UUID_BD;
18476}
18477#[repr(C)]
18478#[derive(Copy, Clone, Debug)]
18479#[doc = "See [XrSenseDataFilterSemanticBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterSemanticBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18480pub struct SenseDataFilterSemanticBD {
18481 pub ty: StructureType,
18482 pub next: *const c_void,
18483 pub label_count: u32,
18484 pub labels: *const SemanticLabelBD,
18485}
18486impl SenseDataFilterSemanticBD {
18487 pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_SEMANTIC_BD;
18488}
18489#[repr(C)]
18490#[derive(Copy, Clone, Debug)]
18491#[doc = "See [XrSenseDataQueryCompletionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataQueryCompletionBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18492pub struct SenseDataQueryCompletionBD {
18493 pub ty: StructureType,
18494 pub next: *mut c_void,
18495 pub future_result: Result,
18496 pub snapshot: SenseDataSnapshotBD,
18497}
18498impl SenseDataQueryCompletionBD {
18499 pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_COMPLETION_BD;
18500 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18501 #[inline]
18502 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18503 let mut x = MaybeUninit::<Self>::uninit();
18504 unsafe {
18505 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18506 ty: Self::TYPE,
18507 next,
18508 });
18509 }
18510 x
18511 }
18512}
18513#[repr(C)]
18514#[derive(Copy, Clone, Debug)]
18515#[doc = "See [XrQueriedSenseDataGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQueriedSenseDataGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18516pub struct QueriedSenseDataGetInfoBD {
18517 pub ty: StructureType,
18518 pub next: *const c_void,
18519}
18520impl QueriedSenseDataGetInfoBD {
18521 pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_GET_INFO_BD;
18522}
18523#[repr(C)]
18524#[derive(Copy, Clone, Debug)]
18525#[doc = "See [XrQueriedSenseDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQueriedSenseDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18526pub struct QueriedSenseDataBD {
18527 pub ty: StructureType,
18528 pub next: *mut c_void,
18529 pub state_capacity_input: u32,
18530 pub state_count_output: u32,
18531 pub states: *mut SpatialEntityStateBD,
18532}
18533impl QueriedSenseDataBD {
18534 pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_BD;
18535 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18536 #[inline]
18537 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18538 let mut x = MaybeUninit::<Self>::uninit();
18539 unsafe {
18540 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18541 ty: Self::TYPE,
18542 next,
18543 });
18544 }
18545 x
18546 }
18547}
18548#[repr(C)]
18549#[derive(Copy, Clone, Debug)]
18550#[doc = "See [XrSpatialEntityStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityStateBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18551pub struct SpatialEntityStateBD {
18552 pub ty: StructureType,
18553 pub next: *mut c_void,
18554 pub entity_id: SpatialEntityIdBD,
18555 pub last_update_time: Time,
18556 pub uuid: UuidEXT,
18557}
18558impl SpatialEntityStateBD {
18559 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_STATE_BD;
18560 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18561 #[inline]
18562 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18563 let mut x = MaybeUninit::<Self>::uninit();
18564 unsafe {
18565 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18566 ty: Self::TYPE,
18567 next,
18568 });
18569 }
18570 x
18571 }
18572}
18573#[repr(C)]
18574#[derive(Copy, Clone, Debug)]
18575#[doc = "See [XrSpatialEntityAnchorCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityAnchorCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18576pub struct SpatialEntityAnchorCreateInfoBD {
18577 pub ty: StructureType,
18578 pub next: *const c_void,
18579 pub snapshot: SenseDataSnapshotBD,
18580 pub entity_id: SpatialEntityIdBD,
18581}
18582impl SpatialEntityAnchorCreateInfoBD {
18583 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD;
18584}
18585#[repr(C)]
18586#[derive(Copy, Clone, Debug)]
18587#[doc = "See [XrAnchorSpaceCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSpaceCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
18588pub struct AnchorSpaceCreateInfoBD {
18589 pub ty: StructureType,
18590 pub next: *const c_void,
18591 pub anchor: AnchorBD,
18592 pub pose_in_anchor_space: Posef,
18593}
18594impl AnchorSpaceCreateInfoBD {
18595 pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_BD;
18596}
18597#[repr(C)]
18598#[derive(Copy, Clone, Debug)]
18599#[doc = "See [XrSystemSpatialAnchorPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialAnchorPropertiesBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18600pub struct SystemSpatialAnchorPropertiesBD {
18601 pub ty: StructureType,
18602 pub next: *mut c_void,
18603 pub supports_spatial_anchor: Bool32,
18604}
18605impl SystemSpatialAnchorPropertiesBD {
18606 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD;
18607 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18608 #[inline]
18609 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18610 let mut x = MaybeUninit::<Self>::uninit();
18611 unsafe {
18612 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18613 ty: Self::TYPE,
18614 next,
18615 });
18616 }
18617 x
18618 }
18619}
18620#[repr(C)]
18621#[derive(Copy, Clone, Debug)]
18622#[doc = "See [XrSpatialAnchorCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18623pub struct SpatialAnchorCreateInfoBD {
18624 pub ty: StructureType,
18625 pub next: *const c_void,
18626 pub space: Space,
18627 pub pose: Posef,
18628 pub time: Time,
18629}
18630impl SpatialAnchorCreateInfoBD {
18631 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_BD;
18632}
18633#[repr(C)]
18634#[derive(Copy, Clone, Debug)]
18635#[doc = "See [XrSpatialAnchorCreateCompletionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateCompletionBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18636pub struct SpatialAnchorCreateCompletionBD {
18637 pub ty: StructureType,
18638 pub next: *mut c_void,
18639 pub future_result: Result,
18640 pub uuid: UuidEXT,
18641 pub anchor: AnchorBD,
18642}
18643impl SpatialAnchorCreateCompletionBD {
18644 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_COMPLETION_BD;
18645 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18646 #[inline]
18647 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18648 let mut x = MaybeUninit::<Self>::uninit();
18649 unsafe {
18650 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18651 ty: Self::TYPE,
18652 next,
18653 });
18654 }
18655 x
18656 }
18657}
18658#[repr(C)]
18659#[derive(Copy, Clone, Debug)]
18660#[doc = "See [XrSpatialAnchorPersistInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18661pub struct SpatialAnchorPersistInfoBD {
18662 pub ty: StructureType,
18663 pub next: *const c_void,
18664 pub location: PersistenceLocationBD,
18665 pub anchor: AnchorBD,
18666}
18667impl SpatialAnchorPersistInfoBD {
18668 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSIST_INFO_BD;
18669}
18670#[repr(C)]
18671#[derive(Copy, Clone, Debug)]
18672#[doc = "See [XrSpatialAnchorUnpersistInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorUnpersistInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
18673pub struct SpatialAnchorUnpersistInfoBD {
18674 pub ty: StructureType,
18675 pub next: *const c_void,
18676 pub location: PersistenceLocationBD,
18677 pub anchor: AnchorBD,
18678}
18679impl SpatialAnchorUnpersistInfoBD {
18680 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_UNPERSIST_INFO_BD;
18681}
18682#[repr(C)]
18683#[derive(Copy, Clone, Debug)]
18684#[doc = "See [XrSystemSpatialAnchorSharingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialAnchorSharingPropertiesBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
18685pub struct SystemSpatialAnchorSharingPropertiesBD {
18686 pub ty: StructureType,
18687 pub next: *mut c_void,
18688 pub supports_spatial_anchor_sharing: Bool32,
18689}
18690impl SystemSpatialAnchorSharingPropertiesBD {
18691 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD;
18692 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18693 #[inline]
18694 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18695 let mut x = MaybeUninit::<Self>::uninit();
18696 unsafe {
18697 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18698 ty: Self::TYPE,
18699 next,
18700 });
18701 }
18702 x
18703 }
18704}
18705#[repr(C)]
18706#[derive(Copy, Clone, Debug)]
18707#[doc = "See [XrSpatialAnchorShareInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorShareInfoBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
18708pub struct SpatialAnchorShareInfoBD {
18709 pub ty: StructureType,
18710 pub next: *const c_void,
18711 pub anchor: AnchorBD,
18712}
18713impl SpatialAnchorShareInfoBD {
18714 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SHARE_INFO_BD;
18715}
18716#[repr(C)]
18717#[derive(Copy, Clone, Debug)]
18718#[doc = "See [XrSharedSpatialAnchorDownloadInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSharedSpatialAnchorDownloadInfoBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
18719pub struct SharedSpatialAnchorDownloadInfoBD {
18720 pub ty: StructureType,
18721 pub next: *const c_void,
18722 pub uuid: UuidEXT,
18723}
18724impl SharedSpatialAnchorDownloadInfoBD {
18725 pub const TYPE: StructureType = StructureType::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD;
18726}
18727#[repr(C)]
18728#[derive(Copy, Clone, Debug)]
18729#[doc = "See [XrSystemSpatialMeshPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialMeshPropertiesBD) - defined by [XR_BD_spatial_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_mesh)"]
18730pub struct SystemSpatialMeshPropertiesBD {
18731 pub ty: StructureType,
18732 pub next: *mut c_void,
18733 pub supports_spatial_mesh: Bool32,
18734}
18735impl SystemSpatialMeshPropertiesBD {
18736 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_MESH_PROPERTIES_BD;
18737 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18738 #[inline]
18739 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18740 let mut x = MaybeUninit::<Self>::uninit();
18741 unsafe {
18742 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18743 ty: Self::TYPE,
18744 next,
18745 });
18746 }
18747 x
18748 }
18749}
18750#[repr(C)]
18751#[derive(Copy, Clone, Debug)]
18752#[doc = "See [XrSenseDataProviderCreateInfoSpatialMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderCreateInfoSpatialMeshBD) - defined by [XR_BD_spatial_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_mesh)"]
18753pub struct SenseDataProviderCreateInfoSpatialMeshBD {
18754 pub ty: StructureType,
18755 pub next: *const c_void,
18756 pub config_flags: SpatialMeshConfigFlagsBD,
18757 pub lod: SpatialMeshLodBD,
18758}
18759impl SenseDataProviderCreateInfoSpatialMeshBD {
18760 pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD;
18761}
18762#[repr(C)]
18763#[derive(Copy, Clone, Debug)]
18764#[doc = "See [XrSystemSpatialScenePropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialScenePropertiesBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
18765pub struct SystemSpatialScenePropertiesBD {
18766 pub ty: StructureType,
18767 pub next: *mut c_void,
18768 pub supports_spatial_scene: Bool32,
18769}
18770impl SystemSpatialScenePropertiesBD {
18771 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD;
18772 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18773 #[inline]
18774 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18775 let mut x = MaybeUninit::<Self>::uninit();
18776 unsafe {
18777 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18778 ty: Self::TYPE,
18779 next,
18780 });
18781 }
18782 x
18783 }
18784}
18785#[repr(C)]
18786#[derive(Copy, Clone, Debug)]
18787#[doc = "See [XrSceneCaptureInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneCaptureInfoBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
18788pub struct SceneCaptureInfoBD {
18789 pub ty: StructureType,
18790 pub next: *const c_void,
18791}
18792impl SceneCaptureInfoBD {
18793 pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_INFO_BD;
18794}
18795#[repr(C)]
18796#[derive(Copy, Clone, Debug)]
18797#[doc = "See [XrSystemSpatialPlanePropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialPlanePropertiesBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
18798pub struct SystemSpatialPlanePropertiesBD {
18799 pub ty: StructureType,
18800 pub next: *mut c_void,
18801 pub supports_spatial_plane: Bool32,
18802}
18803impl SystemSpatialPlanePropertiesBD {
18804 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD;
18805 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18806 #[inline]
18807 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18808 let mut x = MaybeUninit::<Self>::uninit();
18809 unsafe {
18810 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18811 ty: Self::TYPE,
18812 next,
18813 });
18814 }
18815 x
18816 }
18817}
18818#[repr(C)]
18819#[derive(Copy, Clone, Debug)]
18820#[doc = "See [XrSpatialEntityComponentDataPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataPlaneOrientationBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
18821pub struct SpatialEntityComponentDataPlaneOrientationBD {
18822 pub ty: StructureType,
18823 pub next: *mut c_void,
18824 pub orientation: PlaneOrientationBD,
18825}
18826impl SpatialEntityComponentDataPlaneOrientationBD {
18827 pub const TYPE: StructureType =
18828 StructureType::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD;
18829 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18830 #[inline]
18831 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18832 let mut x = MaybeUninit::<Self>::uninit();
18833 unsafe {
18834 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18835 ty: Self::TYPE,
18836 next,
18837 });
18838 }
18839 x
18840 }
18841}
18842#[repr(C)]
18843#[derive(Copy, Clone, Debug)]
18844#[doc = "See [XrSenseDataFilterPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterPlaneOrientationBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
18845pub struct SenseDataFilterPlaneOrientationBD {
18846 pub ty: StructureType,
18847 pub next: *const c_void,
18848 pub orientation_count: u32,
18849 pub orientations: *mut PlaneOrientationBD,
18850}
18851impl SenseDataFilterPlaneOrientationBD {
18852 pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD;
18853}
18854#[repr(C)]
18855#[derive(Copy, Clone, Debug)]
18856#[doc = "See [XrSystemSimultaneousHandsAndControllersPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSimultaneousHandsAndControllersPropertiesMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
18857pub struct SystemSimultaneousHandsAndControllersPropertiesMETA {
18858 pub ty: StructureType,
18859 pub next: *mut c_void,
18860 pub supports_simultaneous_hands_and_controllers: Bool32,
18861}
18862impl SystemSimultaneousHandsAndControllersPropertiesMETA {
18863 pub const TYPE: StructureType =
18864 StructureType::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META;
18865 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18866 #[inline]
18867 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18868 let mut x = MaybeUninit::<Self>::uninit();
18869 unsafe {
18870 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18871 ty: Self::TYPE,
18872 next,
18873 });
18874 }
18875 x
18876 }
18877}
18878#[repr(C)]
18879#[derive(Copy, Clone, Debug)]
18880#[doc = "See [XrSimultaneousHandsAndControllersTrackingResumeInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSimultaneousHandsAndControllersTrackingResumeInfoMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
18881pub struct SimultaneousHandsAndControllersTrackingResumeInfoMETA {
18882 pub ty: StructureType,
18883 pub next: *const c_void,
18884}
18885impl SimultaneousHandsAndControllersTrackingResumeInfoMETA {
18886 pub const TYPE: StructureType =
18887 StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META;
18888}
18889#[repr(C)]
18890#[derive(Copy, Clone, Debug)]
18891#[doc = "See [XrSimultaneousHandsAndControllersTrackingPauseInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSimultaneousHandsAndControllersTrackingPauseInfoMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
18892pub struct SimultaneousHandsAndControllersTrackingPauseInfoMETA {
18893 pub ty: StructureType,
18894 pub next: *const c_void,
18895}
18896impl SimultaneousHandsAndControllersTrackingPauseInfoMETA {
18897 pub const TYPE: StructureType =
18898 StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META;
18899}
18900#[repr(C)]
18901#[derive(Copy, Clone, Debug)]
18902#[doc = "See [XrLoaderInitInfoPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoPropertiesEXT) - defined by [XR_EXT_loader_init_properties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_loader_init_properties)"]
18903pub struct LoaderInitInfoPropertiesEXT {
18904 pub ty: StructureType,
18905 pub next: *const c_void,
18906 pub property_value_count: u32,
18907 pub property_values: *const LoaderInitPropertyValueEXT,
18908}
18909impl LoaderInitInfoPropertiesEXT {
18910 pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_PROPERTIES_EXT;
18911}
18912#[repr(C)]
18913#[derive(Copy, Clone, Debug)]
18914#[doc = "See [XrLoaderInitPropertyValueEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitPropertyValueEXT)"]
18915pub struct LoaderInitPropertyValueEXT {
18916 pub name: *const c_char,
18917 pub value: *const c_char,
18918}
18919#[repr(C)]
18920#[derive(Copy, Clone, Debug)]
18921#[doc = "See [XrSpatialCapabilityConfigurationArucoMarkerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationArucoMarkerEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18922pub struct SpatialCapabilityConfigurationArucoMarkerEXT {
18923 pub ty: StructureType,
18924 pub next: *const c_void,
18925 pub capability: SpatialCapabilityEXT,
18926 pub enabled_component_count: u32,
18927 pub enabled_components: *const SpatialComponentTypeEXT,
18928 pub ar_uco_dict: SpatialMarkerArucoDictEXT,
18929}
18930impl SpatialCapabilityConfigurationArucoMarkerEXT {
18931 pub const TYPE: StructureType =
18932 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT;
18933}
18934#[repr(C)]
18935#[derive(Copy, Clone, Debug)]
18936#[doc = "See [XrSpatialCapabilityConfigurationAprilTagEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationAprilTagEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18937pub struct SpatialCapabilityConfigurationAprilTagEXT {
18938 pub ty: StructureType,
18939 pub next: *const c_void,
18940 pub capability: SpatialCapabilityEXT,
18941 pub enabled_component_count: u32,
18942 pub enabled_components: *const SpatialComponentTypeEXT,
18943 pub april_dict: SpatialMarkerAprilTagDictEXT,
18944}
18945impl SpatialCapabilityConfigurationAprilTagEXT {
18946 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT;
18947}
18948#[repr(C)]
18949#[derive(Copy, Clone, Debug)]
18950#[doc = "See [XrSpatialCapabilityConfigurationQrCodeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationQrCodeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18951pub struct SpatialCapabilityConfigurationQrCodeEXT {
18952 pub ty: StructureType,
18953 pub next: *const c_void,
18954 pub capability: SpatialCapabilityEXT,
18955 pub enabled_component_count: u32,
18956 pub enabled_components: *const SpatialComponentTypeEXT,
18957}
18958impl SpatialCapabilityConfigurationQrCodeEXT {
18959 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT;
18960}
18961#[repr(C)]
18962#[derive(Copy, Clone, Debug)]
18963#[doc = "See [XrSpatialCapabilityConfigurationMicroQrCodeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationMicroQrCodeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18964pub struct SpatialCapabilityConfigurationMicroQrCodeEXT {
18965 pub ty: StructureType,
18966 pub next: *const c_void,
18967 pub capability: SpatialCapabilityEXT,
18968 pub enabled_component_count: u32,
18969 pub enabled_components: *const SpatialComponentTypeEXT,
18970}
18971impl SpatialCapabilityConfigurationMicroQrCodeEXT {
18972 pub const TYPE: StructureType =
18973 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT;
18974}
18975#[repr(C)]
18976#[derive(Copy, Clone, Debug)]
18977#[doc = "See [XrSpatialMarkerSizeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerSizeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18978pub struct SpatialMarkerSizeEXT {
18979 pub ty: StructureType,
18980 pub next: *const c_void,
18981 pub marker_side_length: f32,
18982}
18983impl SpatialMarkerSizeEXT {
18984 pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_SIZE_EXT;
18985}
18986#[repr(C)]
18987#[derive(Copy, Clone, Debug)]
18988#[doc = "See [XrSpatialMarkerStaticOptimizationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerStaticOptimizationEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
18989pub struct SpatialMarkerStaticOptimizationEXT {
18990 pub ty: StructureType,
18991 pub next: *const c_void,
18992 pub optimize_for_static_marker: Bool32,
18993}
18994impl SpatialMarkerStaticOptimizationEXT {
18995 pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT;
18996}
18997#[repr(C)]
18998#[derive(Copy, Clone, Debug, PartialEq)]
18999#[doc = "See [XrSpatialMarkerDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerDataEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
19000pub struct SpatialMarkerDataEXT {
19001 pub capability: SpatialCapabilityEXT,
19002 pub marker_id: u32,
19003 pub data: SpatialBufferEXT,
19004}
19005#[repr(C)]
19006#[derive(Copy, Clone, Debug)]
19007#[doc = "See [XrSpatialComponentMarkerListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMarkerListEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
19008pub struct SpatialComponentMarkerListEXT {
19009 pub ty: StructureType,
19010 pub next: *mut c_void,
19011 pub marker_count: u32,
19012 pub markers: *mut SpatialMarkerDataEXT,
19013}
19014impl SpatialComponentMarkerListEXT {
19015 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MARKER_LIST_EXT;
19016 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19017 #[inline]
19018 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19019 let mut x = MaybeUninit::<Self>::uninit();
19020 unsafe {
19021 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19022 ty: Self::TYPE,
19023 next,
19024 });
19025 }
19026 x
19027 }
19028}
19029#[repr(C)]
19030#[derive(Copy, Clone, Debug)]
19031#[doc = "See [XrSystemFacialSimulationPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialSimulationPropertiesBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19032pub struct SystemFacialSimulationPropertiesBD {
19033 pub ty: StructureType,
19034 pub next: *mut c_void,
19035 pub supports_face_tracking: Bool32,
19036}
19037impl SystemFacialSimulationPropertiesBD {
19038 pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD;
19039 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19040 #[inline]
19041 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19042 let mut x = MaybeUninit::<Self>::uninit();
19043 unsafe {
19044 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19045 ty: Self::TYPE,
19046 next,
19047 });
19048 }
19049 x
19050 }
19051}
19052#[repr(C)]
19053#[derive(Copy, Clone, Debug)]
19054#[doc = "See [XrFaceTrackerCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19055pub struct FaceTrackerCreateInfoBD {
19056 pub ty: StructureType,
19057 pub next: *const c_void,
19058 pub mode: FacialSimulationModeBD,
19059}
19060impl FaceTrackerCreateInfoBD {
19061 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_BD;
19062}
19063#[repr(C)]
19064#[derive(Copy, Clone, Debug)]
19065#[doc = "See [XrFacialSimulationDataGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationDataGetInfoBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19066pub struct FacialSimulationDataGetInfoBD {
19067 pub ty: StructureType,
19068 pub next: *const c_void,
19069 pub time: Time,
19070}
19071impl FacialSimulationDataGetInfoBD {
19072 pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_GET_INFO_BD;
19073}
19074#[repr(C)]
19075#[derive(Copy, Clone, Debug)]
19076#[doc = "See [XrFacialSimulationDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19077pub struct FacialSimulationDataBD {
19078 pub ty: StructureType,
19079 pub next: *mut c_void,
19080 pub face_expression_weight_count: u32,
19081 pub face_expression_weights: *mut f32,
19082 pub is_upper_face_data_valid: Bool32,
19083 pub is_lower_face_data_valid: Bool32,
19084 pub time: Time,
19085}
19086impl FacialSimulationDataBD {
19087 pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_BD;
19088 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19089 #[inline]
19090 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19091 let mut x = MaybeUninit::<Self>::uninit();
19092 unsafe {
19093 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19094 ty: Self::TYPE,
19095 next,
19096 });
19097 }
19098 x
19099 }
19100}
19101#[repr(C)]
19102#[derive(Copy, Clone, Debug)]
19103#[doc = "See [XrLipExpressionDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
19104pub struct LipExpressionDataBD {
19105 pub ty: StructureType,
19106 pub next: *mut c_void,
19107 pub lipsync_expression_weight_count: u32,
19108 pub lipsync_expression_weights: *mut f32,
19109}
19110impl LipExpressionDataBD {
19111 pub const TYPE: StructureType = StructureType::LIP_EXPRESSION_DATA_BD;
19112 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19113 #[inline]
19114 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19115 let mut x = MaybeUninit::<Self>::uninit();
19116 unsafe {
19117 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19118 ty: Self::TYPE,
19119 next,
19120 });
19121 }
19122 x
19123 }
19124}
19125#[doc = r" Function pointer prototypes"]
19126pub mod pfn {
19127 use super::*;
19128 pub use crate::platform::EglGetProcAddressMNDX;
19129 pub type VoidFunction = unsafe extern "system" fn();
19130 pub type DebugUtilsMessengerCallbackEXT = unsafe extern "system" fn(
19131 DebugUtilsMessageSeverityFlagsEXT,
19132 DebugUtilsMessageTypeFlagsEXT,
19133 *const DebugUtilsMessengerCallbackDataEXT,
19134 *mut c_void,
19135 ) -> Bool32;
19136 #[doc = "See [xrNegotiateLoaderRuntimeInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderRuntimeInterface)"]
19137 pub type NegotiateLoaderRuntimeInterface = unsafe extern "system" fn(
19138 loader_info: *const NegotiateLoaderInfo,
19139 runtime_request: *mut NegotiateRuntimeRequest,
19140 ) -> Result;
19141 #[doc = "See [xrNegotiateLoaderApiLayerInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderApiLayerInterface)"]
19142 pub type NegotiateLoaderApiLayerInterface = unsafe extern "system" fn(
19143 loader_info: *const NegotiateLoaderInfo,
19144 layer_name: *const c_char,
19145 api_layer_request: *mut NegotiateApiLayerRequest,
19146 ) -> Result;
19147 #[doc = "See [xrCreateApiLayerInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateApiLayerInstance)"]
19148 pub type CreateApiLayerInstance = unsafe extern "system" fn(
19149 info: *const InstanceCreateInfo,
19150 layer_info: *const ApiLayerCreateInfo,
19151 instance: *mut Instance,
19152 ) -> Result;
19153 #[doc = "See [xrGetInstanceProcAddr](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProcAddr)"]
19154 pub type GetInstanceProcAddr = unsafe extern "system" fn(
19155 instance: Instance,
19156 name: *const c_char,
19157 function: *mut Option<pfn::VoidFunction>,
19158 ) -> Result;
19159 #[doc = "See [xrEnumerateApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateApiLayerProperties)"]
19160 pub type EnumerateApiLayerProperties = unsafe extern "system" fn(
19161 property_capacity_input: u32,
19162 property_count_output: *mut u32,
19163 properties: *mut ApiLayerProperties,
19164 ) -> Result;
19165 #[doc = "See [xrEnumerateInstanceExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateInstanceExtensionProperties)"]
19166 pub type EnumerateInstanceExtensionProperties = unsafe extern "system" fn(
19167 layer_name: *const c_char,
19168 property_capacity_input: u32,
19169 property_count_output: *mut u32,
19170 properties: *mut ExtensionProperties,
19171 ) -> Result;
19172 #[doc = "See [xrCreateInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateInstance)"]
19173 pub type CreateInstance = unsafe extern "system" fn(
19174 create_info: *const InstanceCreateInfo,
19175 instance: *mut Instance,
19176 ) -> Result;
19177 #[doc = "See [xrDestroyInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyInstance)"]
19178 pub type DestroyInstance = unsafe extern "system" fn(instance: Instance) -> Result;
19179 #[doc = "See [xrResultToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResultToString)"]
19180 pub type ResultToString =
19181 unsafe extern "system" fn(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
19182 #[doc = "See [xrStructureTypeToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStructureTypeToString)"]
19183 pub type StructureTypeToString = unsafe extern "system" fn(
19184 instance: Instance,
19185 value: StructureType,
19186 buffer: *mut c_char,
19187 ) -> Result;
19188 #[doc = "See [xrStructureTypeToString2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStructureTypeToString2KHR) - defined by [XR_KHR_extended_struct_name_lengths](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_extended_struct_name_lengths)"]
19189 pub type StructureTypeToString2KHR = unsafe extern "system" fn(
19190 instance: Instance,
19191 value: StructureType,
19192 buffer: *mut c_char,
19193 ) -> Result;
19194 #[doc = "See [xrGetInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProperties)"]
19195 pub type GetInstanceProperties = unsafe extern "system" fn(
19196 instance: Instance,
19197 instance_properties: *mut InstanceProperties,
19198 ) -> Result;
19199 #[doc = "See [xrGetSystem](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystem)"]
19200 pub type GetSystem = unsafe extern "system" fn(
19201 instance: Instance,
19202 get_info: *const SystemGetInfo,
19203 system_id: *mut SystemId,
19204 ) -> Result;
19205 #[doc = "See [xrGetSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystemProperties)"]
19206 pub type GetSystemProperties = unsafe extern "system" fn(
19207 instance: Instance,
19208 system_id: SystemId,
19209 properties: *mut SystemProperties,
19210 ) -> Result;
19211 #[doc = "See [xrCreateSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSession)"]
19212 pub type CreateSession = unsafe extern "system" fn(
19213 instance: Instance,
19214 create_info: *const SessionCreateInfo,
19215 session: *mut Session,
19216 ) -> Result;
19217 #[doc = "See [xrDestroySession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySession)"]
19218 pub type DestroySession = unsafe extern "system" fn(session: Session) -> Result;
19219 #[doc = "See [xrDestroySpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpace)"]
19220 pub type DestroySpace = unsafe extern "system" fn(space: Space) -> Result;
19221 #[doc = "See [xrEnumerateSwapchainFormats](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainFormats)"]
19222 pub type EnumerateSwapchainFormats = unsafe extern "system" fn(
19223 session: Session,
19224 format_capacity_input: u32,
19225 format_count_output: *mut u32,
19226 formats: *mut i64,
19227 ) -> Result;
19228 #[doc = "See [xrCreateSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSwapchain)"]
19229 pub type CreateSwapchain = unsafe extern "system" fn(
19230 session: Session,
19231 create_info: *const SwapchainCreateInfo,
19232 swapchain: *mut Swapchain,
19233 ) -> Result;
19234 #[doc = "See [xrDestroySwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySwapchain)"]
19235 pub type DestroySwapchain = unsafe extern "system" fn(swapchain: Swapchain) -> Result;
19236 #[doc = "See [xrEnumerateSwapchainImages](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainImages)"]
19237 pub type EnumerateSwapchainImages = unsafe extern "system" fn(
19238 swapchain: Swapchain,
19239 image_capacity_input: u32,
19240 image_count_output: *mut u32,
19241 images: *mut SwapchainImageBaseHeader,
19242 ) -> Result;
19243 #[doc = "See [xrAcquireSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAcquireSwapchainImage)"]
19244 pub type AcquireSwapchainImage = unsafe extern "system" fn(
19245 swapchain: Swapchain,
19246 acquire_info: *const SwapchainImageAcquireInfo,
19247 index: *mut u32,
19248 ) -> Result;
19249 #[doc = "See [xrWaitSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitSwapchainImage)"]
19250 pub type WaitSwapchainImage = unsafe extern "system" fn(
19251 swapchain: Swapchain,
19252 wait_info: *const SwapchainImageWaitInfo,
19253 ) -> Result;
19254 #[doc = "See [xrReleaseSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrReleaseSwapchainImage)"]
19255 pub type ReleaseSwapchainImage = unsafe extern "system" fn(
19256 swapchain: Swapchain,
19257 release_info: *const SwapchainImageReleaseInfo,
19258 ) -> Result;
19259 #[doc = "See [xrBeginSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginSession)"]
19260 pub type BeginSession =
19261 unsafe extern "system" fn(session: Session, begin_info: *const SessionBeginInfo) -> Result;
19262 #[doc = "See [xrEndSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndSession)"]
19263 pub type EndSession = unsafe extern "system" fn(session: Session) -> Result;
19264 #[doc = "See [xrRequestExitSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestExitSession)"]
19265 pub type RequestExitSession = unsafe extern "system" fn(session: Session) -> Result;
19266 #[doc = "See [xrEnumerateReferenceSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateReferenceSpaces)"]
19267 pub type EnumerateReferenceSpaces = unsafe extern "system" fn(
19268 session: Session,
19269 space_capacity_input: u32,
19270 space_count_output: *mut u32,
19271 spaces: *mut ReferenceSpaceType,
19272 ) -> Result;
19273 #[doc = "See [xrCreateReferenceSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateReferenceSpace)"]
19274 pub type CreateReferenceSpace = unsafe extern "system" fn(
19275 session: Session,
19276 create_info: *const ReferenceSpaceCreateInfo,
19277 space: *mut Space,
19278 ) -> Result;
19279 #[doc = "See [xrCreateActionSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSpace)"]
19280 pub type CreateActionSpace = unsafe extern "system" fn(
19281 session: Session,
19282 create_info: *const ActionSpaceCreateInfo,
19283 space: *mut Space,
19284 ) -> Result;
19285 #[doc = "See [xrLocateSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpace)"]
19286 pub type LocateSpace = unsafe extern "system" fn(
19287 space: Space,
19288 base_space: Space,
19289 time: Time,
19290 location: *mut SpaceLocation,
19291 ) -> Result;
19292 #[doc = "See [xrEnumerateViewConfigurations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurations)"]
19293 pub type EnumerateViewConfigurations = unsafe extern "system" fn(
19294 instance: Instance,
19295 system_id: SystemId,
19296 view_configuration_type_capacity_input: u32,
19297 view_configuration_type_count_output: *mut u32,
19298 view_configuration_types: *mut ViewConfigurationType,
19299 ) -> Result;
19300 #[doc = "See [xrEnumerateEnvironmentBlendModes](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateEnvironmentBlendModes)"]
19301 pub type EnumerateEnvironmentBlendModes = unsafe extern "system" fn(
19302 instance: Instance,
19303 system_id: SystemId,
19304 view_configuration_type: ViewConfigurationType,
19305 environment_blend_mode_capacity_input: u32,
19306 environment_blend_mode_count_output: *mut u32,
19307 environment_blend_modes: *mut EnvironmentBlendMode,
19308 ) -> Result;
19309 #[doc = "See [xrGetViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetViewConfigurationProperties)"]
19310 pub type GetViewConfigurationProperties = unsafe extern "system" fn(
19311 instance: Instance,
19312 system_id: SystemId,
19313 view_configuration_type: ViewConfigurationType,
19314 configuration_properties: *mut ViewConfigurationProperties,
19315 ) -> Result;
19316 #[doc = "See [xrEnumerateViewConfigurationViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurationViews)"]
19317 pub type EnumerateViewConfigurationViews = unsafe extern "system" fn(
19318 instance: Instance,
19319 system_id: SystemId,
19320 view_configuration_type: ViewConfigurationType,
19321 view_capacity_input: u32,
19322 view_count_output: *mut u32,
19323 views: *mut ViewConfigurationView,
19324 ) -> Result;
19325 #[doc = "See [xrBeginFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginFrame)"]
19326 pub type BeginFrame = unsafe extern "system" fn(
19327 session: Session,
19328 frame_begin_info: *const FrameBeginInfo,
19329 ) -> Result;
19330 #[doc = "See [xrLocateViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateViews)"]
19331 pub type LocateViews = unsafe extern "system" fn(
19332 session: Session,
19333 view_locate_info: *const ViewLocateInfo,
19334 view_state: *mut ViewState,
19335 view_capacity_input: u32,
19336 view_count_output: *mut u32,
19337 views: *mut View,
19338 ) -> Result;
19339 #[doc = "See [xrEndFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndFrame)"]
19340 pub type EndFrame =
19341 unsafe extern "system" fn(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
19342 #[doc = "See [xrWaitFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitFrame)"]
19343 pub type WaitFrame = unsafe extern "system" fn(
19344 session: Session,
19345 frame_wait_info: *const FrameWaitInfo,
19346 frame_state: *mut FrameState,
19347 ) -> Result;
19348 #[doc = "See [xrApplyHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyHapticFeedback)"]
19349 pub type ApplyHapticFeedback = unsafe extern "system" fn(
19350 session: Session,
19351 haptic_action_info: *const HapticActionInfo,
19352 haptic_feedback: *const HapticBaseHeader,
19353 ) -> Result;
19354 #[doc = "See [xrStopHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopHapticFeedback)"]
19355 pub type StopHapticFeedback = unsafe extern "system" fn(
19356 session: Session,
19357 haptic_action_info: *const HapticActionInfo,
19358 ) -> Result;
19359 #[doc = "See [xrPollEvent](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPollEvent)"]
19360 pub type PollEvent =
19361 unsafe extern "system" fn(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
19362 #[doc = "See [xrStringToPath](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStringToPath)"]
19363 pub type StringToPath = unsafe extern "system" fn(
19364 instance: Instance,
19365 path_string: *const c_char,
19366 path: *mut Path,
19367 ) -> Result;
19368 #[doc = "See [xrPathToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPathToString)"]
19369 pub type PathToString = unsafe extern "system" fn(
19370 instance: Instance,
19371 path: Path,
19372 buffer_capacity_input: u32,
19373 buffer_count_output: *mut u32,
19374 buffer: *mut c_char,
19375 ) -> Result;
19376 #[doc = "See [xrGetReferenceSpaceBoundsRect](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetReferenceSpaceBoundsRect)"]
19377 pub type GetReferenceSpaceBoundsRect = unsafe extern "system" fn(
19378 session: Session,
19379 reference_space_type: ReferenceSpaceType,
19380 bounds: *mut Extent2Df,
19381 ) -> Result;
19382 #[cfg(target_os = "android")]
19383 #[doc = "See [xrSetAndroidApplicationThreadKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetAndroidApplicationThreadKHR) - defined by [XR_KHR_android_thread_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_thread_settings)"]
19384 pub type SetAndroidApplicationThreadKHR = unsafe extern "system" fn(
19385 session: Session,
19386 thread_type: AndroidThreadTypeKHR,
19387 thread_id: u32,
19388 ) -> Result;
19389 #[cfg(target_os = "android")]
19390 #[doc = "See [xrCreateSwapchainAndroidSurfaceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSwapchainAndroidSurfaceKHR) - defined by [XR_KHR_android_surface_swapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_surface_swapchain)"]
19391 pub type CreateSwapchainAndroidSurfaceKHR = unsafe extern "system" fn(
19392 session: Session,
19393 info: *const SwapchainCreateInfo,
19394 swapchain: *mut Swapchain,
19395 surface: *mut jobject,
19396 ) -> Result;
19397 #[doc = "See [xrGetActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateBoolean)"]
19398 pub type GetActionStateBoolean = unsafe extern "system" fn(
19399 session: Session,
19400 get_info: *const ActionStateGetInfo,
19401 state: *mut ActionStateBoolean,
19402 ) -> Result;
19403 #[doc = "See [xrGetActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateFloat)"]
19404 pub type GetActionStateFloat = unsafe extern "system" fn(
19405 session: Session,
19406 get_info: *const ActionStateGetInfo,
19407 state: *mut ActionStateFloat,
19408 ) -> Result;
19409 #[doc = "See [xrGetActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateVector2f)"]
19410 pub type GetActionStateVector2f = unsafe extern "system" fn(
19411 session: Session,
19412 get_info: *const ActionStateGetInfo,
19413 state: *mut ActionStateVector2f,
19414 ) -> Result;
19415 #[doc = "See [xrGetActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStatePose)"]
19416 pub type GetActionStatePose = unsafe extern "system" fn(
19417 session: Session,
19418 get_info: *const ActionStateGetInfo,
19419 state: *mut ActionStatePose,
19420 ) -> Result;
19421 #[doc = "See [xrCreateActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSet)"]
19422 pub type CreateActionSet = unsafe extern "system" fn(
19423 instance: Instance,
19424 create_info: *const ActionSetCreateInfo,
19425 action_set: *mut ActionSet,
19426 ) -> Result;
19427 #[doc = "See [xrDestroyActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyActionSet)"]
19428 pub type DestroyActionSet = unsafe extern "system" fn(action_set: ActionSet) -> Result;
19429 #[doc = "See [xrCreateAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAction)"]
19430 pub type CreateAction = unsafe extern "system" fn(
19431 action_set: ActionSet,
19432 create_info: *const ActionCreateInfo,
19433 action: *mut Action,
19434 ) -> Result;
19435 #[doc = "See [xrDestroyAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyAction)"]
19436 pub type DestroyAction = unsafe extern "system" fn(action: Action) -> Result;
19437 #[doc = "See [xrSuggestInteractionProfileBindings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestInteractionProfileBindings)"]
19438 pub type SuggestInteractionProfileBindings = unsafe extern "system" fn(
19439 instance: Instance,
19440 suggested_bindings: *const InteractionProfileSuggestedBinding,
19441 ) -> Result;
19442 #[doc = "See [xrAttachSessionActionSets](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAttachSessionActionSets)"]
19443 pub type AttachSessionActionSets = unsafe extern "system" fn(
19444 session: Session,
19445 attach_info: *const SessionActionSetsAttachInfo,
19446 ) -> Result;
19447 #[doc = "See [xrGetCurrentInteractionProfile](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetCurrentInteractionProfile)"]
19448 pub type GetCurrentInteractionProfile = unsafe extern "system" fn(
19449 session: Session,
19450 top_level_user_path: Path,
19451 interaction_profile: *mut InteractionProfileState,
19452 ) -> Result;
19453 #[doc = "See [xrSyncActions](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSyncActions)"]
19454 pub type SyncActions =
19455 unsafe extern "system" fn(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
19456 #[doc = "See [xrEnumerateBoundSourcesForAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateBoundSourcesForAction)"]
19457 pub type EnumerateBoundSourcesForAction = unsafe extern "system" fn(
19458 session: Session,
19459 enumerate_info: *const BoundSourcesForActionEnumerateInfo,
19460 source_capacity_input: u32,
19461 source_count_output: *mut u32,
19462 sources: *mut Path,
19463 ) -> Result;
19464 #[doc = "See [xrGetInputSourceLocalizedName](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInputSourceLocalizedName)"]
19465 pub type GetInputSourceLocalizedName = unsafe extern "system" fn(
19466 session: Session,
19467 get_info: *const InputSourceLocalizedNameGetInfo,
19468 buffer_capacity_input: u32,
19469 buffer_count_output: *mut u32,
19470 buffer: *mut c_char,
19471 ) -> Result;
19472 #[doc = "See [xrGetVulkanInstanceExtensionsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanInstanceExtensionsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19473 pub type GetVulkanInstanceExtensionsKHR = unsafe extern "system" fn(
19474 instance: Instance,
19475 system_id: SystemId,
19476 buffer_capacity_input: u32,
19477 buffer_count_output: *mut u32,
19478 buffer: *mut c_char,
19479 ) -> Result;
19480 #[doc = "See [xrGetVulkanDeviceExtensionsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanDeviceExtensionsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19481 pub type GetVulkanDeviceExtensionsKHR = unsafe extern "system" fn(
19482 instance: Instance,
19483 system_id: SystemId,
19484 buffer_capacity_input: u32,
19485 buffer_count_output: *mut u32,
19486 buffer: *mut c_char,
19487 ) -> Result;
19488 #[doc = "See [xrGetVulkanGraphicsDeviceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsDeviceKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19489 pub type GetVulkanGraphicsDeviceKHR = unsafe extern "system" fn(
19490 instance: Instance,
19491 system_id: SystemId,
19492 vk_instance: VkInstance,
19493 vk_physical_device: *mut VkPhysicalDevice,
19494 ) -> Result;
19495 #[doc = "See [xrGetOpenGLGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetOpenGLGraphicsRequirementsKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
19496 pub type GetOpenGLGraphicsRequirementsKHR = unsafe extern "system" fn(
19497 instance: Instance,
19498 system_id: SystemId,
19499 graphics_requirements: *mut GraphicsRequirementsOpenGLKHR,
19500 ) -> Result;
19501 #[doc = "See [xrGetOpenGLESGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetOpenGLESGraphicsRequirementsKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
19502 pub type GetOpenGLESGraphicsRequirementsKHR = unsafe extern "system" fn(
19503 instance: Instance,
19504 system_id: SystemId,
19505 graphics_requirements: *mut GraphicsRequirementsOpenGLESKHR,
19506 ) -> Result;
19507 #[doc = "See [xrGetVulkanGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsRequirementsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
19508 pub type GetVulkanGraphicsRequirementsKHR = unsafe extern "system" fn(
19509 instance: Instance,
19510 system_id: SystemId,
19511 graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
19512 ) -> Result;
19513 #[cfg(windows)]
19514 #[doc = "See [xrGetD3D11GraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetD3D11GraphicsRequirementsKHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
19515 pub type GetD3D11GraphicsRequirementsKHR = unsafe extern "system" fn(
19516 instance: Instance,
19517 system_id: SystemId,
19518 graphics_requirements: *mut GraphicsRequirementsD3D11KHR,
19519 ) -> Result;
19520 #[cfg(windows)]
19521 #[doc = "See [xrGetD3D12GraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetD3D12GraphicsRequirementsKHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
19522 pub type GetD3D12GraphicsRequirementsKHR = unsafe extern "system" fn(
19523 instance: Instance,
19524 system_id: SystemId,
19525 graphics_requirements: *mut GraphicsRequirementsD3D12KHR,
19526 ) -> Result;
19527 #[cfg(target_vendor = "apple")]
19528 #[doc = "See [xrGetMetalGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMetalGraphicsRequirementsKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
19529 pub type GetMetalGraphicsRequirementsKHR = unsafe extern "system" fn(
19530 instance: Instance,
19531 system_id: SystemId,
19532 graphics_requirements: *mut GraphicsRequirementsMetalKHR,
19533 ) -> Result;
19534 #[doc = "See [xrPerfSettingsSetPerformanceLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPerfSettingsSetPerformanceLevelEXT) - defined by [XR_EXT_performance_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_performance_settings)"]
19535 pub type PerfSettingsSetPerformanceLevelEXT = unsafe extern "system" fn(
19536 session: Session,
19537 domain: PerfSettingsDomainEXT,
19538 level: PerfSettingsLevelEXT,
19539 ) -> Result;
19540 #[doc = "See [xrThermalGetTemperatureTrendEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrThermalGetTemperatureTrendEXT) - defined by [XR_EXT_thermal_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_thermal_query)"]
19541 pub type ThermalGetTemperatureTrendEXT = unsafe extern "system" fn(
19542 session: Session,
19543 domain: PerfSettingsDomainEXT,
19544 notification_level: *mut PerfSettingsNotificationLevelEXT,
19545 temp_headroom: *mut f32,
19546 temp_slope: *mut f32,
19547 ) -> Result;
19548 #[doc = "See [xrSetDebugUtilsObjectNameEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetDebugUtilsObjectNameEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19549 pub type SetDebugUtilsObjectNameEXT = unsafe extern "system" fn(
19550 instance: Instance,
19551 name_info: *const DebugUtilsObjectNameInfoEXT,
19552 ) -> Result;
19553 #[doc = "See [xrCreateDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateDebugUtilsMessengerEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19554 pub type CreateDebugUtilsMessengerEXT = unsafe extern "system" fn(
19555 instance: Instance,
19556 create_info: *const DebugUtilsMessengerCreateInfoEXT,
19557 messenger: *mut DebugUtilsMessengerEXT,
19558 ) -> Result;
19559 #[doc = "See [xrDestroyDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyDebugUtilsMessengerEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19560 pub type DestroyDebugUtilsMessengerEXT =
19561 unsafe extern "system" fn(messenger: DebugUtilsMessengerEXT) -> Result;
19562 #[doc = "See [xrSubmitDebugUtilsMessageEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSubmitDebugUtilsMessageEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19563 pub type SubmitDebugUtilsMessageEXT = unsafe extern "system" fn(
19564 instance: Instance,
19565 message_severity: DebugUtilsMessageSeverityFlagsEXT,
19566 message_types: DebugUtilsMessageTypeFlagsEXT,
19567 callback_data: *const DebugUtilsMessengerCallbackDataEXT,
19568 ) -> Result;
19569 #[doc = "See [xrSessionBeginDebugUtilsLabelRegionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionBeginDebugUtilsLabelRegionEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19570 pub type SessionBeginDebugUtilsLabelRegionEXT = unsafe extern "system" fn(
19571 session: Session,
19572 label_info: *const DebugUtilsLabelEXT,
19573 ) -> Result;
19574 #[doc = "See [xrSessionEndDebugUtilsLabelRegionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionEndDebugUtilsLabelRegionEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19575 pub type SessionEndDebugUtilsLabelRegionEXT =
19576 unsafe extern "system" fn(session: Session) -> Result;
19577 #[doc = "See [xrSessionInsertDebugUtilsLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionInsertDebugUtilsLabelEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
19578 pub type SessionInsertDebugUtilsLabelEXT = unsafe extern "system" fn(
19579 session: Session,
19580 label_info: *const DebugUtilsLabelEXT,
19581 ) -> Result;
19582 #[cfg(windows)]
19583 #[doc = "See [xrConvertTimeToWin32PerformanceCounterKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimeToWin32PerformanceCounterKHR) - defined by [XR_KHR_win32_convert_performance_counter_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_win32_convert_performance_counter_time)"]
19584 pub type ConvertTimeToWin32PerformanceCounterKHR = unsafe extern "system" fn(
19585 instance: Instance,
19586 time: Time,
19587 performance_counter: *mut LARGE_INTEGER,
19588 ) -> Result;
19589 #[cfg(windows)]
19590 #[doc = "See [xrConvertWin32PerformanceCounterToTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertWin32PerformanceCounterToTimeKHR) - defined by [XR_KHR_win32_convert_performance_counter_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_win32_convert_performance_counter_time)"]
19591 pub type ConvertWin32PerformanceCounterToTimeKHR = unsafe extern "system" fn(
19592 instance: Instance,
19593 performance_counter: *const LARGE_INTEGER,
19594 time: *mut Time,
19595 ) -> Result;
19596 #[doc = "See [xrCreateVulkanInstanceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVulkanInstanceKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
19597 pub type CreateVulkanInstanceKHR = unsafe extern "system" fn(
19598 instance: Instance,
19599 create_info: *const VulkanInstanceCreateInfoKHR,
19600 vulkan_instance: *mut VkInstance,
19601 vulkan_result: *mut VkResult,
19602 ) -> Result;
19603 #[doc = "See [xrCreateVulkanDeviceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVulkanDeviceKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
19604 pub type CreateVulkanDeviceKHR = unsafe extern "system" fn(
19605 instance: Instance,
19606 create_info: *const VulkanDeviceCreateInfoKHR,
19607 vulkan_device: *mut VkDevice,
19608 vulkan_result: *mut VkResult,
19609 ) -> Result;
19610 #[doc = "See [xrGetVulkanGraphicsDevice2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsDevice2KHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
19611 pub type GetVulkanGraphicsDevice2KHR = unsafe extern "system" fn(
19612 instance: Instance,
19613 get_info: *const VulkanGraphicsDeviceGetInfoKHR,
19614 vulkan_physical_device: *mut VkPhysicalDevice,
19615 ) -> Result;
19616 #[doc = "See [xrConvertTimeToTimespecTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimeToTimespecTimeKHR) - defined by [XR_KHR_convert_timespec_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_convert_timespec_time)"]
19617 pub type ConvertTimeToTimespecTimeKHR = unsafe extern "system" fn(
19618 instance: Instance,
19619 time: Time,
19620 timespec_time: *mut timespec,
19621 ) -> Result;
19622 #[doc = "See [xrConvertTimespecTimeToTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimespecTimeToTimeKHR) - defined by [XR_KHR_convert_timespec_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_convert_timespec_time)"]
19623 pub type ConvertTimespecTimeToTimeKHR = unsafe extern "system" fn(
19624 instance: Instance,
19625 timespec_time: *const timespec,
19626 time: *mut Time,
19627 ) -> Result;
19628 #[doc = "See [xrGetVisibilityMaskKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVisibilityMaskKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
19629 pub type GetVisibilityMaskKHR = unsafe extern "system" fn(
19630 session: Session,
19631 view_configuration_type: ViewConfigurationType,
19632 view_index: u32,
19633 visibility_mask_type: VisibilityMaskTypeKHR,
19634 visibility_mask: *mut VisibilityMaskKHR,
19635 ) -> Result;
19636 #[doc = "See [xrCreateSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
19637 pub type CreateSpatialAnchorMSFT = unsafe extern "system" fn(
19638 session: Session,
19639 create_info: *const SpatialAnchorCreateInfoMSFT,
19640 anchor: *mut SpatialAnchorMSFT,
19641 ) -> Result;
19642 #[doc = "See [xrCreateSpatialAnchorSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorSpaceMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
19643 pub type CreateSpatialAnchorSpaceMSFT = unsafe extern "system" fn(
19644 session: Session,
19645 create_info: *const SpatialAnchorSpaceCreateInfoMSFT,
19646 space: *mut Space,
19647 ) -> Result;
19648 #[doc = "See [xrDestroySpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
19649 pub type DestroySpatialAnchorMSFT =
19650 unsafe extern "system" fn(anchor: SpatialAnchorMSFT) -> Result;
19651 #[doc = "See [xrSetInputDeviceActiveEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceActiveEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19652 pub type SetInputDeviceActiveEXT = unsafe extern "system" fn(
19653 session: Session,
19654 interaction_profile: Path,
19655 top_level_path: Path,
19656 is_active: Bool32,
19657 ) -> Result;
19658 #[doc = "See [xrSetInputDeviceStateBoolEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateBoolEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19659 pub type SetInputDeviceStateBoolEXT = unsafe extern "system" fn(
19660 session: Session,
19661 top_level_path: Path,
19662 input_source_path: Path,
19663 state: Bool32,
19664 ) -> Result;
19665 #[doc = "See [xrSetInputDeviceStateFloatEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateFloatEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19666 pub type SetInputDeviceStateFloatEXT = unsafe extern "system" fn(
19667 session: Session,
19668 top_level_path: Path,
19669 input_source_path: Path,
19670 state: f32,
19671 ) -> Result;
19672 #[doc = "See [xrSetInputDeviceStateVector2fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateVector2fEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19673 pub type SetInputDeviceStateVector2fEXT = unsafe extern "system" fn(
19674 session: Session,
19675 top_level_path: Path,
19676 input_source_path: Path,
19677 state: Vector2f,
19678 ) -> Result;
19679 #[doc = "See [xrSetInputDeviceLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceLocationEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
19680 pub type SetInputDeviceLocationEXT = unsafe extern "system" fn(
19681 session: Session,
19682 top_level_path: Path,
19683 input_source_path: Path,
19684 space: Space,
19685 pose: Posef,
19686 ) -> Result;
19687 #[doc = "See [xrInitializeLoaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrInitializeLoaderKHR) - defined by [XR_KHR_loader_init](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init)"]
19688 pub type InitializeLoaderKHR =
19689 unsafe extern "system" fn(loader_init_info: *const LoaderInitInfoBaseHeaderKHR) -> Result;
19690 #[doc = "See [xrCreateSpatialGraphNodeSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialGraphNodeSpaceMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19691 pub type CreateSpatialGraphNodeSpaceMSFT = unsafe extern "system" fn(
19692 session: Session,
19693 create_info: *const SpatialGraphNodeSpaceCreateInfoMSFT,
19694 space: *mut Space,
19695 ) -> Result;
19696 #[doc = "See [xrTryCreateSpatialGraphStaticNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTryCreateSpatialGraphStaticNodeBindingMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19697 pub type TryCreateSpatialGraphStaticNodeBindingMSFT = unsafe extern "system" fn(
19698 session: Session,
19699 create_info: *const SpatialGraphStaticNodeBindingCreateInfoMSFT,
19700 node_binding: *mut SpatialGraphNodeBindingMSFT,
19701 ) -> Result;
19702 #[doc = "See [xrDestroySpatialGraphNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialGraphNodeBindingMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19703 pub type DestroySpatialGraphNodeBindingMSFT =
19704 unsafe extern "system" fn(node_binding: SpatialGraphNodeBindingMSFT) -> Result;
19705 #[doc = "See [xrGetSpatialGraphNodeBindingPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialGraphNodeBindingPropertiesMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
19706 pub type GetSpatialGraphNodeBindingPropertiesMSFT = unsafe extern "system" fn(
19707 node_binding: SpatialGraphNodeBindingMSFT,
19708 get_info: *const SpatialGraphNodeBindingPropertiesGetInfoMSFT,
19709 properties: *mut SpatialGraphNodeBindingPropertiesMSFT,
19710 ) -> Result;
19711 #[doc = "See [xrCreateHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateHandTrackerEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
19712 pub type CreateHandTrackerEXT = unsafe extern "system" fn(
19713 session: Session,
19714 create_info: *const HandTrackerCreateInfoEXT,
19715 hand_tracker: *mut HandTrackerEXT,
19716 ) -> Result;
19717 #[doc = "See [xrDestroyHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyHandTrackerEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
19718 pub type DestroyHandTrackerEXT =
19719 unsafe extern "system" fn(hand_tracker: HandTrackerEXT) -> Result;
19720 #[doc = "See [xrLocateHandJointsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateHandJointsEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
19721 pub type LocateHandJointsEXT = unsafe extern "system" fn(
19722 hand_tracker: HandTrackerEXT,
19723 locate_info: *const HandJointsLocateInfoEXT,
19724 locations: *mut HandJointLocationsEXT,
19725 ) -> Result;
19726 #[doc = "See [xrCreateFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
19727 pub type CreateFaceTrackerFB = unsafe extern "system" fn(
19728 session: Session,
19729 create_info: *const FaceTrackerCreateInfoFB,
19730 face_tracker: *mut FaceTrackerFB,
19731 ) -> Result;
19732 #[doc = "See [xrDestroyFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
19733 pub type DestroyFaceTrackerFB =
19734 unsafe extern "system" fn(face_tracker: FaceTrackerFB) -> Result;
19735 #[doc = "See [xrGetFaceExpressionWeightsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceExpressionWeightsFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
19736 pub type GetFaceExpressionWeightsFB = unsafe extern "system" fn(
19737 face_tracker: FaceTrackerFB,
19738 expression_info: *const FaceExpressionInfoFB,
19739 expression_weights: *mut FaceExpressionWeightsFB,
19740 ) -> Result;
19741 #[doc = "See [xrCreateFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTracker2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
19742 pub type CreateFaceTracker2FB = unsafe extern "system" fn(
19743 session: Session,
19744 create_info: *const FaceTrackerCreateInfo2FB,
19745 face_tracker: *mut FaceTracker2FB,
19746 ) -> Result;
19747 #[doc = "See [xrDestroyFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTracker2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
19748 pub type DestroyFaceTracker2FB =
19749 unsafe extern "system" fn(face_tracker: FaceTracker2FB) -> Result;
19750 #[doc = "See [xrGetFaceExpressionWeights2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceExpressionWeights2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
19751 pub type GetFaceExpressionWeights2FB = unsafe extern "system" fn(
19752 face_tracker: FaceTracker2FB,
19753 expression_info: *const FaceExpressionInfo2FB,
19754 expression_weights: *mut FaceExpressionWeights2FB,
19755 ) -> Result;
19756 #[doc = "See [xrCreateBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19757 pub type CreateBodyTrackerFB = unsafe extern "system" fn(
19758 session: Session,
19759 create_info: *const BodyTrackerCreateInfoFB,
19760 body_tracker: *mut BodyTrackerFB,
19761 ) -> Result;
19762 #[doc = "See [xrDestroyBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19763 pub type DestroyBodyTrackerFB =
19764 unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
19765 #[doc = "See [xrLocateBodyJointsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19766 pub type LocateBodyJointsFB = unsafe extern "system" fn(
19767 body_tracker: BodyTrackerFB,
19768 locate_info: *const BodyJointsLocateInfoFB,
19769 locations: *mut BodyJointLocationsFB,
19770 ) -> Result;
19771 #[doc = "See [xrGetBodySkeletonFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetBodySkeletonFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
19772 pub type GetBodySkeletonFB = unsafe extern "system" fn(
19773 body_tracker: BodyTrackerFB,
19774 skeleton: *mut BodySkeletonFB,
19775 ) -> Result;
19776 #[doc = "See [xrSuggestBodyTrackingCalibrationOverrideMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestBodyTrackingCalibrationOverrideMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
19777 pub type SuggestBodyTrackingCalibrationOverrideMETA = unsafe extern "system" fn(
19778 body_tracker: BodyTrackerFB,
19779 calibration_info: *const BodyTrackingCalibrationInfoMETA,
19780 ) -> Result;
19781 #[doc = "See [xrResetBodyTrackingCalibrationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResetBodyTrackingCalibrationMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
19782 pub type ResetBodyTrackingCalibrationMETA =
19783 unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
19784 #[doc = "See [xrCreateEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEyeTrackerFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
19785 pub type CreateEyeTrackerFB = unsafe extern "system" fn(
19786 session: Session,
19787 create_info: *const EyeTrackerCreateInfoFB,
19788 eye_tracker: *mut EyeTrackerFB,
19789 ) -> Result;
19790 #[doc = "See [xrDestroyEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEyeTrackerFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
19791 pub type DestroyEyeTrackerFB = unsafe extern "system" fn(eye_tracker: EyeTrackerFB) -> Result;
19792 #[doc = "See [xrGetEyeGazesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetEyeGazesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
19793 pub type GetEyeGazesFB = unsafe extern "system" fn(
19794 eye_tracker: EyeTrackerFB,
19795 gaze_info: *const EyeGazesInfoFB,
19796 eye_gazes: *mut EyeGazesFB,
19797 ) -> Result;
19798 #[doc = "See [xrCreateHandMeshSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateHandMeshSpaceMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
19799 pub type CreateHandMeshSpaceMSFT = unsafe extern "system" fn(
19800 hand_tracker: HandTrackerEXT,
19801 create_info: *const HandMeshSpaceCreateInfoMSFT,
19802 space: *mut Space,
19803 ) -> Result;
19804 #[doc = "See [xrUpdateHandMeshMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateHandMeshMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
19805 pub type UpdateHandMeshMSFT = unsafe extern "system" fn(
19806 hand_tracker: HandTrackerEXT,
19807 update_info: *const HandMeshUpdateInfoMSFT,
19808 hand_mesh: *mut HandMeshMSFT,
19809 ) -> Result;
19810 #[doc = "See [xrGetControllerModelKeyMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelKeyMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19811 pub type GetControllerModelKeyMSFT = unsafe extern "system" fn(
19812 session: Session,
19813 top_level_user_path: Path,
19814 controller_model_key_state: *mut ControllerModelKeyStateMSFT,
19815 ) -> Result;
19816 #[doc = "See [xrLoadControllerModelMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLoadControllerModelMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19817 pub type LoadControllerModelMSFT = unsafe extern "system" fn(
19818 session: Session,
19819 model_key: ControllerModelKeyMSFT,
19820 buffer_capacity_input: u32,
19821 buffer_count_output: *mut u32,
19822 buffer: *mut u8,
19823 ) -> Result;
19824 #[doc = "See [xrGetControllerModelPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelPropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19825 pub type GetControllerModelPropertiesMSFT = unsafe extern "system" fn(
19826 session: Session,
19827 model_key: ControllerModelKeyMSFT,
19828 properties: *mut ControllerModelPropertiesMSFT,
19829 ) -> Result;
19830 #[doc = "See [xrGetControllerModelStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
19831 pub type GetControllerModelStateMSFT = unsafe extern "system" fn(
19832 session: Session,
19833 model_key: ControllerModelKeyMSFT,
19834 state: *mut ControllerModelStateMSFT,
19835 ) -> Result;
19836 #[doc = "See [xrEnumerateDisplayRefreshRatesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateDisplayRefreshRatesFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
19837 pub type EnumerateDisplayRefreshRatesFB = unsafe extern "system" fn(
19838 session: Session,
19839 display_refresh_rate_capacity_input: u32,
19840 display_refresh_rate_count_output: *mut u32,
19841 display_refresh_rates: *mut f32,
19842 ) -> Result;
19843 #[doc = "See [xrGetDisplayRefreshRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetDisplayRefreshRateFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
19844 pub type GetDisplayRefreshRateFB =
19845 unsafe extern "system" fn(session: Session, display_refresh_rate: *mut f32) -> Result;
19846 #[doc = "See [xrRequestDisplayRefreshRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestDisplayRefreshRateFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
19847 pub type RequestDisplayRefreshRateFB =
19848 unsafe extern "system" fn(session: Session, display_refresh_rate: f32) -> Result;
19849 #[cfg(windows)]
19850 #[doc = "See [xrCreateSpatialAnchorFromPerceptionAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFromPerceptionAnchorMSFT) - defined by [XR_MSFT_perception_anchor_interop](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_perception_anchor_interop)"]
19851 pub type CreateSpatialAnchorFromPerceptionAnchorMSFT = unsafe extern "system" fn(
19852 session: Session,
19853 perception_anchor: *mut IUnknown,
19854 anchor: *mut SpatialAnchorMSFT,
19855 ) -> Result;
19856 #[cfg(windows)]
19857 #[doc = "See [xrTryGetPerceptionAnchorFromSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTryGetPerceptionAnchorFromSpatialAnchorMSFT) - defined by [XR_MSFT_perception_anchor_interop](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_perception_anchor_interop)"]
19858 pub type TryGetPerceptionAnchorFromSpatialAnchorMSFT = unsafe extern "system" fn(
19859 session: Session,
19860 anchor: SpatialAnchorMSFT,
19861 perception_anchor: *mut *mut IUnknown,
19862 ) -> Result;
19863 #[doc = "See [xrUpdateSwapchainFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSwapchainFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
19864 pub type UpdateSwapchainFB = unsafe extern "system" fn(
19865 swapchain: Swapchain,
19866 state: *const SwapchainStateBaseHeaderFB,
19867 ) -> Result;
19868 #[doc = "See [xrGetSwapchainStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSwapchainStateFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
19869 pub type GetSwapchainStateFB = unsafe extern "system" fn(
19870 swapchain: Swapchain,
19871 state: *mut SwapchainStateBaseHeaderFB,
19872 ) -> Result;
19873 #[doc = "See [xrEnumerateColorSpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateColorSpacesFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
19874 pub type EnumerateColorSpacesFB = unsafe extern "system" fn(
19875 session: Session,
19876 color_space_capacity_input: u32,
19877 color_space_count_output: *mut u32,
19878 color_spaces: *mut ColorSpaceFB,
19879 ) -> Result;
19880 #[doc = "See [xrSetColorSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetColorSpaceFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
19881 pub type SetColorSpaceFB =
19882 unsafe extern "system" fn(session: Session, color_space: ColorSpaceFB) -> Result;
19883 #[doc = "See [xrCreateFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFoveationProfileFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
19884 pub type CreateFoveationProfileFB = unsafe extern "system" fn(
19885 session: Session,
19886 create_info: *const FoveationProfileCreateInfoFB,
19887 profile: *mut FoveationProfileFB,
19888 ) -> Result;
19889 #[doc = "See [xrDestroyFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFoveationProfileFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
19890 pub type DestroyFoveationProfileFB =
19891 unsafe extern "system" fn(profile: FoveationProfileFB) -> Result;
19892 #[doc = "See [xrGetFoveationEyeTrackedStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFoveationEyeTrackedStateMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
19893 pub type GetFoveationEyeTrackedStateMETA = unsafe extern "system" fn(
19894 session: Session,
19895 foveation_state: *mut FoveationEyeTrackedStateMETA,
19896 ) -> Result;
19897 #[doc = "See [xrGetHandMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetHandMeshFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
19898 pub type GetHandMeshFB = unsafe extern "system" fn(
19899 hand_tracker: HandTrackerEXT,
19900 mesh: *mut HandTrackingMeshFB,
19901 ) -> Result;
19902 #[doc = "See [xrEnumerateRenderModelPathsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRenderModelPathsFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
19903 pub type EnumerateRenderModelPathsFB = unsafe extern "system" fn(
19904 session: Session,
19905 path_capacity_input: u32,
19906 path_count_output: *mut u32,
19907 paths: *mut RenderModelPathInfoFB,
19908 ) -> Result;
19909 #[doc = "See [xrGetRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
19910 pub type GetRenderModelPropertiesFB = unsafe extern "system" fn(
19911 session: Session,
19912 path: Path,
19913 properties: *mut RenderModelPropertiesFB,
19914 ) -> Result;
19915 #[doc = "See [xrLoadRenderModelFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLoadRenderModelFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
19916 pub type LoadRenderModelFB = unsafe extern "system" fn(
19917 session: Session,
19918 info: *const RenderModelLoadInfoFB,
19919 buffer: *mut RenderModelBufferFB,
19920 ) -> Result;
19921 #[doc = "See [xrQuerySystemTrackedKeyboardFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySystemTrackedKeyboardFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
19922 pub type QuerySystemTrackedKeyboardFB = unsafe extern "system" fn(
19923 session: Session,
19924 query_info: *const KeyboardTrackingQueryFB,
19925 keyboard: *mut KeyboardTrackingDescriptionFB,
19926 ) -> Result;
19927 #[doc = "See [xrCreateKeyboardSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateKeyboardSpaceFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
19928 pub type CreateKeyboardSpaceFB = unsafe extern "system" fn(
19929 session: Session,
19930 create_info: *const KeyboardSpaceCreateInfoFB,
19931 keyboard_space: *mut Space,
19932 ) -> Result;
19933 #[doc = "See [xrSetEnvironmentDepthEstimationVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetEnvironmentDepthEstimationVARJO) - defined by [XR_VARJO_environment_depth_estimation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_environment_depth_estimation)"]
19934 pub type SetEnvironmentDepthEstimationVARJO =
19935 unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
19936 #[doc = "See [xrEnumerateReprojectionModesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateReprojectionModesMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
19937 pub type EnumerateReprojectionModesMSFT = unsafe extern "system" fn(
19938 instance: Instance,
19939 system_id: SystemId,
19940 view_configuration_type: ViewConfigurationType,
19941 mode_capacity_input: u32,
19942 mode_count_output: *mut u32,
19943 modes: *mut ReprojectionModeMSFT,
19944 ) -> Result;
19945 #[doc = "See [xrGetAudioOutputDeviceGuidOculus](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAudioOutputDeviceGuidOculus) - defined by [XR_OCULUS_audio_device_guid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_audio_device_guid)"]
19946 pub type GetAudioOutputDeviceGuidOculus =
19947 unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
19948 #[doc = "See [xrGetAudioInputDeviceGuidOculus](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAudioInputDeviceGuidOculus) - defined by [XR_OCULUS_audio_device_guid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_audio_device_guid)"]
19949 pub type GetAudioInputDeviceGuidOculus =
19950 unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
19951 #[doc = "See [xrCreateSpatialAnchorFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19952 pub type CreateSpatialAnchorFB = unsafe extern "system" fn(
19953 session: Session,
19954 info: *const SpatialAnchorCreateInfoFB,
19955 request_id: *mut AsyncRequestIdFB,
19956 ) -> Result;
19957 #[doc = "See [xrGetSpaceUuidFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceUuidFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19958 pub type GetSpaceUuidFB = unsafe extern "system" fn(space: Space, uuid: *mut UuidEXT) -> Result;
19959 #[doc = "See [xrEnumerateSpaceSupportedComponentsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpaceSupportedComponentsFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19960 pub type EnumerateSpaceSupportedComponentsFB = unsafe extern "system" fn(
19961 space: Space,
19962 component_type_capacity_input: u32,
19963 component_type_count_output: *mut u32,
19964 component_types: *mut SpaceComponentTypeFB,
19965 ) -> Result;
19966 #[doc = "See [xrSetSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19967 pub type SetSpaceComponentStatusFB = unsafe extern "system" fn(
19968 space: Space,
19969 info: *const SpaceComponentStatusSetInfoFB,
19970 request_id: *mut AsyncRequestIdFB,
19971 ) -> Result;
19972 #[doc = "See [xrGetSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
19973 pub type GetSpaceComponentStatusFB = unsafe extern "system" fn(
19974 space: Space,
19975 component_type: SpaceComponentTypeFB,
19976 status: *mut SpaceComponentStatusFB,
19977 ) -> Result;
19978 #[doc = "See [xrCreateTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTriangleMeshFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19979 pub type CreateTriangleMeshFB = unsafe extern "system" fn(
19980 session: Session,
19981 create_info: *const TriangleMeshCreateInfoFB,
19982 out_triangle_mesh: *mut TriangleMeshFB,
19983 ) -> Result;
19984 #[doc = "See [xrDestroyTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTriangleMeshFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19985 pub type DestroyTriangleMeshFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
19986 #[doc = "See [xrTriangleMeshGetVertexBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshGetVertexBufferFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19987 pub type TriangleMeshGetVertexBufferFB = unsafe extern "system" fn(
19988 mesh: TriangleMeshFB,
19989 out_vertex_buffer: *mut *mut Vector3f,
19990 ) -> Result;
19991 #[doc = "See [xrTriangleMeshGetIndexBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshGetIndexBufferFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19992 pub type TriangleMeshGetIndexBufferFB =
19993 unsafe extern "system" fn(mesh: TriangleMeshFB, out_index_buffer: *mut *mut u32) -> Result;
19994 #[doc = "See [xrTriangleMeshBeginUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshBeginUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19995 pub type TriangleMeshBeginUpdateFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
19996 #[doc = "See [xrTriangleMeshEndUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshEndUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
19997 pub type TriangleMeshEndUpdateFB = unsafe extern "system" fn(
19998 mesh: TriangleMeshFB,
19999 vertex_count: u32,
20000 triangle_count: u32,
20001 ) -> Result;
20002 #[doc = "See [xrTriangleMeshBeginVertexBufferUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshBeginVertexBufferUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
20003 pub type TriangleMeshBeginVertexBufferUpdateFB =
20004 unsafe extern "system" fn(mesh: TriangleMeshFB, out_vertex_count: *mut u32) -> Result;
20005 #[doc = "See [xrTriangleMeshEndVertexBufferUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshEndVertexBufferUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
20006 pub type TriangleMeshEndVertexBufferUpdateFB =
20007 unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
20008 #[doc = "See [xrCreatePassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20009 pub type CreatePassthroughFB = unsafe extern "system" fn(
20010 session: Session,
20011 create_info: *const PassthroughCreateInfoFB,
20012 out_passthrough: *mut PassthroughFB,
20013 ) -> Result;
20014 #[doc = "See [xrDestroyPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20015 pub type DestroyPassthroughFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
20016 #[doc = "See [xrPassthroughStartFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughStartFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20017 pub type PassthroughStartFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
20018 #[doc = "See [xrPassthroughPauseFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughPauseFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20019 pub type PassthroughPauseFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
20020 #[doc = "See [xrCreatePassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughLayerFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20021 pub type CreatePassthroughLayerFB = unsafe extern "system" fn(
20022 session: Session,
20023 create_info: *const PassthroughLayerCreateInfoFB,
20024 out_layer: *mut PassthroughLayerFB,
20025 ) -> Result;
20026 #[doc = "See [xrDestroyPassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughLayerFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20027 pub type DestroyPassthroughLayerFB =
20028 unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
20029 #[doc = "See [xrPassthroughLayerPauseFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerPauseFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20030 pub type PassthroughLayerPauseFB =
20031 unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
20032 #[doc = "See [xrPassthroughLayerResumeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerResumeFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20033 pub type PassthroughLayerResumeFB =
20034 unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
20035 #[doc = "See [xrPassthroughLayerSetStyleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerSetStyleFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20036 pub type PassthroughLayerSetStyleFB = unsafe extern "system" fn(
20037 layer: PassthroughLayerFB,
20038 style: *const PassthroughStyleFB,
20039 ) -> Result;
20040 #[doc = "See [xrCreateGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateGeometryInstanceFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20041 pub type CreateGeometryInstanceFB = unsafe extern "system" fn(
20042 session: Session,
20043 create_info: *const GeometryInstanceCreateInfoFB,
20044 out_geometry_instance: *mut GeometryInstanceFB,
20045 ) -> Result;
20046 #[doc = "See [xrDestroyGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyGeometryInstanceFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20047 pub type DestroyGeometryInstanceFB =
20048 unsafe extern "system" fn(instance: GeometryInstanceFB) -> Result;
20049 #[doc = "See [xrGeometryInstanceSetTransformFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGeometryInstanceSetTransformFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
20050 pub type GeometryInstanceSetTransformFB = unsafe extern "system" fn(
20051 instance: GeometryInstanceFB,
20052 transformation: *const GeometryInstanceTransformFB,
20053 ) -> Result;
20054 #[doc = "See [xrQuerySpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpacesFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
20055 pub type QuerySpacesFB = unsafe extern "system" fn(
20056 session: Session,
20057 info: *const SpaceQueryInfoBaseHeaderFB,
20058 request_id: *mut AsyncRequestIdFB,
20059 ) -> Result;
20060 #[doc = "See [xrRetrieveSpaceQueryResultsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRetrieveSpaceQueryResultsFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
20061 pub type RetrieveSpaceQueryResultsFB = unsafe extern "system" fn(
20062 session: Session,
20063 request_id: AsyncRequestIdFB,
20064 results: *mut SpaceQueryResultsFB,
20065 ) -> Result;
20066 #[doc = "See [xrSaveSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpaceFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
20067 pub type SaveSpaceFB = unsafe extern "system" fn(
20068 session: Session,
20069 info: *const SpaceSaveInfoFB,
20070 request_id: *mut AsyncRequestIdFB,
20071 ) -> Result;
20072 #[doc = "See [xrEraseSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEraseSpaceFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
20073 pub type EraseSpaceFB = unsafe extern "system" fn(
20074 session: Session,
20075 info: *const SpaceEraseInfoFB,
20076 request_id: *mut AsyncRequestIdFB,
20077 ) -> Result;
20078 #[doc = "See [xrSaveSpaceListFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpaceListFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
20079 pub type SaveSpaceListFB = unsafe extern "system" fn(
20080 session: Session,
20081 info: *const SpaceListSaveInfoFB,
20082 request_id: *mut AsyncRequestIdFB,
20083 ) -> Result;
20084 #[doc = "See [xrShareSpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpacesFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
20085 pub type ShareSpacesFB = unsafe extern "system" fn(
20086 session: Session,
20087 info: *const SpaceShareInfoFB,
20088 request_id: *mut AsyncRequestIdFB,
20089 ) -> Result;
20090 #[doc = "See [xrGetSpaceContainerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceContainerFB) - defined by [XR_FB_spatial_entity_container](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_container)"]
20091 pub type GetSpaceContainerFB = unsafe extern "system" fn(
20092 session: Session,
20093 space: Space,
20094 space_container_output: *mut SpaceContainerFB,
20095 ) -> Result;
20096 #[doc = "See [xrGetSpaceTriangleMeshMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceTriangleMeshMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
20097 pub type GetSpaceTriangleMeshMETA = unsafe extern "system" fn(
20098 space: Space,
20099 get_info: *const SpaceTriangleMeshGetInfoMETA,
20100 triangle_mesh_output: *mut SpaceTriangleMeshMETA,
20101 ) -> Result;
20102 #[doc = "See [xrGetSpaceBoundingBox2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundingBox2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20103 pub type GetSpaceBoundingBox2DFB = unsafe extern "system" fn(
20104 session: Session,
20105 space: Space,
20106 bounding_box2_d_output: *mut Rect2Df,
20107 ) -> Result;
20108 #[doc = "See [xrGetSpaceBoundingBox3DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundingBox3DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20109 pub type GetSpaceBoundingBox3DFB = unsafe extern "system" fn(
20110 session: Session,
20111 space: Space,
20112 bounding_box3_d_output: *mut Rect3DfFB,
20113 ) -> Result;
20114 #[doc = "See [xrGetSpaceSemanticLabelsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceSemanticLabelsFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20115 pub type GetSpaceSemanticLabelsFB = unsafe extern "system" fn(
20116 session: Session,
20117 space: Space,
20118 semantic_labels_output: *mut SemanticLabelsFB,
20119 ) -> Result;
20120 #[doc = "See [xrGetSpaceBoundary2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundary2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20121 pub type GetSpaceBoundary2DFB = unsafe extern "system" fn(
20122 session: Session,
20123 space: Space,
20124 boundary2_d_output: *mut Boundary2DFB,
20125 ) -> Result;
20126 #[doc = "See [xrGetSpaceRoomLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceRoomLayoutFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
20127 pub type GetSpaceRoomLayoutFB = unsafe extern "system" fn(
20128 session: Session,
20129 space: Space,
20130 room_layout_output: *mut RoomLayoutFB,
20131 ) -> Result;
20132 #[doc = "See [xrRequestSceneCaptureFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestSceneCaptureFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
20133 pub type RequestSceneCaptureFB = unsafe extern "system" fn(
20134 session: Session,
20135 info: *const SceneCaptureRequestInfoFB,
20136 request_id: *mut AsyncRequestIdFB,
20137 ) -> Result;
20138 #[doc = "See [xrPassthroughLayerSetKeyboardHandsIntensityFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerSetKeyboardHandsIntensityFB) - defined by [XR_FB_passthrough_keyboard_hands](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough_keyboard_hands)"]
20139 pub type PassthroughLayerSetKeyboardHandsIntensityFB = unsafe extern "system" fn(
20140 layer: PassthroughLayerFB,
20141 intensity: *const PassthroughKeyboardHandsIntensityFB,
20142 ) -> Result;
20143 #[doc = "See [xrStartColocationDiscoveryMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartColocationDiscoveryMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20144 pub type StartColocationDiscoveryMETA = unsafe extern "system" fn(
20145 session: Session,
20146 info: *const ColocationDiscoveryStartInfoMETA,
20147 discovery_request_id: *mut AsyncRequestIdFB,
20148 ) -> Result;
20149 #[doc = "See [xrStopColocationDiscoveryMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopColocationDiscoveryMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20150 pub type StopColocationDiscoveryMETA = unsafe extern "system" fn(
20151 session: Session,
20152 info: *const ColocationDiscoveryStopInfoMETA,
20153 request_id: *mut AsyncRequestIdFB,
20154 ) -> Result;
20155 #[doc = "See [xrStartColocationAdvertisementMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartColocationAdvertisementMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20156 pub type StartColocationAdvertisementMETA = unsafe extern "system" fn(
20157 session: Session,
20158 info: *const ColocationAdvertisementStartInfoMETA,
20159 advertisement_request_id: *mut AsyncRequestIdFB,
20160 ) -> Result;
20161 #[doc = "See [xrStopColocationAdvertisementMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopColocationAdvertisementMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
20162 pub type StopColocationAdvertisementMETA = unsafe extern "system" fn(
20163 session: Session,
20164 info: *const ColocationAdvertisementStopInfoMETA,
20165 request_id: *mut AsyncRequestIdFB,
20166 ) -> Result;
20167 #[doc = "See [xrShareSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpacesMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
20168 pub type ShareSpacesMETA = unsafe extern "system" fn(
20169 session: Session,
20170 info: *const ShareSpacesInfoMETA,
20171 request_id: *mut AsyncRequestIdFB,
20172 ) -> Result;
20173 #[doc = "See [xrCreateSpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorStoreConnectionMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20174 pub type CreateSpatialAnchorStoreConnectionMSFT = unsafe extern "system" fn(
20175 session: Session,
20176 spatial_anchor_store: *mut SpatialAnchorStoreConnectionMSFT,
20177 ) -> Result;
20178 #[doc = "See [xrDestroySpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorStoreConnectionMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20179 pub type DestroySpatialAnchorStoreConnectionMSFT =
20180 unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
20181 #[doc = "See [xrPersistSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20182 pub type PersistSpatialAnchorMSFT = unsafe extern "system" fn(
20183 spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
20184 spatial_anchor_persistence_info: *const SpatialAnchorPersistenceInfoMSFT,
20185 ) -> Result;
20186 #[doc = "See [xrEnumeratePersistedSpatialAnchorNamesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePersistedSpatialAnchorNamesMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20187 pub type EnumeratePersistedSpatialAnchorNamesMSFT = unsafe extern "system" fn(
20188 spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
20189 spatial_anchor_name_capacity_input: u32,
20190 spatial_anchor_name_count_output: *mut u32,
20191 spatial_anchor_names: *mut SpatialAnchorPersistenceNameMSFT,
20192 ) -> Result;
20193 #[doc = "See [xrCreateSpatialAnchorFromPersistedNameMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFromPersistedNameMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20194 pub type CreateSpatialAnchorFromPersistedNameMSFT = unsafe extern "system" fn(
20195 session: Session,
20196 spatial_anchor_create_info: *const SpatialAnchorFromPersistedAnchorCreateInfoMSFT,
20197 spatial_anchor: *mut SpatialAnchorMSFT,
20198 ) -> Result;
20199 #[doc = "See [xrUnpersistSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20200 pub type UnpersistSpatialAnchorMSFT = unsafe extern "system" fn(
20201 spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
20202 spatial_anchor_persistence_name: *const SpatialAnchorPersistenceNameMSFT,
20203 ) -> Result;
20204 #[doc = "See [xrClearSpatialAnchorStoreMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrClearSpatialAnchorStoreMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
20205 pub type ClearSpatialAnchorStoreMSFT =
20206 unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
20207 #[doc = "See [xrCreateBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
20208 pub type CreateBodyTrackerBD = unsafe extern "system" fn(
20209 session: Session,
20210 create_info: *const BodyTrackerCreateInfoBD,
20211 body_tracker: *mut BodyTrackerBD,
20212 ) -> Result;
20213 #[doc = "See [xrDestroyBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
20214 pub type DestroyBodyTrackerBD =
20215 unsafe extern "system" fn(body_tracker: BodyTrackerBD) -> Result;
20216 #[doc = "See [xrLocateBodyJointsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
20217 pub type LocateBodyJointsBD = unsafe extern "system" fn(
20218 body_tracker: BodyTrackerBD,
20219 locate_info: *const BodyJointsLocateInfoBD,
20220 locations: *mut BodyJointLocationsBD,
20221 ) -> Result;
20222 #[doc = "See [xrCreateFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFacialTrackerHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
20223 pub type CreateFacialTrackerHTC = unsafe extern "system" fn(
20224 session: Session,
20225 create_info: *const FacialTrackerCreateInfoHTC,
20226 facial_tracker: *mut FacialTrackerHTC,
20227 ) -> Result;
20228 #[doc = "See [xrDestroyFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFacialTrackerHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
20229 pub type DestroyFacialTrackerHTC =
20230 unsafe extern "system" fn(facial_tracker: FacialTrackerHTC) -> Result;
20231 #[doc = "See [xrGetFacialExpressionsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialExpressionsHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
20232 pub type GetFacialExpressionsHTC = unsafe extern "system" fn(
20233 facial_tracker: FacialTrackerHTC,
20234 facial_expressions: *mut FacialExpressionsHTC,
20235 ) -> Result;
20236 #[doc = "See [xrCreatePassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
20237 pub type CreatePassthroughHTC = unsafe extern "system" fn(
20238 session: Session,
20239 create_info: *const PassthroughCreateInfoHTC,
20240 passthrough: *mut PassthroughHTC,
20241 ) -> Result;
20242 #[doc = "See [xrDestroyPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
20243 pub type DestroyPassthroughHTC =
20244 unsafe extern "system" fn(passthrough: PassthroughHTC) -> Result;
20245 #[doc = "See [xrCreateSpatialAnchorHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
20246 pub type CreateSpatialAnchorHTC = unsafe extern "system" fn(
20247 session: Session,
20248 create_info: *const SpatialAnchorCreateInfoHTC,
20249 anchor: *mut Space,
20250 ) -> Result;
20251 #[doc = "See [xrGetSpatialAnchorNameHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialAnchorNameHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
20252 pub type GetSpatialAnchorNameHTC =
20253 unsafe extern "system" fn(anchor: Space, name: *mut SpatialAnchorNameHTC) -> Result;
20254 #[doc = "See [xrEnumerateViveTrackerPathsHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViveTrackerPathsHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
20255 pub type EnumerateViveTrackerPathsHTCX = unsafe extern "system" fn(
20256 instance: Instance,
20257 path_capacity_input: u32,
20258 path_count_output: *mut u32,
20259 paths: *mut ViveTrackerPathsHTCX,
20260 ) -> Result;
20261 #[doc = "See [xrCreateBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20262 pub type CreateBodyTrackerHTC = unsafe extern "system" fn(
20263 session: Session,
20264 create_info: *const BodyTrackerCreateInfoHTC,
20265 body_tracker: *mut BodyTrackerHTC,
20266 ) -> Result;
20267 #[doc = "See [xrDestroyBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20268 pub type DestroyBodyTrackerHTC =
20269 unsafe extern "system" fn(body_tracker: BodyTrackerHTC) -> Result;
20270 #[doc = "See [xrLocateBodyJointsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20271 pub type LocateBodyJointsHTC = unsafe extern "system" fn(
20272 body_tracker: BodyTrackerHTC,
20273 locate_info: *const BodyJointsLocateInfoHTC,
20274 locations: *mut BodyJointLocationsHTC,
20275 ) -> Result;
20276 #[doc = "See [xrGetBodySkeletonHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetBodySkeletonHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
20277 pub type GetBodySkeletonHTC = unsafe extern "system" fn(
20278 body_tracker: BodyTrackerHTC,
20279 base_space: Space,
20280 skeleton_generation_id: u32,
20281 skeleton: *mut BodySkeletonHTC,
20282 ) -> Result;
20283 #[doc = "See [xrSetMarkerTrackingVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20284 pub type SetMarkerTrackingVARJO =
20285 unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
20286 #[doc = "See [xrSetMarkerTrackingTimeoutVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingTimeoutVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20287 pub type SetMarkerTrackingTimeoutVARJO =
20288 unsafe extern "system" fn(session: Session, marker_id: u64, timeout: Duration) -> Result;
20289 #[doc = "See [xrSetMarkerTrackingPredictionVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingPredictionVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20290 pub type SetMarkerTrackingPredictionVARJO =
20291 unsafe extern "system" fn(session: Session, marker_id: u64, enable: Bool32) -> Result;
20292 #[doc = "See [xrGetMarkerSizeVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerSizeVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20293 pub type GetMarkerSizeVARJO =
20294 unsafe extern "system" fn(session: Session, marker_id: u64, size: *mut Extent2Df) -> Result;
20295 #[doc = "See [xrCreateMarkerSpaceVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerSpaceVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
20296 pub type CreateMarkerSpaceVARJO = unsafe extern "system" fn(
20297 session: Session,
20298 create_info: *const MarkerSpaceCreateInfoVARJO,
20299 space: *mut Space,
20300 ) -> Result;
20301 #[doc = "See [xrSetDigitalLensControlALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetDigitalLensControlALMALENCE) - defined by [XR_ALMALENCE_digital_lens_control](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ALMALENCE_digital_lens_control)"]
20302 pub type SetDigitalLensControlALMALENCE = unsafe extern "system" fn(
20303 session: Session,
20304 digital_lens_control: *const DigitalLensControlALMALENCE,
20305 ) -> Result;
20306 #[doc = "See [xrSetViewOffsetVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetViewOffsetVARJO) - defined by [XR_VARJO_view_offset](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_view_offset)"]
20307 pub type SetViewOffsetVARJO =
20308 unsafe extern "system" fn(session: Session, offset: f32) -> Result;
20309 #[doc = "See [xrEnumerateExternalCamerasOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateExternalCamerasOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
20310 pub type EnumerateExternalCamerasOCULUS = unsafe extern "system" fn(
20311 session: Session,
20312 camera_capacity_input: u32,
20313 camera_count_output: *mut u32,
20314 cameras: *mut ExternalCameraOCULUS,
20315 ) -> Result;
20316 #[doc = "See [xrCreatePassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
20317 pub type CreatePassthroughColorLutMETA = unsafe extern "system" fn(
20318 passthrough: PassthroughFB,
20319 create_info: *const PassthroughColorLutCreateInfoMETA,
20320 color_lut: *mut PassthroughColorLutMETA,
20321 ) -> Result;
20322 #[doc = "See [xrDestroyPassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
20323 pub type DestroyPassthroughColorLutMETA =
20324 unsafe extern "system" fn(color_lut: PassthroughColorLutMETA) -> Result;
20325 #[doc = "See [xrUpdatePassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdatePassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
20326 pub type UpdatePassthroughColorLutMETA = unsafe extern "system" fn(
20327 color_lut: PassthroughColorLutMETA,
20328 update_info: *const PassthroughColorLutUpdateInfoMETA,
20329 ) -> Result;
20330 #[doc = "See [xrEnumeratePerformanceMetricsCounterPathsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePerformanceMetricsCounterPathsMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20331 pub type EnumeratePerformanceMetricsCounterPathsMETA = unsafe extern "system" fn(
20332 instance: Instance,
20333 counter_path_capacity_input: u32,
20334 counter_path_count_output: *mut u32,
20335 counter_paths: *mut Path,
20336 ) -> Result;
20337 #[doc = "See [xrSetPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20338 pub type SetPerformanceMetricsStateMETA = unsafe extern "system" fn(
20339 session: Session,
20340 state: *const PerformanceMetricsStateMETA,
20341 ) -> Result;
20342 #[doc = "See [xrGetPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20343 pub type GetPerformanceMetricsStateMETA = unsafe extern "system" fn(
20344 session: Session,
20345 state: *mut PerformanceMetricsStateMETA,
20346 ) -> Result;
20347 #[doc = "See [xrQueryPerformanceMetricsCounterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryPerformanceMetricsCounterMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
20348 pub type QueryPerformanceMetricsCounterMETA = unsafe extern "system" fn(
20349 session: Session,
20350 counter_path: Path,
20351 counter: *mut PerformanceMetricsCounterMETA,
20352 ) -> Result;
20353 #[doc = "See [xrGetPassthroughPreferencesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPassthroughPreferencesMETA) - defined by [XR_META_passthrough_preferences](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_preferences)"]
20354 pub type GetPassthroughPreferencesMETA = unsafe extern "system" fn(
20355 session: Session,
20356 preferences: *mut PassthroughPreferencesMETA,
20357 ) -> Result;
20358 #[doc = "See [xrApplyFoveationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyFoveationHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
20359 pub type ApplyFoveationHTC = unsafe extern "system" fn(
20360 session: Session,
20361 apply_info: *const FoveationApplyInfoHTC,
20362 ) -> Result;
20363 #[doc = "See [xrCreateSpaceFromCoordinateFrameUIDML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpaceFromCoordinateFrameUIDML) - defined by [XR_ML_compat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_compat)"]
20364 pub type CreateSpaceFromCoordinateFrameUIDML = unsafe extern "system" fn(
20365 session: Session,
20366 create_info: *const CoordinateSpaceCreateInfoML,
20367 space: *mut Space,
20368 ) -> Result;
20369 #[doc = "See [xrGetDeviceSampleRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetDeviceSampleRateFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
20370 pub type GetDeviceSampleRateFB = unsafe extern "system" fn(
20371 session: Session,
20372 haptic_action_info: *const HapticActionInfo,
20373 device_sample_rate: *mut DevicePcmSampleRateGetInfoFB,
20374 ) -> Result;
20375 #[doc = "See [xrSetTrackingOptimizationSettingsHintQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetTrackingOptimizationSettingsHintQCOM) - defined by [XR_QCOM_tracking_optimization_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_QCOM_tracking_optimization_settings)"]
20376 pub type SetTrackingOptimizationSettingsHintQCOM = unsafe extern "system" fn(
20377 session: Session,
20378 domain: TrackingOptimizationSettingsDomainQCOM,
20379 hint: TrackingOptimizationSettingsHintQCOM,
20380 ) -> Result;
20381 #[doc = "See [xrCreateSpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpaceUserFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
20382 pub type CreateSpaceUserFB = unsafe extern "system" fn(
20383 session: Session,
20384 info: *const SpaceUserCreateInfoFB,
20385 user: *mut SpaceUserFB,
20386 ) -> Result;
20387 #[doc = "See [xrGetSpaceUserIdFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceUserIdFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
20388 pub type GetSpaceUserIdFB =
20389 unsafe extern "system" fn(user: SpaceUserFB, user_id: *mut SpaceUserIdFB) -> Result;
20390 #[doc = "See [xrDestroySpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpaceUserFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
20391 pub type DestroySpaceUserFB = unsafe extern "system" fn(user: SpaceUserFB) -> Result;
20392 #[doc = "See [xrGetRecommendedLayerResolutionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRecommendedLayerResolutionMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
20393 pub type GetRecommendedLayerResolutionMETA = unsafe extern "system" fn(
20394 session: Session,
20395 info: *const RecommendedLayerResolutionGetInfoMETA,
20396 resolution: *mut RecommendedLayerResolutionMETA,
20397 ) -> Result;
20398 #[doc = "See [xrSaveSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpacesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
20399 pub type SaveSpacesMETA = unsafe extern "system" fn(
20400 session: Session,
20401 info: *const SpacesSaveInfoMETA,
20402 request_id: *mut AsyncRequestIdFB,
20403 ) -> Result;
20404 #[doc = "See [xrEraseSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEraseSpacesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
20405 pub type EraseSpacesMETA = unsafe extern "system" fn(
20406 session: Session,
20407 info: *const SpacesEraseInfoMETA,
20408 request_id: *mut AsyncRequestIdFB,
20409 ) -> Result;
20410 #[doc = "See [xrDiscoverSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDiscoverSpacesMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
20411 pub type DiscoverSpacesMETA = unsafe extern "system" fn(
20412 session: Session,
20413 info: *const SpaceDiscoveryInfoMETA,
20414 request_id: *mut AsyncRequestIdFB,
20415 ) -> Result;
20416 #[doc = "See [xrRetrieveSpaceDiscoveryResultsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRetrieveSpaceDiscoveryResultsMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
20417 pub type RetrieveSpaceDiscoveryResultsMETA = unsafe extern "system" fn(
20418 session: Session,
20419 request_id: AsyncRequestIdFB,
20420 results: *mut SpaceDiscoveryResultsMETA,
20421 ) -> Result;
20422 #[doc = "See [xrApplyForceFeedbackCurlMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyForceFeedbackCurlMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
20423 pub type ApplyForceFeedbackCurlMNDX = unsafe extern "system" fn(
20424 hand_tracker: HandTrackerEXT,
20425 locations: *const ForceFeedbackCurlApplyLocationsMNDX,
20426 ) -> Result;
20427 #[cfg(target_os = "android")]
20428 #[doc = "See [xrCreateFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20429 pub type CreateFaceTrackerANDROID = unsafe extern "system" fn(
20430 session: Session,
20431 create_info: *const FaceTrackerCreateInfoANDROID,
20432 face_tracker: *mut FaceTrackerANDROID,
20433 ) -> Result;
20434 #[cfg(target_os = "android")]
20435 #[doc = "See [xrDestroyFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20436 pub type DestroyFaceTrackerANDROID =
20437 unsafe extern "system" fn(face_tracker: FaceTrackerANDROID) -> Result;
20438 #[cfg(target_os = "android")]
20439 #[doc = "See [xrGetFaceStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20440 pub type GetFaceStateANDROID = unsafe extern "system" fn(
20441 face_tracker: FaceTrackerANDROID,
20442 get_info: *const FaceStateGetInfoANDROID,
20443 face_state_output: *mut FaceStateANDROID,
20444 ) -> Result;
20445 #[cfg(target_os = "android")]
20446 #[doc = "See [xrGetFaceCalibrationStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceCalibrationStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
20447 pub type GetFaceCalibrationStateANDROID = unsafe extern "system" fn(
20448 face_tracker: FaceTrackerANDROID,
20449 face_is_calibrated_output: *mut Bool32,
20450 ) -> Result;
20451 #[cfg(target_os = "android")]
20452 #[doc = "See [xrGetPassthroughCameraStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPassthroughCameraStateANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
20453 pub type GetPassthroughCameraStateANDROID = unsafe extern "system" fn(
20454 session: Session,
20455 get_info: *const PassthroughCameraStateGetInfoANDROID,
20456 camera_state_output: *mut PassthroughCameraStateANDROID,
20457 ) -> Result;
20458 #[cfg(target_os = "android")]
20459 #[doc = "See [xrEnumerateSupportedTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedTrackableTypesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20460 pub type EnumerateSupportedTrackableTypesANDROID = unsafe extern "system" fn(
20461 instance: Instance,
20462 system_id: SystemId,
20463 trackable_type_capacity_input: u32,
20464 trackable_type_count_output: *mut u32,
20465 trackable_types: *mut TrackableTypeANDROID,
20466 ) -> Result;
20467 #[cfg(target_os = "android")]
20468 #[doc = "See [xrEnumerateSupportedAnchorTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedAnchorTrackableTypesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20469 pub type EnumerateSupportedAnchorTrackableTypesANDROID = unsafe extern "system" fn(
20470 instance: Instance,
20471 system_id: SystemId,
20472 trackable_type_capacity_input: u32,
20473 trackable_type_count_output: *mut u32,
20474 trackable_types: *mut TrackableTypeANDROID,
20475 )
20476 -> Result;
20477 #[cfg(target_os = "android")]
20478 #[doc = "See [xrCreateTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTrackableTrackerANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20479 pub type CreateTrackableTrackerANDROID = unsafe extern "system" fn(
20480 session: Session,
20481 create_info: *const TrackableTrackerCreateInfoANDROID,
20482 trackable_tracker: *mut TrackableTrackerANDROID,
20483 ) -> Result;
20484 #[cfg(target_os = "android")]
20485 #[doc = "See [xrDestroyTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTrackableTrackerANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20486 pub type DestroyTrackableTrackerANDROID =
20487 unsafe extern "system" fn(trackable_tracker: TrackableTrackerANDROID) -> Result;
20488 #[cfg(target_os = "android")]
20489 #[doc = "See [xrGetAllTrackablesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAllTrackablesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20490 pub type GetAllTrackablesANDROID = unsafe extern "system" fn(
20491 trackable_tracker: TrackableTrackerANDROID,
20492 trackable_capacity_input: u32,
20493 trackable_count_output: *mut u32,
20494 trackables: *mut TrackableANDROID,
20495 ) -> Result;
20496 #[cfg(target_os = "android")]
20497 #[doc = "See [xrGetTrackablePlaneANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackablePlaneANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20498 pub type GetTrackablePlaneANDROID = unsafe extern "system" fn(
20499 trackable_tracker: TrackableTrackerANDROID,
20500 get_info: *const TrackableGetInfoANDROID,
20501 plane_output: *mut TrackablePlaneANDROID,
20502 ) -> Result;
20503 #[cfg(target_os = "android")]
20504 #[doc = "See [xrCreateAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAnchorSpaceANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
20505 pub type CreateAnchorSpaceANDROID = unsafe extern "system" fn(
20506 session: Session,
20507 create_info: *const AnchorSpaceCreateInfoANDROID,
20508 anchor_output: *mut Space,
20509 ) -> Result;
20510 #[cfg(target_os = "android")]
20511 #[doc = "See [xrShareAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareAnchorANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
20512 pub type ShareAnchorANDROID = unsafe extern "system" fn(
20513 session: Session,
20514 sharing_info: *const AnchorSharingInfoANDROID,
20515 anchor_token: *mut AnchorSharingTokenANDROID,
20516 ) -> Result;
20517 #[cfg(target_os = "android")]
20518 #[doc = "See [xrUnshareAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnshareAnchorANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
20519 pub type UnshareAnchorANDROID =
20520 unsafe extern "system" fn(session: Session, anchor: Space) -> Result;
20521 #[cfg(target_os = "android")]
20522 #[doc = "See [xrGetTrackableObjectANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableObjectANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
20523 pub type GetTrackableObjectANDROID = unsafe extern "system" fn(
20524 tracker: TrackableTrackerANDROID,
20525 get_info: *const TrackableGetInfoANDROID,
20526 object_output: *mut TrackableObjectANDROID,
20527 ) -> Result;
20528 #[cfg(target_os = "android")]
20529 #[doc = "See [xrEnumerateRaycastSupportedTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRaycastSupportedTrackableTypesANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
20530 pub type EnumerateRaycastSupportedTrackableTypesANDROID = unsafe extern "system" fn(
20531 instance: Instance,
20532 system_id: SystemId,
20533 trackable_type_capacity_input: u32,
20534 trackable_type_count_output: *mut u32,
20535 trackable_types: *mut TrackableTypeANDROID,
20536 )
20537 -> Result;
20538 #[cfg(target_os = "android")]
20539 #[doc = "See [xrRaycastANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRaycastANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
20540 pub type RaycastANDROID = unsafe extern "system" fn(
20541 session: Session,
20542 ray_info: *const RaycastInfoANDROID,
20543 results: *mut RaycastHitResultsANDROID,
20544 ) -> Result;
20545 #[cfg(target_os = "android")]
20546 #[doc = "See [xrGetTrackableMarkerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableMarkerANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
20547 pub type GetTrackableMarkerANDROID = unsafe extern "system" fn(
20548 tracker: TrackableTrackerANDROID,
20549 get_info: *const TrackableGetInfoANDROID,
20550 marker_output: *mut TrackableMarkerANDROID,
20551 ) -> Result;
20552 #[cfg(target_os = "android")]
20553 #[doc = "See [xrEnumerateSupportedPersistenceAnchorTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedPersistenceAnchorTypesANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20554 pub type EnumerateSupportedPersistenceAnchorTypesANDROID = unsafe extern "system" fn(
20555 instance: Instance,
20556 system_id: SystemId,
20557 trackable_type_capacity_input: u32,
20558 trackable_type_count_output: *mut u32,
20559 trackable_types: *mut TrackableTypeANDROID,
20560 )
20561 -> Result;
20562 #[cfg(target_os = "android")]
20563 #[doc = "See [xrCreateDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateDeviceAnchorPersistenceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20564 pub type CreateDeviceAnchorPersistenceANDROID = unsafe extern "system" fn(
20565 session: Session,
20566 create_info: *const DeviceAnchorPersistenceCreateInfoANDROID,
20567 out_handle: *mut DeviceAnchorPersistenceANDROID,
20568 ) -> Result;
20569 #[cfg(target_os = "android")]
20570 #[doc = "See [xrDestroyDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyDeviceAnchorPersistenceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20571 pub type DestroyDeviceAnchorPersistenceANDROID =
20572 unsafe extern "system" fn(handle: DeviceAnchorPersistenceANDROID) -> Result;
20573 #[cfg(target_os = "android")]
20574 #[doc = "See [xrPersistAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistAnchorANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20575 pub type PersistAnchorANDROID = unsafe extern "system" fn(
20576 handle: DeviceAnchorPersistenceANDROID,
20577 persisted_info: *const PersistedAnchorSpaceInfoANDROID,
20578 anchor_id_output: *mut UuidEXT,
20579 ) -> Result;
20580 #[cfg(target_os = "android")]
20581 #[doc = "See [xrGetAnchorPersistStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAnchorPersistStateANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20582 pub type GetAnchorPersistStateANDROID = unsafe extern "system" fn(
20583 handle: DeviceAnchorPersistenceANDROID,
20584 anchor_id: *const UuidEXT,
20585 persist_state: *mut AnchorPersistStateANDROID,
20586 ) -> Result;
20587 #[cfg(target_os = "android")]
20588 #[doc = "See [xrCreatePersistedAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePersistedAnchorSpaceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20589 pub type CreatePersistedAnchorSpaceANDROID = unsafe extern "system" fn(
20590 handle: DeviceAnchorPersistenceANDROID,
20591 create_info: *const PersistedAnchorSpaceCreateInfoANDROID,
20592 anchor_output: *mut Space,
20593 ) -> Result;
20594 #[cfg(target_os = "android")]
20595 #[doc = "See [xrEnumeratePersistedAnchorsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePersistedAnchorsANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20596 pub type EnumeratePersistedAnchorsANDROID = unsafe extern "system" fn(
20597 handle: DeviceAnchorPersistenceANDROID,
20598 anchor_id_capacity_input: u32,
20599 anchor_id_count_output: *mut u32,
20600 anchor_ids: *mut UuidEXT,
20601 ) -> Result;
20602 #[cfg(target_os = "android")]
20603 #[doc = "See [xrUnpersistAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistAnchorANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
20604 pub type UnpersistAnchorANDROID = unsafe extern "system" fn(
20605 handle: DeviceAnchorPersistenceANDROID,
20606 anchor_id: *const UuidEXT,
20607 ) -> Result;
20608 #[doc = "See [xrCreatePlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePlaneDetectorEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20609 pub type CreatePlaneDetectorEXT = unsafe extern "system" fn(
20610 session: Session,
20611 create_info: *const PlaneDetectorCreateInfoEXT,
20612 plane_detector: *mut PlaneDetectorEXT,
20613 ) -> Result;
20614 #[doc = "See [xrDestroyPlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPlaneDetectorEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20615 pub type DestroyPlaneDetectorEXT =
20616 unsafe extern "system" fn(plane_detector: PlaneDetectorEXT) -> Result;
20617 #[doc = "See [xrBeginPlaneDetectionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginPlaneDetectionEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20618 pub type BeginPlaneDetectionEXT = unsafe extern "system" fn(
20619 plane_detector: PlaneDetectorEXT,
20620 begin_info: *const PlaneDetectorBeginInfoEXT,
20621 ) -> Result;
20622 #[doc = "See [xrGetPlaneDetectionStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlaneDetectionStateEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20623 pub type GetPlaneDetectionStateEXT = unsafe extern "system" fn(
20624 plane_detector: PlaneDetectorEXT,
20625 state: *mut PlaneDetectionStateEXT,
20626 ) -> Result;
20627 #[doc = "See [xrGetPlaneDetectionsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlaneDetectionsEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20628 pub type GetPlaneDetectionsEXT = unsafe extern "system" fn(
20629 plane_detector: PlaneDetectorEXT,
20630 info: *const PlaneDetectorGetInfoEXT,
20631 locations: *mut PlaneDetectorLocationsEXT,
20632 ) -> Result;
20633 #[doc = "See [xrGetPlanePolygonBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlanePolygonBufferEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
20634 pub type GetPlanePolygonBufferEXT = unsafe extern "system" fn(
20635 plane_detector: PlaneDetectorEXT,
20636 plane_id: u64,
20637 polygon_buffer_index: u32,
20638 polygon_buffer: *mut PlaneDetectorPolygonBufferEXT,
20639 ) -> Result;
20640 #[doc = "See [xrCreateVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVirtualKeyboardMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20641 pub type CreateVirtualKeyboardMETA = unsafe extern "system" fn(
20642 session: Session,
20643 create_info: *const VirtualKeyboardCreateInfoMETA,
20644 keyboard: *mut VirtualKeyboardMETA,
20645 ) -> Result;
20646 #[doc = "See [xrDestroyVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyVirtualKeyboardMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20647 pub type DestroyVirtualKeyboardMETA =
20648 unsafe extern "system" fn(keyboard: VirtualKeyboardMETA) -> Result;
20649 #[doc = "See [xrCreateVirtualKeyboardSpaceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVirtualKeyboardSpaceMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20650 pub type CreateVirtualKeyboardSpaceMETA = unsafe extern "system" fn(
20651 session: Session,
20652 keyboard: VirtualKeyboardMETA,
20653 create_info: *const VirtualKeyboardSpaceCreateInfoMETA,
20654 keyboard_space: *mut Space,
20655 ) -> Result;
20656 #[doc = "See [xrSuggestVirtualKeyboardLocationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestVirtualKeyboardLocationMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20657 pub type SuggestVirtualKeyboardLocationMETA = unsafe extern "system" fn(
20658 keyboard: VirtualKeyboardMETA,
20659 location_info: *const VirtualKeyboardLocationInfoMETA,
20660 ) -> Result;
20661 #[doc = "See [xrGetVirtualKeyboardScaleMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardScaleMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20662 pub type GetVirtualKeyboardScaleMETA =
20663 unsafe extern "system" fn(keyboard: VirtualKeyboardMETA, scale: *mut f32) -> Result;
20664 #[doc = "See [xrSetVirtualKeyboardModelVisibilityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetVirtualKeyboardModelVisibilityMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20665 pub type SetVirtualKeyboardModelVisibilityMETA = unsafe extern "system" fn(
20666 keyboard: VirtualKeyboardMETA,
20667 model_visibility: *const VirtualKeyboardModelVisibilitySetInfoMETA,
20668 ) -> Result;
20669 #[doc = "See [xrGetVirtualKeyboardModelAnimationStatesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardModelAnimationStatesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20670 pub type GetVirtualKeyboardModelAnimationStatesMETA = unsafe extern "system" fn(
20671 keyboard: VirtualKeyboardMETA,
20672 animation_states: *mut VirtualKeyboardModelAnimationStatesMETA,
20673 ) -> Result;
20674 #[doc = "See [xrGetVirtualKeyboardDirtyTexturesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardDirtyTexturesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20675 pub type GetVirtualKeyboardDirtyTexturesMETA = unsafe extern "system" fn(
20676 keyboard: VirtualKeyboardMETA,
20677 texture_id_capacity_input: u32,
20678 texture_id_count_output: *mut u32,
20679 texture_ids: *mut u64,
20680 ) -> Result;
20681 #[doc = "See [xrGetVirtualKeyboardTextureDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardTextureDataMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20682 pub type GetVirtualKeyboardTextureDataMETA = unsafe extern "system" fn(
20683 keyboard: VirtualKeyboardMETA,
20684 texture_id: u64,
20685 texture_data: *mut VirtualKeyboardTextureDataMETA,
20686 ) -> Result;
20687 #[doc = "See [xrSendVirtualKeyboardInputMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSendVirtualKeyboardInputMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20688 pub type SendVirtualKeyboardInputMETA = unsafe extern "system" fn(
20689 keyboard: VirtualKeyboardMETA,
20690 info: *const VirtualKeyboardInputInfoMETA,
20691 interactor_root_pose: *mut Posef,
20692 ) -> Result;
20693 #[doc = "See [xrChangeVirtualKeyboardTextContextMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrChangeVirtualKeyboardTextContextMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
20694 pub type ChangeVirtualKeyboardTextContextMETA = unsafe extern "system" fn(
20695 keyboard: VirtualKeyboardMETA,
20696 change_info: *const VirtualKeyboardTextContextChangeInfoMETA,
20697 ) -> Result;
20698 #[doc = "See [xrEnableUserCalibrationEventsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnableUserCalibrationEventsML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
20699 pub type EnableUserCalibrationEventsML = unsafe extern "system" fn(
20700 instance: Instance,
20701 enable_info: *const UserCalibrationEnableEventsInfoML,
20702 ) -> Result;
20703 #[doc = "See [xrEnableLocalizationEventsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnableLocalizationEventsML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20704 pub type EnableLocalizationEventsML = unsafe extern "system" fn(
20705 session: Session,
20706 info: *const LocalizationEnableEventsInfoML,
20707 ) -> Result;
20708 #[doc = "See [xrQueryLocalizationMapsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryLocalizationMapsML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20709 pub type QueryLocalizationMapsML = unsafe extern "system" fn(
20710 session: Session,
20711 query_info: *const LocalizationMapQueryInfoBaseHeaderML,
20712 map_capacity_input: u32,
20713 map_count_output: *mut u32,
20714 maps: *mut LocalizationMapML,
20715 ) -> Result;
20716 #[doc = "See [xrRequestMapLocalizationML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestMapLocalizationML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20717 pub type RequestMapLocalizationML = unsafe extern "system" fn(
20718 session: Session,
20719 request_info: *const MapLocalizationRequestInfoML,
20720 ) -> Result;
20721 #[doc = "See [xrImportLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrImportLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20722 pub type ImportLocalizationMapML = unsafe extern "system" fn(
20723 session: Session,
20724 import_info: *const LocalizationMapImportInfoML,
20725 map_uuid: *mut UuidEXT,
20726 ) -> Result;
20727 #[doc = "See [xrCreateExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateExportedLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20728 pub type CreateExportedLocalizationMapML = unsafe extern "system" fn(
20729 session: Session,
20730 map_uuid: *const UuidEXT,
20731 map: *mut ExportedLocalizationMapML,
20732 ) -> Result;
20733 #[doc = "See [xrDestroyExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyExportedLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20734 pub type DestroyExportedLocalizationMapML =
20735 unsafe extern "system" fn(map: ExportedLocalizationMapML) -> Result;
20736 #[doc = "See [xrGetExportedLocalizationMapDataML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetExportedLocalizationMapDataML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
20737 pub type GetExportedLocalizationMapDataML = unsafe extern "system" fn(
20738 map: ExportedLocalizationMapML,
20739 buffer_capacity_input: u32,
20740 buffer_count_output: *mut u32,
20741 buffer: *mut c_char,
20742 ) -> Result;
20743 #[doc = "See [xrCreateMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20744 pub type CreateMarkerDetectorML = unsafe extern "system" fn(
20745 session: Session,
20746 create_info: *const MarkerDetectorCreateInfoML,
20747 marker_detector: *mut MarkerDetectorML,
20748 ) -> Result;
20749 #[doc = "See [xrDestroyMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20750 pub type DestroyMarkerDetectorML =
20751 unsafe extern "system" fn(marker_detector: MarkerDetectorML) -> Result;
20752 #[doc = "See [xrSnapshotMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSnapshotMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20753 pub type SnapshotMarkerDetectorML = unsafe extern "system" fn(
20754 marker_detector: MarkerDetectorML,
20755 snapshot_info: *mut MarkerDetectorSnapshotInfoML,
20756 ) -> Result;
20757 #[doc = "See [xrGetMarkerDetectorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerDetectorStateML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20758 pub type GetMarkerDetectorStateML = unsafe extern "system" fn(
20759 marker_detector: MarkerDetectorML,
20760 state: *mut MarkerDetectorStateML,
20761 ) -> Result;
20762 #[doc = "See [xrGetMarkersML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkersML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20763 pub type GetMarkersML = unsafe extern "system" fn(
20764 marker_detector: MarkerDetectorML,
20765 marker_capacity_input: u32,
20766 marker_count_output: *mut u32,
20767 markers: *mut MarkerML,
20768 ) -> Result;
20769 #[doc = "See [xrGetMarkerReprojectionErrorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerReprojectionErrorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20770 pub type GetMarkerReprojectionErrorML = unsafe extern "system" fn(
20771 marker_detector: MarkerDetectorML,
20772 marker: MarkerML,
20773 reprojection_error_meters: *mut f32,
20774 ) -> Result;
20775 #[doc = "See [xrGetMarkerLengthML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerLengthML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20776 pub type GetMarkerLengthML = unsafe extern "system" fn(
20777 marker_detector: MarkerDetectorML,
20778 marker: MarkerML,
20779 meters: *mut f32,
20780 ) -> Result;
20781 #[doc = "See [xrGetMarkerNumberML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerNumberML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20782 pub type GetMarkerNumberML = unsafe extern "system" fn(
20783 marker_detector: MarkerDetectorML,
20784 marker: MarkerML,
20785 number: *mut u64,
20786 ) -> Result;
20787 #[doc = "See [xrGetMarkerStringML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerStringML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20788 pub type GetMarkerStringML = unsafe extern "system" fn(
20789 marker_detector: MarkerDetectorML,
20790 marker: MarkerML,
20791 buffer_capacity_input: u32,
20792 buffer_count_output: *mut u32,
20793 buffer: *mut c_char,
20794 ) -> Result;
20795 #[doc = "See [xrCreateMarkerSpaceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerSpaceML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
20796 pub type CreateMarkerSpaceML = unsafe extern "system" fn(
20797 session: Session,
20798 create_info: *const MarkerSpaceCreateInfoML,
20799 space: *mut Space,
20800 ) -> Result;
20801 #[doc = "See [xrPollFutureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPollFutureEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
20802 pub type PollFutureEXT = unsafe extern "system" fn(
20803 instance: Instance,
20804 poll_info: *const FuturePollInfoEXT,
20805 poll_result: *mut FuturePollResultEXT,
20806 ) -> Result;
20807 #[doc = "See [xrCancelFutureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCancelFutureEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
20808 pub type CancelFutureEXT = unsafe extern "system" fn(
20809 instance: Instance,
20810 cancel_info: *const FutureCancelInfoEXT,
20811 ) -> Result;
20812 #[doc = "See [xrCreateEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20813 pub type CreateEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20814 session: Session,
20815 create_info: *const EnvironmentDepthProviderCreateInfoMETA,
20816 environment_depth_provider: *mut EnvironmentDepthProviderMETA,
20817 ) -> Result;
20818 #[doc = "See [xrDestroyEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20819 pub type DestroyEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20820 environment_depth_provider: EnvironmentDepthProviderMETA,
20821 ) -> Result;
20822 #[doc = "See [xrStartEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20823 pub type StartEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20824 environment_depth_provider: EnvironmentDepthProviderMETA,
20825 ) -> Result;
20826 #[doc = "See [xrStopEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20827 pub type StopEnvironmentDepthProviderMETA = unsafe extern "system" fn(
20828 environment_depth_provider: EnvironmentDepthProviderMETA,
20829 ) -> Result;
20830 #[doc = "See [xrCreateEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentDepthSwapchainMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20831 pub type CreateEnvironmentDepthSwapchainMETA = unsafe extern "system" fn(
20832 environment_depth_provider: EnvironmentDepthProviderMETA,
20833 create_info: *const EnvironmentDepthSwapchainCreateInfoMETA,
20834 swapchain: *mut EnvironmentDepthSwapchainMETA,
20835 ) -> Result;
20836 #[doc = "See [xrDestroyEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentDepthSwapchainMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20837 pub type DestroyEnvironmentDepthSwapchainMETA =
20838 unsafe extern "system" fn(swapchain: EnvironmentDepthSwapchainMETA) -> Result;
20839 #[doc = "See [xrEnumerateEnvironmentDepthSwapchainImagesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateEnvironmentDepthSwapchainImagesMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20840 pub type EnumerateEnvironmentDepthSwapchainImagesMETA = unsafe extern "system" fn(
20841 swapchain: EnvironmentDepthSwapchainMETA,
20842 image_capacity_input: u32,
20843 image_count_output: *mut u32,
20844 images: *mut SwapchainImageBaseHeader,
20845 )
20846 -> Result;
20847 #[doc = "See [xrGetEnvironmentDepthSwapchainStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetEnvironmentDepthSwapchainStateMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20848 pub type GetEnvironmentDepthSwapchainStateMETA = unsafe extern "system" fn(
20849 swapchain: EnvironmentDepthSwapchainMETA,
20850 state: *mut EnvironmentDepthSwapchainStateMETA,
20851 ) -> Result;
20852 #[doc = "See [xrAcquireEnvironmentDepthImageMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAcquireEnvironmentDepthImageMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20853 pub type AcquireEnvironmentDepthImageMETA = unsafe extern "system" fn(
20854 environment_depth_provider: EnvironmentDepthProviderMETA,
20855 acquire_info: *const EnvironmentDepthImageAcquireInfoMETA,
20856 environment_depth_image: *mut EnvironmentDepthImageMETA,
20857 ) -> Result;
20858 #[doc = "See [xrSetEnvironmentDepthHandRemovalMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetEnvironmentDepthHandRemovalMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
20859 pub type SetEnvironmentDepthHandRemovalMETA = unsafe extern "system" fn(
20860 environment_depth_provider: EnvironmentDepthProviderMETA,
20861 set_info: *const EnvironmentDepthHandRemovalSetInfoMETA,
20862 ) -> Result;
20863 #[doc = "See [xrCreateFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFacialExpressionClientML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
20864 pub type CreateFacialExpressionClientML = unsafe extern "system" fn(
20865 session: Session,
20866 create_info: *const FacialExpressionClientCreateInfoML,
20867 facial_expression_client: *mut FacialExpressionClientML,
20868 ) -> Result;
20869 #[doc = "See [xrDestroyFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFacialExpressionClientML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
20870 pub type DestroyFacialExpressionClientML =
20871 unsafe extern "system" fn(facial_expression_client: FacialExpressionClientML) -> Result;
20872 #[doc = "See [xrGetFacialExpressionBlendShapePropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialExpressionBlendShapePropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
20873 pub type GetFacialExpressionBlendShapePropertiesML = unsafe extern "system" fn(
20874 facial_expression_client: FacialExpressionClientML,
20875 blend_shape_get_info: *const FacialExpressionBlendShapeGetInfoML,
20876 blend_shape_count: u32,
20877 blend_shapes: *mut FacialExpressionBlendShapePropertiesML,
20878 ) -> Result;
20879 #[doc = "See [xrLocateSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpaces)"]
20880 pub type LocateSpaces = unsafe extern "system" fn(
20881 session: Session,
20882 locate_info: *const SpacesLocateInfo,
20883 space_locations: *mut SpaceLocations,
20884 ) -> Result;
20885 #[doc = "See [xrEnumerateSpatialCapabilitiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilitiesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20886 pub type EnumerateSpatialCapabilitiesEXT = unsafe extern "system" fn(
20887 instance: Instance,
20888 system_id: SystemId,
20889 capability_capacity_input: u32,
20890 capability_count_output: *mut u32,
20891 capabilities: *mut SpatialCapabilityEXT,
20892 ) -> Result;
20893 #[doc = "See [xrEnumerateSpatialCapabilityComponentTypesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilityComponentTypesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20894 pub type EnumerateSpatialCapabilityComponentTypesEXT = unsafe extern "system" fn(
20895 instance: Instance,
20896 system_id: SystemId,
20897 capability: SpatialCapabilityEXT,
20898 capability_components: *mut SpatialCapabilityComponentTypesEXT,
20899 ) -> Result;
20900 #[doc = "See [xrEnumerateSpatialCapabilityFeaturesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilityFeaturesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20901 pub type EnumerateSpatialCapabilityFeaturesEXT = unsafe extern "system" fn(
20902 instance: Instance,
20903 system_id: SystemId,
20904 capability: SpatialCapabilityEXT,
20905 capability_feature_capacity_input: u32,
20906 capability_feature_count_output: *mut u32,
20907 capability_features: *mut SpatialCapabilityFeatureEXT,
20908 ) -> Result;
20909 #[doc = "See [xrCreateSpatialContextAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialContextAsyncEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20910 pub type CreateSpatialContextAsyncEXT = unsafe extern "system" fn(
20911 session: Session,
20912 create_info: *const SpatialContextCreateInfoEXT,
20913 future: *mut FutureEXT,
20914 ) -> Result;
20915 #[doc = "See [xrCreateSpatialContextCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialContextCompleteEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20916 pub type CreateSpatialContextCompleteEXT = unsafe extern "system" fn(
20917 session: Session,
20918 future: FutureEXT,
20919 completion: *mut CreateSpatialContextCompletionEXT,
20920 ) -> Result;
20921 #[doc = "See [xrDestroySpatialContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialContextEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20922 pub type DestroySpatialContextEXT =
20923 unsafe extern "system" fn(spatial_context: SpatialContextEXT) -> Result;
20924 #[doc = "See [xrCreateSpatialDiscoverySnapshotAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialDiscoverySnapshotAsyncEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20925 pub type CreateSpatialDiscoverySnapshotAsyncEXT = unsafe extern "system" fn(
20926 spatial_context: SpatialContextEXT,
20927 create_info: *const SpatialDiscoverySnapshotCreateInfoEXT,
20928 future: *mut FutureEXT,
20929 ) -> Result;
20930 #[doc = "See [xrCreateSpatialDiscoverySnapshotCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialDiscoverySnapshotCompleteEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20931 pub type CreateSpatialDiscoverySnapshotCompleteEXT = unsafe extern "system" fn(
20932 spatial_context: SpatialContextEXT,
20933 create_snapshot_completion_info: *const CreateSpatialDiscoverySnapshotCompletionInfoEXT,
20934 completion: *mut CreateSpatialDiscoverySnapshotCompletionEXT,
20935 ) -> Result;
20936 #[doc = "See [xrQuerySpatialComponentDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialComponentDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20937 pub type QuerySpatialComponentDataEXT = unsafe extern "system" fn(
20938 snapshot: SpatialSnapshotEXT,
20939 query_condition: *const SpatialComponentDataQueryConditionEXT,
20940 query_result: *mut SpatialComponentDataQueryResultEXT,
20941 ) -> Result;
20942 #[doc = "See [xrDestroySpatialSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialSnapshotEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20943 pub type DestroySpatialSnapshotEXT =
20944 unsafe extern "system" fn(snapshot: SpatialSnapshotEXT) -> Result;
20945 #[doc = "See [xrCreateSpatialEntityFromIdEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialEntityFromIdEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20946 pub type CreateSpatialEntityFromIdEXT = unsafe extern "system" fn(
20947 spatial_context: SpatialContextEXT,
20948 create_info: *const SpatialEntityFromIdCreateInfoEXT,
20949 spatial_entity: *mut SpatialEntityEXT,
20950 ) -> Result;
20951 #[doc = "See [xrDestroySpatialEntityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialEntityEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20952 pub type DestroySpatialEntityEXT =
20953 unsafe extern "system" fn(spatial_entity: SpatialEntityEXT) -> Result;
20954 #[doc = "See [xrCreateSpatialUpdateSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialUpdateSnapshotEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20955 pub type CreateSpatialUpdateSnapshotEXT = unsafe extern "system" fn(
20956 spatial_context: SpatialContextEXT,
20957 create_info: *const SpatialUpdateSnapshotCreateInfoEXT,
20958 snapshot: *mut SpatialSnapshotEXT,
20959 ) -> Result;
20960 #[doc = "See [xrGetSpatialBufferStringEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferStringEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20961 pub type GetSpatialBufferStringEXT = unsafe extern "system" fn(
20962 snapshot: SpatialSnapshotEXT,
20963 info: *const SpatialBufferGetInfoEXT,
20964 buffer_capacity_input: u32,
20965 buffer_count_output: *mut u32,
20966 buffer: *mut c_char,
20967 ) -> Result;
20968 #[doc = "See [xrGetSpatialBufferUint8EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint8EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20969 pub type GetSpatialBufferUint8EXT = unsafe extern "system" fn(
20970 snapshot: SpatialSnapshotEXT,
20971 info: *const SpatialBufferGetInfoEXT,
20972 buffer_capacity_input: u32,
20973 buffer_count_output: *mut u32,
20974 buffer: *mut u8,
20975 ) -> Result;
20976 #[doc = "See [xrGetSpatialBufferUint16EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint16EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20977 pub type GetSpatialBufferUint16EXT = unsafe extern "system" fn(
20978 snapshot: SpatialSnapshotEXT,
20979 info: *const SpatialBufferGetInfoEXT,
20980 buffer_capacity_input: u32,
20981 buffer_count_output: *mut u32,
20982 buffer: *mut u16,
20983 ) -> Result;
20984 #[doc = "See [xrGetSpatialBufferUint32EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint32EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20985 pub type GetSpatialBufferUint32EXT = unsafe extern "system" fn(
20986 snapshot: SpatialSnapshotEXT,
20987 info: *const SpatialBufferGetInfoEXT,
20988 buffer_capacity_input: u32,
20989 buffer_count_output: *mut u32,
20990 buffer: *mut u32,
20991 ) -> Result;
20992 #[doc = "See [xrGetSpatialBufferFloatEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferFloatEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
20993 pub type GetSpatialBufferFloatEXT = unsafe extern "system" fn(
20994 snapshot: SpatialSnapshotEXT,
20995 info: *const SpatialBufferGetInfoEXT,
20996 buffer_capacity_input: u32,
20997 buffer_count_output: *mut u32,
20998 buffer: *mut f32,
20999 ) -> Result;
21000 #[doc = "See [xrGetSpatialBufferVector2fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferVector2fEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
21001 pub type GetSpatialBufferVector2fEXT = unsafe extern "system" fn(
21002 snapshot: SpatialSnapshotEXT,
21003 info: *const SpatialBufferGetInfoEXT,
21004 buffer_capacity_input: u32,
21005 buffer_count_output: *mut u32,
21006 buffer: *mut Vector2f,
21007 ) -> Result;
21008 #[doc = "See [xrGetSpatialBufferVector3fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferVector3fEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
21009 pub type GetSpatialBufferVector3fEXT = unsafe extern "system" fn(
21010 snapshot: SpatialSnapshotEXT,
21011 info: *const SpatialBufferGetInfoEXT,
21012 buffer_capacity_input: u32,
21013 buffer_count_output: *mut u32,
21014 buffer: *mut Vector3f,
21015 ) -> Result;
21016 #[doc = "See [xrCreateSpatialAnchorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
21017 pub type CreateSpatialAnchorEXT = unsafe extern "system" fn(
21018 spatial_context: SpatialContextEXT,
21019 create_info: *const SpatialAnchorCreateInfoEXT,
21020 anchor_entity_id: *mut SpatialEntityIdEXT,
21021 anchor_entity: *mut SpatialEntityEXT,
21022 ) -> Result;
21023 #[doc = "See [xrEnumerateSpatialPersistenceScopesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialPersistenceScopesEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21024 pub type EnumerateSpatialPersistenceScopesEXT = unsafe extern "system" fn(
21025 instance: Instance,
21026 system_id: SystemId,
21027 persistence_scope_capacity_input: u32,
21028 persistence_scope_count_output: *mut u32,
21029 persistence_scopes: *mut SpatialPersistenceScopeEXT,
21030 ) -> Result;
21031 #[doc = "See [xrCreateSpatialPersistenceContextAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialPersistenceContextAsyncEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21032 pub type CreateSpatialPersistenceContextAsyncEXT = unsafe extern "system" fn(
21033 session: Session,
21034 create_info: *const SpatialPersistenceContextCreateInfoEXT,
21035 future: *mut FutureEXT,
21036 ) -> Result;
21037 #[doc = "See [xrCreateSpatialPersistenceContextCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialPersistenceContextCompleteEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21038 pub type CreateSpatialPersistenceContextCompleteEXT = unsafe extern "system" fn(
21039 session: Session,
21040 future: FutureEXT,
21041 completion: *mut CreateSpatialPersistenceContextCompletionEXT,
21042 ) -> Result;
21043 #[doc = "See [xrDestroySpatialPersistenceContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialPersistenceContextEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
21044 pub type DestroySpatialPersistenceContextEXT =
21045 unsafe extern "system" fn(persistence_context: SpatialPersistenceContextEXT) -> Result;
21046 #[doc = "See [xrPersistSpatialEntityAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialEntityAsyncEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21047 pub type PersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
21048 persistence_context: SpatialPersistenceContextEXT,
21049 persist_info: *const SpatialEntityPersistInfoEXT,
21050 future: *mut FutureEXT,
21051 ) -> Result;
21052 #[doc = "See [xrPersistSpatialEntityCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialEntityCompleteEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21053 pub type PersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
21054 persistence_context: SpatialPersistenceContextEXT,
21055 future: FutureEXT,
21056 completion: *mut PersistSpatialEntityCompletionEXT,
21057 ) -> Result;
21058 #[doc = "See [xrUnpersistSpatialEntityAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialEntityAsyncEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21059 pub type UnpersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
21060 persistence_context: SpatialPersistenceContextEXT,
21061 unpersist_info: *const SpatialEntityUnpersistInfoEXT,
21062 future: *mut FutureEXT,
21063 ) -> Result;
21064 #[doc = "See [xrUnpersistSpatialEntityCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialEntityCompleteEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
21065 pub type UnpersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
21066 persistence_context: SpatialPersistenceContextEXT,
21067 future: FutureEXT,
21068 completion: *mut UnpersistSpatialEntityCompletionEXT,
21069 ) -> Result;
21070 #[doc = "See [xrSetSystemNotificationsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetSystemNotificationsML) - defined by [XR_ML_system_notifications](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_system_notifications)"]
21071 pub type SetSystemNotificationsML = unsafe extern "system" fn(
21072 instance: Instance,
21073 info: *const SystemNotificationsSetInfoML,
21074 ) -> Result;
21075 #[doc = "See [xrCreateSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
21076 pub type CreateSpatialAnchorsAsyncML = unsafe extern "system" fn(
21077 session: Session,
21078 create_info: *const SpatialAnchorsCreateInfoBaseHeaderML,
21079 future: *mut FutureEXT,
21080 ) -> Result;
21081 #[doc = "See [xrCreateSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
21082 pub type CreateSpatialAnchorsCompleteML = unsafe extern "system" fn(
21083 session: Session,
21084 future: FutureEXT,
21085 completion: *mut CreateSpatialAnchorsCompletionML,
21086 ) -> Result;
21087 #[doc = "See [xrGetSpatialAnchorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialAnchorStateML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
21088 pub type GetSpatialAnchorStateML =
21089 unsafe extern "system" fn(anchor: Space, state: *mut SpatialAnchorStateML) -> Result;
21090 #[doc = "See [xrCreateSpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsStorageML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21091 pub type CreateSpatialAnchorsStorageML = unsafe extern "system" fn(
21092 session: Session,
21093 create_info: *const SpatialAnchorsCreateStorageInfoML,
21094 storage: *mut SpatialAnchorsStorageML,
21095 ) -> Result;
21096 #[doc = "See [xrDestroySpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorsStorageML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21097 pub type DestroySpatialAnchorsStorageML =
21098 unsafe extern "system" fn(storage: SpatialAnchorsStorageML) -> Result;
21099 #[doc = "See [xrQuerySpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21100 pub type QuerySpatialAnchorsAsyncML = unsafe extern "system" fn(
21101 storage: SpatialAnchorsStorageML,
21102 query_info: *const SpatialAnchorsQueryInfoBaseHeaderML,
21103 future: *mut FutureEXT,
21104 ) -> Result;
21105 #[doc = "See [xrQuerySpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21106 pub type QuerySpatialAnchorsCompleteML = unsafe extern "system" fn(
21107 storage: SpatialAnchorsStorageML,
21108 future: FutureEXT,
21109 completion: *mut SpatialAnchorsQueryCompletionML,
21110 ) -> Result;
21111 #[doc = "See [xrPublishSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPublishSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21112 pub type PublishSpatialAnchorsAsyncML = unsafe extern "system" fn(
21113 storage: SpatialAnchorsStorageML,
21114 publish_info: *const SpatialAnchorsPublishInfoML,
21115 future: *mut FutureEXT,
21116 ) -> Result;
21117 #[doc = "See [xrPublishSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPublishSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21118 pub type PublishSpatialAnchorsCompleteML = unsafe extern "system" fn(
21119 storage: SpatialAnchorsStorageML,
21120 future: FutureEXT,
21121 completion: *mut SpatialAnchorsPublishCompletionML,
21122 ) -> Result;
21123 #[doc = "See [xrDeleteSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDeleteSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21124 pub type DeleteSpatialAnchorsAsyncML = unsafe extern "system" fn(
21125 storage: SpatialAnchorsStorageML,
21126 delete_info: *const SpatialAnchorsDeleteInfoML,
21127 future: *mut FutureEXT,
21128 ) -> Result;
21129 #[doc = "See [xrDeleteSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDeleteSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21130 pub type DeleteSpatialAnchorsCompleteML = unsafe extern "system" fn(
21131 storage: SpatialAnchorsStorageML,
21132 future: FutureEXT,
21133 completion: *mut SpatialAnchorsDeleteCompletionML,
21134 ) -> Result;
21135 #[doc = "See [xrUpdateSpatialAnchorsExpirationAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSpatialAnchorsExpirationAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21136 pub type UpdateSpatialAnchorsExpirationAsyncML = unsafe extern "system" fn(
21137 storage: SpatialAnchorsStorageML,
21138 update_info: *const SpatialAnchorsUpdateExpirationInfoML,
21139 future: *mut FutureEXT,
21140 ) -> Result;
21141 #[doc = "See [xrUpdateSpatialAnchorsExpirationCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSpatialAnchorsExpirationCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
21142 pub type UpdateSpatialAnchorsExpirationCompleteML = unsafe extern "system" fn(
21143 storage: SpatialAnchorsStorageML,
21144 future: FutureEXT,
21145 completion: *mut SpatialAnchorsUpdateExpirationCompletionML,
21146 ) -> Result;
21147 #[doc = "See [xrCreateWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateWorldMeshDetectorML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21148 pub type CreateWorldMeshDetectorML = unsafe extern "system" fn(
21149 session: Session,
21150 create_info: *const WorldMeshDetectorCreateInfoML,
21151 detector: *mut WorldMeshDetectorML,
21152 ) -> Result;
21153 #[doc = "See [xrDestroyWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyWorldMeshDetectorML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21154 pub type DestroyWorldMeshDetectorML =
21155 unsafe extern "system" fn(detector: WorldMeshDetectorML) -> Result;
21156 #[doc = "See [xrRequestWorldMeshStateAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshStateAsyncML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21157 pub type RequestWorldMeshStateAsyncML = unsafe extern "system" fn(
21158 detector: WorldMeshDetectorML,
21159 state_request: *const WorldMeshStateRequestInfoML,
21160 future: *mut FutureEXT,
21161 ) -> Result;
21162 #[doc = "See [xrRequestWorldMeshStateCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshStateCompleteML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21163 pub type RequestWorldMeshStateCompleteML = unsafe extern "system" fn(
21164 detector: WorldMeshDetectorML,
21165 future: FutureEXT,
21166 completion: *mut WorldMeshStateRequestCompletionML,
21167 ) -> Result;
21168 #[doc = "See [xrGetWorldMeshBufferRecommendSizeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetWorldMeshBufferRecommendSizeML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21169 pub type GetWorldMeshBufferRecommendSizeML = unsafe extern "system" fn(
21170 detector: WorldMeshDetectorML,
21171 size_info: *const WorldMeshBufferRecommendedSizeInfoML,
21172 size: *mut WorldMeshBufferSizeML,
21173 ) -> Result;
21174 #[doc = "See [xrAllocateWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAllocateWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21175 pub type AllocateWorldMeshBufferML = unsafe extern "system" fn(
21176 detector: WorldMeshDetectorML,
21177 size: *const WorldMeshBufferSizeML,
21178 buffer: *mut WorldMeshBufferML,
21179 ) -> Result;
21180 #[doc = "See [xrFreeWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrFreeWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21181 pub type FreeWorldMeshBufferML = unsafe extern "system" fn(
21182 detector: WorldMeshDetectorML,
21183 buffer: *const WorldMeshBufferML,
21184 ) -> Result;
21185 #[doc = "See [xrRequestWorldMeshAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshAsyncML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21186 pub type RequestWorldMeshAsyncML = unsafe extern "system" fn(
21187 detector: WorldMeshDetectorML,
21188 get_info: *const WorldMeshGetInfoML,
21189 buffer: *mut WorldMeshBufferML,
21190 future: *mut FutureEXT,
21191 ) -> Result;
21192 #[doc = "See [xrRequestWorldMeshCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshCompleteML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
21193 pub type RequestWorldMeshCompleteML = unsafe extern "system" fn(
21194 detector: WorldMeshDetectorML,
21195 completion_info: *const WorldMeshRequestCompletionInfoML,
21196 future: FutureEXT,
21197 completion: *mut WorldMeshRequestCompletionML,
21198 ) -> Result;
21199 #[doc = "See [xrCreateRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21200 pub type CreateRenderModelEXT = unsafe extern "system" fn(
21201 session: Session,
21202 create_info: *const RenderModelCreateInfoEXT,
21203 render_model: *mut RenderModelEXT,
21204 ) -> Result;
21205 #[doc = "See [xrDestroyRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyRenderModelEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21206 pub type DestroyRenderModelEXT =
21207 unsafe extern "system" fn(render_model: RenderModelEXT) -> Result;
21208 #[doc = "See [xrGetRenderModelPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21209 pub type GetRenderModelPropertiesEXT = unsafe extern "system" fn(
21210 render_model: RenderModelEXT,
21211 get_info: *const RenderModelPropertiesGetInfoEXT,
21212 properties: *mut RenderModelPropertiesEXT,
21213 ) -> Result;
21214 #[doc = "See [xrCreateRenderModelSpaceEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelSpaceEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21215 pub type CreateRenderModelSpaceEXT = unsafe extern "system" fn(
21216 session: Session,
21217 create_info: *const RenderModelSpaceCreateInfoEXT,
21218 space: *mut Space,
21219 ) -> Result;
21220 #[doc = "See [xrCreateRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelAssetEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21221 pub type CreateRenderModelAssetEXT = unsafe extern "system" fn(
21222 session: Session,
21223 create_info: *const RenderModelAssetCreateInfoEXT,
21224 asset: *mut RenderModelAssetEXT,
21225 ) -> Result;
21226 #[doc = "See [xrDestroyRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyRenderModelAssetEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21227 pub type DestroyRenderModelAssetEXT =
21228 unsafe extern "system" fn(asset: RenderModelAssetEXT) -> Result;
21229 #[doc = "See [xrGetRenderModelAssetDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelAssetDataEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21230 pub type GetRenderModelAssetDataEXT = unsafe extern "system" fn(
21231 asset: RenderModelAssetEXT,
21232 get_info: *const RenderModelAssetDataGetInfoEXT,
21233 buffer: *mut RenderModelAssetDataEXT,
21234 ) -> Result;
21235 #[doc = "See [xrGetRenderModelAssetPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelAssetPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21236 pub type GetRenderModelAssetPropertiesEXT = unsafe extern "system" fn(
21237 asset: RenderModelAssetEXT,
21238 get_info: *const RenderModelAssetPropertiesGetInfoEXT,
21239 properties: *mut RenderModelAssetPropertiesEXT,
21240 ) -> Result;
21241 #[doc = "See [xrGetRenderModelStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
21242 pub type GetRenderModelStateEXT = unsafe extern "system" fn(
21243 render_model: RenderModelEXT,
21244 get_info: *const RenderModelStateGetInfoEXT,
21245 state: *mut RenderModelStateEXT,
21246 ) -> Result;
21247 #[doc = "See [xrEnumerateInteractionRenderModelIdsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateInteractionRenderModelIdsEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
21248 pub type EnumerateInteractionRenderModelIdsEXT = unsafe extern "system" fn(
21249 session: Session,
21250 get_info: *const InteractionRenderModelIdsEnumerateInfoEXT,
21251 render_model_id_capacity_input: u32,
21252 render_model_id_count_output: *mut u32,
21253 render_model_ids: *mut RenderModelIdEXT,
21254 ) -> Result;
21255 #[doc = "See [xrEnumerateRenderModelSubactionPathsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRenderModelSubactionPathsEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
21256 pub type EnumerateRenderModelSubactionPathsEXT = unsafe extern "system" fn(
21257 render_model: RenderModelEXT,
21258 info: *const InteractionRenderModelSubactionPathInfoEXT,
21259 path_capacity_input: u32,
21260 path_count_output: *mut u32,
21261 paths: *mut Path,
21262 ) -> Result;
21263 #[doc = "See [xrGetRenderModelPoseTopLevelUserPathEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPoseTopLevelUserPathEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
21264 pub type GetRenderModelPoseTopLevelUserPathEXT = unsafe extern "system" fn(
21265 render_model: RenderModelEXT,
21266 info: *const InteractionRenderModelTopLevelUserPathGetInfoEXT,
21267 top_level_user_path: *mut Path,
21268 ) -> Result;
21269 #[doc = "See [xrGetSpatialEntityUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialEntityUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21270 pub type GetSpatialEntityUuidBD = unsafe extern "system" fn(
21271 snapshot: SenseDataSnapshotBD,
21272 entity_id: SpatialEntityIdBD,
21273 uuid: *mut UuidEXT,
21274 ) -> Result;
21275 #[doc = "See [xrEnumerateSpatialEntityComponentTypesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialEntityComponentTypesBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21276 pub type EnumerateSpatialEntityComponentTypesBD = unsafe extern "system" fn(
21277 snapshot: SenseDataSnapshotBD,
21278 entity_id: SpatialEntityIdBD,
21279 component_type_capacity_input: u32,
21280 component_type_count_output: *mut u32,
21281 component_types: *mut SpatialEntityComponentTypeBD,
21282 ) -> Result;
21283 #[doc = "See [xrGetSpatialEntityComponentDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialEntityComponentDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21284 pub type GetSpatialEntityComponentDataBD = unsafe extern "system" fn(
21285 snapshot: SenseDataSnapshotBD,
21286 get_info: *const SpatialEntityComponentGetInfoBD,
21287 component_data: *mut SpatialEntityComponentDataBaseHeaderBD,
21288 ) -> Result;
21289 #[doc = "See [xrCreateSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21290 pub type CreateSenseDataProviderBD = unsafe extern "system" fn(
21291 session: Session,
21292 create_info: *const SenseDataProviderCreateInfoBD,
21293 provider: *mut SenseDataProviderBD,
21294 ) -> Result;
21295 #[doc = "See [xrStartSenseDataProviderAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartSenseDataProviderAsyncBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21296 pub type StartSenseDataProviderAsyncBD = unsafe extern "system" fn(
21297 provider: SenseDataProviderBD,
21298 start_info: *const SenseDataProviderStartInfoBD,
21299 future: *mut FutureEXT,
21300 ) -> Result;
21301 #[doc = "See [xrStartSenseDataProviderCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartSenseDataProviderCompleteBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21302 pub type StartSenseDataProviderCompleteBD = unsafe extern "system" fn(
21303 session: Session,
21304 future: FutureEXT,
21305 completion: *mut FutureCompletionEXT,
21306 ) -> Result;
21307 #[doc = "See [xrGetSenseDataProviderStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSenseDataProviderStateBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21308 pub type GetSenseDataProviderStateBD = unsafe extern "system" fn(
21309 provider: SenseDataProviderBD,
21310 state: *mut SenseDataProviderStateBD,
21311 ) -> Result;
21312 #[doc = "See [xrQuerySenseDataAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySenseDataAsyncBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21313 pub type QuerySenseDataAsyncBD = unsafe extern "system" fn(
21314 provider: SenseDataProviderBD,
21315 query_info: *const SenseDataQueryInfoBD,
21316 future: *mut FutureEXT,
21317 ) -> Result;
21318 #[doc = "See [xrQuerySenseDataCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySenseDataCompleteBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21319 pub type QuerySenseDataCompleteBD = unsafe extern "system" fn(
21320 provider: SenseDataProviderBD,
21321 future: FutureEXT,
21322 completion: *mut SenseDataQueryCompletionBD,
21323 ) -> Result;
21324 #[doc = "See [xrDestroySenseDataSnapshotBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySenseDataSnapshotBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21325 pub type DestroySenseDataSnapshotBD =
21326 unsafe extern "system" fn(snapshot: SenseDataSnapshotBD) -> Result;
21327 #[doc = "See [xrGetQueriedSenseDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetQueriedSenseDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21328 pub type GetQueriedSenseDataBD = unsafe extern "system" fn(
21329 snapshot: SenseDataSnapshotBD,
21330 get_info: *mut QueriedSenseDataGetInfoBD,
21331 queried_sense_data: *mut QueriedSenseDataBD,
21332 ) -> Result;
21333 #[doc = "See [xrStopSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopSenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21334 pub type StopSenseDataProviderBD =
21335 unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
21336 #[doc = "See [xrDestroySenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21337 pub type DestroySenseDataProviderBD =
21338 unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
21339 #[doc = "See [xrCreateSpatialEntityAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialEntityAnchorBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21340 pub type CreateSpatialEntityAnchorBD = unsafe extern "system" fn(
21341 provider: SenseDataProviderBD,
21342 create_info: *const SpatialEntityAnchorCreateInfoBD,
21343 anchor: *mut AnchorBD,
21344 ) -> Result;
21345 #[doc = "See [xrDestroyAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyAnchorBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21346 pub type DestroyAnchorBD = unsafe extern "system" fn(anchor: AnchorBD) -> Result;
21347 #[doc = "See [xrGetAnchorUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAnchorUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21348 pub type GetAnchorUuidBD =
21349 unsafe extern "system" fn(anchor: AnchorBD, uuid: *mut UuidEXT) -> Result;
21350 #[doc = "See [xrCreateAnchorSpaceBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAnchorSpaceBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
21351 pub type CreateAnchorSpaceBD = unsafe extern "system" fn(
21352 session: Session,
21353 create_info: *const AnchorSpaceCreateInfoBD,
21354 space: *mut Space,
21355 ) -> Result;
21356 #[doc = "See [xrCreateSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21357 pub type CreateSpatialAnchorAsyncBD = unsafe extern "system" fn(
21358 provider: SenseDataProviderBD,
21359 info: *const SpatialAnchorCreateInfoBD,
21360 future: *mut FutureEXT,
21361 ) -> Result;
21362 #[doc = "See [xrCreateSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21363 pub type CreateSpatialAnchorCompleteBD = unsafe extern "system" fn(
21364 provider: SenseDataProviderBD,
21365 future: FutureEXT,
21366 completion: *mut SpatialAnchorCreateCompletionBD,
21367 ) -> Result;
21368 #[doc = "See [xrPersistSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21369 pub type PersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
21370 provider: SenseDataProviderBD,
21371 info: *const SpatialAnchorPersistInfoBD,
21372 future: *mut FutureEXT,
21373 ) -> Result;
21374 #[doc = "See [xrPersistSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21375 pub type PersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
21376 provider: SenseDataProviderBD,
21377 future: FutureEXT,
21378 completion: *mut FutureCompletionEXT,
21379 ) -> Result;
21380 #[doc = "See [xrUnpersistSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21381 pub type UnpersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
21382 provider: SenseDataProviderBD,
21383 info: *const SpatialAnchorUnpersistInfoBD,
21384 future: *mut FutureEXT,
21385 ) -> Result;
21386 #[doc = "See [xrUnpersistSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
21387 pub type UnpersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
21388 provider: SenseDataProviderBD,
21389 future: FutureEXT,
21390 completion: *mut FutureCompletionEXT,
21391 ) -> Result;
21392 #[doc = "See [xrShareSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21393 pub type ShareSpatialAnchorAsyncBD = unsafe extern "system" fn(
21394 provider: SenseDataProviderBD,
21395 info: *const SpatialAnchorShareInfoBD,
21396 future: *mut FutureEXT,
21397 ) -> Result;
21398 #[doc = "See [xrShareSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21399 pub type ShareSpatialAnchorCompleteBD = unsafe extern "system" fn(
21400 provider: SenseDataProviderBD,
21401 future: FutureEXT,
21402 completion: *mut FutureCompletionEXT,
21403 ) -> Result;
21404 #[doc = "See [xrDownloadSharedSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDownloadSharedSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21405 pub type DownloadSharedSpatialAnchorAsyncBD = unsafe extern "system" fn(
21406 provider: SenseDataProviderBD,
21407 info: *const SharedSpatialAnchorDownloadInfoBD,
21408 future: *mut FutureEXT,
21409 ) -> Result;
21410 #[doc = "See [xrDownloadSharedSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDownloadSharedSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
21411 pub type DownloadSharedSpatialAnchorCompleteBD = unsafe extern "system" fn(
21412 provider: SenseDataProviderBD,
21413 future: FutureEXT,
21414 completion: *mut FutureCompletionEXT,
21415 ) -> Result;
21416 #[doc = "See [xrCaptureSceneAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCaptureSceneAsyncBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
21417 pub type CaptureSceneAsyncBD = unsafe extern "system" fn(
21418 provider: SenseDataProviderBD,
21419 info: *const SceneCaptureInfoBD,
21420 future: *mut FutureEXT,
21421 ) -> Result;
21422 #[doc = "See [xrCaptureSceneCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCaptureSceneCompleteBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
21423 pub type CaptureSceneCompleteBD = unsafe extern "system" fn(
21424 provider: SenseDataProviderBD,
21425 future: FutureEXT,
21426 completion: *mut FutureCompletionEXT,
21427 ) -> Result;
21428 #[doc = "See [xrResumeSimultaneousHandsAndControllersTrackingMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResumeSimultaneousHandsAndControllersTrackingMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
21429 pub type ResumeSimultaneousHandsAndControllersTrackingMETA =
21430 unsafe extern "system" fn(
21431 session: Session,
21432 resume_info: *const SimultaneousHandsAndControllersTrackingResumeInfoMETA,
21433 ) -> Result;
21434 #[doc = "See [xrPauseSimultaneousHandsAndControllersTrackingMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPauseSimultaneousHandsAndControllersTrackingMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
21435 pub type PauseSimultaneousHandsAndControllersTrackingMETA = unsafe extern "system" fn(
21436 session: Session,
21437 pause_info: *const SimultaneousHandsAndControllersTrackingPauseInfoMETA,
21438 )
21439 -> Result;
21440 #[doc = "See [xrEnumerateFacialSimulationModesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateFacialSimulationModesBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21441 pub type EnumerateFacialSimulationModesBD = unsafe extern "system" fn(
21442 session: Session,
21443 mode_capacity_input: u32,
21444 mode_count_output: *mut u32,
21445 modes: *mut FacialSimulationModeBD,
21446 ) -> Result;
21447 #[doc = "See [xrCreateFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21448 pub type CreateFaceTrackerBD = unsafe extern "system" fn(
21449 session: Session,
21450 create_info: *const FaceTrackerCreateInfoBD,
21451 tracker: *mut FaceTrackerBD,
21452 ) -> Result;
21453 #[doc = "See [xrDestroyFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21454 pub type DestroyFaceTrackerBD = unsafe extern "system" fn(tracker: FaceTrackerBD) -> Result;
21455 #[doc = "See [xrGetFacialSimulationDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialSimulationDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21456 pub type GetFacialSimulationDataBD = unsafe extern "system" fn(
21457 tracker: FaceTrackerBD,
21458 info: *const FacialSimulationDataGetInfoBD,
21459 facial_data: *mut FacialSimulationDataBD,
21460 ) -> Result;
21461 #[doc = "See [xrSetFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetFacialSimulationModeBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21462 pub type SetFacialSimulationModeBD =
21463 unsafe extern "system" fn(tracker: FaceTrackerBD, mode: FacialSimulationModeBD) -> Result;
21464 #[doc = "See [xrGetFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialSimulationModeBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21465 pub type GetFacialSimulationModeBD = unsafe extern "system" fn(
21466 tracker: FaceTrackerBD,
21467 mode: *mut FacialSimulationModeBD,
21468 ) -> Result;
21469 #[doc = "See [xrGetVulkanGraphicsRequirements2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsRequirements2KHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
21470 pub type GetVulkanGraphicsRequirements2KHR = unsafe extern "system" fn(
21471 instance: Instance,
21472 system_id: SystemId,
21473 graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
21474 ) -> Result;
21475 #[doc = "See [xrLocateSpacesKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpacesKHR)"]
21476 pub type LocateSpacesKHR = unsafe extern "system" fn(
21477 session: Session,
21478 locate_info: *const SpacesLocateInfo,
21479 space_locations: *mut SpaceLocations,
21480 ) -> Result;
21481}
21482pub const ALMALENCE_digital_lens_control_SPEC_VERSION: u32 = 1u32;
21483pub const ALMALENCE_DIGITAL_LENS_CONTROL_EXTENSION_NAME: &[u8] =
21484 b"XR_ALMALENCE_digital_lens_control\0";
21485#[cfg(target_os = "android")]
21486pub const ANDROID_trackables_SPEC_VERSION: u32 = 2u32;
21487#[cfg(target_os = "android")]
21488pub const ANDROID_TRACKABLES_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables\0";
21489#[cfg(target_os = "android")]
21490pub const ANDROID_device_anchor_persistence_SPEC_VERSION: u32 = 1u32;
21491#[cfg(target_os = "android")]
21492pub const ANDROID_DEVICE_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
21493 b"XR_ANDROID_device_anchor_persistence\0";
21494#[cfg(target_os = "android")]
21495pub const ANDROID_face_tracking_SPEC_VERSION: u32 = 1u32;
21496#[cfg(target_os = "android")]
21497pub const ANDROID_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_ANDROID_face_tracking\0";
21498#[cfg(target_os = "android")]
21499pub const ANDROID_passthrough_camera_state_SPEC_VERSION: u32 = 1u32;
21500#[cfg(target_os = "android")]
21501pub const ANDROID_PASSTHROUGH_CAMERA_STATE_EXTENSION_NAME: &[u8] =
21502 b"XR_ANDROID_passthrough_camera_state\0";
21503#[cfg(target_os = "android")]
21504pub const ANDROID_raycast_SPEC_VERSION: u32 = 1u32;
21505#[cfg(target_os = "android")]
21506pub const ANDROID_RAYCAST_EXTENSION_NAME: &[u8] = b"XR_ANDROID_raycast\0";
21507#[cfg(target_os = "android")]
21508pub const ANDROID_trackables_object_SPEC_VERSION: u32 = 2u32;
21509#[cfg(target_os = "android")]
21510pub const ANDROID_TRACKABLES_OBJECT_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_object\0";
21511#[cfg(target_os = "android")]
21512pub const ANDROID_anchor_sharing_export_SPEC_VERSION: u32 = 1u32;
21513#[cfg(target_os = "android")]
21514pub const ANDROID_ANCHOR_SHARING_EXPORT_EXTENSION_NAME: &[u8] =
21515 b"XR_ANDROID_anchor_sharing_export\0";
21516#[cfg(target_os = "android")]
21517pub const ANDROID_trackables_marker_SPEC_VERSION: u32 = 1u32;
21518#[cfg(target_os = "android")]
21519pub const ANDROID_TRACKABLES_MARKER_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_marker\0";
21520pub const BD_controller_interaction_SPEC_VERSION: u32 = 2u32;
21521pub const BD_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_BD_controller_interaction\0";
21522pub const BD_body_tracking_SPEC_VERSION: u32 = 1u32;
21523pub const BD_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_BD_body_tracking\0";
21524pub const BD_facial_simulation_SPEC_VERSION: u32 = 1u32;
21525pub const BD_FACIAL_SIMULATION_EXTENSION_NAME: &[u8] = b"XR_BD_facial_simulation\0";
21526pub const BD_spatial_sensing_SPEC_VERSION: u32 = 1u32;
21527pub const BD_SPATIAL_SENSING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_sensing\0";
21528pub const BD_spatial_anchor_SPEC_VERSION: u32 = 2u32;
21529pub const BD_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor\0";
21530pub const BD_spatial_anchor_sharing_SPEC_VERSION: u32 = 2u32;
21531pub const BD_SPATIAL_ANCHOR_SHARING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor_sharing\0";
21532pub const BD_spatial_scene_SPEC_VERSION: u32 = 1u32;
21533pub const BD_SPATIAL_SCENE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_scene\0";
21534pub const BD_spatial_mesh_SPEC_VERSION: u32 = 1u32;
21535pub const BD_SPATIAL_MESH_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_mesh\0";
21536pub const BD_future_progress_SPEC_VERSION: u32 = 1u32;
21537pub const BD_FUTURE_PROGRESS_EXTENSION_NAME: &[u8] = b"XR_BD_future_progress\0";
21538pub const BD_spatial_plane_SPEC_VERSION: u32 = 1u32;
21539pub const BD_SPATIAL_PLANE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_plane\0";
21540pub const BD_ultra_controller_interaction_SPEC_VERSION: u32 = 1u32;
21541pub const BD_ULTRA_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21542 b"XR_BD_ultra_controller_interaction\0";
21543pub const EPIC_view_configuration_fov_SPEC_VERSION: u32 = 2u32;
21544pub const EPIC_VIEW_CONFIGURATION_FOV_EXTENSION_NAME: &[u8] = b"XR_EPIC_view_configuration_fov\0";
21545pub const EXT_performance_settings_SPEC_VERSION: u32 = 4u32;
21546pub const EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_EXT_performance_settings\0";
21547pub const EXT_thermal_query_SPEC_VERSION: u32 = 2u32;
21548pub const EXT_THERMAL_QUERY_EXTENSION_NAME: &[u8] = b"XR_EXT_thermal_query\0";
21549pub const EXT_debug_utils_SPEC_VERSION: u32 = 5u32;
21550pub const EXT_DEBUG_UTILS_EXTENSION_NAME: &[u8] = b"XR_EXT_debug_utils\0";
21551pub const EXT_eye_gaze_interaction_SPEC_VERSION: u32 = 2u32;
21552pub const EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_eye_gaze_interaction\0";
21553pub const EXT_view_configuration_depth_range_SPEC_VERSION: u32 = 1u32;
21554pub const EXT_VIEW_CONFIGURATION_DEPTH_RANGE_EXTENSION_NAME: &[u8] =
21555 b"XR_EXT_view_configuration_depth_range\0";
21556pub const EXT_conformance_automation_SPEC_VERSION: u32 = 3u32;
21557pub const EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME: &[u8] = b"XR_EXT_conformance_automation\0";
21558pub const EXT_hand_tracking_SPEC_VERSION: u32 = 4u32;
21559pub const EXT_HAND_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_tracking\0";
21560#[cfg(windows)]
21561pub const EXT_win32_appcontainer_compatible_SPEC_VERSION: u32 = 1u32;
21562#[cfg(windows)]
21563pub const EXT_WIN32_APPCONTAINER_COMPATIBLE_EXTENSION_NAME: &[u8] =
21564 b"XR_EXT_win32_appcontainer_compatible\0";
21565pub const EXT_dpad_binding_SPEC_VERSION: u32 = 1u32;
21566pub const EXT_DPAD_BINDING_EXTENSION_NAME: &[u8] = b"XR_EXT_dpad_binding\0";
21567pub const EXT_hand_joints_motion_range_SPEC_VERSION: u32 = 1u32;
21568pub const EXT_HAND_JOINTS_MOTION_RANGE_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_joints_motion_range\0";
21569pub const EXT_samsung_odyssey_controller_SPEC_VERSION: u32 = 1u32;
21570pub const EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME: &[u8] =
21571 b"XR_EXT_samsung_odyssey_controller\0";
21572pub const EXT_hp_mixed_reality_controller_SPEC_VERSION: u32 = 1u32;
21573pub const EXT_HP_MIXED_REALITY_CONTROLLER_EXTENSION_NAME: &[u8] =
21574 b"XR_EXT_hp_mixed_reality_controller\0";
21575pub const EXT_palm_pose_SPEC_VERSION: u32 = 3u32;
21576pub const EXT_PALM_POSE_EXTENSION_NAME: &[u8] = b"XR_EXT_palm_pose\0";
21577pub const EXT_frame_synthesis_SPEC_VERSION: u32 = 1u32;
21578pub const EXT_FRAME_SYNTHESIS_EXTENSION_NAME: &[u8] = b"XR_EXT_frame_synthesis\0";
21579pub const EXT_uuid_SPEC_VERSION: u32 = 1u32;
21580pub const EXT_UUID_EXTENSION_NAME: &[u8] = b"XR_EXT_uuid\0";
21581pub const EXT_render_model_SPEC_VERSION: u32 = 1u32;
21582pub const EXT_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_render_model\0";
21583pub const EXT_interaction_render_model_SPEC_VERSION: u32 = 1u32;
21584pub const EXT_INTERACTION_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_interaction_render_model\0";
21585pub const EXT_hand_interaction_SPEC_VERSION: u32 = 2u32;
21586pub const EXT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_interaction\0";
21587pub const EXT_active_action_set_priority_SPEC_VERSION: u32 = 1u32;
21588pub const EXT_ACTIVE_ACTION_SET_PRIORITY_EXTENSION_NAME: &[u8] =
21589 b"XR_EXT_active_action_set_priority\0";
21590pub const EXT_local_floor_SPEC_VERSION: u32 = 1u32;
21591pub const EXT_LOCAL_FLOOR_EXTENSION_NAME: &[u8] = b"XR_EXT_local_floor\0";
21592pub const EXT_hand_tracking_data_source_SPEC_VERSION: u32 = 1u32;
21593pub const EXT_HAND_TRACKING_DATA_SOURCE_EXTENSION_NAME: &[u8] =
21594 b"XR_EXT_hand_tracking_data_source\0";
21595pub const EXT_plane_detection_SPEC_VERSION: u32 = 2u32;
21596pub const EXT_PLANE_DETECTION_EXTENSION_NAME: &[u8] = b"XR_EXT_plane_detection\0";
21597pub const EXT_future_SPEC_VERSION: u32 = 2u32;
21598pub const EXT_FUTURE_EXTENSION_NAME: &[u8] = b"XR_EXT_future\0";
21599pub const EXT_user_presence_SPEC_VERSION: u32 = 1u32;
21600pub const EXT_USER_PRESENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_user_presence\0";
21601pub const EXT_composition_layer_inverted_alpha_SPEC_VERSION: u32 = 1u32;
21602pub const EXT_COMPOSITION_LAYER_INVERTED_ALPHA_EXTENSION_NAME: &[u8] =
21603 b"XR_EXT_composition_layer_inverted_alpha\0";
21604pub const EXT_spatial_entity_SPEC_VERSION: u32 = 1u32;
21605pub const EXT_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_entity\0";
21606pub const EXT_spatial_plane_tracking_SPEC_VERSION: u32 = 1u32;
21607pub const EXT_SPATIAL_PLANE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_plane_tracking\0";
21608pub const EXT_spatial_marker_tracking_SPEC_VERSION: u32 = 1u32;
21609pub const EXT_SPATIAL_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_marker_tracking\0";
21610pub const EXT_spatial_anchor_SPEC_VERSION: u32 = 1u32;
21611pub const EXT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_anchor\0";
21612pub const EXT_spatial_persistence_SPEC_VERSION: u32 = 1u32;
21613pub const EXT_SPATIAL_PERSISTENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_persistence\0";
21614pub const EXT_spatial_persistence_operations_SPEC_VERSION: u32 = 1u32;
21615pub const EXT_SPATIAL_PERSISTENCE_OPERATIONS_EXTENSION_NAME: &[u8] =
21616 b"XR_EXT_spatial_persistence_operations\0";
21617pub const EXT_loader_init_properties_SPEC_VERSION: u32 = 1u32;
21618pub const EXT_LOADER_INIT_PROPERTIES_EXTENSION_NAME: &[u8] = b"XR_EXT_loader_init_properties\0";
21619pub const FB_composition_layer_image_layout_SPEC_VERSION: u32 = 1u32;
21620pub const FB_COMPOSITION_LAYER_IMAGE_LAYOUT_EXTENSION_NAME: &[u8] =
21621 b"XR_FB_composition_layer_image_layout\0";
21622pub const FB_composition_layer_alpha_blend_SPEC_VERSION: u32 = 3u32;
21623pub const FB_COMPOSITION_LAYER_ALPHA_BLEND_EXTENSION_NAME: &[u8] =
21624 b"XR_FB_composition_layer_alpha_blend\0";
21625#[cfg(target_os = "android")]
21626pub const FB_android_surface_swapchain_create_SPEC_VERSION: u32 = 1u32;
21627#[cfg(target_os = "android")]
21628pub const FB_ANDROID_SURFACE_SWAPCHAIN_CREATE_EXTENSION_NAME: &[u8] =
21629 b"XR_FB_android_surface_swapchain_create\0";
21630pub const FB_swapchain_update_state_SPEC_VERSION: u32 = 3u32;
21631pub const FB_SWAPCHAIN_UPDATE_STATE_EXTENSION_NAME: &[u8] = b"XR_FB_swapchain_update_state\0";
21632pub const FB_composition_layer_secure_content_SPEC_VERSION: u32 = 1u32;
21633pub const FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME: &[u8] =
21634 b"XR_FB_composition_layer_secure_content\0";
21635pub const FB_body_tracking_SPEC_VERSION: u32 = 1u32;
21636pub const FB_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_body_tracking\0";
21637pub const FB_display_refresh_rate_SPEC_VERSION: u32 = 1u32;
21638pub const FB_DISPLAY_REFRESH_RATE_EXTENSION_NAME: &[u8] = b"XR_FB_display_refresh_rate\0";
21639pub const FB_color_space_SPEC_VERSION: u32 = 3u32;
21640pub const FB_COLOR_SPACE_EXTENSION_NAME: &[u8] = b"XR_FB_color_space\0";
21641pub const FB_hand_tracking_mesh_SPEC_VERSION: u32 = 3u32;
21642pub const FB_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_mesh\0";
21643pub const FB_hand_tracking_aim_SPEC_VERSION: u32 = 2u32;
21644pub const FB_HAND_TRACKING_AIM_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_aim\0";
21645pub const FB_hand_tracking_capsules_SPEC_VERSION: u32 = 3u32;
21646pub const FB_HAND_TRACKING_CAPSULES_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_capsules\0";
21647pub const FB_spatial_entity_SPEC_VERSION: u32 = 3u32;
21648pub const FB_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity\0";
21649pub const FB_foveation_SPEC_VERSION: u32 = 1u32;
21650pub const FB_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation\0";
21651pub const FB_foveation_configuration_SPEC_VERSION: u32 = 1u32;
21652pub const FB_FOVEATION_CONFIGURATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_configuration\0";
21653pub const FB_keyboard_tracking_SPEC_VERSION: u32 = 1u32;
21654pub const FB_KEYBOARD_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_keyboard_tracking\0";
21655pub const FB_triangle_mesh_SPEC_VERSION: u32 = 2u32;
21656pub const FB_TRIANGLE_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_triangle_mesh\0";
21657pub const FB_passthrough_SPEC_VERSION: u32 = 4u32;
21658pub const FB_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_FB_passthrough\0";
21659pub const FB_render_model_SPEC_VERSION: u32 = 4u32;
21660pub const FB_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_FB_render_model\0";
21661pub const FB_spatial_entity_query_SPEC_VERSION: u32 = 1u32;
21662pub const FB_SPATIAL_ENTITY_QUERY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_query\0";
21663pub const FB_spatial_entity_storage_SPEC_VERSION: u32 = 1u32;
21664pub const FB_SPATIAL_ENTITY_STORAGE_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_storage\0";
21665pub const FB_foveation_vulkan_SPEC_VERSION: u32 = 1u32;
21666pub const FB_FOVEATION_VULKAN_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_vulkan\0";
21667#[cfg(target_os = "android")]
21668pub const FB_swapchain_update_state_android_surface_SPEC_VERSION: u32 = 1u32;
21669#[cfg(target_os = "android")]
21670pub const FB_SWAPCHAIN_UPDATE_STATE_ANDROID_SURFACE_EXTENSION_NAME: &[u8] =
21671 b"XR_FB_swapchain_update_state_android_surface\0";
21672pub const FB_swapchain_update_state_opengl_es_SPEC_VERSION: u32 = 1u32;
21673pub const FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME: &[u8] =
21674 b"XR_FB_swapchain_update_state_opengl_es\0";
21675pub const FB_swapchain_update_state_vulkan_SPEC_VERSION: u32 = 1u32;
21676pub const FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME: &[u8] =
21677 b"XR_FB_swapchain_update_state_vulkan\0";
21678pub const FB_touch_controller_pro_SPEC_VERSION: u32 = 1u32;
21679pub const FB_TOUCH_CONTROLLER_PRO_EXTENSION_NAME: &[u8] = b"XR_FB_touch_controller_pro\0";
21680pub const FB_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
21681pub const FB_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_sharing\0";
21682pub const FB_space_warp_SPEC_VERSION: u32 = 2u32;
21683pub const FB_SPACE_WARP_EXTENSION_NAME: &[u8] = b"XR_FB_space_warp\0";
21684pub const FB_haptic_amplitude_envelope_SPEC_VERSION: u32 = 1u32;
21685pub const FB_HAPTIC_AMPLITUDE_ENVELOPE_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_amplitude_envelope\0";
21686pub const FB_scene_SPEC_VERSION: u32 = 4u32;
21687pub const FB_SCENE_EXTENSION_NAME: &[u8] = b"XR_FB_scene\0";
21688pub const FB_scene_capture_SPEC_VERSION: u32 = 1u32;
21689pub const FB_SCENE_CAPTURE_EXTENSION_NAME: &[u8] = b"XR_FB_scene_capture\0";
21690pub const FB_spatial_entity_container_SPEC_VERSION: u32 = 2u32;
21691pub const FB_SPATIAL_ENTITY_CONTAINER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_container\0";
21692pub const FB_face_tracking_SPEC_VERSION: u32 = 1u32;
21693pub const FB_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking\0";
21694pub const FB_eye_tracking_social_SPEC_VERSION: u32 = 1u32;
21695pub const FB_EYE_TRACKING_SOCIAL_EXTENSION_NAME: &[u8] = b"XR_FB_eye_tracking_social\0";
21696pub const FB_passthrough_keyboard_hands_SPEC_VERSION: u32 = 2u32;
21697pub const FB_PASSTHROUGH_KEYBOARD_HANDS_EXTENSION_NAME: &[u8] =
21698 b"XR_FB_passthrough_keyboard_hands\0";
21699pub const FB_composition_layer_settings_SPEC_VERSION: u32 = 1u32;
21700pub const FB_COMPOSITION_LAYER_SETTINGS_EXTENSION_NAME: &[u8] =
21701 b"XR_FB_composition_layer_settings\0";
21702pub const FB_touch_controller_proximity_SPEC_VERSION: u32 = 1u32;
21703pub const FB_TOUCH_CONTROLLER_PROXIMITY_EXTENSION_NAME: &[u8] =
21704 b"XR_FB_touch_controller_proximity\0";
21705pub const FB_haptic_pcm_SPEC_VERSION: u32 = 1u32;
21706pub const FB_HAPTIC_PCM_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_pcm\0";
21707pub const FB_composition_layer_depth_test_SPEC_VERSION: u32 = 1u32;
21708pub const FB_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
21709 b"XR_FB_composition_layer_depth_test\0";
21710pub const FB_spatial_entity_storage_batch_SPEC_VERSION: u32 = 1u32;
21711pub const FB_SPATIAL_ENTITY_STORAGE_BATCH_EXTENSION_NAME: &[u8] =
21712 b"XR_FB_spatial_entity_storage_batch\0";
21713pub const FB_spatial_entity_user_SPEC_VERSION: u32 = 1u32;
21714pub const FB_SPATIAL_ENTITY_USER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_user\0";
21715pub const FB_face_tracking2_SPEC_VERSION: u32 = 1u32;
21716pub const FB_FACE_TRACKING2_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking2\0";
21717pub const HTC_vive_cosmos_controller_interaction_SPEC_VERSION: u32 = 1u32;
21718pub const HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21719 b"XR_HTC_vive_cosmos_controller_interaction\0";
21720pub const HTC_facial_tracking_SPEC_VERSION: u32 = 3u32;
21721pub const HTC_FACIAL_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_facial_tracking\0";
21722pub const HTC_vive_focus3_controller_interaction_SPEC_VERSION: u32 = 2u32;
21723pub const HTC_VIVE_FOCUS3_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21724 b"XR_HTC_vive_focus3_controller_interaction\0";
21725pub const HTC_hand_interaction_SPEC_VERSION: u32 = 1u32;
21726pub const HTC_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_HTC_hand_interaction\0";
21727pub const HTC_vive_wrist_tracker_interaction_SPEC_VERSION: u32 = 1u32;
21728pub const HTC_VIVE_WRIST_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
21729 b"XR_HTC_vive_wrist_tracker_interaction\0";
21730pub const HTC_passthrough_SPEC_VERSION: u32 = 1u32;
21731pub const HTC_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_HTC_passthrough\0";
21732pub const HTC_foveation_SPEC_VERSION: u32 = 1u32;
21733pub const HTC_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_HTC_foveation\0";
21734pub const HTC_anchor_SPEC_VERSION: u32 = 1u32;
21735pub const HTC_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_HTC_anchor\0";
21736pub const HTC_body_tracking_SPEC_VERSION: u32 = 1u32;
21737pub const HTC_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_body_tracking\0";
21738pub const HUAWEI_controller_interaction_SPEC_VERSION: u32 = 1u32;
21739pub const HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21740 b"XR_HUAWEI_controller_interaction\0";
21741#[cfg(target_os = "android")]
21742pub const KHR_android_thread_settings_SPEC_VERSION: u32 = 6u32;
21743#[cfg(target_os = "android")]
21744pub const KHR_ANDROID_THREAD_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_KHR_android_thread_settings\0";
21745#[cfg(target_os = "android")]
21746pub const KHR_android_surface_swapchain_SPEC_VERSION: u32 = 4u32;
21747#[cfg(target_os = "android")]
21748pub const KHR_ANDROID_SURFACE_SWAPCHAIN_EXTENSION_NAME: &[u8] =
21749 b"XR_KHR_android_surface_swapchain\0";
21750pub const KHR_composition_layer_cube_SPEC_VERSION: u32 = 8u32;
21751pub const KHR_COMPOSITION_LAYER_CUBE_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_cube\0";
21752#[cfg(target_os = "android")]
21753pub const KHR_android_create_instance_SPEC_VERSION: u32 = 3u32;
21754#[cfg(target_os = "android")]
21755pub const KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME: &[u8] = b"XR_KHR_android_create_instance\0";
21756pub const KHR_composition_layer_depth_SPEC_VERSION: u32 = 6u32;
21757pub const KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_depth\0";
21758pub const KHR_vulkan_swapchain_format_list_SPEC_VERSION: u32 = 5u32;
21759pub const KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME: &[u8] =
21760 b"XR_KHR_vulkan_swapchain_format_list\0";
21761pub const KHR_composition_layer_cylinder_SPEC_VERSION: u32 = 4u32;
21762pub const KHR_COMPOSITION_LAYER_CYLINDER_EXTENSION_NAME: &[u8] =
21763 b"XR_KHR_composition_layer_cylinder\0";
21764pub const KHR_composition_layer_equirect_SPEC_VERSION: u32 = 3u32;
21765pub const KHR_COMPOSITION_LAYER_EQUIRECT_EXTENSION_NAME: &[u8] =
21766 b"XR_KHR_composition_layer_equirect\0";
21767pub const KHR_opengl_enable_SPEC_VERSION: u32 = 12u32;
21768pub const KHR_OPENGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_enable\0";
21769pub const KHR_opengl_es_enable_SPEC_VERSION: u32 = 10u32;
21770pub const KHR_OPENGL_ES_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_es_enable\0";
21771pub const KHR_vulkan_enable_SPEC_VERSION: u32 = 10u32;
21772pub const KHR_VULKAN_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable\0";
21773#[cfg(windows)]
21774pub const KHR_D3D11_enable_SPEC_VERSION: u32 = 11u32;
21775#[cfg(windows)]
21776pub const KHR_D3D11_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D11_enable\0";
21777#[cfg(windows)]
21778pub const KHR_D3D12_enable_SPEC_VERSION: u32 = 11u32;
21779#[cfg(windows)]
21780pub const KHR_D3D12_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D12_enable\0";
21781#[cfg(target_vendor = "apple")]
21782pub const KHR_metal_enable_SPEC_VERSION: u32 = 3u32;
21783#[cfg(target_vendor = "apple")]
21784pub const KHR_METAL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_metal_enable\0";
21785pub const KHR_visibility_mask_SPEC_VERSION: u32 = 2u32;
21786pub const KHR_VISIBILITY_MASK_EXTENSION_NAME: &[u8] = b"XR_KHR_visibility_mask\0";
21787pub const KHR_composition_layer_color_scale_bias_SPEC_VERSION: u32 = 5u32;
21788pub const KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME: &[u8] =
21789 b"XR_KHR_composition_layer_color_scale_bias\0";
21790#[cfg(windows)]
21791pub const KHR_win32_convert_performance_counter_time_SPEC_VERSION: u32 = 1u32;
21792#[cfg(windows)]
21793pub const KHR_WIN32_CONVERT_PERFORMANCE_COUNTER_TIME_EXTENSION_NAME: &[u8] =
21794 b"XR_KHR_win32_convert_performance_counter_time\0";
21795pub const KHR_convert_timespec_time_SPEC_VERSION: u32 = 1u32;
21796pub const KHR_CONVERT_TIMESPEC_TIME_EXTENSION_NAME: &[u8] = b"XR_KHR_convert_timespec_time\0";
21797pub const KHR_loader_init_SPEC_VERSION: u32 = 2u32;
21798pub const KHR_LOADER_INIT_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init\0";
21799#[cfg(target_os = "android")]
21800pub const KHR_loader_init_android_SPEC_VERSION: u32 = 1u32;
21801#[cfg(target_os = "android")]
21802pub const KHR_LOADER_INIT_ANDROID_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init_android\0";
21803pub const KHR_vulkan_enable2_SPEC_VERSION: u32 = 4u32;
21804pub const KHR_VULKAN_ENABLE2_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable2\0";
21805pub const KHR_composition_layer_equirect2_SPEC_VERSION: u32 = 1u32;
21806pub const KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME: &[u8] =
21807 b"XR_KHR_composition_layer_equirect2\0";
21808pub const KHR_binding_modification_SPEC_VERSION: u32 = 1u32;
21809pub const KHR_BINDING_MODIFICATION_EXTENSION_NAME: &[u8] = b"XR_KHR_binding_modification\0";
21810pub const KHR_extended_struct_name_lengths_SPEC_VERSION: u32 = 1u32;
21811pub const KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME: &[u8] =
21812 b"XR_KHR_extended_struct_name_lengths\0";
21813pub const KHR_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 3u32;
21814pub const KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
21815 b"XR_KHR_swapchain_usage_input_attachment_bit\0";
21816pub const KHR_locate_spaces_SPEC_VERSION: u32 = 1u32;
21817pub const KHR_LOCATE_SPACES_EXTENSION_NAME: &[u8] = b"XR_KHR_locate_spaces\0";
21818pub const KHR_maintenance1_SPEC_VERSION: u32 = 1u32;
21819pub const KHR_MAINTENANCE1_EXTENSION_NAME: &[u8] = b"XR_KHR_maintenance1\0";
21820pub const KHR_generic_controller_SPEC_VERSION: u32 = 1u32;
21821pub const KHR_GENERIC_CONTROLLER_EXTENSION_NAME: &[u8] = b"XR_KHR_generic_controller\0";
21822pub const LOGITECH_mx_ink_stylus_interaction_SPEC_VERSION: u32 = 1u32;
21823pub const LOGITECH_MX_INK_STYLUS_INTERACTION_EXTENSION_NAME: &[u8] =
21824 b"XR_LOGITECH_mx_ink_stylus_interaction\0";
21825pub const META_foveation_eye_tracked_SPEC_VERSION: u32 = 1u32;
21826pub const META_FOVEATION_EYE_TRACKED_EXTENSION_NAME: &[u8] = b"XR_META_foveation_eye_tracked\0";
21827pub const META_local_dimming_SPEC_VERSION: u32 = 1u32;
21828pub const META_LOCAL_DIMMING_EXTENSION_NAME: &[u8] = b"XR_META_local_dimming\0";
21829pub const META_passthrough_preferences_SPEC_VERSION: u32 = 1u32;
21830pub const META_PASSTHROUGH_PREFERENCES_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_preferences\0";
21831pub const META_virtual_keyboard_SPEC_VERSION: u32 = 1u32;
21832pub const META_VIRTUAL_KEYBOARD_EXTENSION_NAME: &[u8] = b"XR_META_virtual_keyboard\0";
21833pub const META_vulkan_swapchain_create_info_SPEC_VERSION: u32 = 1u32;
21834pub const META_VULKAN_SWAPCHAIN_CREATE_INFO_EXTENSION_NAME: &[u8] =
21835 b"XR_META_vulkan_swapchain_create_info\0";
21836pub const META_performance_metrics_SPEC_VERSION: u32 = 2u32;
21837pub const META_PERFORMANCE_METRICS_EXTENSION_NAME: &[u8] = b"XR_META_performance_metrics\0";
21838pub const META_detached_controllers_SPEC_VERSION: u32 = 1u32;
21839pub const META_DETACHED_CONTROLLERS_EXTENSION_NAME: &[u8] = b"XR_META_detached_controllers\0";
21840pub const META_headset_id_SPEC_VERSION: u32 = 2u32;
21841pub const META_HEADSET_ID_EXTENSION_NAME: &[u8] = b"XR_META_headset_id\0";
21842pub const META_spatial_entity_discovery_SPEC_VERSION: u32 = 1u32;
21843pub const META_SPATIAL_ENTITY_DISCOVERY_EXTENSION_NAME: &[u8] =
21844 b"XR_META_spatial_entity_discovery\0";
21845pub const META_hand_tracking_microgestures_SPEC_VERSION: u32 = 1u32;
21846pub const META_HAND_TRACKING_MICROGESTURES_EXTENSION_NAME: &[u8] =
21847 b"XR_META_hand_tracking_microgestures\0";
21848pub const META_recommended_layer_resolution_SPEC_VERSION: u32 = 1u32;
21849pub const META_RECOMMENDED_LAYER_RESOLUTION_EXTENSION_NAME: &[u8] =
21850 b"XR_META_recommended_layer_resolution\0";
21851pub const META_spatial_entity_persistence_SPEC_VERSION: u32 = 1u32;
21852pub const META_SPATIAL_ENTITY_PERSISTENCE_EXTENSION_NAME: &[u8] =
21853 b"XR_META_spatial_entity_persistence\0";
21854pub const META_passthrough_color_lut_SPEC_VERSION: u32 = 1u32;
21855pub const META_PASSTHROUGH_COLOR_LUT_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_color_lut\0";
21856pub const META_spatial_entity_mesh_SPEC_VERSION: u32 = 1u32;
21857pub const META_SPATIAL_ENTITY_MESH_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_mesh\0";
21858pub const META_automatic_layer_filter_SPEC_VERSION: u32 = 1u32;
21859pub const META_AUTOMATIC_LAYER_FILTER_EXTENSION_NAME: &[u8] = b"XR_META_automatic_layer_filter\0";
21860pub const META_body_tracking_full_body_SPEC_VERSION: u32 = 1u32;
21861pub const META_BODY_TRACKING_FULL_BODY_EXTENSION_NAME: &[u8] = b"XR_META_body_tracking_full_body\0";
21862pub const META_touch_controller_plus_SPEC_VERSION: u32 = 1u32;
21863pub const META_TOUCH_CONTROLLER_PLUS_EXTENSION_NAME: &[u8] = b"XR_META_touch_controller_plus\0";
21864pub const META_passthrough_layer_resumed_event_SPEC_VERSION: u32 = 1u32;
21865pub const META_PASSTHROUGH_LAYER_RESUMED_EVENT_EXTENSION_NAME: &[u8] =
21866 b"XR_META_passthrough_layer_resumed_event\0";
21867pub const META_body_tracking_calibration_SPEC_VERSION: u32 = 1u32;
21868pub const META_BODY_TRACKING_CALIBRATION_EXTENSION_NAME: &[u8] =
21869 b"XR_META_body_tracking_calibration\0";
21870pub const META_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
21871pub const META_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_sharing\0";
21872pub const META_environment_depth_SPEC_VERSION: u32 = 2u32;
21873pub const META_ENVIRONMENT_DEPTH_EXTENSION_NAME: &[u8] = b"XR_META_environment_depth\0";
21874pub const META_simultaneous_hands_and_controllers_SPEC_VERSION: u32 = 1u32;
21875pub const META_SIMULTANEOUS_HANDS_AND_CONTROLLERS_EXTENSION_NAME: &[u8] =
21876 b"XR_META_simultaneous_hands_and_controllers\0";
21877pub const META_colocation_discovery_SPEC_VERSION: u32 = 1u32;
21878pub const META_COLOCATION_DISCOVERY_EXTENSION_NAME: &[u8] = b"XR_META_colocation_discovery\0";
21879pub const META_spatial_entity_group_sharing_SPEC_VERSION: u32 = 1u32;
21880pub const META_SPATIAL_ENTITY_GROUP_SHARING_EXTENSION_NAME: &[u8] =
21881 b"XR_META_spatial_entity_group_sharing\0";
21882pub const ML_ml2_controller_interaction_SPEC_VERSION: u32 = 1u32;
21883pub const ML_ML2_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21884 b"XR_ML_ml2_controller_interaction\0";
21885pub const ML_frame_end_info_SPEC_VERSION: u32 = 1u32;
21886pub const ML_FRAME_END_INFO_EXTENSION_NAME: &[u8] = b"XR_ML_frame_end_info\0";
21887pub const ML_global_dimmer_SPEC_VERSION: u32 = 1u32;
21888pub const ML_GLOBAL_DIMMER_EXTENSION_NAME: &[u8] = b"XR_ML_global_dimmer\0";
21889pub const ML_compat_SPEC_VERSION: u32 = 1u32;
21890pub const ML_COMPAT_EXTENSION_NAME: &[u8] = b"XR_ML_compat\0";
21891pub const ML_marker_understanding_SPEC_VERSION: u32 = 1u32;
21892pub const ML_MARKER_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_ML_marker_understanding\0";
21893pub const ML_localization_map_SPEC_VERSION: u32 = 1u32;
21894pub const ML_LOCALIZATION_MAP_EXTENSION_NAME: &[u8] = b"XR_ML_localization_map\0";
21895pub const ML_spatial_anchors_SPEC_VERSION: u32 = 1u32;
21896pub const ML_SPATIAL_ANCHORS_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors\0";
21897pub const ML_spatial_anchors_storage_SPEC_VERSION: u32 = 1u32;
21898pub const ML_SPATIAL_ANCHORS_STORAGE_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors_storage\0";
21899pub const ML_user_calibration_SPEC_VERSION: u32 = 1u32;
21900pub const ML_USER_CALIBRATION_EXTENSION_NAME: &[u8] = b"XR_ML_user_calibration\0";
21901pub const ML_system_notifications_SPEC_VERSION: u32 = 1u32;
21902pub const ML_SYSTEM_NOTIFICATIONS_EXTENSION_NAME: &[u8] = b"XR_ML_system_notifications\0";
21903pub const ML_world_mesh_detection_SPEC_VERSION: u32 = 1u32;
21904pub const ML_WORLD_MESH_DETECTION_EXTENSION_NAME: &[u8] = b"XR_ML_world_mesh_detection\0";
21905pub const ML_facial_expression_SPEC_VERSION: u32 = 1u32;
21906pub const ML_FACIAL_EXPRESSION_EXTENSION_NAME: &[u8] = b"XR_ML_facial_expression\0";
21907pub const ML_view_configuration_depth_range_change_SPEC_VERSION: u32 = 1u32;
21908pub const ML_VIEW_CONFIGURATION_DEPTH_RANGE_CHANGE_EXTENSION_NAME: &[u8] =
21909 b"XR_ML_view_configuration_depth_range_change\0";
21910pub const MND_headless_SPEC_VERSION: u32 = 3u32;
21911pub const MND_HEADLESS_EXTENSION_NAME: &[u8] = b"XR_MND_headless\0";
21912pub const MND_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 2u32;
21913pub const MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
21914 b"XR_MND_swapchain_usage_input_attachment_bit\0";
21915pub const MSFT_unbounded_reference_space_SPEC_VERSION: u32 = 1u32;
21916pub const MSFT_UNBOUNDED_REFERENCE_SPACE_EXTENSION_NAME: &[u8] =
21917 b"XR_MSFT_unbounded_reference_space\0";
21918pub const MSFT_spatial_anchor_SPEC_VERSION: u32 = 2u32;
21919pub const MSFT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_anchor\0";
21920pub const MSFT_spatial_graph_bridge_SPEC_VERSION: u32 = 2u32;
21921pub const MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_graph_bridge\0";
21922pub const MSFT_hand_interaction_SPEC_VERSION: u32 = 1u32;
21923pub const MSFT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_interaction\0";
21924pub const MSFT_hand_tracking_mesh_SPEC_VERSION: u32 = 4u32;
21925pub const MSFT_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_tracking_mesh\0";
21926pub const MSFT_secondary_view_configuration_SPEC_VERSION: u32 = 1u32;
21927pub const MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME: &[u8] =
21928 b"XR_MSFT_secondary_view_configuration\0";
21929pub const MSFT_first_person_observer_SPEC_VERSION: u32 = 1u32;
21930pub const MSFT_FIRST_PERSON_OBSERVER_EXTENSION_NAME: &[u8] = b"XR_MSFT_first_person_observer\0";
21931pub const MSFT_controller_model_SPEC_VERSION: u32 = 2u32;
21932pub const MSFT_CONTROLLER_MODEL_EXTENSION_NAME: &[u8] = b"XR_MSFT_controller_model\0";
21933#[cfg(windows)]
21934pub const MSFT_perception_anchor_interop_SPEC_VERSION: u32 = 1u32;
21935#[cfg(windows)]
21936pub const MSFT_PERCEPTION_ANCHOR_INTEROP_EXTENSION_NAME: &[u8] =
21937 b"XR_MSFT_perception_anchor_interop\0";
21938#[cfg(windows)]
21939pub const MSFT_holographic_window_attachment_SPEC_VERSION: u32 = 1u32;
21940#[cfg(windows)]
21941pub const MSFT_HOLOGRAPHIC_WINDOW_ATTACHMENT_EXTENSION_NAME: &[u8] =
21942 b"XR_MSFT_holographic_window_attachment\0";
21943pub const MSFT_composition_layer_reprojection_SPEC_VERSION: u32 = 1u32;
21944pub const MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAME: &[u8] =
21945 b"XR_MSFT_composition_layer_reprojection\0";
21946pub const MSFT_scene_understanding_SPEC_VERSION: u32 = 2u32;
21947pub const MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_understanding\0";
21948pub const MSFT_scene_understanding_serialization_SPEC_VERSION: u32 = 2u32;
21949pub const MSFT_SCENE_UNDERSTANDING_SERIALIZATION_EXTENSION_NAME: &[u8] =
21950 b"XR_MSFT_scene_understanding_serialization\0";
21951pub const MSFT_spatial_anchor_persistence_SPEC_VERSION: u32 = 2u32;
21952pub const MSFT_SPATIAL_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
21953 b"XR_MSFT_spatial_anchor_persistence\0";
21954pub const MSFT_scene_marker_SPEC_VERSION: u32 = 1u32;
21955pub const MSFT_SCENE_MARKER_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_marker\0";
21956#[cfg(target_os = "android")]
21957pub const OCULUS_android_session_state_enable_SPEC_VERSION: u32 = 1u32;
21958#[cfg(target_os = "android")]
21959pub const OCULUS_ANDROID_SESSION_STATE_ENABLE_EXTENSION_NAME: &[u8] =
21960 b"XR_OCULUS_android_session_state_enable\0";
21961pub const OCULUS_audio_device_guid_SPEC_VERSION: u32 = 1u32;
21962pub const OCULUS_AUDIO_DEVICE_GUID_EXTENSION_NAME: &[u8] = b"XR_OCULUS_audio_device_guid\0";
21963pub const OCULUS_external_camera_SPEC_VERSION: u32 = 1u32;
21964pub const OCULUS_EXTERNAL_CAMERA_EXTENSION_NAME: &[u8] = b"XR_OCULUS_external_camera\0";
21965pub const OPPO_controller_interaction_SPEC_VERSION: u32 = 1u32;
21966pub const OPPO_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_OPPO_controller_interaction\0";
21967pub const QCOM_tracking_optimization_settings_SPEC_VERSION: u32 = 1u32;
21968pub const QCOM_TRACKING_OPTIMIZATION_SETTINGS_EXTENSION_NAME: &[u8] =
21969 b"XR_QCOM_tracking_optimization_settings\0";
21970pub const ULTRALEAP_hand_tracking_forearm_SPEC_VERSION: u32 = 1u32;
21971pub const ULTRALEAP_HAND_TRACKING_FOREARM_EXTENSION_NAME: &[u8] =
21972 b"XR_ULTRALEAP_hand_tracking_forearm\0";
21973pub const VALVE_analog_threshold_SPEC_VERSION: u32 = 2u32;
21974pub const VALVE_ANALOG_THRESHOLD_EXTENSION_NAME: &[u8] = b"XR_VALVE_analog_threshold\0";
21975pub const VARJO_quad_views_SPEC_VERSION: u32 = 2u32;
21976pub const VARJO_QUAD_VIEWS_EXTENSION_NAME: &[u8] = b"XR_VARJO_quad_views\0";
21977pub const VARJO_foveated_rendering_SPEC_VERSION: u32 = 3u32;
21978pub const VARJO_FOVEATED_RENDERING_EXTENSION_NAME: &[u8] = b"XR_VARJO_foveated_rendering\0";
21979pub const VARJO_composition_layer_depth_test_SPEC_VERSION: u32 = 2u32;
21980pub const VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
21981 b"XR_VARJO_composition_layer_depth_test\0";
21982pub const VARJO_environment_depth_estimation_SPEC_VERSION: u32 = 1u32;
21983pub const VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME: &[u8] =
21984 b"XR_VARJO_environment_depth_estimation\0";
21985pub const VARJO_marker_tracking_SPEC_VERSION: u32 = 1u32;
21986pub const VARJO_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_VARJO_marker_tracking\0";
21987pub const VARJO_view_offset_SPEC_VERSION: u32 = 1u32;
21988pub const VARJO_VIEW_OFFSET_EXTENSION_NAME: &[u8] = b"XR_VARJO_view_offset\0";
21989pub const VARJO_xr4_controller_interaction_SPEC_VERSION: u32 = 2u32;
21990pub const VARJO_XR4_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
21991 b"XR_VARJO_xr4_controller_interaction\0";
21992pub const YVR_controller_interaction_SPEC_VERSION: u32 = 1u32;
21993pub const YVR_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_YVR_controller_interaction\0";
21994pub const EXTX_overlay_SPEC_VERSION: u32 = 5u32;
21995pub const EXTX_OVERLAY_EXTENSION_NAME: &[u8] = b"XR_EXTX_overlay\0";
21996pub const MNDX_egl_enable_SPEC_VERSION: u32 = 2u32;
21997pub const MNDX_EGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_MNDX_egl_enable\0";
21998pub const MNDX_force_feedback_curl_SPEC_VERSION: u32 = 1u32;
21999pub const MNDX_FORCE_FEEDBACK_CURL_EXTENSION_NAME: &[u8] = b"XR_MNDX_force_feedback_curl\0";
22000pub const HTCX_vive_tracker_interaction_SPEC_VERSION: u32 = 3u32;
22001pub const HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
22002 b"XR_HTCX_vive_tracker_interaction\0";
22003#[cfg(feature = "linked")]
22004unsafe extern "system" {
22005 #[link_name = "xrNegotiateLoaderRuntimeInterface"]
22006 pub fn negotiate_loader_runtime_interface(
22007 loader_info: *const NegotiateLoaderInfo,
22008 runtime_request: *mut NegotiateRuntimeRequest,
22009 ) -> Result;
22010 #[link_name = "xrNegotiateLoaderApiLayerInterface"]
22011 pub fn negotiate_loader_api_layer_interface(
22012 loader_info: *const NegotiateLoaderInfo,
22013 layer_name: *const c_char,
22014 api_layer_request: *mut NegotiateApiLayerRequest,
22015 ) -> Result;
22016 #[link_name = "xrCreateApiLayerInstance"]
22017 pub fn create_api_layer_instance(
22018 info: *const InstanceCreateInfo,
22019 layer_info: *const ApiLayerCreateInfo,
22020 instance: *mut Instance,
22021 ) -> Result;
22022 #[link_name = "xrGetInstanceProcAddr"]
22023 pub fn get_instance_proc_addr(
22024 instance: Instance,
22025 name: *const c_char,
22026 function: *mut Option<pfn::VoidFunction>,
22027 ) -> Result;
22028 #[link_name = "xrEnumerateApiLayerProperties"]
22029 pub fn enumerate_api_layer_properties(
22030 property_capacity_input: u32,
22031 property_count_output: *mut u32,
22032 properties: *mut ApiLayerProperties,
22033 ) -> Result;
22034 #[link_name = "xrEnumerateInstanceExtensionProperties"]
22035 pub fn enumerate_instance_extension_properties(
22036 layer_name: *const c_char,
22037 property_capacity_input: u32,
22038 property_count_output: *mut u32,
22039 properties: *mut ExtensionProperties,
22040 ) -> Result;
22041 #[link_name = "xrCreateInstance"]
22042 pub fn create_instance(
22043 create_info: *const InstanceCreateInfo,
22044 instance: *mut Instance,
22045 ) -> Result;
22046 #[link_name = "xrDestroyInstance"]
22047 pub fn destroy_instance(instance: Instance) -> Result;
22048 #[link_name = "xrResultToString"]
22049 pub fn result_to_string(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
22050 #[link_name = "xrStructureTypeToString"]
22051 pub fn structure_type_to_string(
22052 instance: Instance,
22053 value: StructureType,
22054 buffer: *mut c_char,
22055 ) -> Result;
22056 #[link_name = "xrGetInstanceProperties"]
22057 pub fn get_instance_properties(
22058 instance: Instance,
22059 instance_properties: *mut InstanceProperties,
22060 ) -> Result;
22061 #[link_name = "xrGetSystem"]
22062 pub fn get_system(
22063 instance: Instance,
22064 get_info: *const SystemGetInfo,
22065 system_id: *mut SystemId,
22066 ) -> Result;
22067 #[link_name = "xrGetSystemProperties"]
22068 pub fn get_system_properties(
22069 instance: Instance,
22070 system_id: SystemId,
22071 properties: *mut SystemProperties,
22072 ) -> Result;
22073 #[link_name = "xrCreateSession"]
22074 pub fn create_session(
22075 instance: Instance,
22076 create_info: *const SessionCreateInfo,
22077 session: *mut Session,
22078 ) -> Result;
22079 #[link_name = "xrDestroySession"]
22080 pub fn destroy_session(session: Session) -> Result;
22081 #[link_name = "xrDestroySpace"]
22082 pub fn destroy_space(space: Space) -> Result;
22083 #[link_name = "xrEnumerateSwapchainFormats"]
22084 pub fn enumerate_swapchain_formats(
22085 session: Session,
22086 format_capacity_input: u32,
22087 format_count_output: *mut u32,
22088 formats: *mut i64,
22089 ) -> Result;
22090 #[link_name = "xrCreateSwapchain"]
22091 pub fn create_swapchain(
22092 session: Session,
22093 create_info: *const SwapchainCreateInfo,
22094 swapchain: *mut Swapchain,
22095 ) -> Result;
22096 #[link_name = "xrDestroySwapchain"]
22097 pub fn destroy_swapchain(swapchain: Swapchain) -> Result;
22098 #[link_name = "xrEnumerateSwapchainImages"]
22099 pub fn enumerate_swapchain_images(
22100 swapchain: Swapchain,
22101 image_capacity_input: u32,
22102 image_count_output: *mut u32,
22103 images: *mut SwapchainImageBaseHeader,
22104 ) -> Result;
22105 #[link_name = "xrAcquireSwapchainImage"]
22106 pub fn acquire_swapchain_image(
22107 swapchain: Swapchain,
22108 acquire_info: *const SwapchainImageAcquireInfo,
22109 index: *mut u32,
22110 ) -> Result;
22111 #[link_name = "xrWaitSwapchainImage"]
22112 pub fn wait_swapchain_image(
22113 swapchain: Swapchain,
22114 wait_info: *const SwapchainImageWaitInfo,
22115 ) -> Result;
22116 #[link_name = "xrReleaseSwapchainImage"]
22117 pub fn release_swapchain_image(
22118 swapchain: Swapchain,
22119 release_info: *const SwapchainImageReleaseInfo,
22120 ) -> Result;
22121 #[link_name = "xrBeginSession"]
22122 pub fn begin_session(session: Session, begin_info: *const SessionBeginInfo) -> Result;
22123 #[link_name = "xrEndSession"]
22124 pub fn end_session(session: Session) -> Result;
22125 #[link_name = "xrRequestExitSession"]
22126 pub fn request_exit_session(session: Session) -> Result;
22127 #[link_name = "xrEnumerateReferenceSpaces"]
22128 pub fn enumerate_reference_spaces(
22129 session: Session,
22130 space_capacity_input: u32,
22131 space_count_output: *mut u32,
22132 spaces: *mut ReferenceSpaceType,
22133 ) -> Result;
22134 #[link_name = "xrCreateReferenceSpace"]
22135 pub fn create_reference_space(
22136 session: Session,
22137 create_info: *const ReferenceSpaceCreateInfo,
22138 space: *mut Space,
22139 ) -> Result;
22140 #[link_name = "xrCreateActionSpace"]
22141 pub fn create_action_space(
22142 session: Session,
22143 create_info: *const ActionSpaceCreateInfo,
22144 space: *mut Space,
22145 ) -> Result;
22146 #[link_name = "xrLocateSpace"]
22147 pub fn locate_space(
22148 space: Space,
22149 base_space: Space,
22150 time: Time,
22151 location: *mut SpaceLocation,
22152 ) -> Result;
22153 #[link_name = "xrEnumerateViewConfigurations"]
22154 pub fn enumerate_view_configurations(
22155 instance: Instance,
22156 system_id: SystemId,
22157 view_configuration_type_capacity_input: u32,
22158 view_configuration_type_count_output: *mut u32,
22159 view_configuration_types: *mut ViewConfigurationType,
22160 ) -> Result;
22161 #[link_name = "xrEnumerateEnvironmentBlendModes"]
22162 pub fn enumerate_environment_blend_modes(
22163 instance: Instance,
22164 system_id: SystemId,
22165 view_configuration_type: ViewConfigurationType,
22166 environment_blend_mode_capacity_input: u32,
22167 environment_blend_mode_count_output: *mut u32,
22168 environment_blend_modes: *mut EnvironmentBlendMode,
22169 ) -> Result;
22170 #[link_name = "xrGetViewConfigurationProperties"]
22171 pub fn get_view_configuration_properties(
22172 instance: Instance,
22173 system_id: SystemId,
22174 view_configuration_type: ViewConfigurationType,
22175 configuration_properties: *mut ViewConfigurationProperties,
22176 ) -> Result;
22177 #[link_name = "xrEnumerateViewConfigurationViews"]
22178 pub fn enumerate_view_configuration_views(
22179 instance: Instance,
22180 system_id: SystemId,
22181 view_configuration_type: ViewConfigurationType,
22182 view_capacity_input: u32,
22183 view_count_output: *mut u32,
22184 views: *mut ViewConfigurationView,
22185 ) -> Result;
22186 #[link_name = "xrBeginFrame"]
22187 pub fn begin_frame(session: Session, frame_begin_info: *const FrameBeginInfo) -> Result;
22188 #[link_name = "xrLocateViews"]
22189 pub fn locate_views(
22190 session: Session,
22191 view_locate_info: *const ViewLocateInfo,
22192 view_state: *mut ViewState,
22193 view_capacity_input: u32,
22194 view_count_output: *mut u32,
22195 views: *mut View,
22196 ) -> Result;
22197 #[link_name = "xrEndFrame"]
22198 pub fn end_frame(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
22199 #[link_name = "xrWaitFrame"]
22200 pub fn wait_frame(
22201 session: Session,
22202 frame_wait_info: *const FrameWaitInfo,
22203 frame_state: *mut FrameState,
22204 ) -> Result;
22205 #[link_name = "xrApplyHapticFeedback"]
22206 pub fn apply_haptic_feedback(
22207 session: Session,
22208 haptic_action_info: *const HapticActionInfo,
22209 haptic_feedback: *const HapticBaseHeader,
22210 ) -> Result;
22211 #[link_name = "xrStopHapticFeedback"]
22212 pub fn stop_haptic_feedback(
22213 session: Session,
22214 haptic_action_info: *const HapticActionInfo,
22215 ) -> Result;
22216 #[link_name = "xrPollEvent"]
22217 pub fn poll_event(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
22218 #[link_name = "xrStringToPath"]
22219 pub fn string_to_path(
22220 instance: Instance,
22221 path_string: *const c_char,
22222 path: *mut Path,
22223 ) -> Result;
22224 #[link_name = "xrPathToString"]
22225 pub fn path_to_string(
22226 instance: Instance,
22227 path: Path,
22228 buffer_capacity_input: u32,
22229 buffer_count_output: *mut u32,
22230 buffer: *mut c_char,
22231 ) -> Result;
22232 #[link_name = "xrGetReferenceSpaceBoundsRect"]
22233 pub fn get_reference_space_bounds_rect(
22234 session: Session,
22235 reference_space_type: ReferenceSpaceType,
22236 bounds: *mut Extent2Df,
22237 ) -> Result;
22238 #[link_name = "xrGetActionStateBoolean"]
22239 pub fn get_action_state_boolean(
22240 session: Session,
22241 get_info: *const ActionStateGetInfo,
22242 state: *mut ActionStateBoolean,
22243 ) -> Result;
22244 #[link_name = "xrGetActionStateFloat"]
22245 pub fn get_action_state_float(
22246 session: Session,
22247 get_info: *const ActionStateGetInfo,
22248 state: *mut ActionStateFloat,
22249 ) -> Result;
22250 #[link_name = "xrGetActionStateVector2f"]
22251 pub fn get_action_state_vector2f(
22252 session: Session,
22253 get_info: *const ActionStateGetInfo,
22254 state: *mut ActionStateVector2f,
22255 ) -> Result;
22256 #[link_name = "xrGetActionStatePose"]
22257 pub fn get_action_state_pose(
22258 session: Session,
22259 get_info: *const ActionStateGetInfo,
22260 state: *mut ActionStatePose,
22261 ) -> Result;
22262 #[link_name = "xrCreateActionSet"]
22263 pub fn create_action_set(
22264 instance: Instance,
22265 create_info: *const ActionSetCreateInfo,
22266 action_set: *mut ActionSet,
22267 ) -> Result;
22268 #[link_name = "xrDestroyActionSet"]
22269 pub fn destroy_action_set(action_set: ActionSet) -> Result;
22270 #[link_name = "xrCreateAction"]
22271 pub fn create_action(
22272 action_set: ActionSet,
22273 create_info: *const ActionCreateInfo,
22274 action: *mut Action,
22275 ) -> Result;
22276 #[link_name = "xrDestroyAction"]
22277 pub fn destroy_action(action: Action) -> Result;
22278 #[link_name = "xrSuggestInteractionProfileBindings"]
22279 pub fn suggest_interaction_profile_bindings(
22280 instance: Instance,
22281 suggested_bindings: *const InteractionProfileSuggestedBinding,
22282 ) -> Result;
22283 #[link_name = "xrAttachSessionActionSets"]
22284 pub fn attach_session_action_sets(
22285 session: Session,
22286 attach_info: *const SessionActionSetsAttachInfo,
22287 ) -> Result;
22288 #[link_name = "xrGetCurrentInteractionProfile"]
22289 pub fn get_current_interaction_profile(
22290 session: Session,
22291 top_level_user_path: Path,
22292 interaction_profile: *mut InteractionProfileState,
22293 ) -> Result;
22294 #[link_name = "xrSyncActions"]
22295 pub fn sync_actions(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
22296 #[link_name = "xrEnumerateBoundSourcesForAction"]
22297 pub fn enumerate_bound_sources_for_action(
22298 session: Session,
22299 enumerate_info: *const BoundSourcesForActionEnumerateInfo,
22300 source_capacity_input: u32,
22301 source_count_output: *mut u32,
22302 sources: *mut Path,
22303 ) -> Result;
22304 #[link_name = "xrGetInputSourceLocalizedName"]
22305 pub fn get_input_source_localized_name(
22306 session: Session,
22307 get_info: *const InputSourceLocalizedNameGetInfo,
22308 buffer_capacity_input: u32,
22309 buffer_count_output: *mut u32,
22310 buffer: *mut c_char,
22311 ) -> Result;
22312 #[link_name = "xrLocateSpaces"]
22313 pub fn locate_spaces(
22314 session: Session,
22315 locate_info: *const SpacesLocateInfo,
22316 space_locations: *mut SpaceLocations,
22317 ) -> Result;
22318 #[link_name = "xrLocateSpacesKHR"]
22319 pub fn locate_spaces_khr(
22320 session: Session,
22321 locate_info: *const SpacesLocateInfo,
22322 space_locations: *mut SpaceLocations,
22323 ) -> Result;
22324}