1#![doc = r" Automatically generated code; do not edit!"]
2#![allow(
3 non_upper_case_globals,
4 clippy::unreadable_literal,
5 clippy::identity_op,
6 unused,
7 clippy::derive_partial_eq_without_eq
8)]
9use crate::platform::*;
10use crate::support::*;
11use crate::*;
12use libc::{timespec, wchar_t};
13use std::fmt;
14use std::mem::MaybeUninit;
15use std::os::raw::{c_char, c_void};
16pub const CURRENT_API_VERSION: Version = Version::new(1u16, 1u16, 58u32);
17pub const EXTENSION_ENUM_BASE: usize = 1000000000usize;
18pub const EXTENSION_ENUM_STRIDE: usize = 1000usize;
19pub const NULL_PATH: usize = 0usize;
20pub const NULL_SYSTEM_ID: usize = 0usize;
21pub const NO_DURATION: usize = 0usize;
22pub const FREQUENCY_UNSPECIFIED: usize = 0usize;
23pub const MIN_COMPOSITION_LAYERS_SUPPORTED: usize = 16usize;
24pub const CURRENT_LOADER_API_LAYER_VERSION: usize = 1usize;
25pub const CURRENT_LOADER_RUNTIME_VERSION: usize = 1usize;
26pub const LOADER_INFO_STRUCT_VERSION: usize = 1usize;
27pub const API_LAYER_INFO_STRUCT_VERSION: usize = 1usize;
28pub const RUNTIME_INFO_STRUCT_VERSION: usize = 1usize;
29pub const API_LAYER_NEXT_INFO_STRUCT_VERSION: usize = 1usize;
30pub const API_LAYER_CREATE_INFO_STRUCT_VERSION: usize = 1usize;
31pub const API_LAYER_MAX_SETTINGS_PATH_SIZE: usize = 512usize;
32pub const HAND_JOINT_COUNT_EXT: usize = 26usize;
33pub const BODY_JOINT_COUNT_BD: usize = 24usize;
34pub const BODY_JOINT_WITHOUT_ARM_COUNT_BD: usize = 16usize;
35pub const NULL_CONTROLLER_MODEL_KEY_MSFT: usize = 0usize;
36pub const NULL_RENDER_MODEL_KEY_FB: usize = 0usize;
37pub const FACIAL_EXPRESSION_EYE_COUNT_HTC: usize = 14usize;
38pub const FACIAL_EXPRESSION_LIP_COUNT_HTC: usize = 37usize;
39pub const HAND_FOREARM_JOINT_COUNT_ULTRALEAP: usize = 27usize;
40pub const NULL_TRACKABLE_ANDROID: usize = 0usize;
41pub const MAX_HAPTIC_PCM_BUFFER_SIZE_FB: usize = 4000usize;
42pub const NULL_SPATIAL_ENTITY_ID_EXT: usize = 0usize;
43pub const NULL_SPATIAL_BUFFER_ID_EXT: usize = 0usize;
44pub const BODY_JOINT_COUNT_HTC: usize = 26usize;
45pub const FACE_EXPRESSION_COUNT_BD: usize = 52usize;
46pub const LIP_EXPRESSION_COUNT_BD: usize = 20usize;
47pub const MAX_EXTENSION_NAME_SIZE: usize = 128usize;
48pub const MAX_API_LAYER_NAME_SIZE: usize = 256usize;
49pub const MAX_API_LAYER_DESCRIPTION_SIZE: usize = 256usize;
50pub const MAX_SYSTEM_NAME_SIZE: usize = 256usize;
51pub const MAX_APPLICATION_NAME_SIZE: usize = 128usize;
52pub const MAX_ENGINE_NAME_SIZE: usize = 128usize;
53pub const MAX_RUNTIME_NAME_SIZE: usize = 128usize;
54pub const MAX_PATH_LENGTH: usize = 256usize;
55pub const MAX_STRUCTURE_NAME_SIZE: usize = 64usize;
56pub const MAX_RESULT_STRING_SIZE: usize = 64usize;
57pub const MAX_GRAPHICS_APIS_SUPPORTED: usize = 32usize;
58pub const MAX_ACTION_SET_NAME_SIZE: usize = 64usize;
59pub const MAX_ACTION_NAME_SIZE: usize = 64usize;
60pub const MAX_LOCALIZED_ACTION_SET_NAME_SIZE: usize = 128usize;
61pub const MAX_LOCALIZED_ACTION_NAME_SIZE: usize = 128usize;
62pub const UUID_SIZE: usize = 16usize;
63pub const GUID_SIZE_MSFT: usize = 16usize;
64pub const MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT: usize = 64usize;
65pub const HAND_TRACKING_CAPSULE_POINT_COUNT_FB: usize = 2usize;
66pub const HAND_TRACKING_CAPSULE_COUNT_FB: usize = 19usize;
67pub const MAX_KEYBOARD_TRACKING_NAME_SIZE_FB: usize = 128usize;
68pub const PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB: usize = 256usize;
69pub const MAX_RENDER_MODEL_NAME_SIZE_FB: usize = 64usize;
70pub const MAX_LOCALIZATION_MAP_NAME_LENGTH_ML: usize = 64usize;
71pub const MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT: usize = 256usize;
72pub const MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR: usize = 256usize;
73pub const MAX_AUDIO_DEVICE_STR_SIZE_OCULUS: usize = 128usize;
74pub const FOVEATION_CENTER_SIZE_META: usize = 2usize;
75pub const MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META: usize = 3992usize;
76pub const MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS: usize = 32usize;
77pub const MAX_SPACES_PER_SHARE_REQUEST_META: usize = 32usize;
78pub const UUID_SIZE_EXT: usize = 16usize;
79pub const NULL_RENDER_MODEL_ID_EXT: usize = 0usize;
80pub const MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT: usize = 64usize;
81pub const MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC: usize = 256usize;
82pub const FACE_PARAMETER_COUNT_ANDROID: usize = 68usize;
83pub const FACE_REGION_CONFIDENCE_COUNT_ANDROID: usize = 3usize;
84pub const NULL_FUTURE_EXT: usize = 0usize;
85pub const MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META: usize = 1024usize;
86#[doc = "See [XrPassthroughCameraStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCameraStateANDROID)"]
87#[repr(transparent)]
88#[derive(Copy, Clone, Eq, PartialEq, Default)]
89pub struct PassthroughCameraStateANDROID(i32);
90impl PassthroughCameraStateANDROID {
91 #[doc = "The camera has been disabled by an app, the system or the user."]
92 pub const DISABLED: PassthroughCameraStateANDROID = Self(0i32);
93 #[doc = "The camera is still coming online and not yet ready to use. The runtime may: render a black background where the passthrough video is supposed to appear."]
94 pub const INITIALIZING: PassthroughCameraStateANDROID = Self(1i32);
95 #[doc = "The camera is ready to use."]
96 pub const READY: PassthroughCameraStateANDROID = Self(2i32);
97 #[doc = "The camera is in an unrecoverable error state."]
98 pub const ERROR: PassthroughCameraStateANDROID = Self(3i32);
99 pub fn from_raw(x: i32) -> Self {
100 Self(x)
101 }
102 pub fn into_raw(self) -> i32 {
103 self.0
104 }
105}
106impl fmt::Debug for PassthroughCameraStateANDROID {
107 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
108 let name = match *self {
109 Self::DISABLED => Some("DISABLED"),
110 Self::INITIALIZING => Some("INITIALIZING"),
111 Self::READY => Some("READY"),
112 Self::ERROR => Some("ERROR"),
113 _ => None,
114 };
115 fmt_enum(fmt, self.0, name)
116 }
117}
118#[doc = "See [XrTrackableMarkerTrackingModeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerTrackingModeANDROID)"]
119#[repr(transparent)]
120#[derive(Copy, Clone, Eq, PartialEq, Default)]
121pub struct TrackableMarkerTrackingModeANDROID(i32);
122impl TrackableMarkerTrackingModeANDROID {
123 #[doc = "Tracking dynamic markers. This mode has the highest accuracy and works on moving and static markers, but also has the highest power consumption."]
124 pub const DYNAMIC: TrackableMarkerTrackingModeANDROID = Self(0i32);
125 #[doc = "Tracking static markers. This mode is primarily useful for markers that are known to be static, which leads to less power consumption in comparison to the dynamic mode."]
126 pub const STATIC: TrackableMarkerTrackingModeANDROID = Self(1i32);
127 pub fn from_raw(x: i32) -> Self {
128 Self(x)
129 }
130 pub fn into_raw(self) -> i32 {
131 self.0
132 }
133}
134impl fmt::Debug for TrackableMarkerTrackingModeANDROID {
135 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
136 let name = match *self {
137 Self::DYNAMIC => Some("DYNAMIC"),
138 Self::STATIC => Some("STATIC"),
139 _ => None,
140 };
141 fmt_enum(fmt, self.0, name)
142 }
143}
144#[doc = "See [XrTrackableMarkerDictionaryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDictionaryANDROID)"]
145#[repr(transparent)]
146#[derive(Copy, Clone, Eq, PartialEq, Default)]
147pub struct TrackableMarkerDictionaryANDROID(i32);
148impl TrackableMarkerDictionaryANDROID {
149 pub const ARUCO_4X4_50: TrackableMarkerDictionaryANDROID = Self(0i32);
150 pub const ARUCO_4X4_100: TrackableMarkerDictionaryANDROID = Self(1i32);
151 pub const ARUCO_4X4_250: TrackableMarkerDictionaryANDROID = Self(2i32);
152 pub const ARUCO_4X4_1000: TrackableMarkerDictionaryANDROID = Self(3i32);
153 pub const ARUCO_5X5_50: TrackableMarkerDictionaryANDROID = Self(4i32);
154 pub const ARUCO_5X5_100: TrackableMarkerDictionaryANDROID = Self(5i32);
155 pub const ARUCO_5X5_250: TrackableMarkerDictionaryANDROID = Self(6i32);
156 pub const ARUCO_5X5_1000: TrackableMarkerDictionaryANDROID = Self(7i32);
157 pub const ARUCO_6X6_50: TrackableMarkerDictionaryANDROID = Self(8i32);
158 pub const ARUCO_6X6_100: TrackableMarkerDictionaryANDROID = Self(9i32);
159 pub const ARUCO_6X6_250: TrackableMarkerDictionaryANDROID = Self(10i32);
160 pub const ARUCO_6X6_1000: TrackableMarkerDictionaryANDROID = Self(11i32);
161 pub const ARUCO_7X7_50: TrackableMarkerDictionaryANDROID = Self(12i32);
162 pub const ARUCO_7X7_100: TrackableMarkerDictionaryANDROID = Self(13i32);
163 pub const ARUCO_7X7_250: TrackableMarkerDictionaryANDROID = Self(14i32);
164 pub const ARUCO_7X7_1000: TrackableMarkerDictionaryANDROID = Self(15i32);
165 pub const APRILTAG_16H5: TrackableMarkerDictionaryANDROID = Self(16i32);
166 pub const APRILTAG_25H9: TrackableMarkerDictionaryANDROID = Self(17i32);
167 pub const APRILTAG_36H10: TrackableMarkerDictionaryANDROID = Self(18i32);
168 pub const APRILTAG_36H11: TrackableMarkerDictionaryANDROID = Self(19i32);
169 pub fn from_raw(x: i32) -> Self {
170 Self(x)
171 }
172 pub fn into_raw(self) -> i32 {
173 self.0
174 }
175}
176impl fmt::Debug for TrackableMarkerDictionaryANDROID {
177 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
178 let name = match *self {
179 Self::ARUCO_4X4_50 => Some("ARUCO_4X4_50"),
180 Self::ARUCO_4X4_100 => Some("ARUCO_4X4_100"),
181 Self::ARUCO_4X4_250 => Some("ARUCO_4X4_250"),
182 Self::ARUCO_4X4_1000 => Some("ARUCO_4X4_1000"),
183 Self::ARUCO_5X5_50 => Some("ARUCO_5X5_50"),
184 Self::ARUCO_5X5_100 => Some("ARUCO_5X5_100"),
185 Self::ARUCO_5X5_250 => Some("ARUCO_5X5_250"),
186 Self::ARUCO_5X5_1000 => Some("ARUCO_5X5_1000"),
187 Self::ARUCO_6X6_50 => Some("ARUCO_6X6_50"),
188 Self::ARUCO_6X6_100 => Some("ARUCO_6X6_100"),
189 Self::ARUCO_6X6_250 => Some("ARUCO_6X6_250"),
190 Self::ARUCO_6X6_1000 => Some("ARUCO_6X6_1000"),
191 Self::ARUCO_7X7_50 => Some("ARUCO_7X7_50"),
192 Self::ARUCO_7X7_100 => Some("ARUCO_7X7_100"),
193 Self::ARUCO_7X7_250 => Some("ARUCO_7X7_250"),
194 Self::ARUCO_7X7_1000 => Some("ARUCO_7X7_1000"),
195 Self::APRILTAG_16H5 => Some("APRILTAG_16H5"),
196 Self::APRILTAG_25H9 => Some("APRILTAG_25H9"),
197 Self::APRILTAG_36H10 => Some("APRILTAG_36H10"),
198 Self::APRILTAG_36H11 => Some("APRILTAG_36H11"),
199 _ => None,
200 };
201 fmt_enum(fmt, self.0, name)
202 }
203}
204#[doc = "See [XrLoaderInterfaceStructs](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInterfaceStructs)"]
205#[repr(transparent)]
206#[derive(Copy, Clone, Eq, PartialEq, Default)]
207pub struct LoaderInterfaceStructs(i32);
208impl LoaderInterfaceStructs {
209 pub const UNINTIALIZED: LoaderInterfaceStructs = Self(0i32);
210 pub const LOADER_INFO: LoaderInterfaceStructs = Self(1i32);
211 pub const API_LAYER_REQUEST: LoaderInterfaceStructs = Self(2i32);
212 pub const RUNTIME_REQUEST: LoaderInterfaceStructs = Self(3i32);
213 pub const API_LAYER_CREATE_INFO: LoaderInterfaceStructs = Self(4i32);
214 pub const API_LAYER_NEXT_INFO: LoaderInterfaceStructs = Self(5i32);
215 pub fn from_raw(x: i32) -> Self {
216 Self(x)
217 }
218 pub fn into_raw(self) -> i32 {
219 self.0
220 }
221}
222impl fmt::Debug for LoaderInterfaceStructs {
223 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
224 let name = match *self {
225 Self::UNINTIALIZED => Some("UNINTIALIZED"),
226 Self::LOADER_INFO => Some("LOADER_INFO"),
227 Self::API_LAYER_REQUEST => Some("API_LAYER_REQUEST"),
228 Self::RUNTIME_REQUEST => Some("RUNTIME_REQUEST"),
229 Self::API_LAYER_CREATE_INFO => Some("API_LAYER_CREATE_INFO"),
230 Self::API_LAYER_NEXT_INFO => Some("API_LAYER_NEXT_INFO"),
231 _ => None,
232 };
233 fmt_enum(fmt, self.0, name)
234 }
235}
236#[doc = "Structure type enumerant - see [XrStructureType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrStructureType)"]
237#[repr(transparent)]
238#[derive(Copy, Clone, Eq, PartialEq, Default)]
239pub struct StructureType(i32);
240impl StructureType {
241 pub const UNKNOWN: StructureType = Self(0i32);
242 pub const API_LAYER_PROPERTIES: StructureType = Self(1i32);
243 pub const EXTENSION_PROPERTIES: StructureType = Self(2i32);
244 pub const INSTANCE_CREATE_INFO: StructureType = Self(3i32);
245 pub const SYSTEM_GET_INFO: StructureType = Self(4i32);
246 pub const SYSTEM_PROPERTIES: StructureType = Self(5i32);
247 pub const VIEW_LOCATE_INFO: StructureType = Self(6i32);
248 pub const VIEW: StructureType = Self(7i32);
249 pub const SESSION_CREATE_INFO: StructureType = Self(8i32);
250 pub const SWAPCHAIN_CREATE_INFO: StructureType = Self(9i32);
251 pub const SESSION_BEGIN_INFO: StructureType = Self(10i32);
252 pub const VIEW_STATE: StructureType = Self(11i32);
253 pub const FRAME_END_INFO: StructureType = Self(12i32);
254 pub const HAPTIC_VIBRATION: StructureType = Self(13i32);
255 pub const EVENT_DATA_BUFFER: StructureType = Self(16i32);
256 pub const EVENT_DATA_INSTANCE_LOSS_PENDING: StructureType = Self(17i32);
257 pub const EVENT_DATA_SESSION_STATE_CHANGED: StructureType = Self(18i32);
258 pub const ACTION_STATE_BOOLEAN: StructureType = Self(23i32);
259 pub const ACTION_STATE_FLOAT: StructureType = Self(24i32);
260 pub const ACTION_STATE_VECTOR2F: StructureType = Self(25i32);
261 pub const ACTION_STATE_POSE: StructureType = Self(27i32);
262 pub const ACTION_SET_CREATE_INFO: StructureType = Self(28i32);
263 pub const ACTION_CREATE_INFO: StructureType = Self(29i32);
264 pub const INSTANCE_PROPERTIES: StructureType = Self(32i32);
265 pub const FRAME_WAIT_INFO: StructureType = Self(33i32);
266 pub const COMPOSITION_LAYER_PROJECTION: StructureType = Self(35i32);
267 pub const COMPOSITION_LAYER_QUAD: StructureType = Self(36i32);
268 pub const REFERENCE_SPACE_CREATE_INFO: StructureType = Self(37i32);
269 pub const ACTION_SPACE_CREATE_INFO: StructureType = Self(38i32);
270 pub const EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING: StructureType = Self(40i32);
271 pub const VIEW_CONFIGURATION_VIEW: StructureType = Self(41i32);
272 pub const SPACE_LOCATION: StructureType = Self(42i32);
273 pub const SPACE_VELOCITY: StructureType = Self(43i32);
274 pub const FRAME_STATE: StructureType = Self(44i32);
275 pub const VIEW_CONFIGURATION_PROPERTIES: StructureType = Self(45i32);
276 pub const FRAME_BEGIN_INFO: StructureType = Self(46i32);
277 pub const COMPOSITION_LAYER_PROJECTION_VIEW: StructureType = Self(48i32);
278 pub const EVENT_DATA_EVENTS_LOST: StructureType = Self(49i32);
279 pub const INTERACTION_PROFILE_SUGGESTED_BINDING: StructureType = Self(51i32);
280 pub const EVENT_DATA_INTERACTION_PROFILE_CHANGED: StructureType = Self(52i32);
281 pub const INTERACTION_PROFILE_STATE: StructureType = Self(53i32);
282 pub const SWAPCHAIN_IMAGE_ACQUIRE_INFO: StructureType = Self(55i32);
283 pub const SWAPCHAIN_IMAGE_WAIT_INFO: StructureType = Self(56i32);
284 pub const SWAPCHAIN_IMAGE_RELEASE_INFO: StructureType = Self(57i32);
285 pub const ACTION_STATE_GET_INFO: StructureType = Self(58i32);
286 pub const HAPTIC_ACTION_INFO: StructureType = Self(59i32);
287 pub const SESSION_ACTION_SETS_ATTACH_INFO: StructureType = Self(60i32);
288 pub const ACTIONS_SYNC_INFO: StructureType = Self(61i32);
289 pub const BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO: StructureType = Self(62i32);
290 pub const INPUT_SOURCE_LOCALIZED_NAME_GET_INFO: StructureType = Self(63i32);
291 pub const SPACES_LOCATE_INFO: StructureType = Self(1000471000i32);
292 pub const SPACE_LOCATIONS: StructureType = Self(1000471001i32);
293 pub const SPACE_VELOCITIES: StructureType = Self(1000471002i32);
294 pub const COMPOSITION_LAYER_CUBE_KHR: StructureType = Self(1000006000i32);
295 pub const INSTANCE_CREATE_INFO_ANDROID_KHR: StructureType = Self(1000008000i32);
296 pub const COMPOSITION_LAYER_DEPTH_INFO_KHR: StructureType = Self(1000010000i32);
297 pub const VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR: StructureType = Self(1000014000i32);
298 pub const EVENT_DATA_PERF_SETTINGS_EXT: StructureType = Self(1000015000i32);
299 pub const COMPOSITION_LAYER_CYLINDER_KHR: StructureType = Self(1000017000i32);
300 pub const COMPOSITION_LAYER_EQUIRECT_KHR: StructureType = Self(1000018000i32);
301 pub const DEBUG_UTILS_OBJECT_NAME_INFO_EXT: StructureType = Self(1000019000i32);
302 pub const DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: StructureType = Self(1000019001i32);
303 pub const DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: StructureType = Self(1000019002i32);
304 pub const DEBUG_UTILS_LABEL_EXT: StructureType = Self(1000019003i32);
305 pub const GRAPHICS_BINDING_OPENGL_WIN32_KHR: StructureType = Self(1000023000i32);
306 pub const GRAPHICS_BINDING_OPENGL_XLIB_KHR: StructureType = Self(1000023001i32);
307 pub const GRAPHICS_BINDING_OPENGL_XCB_KHR: StructureType = Self(1000023002i32);
308 pub const GRAPHICS_BINDING_OPENGL_WAYLAND_KHR: StructureType = Self(1000023003i32);
309 pub const SWAPCHAIN_IMAGE_OPENGL_KHR: StructureType = Self(1000023004i32);
310 pub const GRAPHICS_REQUIREMENTS_OPENGL_KHR: StructureType = Self(1000023005i32);
311 pub const GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR: StructureType = Self(1000024001i32);
312 pub const SWAPCHAIN_IMAGE_OPENGL_ES_KHR: StructureType = Self(1000024002i32);
313 pub const GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR: StructureType = Self(1000024003i32);
314 pub const GRAPHICS_BINDING_VULKAN_KHR: StructureType = Self(1000025000i32);
315 pub const SWAPCHAIN_IMAGE_VULKAN_KHR: StructureType = Self(1000025001i32);
316 pub const GRAPHICS_REQUIREMENTS_VULKAN_KHR: StructureType = Self(1000025002i32);
317 pub const GRAPHICS_BINDING_D3D11_KHR: StructureType = Self(1000027000i32);
318 pub const SWAPCHAIN_IMAGE_D3D11_KHR: StructureType = Self(1000027001i32);
319 pub const GRAPHICS_REQUIREMENTS_D3D11_KHR: StructureType = Self(1000027002i32);
320 pub const GRAPHICS_BINDING_D3D12_KHR: StructureType = Self(1000028000i32);
321 pub const SWAPCHAIN_IMAGE_D3D12_KHR: StructureType = Self(1000028001i32);
322 pub const GRAPHICS_REQUIREMENTS_D3D12_KHR: StructureType = Self(1000028002i32);
323 pub const GRAPHICS_BINDING_METAL_KHR: StructureType = Self(1000029000i32);
324 pub const SWAPCHAIN_IMAGE_METAL_KHR: StructureType = Self(1000029001i32);
325 pub const GRAPHICS_REQUIREMENTS_METAL_KHR: StructureType = Self(1000029002i32);
326 pub const SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT: StructureType = Self(1000030000i32);
327 pub const EYE_GAZE_SAMPLE_TIME_EXT: StructureType = Self(1000030001i32);
328 pub const VISIBILITY_MASK_KHR: StructureType = Self(1000031000i32);
329 pub const EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR: StructureType = Self(1000031001i32);
330 pub const SESSION_CREATE_INFO_OVERLAY_EXTX: StructureType = Self(1000033000i32);
331 pub const EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX: StructureType = Self(1000033003i32);
332 pub const COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR: StructureType = Self(1000034000i32);
333 pub const SPATIAL_ANCHOR_CREATE_INFO_MSFT: StructureType = Self(1000039000i32);
334 pub const SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000039001i32);
335 pub const COMPOSITION_LAYER_IMAGE_LAYOUT_FB: StructureType = Self(1000040000i32);
336 pub const COMPOSITION_LAYER_ALPHA_BLEND_FB: StructureType = Self(1000041001i32);
337 pub const VIEW_CONFIGURATION_DEPTH_RANGE_EXT: StructureType = Self(1000046000i32);
338 pub const GRAPHICS_BINDING_EGL_MNDX: StructureType = Self(1000048004i32);
339 pub const SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000049000i32);
340 pub const SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT: StructureType =
341 Self(1000049001i32);
342 pub const SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT: StructureType =
343 Self(1000049002i32);
344 pub const SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT: StructureType = Self(1000049003i32);
345 pub const SYSTEM_HAND_TRACKING_PROPERTIES_EXT: StructureType = Self(1000051000i32);
346 pub const HAND_TRACKER_CREATE_INFO_EXT: StructureType = Self(1000051001i32);
347 pub const HAND_JOINTS_LOCATE_INFO_EXT: StructureType = Self(1000051002i32);
348 pub const HAND_JOINT_LOCATIONS_EXT: StructureType = Self(1000051003i32);
349 pub const HAND_JOINT_VELOCITIES_EXT: StructureType = Self(1000051004i32);
350 pub const SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT: StructureType = Self(1000052000i32);
351 pub const HAND_MESH_SPACE_CREATE_INFO_MSFT: StructureType = Self(1000052001i32);
352 pub const HAND_MESH_UPDATE_INFO_MSFT: StructureType = Self(1000052002i32);
353 pub const HAND_MESH_MSFT: StructureType = Self(1000052003i32);
354 pub const HAND_POSE_TYPE_INFO_MSFT: StructureType = Self(1000052004i32);
355 pub const SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT: StructureType =
356 Self(1000053000i32);
357 pub const SECONDARY_VIEW_CONFIGURATION_STATE_MSFT: StructureType = Self(1000053001i32);
358 pub const SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT: StructureType = Self(1000053002i32);
359 pub const SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT: StructureType = Self(1000053003i32);
360 pub const SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT: StructureType = Self(1000053004i32);
361 pub const SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT: StructureType =
362 Self(1000053005i32);
363 pub const CONTROLLER_MODEL_KEY_STATE_MSFT: StructureType = Self(1000055000i32);
364 pub const CONTROLLER_MODEL_NODE_PROPERTIES_MSFT: StructureType = Self(1000055001i32);
365 pub const CONTROLLER_MODEL_PROPERTIES_MSFT: StructureType = Self(1000055002i32);
366 pub const CONTROLLER_MODEL_NODE_STATE_MSFT: StructureType = Self(1000055003i32);
367 pub const CONTROLLER_MODEL_STATE_MSFT: StructureType = Self(1000055004i32);
368 pub const VIEW_CONFIGURATION_VIEW_FOV_EPIC: StructureType = Self(1000059000i32);
369 pub const HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT: StructureType = Self(1000063000i32);
370 pub const COMPOSITION_LAYER_REPROJECTION_INFO_MSFT: StructureType = Self(1000066000i32);
371 pub const COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT: StructureType =
372 Self(1000066001i32);
373 pub const ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB: StructureType = Self(1000070000i32);
374 pub const COMPOSITION_LAYER_SECURE_CONTENT_FB: StructureType = Self(1000072000i32);
375 pub const BODY_TRACKER_CREATE_INFO_FB: StructureType = Self(1000076001i32);
376 pub const BODY_JOINTS_LOCATE_INFO_FB: StructureType = Self(1000076002i32);
377 pub const SYSTEM_BODY_TRACKING_PROPERTIES_FB: StructureType = Self(1000076004i32);
378 pub const BODY_JOINT_LOCATIONS_FB: StructureType = Self(1000076005i32);
379 pub const BODY_SKELETON_FB: StructureType = Self(1000076006i32);
380 pub const INTERACTION_PROFILE_DPAD_BINDING_EXT: StructureType = Self(1000078000i32);
381 pub const INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE: StructureType = Self(1000079000i32);
382 pub const HAND_JOINTS_MOTION_RANGE_INFO_EXT: StructureType = Self(1000080000i32);
383 pub const LOADER_INIT_INFO_ANDROID_KHR: StructureType = Self(1000089000i32);
384 pub const VULKAN_INSTANCE_CREATE_INFO_KHR: StructureType = Self(1000090000i32);
385 pub const VULKAN_DEVICE_CREATE_INFO_KHR: StructureType = Self(1000090001i32);
386 pub const VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR: StructureType = Self(1000090003i32);
387 pub const GRAPHICS_BINDING_VULKAN2_KHR: StructureType = Self::GRAPHICS_BINDING_VULKAN_KHR;
388 pub const SWAPCHAIN_IMAGE_VULKAN2_KHR: StructureType = Self::SWAPCHAIN_IMAGE_VULKAN_KHR;
389 pub const GRAPHICS_REQUIREMENTS_VULKAN2_KHR: StructureType =
390 Self::GRAPHICS_REQUIREMENTS_VULKAN_KHR;
391 pub const COMPOSITION_LAYER_EQUIRECT2_KHR: StructureType = Self(1000091000i32);
392 pub const SCENE_OBSERVER_CREATE_INFO_MSFT: StructureType = Self(1000097000i32);
393 pub const SCENE_CREATE_INFO_MSFT: StructureType = Self(1000097001i32);
394 pub const NEW_SCENE_COMPUTE_INFO_MSFT: StructureType = Self(1000097002i32);
395 pub const VISUAL_MESH_COMPUTE_LOD_INFO_MSFT: StructureType = Self(1000097003i32);
396 pub const SCENE_COMPONENTS_MSFT: StructureType = Self(1000097004i32);
397 pub const SCENE_COMPONENTS_GET_INFO_MSFT: StructureType = Self(1000097005i32);
398 pub const SCENE_COMPONENT_LOCATIONS_MSFT: StructureType = Self(1000097006i32);
399 pub const SCENE_COMPONENTS_LOCATE_INFO_MSFT: StructureType = Self(1000097007i32);
400 pub const SCENE_OBJECTS_MSFT: StructureType = Self(1000097008i32);
401 pub const SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT: StructureType = Self(1000097009i32);
402 pub const SCENE_OBJECT_TYPES_FILTER_INFO_MSFT: StructureType = Self(1000097010i32);
403 pub const SCENE_PLANES_MSFT: StructureType = Self(1000097011i32);
404 pub const SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT: StructureType = Self(1000097012i32);
405 pub const SCENE_MESHES_MSFT: StructureType = Self(1000097013i32);
406 pub const SCENE_MESH_BUFFERS_GET_INFO_MSFT: StructureType = Self(1000097014i32);
407 pub const SCENE_MESH_BUFFERS_MSFT: StructureType = Self(1000097015i32);
408 pub const SCENE_MESH_VERTEX_BUFFER_MSFT: StructureType = Self(1000097016i32);
409 pub const SCENE_MESH_INDICES_UINT32_MSFT: StructureType = Self(1000097017i32);
410 pub const SCENE_MESH_INDICES_UINT16_MSFT: StructureType = Self(1000097018i32);
411 pub const SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT: StructureType = Self(1000098000i32);
412 pub const SCENE_DESERIALIZE_INFO_MSFT: StructureType = Self(1000098001i32);
413 pub const EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB: StructureType = Self(1000101000i32);
414 pub const VIVE_TRACKER_PATHS_HTCX: StructureType = Self(1000103000i32);
415 pub const EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX: StructureType = Self(1000103001i32);
416 pub const SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC: StructureType = Self(1000104000i32);
417 pub const FACIAL_TRACKER_CREATE_INFO_HTC: StructureType = Self(1000104001i32);
418 pub const FACIAL_EXPRESSIONS_HTC: StructureType = Self(1000104002i32);
419 pub const SYSTEM_COLOR_SPACE_PROPERTIES_FB: StructureType = Self(1000108000i32);
420 pub const HAND_TRACKING_MESH_FB: StructureType = Self(1000110001i32);
421 pub const HAND_TRACKING_SCALE_FB: StructureType = Self(1000110003i32);
422 pub const HAND_TRACKING_AIM_STATE_FB: StructureType = Self(1000111001i32);
423 pub const HAND_TRACKING_CAPSULES_STATE_FB: StructureType = Self(1000112000i32);
424 pub const SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB: StructureType = Self(1000113004i32);
425 pub const SPATIAL_ANCHOR_CREATE_INFO_FB: StructureType = Self(1000113003i32);
426 pub const SPACE_COMPONENT_STATUS_SET_INFO_FB: StructureType = Self(1000113007i32);
427 pub const SPACE_COMPONENT_STATUS_FB: StructureType = Self(1000113001i32);
428 pub const EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB: StructureType = Self(1000113005i32);
429 pub const EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB: StructureType = Self(1000113006i32);
430 pub const FOVEATION_PROFILE_CREATE_INFO_FB: StructureType = Self(1000114000i32);
431 pub const SWAPCHAIN_CREATE_INFO_FOVEATION_FB: StructureType = Self(1000114001i32);
432 pub const SWAPCHAIN_STATE_FOVEATION_FB: StructureType = Self(1000114002i32);
433 pub const FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB: StructureType = Self(1000115000i32);
434 pub const KEYBOARD_SPACE_CREATE_INFO_FB: StructureType = Self(1000116009i32);
435 pub const KEYBOARD_TRACKING_QUERY_FB: StructureType = Self(1000116004i32);
436 pub const SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB: StructureType = Self(1000116002i32);
437 pub const TRIANGLE_MESH_CREATE_INFO_FB: StructureType = Self(1000117001i32);
438 pub const SYSTEM_PASSTHROUGH_PROPERTIES_FB: StructureType = Self(1000118000i32);
439 pub const PASSTHROUGH_CREATE_INFO_FB: StructureType = Self(1000118001i32);
440 pub const PASSTHROUGH_LAYER_CREATE_INFO_FB: StructureType = Self(1000118002i32);
441 pub const COMPOSITION_LAYER_PASSTHROUGH_FB: StructureType = Self(1000118003i32);
442 pub const GEOMETRY_INSTANCE_CREATE_INFO_FB: StructureType = Self(1000118004i32);
443 pub const GEOMETRY_INSTANCE_TRANSFORM_FB: StructureType = Self(1000118005i32);
444 pub const SYSTEM_PASSTHROUGH_PROPERTIES2_FB: StructureType = Self(1000118006i32);
445 pub const PASSTHROUGH_STYLE_FB: StructureType = Self(1000118020i32);
446 pub const PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB: StructureType = Self(1000118021i32);
447 pub const PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB: StructureType = Self(1000118022i32);
448 pub const PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB: StructureType = Self(1000118023i32);
449 pub const EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB: StructureType = Self(1000118030i32);
450 pub const RENDER_MODEL_PATH_INFO_FB: StructureType = Self(1000119000i32);
451 pub const RENDER_MODEL_PROPERTIES_FB: StructureType = Self(1000119001i32);
452 pub const RENDER_MODEL_BUFFER_FB: StructureType = Self(1000119002i32);
453 pub const RENDER_MODEL_LOAD_INFO_FB: StructureType = Self(1000119003i32);
454 pub const SYSTEM_RENDER_MODEL_PROPERTIES_FB: StructureType = Self(1000119004i32);
455 pub const RENDER_MODEL_CAPABILITIES_REQUEST_FB: StructureType = Self(1000119005i32);
456 pub const BINDING_MODIFICATIONS_KHR: StructureType = Self(1000120000i32);
457 pub const VIEW_LOCATE_FOVEATED_RENDERING_VARJO: StructureType = Self(1000121000i32);
458 pub const FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO: StructureType = Self(1000121001i32);
459 pub const SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO: StructureType = Self(1000121002i32);
460 pub const COMPOSITION_LAYER_DEPTH_TEST_VARJO: StructureType = Self(1000122000i32);
461 pub const SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO: StructureType = Self(1000124000i32);
462 pub const EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO: StructureType = Self(1000124001i32);
463 pub const MARKER_SPACE_CREATE_INFO_VARJO: StructureType = Self(1000124002i32);
464 pub const FRAME_END_INFO_ML: StructureType = Self(1000135000i32);
465 pub const GLOBAL_DIMMER_FRAME_END_INFO_ML: StructureType = Self(1000136000i32);
466 pub const COORDINATE_SPACE_CREATE_INFO_ML: StructureType = Self(1000137000i32);
467 pub const SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML: StructureType = Self(1000138000i32);
468 pub const MARKER_DETECTOR_CREATE_INFO_ML: StructureType = Self(1000138001i32);
469 pub const MARKER_DETECTOR_ARUCO_INFO_ML: StructureType = Self(1000138002i32);
470 pub const MARKER_DETECTOR_SIZE_INFO_ML: StructureType = Self(1000138003i32);
471 pub const MARKER_DETECTOR_APRIL_TAG_INFO_ML: StructureType = Self(1000138004i32);
472 pub const MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML: StructureType = Self(1000138005i32);
473 pub const MARKER_DETECTOR_SNAPSHOT_INFO_ML: StructureType = Self(1000138006i32);
474 pub const MARKER_DETECTOR_STATE_ML: StructureType = Self(1000138007i32);
475 pub const MARKER_SPACE_CREATE_INFO_ML: StructureType = Self(1000138008i32);
476 pub const LOCALIZATION_MAP_ML: StructureType = Self(1000139000i32);
477 pub const EVENT_DATA_LOCALIZATION_CHANGED_ML: StructureType = Self(1000139001i32);
478 pub const MAP_LOCALIZATION_REQUEST_INFO_ML: StructureType = Self(1000139002i32);
479 pub const LOCALIZATION_MAP_IMPORT_INFO_ML: StructureType = Self(1000139003i32);
480 pub const LOCALIZATION_ENABLE_EVENTS_INFO_ML: StructureType = Self(1000139004i32);
481 pub const SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML: StructureType = Self(1000140000i32);
482 pub const CREATE_SPATIAL_ANCHORS_COMPLETION_ML: StructureType = Self(1000140001i32);
483 pub const SPATIAL_ANCHOR_STATE_ML: StructureType = Self(1000140002i32);
484 pub const SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML: StructureType = Self(1000141000i32);
485 pub const SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML: StructureType = Self(1000141001i32);
486 pub const SPATIAL_ANCHORS_QUERY_COMPLETION_ML: StructureType = Self(1000141002i32);
487 pub const SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML: StructureType = Self(1000141003i32);
488 pub const SPATIAL_ANCHORS_PUBLISH_INFO_ML: StructureType = Self(1000141004i32);
489 pub const SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML: StructureType = Self(1000141005i32);
490 pub const SPATIAL_ANCHORS_DELETE_INFO_ML: StructureType = Self(1000141006i32);
491 pub const SPATIAL_ANCHORS_DELETE_COMPLETION_ML: StructureType = Self(1000141007i32);
492 pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML: StructureType = Self(1000141008i32);
493 pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML: StructureType = Self(1000141009i32);
494 pub const SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML: StructureType = Self(1000141010i32);
495 pub const SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML: StructureType = Self(1000141011i32);
496 pub const SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML: StructureType =
497 Self(1000141012i32);
498 pub const EVENT_DATA_HEADSET_FIT_CHANGED_ML: StructureType = Self(1000472000i32);
499 pub const EVENT_DATA_EYE_CALIBRATION_CHANGED_ML: StructureType = Self(1000472001i32);
500 pub const USER_CALIBRATION_ENABLE_EVENTS_INFO_ML: StructureType = Self(1000472002i32);
501 pub const SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT: StructureType = Self(1000142000i32);
502 pub const SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT: StructureType =
503 Self(1000142001i32);
504 pub const SCENE_MARKERS_MSFT: StructureType = Self(1000147000i32);
505 pub const SCENE_MARKER_TYPE_FILTER_MSFT: StructureType = Self(1000147001i32);
506 pub const SCENE_MARKER_QR_CODES_MSFT: StructureType = Self(1000147002i32);
507 pub const SPACE_QUERY_INFO_FB: StructureType = Self(1000156001i32);
508 pub const SPACE_QUERY_RESULTS_FB: StructureType = Self(1000156002i32);
509 pub const SPACE_STORAGE_LOCATION_FILTER_INFO_FB: StructureType = Self(1000156003i32);
510 pub const SPACE_UUID_FILTER_INFO_FB: StructureType = Self(1000156054i32);
511 pub const SPACE_COMPONENT_FILTER_INFO_FB: StructureType = Self(1000156052i32);
512 pub const EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB: StructureType = Self(1000156103i32);
513 pub const EVENT_DATA_SPACE_QUERY_COMPLETE_FB: StructureType = Self(1000156104i32);
514 pub const SPACE_SAVE_INFO_FB: StructureType = Self(1000158000i32);
515 pub const SPACE_ERASE_INFO_FB: StructureType = Self(1000158001i32);
516 pub const EVENT_DATA_SPACE_SAVE_COMPLETE_FB: StructureType = Self(1000158106i32);
517 pub const EVENT_DATA_SPACE_ERASE_COMPLETE_FB: StructureType = Self(1000158107i32);
518 pub const SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB: StructureType = Self(1000160000i32);
519 pub const SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB: StructureType = Self(1000161000i32);
520 pub const SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB: StructureType = Self(1000162000i32);
521 pub const SWAPCHAIN_STATE_SAMPLER_VULKAN_FB: StructureType = Self(1000163000i32);
522 pub const SPACE_SHARE_INFO_FB: StructureType = Self(1000169001i32);
523 pub const EVENT_DATA_SPACE_SHARE_COMPLETE_FB: StructureType = Self(1000169002i32);
524 pub const COMPOSITION_LAYER_SPACE_WARP_INFO_FB: StructureType = Self(1000171000i32);
525 pub const SYSTEM_SPACE_WARP_PROPERTIES_FB: StructureType = Self(1000171001i32);
526 pub const HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB: StructureType = Self(1000173001i32);
527 pub const SEMANTIC_LABELS_FB: StructureType = Self(1000175000i32);
528 pub const ROOM_LAYOUT_FB: StructureType = Self(1000175001i32);
529 pub const BOUNDARY_2D_FB: StructureType = Self(1000175002i32);
530 pub const SEMANTIC_LABELS_SUPPORT_INFO_FB: StructureType = Self(1000175010i32);
531 pub const DIGITAL_LENS_CONTROL_ALMALENCE: StructureType = Self(1000196000i32);
532 pub const EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB: StructureType = Self(1000198001i32);
533 pub const SCENE_CAPTURE_REQUEST_INFO_FB: StructureType = Self(1000198050i32);
534 pub const SPACE_CONTAINER_FB: StructureType = Self(1000199000i32);
535 pub const FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META: StructureType = Self(1000200000i32);
536 pub const FOVEATION_EYE_TRACKED_STATE_META: StructureType = Self(1000200001i32);
537 pub const SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META: StructureType = Self(1000200002i32);
538 pub const SYSTEM_FACE_TRACKING_PROPERTIES_FB: StructureType = Self(1000201004i32);
539 pub const FACE_TRACKER_CREATE_INFO_FB: StructureType = Self(1000201005i32);
540 pub const FACE_EXPRESSION_INFO_FB: StructureType = Self(1000201002i32);
541 pub const FACE_EXPRESSION_WEIGHTS_FB: StructureType = Self(1000201006i32);
542 pub const EYE_TRACKER_CREATE_INFO_FB: StructureType = Self(1000202001i32);
543 pub const EYE_GAZES_INFO_FB: StructureType = Self(1000202002i32);
544 pub const EYE_GAZES_FB: StructureType = Self(1000202003i32);
545 pub const SYSTEM_EYE_TRACKING_PROPERTIES_FB: StructureType = Self(1000202004i32);
546 pub const PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB: StructureType = Self(1000203002i32);
547 pub const COMPOSITION_LAYER_SETTINGS_FB: StructureType = Self(1000204000i32);
548 pub const HAPTIC_PCM_VIBRATION_FB: StructureType = Self(1000209001i32);
549 pub const DEVICE_PCM_SAMPLE_RATE_STATE_FB: StructureType = Self(1000209002i32);
550 pub const DEVICE_PCM_SAMPLE_RATE_GET_INFO_FB: StructureType =
551 Self::DEVICE_PCM_SAMPLE_RATE_STATE_FB;
552 pub const FRAME_SYNTHESIS_INFO_EXT: StructureType = Self(1000211000i32);
553 pub const FRAME_SYNTHESIS_CONFIG_VIEW_EXT: StructureType = Self(1000211001i32);
554 pub const COMPOSITION_LAYER_DEPTH_TEST_FB: StructureType = Self(1000212000i32);
555 pub const LOCAL_DIMMING_FRAME_END_INFO_META: StructureType = Self(1000216000i32);
556 pub const PASSTHROUGH_PREFERENCES_META: StructureType = Self(1000217000i32);
557 pub const SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META: StructureType = Self(1000219001i32);
558 pub const VIRTUAL_KEYBOARD_CREATE_INFO_META: StructureType = Self(1000219002i32);
559 pub const VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META: StructureType = Self(1000219003i32);
560 pub const VIRTUAL_KEYBOARD_LOCATION_INFO_META: StructureType = Self(1000219004i32);
561 pub const VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META: StructureType = Self(1000219005i32);
562 pub const VIRTUAL_KEYBOARD_ANIMATION_STATE_META: StructureType = Self(1000219006i32);
563 pub const VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META: StructureType = Self(1000219007i32);
564 pub const VIRTUAL_KEYBOARD_TEXTURE_DATA_META: StructureType = Self(1000219009i32);
565 pub const VIRTUAL_KEYBOARD_INPUT_INFO_META: StructureType = Self(1000219010i32);
566 pub const VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META: StructureType = Self(1000219011i32);
567 pub const EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META: StructureType = Self(1000219014i32);
568 pub const EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META: StructureType = Self(1000219015i32);
569 pub const EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META: StructureType = Self(1000219016i32);
570 pub const EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META: StructureType = Self(1000219017i32);
571 pub const EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META: StructureType = Self(1000219018i32);
572 pub const EXTERNAL_CAMERA_OCULUS: StructureType = Self(1000226000i32);
573 pub const VULKAN_SWAPCHAIN_CREATE_INFO_META: StructureType = Self(1000227000i32);
574 pub const PERFORMANCE_METRICS_STATE_META: StructureType = Self(1000232001i32);
575 pub const PERFORMANCE_METRICS_COUNTER_META: StructureType = Self(1000232002i32);
576 pub const SPACE_LIST_SAVE_INFO_FB: StructureType = Self(1000238000i32);
577 pub const EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB: StructureType = Self(1000238001i32);
578 pub const SPACE_USER_CREATE_INFO_FB: StructureType = Self(1000241001i32);
579 pub const SYSTEM_HEADSET_ID_PROPERTIES_META: StructureType = Self(1000245000i32);
580 pub const SYSTEM_SPACE_DISCOVERY_PROPERTIES_META: StructureType = Self(1000247000i32);
581 pub const SPACE_DISCOVERY_INFO_META: StructureType = Self(1000247001i32);
582 pub const SPACE_FILTER_UUID_META: StructureType = Self(1000247003i32);
583 pub const SPACE_FILTER_COMPONENT_META: StructureType = Self(1000247004i32);
584 pub const SPACE_DISCOVERY_RESULT_META: StructureType = Self(1000247005i32);
585 pub const SPACE_DISCOVERY_RESULTS_META: StructureType = Self(1000247006i32);
586 pub const EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META: StructureType =
587 Self(1000247007i32);
588 pub const EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META: StructureType = Self(1000247008i32);
589 pub const RECOMMENDED_LAYER_RESOLUTION_META: StructureType = Self(1000254000i32);
590 pub const RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META: StructureType = Self(1000254001i32);
591 pub const SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META: StructureType = Self(1000259000i32);
592 pub const SPACES_SAVE_INFO_META: StructureType = Self(1000259001i32);
593 pub const EVENT_DATA_SPACES_SAVE_RESULT_META: StructureType = Self(1000259002i32);
594 pub const SPACES_ERASE_INFO_META: StructureType = Self(1000259003i32);
595 pub const EVENT_DATA_SPACES_ERASE_RESULT_META: StructureType = Self(1000259004i32);
596 pub const SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META: StructureType = Self(1000266000i32);
597 pub const PASSTHROUGH_COLOR_LUT_CREATE_INFO_META: StructureType = Self(1000266001i32);
598 pub const PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META: StructureType = Self(1000266002i32);
599 pub const PASSTHROUGH_COLOR_MAP_LUT_META: StructureType = Self(1000266100i32);
600 pub const PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META: StructureType = Self(1000266101i32);
601 pub const SPACE_TRIANGLE_MESH_GET_INFO_META: StructureType = Self(1000269001i32);
602 pub const SPACE_TRIANGLE_MESH_META: StructureType = Self(1000269002i32);
603 pub const SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META: StructureType = Self(1000274000i32);
604 pub const EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META: StructureType = Self(1000282000i32);
605 pub const BODY_TRACKING_CALIBRATION_INFO_META: StructureType = Self(1000283002i32);
606 pub const BODY_TRACKING_CALIBRATION_STATUS_META: StructureType = Self(1000283003i32);
607 pub const SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META: StructureType = Self(1000283004i32);
608 pub const BODY_TRACKING_FIDELITY_STATUS_META: StructureType = Self(1000284000i32);
609 pub const SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META: StructureType = Self(1000284001i32);
610 pub const SYSTEM_FACE_TRACKING_PROPERTIES2_FB: StructureType = Self(1000287013i32);
611 pub const FACE_TRACKER_CREATE_INFO2_FB: StructureType = Self(1000287014i32);
612 pub const FACE_EXPRESSION_INFO2_FB: StructureType = Self(1000287015i32);
613 pub const FACE_EXPRESSION_WEIGHTS2_FB: StructureType = Self(1000287016i32);
614 pub const SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META: StructureType = Self(1000290000i32);
615 pub const SHARE_SPACES_INFO_META: StructureType = Self(1000290001i32);
616 pub const EVENT_DATA_SHARE_SPACES_COMPLETE_META: StructureType = Self(1000290002i32);
617 pub const ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META: StructureType = Self(1000291000i32);
618 pub const ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META: StructureType = Self(1000291001i32);
619 pub const ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META: StructureType = Self(1000291002i32);
620 pub const ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META: StructureType = Self(1000291003i32);
621 pub const ENVIRONMENT_DEPTH_IMAGE_VIEW_META: StructureType = Self(1000291004i32);
622 pub const ENVIRONMENT_DEPTH_IMAGE_META: StructureType = Self(1000291005i32);
623 pub const ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META: StructureType = Self(1000291006i32);
624 pub const SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META: StructureType = Self(1000291007i32);
625 pub const ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META: StructureType = Self(1000291008i32);
626 pub const RENDER_MODEL_CREATE_INFO_EXT: StructureType = Self(1000300000i32);
627 pub const RENDER_MODEL_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300001i32);
628 pub const RENDER_MODEL_PROPERTIES_EXT: StructureType = Self(1000300002i32);
629 pub const RENDER_MODEL_SPACE_CREATE_INFO_EXT: StructureType = Self(1000300003i32);
630 pub const RENDER_MODEL_STATE_GET_INFO_EXT: StructureType = Self(1000300004i32);
631 pub const RENDER_MODEL_STATE_EXT: StructureType = Self(1000300005i32);
632 pub const RENDER_MODEL_ASSET_CREATE_INFO_EXT: StructureType = Self(1000300006i32);
633 pub const RENDER_MODEL_ASSET_DATA_GET_INFO_EXT: StructureType = Self(1000300007i32);
634 pub const RENDER_MODEL_ASSET_DATA_EXT: StructureType = Self(1000300008i32);
635 pub const RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT: StructureType = Self(1000300009i32);
636 pub const RENDER_MODEL_ASSET_PROPERTIES_EXT: StructureType = Self(1000300010i32);
637 pub const INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT: StructureType = Self(1000301000i32);
638 pub const INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT: StructureType = Self(1000301001i32);
639 pub const EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT: StructureType = Self(1000301002i32);
640 pub const INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT: StructureType =
641 Self(1000301003i32);
642 pub const PASSTHROUGH_CREATE_INFO_HTC: StructureType = Self(1000317001i32);
643 pub const PASSTHROUGH_COLOR_HTC: StructureType = Self(1000317002i32);
644 pub const PASSTHROUGH_MESH_TRANSFORM_INFO_HTC: StructureType = Self(1000317003i32);
645 pub const COMPOSITION_LAYER_PASSTHROUGH_HTC: StructureType = Self(1000317004i32);
646 pub const FOVEATION_APPLY_INFO_HTC: StructureType = Self(1000318000i32);
647 pub const FOVEATION_DYNAMIC_MODE_INFO_HTC: StructureType = Self(1000318001i32);
648 pub const FOVEATION_CUSTOM_MODE_INFO_HTC: StructureType = Self(1000318002i32);
649 pub const SYSTEM_ANCHOR_PROPERTIES_HTC: StructureType = Self(1000319000i32);
650 pub const SPATIAL_ANCHOR_CREATE_INFO_HTC: StructureType = Self(1000319001i32);
651 pub const SYSTEM_BODY_TRACKING_PROPERTIES_HTC: StructureType = Self(1000320000i32);
652 pub const BODY_TRACKER_CREATE_INFO_HTC: StructureType = Self(1000320001i32);
653 pub const BODY_JOINTS_LOCATE_INFO_HTC: StructureType = Self(1000320002i32);
654 pub const BODY_JOINT_LOCATIONS_HTC: StructureType = Self(1000320003i32);
655 pub const BODY_SKELETON_HTC: StructureType = Self(1000320004i32);
656 pub const ACTIVE_ACTION_SET_PRIORITIES_EXT: StructureType = Self(1000373000i32);
657 pub const SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX: StructureType = Self(1000375000i32);
658 pub const FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX: StructureType = Self(1000375001i32);
659 pub const BODY_TRACKER_CREATE_INFO_BD: StructureType = Self(1000385001i32);
660 pub const BODY_JOINTS_LOCATE_INFO_BD: StructureType = Self(1000385002i32);
661 pub const BODY_JOINT_LOCATIONS_BD: StructureType = Self(1000385003i32);
662 pub const SYSTEM_BODY_TRACKING_PROPERTIES_BD: StructureType = Self(1000385004i32);
663 pub const SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD: StructureType = Self(1000386001i32);
664 pub const FACE_TRACKER_CREATE_INFO_BD: StructureType = Self(1000386002i32);
665 pub const FACIAL_SIMULATION_DATA_GET_INFO_BD: StructureType = Self(1000386003i32);
666 pub const FACIAL_SIMULATION_DATA_BD: StructureType = Self(1000386004i32);
667 pub const LIP_EXPRESSION_DATA_BD: StructureType = Self(1000386005i32);
668 pub const SYSTEM_SPATIAL_SENSING_PROPERTIES_BD: StructureType = Self(1000389000i32);
669 pub const SPATIAL_ENTITY_COMPONENT_GET_INFO_BD: StructureType = Self(1000389001i32);
670 pub const SPATIAL_ENTITY_LOCATION_GET_INFO_BD: StructureType = Self(1000389002i32);
671 pub const SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD: StructureType = Self(1000389003i32);
672 pub const SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD: StructureType = Self(1000389004i32);
673 pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD: StructureType = Self(1000389005i32);
674 pub const SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD: StructureType = Self(1000389006i32);
675 pub const SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD: StructureType = Self(1000389007i32);
676 pub const SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD: StructureType = Self(1000389008i32);
677 pub const SENSE_DATA_PROVIDER_CREATE_INFO_BD: StructureType = Self(1000389009i32);
678 pub const SENSE_DATA_PROVIDER_START_INFO_BD: StructureType = Self(1000389010i32);
679 pub const EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD: StructureType = Self(1000389011i32);
680 pub const EVENT_DATA_SENSE_DATA_UPDATED_BD: StructureType = Self(1000389012i32);
681 pub const SENSE_DATA_QUERY_INFO_BD: StructureType = Self(1000389013i32);
682 pub const SENSE_DATA_QUERY_COMPLETION_BD: StructureType = Self(1000389014i32);
683 pub const SENSE_DATA_FILTER_UUID_BD: StructureType = Self(1000389015i32);
684 pub const SENSE_DATA_FILTER_SEMANTIC_BD: StructureType = Self(1000389016i32);
685 pub const QUERIED_SENSE_DATA_GET_INFO_BD: StructureType = Self(1000389017i32);
686 pub const QUERIED_SENSE_DATA_BD: StructureType = Self(1000389018i32);
687 pub const SPATIAL_ENTITY_STATE_BD: StructureType = Self(1000389019i32);
688 pub const SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000389020i32);
689 pub const ANCHOR_SPACE_CREATE_INFO_BD: StructureType = Self(1000389021i32);
690 pub const SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD: StructureType = Self(1000390000i32);
691 pub const SPATIAL_ANCHOR_CREATE_INFO_BD: StructureType = Self(1000390001i32);
692 pub const SPATIAL_ANCHOR_CREATE_COMPLETION_BD: StructureType = Self(1000390002i32);
693 pub const SPATIAL_ANCHOR_PERSIST_INFO_BD: StructureType = Self(1000390003i32);
694 pub const SPATIAL_ANCHOR_UNPERSIST_INFO_BD: StructureType = Self(1000390004i32);
695 pub const SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD: StructureType = Self(1000391000i32);
696 pub const SPATIAL_ANCHOR_SHARE_INFO_BD: StructureType = Self(1000391001i32);
697 pub const SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD: StructureType = Self(1000391002i32);
698 pub const SYSTEM_SPATIAL_SCENE_PROPERTIES_BD: StructureType = Self(1000392000i32);
699 pub const SCENE_CAPTURE_INFO_BD: StructureType = Self(1000392001i32);
700 pub const SYSTEM_SPATIAL_MESH_PROPERTIES_BD: StructureType = Self(1000393000i32);
701 pub const SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD: StructureType = Self(1000393001i32);
702 pub const FUTURE_POLL_RESULT_PROGRESS_BD: StructureType = Self(1000394001i32);
703 #[doc = "XrSystemSpatialPlanePropertiesBD"]
704 pub const SYSTEM_SPATIAL_PLANE_PROPERTIES_BD: StructureType = Self(1000396000i32);
705 #[doc = "XrSpatialEntityComponentDataPlaneOrientationBD"]
706 pub const SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD: StructureType =
707 Self(1000396001i32);
708 #[doc = "XrSenseDataFilterPlaneOrientationBD"]
709 pub const SENSE_DATA_FILTER_PLANE_ORIENTATION_BD: StructureType = Self(1000396002i32);
710 pub const SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD: StructureType = Self(1000409000i32);
711 pub const AUDIO_BUFFER_BD: StructureType = Self(1000409001i32);
712 pub const SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD: StructureType = Self(1000409003i32);
713 pub const SOUND_OBJECT_SHAPE_SPHERE_BD: StructureType = Self(1000409004i32);
714 pub const SOUND_OBJECT_DISTANCE_ATTENUATION_BD: StructureType = Self(1000409005i32);
715 pub const SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD: StructureType = Self(1000409006i32);
716 pub const SOUND_OBJECT_CONFIG_BD: StructureType = Self(1000409007i32);
717 pub const SOUND_FIELD_CONFIG_BD: StructureType = Self(1000409008i32);
718 pub const SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD: StructureType = Self(1000409009i32);
719 pub const SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD: StructureType = Self(1000409010i32);
720 pub const SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD: StructureType = Self(1000409011i32);
721 pub const SOUND_TRIANGLE_MESH_BD: StructureType = Self(1000409012i32);
722 pub const SOUND_OBSTACLE_CONFIG_BD: StructureType = Self(1000409013i32);
723 pub const SOUND_OBSTACLE_MATERIAL_CONFIG_BD: StructureType = Self(1000409014i32);
724 pub const HAND_TRACKING_DATA_SOURCE_INFO_EXT: StructureType = Self(1000428000i32);
725 pub const HAND_TRACKING_DATA_SOURCE_STATE_EXT: StructureType = Self(1000428001i32);
726 pub const PLANE_DETECTOR_CREATE_INFO_EXT: StructureType = Self(1000429001i32);
727 pub const PLANE_DETECTOR_BEGIN_INFO_EXT: StructureType = Self(1000429002i32);
728 pub const PLANE_DETECTOR_GET_INFO_EXT: StructureType = Self(1000429003i32);
729 pub const PLANE_DETECTOR_LOCATIONS_EXT: StructureType = Self(1000429004i32);
730 pub const PLANE_DETECTOR_LOCATION_EXT: StructureType = Self(1000429005i32);
731 pub const PLANE_DETECTOR_POLYGON_BUFFER_EXT: StructureType = Self(1000429006i32);
732 pub const SYSTEM_PLANE_DETECTION_PROPERTIES_EXT: StructureType = Self(1000429007i32);
733 pub const TRACKABLE_GET_INFO_ANDROID: StructureType = Self(1000455000i32);
734 pub const ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000455001i32);
735 pub const TRACKABLE_PLANE_ANDROID: StructureType = Self(1000455003i32);
736 pub const TRACKABLE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000455004i32);
737 pub const SYSTEM_TRACKABLES_PROPERTIES_ANDROID: StructureType = Self(1000455005i32);
738 pub const PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID: StructureType = Self(1000457001i32);
739 pub const PERSISTED_ANCHOR_SPACE_INFO_ANDROID: StructureType = Self(1000457002i32);
740 pub const DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID: StructureType = Self(1000457003i32);
741 pub const SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID: StructureType =
742 Self(1000457004i32);
743 pub const FACE_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000458000i32);
744 pub const FACE_STATE_GET_INFO_ANDROID: StructureType = Self(1000458001i32);
745 pub const FACE_STATE_ANDROID: StructureType = Self(1000458002i32);
746 pub const SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000458003i32);
747 pub const PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID: StructureType = Self(1000460000i32);
748 pub const SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID: StructureType =
749 Self(1000460001i32);
750 pub const PASSTHROUGH_LAYER_CREATE_INFO_ANDROID: StructureType = Self(1000462000i32);
751 pub const PASSTHROUGH_LAYER_MESH_ANDROID: StructureType = Self(1000462001i32);
752 pub const COMPOSITION_LAYER_PASSTHROUGH_ANDROID: StructureType = Self(1000462002i32);
753 pub const SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID: StructureType = Self(1000462003i32);
754 pub const RAYCAST_INFO_ANDROID: StructureType = Self(1000463000i32);
755 pub const RAYCAST_HIT_RESULTS_ANDROID: StructureType = Self(1000463001i32);
756 pub const PERFORMANCE_METRICS_STATE_ANDROID: StructureType = Self(1000465000i32);
757 pub const PERFORMANCE_METRICS_COUNTER_ANDROID: StructureType = Self(1000465001i32);
758 pub const TRACKABLE_OBJECT_ANDROID: StructureType = Self(1000466000i32);
759 pub const TRACKABLE_OBJECT_CONFIGURATION_ANDROID: StructureType = Self(1000466001i32);
760 pub const FUTURE_CANCEL_INFO_EXT: StructureType = Self(1000469000i32);
761 pub const FUTURE_POLL_INFO_EXT: StructureType = Self(1000469001i32);
762 pub const FUTURE_COMPLETION_EXT: StructureType = Self(1000469002i32);
763 pub const FUTURE_POLL_RESULT_EXT: StructureType = Self(1000469003i32);
764 pub const EVENT_DATA_USER_PRESENCE_CHANGED_EXT: StructureType = Self(1000470000i32);
765 pub const SYSTEM_USER_PRESENCE_PROPERTIES_EXT: StructureType = Self(1000470001i32);
766 pub const SPACES_LOCATE_INFO_KHR: StructureType = Self::SPACES_LOCATE_INFO;
767 pub const SPACE_LOCATIONS_KHR: StructureType = Self::SPACE_LOCATIONS;
768 pub const SPACE_VELOCITIES_KHR: StructureType = Self::SPACE_VELOCITIES;
769 pub const SYSTEM_NOTIFICATIONS_SET_INFO_ML: StructureType = Self(1000473000i32);
770 pub const WORLD_MESH_DETECTOR_CREATE_INFO_ML: StructureType = Self(1000474001i32);
771 pub const WORLD_MESH_STATE_REQUEST_INFO_ML: StructureType = Self(1000474002i32);
772 pub const WORLD_MESH_BLOCK_STATE_ML: StructureType = Self(1000474003i32);
773 pub const WORLD_MESH_STATE_REQUEST_COMPLETION_ML: StructureType = Self(1000474004i32);
774 pub const WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML: StructureType = Self(1000474005i32);
775 pub const WORLD_MESH_BUFFER_SIZE_ML: StructureType = Self(1000474006i32);
776 pub const WORLD_MESH_BUFFER_ML: StructureType = Self(1000474007i32);
777 pub const WORLD_MESH_BLOCK_REQUEST_ML: StructureType = Self(1000474008i32);
778 pub const WORLD_MESH_GET_INFO_ML: StructureType = Self(1000474009i32);
779 pub const WORLD_MESH_BLOCK_ML: StructureType = Self(1000474010i32);
780 pub const WORLD_MESH_REQUEST_COMPLETION_ML: StructureType = Self(1000474011i32);
781 pub const WORLD_MESH_REQUEST_COMPLETION_INFO_ML: StructureType = Self(1000474012i32);
782 pub const SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML: StructureType = Self(1000482004i32);
783 pub const FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML: StructureType = Self(1000482005i32);
784 pub const FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML: StructureType = Self(1000482006i32);
785 pub const FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML: StructureType = Self(1000482007i32);
786 pub const SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META: StructureType =
787 Self(1000532001i32);
788 pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META: StructureType =
789 Self(1000532002i32);
790 pub const SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META: StructureType =
791 Self(1000532003i32);
792 pub const COLOCATION_DISCOVERY_START_INFO_META: StructureType = Self(1000571010i32);
793 pub const COLOCATION_DISCOVERY_STOP_INFO_META: StructureType = Self(1000571011i32);
794 pub const COLOCATION_ADVERTISEMENT_START_INFO_META: StructureType = Self(1000571012i32);
795 pub const COLOCATION_ADVERTISEMENT_STOP_INFO_META: StructureType = Self(1000571013i32);
796 pub const EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
797 Self(1000571020i32);
798 pub const EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
799 Self(1000571021i32);
800 pub const EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META: StructureType =
801 Self(1000571022i32);
802 pub const EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
803 Self(1000571023i32);
804 pub const EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META: StructureType = Self(1000571024i32);
805 pub const EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META: StructureType = Self(1000571025i32);
806 pub const EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META: StructureType =
807 Self(1000571026i32);
808 pub const SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META: StructureType = Self(1000571030i32);
809 pub const SHARE_SPACES_RECIPIENT_GROUPS_META: StructureType = Self(1000572000i32);
810 pub const SPACE_GROUP_UUID_FILTER_INFO_META: StructureType = Self(1000572001i32);
811 pub const SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META: StructureType =
812 Self(1000572100i32);
813 pub const SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META: StructureType = Self(1000592000i32);
814 pub const ENVIRONMENT_RAYCASTER_CREATE_INFO_META: StructureType = Self(1000592001i32);
815 pub const ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META: StructureType = Self(1000592002i32);
816 pub const ENVIRONMENT_RAYCAST_HIT_GET_INFO_META: StructureType = Self(1000592003i32);
817 pub const ENVIRONMENT_RAYCAST_HIT_META: StructureType = Self(1000592004i32);
818 pub const ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META: StructureType = Self(1000592005i32);
819 pub const TILE_PROPERTIES_META: StructureType = Self(1000609000i32);
820 pub const TILE_PROPERTIES_HINT_META: StructureType = Self(1000609001i32);
821 pub const ANCHOR_SHARING_INFO_ANDROID: StructureType = Self(1000701000i32);
822 pub const ANCHOR_SHARING_TOKEN_ANDROID: StructureType = Self(1000701001i32);
823 pub const SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID: StructureType = Self(1000701002i32);
824 pub const SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000707000i32);
825 pub const TRACKABLE_MARKER_CONFIGURATION_ANDROID: StructureType = Self(1000707001i32);
826 pub const TRACKABLE_MARKER_ANDROID: StructureType = Self(1000707002i32);
827 pub const SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000708000i32);
828 pub const TRACKABLE_QR_CODE_CONFIGURATION_ANDROID: StructureType = Self(1000708001i32);
829 pub const TRACKABLE_QR_CODE_ANDROID: StructureType = Self(1000708002i32);
830 pub const SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID: StructureType = Self(1000709000i32);
831 pub const TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID: StructureType = Self(1000709001i32);
832 pub const TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID: StructureType = Self(1000709002i32);
833 pub const CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID: StructureType =
834 Self(1000709003i32);
835 pub const TRACKABLE_IMAGE_CONFIGURATION_ANDROID: StructureType = Self(1000709004i32);
836 pub const TRACKABLE_IMAGE_ANDROID: StructureType = Self(1000709005i32);
837 pub const EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID: StructureType = Self(1000709006i32);
838 pub const SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID: StructureType = Self(1000718000i32);
839 pub const SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID: StructureType = Self(1000718001i32);
840 pub const SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID: StructureType = Self(1000718002i32);
841 pub const SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID: StructureType = Self(1000718003i32);
842 pub const SCENE_SUBMESH_STATE_ANDROID: StructureType = Self(1000718004i32);
843 pub const SCENE_SUBMESH_DATA_ANDROID: StructureType = Self(1000718005i32);
844 pub const SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT: StructureType = Self(1000740000i32);
845 pub const SPATIAL_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000740001i32);
846 pub const CREATE_SPATIAL_CONTEXT_COMPLETION_EXT: StructureType = Self(1000740002i32);
847 pub const SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740003i32);
848 pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT: StructureType =
849 Self(1000740004i32);
850 pub const CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT: StructureType = Self(1000740005i32);
851 pub const SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT: StructureType = Self(1000740006i32);
852 pub const SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT: StructureType = Self(1000740007i32);
853 pub const SPATIAL_BUFFER_GET_INFO_EXT: StructureType = Self(1000740008i32);
854 pub const SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT: StructureType = Self(1000740009i32);
855 pub const SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT: StructureType = Self(1000740010i32);
856 pub const SPATIAL_COMPONENT_PARENT_LIST_EXT: StructureType = Self(1000740011i32);
857 pub const SPATIAL_COMPONENT_MESH_3D_LIST_EXT: StructureType = Self(1000740012i32);
858 pub const SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT: StructureType = Self(1000740013i32);
859 pub const SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT: StructureType = Self(1000740014i32);
860 pub const EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT: StructureType = Self(1000740015i32);
861 pub const SPATIAL_FILTER_TRACKING_STATE_EXT: StructureType = Self(1000740016i32);
862 pub const SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT: StructureType =
863 Self(1000741000i32);
864 pub const SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT: StructureType = Self(1000741001i32);
865 pub const SPATIAL_COMPONENT_MESH_2D_LIST_EXT: StructureType = Self(1000741002i32);
866 pub const SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT: StructureType = Self(1000741003i32);
867 pub const SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT: StructureType = Self(1000741004i32);
868 pub const SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT: StructureType = Self(1000743000i32);
869 pub const SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT: StructureType =
870 Self(1000743001i32);
871 pub const SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT: StructureType =
872 Self(1000743002i32);
873 pub const SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT: StructureType = Self(1000743003i32);
874 pub const SPATIAL_MARKER_SIZE_EXT: StructureType = Self(1000743004i32);
875 pub const SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT: StructureType = Self(1000743005i32);
876 pub const SPATIAL_COMPONENT_MARKER_LIST_EXT: StructureType = Self(1000743006i32);
877 pub const SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT: StructureType = Self(1000762000i32);
878 pub const SPATIAL_COMPONENT_ANCHOR_LIST_EXT: StructureType = Self(1000762001i32);
879 pub const SPATIAL_ANCHOR_CREATE_INFO_EXT: StructureType = Self(1000762002i32);
880 pub const SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT: StructureType = Self(1000763000i32);
881 pub const CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT: StructureType =
882 Self(1000763001i32);
883 pub const SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT: StructureType = Self(1000763002i32);
884 pub const SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT: StructureType = Self(1000763003i32);
885 pub const SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT: StructureType = Self(1000763004i32);
886 pub const SPATIAL_ENTITY_PERSIST_INFO_EXT: StructureType = Self(1000781000i32);
887 pub const PERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781001i32);
888 pub const SPATIAL_ENTITY_UNPERSIST_INFO_EXT: StructureType = Self(1000781002i32);
889 pub const UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT: StructureType = Self(1000781003i32);
890 pub const SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID: StructureType =
891 Self(1000785000i32);
892 pub const SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID: StructureType =
893 Self(1000785001i32);
894 pub const SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID: StructureType =
895 Self(1000786000i32);
896 pub const SPATIAL_RAYCAST_INFO_ANDROID: StructureType = Self(1000786001i32);
897 pub const SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID: StructureType = Self(1000786002i32);
898 pub const SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID: StructureType = Self(1000786003i32);
899 pub const SPATIAL_ANCHOR_PARENT_ANDROID: StructureType = Self(1000790000i32);
900 pub const SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID: StructureType = Self(1000791001i32);
901 pub const SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID: StructureType = Self(1000791002i32);
902 pub const SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID: StructureType = Self(1000795000i32);
903 pub const BATTERY_STATE_DISPLAY_EXT: StructureType = Self(1000836000i32);
904 pub const LOADER_INIT_INFO_PROPERTIES_EXT: StructureType = Self(1000838000i32);
905 pub const EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT: StructureType = Self(1000839000i32);
906 pub fn from_raw(x: i32) -> Self {
907 Self(x)
908 }
909 pub fn into_raw(self) -> i32 {
910 self.0
911 }
912}
913impl fmt::Debug for StructureType {
914 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
915 let name = match *self {
916 Self::UNKNOWN => Some("UNKNOWN"),
917 Self::API_LAYER_PROPERTIES => Some("API_LAYER_PROPERTIES"),
918 Self::EXTENSION_PROPERTIES => Some("EXTENSION_PROPERTIES"),
919 Self::INSTANCE_CREATE_INFO => Some("INSTANCE_CREATE_INFO"),
920 Self::SYSTEM_GET_INFO => Some("SYSTEM_GET_INFO"),
921 Self::SYSTEM_PROPERTIES => Some("SYSTEM_PROPERTIES"),
922 Self::VIEW_LOCATE_INFO => Some("VIEW_LOCATE_INFO"),
923 Self::VIEW => Some("VIEW"),
924 Self::SESSION_CREATE_INFO => Some("SESSION_CREATE_INFO"),
925 Self::SWAPCHAIN_CREATE_INFO => Some("SWAPCHAIN_CREATE_INFO"),
926 Self::SESSION_BEGIN_INFO => Some("SESSION_BEGIN_INFO"),
927 Self::VIEW_STATE => Some("VIEW_STATE"),
928 Self::FRAME_END_INFO => Some("FRAME_END_INFO"),
929 Self::HAPTIC_VIBRATION => Some("HAPTIC_VIBRATION"),
930 Self::EVENT_DATA_BUFFER => Some("EVENT_DATA_BUFFER"),
931 Self::EVENT_DATA_INSTANCE_LOSS_PENDING => Some("EVENT_DATA_INSTANCE_LOSS_PENDING"),
932 Self::EVENT_DATA_SESSION_STATE_CHANGED => Some("EVENT_DATA_SESSION_STATE_CHANGED"),
933 Self::ACTION_STATE_BOOLEAN => Some("ACTION_STATE_BOOLEAN"),
934 Self::ACTION_STATE_FLOAT => Some("ACTION_STATE_FLOAT"),
935 Self::ACTION_STATE_VECTOR2F => Some("ACTION_STATE_VECTOR2F"),
936 Self::ACTION_STATE_POSE => Some("ACTION_STATE_POSE"),
937 Self::ACTION_SET_CREATE_INFO => Some("ACTION_SET_CREATE_INFO"),
938 Self::ACTION_CREATE_INFO => Some("ACTION_CREATE_INFO"),
939 Self::INSTANCE_PROPERTIES => Some("INSTANCE_PROPERTIES"),
940 Self::FRAME_WAIT_INFO => Some("FRAME_WAIT_INFO"),
941 Self::COMPOSITION_LAYER_PROJECTION => Some("COMPOSITION_LAYER_PROJECTION"),
942 Self::COMPOSITION_LAYER_QUAD => Some("COMPOSITION_LAYER_QUAD"),
943 Self::REFERENCE_SPACE_CREATE_INFO => Some("REFERENCE_SPACE_CREATE_INFO"),
944 Self::ACTION_SPACE_CREATE_INFO => Some("ACTION_SPACE_CREATE_INFO"),
945 Self::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING => {
946 Some("EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING")
947 }
948 Self::VIEW_CONFIGURATION_VIEW => Some("VIEW_CONFIGURATION_VIEW"),
949 Self::SPACE_LOCATION => Some("SPACE_LOCATION"),
950 Self::SPACE_VELOCITY => Some("SPACE_VELOCITY"),
951 Self::FRAME_STATE => Some("FRAME_STATE"),
952 Self::VIEW_CONFIGURATION_PROPERTIES => Some("VIEW_CONFIGURATION_PROPERTIES"),
953 Self::FRAME_BEGIN_INFO => Some("FRAME_BEGIN_INFO"),
954 Self::COMPOSITION_LAYER_PROJECTION_VIEW => Some("COMPOSITION_LAYER_PROJECTION_VIEW"),
955 Self::EVENT_DATA_EVENTS_LOST => Some("EVENT_DATA_EVENTS_LOST"),
956 Self::INTERACTION_PROFILE_SUGGESTED_BINDING => {
957 Some("INTERACTION_PROFILE_SUGGESTED_BINDING")
958 }
959 Self::EVENT_DATA_INTERACTION_PROFILE_CHANGED => {
960 Some("EVENT_DATA_INTERACTION_PROFILE_CHANGED")
961 }
962 Self::INTERACTION_PROFILE_STATE => Some("INTERACTION_PROFILE_STATE"),
963 Self::SWAPCHAIN_IMAGE_ACQUIRE_INFO => Some("SWAPCHAIN_IMAGE_ACQUIRE_INFO"),
964 Self::SWAPCHAIN_IMAGE_WAIT_INFO => Some("SWAPCHAIN_IMAGE_WAIT_INFO"),
965 Self::SWAPCHAIN_IMAGE_RELEASE_INFO => Some("SWAPCHAIN_IMAGE_RELEASE_INFO"),
966 Self::ACTION_STATE_GET_INFO => Some("ACTION_STATE_GET_INFO"),
967 Self::HAPTIC_ACTION_INFO => Some("HAPTIC_ACTION_INFO"),
968 Self::SESSION_ACTION_SETS_ATTACH_INFO => Some("SESSION_ACTION_SETS_ATTACH_INFO"),
969 Self::ACTIONS_SYNC_INFO => Some("ACTIONS_SYNC_INFO"),
970 Self::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO => {
971 Some("BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO")
972 }
973 Self::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO => {
974 Some("INPUT_SOURCE_LOCALIZED_NAME_GET_INFO")
975 }
976 Self::SPACES_LOCATE_INFO => Some("SPACES_LOCATE_INFO"),
977 Self::SPACE_LOCATIONS => Some("SPACE_LOCATIONS"),
978 Self::SPACE_VELOCITIES => Some("SPACE_VELOCITIES"),
979 Self::COMPOSITION_LAYER_CUBE_KHR => Some("COMPOSITION_LAYER_CUBE_KHR"),
980 Self::INSTANCE_CREATE_INFO_ANDROID_KHR => Some("INSTANCE_CREATE_INFO_ANDROID_KHR"),
981 Self::COMPOSITION_LAYER_DEPTH_INFO_KHR => Some("COMPOSITION_LAYER_DEPTH_INFO_KHR"),
982 Self::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR => {
983 Some("VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR")
984 }
985 Self::EVENT_DATA_PERF_SETTINGS_EXT => Some("EVENT_DATA_PERF_SETTINGS_EXT"),
986 Self::COMPOSITION_LAYER_CYLINDER_KHR => Some("COMPOSITION_LAYER_CYLINDER_KHR"),
987 Self::COMPOSITION_LAYER_EQUIRECT_KHR => Some("COMPOSITION_LAYER_EQUIRECT_KHR"),
988 Self::DEBUG_UTILS_OBJECT_NAME_INFO_EXT => Some("DEBUG_UTILS_OBJECT_NAME_INFO_EXT"),
989 Self::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT => {
990 Some("DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT")
991 }
992 Self::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT => {
993 Some("DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT")
994 }
995 Self::DEBUG_UTILS_LABEL_EXT => Some("DEBUG_UTILS_LABEL_EXT"),
996 Self::GRAPHICS_BINDING_OPENGL_WIN32_KHR => Some("GRAPHICS_BINDING_OPENGL_WIN32_KHR"),
997 Self::GRAPHICS_BINDING_OPENGL_XLIB_KHR => Some("GRAPHICS_BINDING_OPENGL_XLIB_KHR"),
998 Self::GRAPHICS_BINDING_OPENGL_XCB_KHR => Some("GRAPHICS_BINDING_OPENGL_XCB_KHR"),
999 Self::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR => {
1000 Some("GRAPHICS_BINDING_OPENGL_WAYLAND_KHR")
1001 }
1002 Self::SWAPCHAIN_IMAGE_OPENGL_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_KHR"),
1003 Self::GRAPHICS_REQUIREMENTS_OPENGL_KHR => Some("GRAPHICS_REQUIREMENTS_OPENGL_KHR"),
1004 Self::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR => {
1005 Some("GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR")
1006 }
1007 Self::SWAPCHAIN_IMAGE_OPENGL_ES_KHR => Some("SWAPCHAIN_IMAGE_OPENGL_ES_KHR"),
1008 Self::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR => {
1009 Some("GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR")
1010 }
1011 Self::GRAPHICS_BINDING_VULKAN_KHR => Some("GRAPHICS_BINDING_VULKAN_KHR"),
1012 Self::SWAPCHAIN_IMAGE_VULKAN_KHR => Some("SWAPCHAIN_IMAGE_VULKAN_KHR"),
1013 Self::GRAPHICS_REQUIREMENTS_VULKAN_KHR => Some("GRAPHICS_REQUIREMENTS_VULKAN_KHR"),
1014 Self::GRAPHICS_BINDING_D3D11_KHR => Some("GRAPHICS_BINDING_D3D11_KHR"),
1015 Self::SWAPCHAIN_IMAGE_D3D11_KHR => Some("SWAPCHAIN_IMAGE_D3D11_KHR"),
1016 Self::GRAPHICS_REQUIREMENTS_D3D11_KHR => Some("GRAPHICS_REQUIREMENTS_D3D11_KHR"),
1017 Self::GRAPHICS_BINDING_D3D12_KHR => Some("GRAPHICS_BINDING_D3D12_KHR"),
1018 Self::SWAPCHAIN_IMAGE_D3D12_KHR => Some("SWAPCHAIN_IMAGE_D3D12_KHR"),
1019 Self::GRAPHICS_REQUIREMENTS_D3D12_KHR => Some("GRAPHICS_REQUIREMENTS_D3D12_KHR"),
1020 Self::GRAPHICS_BINDING_METAL_KHR => Some("GRAPHICS_BINDING_METAL_KHR"),
1021 Self::SWAPCHAIN_IMAGE_METAL_KHR => Some("SWAPCHAIN_IMAGE_METAL_KHR"),
1022 Self::GRAPHICS_REQUIREMENTS_METAL_KHR => Some("GRAPHICS_REQUIREMENTS_METAL_KHR"),
1023 Self::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT => {
1024 Some("SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT")
1025 }
1026 Self::EYE_GAZE_SAMPLE_TIME_EXT => Some("EYE_GAZE_SAMPLE_TIME_EXT"),
1027 Self::VISIBILITY_MASK_KHR => Some("VISIBILITY_MASK_KHR"),
1028 Self::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR => {
1029 Some("EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR")
1030 }
1031 Self::SESSION_CREATE_INFO_OVERLAY_EXTX => Some("SESSION_CREATE_INFO_OVERLAY_EXTX"),
1032 Self::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX => {
1033 Some("EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX")
1034 }
1035 Self::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR => {
1036 Some("COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR")
1037 }
1038 Self::SPATIAL_ANCHOR_CREATE_INFO_MSFT => Some("SPATIAL_ANCHOR_CREATE_INFO_MSFT"),
1039 Self::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT => {
1040 Some("SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT")
1041 }
1042 Self::COMPOSITION_LAYER_IMAGE_LAYOUT_FB => Some("COMPOSITION_LAYER_IMAGE_LAYOUT_FB"),
1043 Self::COMPOSITION_LAYER_ALPHA_BLEND_FB => Some("COMPOSITION_LAYER_ALPHA_BLEND_FB"),
1044 Self::VIEW_CONFIGURATION_DEPTH_RANGE_EXT => Some("VIEW_CONFIGURATION_DEPTH_RANGE_EXT"),
1045 Self::GRAPHICS_BINDING_EGL_MNDX => Some("GRAPHICS_BINDING_EGL_MNDX"),
1046 Self::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT => {
1047 Some("SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT")
1048 }
1049 Self::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT => {
1050 Some("SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT")
1051 }
1052 Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT => {
1053 Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT")
1054 }
1055 Self::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT => {
1056 Some("SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT")
1057 }
1058 Self::SYSTEM_HAND_TRACKING_PROPERTIES_EXT => {
1059 Some("SYSTEM_HAND_TRACKING_PROPERTIES_EXT")
1060 }
1061 Self::HAND_TRACKER_CREATE_INFO_EXT => Some("HAND_TRACKER_CREATE_INFO_EXT"),
1062 Self::HAND_JOINTS_LOCATE_INFO_EXT => Some("HAND_JOINTS_LOCATE_INFO_EXT"),
1063 Self::HAND_JOINT_LOCATIONS_EXT => Some("HAND_JOINT_LOCATIONS_EXT"),
1064 Self::HAND_JOINT_VELOCITIES_EXT => Some("HAND_JOINT_VELOCITIES_EXT"),
1065 Self::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT => {
1066 Some("SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT")
1067 }
1068 Self::HAND_MESH_SPACE_CREATE_INFO_MSFT => Some("HAND_MESH_SPACE_CREATE_INFO_MSFT"),
1069 Self::HAND_MESH_UPDATE_INFO_MSFT => Some("HAND_MESH_UPDATE_INFO_MSFT"),
1070 Self::HAND_MESH_MSFT => Some("HAND_MESH_MSFT"),
1071 Self::HAND_POSE_TYPE_INFO_MSFT => Some("HAND_POSE_TYPE_INFO_MSFT"),
1072 Self::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT => {
1073 Some("SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT")
1074 }
1075 Self::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT => {
1076 Some("SECONDARY_VIEW_CONFIGURATION_STATE_MSFT")
1077 }
1078 Self::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT => {
1079 Some("SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT")
1080 }
1081 Self::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT => {
1082 Some("SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT")
1083 }
1084 Self::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT => {
1085 Some("SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT")
1086 }
1087 Self::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT => {
1088 Some("SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT")
1089 }
1090 Self::CONTROLLER_MODEL_KEY_STATE_MSFT => Some("CONTROLLER_MODEL_KEY_STATE_MSFT"),
1091 Self::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT => {
1092 Some("CONTROLLER_MODEL_NODE_PROPERTIES_MSFT")
1093 }
1094 Self::CONTROLLER_MODEL_PROPERTIES_MSFT => Some("CONTROLLER_MODEL_PROPERTIES_MSFT"),
1095 Self::CONTROLLER_MODEL_NODE_STATE_MSFT => Some("CONTROLLER_MODEL_NODE_STATE_MSFT"),
1096 Self::CONTROLLER_MODEL_STATE_MSFT => Some("CONTROLLER_MODEL_STATE_MSFT"),
1097 Self::VIEW_CONFIGURATION_VIEW_FOV_EPIC => Some("VIEW_CONFIGURATION_VIEW_FOV_EPIC"),
1098 Self::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT => Some("HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT"),
1099 Self::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT => {
1100 Some("COMPOSITION_LAYER_REPROJECTION_INFO_MSFT")
1101 }
1102 Self::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT => {
1103 Some("COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT")
1104 }
1105 Self::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB => {
1106 Some("ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB")
1107 }
1108 Self::COMPOSITION_LAYER_SECURE_CONTENT_FB => {
1109 Some("COMPOSITION_LAYER_SECURE_CONTENT_FB")
1110 }
1111 Self::BODY_TRACKER_CREATE_INFO_FB => Some("BODY_TRACKER_CREATE_INFO_FB"),
1112 Self::BODY_JOINTS_LOCATE_INFO_FB => Some("BODY_JOINTS_LOCATE_INFO_FB"),
1113 Self::SYSTEM_BODY_TRACKING_PROPERTIES_FB => Some("SYSTEM_BODY_TRACKING_PROPERTIES_FB"),
1114 Self::BODY_JOINT_LOCATIONS_FB => Some("BODY_JOINT_LOCATIONS_FB"),
1115 Self::BODY_SKELETON_FB => Some("BODY_SKELETON_FB"),
1116 Self::INTERACTION_PROFILE_DPAD_BINDING_EXT => {
1117 Some("INTERACTION_PROFILE_DPAD_BINDING_EXT")
1118 }
1119 Self::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE => {
1120 Some("INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE")
1121 }
1122 Self::HAND_JOINTS_MOTION_RANGE_INFO_EXT => Some("HAND_JOINTS_MOTION_RANGE_INFO_EXT"),
1123 Self::LOADER_INIT_INFO_ANDROID_KHR => Some("LOADER_INIT_INFO_ANDROID_KHR"),
1124 Self::VULKAN_INSTANCE_CREATE_INFO_KHR => Some("VULKAN_INSTANCE_CREATE_INFO_KHR"),
1125 Self::VULKAN_DEVICE_CREATE_INFO_KHR => Some("VULKAN_DEVICE_CREATE_INFO_KHR"),
1126 Self::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR => {
1127 Some("VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR")
1128 }
1129 Self::COMPOSITION_LAYER_EQUIRECT2_KHR => Some("COMPOSITION_LAYER_EQUIRECT2_KHR"),
1130 Self::SCENE_OBSERVER_CREATE_INFO_MSFT => Some("SCENE_OBSERVER_CREATE_INFO_MSFT"),
1131 Self::SCENE_CREATE_INFO_MSFT => Some("SCENE_CREATE_INFO_MSFT"),
1132 Self::NEW_SCENE_COMPUTE_INFO_MSFT => Some("NEW_SCENE_COMPUTE_INFO_MSFT"),
1133 Self::VISUAL_MESH_COMPUTE_LOD_INFO_MSFT => Some("VISUAL_MESH_COMPUTE_LOD_INFO_MSFT"),
1134 Self::SCENE_COMPONENTS_MSFT => Some("SCENE_COMPONENTS_MSFT"),
1135 Self::SCENE_COMPONENTS_GET_INFO_MSFT => Some("SCENE_COMPONENTS_GET_INFO_MSFT"),
1136 Self::SCENE_COMPONENT_LOCATIONS_MSFT => Some("SCENE_COMPONENT_LOCATIONS_MSFT"),
1137 Self::SCENE_COMPONENTS_LOCATE_INFO_MSFT => Some("SCENE_COMPONENTS_LOCATE_INFO_MSFT"),
1138 Self::SCENE_OBJECTS_MSFT => Some("SCENE_OBJECTS_MSFT"),
1139 Self::SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT => {
1140 Some("SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT")
1141 }
1142 Self::SCENE_OBJECT_TYPES_FILTER_INFO_MSFT => {
1143 Some("SCENE_OBJECT_TYPES_FILTER_INFO_MSFT")
1144 }
1145 Self::SCENE_PLANES_MSFT => Some("SCENE_PLANES_MSFT"),
1146 Self::SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT => {
1147 Some("SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT")
1148 }
1149 Self::SCENE_MESHES_MSFT => Some("SCENE_MESHES_MSFT"),
1150 Self::SCENE_MESH_BUFFERS_GET_INFO_MSFT => Some("SCENE_MESH_BUFFERS_GET_INFO_MSFT"),
1151 Self::SCENE_MESH_BUFFERS_MSFT => Some("SCENE_MESH_BUFFERS_MSFT"),
1152 Self::SCENE_MESH_VERTEX_BUFFER_MSFT => Some("SCENE_MESH_VERTEX_BUFFER_MSFT"),
1153 Self::SCENE_MESH_INDICES_UINT32_MSFT => Some("SCENE_MESH_INDICES_UINT32_MSFT"),
1154 Self::SCENE_MESH_INDICES_UINT16_MSFT => Some("SCENE_MESH_INDICES_UINT16_MSFT"),
1155 Self::SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT => {
1156 Some("SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT")
1157 }
1158 Self::SCENE_DESERIALIZE_INFO_MSFT => Some("SCENE_DESERIALIZE_INFO_MSFT"),
1159 Self::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB => {
1160 Some("EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB")
1161 }
1162 Self::VIVE_TRACKER_PATHS_HTCX => Some("VIVE_TRACKER_PATHS_HTCX"),
1163 Self::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX => {
1164 Some("EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX")
1165 }
1166 Self::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC => {
1167 Some("SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC")
1168 }
1169 Self::FACIAL_TRACKER_CREATE_INFO_HTC => Some("FACIAL_TRACKER_CREATE_INFO_HTC"),
1170 Self::FACIAL_EXPRESSIONS_HTC => Some("FACIAL_EXPRESSIONS_HTC"),
1171 Self::SYSTEM_COLOR_SPACE_PROPERTIES_FB => Some("SYSTEM_COLOR_SPACE_PROPERTIES_FB"),
1172 Self::HAND_TRACKING_MESH_FB => Some("HAND_TRACKING_MESH_FB"),
1173 Self::HAND_TRACKING_SCALE_FB => Some("HAND_TRACKING_SCALE_FB"),
1174 Self::HAND_TRACKING_AIM_STATE_FB => Some("HAND_TRACKING_AIM_STATE_FB"),
1175 Self::HAND_TRACKING_CAPSULES_STATE_FB => Some("HAND_TRACKING_CAPSULES_STATE_FB"),
1176 Self::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB => {
1177 Some("SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB")
1178 }
1179 Self::SPATIAL_ANCHOR_CREATE_INFO_FB => Some("SPATIAL_ANCHOR_CREATE_INFO_FB"),
1180 Self::SPACE_COMPONENT_STATUS_SET_INFO_FB => Some("SPACE_COMPONENT_STATUS_SET_INFO_FB"),
1181 Self::SPACE_COMPONENT_STATUS_FB => Some("SPACE_COMPONENT_STATUS_FB"),
1182 Self::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB => {
1183 Some("EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB")
1184 }
1185 Self::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB => {
1186 Some("EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB")
1187 }
1188 Self::FOVEATION_PROFILE_CREATE_INFO_FB => Some("FOVEATION_PROFILE_CREATE_INFO_FB"),
1189 Self::SWAPCHAIN_CREATE_INFO_FOVEATION_FB => Some("SWAPCHAIN_CREATE_INFO_FOVEATION_FB"),
1190 Self::SWAPCHAIN_STATE_FOVEATION_FB => Some("SWAPCHAIN_STATE_FOVEATION_FB"),
1191 Self::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB => {
1192 Some("FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB")
1193 }
1194 Self::KEYBOARD_SPACE_CREATE_INFO_FB => Some("KEYBOARD_SPACE_CREATE_INFO_FB"),
1195 Self::KEYBOARD_TRACKING_QUERY_FB => Some("KEYBOARD_TRACKING_QUERY_FB"),
1196 Self::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB => {
1197 Some("SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB")
1198 }
1199 Self::TRIANGLE_MESH_CREATE_INFO_FB => Some("TRIANGLE_MESH_CREATE_INFO_FB"),
1200 Self::SYSTEM_PASSTHROUGH_PROPERTIES_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES_FB"),
1201 Self::PASSTHROUGH_CREATE_INFO_FB => Some("PASSTHROUGH_CREATE_INFO_FB"),
1202 Self::PASSTHROUGH_LAYER_CREATE_INFO_FB => Some("PASSTHROUGH_LAYER_CREATE_INFO_FB"),
1203 Self::COMPOSITION_LAYER_PASSTHROUGH_FB => Some("COMPOSITION_LAYER_PASSTHROUGH_FB"),
1204 Self::GEOMETRY_INSTANCE_CREATE_INFO_FB => Some("GEOMETRY_INSTANCE_CREATE_INFO_FB"),
1205 Self::GEOMETRY_INSTANCE_TRANSFORM_FB => Some("GEOMETRY_INSTANCE_TRANSFORM_FB"),
1206 Self::SYSTEM_PASSTHROUGH_PROPERTIES2_FB => Some("SYSTEM_PASSTHROUGH_PROPERTIES2_FB"),
1207 Self::PASSTHROUGH_STYLE_FB => Some("PASSTHROUGH_STYLE_FB"),
1208 Self::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB => {
1209 Some("PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB")
1210 }
1211 Self::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB => {
1212 Some("PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB")
1213 }
1214 Self::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB => {
1215 Some("PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB")
1216 }
1217 Self::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB => {
1218 Some("EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB")
1219 }
1220 Self::RENDER_MODEL_PATH_INFO_FB => Some("RENDER_MODEL_PATH_INFO_FB"),
1221 Self::RENDER_MODEL_PROPERTIES_FB => Some("RENDER_MODEL_PROPERTIES_FB"),
1222 Self::RENDER_MODEL_BUFFER_FB => Some("RENDER_MODEL_BUFFER_FB"),
1223 Self::RENDER_MODEL_LOAD_INFO_FB => Some("RENDER_MODEL_LOAD_INFO_FB"),
1224 Self::SYSTEM_RENDER_MODEL_PROPERTIES_FB => Some("SYSTEM_RENDER_MODEL_PROPERTIES_FB"),
1225 Self::RENDER_MODEL_CAPABILITIES_REQUEST_FB => {
1226 Some("RENDER_MODEL_CAPABILITIES_REQUEST_FB")
1227 }
1228 Self::BINDING_MODIFICATIONS_KHR => Some("BINDING_MODIFICATIONS_KHR"),
1229 Self::VIEW_LOCATE_FOVEATED_RENDERING_VARJO => {
1230 Some("VIEW_LOCATE_FOVEATED_RENDERING_VARJO")
1231 }
1232 Self::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO => {
1233 Some("FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO")
1234 }
1235 Self::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO => {
1236 Some("SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO")
1237 }
1238 Self::COMPOSITION_LAYER_DEPTH_TEST_VARJO => Some("COMPOSITION_LAYER_DEPTH_TEST_VARJO"),
1239 Self::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO => {
1240 Some("SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO")
1241 }
1242 Self::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO => {
1243 Some("EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO")
1244 }
1245 Self::MARKER_SPACE_CREATE_INFO_VARJO => Some("MARKER_SPACE_CREATE_INFO_VARJO"),
1246 Self::FRAME_END_INFO_ML => Some("FRAME_END_INFO_ML"),
1247 Self::GLOBAL_DIMMER_FRAME_END_INFO_ML => Some("GLOBAL_DIMMER_FRAME_END_INFO_ML"),
1248 Self::COORDINATE_SPACE_CREATE_INFO_ML => Some("COORDINATE_SPACE_CREATE_INFO_ML"),
1249 Self::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML => {
1250 Some("SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML")
1251 }
1252 Self::MARKER_DETECTOR_CREATE_INFO_ML => Some("MARKER_DETECTOR_CREATE_INFO_ML"),
1253 Self::MARKER_DETECTOR_ARUCO_INFO_ML => Some("MARKER_DETECTOR_ARUCO_INFO_ML"),
1254 Self::MARKER_DETECTOR_SIZE_INFO_ML => Some("MARKER_DETECTOR_SIZE_INFO_ML"),
1255 Self::MARKER_DETECTOR_APRIL_TAG_INFO_ML => Some("MARKER_DETECTOR_APRIL_TAG_INFO_ML"),
1256 Self::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML => {
1257 Some("MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML")
1258 }
1259 Self::MARKER_DETECTOR_SNAPSHOT_INFO_ML => Some("MARKER_DETECTOR_SNAPSHOT_INFO_ML"),
1260 Self::MARKER_DETECTOR_STATE_ML => Some("MARKER_DETECTOR_STATE_ML"),
1261 Self::MARKER_SPACE_CREATE_INFO_ML => Some("MARKER_SPACE_CREATE_INFO_ML"),
1262 Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
1263 Self::EVENT_DATA_LOCALIZATION_CHANGED_ML => Some("EVENT_DATA_LOCALIZATION_CHANGED_ML"),
1264 Self::MAP_LOCALIZATION_REQUEST_INFO_ML => Some("MAP_LOCALIZATION_REQUEST_INFO_ML"),
1265 Self::LOCALIZATION_MAP_IMPORT_INFO_ML => Some("LOCALIZATION_MAP_IMPORT_INFO_ML"),
1266 Self::LOCALIZATION_ENABLE_EVENTS_INFO_ML => Some("LOCALIZATION_ENABLE_EVENTS_INFO_ML"),
1267 Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML => {
1268 Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML")
1269 }
1270 Self::CREATE_SPATIAL_ANCHORS_COMPLETION_ML => {
1271 Some("CREATE_SPATIAL_ANCHORS_COMPLETION_ML")
1272 }
1273 Self::SPATIAL_ANCHOR_STATE_ML => Some("SPATIAL_ANCHOR_STATE_ML"),
1274 Self::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML => {
1275 Some("SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML")
1276 }
1277 Self::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML => {
1278 Some("SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML")
1279 }
1280 Self::SPATIAL_ANCHORS_QUERY_COMPLETION_ML => {
1281 Some("SPATIAL_ANCHORS_QUERY_COMPLETION_ML")
1282 }
1283 Self::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML => {
1284 Some("SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML")
1285 }
1286 Self::SPATIAL_ANCHORS_PUBLISH_INFO_ML => Some("SPATIAL_ANCHORS_PUBLISH_INFO_ML"),
1287 Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML => {
1288 Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML")
1289 }
1290 Self::SPATIAL_ANCHORS_DELETE_INFO_ML => Some("SPATIAL_ANCHORS_DELETE_INFO_ML"),
1291 Self::SPATIAL_ANCHORS_DELETE_COMPLETION_ML => {
1292 Some("SPATIAL_ANCHORS_DELETE_COMPLETION_ML")
1293 }
1294 Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML => {
1295 Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML")
1296 }
1297 Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML => {
1298 Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML")
1299 }
1300 Self::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML => {
1301 Some("SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML")
1302 }
1303 Self::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML => {
1304 Some("SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML")
1305 }
1306 Self::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML => {
1307 Some("SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML")
1308 }
1309 Self::EVENT_DATA_HEADSET_FIT_CHANGED_ML => Some("EVENT_DATA_HEADSET_FIT_CHANGED_ML"),
1310 Self::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML => {
1311 Some("EVENT_DATA_EYE_CALIBRATION_CHANGED_ML")
1312 }
1313 Self::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML => {
1314 Some("USER_CALIBRATION_ENABLE_EVENTS_INFO_ML")
1315 }
1316 Self::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT => {
1317 Some("SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT")
1318 }
1319 Self::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT => {
1320 Some("SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT")
1321 }
1322 Self::SCENE_MARKERS_MSFT => Some("SCENE_MARKERS_MSFT"),
1323 Self::SCENE_MARKER_TYPE_FILTER_MSFT => Some("SCENE_MARKER_TYPE_FILTER_MSFT"),
1324 Self::SCENE_MARKER_QR_CODES_MSFT => Some("SCENE_MARKER_QR_CODES_MSFT"),
1325 Self::SPACE_QUERY_INFO_FB => Some("SPACE_QUERY_INFO_FB"),
1326 Self::SPACE_QUERY_RESULTS_FB => Some("SPACE_QUERY_RESULTS_FB"),
1327 Self::SPACE_STORAGE_LOCATION_FILTER_INFO_FB => {
1328 Some("SPACE_STORAGE_LOCATION_FILTER_INFO_FB")
1329 }
1330 Self::SPACE_UUID_FILTER_INFO_FB => Some("SPACE_UUID_FILTER_INFO_FB"),
1331 Self::SPACE_COMPONENT_FILTER_INFO_FB => Some("SPACE_COMPONENT_FILTER_INFO_FB"),
1332 Self::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB => {
1333 Some("EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB")
1334 }
1335 Self::EVENT_DATA_SPACE_QUERY_COMPLETE_FB => Some("EVENT_DATA_SPACE_QUERY_COMPLETE_FB"),
1336 Self::SPACE_SAVE_INFO_FB => Some("SPACE_SAVE_INFO_FB"),
1337 Self::SPACE_ERASE_INFO_FB => Some("SPACE_ERASE_INFO_FB"),
1338 Self::EVENT_DATA_SPACE_SAVE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SAVE_COMPLETE_FB"),
1339 Self::EVENT_DATA_SPACE_ERASE_COMPLETE_FB => Some("EVENT_DATA_SPACE_ERASE_COMPLETE_FB"),
1340 Self::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB => {
1341 Some("SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB")
1342 }
1343 Self::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB => {
1344 Some("SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB")
1345 }
1346 Self::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB => {
1347 Some("SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB")
1348 }
1349 Self::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB => Some("SWAPCHAIN_STATE_SAMPLER_VULKAN_FB"),
1350 Self::SPACE_SHARE_INFO_FB => Some("SPACE_SHARE_INFO_FB"),
1351 Self::EVENT_DATA_SPACE_SHARE_COMPLETE_FB => Some("EVENT_DATA_SPACE_SHARE_COMPLETE_FB"),
1352 Self::COMPOSITION_LAYER_SPACE_WARP_INFO_FB => {
1353 Some("COMPOSITION_LAYER_SPACE_WARP_INFO_FB")
1354 }
1355 Self::SYSTEM_SPACE_WARP_PROPERTIES_FB => Some("SYSTEM_SPACE_WARP_PROPERTIES_FB"),
1356 Self::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB => {
1357 Some("HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB")
1358 }
1359 Self::SEMANTIC_LABELS_FB => Some("SEMANTIC_LABELS_FB"),
1360 Self::ROOM_LAYOUT_FB => Some("ROOM_LAYOUT_FB"),
1361 Self::BOUNDARY_2D_FB => Some("BOUNDARY_2D_FB"),
1362 Self::SEMANTIC_LABELS_SUPPORT_INFO_FB => Some("SEMANTIC_LABELS_SUPPORT_INFO_FB"),
1363 Self::DIGITAL_LENS_CONTROL_ALMALENCE => Some("DIGITAL_LENS_CONTROL_ALMALENCE"),
1364 Self::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB => {
1365 Some("EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB")
1366 }
1367 Self::SCENE_CAPTURE_REQUEST_INFO_FB => Some("SCENE_CAPTURE_REQUEST_INFO_FB"),
1368 Self::SPACE_CONTAINER_FB => Some("SPACE_CONTAINER_FB"),
1369 Self::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META => {
1370 Some("FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META")
1371 }
1372 Self::FOVEATION_EYE_TRACKED_STATE_META => Some("FOVEATION_EYE_TRACKED_STATE_META"),
1373 Self::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META => {
1374 Some("SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META")
1375 }
1376 Self::SYSTEM_FACE_TRACKING_PROPERTIES_FB => Some("SYSTEM_FACE_TRACKING_PROPERTIES_FB"),
1377 Self::FACE_TRACKER_CREATE_INFO_FB => Some("FACE_TRACKER_CREATE_INFO_FB"),
1378 Self::FACE_EXPRESSION_INFO_FB => Some("FACE_EXPRESSION_INFO_FB"),
1379 Self::FACE_EXPRESSION_WEIGHTS_FB => Some("FACE_EXPRESSION_WEIGHTS_FB"),
1380 Self::EYE_TRACKER_CREATE_INFO_FB => Some("EYE_TRACKER_CREATE_INFO_FB"),
1381 Self::EYE_GAZES_INFO_FB => Some("EYE_GAZES_INFO_FB"),
1382 Self::EYE_GAZES_FB => Some("EYE_GAZES_FB"),
1383 Self::SYSTEM_EYE_TRACKING_PROPERTIES_FB => Some("SYSTEM_EYE_TRACKING_PROPERTIES_FB"),
1384 Self::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB => {
1385 Some("PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB")
1386 }
1387 Self::COMPOSITION_LAYER_SETTINGS_FB => Some("COMPOSITION_LAYER_SETTINGS_FB"),
1388 Self::HAPTIC_PCM_VIBRATION_FB => Some("HAPTIC_PCM_VIBRATION_FB"),
1389 Self::DEVICE_PCM_SAMPLE_RATE_STATE_FB => Some("DEVICE_PCM_SAMPLE_RATE_STATE_FB"),
1390 Self::FRAME_SYNTHESIS_INFO_EXT => Some("FRAME_SYNTHESIS_INFO_EXT"),
1391 Self::FRAME_SYNTHESIS_CONFIG_VIEW_EXT => Some("FRAME_SYNTHESIS_CONFIG_VIEW_EXT"),
1392 Self::COMPOSITION_LAYER_DEPTH_TEST_FB => Some("COMPOSITION_LAYER_DEPTH_TEST_FB"),
1393 Self::LOCAL_DIMMING_FRAME_END_INFO_META => Some("LOCAL_DIMMING_FRAME_END_INFO_META"),
1394 Self::PASSTHROUGH_PREFERENCES_META => Some("PASSTHROUGH_PREFERENCES_META"),
1395 Self::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META => {
1396 Some("SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META")
1397 }
1398 Self::VIRTUAL_KEYBOARD_CREATE_INFO_META => Some("VIRTUAL_KEYBOARD_CREATE_INFO_META"),
1399 Self::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META => {
1400 Some("VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META")
1401 }
1402 Self::VIRTUAL_KEYBOARD_LOCATION_INFO_META => {
1403 Some("VIRTUAL_KEYBOARD_LOCATION_INFO_META")
1404 }
1405 Self::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META => {
1406 Some("VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META")
1407 }
1408 Self::VIRTUAL_KEYBOARD_ANIMATION_STATE_META => {
1409 Some("VIRTUAL_KEYBOARD_ANIMATION_STATE_META")
1410 }
1411 Self::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META => {
1412 Some("VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META")
1413 }
1414 Self::VIRTUAL_KEYBOARD_TEXTURE_DATA_META => Some("VIRTUAL_KEYBOARD_TEXTURE_DATA_META"),
1415 Self::VIRTUAL_KEYBOARD_INPUT_INFO_META => Some("VIRTUAL_KEYBOARD_INPUT_INFO_META"),
1416 Self::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META => {
1417 Some("VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META")
1418 }
1419 Self::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META => {
1420 Some("EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META")
1421 }
1422 Self::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META => {
1423 Some("EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META")
1424 }
1425 Self::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META => {
1426 Some("EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META")
1427 }
1428 Self::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META => {
1429 Some("EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META")
1430 }
1431 Self::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META => {
1432 Some("EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META")
1433 }
1434 Self::EXTERNAL_CAMERA_OCULUS => Some("EXTERNAL_CAMERA_OCULUS"),
1435 Self::VULKAN_SWAPCHAIN_CREATE_INFO_META => Some("VULKAN_SWAPCHAIN_CREATE_INFO_META"),
1436 Self::PERFORMANCE_METRICS_STATE_META => Some("PERFORMANCE_METRICS_STATE_META"),
1437 Self::PERFORMANCE_METRICS_COUNTER_META => Some("PERFORMANCE_METRICS_COUNTER_META"),
1438 Self::SPACE_LIST_SAVE_INFO_FB => Some("SPACE_LIST_SAVE_INFO_FB"),
1439 Self::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB => {
1440 Some("EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB")
1441 }
1442 Self::SPACE_USER_CREATE_INFO_FB => Some("SPACE_USER_CREATE_INFO_FB"),
1443 Self::SYSTEM_HEADSET_ID_PROPERTIES_META => Some("SYSTEM_HEADSET_ID_PROPERTIES_META"),
1444 Self::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META => {
1445 Some("SYSTEM_SPACE_DISCOVERY_PROPERTIES_META")
1446 }
1447 Self::SPACE_DISCOVERY_INFO_META => Some("SPACE_DISCOVERY_INFO_META"),
1448 Self::SPACE_FILTER_UUID_META => Some("SPACE_FILTER_UUID_META"),
1449 Self::SPACE_FILTER_COMPONENT_META => Some("SPACE_FILTER_COMPONENT_META"),
1450 Self::SPACE_DISCOVERY_RESULT_META => Some("SPACE_DISCOVERY_RESULT_META"),
1451 Self::SPACE_DISCOVERY_RESULTS_META => Some("SPACE_DISCOVERY_RESULTS_META"),
1452 Self::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META => {
1453 Some("EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META")
1454 }
1455 Self::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META => {
1456 Some("EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META")
1457 }
1458 Self::RECOMMENDED_LAYER_RESOLUTION_META => Some("RECOMMENDED_LAYER_RESOLUTION_META"),
1459 Self::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META => {
1460 Some("RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META")
1461 }
1462 Self::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META => {
1463 Some("SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META")
1464 }
1465 Self::SPACES_SAVE_INFO_META => Some("SPACES_SAVE_INFO_META"),
1466 Self::EVENT_DATA_SPACES_SAVE_RESULT_META => Some("EVENT_DATA_SPACES_SAVE_RESULT_META"),
1467 Self::SPACES_ERASE_INFO_META => Some("SPACES_ERASE_INFO_META"),
1468 Self::EVENT_DATA_SPACES_ERASE_RESULT_META => {
1469 Some("EVENT_DATA_SPACES_ERASE_RESULT_META")
1470 }
1471 Self::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META => {
1472 Some("SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META")
1473 }
1474 Self::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META => {
1475 Some("PASSTHROUGH_COLOR_LUT_CREATE_INFO_META")
1476 }
1477 Self::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META => {
1478 Some("PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META")
1479 }
1480 Self::PASSTHROUGH_COLOR_MAP_LUT_META => Some("PASSTHROUGH_COLOR_MAP_LUT_META"),
1481 Self::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META => {
1482 Some("PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META")
1483 }
1484 Self::SPACE_TRIANGLE_MESH_GET_INFO_META => Some("SPACE_TRIANGLE_MESH_GET_INFO_META"),
1485 Self::SPACE_TRIANGLE_MESH_META => Some("SPACE_TRIANGLE_MESH_META"),
1486 Self::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META => {
1487 Some("SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META")
1488 }
1489 Self::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META => {
1490 Some("EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META")
1491 }
1492 Self::BODY_TRACKING_CALIBRATION_INFO_META => {
1493 Some("BODY_TRACKING_CALIBRATION_INFO_META")
1494 }
1495 Self::BODY_TRACKING_CALIBRATION_STATUS_META => {
1496 Some("BODY_TRACKING_CALIBRATION_STATUS_META")
1497 }
1498 Self::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META => {
1499 Some("SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META")
1500 }
1501 Self::BODY_TRACKING_FIDELITY_STATUS_META => Some("BODY_TRACKING_FIDELITY_STATUS_META"),
1502 Self::SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META => {
1503 Some("SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META")
1504 }
1505 Self::SYSTEM_FACE_TRACKING_PROPERTIES2_FB => {
1506 Some("SYSTEM_FACE_TRACKING_PROPERTIES2_FB")
1507 }
1508 Self::FACE_TRACKER_CREATE_INFO2_FB => Some("FACE_TRACKER_CREATE_INFO2_FB"),
1509 Self::FACE_EXPRESSION_INFO2_FB => Some("FACE_EXPRESSION_INFO2_FB"),
1510 Self::FACE_EXPRESSION_WEIGHTS2_FB => Some("FACE_EXPRESSION_WEIGHTS2_FB"),
1511 Self::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META => {
1512 Some("SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META")
1513 }
1514 Self::SHARE_SPACES_INFO_META => Some("SHARE_SPACES_INFO_META"),
1515 Self::EVENT_DATA_SHARE_SPACES_COMPLETE_META => {
1516 Some("EVENT_DATA_SHARE_SPACES_COMPLETE_META")
1517 }
1518 Self::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META => {
1519 Some("ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META")
1520 }
1521 Self::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META => {
1522 Some("ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META")
1523 }
1524 Self::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META => {
1525 Some("ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META")
1526 }
1527 Self::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META => {
1528 Some("ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META")
1529 }
1530 Self::ENVIRONMENT_DEPTH_IMAGE_VIEW_META => Some("ENVIRONMENT_DEPTH_IMAGE_VIEW_META"),
1531 Self::ENVIRONMENT_DEPTH_IMAGE_META => Some("ENVIRONMENT_DEPTH_IMAGE_META"),
1532 Self::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META => {
1533 Some("ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META")
1534 }
1535 Self::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META => {
1536 Some("SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META")
1537 }
1538 Self::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META => {
1539 Some("ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META")
1540 }
1541 Self::RENDER_MODEL_CREATE_INFO_EXT => Some("RENDER_MODEL_CREATE_INFO_EXT"),
1542 Self::RENDER_MODEL_PROPERTIES_GET_INFO_EXT => {
1543 Some("RENDER_MODEL_PROPERTIES_GET_INFO_EXT")
1544 }
1545 Self::RENDER_MODEL_PROPERTIES_EXT => Some("RENDER_MODEL_PROPERTIES_EXT"),
1546 Self::RENDER_MODEL_SPACE_CREATE_INFO_EXT => Some("RENDER_MODEL_SPACE_CREATE_INFO_EXT"),
1547 Self::RENDER_MODEL_STATE_GET_INFO_EXT => Some("RENDER_MODEL_STATE_GET_INFO_EXT"),
1548 Self::RENDER_MODEL_STATE_EXT => Some("RENDER_MODEL_STATE_EXT"),
1549 Self::RENDER_MODEL_ASSET_CREATE_INFO_EXT => Some("RENDER_MODEL_ASSET_CREATE_INFO_EXT"),
1550 Self::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT => {
1551 Some("RENDER_MODEL_ASSET_DATA_GET_INFO_EXT")
1552 }
1553 Self::RENDER_MODEL_ASSET_DATA_EXT => Some("RENDER_MODEL_ASSET_DATA_EXT"),
1554 Self::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT => {
1555 Some("RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT")
1556 }
1557 Self::RENDER_MODEL_ASSET_PROPERTIES_EXT => Some("RENDER_MODEL_ASSET_PROPERTIES_EXT"),
1558 Self::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT => {
1559 Some("INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT")
1560 }
1561 Self::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT => {
1562 Some("INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT")
1563 }
1564 Self::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT => {
1565 Some("EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT")
1566 }
1567 Self::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT => {
1568 Some("INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT")
1569 }
1570 Self::PASSTHROUGH_CREATE_INFO_HTC => Some("PASSTHROUGH_CREATE_INFO_HTC"),
1571 Self::PASSTHROUGH_COLOR_HTC => Some("PASSTHROUGH_COLOR_HTC"),
1572 Self::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC => {
1573 Some("PASSTHROUGH_MESH_TRANSFORM_INFO_HTC")
1574 }
1575 Self::COMPOSITION_LAYER_PASSTHROUGH_HTC => Some("COMPOSITION_LAYER_PASSTHROUGH_HTC"),
1576 Self::FOVEATION_APPLY_INFO_HTC => Some("FOVEATION_APPLY_INFO_HTC"),
1577 Self::FOVEATION_DYNAMIC_MODE_INFO_HTC => Some("FOVEATION_DYNAMIC_MODE_INFO_HTC"),
1578 Self::FOVEATION_CUSTOM_MODE_INFO_HTC => Some("FOVEATION_CUSTOM_MODE_INFO_HTC"),
1579 Self::SYSTEM_ANCHOR_PROPERTIES_HTC => Some("SYSTEM_ANCHOR_PROPERTIES_HTC"),
1580 Self::SPATIAL_ANCHOR_CREATE_INFO_HTC => Some("SPATIAL_ANCHOR_CREATE_INFO_HTC"),
1581 Self::SYSTEM_BODY_TRACKING_PROPERTIES_HTC => {
1582 Some("SYSTEM_BODY_TRACKING_PROPERTIES_HTC")
1583 }
1584 Self::BODY_TRACKER_CREATE_INFO_HTC => Some("BODY_TRACKER_CREATE_INFO_HTC"),
1585 Self::BODY_JOINTS_LOCATE_INFO_HTC => Some("BODY_JOINTS_LOCATE_INFO_HTC"),
1586 Self::BODY_JOINT_LOCATIONS_HTC => Some("BODY_JOINT_LOCATIONS_HTC"),
1587 Self::BODY_SKELETON_HTC => Some("BODY_SKELETON_HTC"),
1588 Self::ACTIVE_ACTION_SET_PRIORITIES_EXT => Some("ACTIVE_ACTION_SET_PRIORITIES_EXT"),
1589 Self::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX => {
1590 Some("SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX")
1591 }
1592 Self::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX => {
1593 Some("FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX")
1594 }
1595 Self::BODY_TRACKER_CREATE_INFO_BD => Some("BODY_TRACKER_CREATE_INFO_BD"),
1596 Self::BODY_JOINTS_LOCATE_INFO_BD => Some("BODY_JOINTS_LOCATE_INFO_BD"),
1597 Self::BODY_JOINT_LOCATIONS_BD => Some("BODY_JOINT_LOCATIONS_BD"),
1598 Self::SYSTEM_BODY_TRACKING_PROPERTIES_BD => Some("SYSTEM_BODY_TRACKING_PROPERTIES_BD"),
1599 Self::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD => {
1600 Some("SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD")
1601 }
1602 Self::FACE_TRACKER_CREATE_INFO_BD => Some("FACE_TRACKER_CREATE_INFO_BD"),
1603 Self::FACIAL_SIMULATION_DATA_GET_INFO_BD => Some("FACIAL_SIMULATION_DATA_GET_INFO_BD"),
1604 Self::FACIAL_SIMULATION_DATA_BD => Some("FACIAL_SIMULATION_DATA_BD"),
1605 Self::LIP_EXPRESSION_DATA_BD => Some("LIP_EXPRESSION_DATA_BD"),
1606 Self::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD => {
1607 Some("SYSTEM_SPATIAL_SENSING_PROPERTIES_BD")
1608 }
1609 Self::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD => {
1610 Some("SPATIAL_ENTITY_COMPONENT_GET_INFO_BD")
1611 }
1612 Self::SPATIAL_ENTITY_LOCATION_GET_INFO_BD => {
1613 Some("SPATIAL_ENTITY_LOCATION_GET_INFO_BD")
1614 }
1615 Self::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD => {
1616 Some("SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD")
1617 }
1618 Self::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD => {
1619 Some("SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD")
1620 }
1621 Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD => {
1622 Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD")
1623 }
1624 Self::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD => {
1625 Some("SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD")
1626 }
1627 Self::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD => {
1628 Some("SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD")
1629 }
1630 Self::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD => {
1631 Some("SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD")
1632 }
1633 Self::SENSE_DATA_PROVIDER_CREATE_INFO_BD => Some("SENSE_DATA_PROVIDER_CREATE_INFO_BD"),
1634 Self::SENSE_DATA_PROVIDER_START_INFO_BD => Some("SENSE_DATA_PROVIDER_START_INFO_BD"),
1635 Self::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD => {
1636 Some("EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD")
1637 }
1638 Self::EVENT_DATA_SENSE_DATA_UPDATED_BD => Some("EVENT_DATA_SENSE_DATA_UPDATED_BD"),
1639 Self::SENSE_DATA_QUERY_INFO_BD => Some("SENSE_DATA_QUERY_INFO_BD"),
1640 Self::SENSE_DATA_QUERY_COMPLETION_BD => Some("SENSE_DATA_QUERY_COMPLETION_BD"),
1641 Self::SENSE_DATA_FILTER_UUID_BD => Some("SENSE_DATA_FILTER_UUID_BD"),
1642 Self::SENSE_DATA_FILTER_SEMANTIC_BD => Some("SENSE_DATA_FILTER_SEMANTIC_BD"),
1643 Self::QUERIED_SENSE_DATA_GET_INFO_BD => Some("QUERIED_SENSE_DATA_GET_INFO_BD"),
1644 Self::QUERIED_SENSE_DATA_BD => Some("QUERIED_SENSE_DATA_BD"),
1645 Self::SPATIAL_ENTITY_STATE_BD => Some("SPATIAL_ENTITY_STATE_BD"),
1646 Self::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD => {
1647 Some("SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD")
1648 }
1649 Self::ANCHOR_SPACE_CREATE_INFO_BD => Some("ANCHOR_SPACE_CREATE_INFO_BD"),
1650 Self::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD => {
1651 Some("SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD")
1652 }
1653 Self::SPATIAL_ANCHOR_CREATE_INFO_BD => Some("SPATIAL_ANCHOR_CREATE_INFO_BD"),
1654 Self::SPATIAL_ANCHOR_CREATE_COMPLETION_BD => {
1655 Some("SPATIAL_ANCHOR_CREATE_COMPLETION_BD")
1656 }
1657 Self::SPATIAL_ANCHOR_PERSIST_INFO_BD => Some("SPATIAL_ANCHOR_PERSIST_INFO_BD"),
1658 Self::SPATIAL_ANCHOR_UNPERSIST_INFO_BD => Some("SPATIAL_ANCHOR_UNPERSIST_INFO_BD"),
1659 Self::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD => {
1660 Some("SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD")
1661 }
1662 Self::SPATIAL_ANCHOR_SHARE_INFO_BD => Some("SPATIAL_ANCHOR_SHARE_INFO_BD"),
1663 Self::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD => {
1664 Some("SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD")
1665 }
1666 Self::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_SCENE_PROPERTIES_BD"),
1667 Self::SCENE_CAPTURE_INFO_BD => Some("SCENE_CAPTURE_INFO_BD"),
1668 Self::SYSTEM_SPATIAL_MESH_PROPERTIES_BD => Some("SYSTEM_SPATIAL_MESH_PROPERTIES_BD"),
1669 Self::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD => {
1670 Some("SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD")
1671 }
1672 Self::FUTURE_POLL_RESULT_PROGRESS_BD => Some("FUTURE_POLL_RESULT_PROGRESS_BD"),
1673 Self::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD => Some("SYSTEM_SPATIAL_PLANE_PROPERTIES_BD"),
1674 Self::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD => {
1675 Some("SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD")
1676 }
1677 Self::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD => {
1678 Some("SENSE_DATA_FILTER_PLANE_ORIENTATION_BD")
1679 }
1680 Self::SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD => {
1681 Some("SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD")
1682 }
1683 Self::AUDIO_BUFFER_BD => Some("AUDIO_BUFFER_BD"),
1684 Self::SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD => {
1685 Some("SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD")
1686 }
1687 Self::SOUND_OBJECT_SHAPE_SPHERE_BD => Some("SOUND_OBJECT_SHAPE_SPHERE_BD"),
1688 Self::SOUND_OBJECT_DISTANCE_ATTENUATION_BD => {
1689 Some("SOUND_OBJECT_DISTANCE_ATTENUATION_BD")
1690 }
1691 Self::SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD => {
1692 Some("SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD")
1693 }
1694 Self::SOUND_OBJECT_CONFIG_BD => Some("SOUND_OBJECT_CONFIG_BD"),
1695 Self::SOUND_FIELD_CONFIG_BD => Some("SOUND_FIELD_CONFIG_BD"),
1696 Self::SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD => {
1697 Some("SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD")
1698 }
1699 Self::SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD => {
1700 Some("SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD")
1701 }
1702 Self::SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD => {
1703 Some("SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD")
1704 }
1705 Self::SOUND_TRIANGLE_MESH_BD => Some("SOUND_TRIANGLE_MESH_BD"),
1706 Self::SOUND_OBSTACLE_CONFIG_BD => Some("SOUND_OBSTACLE_CONFIG_BD"),
1707 Self::SOUND_OBSTACLE_MATERIAL_CONFIG_BD => Some("SOUND_OBSTACLE_MATERIAL_CONFIG_BD"),
1708 Self::HAND_TRACKING_DATA_SOURCE_INFO_EXT => Some("HAND_TRACKING_DATA_SOURCE_INFO_EXT"),
1709 Self::HAND_TRACKING_DATA_SOURCE_STATE_EXT => {
1710 Some("HAND_TRACKING_DATA_SOURCE_STATE_EXT")
1711 }
1712 Self::PLANE_DETECTOR_CREATE_INFO_EXT => Some("PLANE_DETECTOR_CREATE_INFO_EXT"),
1713 Self::PLANE_DETECTOR_BEGIN_INFO_EXT => Some("PLANE_DETECTOR_BEGIN_INFO_EXT"),
1714 Self::PLANE_DETECTOR_GET_INFO_EXT => Some("PLANE_DETECTOR_GET_INFO_EXT"),
1715 Self::PLANE_DETECTOR_LOCATIONS_EXT => Some("PLANE_DETECTOR_LOCATIONS_EXT"),
1716 Self::PLANE_DETECTOR_LOCATION_EXT => Some("PLANE_DETECTOR_LOCATION_EXT"),
1717 Self::PLANE_DETECTOR_POLYGON_BUFFER_EXT => Some("PLANE_DETECTOR_POLYGON_BUFFER_EXT"),
1718 Self::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT => {
1719 Some("SYSTEM_PLANE_DETECTION_PROPERTIES_EXT")
1720 }
1721 Self::TRACKABLE_GET_INFO_ANDROID => Some("TRACKABLE_GET_INFO_ANDROID"),
1722 Self::ANCHOR_SPACE_CREATE_INFO_ANDROID => Some("ANCHOR_SPACE_CREATE_INFO_ANDROID"),
1723 Self::TRACKABLE_PLANE_ANDROID => Some("TRACKABLE_PLANE_ANDROID"),
1724 Self::TRACKABLE_TRACKER_CREATE_INFO_ANDROID => {
1725 Some("TRACKABLE_TRACKER_CREATE_INFO_ANDROID")
1726 }
1727 Self::SYSTEM_TRACKABLES_PROPERTIES_ANDROID => {
1728 Some("SYSTEM_TRACKABLES_PROPERTIES_ANDROID")
1729 }
1730 Self::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID => {
1731 Some("PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID")
1732 }
1733 Self::PERSISTED_ANCHOR_SPACE_INFO_ANDROID => {
1734 Some("PERSISTED_ANCHOR_SPACE_INFO_ANDROID")
1735 }
1736 Self::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID => {
1737 Some("DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID")
1738 }
1739 Self::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID => {
1740 Some("SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID")
1741 }
1742 Self::FACE_TRACKER_CREATE_INFO_ANDROID => Some("FACE_TRACKER_CREATE_INFO_ANDROID"),
1743 Self::FACE_STATE_GET_INFO_ANDROID => Some("FACE_STATE_GET_INFO_ANDROID"),
1744 Self::FACE_STATE_ANDROID => Some("FACE_STATE_ANDROID"),
1745 Self::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID => {
1746 Some("SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID")
1747 }
1748 Self::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID => {
1749 Some("PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID")
1750 }
1751 Self::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID => {
1752 Some("SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID")
1753 }
1754 Self::PASSTHROUGH_LAYER_CREATE_INFO_ANDROID => {
1755 Some("PASSTHROUGH_LAYER_CREATE_INFO_ANDROID")
1756 }
1757 Self::PASSTHROUGH_LAYER_MESH_ANDROID => Some("PASSTHROUGH_LAYER_MESH_ANDROID"),
1758 Self::COMPOSITION_LAYER_PASSTHROUGH_ANDROID => {
1759 Some("COMPOSITION_LAYER_PASSTHROUGH_ANDROID")
1760 }
1761 Self::SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID => {
1762 Some("SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID")
1763 }
1764 Self::RAYCAST_INFO_ANDROID => Some("RAYCAST_INFO_ANDROID"),
1765 Self::RAYCAST_HIT_RESULTS_ANDROID => Some("RAYCAST_HIT_RESULTS_ANDROID"),
1766 Self::PERFORMANCE_METRICS_STATE_ANDROID => Some("PERFORMANCE_METRICS_STATE_ANDROID"),
1767 Self::PERFORMANCE_METRICS_COUNTER_ANDROID => {
1768 Some("PERFORMANCE_METRICS_COUNTER_ANDROID")
1769 }
1770 Self::TRACKABLE_OBJECT_ANDROID => Some("TRACKABLE_OBJECT_ANDROID"),
1771 Self::TRACKABLE_OBJECT_CONFIGURATION_ANDROID => {
1772 Some("TRACKABLE_OBJECT_CONFIGURATION_ANDROID")
1773 }
1774 Self::FUTURE_CANCEL_INFO_EXT => Some("FUTURE_CANCEL_INFO_EXT"),
1775 Self::FUTURE_POLL_INFO_EXT => Some("FUTURE_POLL_INFO_EXT"),
1776 Self::FUTURE_COMPLETION_EXT => Some("FUTURE_COMPLETION_EXT"),
1777 Self::FUTURE_POLL_RESULT_EXT => Some("FUTURE_POLL_RESULT_EXT"),
1778 Self::EVENT_DATA_USER_PRESENCE_CHANGED_EXT => {
1779 Some("EVENT_DATA_USER_PRESENCE_CHANGED_EXT")
1780 }
1781 Self::SYSTEM_USER_PRESENCE_PROPERTIES_EXT => {
1782 Some("SYSTEM_USER_PRESENCE_PROPERTIES_EXT")
1783 }
1784 Self::SYSTEM_NOTIFICATIONS_SET_INFO_ML => Some("SYSTEM_NOTIFICATIONS_SET_INFO_ML"),
1785 Self::WORLD_MESH_DETECTOR_CREATE_INFO_ML => Some("WORLD_MESH_DETECTOR_CREATE_INFO_ML"),
1786 Self::WORLD_MESH_STATE_REQUEST_INFO_ML => Some("WORLD_MESH_STATE_REQUEST_INFO_ML"),
1787 Self::WORLD_MESH_BLOCK_STATE_ML => Some("WORLD_MESH_BLOCK_STATE_ML"),
1788 Self::WORLD_MESH_STATE_REQUEST_COMPLETION_ML => {
1789 Some("WORLD_MESH_STATE_REQUEST_COMPLETION_ML")
1790 }
1791 Self::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML => {
1792 Some("WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML")
1793 }
1794 Self::WORLD_MESH_BUFFER_SIZE_ML => Some("WORLD_MESH_BUFFER_SIZE_ML"),
1795 Self::WORLD_MESH_BUFFER_ML => Some("WORLD_MESH_BUFFER_ML"),
1796 Self::WORLD_MESH_BLOCK_REQUEST_ML => Some("WORLD_MESH_BLOCK_REQUEST_ML"),
1797 Self::WORLD_MESH_GET_INFO_ML => Some("WORLD_MESH_GET_INFO_ML"),
1798 Self::WORLD_MESH_BLOCK_ML => Some("WORLD_MESH_BLOCK_ML"),
1799 Self::WORLD_MESH_REQUEST_COMPLETION_ML => Some("WORLD_MESH_REQUEST_COMPLETION_ML"),
1800 Self::WORLD_MESH_REQUEST_COMPLETION_INFO_ML => {
1801 Some("WORLD_MESH_REQUEST_COMPLETION_INFO_ML")
1802 }
1803 Self::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML => {
1804 Some("SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML")
1805 }
1806 Self::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML => {
1807 Some("FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML")
1808 }
1809 Self::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML => {
1810 Some("FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML")
1811 }
1812 Self::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML => {
1813 Some("FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML")
1814 }
1815 Self::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META => {
1816 Some("SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META")
1817 }
1818 Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META => {
1819 Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META")
1820 }
1821 Self::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META => {
1822 Some("SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META")
1823 }
1824 Self::COLOCATION_DISCOVERY_START_INFO_META => {
1825 Some("COLOCATION_DISCOVERY_START_INFO_META")
1826 }
1827 Self::COLOCATION_DISCOVERY_STOP_INFO_META => {
1828 Some("COLOCATION_DISCOVERY_STOP_INFO_META")
1829 }
1830 Self::COLOCATION_ADVERTISEMENT_START_INFO_META => {
1831 Some("COLOCATION_ADVERTISEMENT_START_INFO_META")
1832 }
1833 Self::COLOCATION_ADVERTISEMENT_STOP_INFO_META => {
1834 Some("COLOCATION_ADVERTISEMENT_STOP_INFO_META")
1835 }
1836 Self::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1837 Some("EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1838 }
1839 Self::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1840 Some("EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1841 }
1842 Self::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META => {
1843 Some("EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META")
1844 }
1845 Self::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META => {
1846 Some("EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META")
1847 }
1848 Self::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META => {
1849 Some("EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META")
1850 }
1851 Self::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META => {
1852 Some("EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META")
1853 }
1854 Self::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META => {
1855 Some("EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META")
1856 }
1857 Self::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META => {
1858 Some("SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META")
1859 }
1860 Self::SHARE_SPACES_RECIPIENT_GROUPS_META => Some("SHARE_SPACES_RECIPIENT_GROUPS_META"),
1861 Self::SPACE_GROUP_UUID_FILTER_INFO_META => Some("SPACE_GROUP_UUID_FILTER_INFO_META"),
1862 Self::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META => {
1863 Some("SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META")
1864 }
1865 Self::SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META => {
1866 Some("SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META")
1867 }
1868 Self::ENVIRONMENT_RAYCASTER_CREATE_INFO_META => {
1869 Some("ENVIRONMENT_RAYCASTER_CREATE_INFO_META")
1870 }
1871 Self::ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META => {
1872 Some("ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META")
1873 }
1874 Self::ENVIRONMENT_RAYCAST_HIT_GET_INFO_META => {
1875 Some("ENVIRONMENT_RAYCAST_HIT_GET_INFO_META")
1876 }
1877 Self::ENVIRONMENT_RAYCAST_HIT_META => Some("ENVIRONMENT_RAYCAST_HIT_META"),
1878 Self::ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META => {
1879 Some("ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META")
1880 }
1881 Self::TILE_PROPERTIES_META => Some("TILE_PROPERTIES_META"),
1882 Self::TILE_PROPERTIES_HINT_META => Some("TILE_PROPERTIES_HINT_META"),
1883 Self::ANCHOR_SHARING_INFO_ANDROID => Some("ANCHOR_SHARING_INFO_ANDROID"),
1884 Self::ANCHOR_SHARING_TOKEN_ANDROID => Some("ANCHOR_SHARING_TOKEN_ANDROID"),
1885 Self::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID => {
1886 Some("SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID")
1887 }
1888 Self::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID => {
1889 Some("SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID")
1890 }
1891 Self::TRACKABLE_MARKER_CONFIGURATION_ANDROID => {
1892 Some("TRACKABLE_MARKER_CONFIGURATION_ANDROID")
1893 }
1894 Self::TRACKABLE_MARKER_ANDROID => Some("TRACKABLE_MARKER_ANDROID"),
1895 Self::SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID => {
1896 Some("SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID")
1897 }
1898 Self::TRACKABLE_QR_CODE_CONFIGURATION_ANDROID => {
1899 Some("TRACKABLE_QR_CODE_CONFIGURATION_ANDROID")
1900 }
1901 Self::TRACKABLE_QR_CODE_ANDROID => Some("TRACKABLE_QR_CODE_ANDROID"),
1902 Self::SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID => {
1903 Some("SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID")
1904 }
1905 Self::TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID => {
1906 Some("TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID")
1907 }
1908 Self::TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID => {
1909 Some("TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID")
1910 }
1911 Self::CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID => {
1912 Some("CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID")
1913 }
1914 Self::TRACKABLE_IMAGE_CONFIGURATION_ANDROID => {
1915 Some("TRACKABLE_IMAGE_CONFIGURATION_ANDROID")
1916 }
1917 Self::TRACKABLE_IMAGE_ANDROID => Some("TRACKABLE_IMAGE_ANDROID"),
1918 Self::EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID => {
1919 Some("EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID")
1920 }
1921 Self::SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID => {
1922 Some("SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID")
1923 }
1924 Self::SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID => {
1925 Some("SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID")
1926 }
1927 Self::SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID => {
1928 Some("SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID")
1929 }
1930 Self::SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID => {
1931 Some("SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID")
1932 }
1933 Self::SCENE_SUBMESH_STATE_ANDROID => Some("SCENE_SUBMESH_STATE_ANDROID"),
1934 Self::SCENE_SUBMESH_DATA_ANDROID => Some("SCENE_SUBMESH_DATA_ANDROID"),
1935 Self::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT => {
1936 Some("SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT")
1937 }
1938 Self::SPATIAL_CONTEXT_CREATE_INFO_EXT => Some("SPATIAL_CONTEXT_CREATE_INFO_EXT"),
1939 Self::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT => {
1940 Some("CREATE_SPATIAL_CONTEXT_COMPLETION_EXT")
1941 }
1942 Self::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT => {
1943 Some("SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT")
1944 }
1945 Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT => {
1946 Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT")
1947 }
1948 Self::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT => {
1949 Some("CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT")
1950 }
1951 Self::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT => {
1952 Some("SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT")
1953 }
1954 Self::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT => {
1955 Some("SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT")
1956 }
1957 Self::SPATIAL_BUFFER_GET_INFO_EXT => Some("SPATIAL_BUFFER_GET_INFO_EXT"),
1958 Self::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT => {
1959 Some("SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT")
1960 }
1961 Self::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT => {
1962 Some("SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT")
1963 }
1964 Self::SPATIAL_COMPONENT_PARENT_LIST_EXT => Some("SPATIAL_COMPONENT_PARENT_LIST_EXT"),
1965 Self::SPATIAL_COMPONENT_MESH_3D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_3D_LIST_EXT"),
1966 Self::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT => {
1967 Some("SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT")
1968 }
1969 Self::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT => {
1970 Some("SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT")
1971 }
1972 Self::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT => {
1973 Some("EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT")
1974 }
1975 Self::SPATIAL_FILTER_TRACKING_STATE_EXT => Some("SPATIAL_FILTER_TRACKING_STATE_EXT"),
1976 Self::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT => {
1977 Some("SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT")
1978 }
1979 Self::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT => {
1980 Some("SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT")
1981 }
1982 Self::SPATIAL_COMPONENT_MESH_2D_LIST_EXT => Some("SPATIAL_COMPONENT_MESH_2D_LIST_EXT"),
1983 Self::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT => {
1984 Some("SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT")
1985 }
1986 Self::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT => {
1987 Some("SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT")
1988 }
1989 Self::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT => {
1990 Some("SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT")
1991 }
1992 Self::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT => {
1993 Some("SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT")
1994 }
1995 Self::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT => {
1996 Some("SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT")
1997 }
1998 Self::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT => {
1999 Some("SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT")
2000 }
2001 Self::SPATIAL_MARKER_SIZE_EXT => Some("SPATIAL_MARKER_SIZE_EXT"),
2002 Self::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT => {
2003 Some("SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT")
2004 }
2005 Self::SPATIAL_COMPONENT_MARKER_LIST_EXT => Some("SPATIAL_COMPONENT_MARKER_LIST_EXT"),
2006 Self::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT => {
2007 Some("SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT")
2008 }
2009 Self::SPATIAL_COMPONENT_ANCHOR_LIST_EXT => Some("SPATIAL_COMPONENT_ANCHOR_LIST_EXT"),
2010 Self::SPATIAL_ANCHOR_CREATE_INFO_EXT => Some("SPATIAL_ANCHOR_CREATE_INFO_EXT"),
2011 Self::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT => {
2012 Some("SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT")
2013 }
2014 Self::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT => {
2015 Some("CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT")
2016 }
2017 Self::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT => {
2018 Some("SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT")
2019 }
2020 Self::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT => {
2021 Some("SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT")
2022 }
2023 Self::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT => {
2024 Some("SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT")
2025 }
2026 Self::SPATIAL_ENTITY_PERSIST_INFO_EXT => Some("SPATIAL_ENTITY_PERSIST_INFO_EXT"),
2027 Self::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
2028 Some("PERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
2029 }
2030 Self::SPATIAL_ENTITY_UNPERSIST_INFO_EXT => Some("SPATIAL_ENTITY_UNPERSIST_INFO_EXT"),
2031 Self::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT => {
2032 Some("UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT")
2033 }
2034 Self::SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID => {
2035 Some("SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID")
2036 }
2037 Self::SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID => {
2038 Some("SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID")
2039 }
2040 Self::SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID => {
2041 Some("SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID")
2042 }
2043 Self::SPATIAL_RAYCAST_INFO_ANDROID => Some("SPATIAL_RAYCAST_INFO_ANDROID"),
2044 Self::SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID => {
2045 Some("SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID")
2046 }
2047 Self::SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID => {
2048 Some("SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID")
2049 }
2050 Self::SPATIAL_ANCHOR_PARENT_ANDROID => Some("SPATIAL_ANCHOR_PARENT_ANDROID"),
2051 Self::SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID => {
2052 Some("SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID")
2053 }
2054 Self::SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID => {
2055 Some("SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID")
2056 }
2057 Self::SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID => {
2058 Some("SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID")
2059 }
2060 Self::BATTERY_STATE_DISPLAY_EXT => Some("BATTERY_STATE_DISPLAY_EXT"),
2061 Self::LOADER_INIT_INFO_PROPERTIES_EXT => Some("LOADER_INIT_INFO_PROPERTIES_EXT"),
2062 Self::EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT => {
2063 Some("EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT")
2064 }
2065 _ => None,
2066 };
2067 fmt_enum(fmt, self.0, name)
2068 }
2069}
2070#[doc = "Error and return codes - see [XrResult](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrResult)"]
2071#[repr(transparent)]
2072#[derive(Copy, Clone, Eq, PartialEq, Default)]
2073pub struct Result(i32);
2074impl Result {
2075 #[doc = "Function successfully completed."]
2076 pub const SUCCESS: Result = Self(0i32);
2077 #[doc = "The specified timeout time occurred before the operation could complete."]
2078 pub const TIMEOUT_EXPIRED: Result = Self(1i32);
2079 #[doc = "The session will be lost soon."]
2080 pub const SESSION_LOSS_PENDING: Result = Self(3i32);
2081 #[doc = "No event was available."]
2082 pub const EVENT_UNAVAILABLE: Result = Self(4i32);
2083 #[doc = "The space's bounds are not known at the moment."]
2084 pub const SPACE_BOUNDS_UNAVAILABLE: Result = Self(7i32);
2085 #[doc = "The session is not in the focused state."]
2086 pub const SESSION_NOT_FOCUSED: Result = Self(8i32);
2087 #[doc = "A frame has been discarded from composition."]
2088 pub const FRAME_DISCARDED: Result = Self(9i32);
2089 #[doc = "The function usage was invalid in some way."]
2090 pub const ERROR_VALIDATION_FAILURE: Result = Self(-1i32);
2091 #[doc = "The runtime failed to handle the function in an unexpected way that is not covered by another error result."]
2092 pub const ERROR_RUNTIME_FAILURE: Result = Self(-2i32);
2093 #[doc = "A memory allocation has failed."]
2094 pub const ERROR_OUT_OF_MEMORY: Result = Self(-3i32);
2095 #[doc = "The runtime does not support the requested API version."]
2096 pub const ERROR_API_VERSION_UNSUPPORTED: Result = Self(-4i32);
2097 #[doc = "Initialization of object could not be completed."]
2098 pub const ERROR_INITIALIZATION_FAILED: Result = Self(-6i32);
2099 #[doc = "The requested function was not found or is otherwise unsupported."]
2100 pub const ERROR_FUNCTION_UNSUPPORTED: Result = Self(-7i32);
2101 #[doc = "The requested feature is not supported."]
2102 pub const ERROR_FEATURE_UNSUPPORTED: Result = Self(-8i32);
2103 #[doc = "A requested extension is not supported."]
2104 pub const ERROR_EXTENSION_NOT_PRESENT: Result = Self(-9i32);
2105 #[doc = "The runtime supports no more of the requested resource."]
2106 pub const ERROR_LIMIT_REACHED: Result = Self(-10i32);
2107 #[doc = "The supplied size was smaller than required."]
2108 pub const ERROR_SIZE_INSUFFICIENT: Result = Self(-11i32);
2109 #[doc = "A supplied object handle was invalid."]
2110 pub const ERROR_HANDLE_INVALID: Result = Self(-12i32);
2111 #[doc = "The XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated."]
2112 pub const ERROR_INSTANCE_LOST: Result = Self(-13i32);
2113 #[doc = "The session is already running."]
2114 pub const ERROR_SESSION_RUNNING: Result = Self(-14i32);
2115 #[doc = "The session is not yet running."]
2116 pub const ERROR_SESSION_NOT_RUNNING: Result = Self(-16i32);
2117 #[doc = "The XrSession was lost. It will need to be destroyed and optionally recreated."]
2118 pub const ERROR_SESSION_LOST: Result = Self(-17i32);
2119 #[doc = "The provided XrSystemId was invalid."]
2120 pub const ERROR_SYSTEM_INVALID: Result = Self(-18i32);
2121 #[doc = "The provided XrPath was not valid."]
2122 pub const ERROR_PATH_INVALID: Result = Self(-19i32);
2123 #[doc = "The maximum number of supported semantic paths has been reached."]
2124 pub const ERROR_PATH_COUNT_EXCEEDED: Result = Self(-20i32);
2125 #[doc = "The semantic path character format is invalid."]
2126 pub const ERROR_PATH_FORMAT_INVALID: Result = Self(-21i32);
2127 #[doc = "The semantic path is unsupported."]
2128 pub const ERROR_PATH_UNSUPPORTED: Result = Self(-22i32);
2129 #[doc = "The layer was NULL or otherwise invalid."]
2130 pub const ERROR_LAYER_INVALID: Result = Self(-23i32);
2131 #[doc = "The number of specified layers is greater than the supported number."]
2132 pub const ERROR_LAYER_LIMIT_EXCEEDED: Result = Self(-24i32);
2133 #[doc = "The image rect was negatively sized or otherwise invalid."]
2134 pub const ERROR_SWAPCHAIN_RECT_INVALID: Result = Self(-25i32);
2135 #[doc = "The image format is not supported by the runtime or platform."]
2136 pub const ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED: Result = Self(-26i32);
2137 #[doc = "The API used to retrieve an action's state does not match the action's type."]
2138 pub const ERROR_ACTION_TYPE_MISMATCH: Result = Self(-27i32);
2139 #[doc = "The session is not in the ready state."]
2140 pub const ERROR_SESSION_NOT_READY: Result = Self(-28i32);
2141 #[doc = "The session is not in the stopping state."]
2142 pub const ERROR_SESSION_NOT_STOPPING: Result = Self(-29i32);
2143 #[doc = "The provided XrTime was zero, negative, or out of range."]
2144 pub const ERROR_TIME_INVALID: Result = Self(-30i32);
2145 #[doc = "The specified reference space is not supported by the runtime or system."]
2146 pub const ERROR_REFERENCE_SPACE_UNSUPPORTED: Result = Self(-31i32);
2147 #[doc = "The file could not be accessed."]
2148 pub const ERROR_FILE_ACCESS_ERROR: Result = Self(-32i32);
2149 #[doc = "The file's contents were invalid."]
2150 pub const ERROR_FILE_CONTENTS_INVALID: Result = Self(-33i32);
2151 #[doc = "The specified form factor is not supported by the current runtime or platform."]
2152 pub const ERROR_FORM_FACTOR_UNSUPPORTED: Result = Self(-34i32);
2153 #[doc = "The specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off."]
2154 pub const ERROR_FORM_FACTOR_UNAVAILABLE: Result = Self(-35i32);
2155 #[doc = "A requested API layer is not present or could not be loaded."]
2156 pub const ERROR_API_LAYER_NOT_PRESENT: Result = Self(-36i32);
2157 #[doc = "The call was made without having made a previously required call."]
2158 pub const ERROR_CALL_ORDER_INVALID: Result = Self(-37i32);
2159 #[doc = "The given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements."]
2160 pub const ERROR_GRAPHICS_DEVICE_INVALID: Result = Self(-38i32);
2161 #[doc = "The supplied pose was invalid with respect to the requirements."]
2162 pub const ERROR_POSE_INVALID: Result = Self(-39i32);
2163 #[doc = "The supplied index was outside the range of valid indices."]
2164 pub const ERROR_INDEX_OUT_OF_RANGE: Result = Self(-40i32);
2165 #[doc = "The specified view configuration type is not supported by the runtime or platform."]
2166 pub const ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED: Result = Self(-41i32);
2167 #[doc = "The specified environment blend mode is not supported by the runtime or platform."]
2168 pub const ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED: Result = Self(-42i32);
2169 #[doc = "The name provided was a duplicate of an already-existing resource."]
2170 pub const ERROR_NAME_DUPLICATED: Result = Self(-44i32);
2171 #[doc = "The name provided was invalid."]
2172 pub const ERROR_NAME_INVALID: Result = Self(-45i32);
2173 #[doc = "A referenced action set is not attached to the session."]
2174 pub const ERROR_ACTIONSET_NOT_ATTACHED: Result = Self(-46i32);
2175 #[doc = "The session already has attached action sets."]
2176 pub const ERROR_ACTIONSETS_ALREADY_ATTACHED: Result = Self(-47i32);
2177 #[doc = "The localized name provided was a duplicate of an already-existing resource."]
2178 pub const ERROR_LOCALIZED_NAME_DUPLICATED: Result = Self(-48i32);
2179 #[doc = "The localized name provided was invalid."]
2180 pub const ERROR_LOCALIZED_NAME_INVALID: Result = Self(-49i32);
2181 #[doc = "The xrGet*GraphicsRequirements call was not made before calling xrCreateSession."]
2182 pub const ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING: Result = Self(-50i32);
2183 #[doc = "The loader was unable to find or load a runtime."]
2184 pub const ERROR_RUNTIME_UNAVAILABLE: Result = Self(-51i32);
2185 #[doc = "One or more of the extensions being enabled has dependency on extensions that are not enabled."]
2186 pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED: Result = Self(-1000710001i32);
2187 #[doc = "Insufficient permissions. This error is included for use by vendor extensions. The precise definition of `XR_ERROR_PERMISSION_INSUFFICIENT` and actions possible by the developer or user to resolve it can vary by platform, extension or function. The developer should refer to the documentation of the function that returned the error code and extension it was defined."]
2188 pub const ERROR_PERMISSION_INSUFFICIENT: Result = Self(-1000710000i32);
2189 #[doc = "xrSetAndroidApplicationThreadKHR failed as thread id is invalid."]
2190 pub const ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR: Result = Self(-1000003000i32);
2191 #[doc = "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority."]
2192 pub const ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR: Result = Self(-1000003001i32);
2193 #[doc = "Spatial anchor could not be created at that location."]
2194 pub const ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT: Result = Self(-1000039001i32);
2195 #[doc = "The secondary view configuration was not enabled when creating the session."]
2196 pub const ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT: Result =
2197 Self(-1000053000i32);
2198 #[doc = "The controller model key is invalid."]
2199 pub const ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT: Result = Self(-1000055000i32);
2200 #[doc = "The reprojection mode is not supported."]
2201 pub const ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT: Result = Self(-1000066000i32);
2202 #[doc = "Compute new scene not completed."]
2203 pub const ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT: Result = Self(-1000097000i32);
2204 #[doc = "Scene component id invalid."]
2205 pub const ERROR_SCENE_COMPONENT_ID_INVALID_MSFT: Result = Self(-1000097001i32);
2206 #[doc = "Scene component type mismatch."]
2207 pub const ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT: Result = Self(-1000097002i32);
2208 #[doc = "Scene mesh buffer id invalid."]
2209 pub const ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT: Result = Self(-1000097003i32);
2210 #[doc = "Scene compute feature incompatible."]
2211 pub const ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT: Result = Self(-1000097004i32);
2212 #[doc = "Scene compute consistency mismatch."]
2213 pub const ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT: Result = Self(-1000097005i32);
2214 #[doc = "The display refresh rate is not supported by the platform."]
2215 pub const ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB: Result = Self(-1000101000i32);
2216 #[doc = "The color space is not supported by the runtime."]
2217 pub const ERROR_COLOR_SPACE_UNSUPPORTED_FB: Result = Self(-1000108000i32);
2218 #[doc = "The component type is not supported for this space."]
2219 pub const ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB: Result = Self(-1000113000i32);
2220 #[doc = "The required component is not enabled for this space."]
2221 pub const ERROR_SPACE_COMPONENT_NOT_ENABLED_FB: Result = Self(-1000113001i32);
2222 #[doc = "A request to set the component's status is currently pending."]
2223 pub const ERROR_SPACE_COMPONENT_STATUS_PENDING_FB: Result = Self(-1000113002i32);
2224 #[doc = "The component is already set to the requested value."]
2225 pub const ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB: Result = Self(-1000113003i32);
2226 #[doc = "The object state is unexpected for the issued command."]
2227 pub const ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB: Result = Self(-1000118000i32);
2228 #[doc = "Trying to create an MR feature when one was already created and only one instance is allowed."]
2229 pub const ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB: Result = Self(-1000118001i32);
2230 #[doc = "Requested functionality requires a feature to be created first."]
2231 pub const ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB: Result = Self(-1000118002i32);
2232 #[doc = "Requested functionality is not permitted - application is not allowed to perform the requested operation."]
2233 pub const ERROR_NOT_PERMITTED_PASSTHROUGH_FB: Result = Self(-1000118003i32);
2234 #[doc = "There were insufficient resources available to perform an operation."]
2235 pub const ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB: Result = Self(-1000118004i32);
2236 #[doc = "Unknown Passthrough error (no further details provided)."]
2237 pub const ERROR_UNKNOWN_PASSTHROUGH_FB: Result = Self(-1000118050i32);
2238 #[doc = "The model key is invalid."]
2239 pub const ERROR_RENDER_MODEL_KEY_INVALID_FB: Result = Self(-1000119000i32);
2240 #[doc = "The model is unavailable."]
2241 pub const RENDER_MODEL_UNAVAILABLE_FB: Result = Self(1000119020i32);
2242 #[doc = "Marker tracking is disabled or the specified marker is not currently tracked."]
2243 pub const ERROR_MARKER_NOT_TRACKED_VARJO: Result = Self(-1000124000i32);
2244 #[doc = "The specified marker ID is not valid."]
2245 pub const ERROR_MARKER_ID_INVALID_VARJO: Result = Self(-1000124001i32);
2246 #[doc = "The com.magicleap.permission.MARKER_TRACKING permission was denied."]
2247 pub const ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000138000i32);
2248 #[doc = "The specified marker could not be located spatially."]
2249 pub const ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML: Result = Self(-1000138001i32);
2250 #[doc = "The marker queried does not contain data of the requested type."]
2251 pub const ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML: Result = Self(-1000138002i32);
2252 #[doc = "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML."]
2253 pub const ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML: Result = Self(-1000138003i32);
2254 #[doc = "The marker id passed to the function was invalid."]
2255 pub const ERROR_MARKER_INVALID_ML: Result = Self(-1000138004i32);
2256 #[doc = "The localization map being imported is not compatible with current OS or mode."]
2257 pub const ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML: Result = Self(-1000139000i32);
2258 #[doc = "The localization map requested is not available."]
2259 pub const ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML: Result = Self(-1000139001i32);
2260 #[doc = "The map localization service failed to fulfill the request, retry later."]
2261 pub const ERROR_LOCALIZATION_MAP_FAIL_ML: Result = Self(-1000139002i32);
2262 #[doc = "The com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied."]
2263 pub const ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML: Result =
2264 Self(-1000139003i32);
2265 #[doc = "The com.magicleap.permission.SPACE_MANAGER permission was denied."]
2266 pub const ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML: Result = Self(-1000139004i32);
2267 #[doc = "The map being imported already exists in the system."]
2268 pub const ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML: Result = Self(-1000139005i32);
2269 #[doc = "The map localization service cannot export cloud based maps."]
2270 pub const ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML: Result = Self(-1000139006i32);
2271 #[doc = "The com.magicleap.permission.SPATIAL_ANCHOR permission was not granted."]
2272 pub const ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML: Result = Self(-1000140000i32);
2273 #[doc = "Operation failed because the system is not localized into a localization map."]
2274 pub const ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML: Result = Self(-1000140001i32);
2275 #[doc = "Operation failed because it is performed outside of the localization map."]
2276 pub const ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML: Result = Self(-1000140002i32);
2277 #[doc = "Operation failed because the space referenced cannot be located."]
2278 pub const ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000140003i32);
2279 #[doc = "The anchor references was not found."]
2280 pub const ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML: Result = Self(-1000141000i32);
2281 #[doc = "A spatial anchor was not found associated with the spatial anchor name provided"]
2282 pub const ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT: Result = Self(-1000142001i32);
2283 #[doc = "The spatial anchor name provided was not valid"]
2284 pub const ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT: Result = Self(-1000142002i32);
2285 #[doc = "Marker does not encode a string."]
2286 pub const SCENE_MARKER_DATA_NOT_STRING_MSFT: Result = Self(1000147000i32);
2287 #[doc = "Anchor import from cloud or export from device failed."]
2288 pub const ERROR_SPACE_MAPPING_INSUFFICIENT_FB: Result = Self(-1000169000i32);
2289 #[doc = "Anchors were downloaded from the cloud but failed to be imported/aligned on the device."]
2290 pub const ERROR_SPACE_LOCALIZATION_FAILED_FB: Result = Self(-1000169001i32);
2291 #[doc = "Timeout occurred while waiting for network request to complete."]
2292 pub const ERROR_SPACE_NETWORK_TIMEOUT_FB: Result = Self(-1000169002i32);
2293 #[doc = "The network request failed."]
2294 pub const ERROR_SPACE_NETWORK_REQUEST_FAILED_FB: Result = Self(-1000169003i32);
2295 #[doc = "Cloud storage is required for this operation but is currently disabled."]
2296 pub const ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB: Result = Self(-1000169004i32);
2297 #[doc = "Resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption."]
2298 pub const ERROR_SPACE_INSUFFICIENT_RESOURCES_META: Result = Self(-1000259000i32);
2299 #[doc = "Operation could not be completed until resources used are reduced or storage expanded."]
2300 pub const ERROR_SPACE_STORAGE_AT_CAPACITY_META: Result = Self(-1000259001i32);
2301 #[doc = "Look around the environment more for space tracking to function."]
2302 pub const ERROR_SPACE_INSUFFICIENT_VIEW_META: Result = Self(-1000259002i32);
2303 #[doc = "Space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs."]
2304 pub const ERROR_SPACE_PERMISSION_INSUFFICIENT_META: Result = Self(-1000259003i32);
2305 #[doc = "Operation cancelled due to rate limiting. Recommend retrying after a short delay."]
2306 pub const ERROR_SPACE_RATE_LIMITED_META: Result = Self(-1000259004i32);
2307 #[doc = "Environment too dark for tracking to complete operation."]
2308 pub const ERROR_SPACE_TOO_DARK_META: Result = Self(-1000259005i32);
2309 #[doc = "Environment too bright for tracking to complete operation."]
2310 pub const ERROR_SPACE_TOO_BRIGHT_META: Result = Self(-1000259006i32);
2311 #[doc = "The provided data buffer did not match the required size."]
2312 pub const ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META: Result = Self(-1000266000i32);
2313 #[doc = "Warning: The requested depth image is not yet available."]
2314 pub const ENVIRONMENT_DEPTH_NOT_AVAILABLE_META: Result = Self(1000291000i32);
2315 #[doc = "The render model ID is invalid."]
2316 pub const ERROR_RENDER_MODEL_ID_INVALID_EXT: Result = Self(-1000300000i32);
2317 #[doc = "The render model asset is unavailable."]
2318 pub const ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT: Result = Self(-1000300001i32);
2319 #[doc = "A glTF extension is required."]
2320 pub const ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT: Result = Self(-1000300002i32);
2321 #[doc = "The provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`"]
2322 pub const ERROR_NOT_INTERACTION_RENDER_MODEL_EXT: Result = Self(-1000301000i32);
2323 #[doc = "Tracking optimization hint is already set for the domain."]
2324 pub const ERROR_HINT_ALREADY_SET_QCOM: Result = Self(-1000306000i32);
2325 #[doc = "The provided space is valid but not an anchor."]
2326 pub const ERROR_NOT_AN_ANCHOR_HTC: Result = Self(-1000319000i32);
2327 #[doc = "The spatial entity id is invalid."]
2328 pub const ERROR_SPATIAL_ENTITY_ID_INVALID_BD: Result = Self(-1000389000i32);
2329 #[doc = "The spatial sensing service is unavailable."]
2330 pub const ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD: Result = Self(-1000389001i32);
2331 #[doc = "The spatial entity does not support anchor."]
2332 pub const ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD: Result = Self(-1000389002i32);
2333 #[doc = "The spatial anchor is not found."]
2334 pub const ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD: Result = Self(-1000390000i32);
2335 #[doc = "The network transmission timeout."]
2336 pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD: Result = Self(-1000391000i32);
2337 #[doc = "The authentication for the user account failed."]
2338 pub const ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD: Result = Self(-1000391001i32);
2339 #[doc = "The network connection failed, e.g. the connection is unstable or disconnected."]
2340 pub const ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD: Result = Self(-1000391002i32);
2341 #[doc = "The spatial anchor localization failed."]
2342 pub const ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD: Result = Self(-1000391003i32);
2343 #[doc = "The feature points of spatial anchor map are insufficient."]
2344 pub const ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD: Result = Self(-1000391004i32);
2345 #[doc = "The scene capture is failed, for example exiting abnormally."]
2346 pub const ERROR_SCENE_CAPTURE_FAILURE_BD: Result = Self(-1000392000i32);
2347 #[doc = "The space passed to the function was not locatable."]
2348 pub const ERROR_SPACE_NOT_LOCATABLE_EXT: Result = Self(-1000429000i32);
2349 #[doc = "The permission for this resource was not granted."]
2350 pub const ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT: Result = Self(-1000429001i32);
2351 #[doc = "Indicates that the parameters contains multiple trackable types."]
2352 pub const ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID: Result = Self(-1000455000i32);
2353 #[doc = "Indicates that the function is not supported by the given trackable type."]
2354 pub const ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID: Result = Self(-1000455001i32);
2355 #[doc = "XrUuidExt passed to the function was not found to be a persisted anchor."]
2356 pub const ERROR_ANCHOR_ID_NOT_FOUND_ANDROID: Result = Self(-1000457000i32);
2357 #[doc = "XrUuidExt passed to the function was already marked to be persisted."]
2358 pub const ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID: Result = Self(-1000457001i32);
2359 #[doc = "ANchor cannot be persisted because it is not tracking."]
2360 pub const ERROR_ANCHOR_NOT_TRACKING_ANDROID: Result = Self(-1000457002i32);
2361 #[doc = "Persisted data stored by this app has not been loaded yet."]
2362 pub const ERROR_PERSISTED_DATA_NOT_READY_ANDROID: Result = Self(-1000457003i32);
2363 #[doc = "The underlying tracking service is not yet ready."]
2364 pub const ERROR_SERVICE_NOT_READY_ANDROID: Result = Self(-1000458000i32);
2365 #[doc = "Returned by passthrough layer functions to indicate the mesh data exceeds the supported limit."]
2366 pub const ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID: Result = Self(-1000462000i32);
2367 #[doc = "Returned by completion function to indicate future is not ready."]
2368 pub const ERROR_FUTURE_PENDING_EXT: Result = Self(-1000469001i32);
2369 #[doc = "Returned by completion function to indicate future is not valid."]
2370 pub const ERROR_FUTURE_INVALID_EXT: Result = Self(-1000469002i32);
2371 #[doc = "The com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted."]
2372 pub const ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML: Result = Self(-1000473000i32);
2373 #[doc = "Incompatible SKU detected."]
2374 pub const ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML: Result = Self(-1000473001i32);
2375 #[doc = "The world mesh detector permission was not granted."]
2376 pub const ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML: Result = Self(-1000474000i32);
2377 #[doc = "At the time of the call the runtime was unable to locate the space and cannot fulfill your request."]
2378 pub const ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML: Result = Self(-1000474001i32);
2379 #[doc = "Permission to track facial expressions was not granted"]
2380 pub const ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML: Result = Self(1000482000i32);
2381 #[doc = "The network request failed."]
2382 pub const ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META: Result = Self(-1000571001i32);
2383 #[doc = "The runtime does not have any methods available to perform discovery."]
2384 pub const ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META: Result = Self(-1000571002i32);
2385 #[doc = "Colocation advertisement has already been enabled"]
2386 pub const COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META: Result = Self(1000571003i32);
2387 #[doc = "Colocation discovery has already been enabled"]
2388 pub const COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META: Result = Self(1000571004i32);
2389 #[doc = "The group UUID was not found within the runtime"]
2390 pub const ERROR_SPACE_GROUP_NOT_FOUND_META: Result = Self(-1000572002i32);
2391 #[doc = "Operation not allowed because anchor is not owned by the XrSession in which the function is being called."]
2392 pub const ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID: Result = Self(-1000701000i32);
2393 #[doc = "Indicates that the input reference image format is not supported."]
2394 pub const ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID: Result = Self(-1000709000i32);
2395 pub const ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR: Result =
2396 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED;
2397 pub const ERROR_PERMISSION_INSUFFICIENT_KHR: Result = Self::ERROR_PERMISSION_INSUFFICIENT;
2398 #[doc = "The specified spatial capability is not supported by the runtime or the system."]
2399 pub const ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT: Result = Self(-1000740001i32);
2400 #[doc = "The specified spatial entity id is invalid or an entity with that id does not exist in the environment."]
2401 pub const ERROR_SPATIAL_ENTITY_ID_INVALID_EXT: Result = Self(-1000740002i32);
2402 #[doc = "The specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data."]
2403 pub const ERROR_SPATIAL_BUFFER_ID_INVALID_EXT: Result = Self(-1000740003i32);
2404 #[doc = "The specified spatial component is not supported by the runtime or the system for the given capability."]
2405 pub const ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT: Result = Self(-1000740004i32);
2406 #[doc = "The specified spatial capability configuration is invalid."]
2407 pub const ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT: Result = Self(-1000740005i32);
2408 #[doc = "The specified spatial component is not enabled for the spatial context."]
2409 pub const ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT: Result = Self(-1000740006i32);
2410 #[doc = "The specified spatial persistence scope is not supported by the runtime or the system."]
2411 pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT: Result = Self(-1000763001i32);
2412 #[doc = "The scope configured for the persistence context is incompatible for the current spatial entity."]
2413 pub const ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT: Result = Self(-1000781001i32);
2414 #[doc = "Spatial entity with parent ID does not have at least one component enumerated by xrEnumerateSpatialAnchorAttachableComponentsANDROID"]
2415 pub const ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID: Result =
2416 Self(-1000790001i32);
2417 #[doc = "The specified spatial entity ID is invalid for an anchor."]
2418 pub const ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID: Result = Self(-1000795001i32);
2419 pub fn from_raw(x: i32) -> Self {
2420 Self(x)
2421 }
2422 pub fn into_raw(self) -> i32 {
2423 self.0
2424 }
2425}
2426impl fmt::Debug for Result {
2427 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2428 let name = match *self {
2429 Self::SUCCESS => Some("SUCCESS"),
2430 Self::TIMEOUT_EXPIRED => Some("TIMEOUT_EXPIRED"),
2431 Self::SESSION_LOSS_PENDING => Some("SESSION_LOSS_PENDING"),
2432 Self::EVENT_UNAVAILABLE => Some("EVENT_UNAVAILABLE"),
2433 Self::SPACE_BOUNDS_UNAVAILABLE => Some("SPACE_BOUNDS_UNAVAILABLE"),
2434 Self::SESSION_NOT_FOCUSED => Some("SESSION_NOT_FOCUSED"),
2435 Self::FRAME_DISCARDED => Some("FRAME_DISCARDED"),
2436 Self::ERROR_VALIDATION_FAILURE => Some("ERROR_VALIDATION_FAILURE"),
2437 Self::ERROR_RUNTIME_FAILURE => Some("ERROR_RUNTIME_FAILURE"),
2438 Self::ERROR_OUT_OF_MEMORY => Some("ERROR_OUT_OF_MEMORY"),
2439 Self::ERROR_API_VERSION_UNSUPPORTED => Some("ERROR_API_VERSION_UNSUPPORTED"),
2440 Self::ERROR_INITIALIZATION_FAILED => Some("ERROR_INITIALIZATION_FAILED"),
2441 Self::ERROR_FUNCTION_UNSUPPORTED => Some("ERROR_FUNCTION_UNSUPPORTED"),
2442 Self::ERROR_FEATURE_UNSUPPORTED => Some("ERROR_FEATURE_UNSUPPORTED"),
2443 Self::ERROR_EXTENSION_NOT_PRESENT => Some("ERROR_EXTENSION_NOT_PRESENT"),
2444 Self::ERROR_LIMIT_REACHED => Some("ERROR_LIMIT_REACHED"),
2445 Self::ERROR_SIZE_INSUFFICIENT => Some("ERROR_SIZE_INSUFFICIENT"),
2446 Self::ERROR_HANDLE_INVALID => Some("ERROR_HANDLE_INVALID"),
2447 Self::ERROR_INSTANCE_LOST => Some("ERROR_INSTANCE_LOST"),
2448 Self::ERROR_SESSION_RUNNING => Some("ERROR_SESSION_RUNNING"),
2449 Self::ERROR_SESSION_NOT_RUNNING => Some("ERROR_SESSION_NOT_RUNNING"),
2450 Self::ERROR_SESSION_LOST => Some("ERROR_SESSION_LOST"),
2451 Self::ERROR_SYSTEM_INVALID => Some("ERROR_SYSTEM_INVALID"),
2452 Self::ERROR_PATH_INVALID => Some("ERROR_PATH_INVALID"),
2453 Self::ERROR_PATH_COUNT_EXCEEDED => Some("ERROR_PATH_COUNT_EXCEEDED"),
2454 Self::ERROR_PATH_FORMAT_INVALID => Some("ERROR_PATH_FORMAT_INVALID"),
2455 Self::ERROR_PATH_UNSUPPORTED => Some("ERROR_PATH_UNSUPPORTED"),
2456 Self::ERROR_LAYER_INVALID => Some("ERROR_LAYER_INVALID"),
2457 Self::ERROR_LAYER_LIMIT_EXCEEDED => Some("ERROR_LAYER_LIMIT_EXCEEDED"),
2458 Self::ERROR_SWAPCHAIN_RECT_INVALID => Some("ERROR_SWAPCHAIN_RECT_INVALID"),
2459 Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => Some("ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED"),
2460 Self::ERROR_ACTION_TYPE_MISMATCH => Some("ERROR_ACTION_TYPE_MISMATCH"),
2461 Self::ERROR_SESSION_NOT_READY => Some("ERROR_SESSION_NOT_READY"),
2462 Self::ERROR_SESSION_NOT_STOPPING => Some("ERROR_SESSION_NOT_STOPPING"),
2463 Self::ERROR_TIME_INVALID => Some("ERROR_TIME_INVALID"),
2464 Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => Some("ERROR_REFERENCE_SPACE_UNSUPPORTED"),
2465 Self::ERROR_FILE_ACCESS_ERROR => Some("ERROR_FILE_ACCESS_ERROR"),
2466 Self::ERROR_FILE_CONTENTS_INVALID => Some("ERROR_FILE_CONTENTS_INVALID"),
2467 Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some("ERROR_FORM_FACTOR_UNSUPPORTED"),
2468 Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some("ERROR_FORM_FACTOR_UNAVAILABLE"),
2469 Self::ERROR_API_LAYER_NOT_PRESENT => Some("ERROR_API_LAYER_NOT_PRESENT"),
2470 Self::ERROR_CALL_ORDER_INVALID => Some("ERROR_CALL_ORDER_INVALID"),
2471 Self::ERROR_GRAPHICS_DEVICE_INVALID => Some("ERROR_GRAPHICS_DEVICE_INVALID"),
2472 Self::ERROR_POSE_INVALID => Some("ERROR_POSE_INVALID"),
2473 Self::ERROR_INDEX_OUT_OF_RANGE => Some("ERROR_INDEX_OUT_OF_RANGE"),
2474 Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => {
2475 Some("ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED")
2476 }
2477 Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => {
2478 Some("ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED")
2479 }
2480 Self::ERROR_NAME_DUPLICATED => Some("ERROR_NAME_DUPLICATED"),
2481 Self::ERROR_NAME_INVALID => Some("ERROR_NAME_INVALID"),
2482 Self::ERROR_ACTIONSET_NOT_ATTACHED => Some("ERROR_ACTIONSET_NOT_ATTACHED"),
2483 Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => Some("ERROR_ACTIONSETS_ALREADY_ATTACHED"),
2484 Self::ERROR_LOCALIZED_NAME_DUPLICATED => Some("ERROR_LOCALIZED_NAME_DUPLICATED"),
2485 Self::ERROR_LOCALIZED_NAME_INVALID => Some("ERROR_LOCALIZED_NAME_INVALID"),
2486 Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => {
2487 Some("ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING")
2488 }
2489 Self::ERROR_RUNTIME_UNAVAILABLE => Some("ERROR_RUNTIME_UNAVAILABLE"),
2490 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => {
2491 Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED")
2492 }
2493 Self::ERROR_PERMISSION_INSUFFICIENT => Some("ERROR_PERMISSION_INSUFFICIENT"),
2494 Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2495 Some("ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR")
2496 }
2497 Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => {
2498 Some("ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR")
2499 }
2500 Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2501 Some("ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT")
2502 }
2503 Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2504 Some("ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT")
2505 }
2506 Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2507 Some("ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT")
2508 }
2509 Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2510 Some("ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT")
2511 }
2512 Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2513 Some("ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT")
2514 }
2515 Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => {
2516 Some("ERROR_SCENE_COMPONENT_ID_INVALID_MSFT")
2517 }
2518 Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => {
2519 Some("ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT")
2520 }
2521 Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => {
2522 Some("ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT")
2523 }
2524 Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2525 Some("ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT")
2526 }
2527 Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2528 Some("ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT")
2529 }
2530 Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2531 Some("ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB")
2532 }
2533 Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => Some("ERROR_COLOR_SPACE_UNSUPPORTED_FB"),
2534 Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2535 Some("ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB")
2536 }
2537 Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2538 Some("ERROR_SPACE_COMPONENT_NOT_ENABLED_FB")
2539 }
2540 Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2541 Some("ERROR_SPACE_COMPONENT_STATUS_PENDING_FB")
2542 }
2543 Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2544 Some("ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB")
2545 }
2546 Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2547 Some("ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB")
2548 }
2549 Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => {
2550 Some("ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB")
2551 }
2552 Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2553 Some("ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB")
2554 }
2555 Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some("ERROR_NOT_PERMITTED_PASSTHROUGH_FB"),
2556 Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2557 Some("ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB")
2558 }
2559 Self::ERROR_UNKNOWN_PASSTHROUGH_FB => Some("ERROR_UNKNOWN_PASSTHROUGH_FB"),
2560 Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("ERROR_RENDER_MODEL_KEY_INVALID_FB"),
2561 Self::RENDER_MODEL_UNAVAILABLE_FB => Some("RENDER_MODEL_UNAVAILABLE_FB"),
2562 Self::ERROR_MARKER_NOT_TRACKED_VARJO => Some("ERROR_MARKER_NOT_TRACKED_VARJO"),
2563 Self::ERROR_MARKER_ID_INVALID_VARJO => Some("ERROR_MARKER_ID_INVALID_VARJO"),
2564 Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2565 Some("ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML")
2566 }
2567 Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2568 Some("ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML")
2569 }
2570 Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2571 Some("ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML")
2572 }
2573 Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => {
2574 Some("ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML")
2575 }
2576 Self::ERROR_MARKER_INVALID_ML => Some("ERROR_MARKER_INVALID_ML"),
2577 Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => {
2578 Some("ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML")
2579 }
2580 Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2581 Some("ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML")
2582 }
2583 Self::ERROR_LOCALIZATION_MAP_FAIL_ML => Some("ERROR_LOCALIZATION_MAP_FAIL_ML"),
2584 Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
2585 Some("ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML")
2586 }
2587 Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
2588 Some("ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML")
2589 }
2590 Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
2591 Some("ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML")
2592 }
2593 Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
2594 Some("ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML")
2595 }
2596 Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
2597 Some("ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML")
2598 }
2599 Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
2600 Some("ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML")
2601 }
2602 Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
2603 Some("ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML")
2604 }
2605 Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
2606 Some("ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML")
2607 }
2608 Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
2609 Some("ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML")
2610 }
2611 Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => {
2612 Some("ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT")
2613 }
2614 Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
2615 Some("ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT")
2616 }
2617 Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("SCENE_MARKER_DATA_NOT_STRING_MSFT"),
2618 Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
2619 Some("ERROR_SPACE_MAPPING_INSUFFICIENT_FB")
2620 }
2621 Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some("ERROR_SPACE_LOCALIZATION_FAILED_FB"),
2622 Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => Some("ERROR_SPACE_NETWORK_TIMEOUT_FB"),
2623 Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => {
2624 Some("ERROR_SPACE_NETWORK_REQUEST_FAILED_FB")
2625 }
2626 Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
2627 Some("ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB")
2628 }
2629 Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => {
2630 Some("ERROR_SPACE_INSUFFICIENT_RESOURCES_META")
2631 }
2632 Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => {
2633 Some("ERROR_SPACE_STORAGE_AT_CAPACITY_META")
2634 }
2635 Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => Some("ERROR_SPACE_INSUFFICIENT_VIEW_META"),
2636 Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => {
2637 Some("ERROR_SPACE_PERMISSION_INSUFFICIENT_META")
2638 }
2639 Self::ERROR_SPACE_RATE_LIMITED_META => Some("ERROR_SPACE_RATE_LIMITED_META"),
2640 Self::ERROR_SPACE_TOO_DARK_META => Some("ERROR_SPACE_TOO_DARK_META"),
2641 Self::ERROR_SPACE_TOO_BRIGHT_META => Some("ERROR_SPACE_TOO_BRIGHT_META"),
2642 Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
2643 Some("ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META")
2644 }
2645 Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
2646 Some("ENVIRONMENT_DEPTH_NOT_AVAILABLE_META")
2647 }
2648 Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("ERROR_RENDER_MODEL_ID_INVALID_EXT"),
2649 Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
2650 Some("ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT")
2651 }
2652 Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
2653 Some("ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT")
2654 }
2655 Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => {
2656 Some("ERROR_NOT_INTERACTION_RENDER_MODEL_EXT")
2657 }
2658 Self::ERROR_HINT_ALREADY_SET_QCOM => Some("ERROR_HINT_ALREADY_SET_QCOM"),
2659 Self::ERROR_NOT_AN_ANCHOR_HTC => Some("ERROR_NOT_AN_ANCHOR_HTC"),
2660 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("ERROR_SPATIAL_ENTITY_ID_INVALID_BD"),
2661 Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
2662 Some("ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD")
2663 }
2664 Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
2665 Some("ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD")
2666 }
2667 Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD"),
2668 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
2669 Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD")
2670 }
2671 Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
2672 Some("ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD")
2673 }
2674 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => {
2675 Some("ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD")
2676 }
2677 Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
2678 Some("ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD")
2679 }
2680 Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
2681 Some("ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD")
2682 }
2683 Self::ERROR_SCENE_CAPTURE_FAILURE_BD => Some("ERROR_SCENE_CAPTURE_FAILURE_BD"),
2684 Self::ERROR_SPACE_NOT_LOCATABLE_EXT => Some("ERROR_SPACE_NOT_LOCATABLE_EXT"),
2685 Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
2686 Some("ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT")
2687 }
2688 Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
2689 Some("ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID")
2690 }
2691 Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
2692 Some("ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID")
2693 }
2694 Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => Some("ERROR_ANCHOR_ID_NOT_FOUND_ANDROID"),
2695 Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
2696 Some("ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID")
2697 }
2698 Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => Some("ERROR_ANCHOR_NOT_TRACKING_ANDROID"),
2699 Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
2700 Some("ERROR_PERSISTED_DATA_NOT_READY_ANDROID")
2701 }
2702 Self::ERROR_SERVICE_NOT_READY_ANDROID => Some("ERROR_SERVICE_NOT_READY_ANDROID"),
2703 Self::ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID => {
2704 Some("ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID")
2705 }
2706 Self::ERROR_FUTURE_PENDING_EXT => Some("ERROR_FUTURE_PENDING_EXT"),
2707 Self::ERROR_FUTURE_INVALID_EXT => Some("ERROR_FUTURE_INVALID_EXT"),
2708 Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
2709 Some("ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML")
2710 }
2711 Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
2712 Some("ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML")
2713 }
2714 Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
2715 Some("ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML")
2716 }
2717 Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => {
2718 Some("ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML")
2719 }
2720 Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
2721 Some("ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML")
2722 }
2723 Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
2724 Some("ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META")
2725 }
2726 Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
2727 Some("ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META")
2728 }
2729 Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
2730 Some("COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META")
2731 }
2732 Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
2733 Some("COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META")
2734 }
2735 Self::ERROR_SPACE_GROUP_NOT_FOUND_META => Some("ERROR_SPACE_GROUP_NOT_FOUND_META"),
2736 Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => {
2737 Some("ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID")
2738 }
2739 Self::ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID => {
2740 Some("ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID")
2741 }
2742 Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => {
2743 Some("ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT")
2744 }
2745 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => {
2746 Some("ERROR_SPATIAL_ENTITY_ID_INVALID_EXT")
2747 }
2748 Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => {
2749 Some("ERROR_SPATIAL_BUFFER_ID_INVALID_EXT")
2750 }
2751 Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => {
2752 Some("ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT")
2753 }
2754 Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
2755 Some("ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT")
2756 }
2757 Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
2758 Some("ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT")
2759 }
2760 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => {
2761 Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT")
2762 }
2763 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => {
2764 Some("ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT")
2765 }
2766 Self::ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID => {
2767 Some("ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID")
2768 }
2769 Self::ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID => {
2770 Some("ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID")
2771 }
2772 _ => None,
2773 };
2774 fmt_enum(fmt, self.0, name)
2775 }
2776}
2777impl fmt::Display for Result {
2778 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
2779 let reason = match *self {
2780 Self::SUCCESS => Some("function successfully completed"),
2781 Self::TIMEOUT_EXPIRED => {
2782 Some("the specified timeout time occurred before the operation could complete")
2783 }
2784 Self::SESSION_LOSS_PENDING => Some("the session will be lost soon"),
2785 Self::EVENT_UNAVAILABLE => Some("no event was available"),
2786 Self::SPACE_BOUNDS_UNAVAILABLE => {
2787 Some("the space's bounds are not known at the moment")
2788 }
2789 Self::SESSION_NOT_FOCUSED => Some("the session is not in the focused state"),
2790 Self::FRAME_DISCARDED => Some("a frame has been discarded from composition"),
2791 Self::ERROR_VALIDATION_FAILURE => Some("the function usage was invalid in some way"),
2792 Self::ERROR_RUNTIME_FAILURE => Some(
2793 "the runtime failed to handle the function in an unexpected way that is not covered by another error result",
2794 ),
2795 Self::ERROR_OUT_OF_MEMORY => Some("a memory allocation has failed"),
2796 Self::ERROR_API_VERSION_UNSUPPORTED => {
2797 Some("the runtime does not support the requested API version")
2798 }
2799 Self::ERROR_INITIALIZATION_FAILED => {
2800 Some("initialization of object could not be completed")
2801 }
2802 Self::ERROR_FUNCTION_UNSUPPORTED => {
2803 Some("the requested function was not found or is otherwise unsupported")
2804 }
2805 Self::ERROR_FEATURE_UNSUPPORTED => Some("the requested feature is not supported"),
2806 Self::ERROR_EXTENSION_NOT_PRESENT => Some("a requested extension is not supported"),
2807 Self::ERROR_LIMIT_REACHED => {
2808 Some("the runtime supports no more of the requested resource")
2809 }
2810 Self::ERROR_SIZE_INSUFFICIENT => Some("the supplied size was smaller than required"),
2811 Self::ERROR_HANDLE_INVALID => Some("a supplied object handle was invalid"),
2812 Self::ERROR_INSTANCE_LOST => Some(
2813 "the XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated",
2814 ),
2815 Self::ERROR_SESSION_RUNNING => Some("the session is already running"),
2816 Self::ERROR_SESSION_NOT_RUNNING => Some("the session is not yet running"),
2817 Self::ERROR_SESSION_LOST => Some(
2818 "the XrSession was lost. It will need to be destroyed and optionally recreated",
2819 ),
2820 Self::ERROR_SYSTEM_INVALID => Some("the provided XrSystemId was invalid"),
2821 Self::ERROR_PATH_INVALID => Some("the provided XrPath was not valid"),
2822 Self::ERROR_PATH_COUNT_EXCEEDED => {
2823 Some("the maximum number of supported semantic paths has been reached")
2824 }
2825 Self::ERROR_PATH_FORMAT_INVALID => {
2826 Some("the semantic path character format is invalid")
2827 }
2828 Self::ERROR_PATH_UNSUPPORTED => Some("the semantic path is unsupported"),
2829 Self::ERROR_LAYER_INVALID => Some("the layer was NULL or otherwise invalid"),
2830 Self::ERROR_LAYER_LIMIT_EXCEEDED => {
2831 Some("the number of specified layers is greater than the supported number")
2832 }
2833 Self::ERROR_SWAPCHAIN_RECT_INVALID => {
2834 Some("the image rect was negatively sized or otherwise invalid")
2835 }
2836 Self::ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED => {
2837 Some("the image format is not supported by the runtime or platform")
2838 }
2839 Self::ERROR_ACTION_TYPE_MISMATCH => {
2840 Some("the API used to retrieve an action's state does not match the action's type")
2841 }
2842 Self::ERROR_SESSION_NOT_READY => Some("the session is not in the ready state"),
2843 Self::ERROR_SESSION_NOT_STOPPING => Some("the session is not in the stopping state"),
2844 Self::ERROR_TIME_INVALID => {
2845 Some("the provided XrTime was zero, negative, or out of range")
2846 }
2847 Self::ERROR_REFERENCE_SPACE_UNSUPPORTED => {
2848 Some("the specified reference space is not supported by the runtime or system")
2849 }
2850 Self::ERROR_FILE_ACCESS_ERROR => Some("the file could not be accessed"),
2851 Self::ERROR_FILE_CONTENTS_INVALID => Some("the file's contents were invalid"),
2852 Self::ERROR_FORM_FACTOR_UNSUPPORTED => Some(
2853 "the specified form factor is not supported by the current runtime or platform",
2854 ),
2855 Self::ERROR_FORM_FACTOR_UNAVAILABLE => Some(
2856 "the specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off",
2857 ),
2858 Self::ERROR_API_LAYER_NOT_PRESENT => {
2859 Some("a requested API layer is not present or could not be loaded")
2860 }
2861 Self::ERROR_CALL_ORDER_INVALID => {
2862 Some("the call was made without having made a previously required call")
2863 }
2864 Self::ERROR_GRAPHICS_DEVICE_INVALID => Some(
2865 "the given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements",
2866 ),
2867 Self::ERROR_POSE_INVALID => {
2868 Some("the supplied pose was invalid with respect to the requirements")
2869 }
2870 Self::ERROR_INDEX_OUT_OF_RANGE => {
2871 Some("the supplied index was outside the range of valid indices")
2872 }
2873 Self::ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED => Some(
2874 "the specified view configuration type is not supported by the runtime or platform",
2875 ),
2876 Self::ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED => Some(
2877 "the specified environment blend mode is not supported by the runtime or platform",
2878 ),
2879 Self::ERROR_NAME_DUPLICATED => {
2880 Some("the name provided was a duplicate of an already-existing resource")
2881 }
2882 Self::ERROR_NAME_INVALID => Some("the name provided was invalid"),
2883 Self::ERROR_ACTIONSET_NOT_ATTACHED => {
2884 Some("a referenced action set is not attached to the session")
2885 }
2886 Self::ERROR_ACTIONSETS_ALREADY_ATTACHED => {
2887 Some("the session already has attached action sets")
2888 }
2889 Self::ERROR_LOCALIZED_NAME_DUPLICATED => {
2890 Some("the localized name provided was a duplicate of an already-existing resource")
2891 }
2892 Self::ERROR_LOCALIZED_NAME_INVALID => Some("the localized name provided was invalid"),
2893 Self::ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING => Some(
2894 "the xrGet*GraphicsRequirements call was not made before calling xrCreateSession",
2895 ),
2896 Self::ERROR_RUNTIME_UNAVAILABLE => {
2897 Some("the loader was unable to find or load a runtime")
2898 }
2899 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED => Some(
2900 "one or more of the extensions being enabled has dependency on extensions that are not enabled",
2901 ),
2902 Self::ERROR_PERMISSION_INSUFFICIENT => Some(
2903 "insufficient permissions. This error is included for use by vendor extensions. The precise definition of `XR_ERROR_PERMISSION_INSUFFICIENT` and actions possible by the developer or user to resolve it can vary by platform, extension or function. The developer should refer to the documentation of the function that returned the error code and extension it was defined",
2904 ),
2905 Self::ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR => {
2906 Some("xrSetAndroidApplicationThreadKHR failed as thread id is invalid")
2907 }
2908 Self::ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR => Some(
2909 "xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority",
2910 ),
2911 Self::ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT => {
2912 Some("spatial anchor could not be created at that location")
2913 }
2914 Self::ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT => {
2915 Some("the secondary view configuration was not enabled when creating the session")
2916 }
2917 Self::ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT => {
2918 Some("the controller model key is invalid")
2919 }
2920 Self::ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT => {
2921 Some("the reprojection mode is not supported")
2922 }
2923 Self::ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT => {
2924 Some("compute new scene not completed")
2925 }
2926 Self::ERROR_SCENE_COMPONENT_ID_INVALID_MSFT => Some("scene component id invalid"),
2927 Self::ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT => Some("scene component type mismatch"),
2928 Self::ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT => Some("scene mesh buffer id invalid"),
2929 Self::ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT => {
2930 Some("scene compute feature incompatible")
2931 }
2932 Self::ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT => {
2933 Some("scene compute consistency mismatch")
2934 }
2935 Self::ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB => {
2936 Some("the display refresh rate is not supported by the platform")
2937 }
2938 Self::ERROR_COLOR_SPACE_UNSUPPORTED_FB => {
2939 Some("the color space is not supported by the runtime")
2940 }
2941 Self::ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB => {
2942 Some("the component type is not supported for this space")
2943 }
2944 Self::ERROR_SPACE_COMPONENT_NOT_ENABLED_FB => {
2945 Some("the required component is not enabled for this space")
2946 }
2947 Self::ERROR_SPACE_COMPONENT_STATUS_PENDING_FB => {
2948 Some("a request to set the component's status is currently pending")
2949 }
2950 Self::ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB => {
2951 Some("the component is already set to the requested value")
2952 }
2953 Self::ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB => {
2954 Some("the object state is unexpected for the issued command")
2955 }
2956 Self::ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB => Some(
2957 "trying to create an MR feature when one was already created and only one instance is allowed",
2958 ),
2959 Self::ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB => {
2960 Some("requested functionality requires a feature to be created first")
2961 }
2962 Self::ERROR_NOT_PERMITTED_PASSTHROUGH_FB => Some(
2963 "requested functionality is not permitted - application is not allowed to perform the requested operation",
2964 ),
2965 Self::ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB => {
2966 Some("there were insufficient resources available to perform an operation")
2967 }
2968 Self::ERROR_UNKNOWN_PASSTHROUGH_FB => {
2969 Some("unknown Passthrough error (no further details provided)")
2970 }
2971 Self::ERROR_RENDER_MODEL_KEY_INVALID_FB => Some("the model key is invalid"),
2972 Self::RENDER_MODEL_UNAVAILABLE_FB => Some("the model is unavailable"),
2973 Self::ERROR_MARKER_NOT_TRACKED_VARJO => {
2974 Some("marker tracking is disabled or the specified marker is not currently tracked")
2975 }
2976 Self::ERROR_MARKER_ID_INVALID_VARJO => Some("the specified marker ID is not valid"),
2977 Self::ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML => {
2978 Some("the com.magicleap.permission.MARKER_TRACKING permission was denied")
2979 }
2980 Self::ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML => {
2981 Some("the specified marker could not be located spatially")
2982 }
2983 Self::ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML => {
2984 Some("the marker queried does not contain data of the requested type")
2985 }
2986 Self::ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML => Some(
2987 "createInfo contains mutually exclusive parameters, such as setting XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML with XR_MARKER_TYPE_ARUCO_ML",
2988 ),
2989 Self::ERROR_MARKER_INVALID_ML => {
2990 Some("the marker id passed to the function was invalid")
2991 }
2992 Self::ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML => Some(
2993 "the localization map being imported is not compatible with current OS or mode",
2994 ),
2995 Self::ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML => {
2996 Some("the localization map requested is not available")
2997 }
2998 Self::ERROR_LOCALIZATION_MAP_FAIL_ML => {
2999 Some("the map localization service failed to fulfill the request, retry later")
3000 }
3001 Self::ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML => {
3002 Some("the com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied")
3003 }
3004 Self::ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML => {
3005 Some("the com.magicleap.permission.SPACE_MANAGER permission was denied")
3006 }
3007 Self::ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML => {
3008 Some("the map being imported already exists in the system")
3009 }
3010 Self::ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML => {
3011 Some("the map localization service cannot export cloud based maps")
3012 }
3013 Self::ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML => {
3014 Some("the com.magicleap.permission.SPATIAL_ANCHOR permission was not granted")
3015 }
3016 Self::ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML => {
3017 Some("operation failed because the system is not localized into a localization map")
3018 }
3019 Self::ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML => {
3020 Some("operation failed because it is performed outside of the localization map")
3021 }
3022 Self::ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML => {
3023 Some("operation failed because the space referenced cannot be located")
3024 }
3025 Self::ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML => {
3026 Some("the anchor references was not found")
3027 }
3028 Self::ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT => Some(
3029 "a spatial anchor was not found associated with the spatial anchor name provided",
3030 ),
3031 Self::ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT => {
3032 Some("the spatial anchor name provided was not valid")
3033 }
3034 Self::SCENE_MARKER_DATA_NOT_STRING_MSFT => Some("marker does not encode a string"),
3035 Self::ERROR_SPACE_MAPPING_INSUFFICIENT_FB => {
3036 Some("anchor import from cloud or export from device failed")
3037 }
3038 Self::ERROR_SPACE_LOCALIZATION_FAILED_FB => Some(
3039 "anchors were downloaded from the cloud but failed to be imported/aligned on the device",
3040 ),
3041 Self::ERROR_SPACE_NETWORK_TIMEOUT_FB => {
3042 Some("timeout occurred while waiting for network request to complete")
3043 }
3044 Self::ERROR_SPACE_NETWORK_REQUEST_FAILED_FB => Some("the network request failed"),
3045 Self::ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB => {
3046 Some("cloud storage is required for this operation but is currently disabled")
3047 }
3048 Self::ERROR_SPACE_INSUFFICIENT_RESOURCES_META => Some(
3049 "resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption",
3050 ),
3051 Self::ERROR_SPACE_STORAGE_AT_CAPACITY_META => Some(
3052 "operation could not be completed until resources used are reduced or storage expanded",
3053 ),
3054 Self::ERROR_SPACE_INSUFFICIENT_VIEW_META => {
3055 Some("look around the environment more for space tracking to function")
3056 }
3057 Self::ERROR_SPACE_PERMISSION_INSUFFICIENT_META => Some(
3058 "space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs",
3059 ),
3060 Self::ERROR_SPACE_RATE_LIMITED_META => Some(
3061 "operation cancelled due to rate limiting. Recommend retrying after a short delay",
3062 ),
3063 Self::ERROR_SPACE_TOO_DARK_META => {
3064 Some("environment too dark for tracking to complete operation")
3065 }
3066 Self::ERROR_SPACE_TOO_BRIGHT_META => {
3067 Some("environment too bright for tracking to complete operation")
3068 }
3069 Self::ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META => {
3070 Some("the provided data buffer did not match the required size")
3071 }
3072 Self::ENVIRONMENT_DEPTH_NOT_AVAILABLE_META => {
3073 Some("warning: The requested depth image is not yet available")
3074 }
3075 Self::ERROR_RENDER_MODEL_ID_INVALID_EXT => Some("the render model ID is invalid"),
3076 Self::ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT => {
3077 Some("the render model asset is unavailable")
3078 }
3079 Self::ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT => {
3080 Some("a glTF extension is required")
3081 }
3082 Self::ERROR_NOT_INTERACTION_RENDER_MODEL_EXT => Some(
3083 "the provided XrRenderModelEXT was not created from a XrRenderModelIdEXT from `<<XR_EXT_interaction_render_model>>`",
3084 ),
3085 Self::ERROR_HINT_ALREADY_SET_QCOM => {
3086 Some("tracking optimization hint is already set for the domain")
3087 }
3088 Self::ERROR_NOT_AN_ANCHOR_HTC => Some("the provided space is valid but not an anchor"),
3089 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_BD => Some("the spatial entity id is invalid"),
3090 Self::ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD => {
3091 Some("the spatial sensing service is unavailable")
3092 }
3093 Self::ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD => {
3094 Some("the spatial entity does not support anchor")
3095 }
3096 Self::ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD => Some("the spatial anchor is not found"),
3097 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD => {
3098 Some("the network transmission timeout")
3099 }
3100 Self::ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD => {
3101 Some("the authentication for the user account failed")
3102 }
3103 Self::ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD => Some(
3104 "the network connection failed, e.g. the connection is unstable or disconnected",
3105 ),
3106 Self::ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD => {
3107 Some("the spatial anchor localization failed")
3108 }
3109 Self::ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD => {
3110 Some("the feature points of spatial anchor map are insufficient")
3111 }
3112 Self::ERROR_SCENE_CAPTURE_FAILURE_BD => {
3113 Some("the scene capture is failed, for example exiting abnormally")
3114 }
3115 Self::ERROR_SPACE_NOT_LOCATABLE_EXT => {
3116 Some("the space passed to the function was not locatable")
3117 }
3118 Self::ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT => {
3119 Some("the permission for this resource was not granted")
3120 }
3121 Self::ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID => {
3122 Some("indicates that the parameters contains multiple trackable types")
3123 }
3124 Self::ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID => {
3125 Some("indicates that the function is not supported by the given trackable type")
3126 }
3127 Self::ERROR_ANCHOR_ID_NOT_FOUND_ANDROID => {
3128 Some("xrUuidExt passed to the function was not found to be a persisted anchor")
3129 }
3130 Self::ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID => {
3131 Some("xrUuidExt passed to the function was already marked to be persisted")
3132 }
3133 Self::ERROR_ANCHOR_NOT_TRACKING_ANDROID => {
3134 Some("aNchor cannot be persisted because it is not tracking")
3135 }
3136 Self::ERROR_PERSISTED_DATA_NOT_READY_ANDROID => {
3137 Some("persisted data stored by this app has not been loaded yet")
3138 }
3139 Self::ERROR_SERVICE_NOT_READY_ANDROID => {
3140 Some("the underlying tracking service is not yet ready")
3141 }
3142 Self::ERROR_MESH_DATA_LIMIT_EXCEEDED_ANDROID => Some(
3143 "returned by passthrough layer functions to indicate the mesh data exceeds the supported limit",
3144 ),
3145 Self::ERROR_FUTURE_PENDING_EXT => {
3146 Some("returned by completion function to indicate future is not ready")
3147 }
3148 Self::ERROR_FUTURE_INVALID_EXT => {
3149 Some("returned by completion function to indicate future is not valid")
3150 }
3151 Self::ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML => {
3152 Some("the com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted")
3153 }
3154 Self::ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML => {
3155 Some("incompatible SKU detected")
3156 }
3157 Self::ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML => {
3158 Some("the world mesh detector permission was not granted")
3159 }
3160 Self::ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML => Some(
3161 "at the time of the call the runtime was unable to locate the space and cannot fulfill your request",
3162 ),
3163 Self::ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML => {
3164 Some("permission to track facial expressions was not granted")
3165 }
3166 Self::ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META => {
3167 Some("the network request failed")
3168 }
3169 Self::ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META => {
3170 Some("the runtime does not have any methods available to perform discovery")
3171 }
3172 Self::COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META => {
3173 Some("colocation advertisement has already been enabled")
3174 }
3175 Self::COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META => {
3176 Some("colocation discovery has already been enabled")
3177 }
3178 Self::ERROR_SPACE_GROUP_NOT_FOUND_META => {
3179 Some("the group UUID was not found within the runtime")
3180 }
3181 Self::ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID => Some(
3182 "operation not allowed because anchor is not owned by the XrSession in which the function is being called",
3183 ),
3184 Self::ERROR_IMAGE_FORMAT_UNSUPPORTED_ANDROID => {
3185 Some("indicates that the input reference image format is not supported")
3186 }
3187 Self::ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR => {
3188 Some("ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR")
3189 }
3190 Self::ERROR_PERMISSION_INSUFFICIENT_KHR => Some("ERROR_PERMISSION_INSUFFICIENT_KHR"),
3191 Self::ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT => Some(
3192 "the specified spatial capability is not supported by the runtime or the system",
3193 ),
3194 Self::ERROR_SPATIAL_ENTITY_ID_INVALID_EXT => Some(
3195 "the specified spatial entity id is invalid or an entity with that id does not exist in the environment",
3196 ),
3197 Self::ERROR_SPATIAL_BUFFER_ID_INVALID_EXT => Some(
3198 "the specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data",
3199 ),
3200 Self::ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT => Some(
3201 "the specified spatial component is not supported by the runtime or the system for the given capability",
3202 ),
3203 Self::ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT => {
3204 Some("the specified spatial capability configuration is invalid")
3205 }
3206 Self::ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT => {
3207 Some("the specified spatial component is not enabled for the spatial context")
3208 }
3209 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT => Some(
3210 "the specified spatial persistence scope is not supported by the runtime or the system",
3211 ),
3212 Self::ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT => Some(
3213 "the scope configured for the persistence context is incompatible for the current spatial entity",
3214 ),
3215 Self::ERROR_SPATIAL_ANCHOR_ATTACHABLE_COMPONENT_NOT_FOUND_ANDROID => Some(
3216 "spatial entity with parent ID does not have at least one component enumerated by xrEnumerateSpatialAnchorAttachableComponentsANDROID",
3217 ),
3218 Self::ERROR_SPATIAL_ANCHOR_ENTITY_ID_INVALID_ANDROID => {
3219 Some("the specified spatial entity ID is invalid for an anchor")
3220 }
3221 _ => None,
3222 };
3223 if let Some(reason) = reason {
3224 fmt.pad(reason)
3225 } else {
3226 write!(fmt, "unknown error (code {})", self.0)
3227 }
3228 }
3229}
3230impl std::error::Error for Result {}
3231#[doc = "Enums to track objects of various types - see [XrObjectType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectType)"]
3232#[repr(transparent)]
3233#[derive(Copy, Clone, Eq, PartialEq, Default)]
3234pub struct ObjectType(i32);
3235impl ObjectType {
3236 pub const UNKNOWN: ObjectType = Self(0i32);
3237 #[doc = "XrInstance"]
3238 pub const INSTANCE: ObjectType = Self(1i32);
3239 #[doc = "XrSession"]
3240 pub const SESSION: ObjectType = Self(2i32);
3241 #[doc = "XrSwapchain"]
3242 pub const SWAPCHAIN: ObjectType = Self(3i32);
3243 #[doc = "XrSpace"]
3244 pub const SPACE: ObjectType = Self(4i32);
3245 #[doc = "XrActionSet"]
3246 pub const ACTION_SET: ObjectType = Self(5i32);
3247 #[doc = "XrAction"]
3248 pub const ACTION: ObjectType = Self(6i32);
3249 #[doc = "XrDebugUtilsMessengerEXT"]
3250 pub const DEBUG_UTILS_MESSENGER_EXT: ObjectType = Self(1000019000i32);
3251 #[doc = "XrSpatialAnchorMSFT"]
3252 pub const SPATIAL_ANCHOR_MSFT: ObjectType = Self(1000039000i32);
3253 #[doc = "XrSpatialGraphNodeBindingMSFT"]
3254 pub const SPATIAL_GRAPH_NODE_BINDING_MSFT: ObjectType = Self(1000049000i32);
3255 #[doc = "XrHandTrackerEXT"]
3256 pub const HAND_TRACKER_EXT: ObjectType = Self(1000051000i32);
3257 #[doc = "XrBodyTrackerFB"]
3258 pub const BODY_TRACKER_FB: ObjectType = Self(1000076000i32);
3259 #[doc = "XrSceneObserverMSFT"]
3260 pub const SCENE_OBSERVER_MSFT: ObjectType = Self(1000097000i32);
3261 #[doc = "XrSceneMSFT"]
3262 pub const SCENE_MSFT: ObjectType = Self(1000097001i32);
3263 #[doc = "XrFacialTrackerHTC"]
3264 pub const FACIAL_TRACKER_HTC: ObjectType = Self(1000104000i32);
3265 #[doc = "XrFoveationProfileFB"]
3266 pub const FOVEATION_PROFILE_FB: ObjectType = Self(1000114000i32);
3267 #[doc = "XrTriangleMeshFB"]
3268 pub const TRIANGLE_MESH_FB: ObjectType = Self(1000117000i32);
3269 #[doc = "XrPassthroughFB"]
3270 pub const PASSTHROUGH_FB: ObjectType = Self(1000118000i32);
3271 #[doc = "XrPassthroughLayerFB"]
3272 pub const PASSTHROUGH_LAYER_FB: ObjectType = Self(1000118002i32);
3273 #[doc = "XrGeometryInstanceFB"]
3274 pub const GEOMETRY_INSTANCE_FB: ObjectType = Self(1000118004i32);
3275 #[doc = "XrMarkerDetectorML"]
3276 pub const MARKER_DETECTOR_ML: ObjectType = Self(1000138000i32);
3277 #[doc = "XrExportedLocalizationMapML"]
3278 pub const EXPORTED_LOCALIZATION_MAP_ML: ObjectType = Self(1000139000i32);
3279 #[doc = "XrSpatialAnchorsStorageML"]
3280 pub const SPATIAL_ANCHORS_STORAGE_ML: ObjectType = Self(1000141000i32);
3281 #[doc = "XrSpatialAnchorStoreConnectionMSFT"]
3282 pub const SPATIAL_ANCHOR_STORE_CONNECTION_MSFT: ObjectType = Self(1000142000i32);
3283 #[doc = "XrFaceTrackerFB"]
3284 pub const FACE_TRACKER_FB: ObjectType = Self(1000201000i32);
3285 #[doc = "XrEyeTrackerFB"]
3286 pub const EYE_TRACKER_FB: ObjectType = Self(1000202000i32);
3287 #[doc = "XrVirtualKeyboardMETA"]
3288 pub const VIRTUAL_KEYBOARD_META: ObjectType = Self(1000219000i32);
3289 #[doc = "XrSpaceUserFB"]
3290 pub const SPACE_USER_FB: ObjectType = Self(1000241000i32);
3291 #[doc = "XrPassthroughColorLutMETA"]
3292 pub const PASSTHROUGH_COLOR_LUT_META: ObjectType = Self(1000266000i32);
3293 #[doc = "XrFaceTracker2FB"]
3294 pub const FACE_TRACKER2_FB: ObjectType = Self(1000287012i32);
3295 #[doc = "XrEnvironmentDepthProviderMETA"]
3296 pub const ENVIRONMENT_DEPTH_PROVIDER_META: ObjectType = Self(1000291000i32);
3297 #[doc = "XrEnvironmentDepthSwapchainMETA"]
3298 pub const ENVIRONMENT_DEPTH_SWAPCHAIN_META: ObjectType = Self(1000291001i32);
3299 #[doc = "XrRenderModelEXT"]
3300 pub const RENDER_MODEL_EXT: ObjectType = Self(1000300000i32);
3301 #[doc = "XrRenderModelAssetEXT"]
3302 pub const RENDER_MODEL_ASSET_EXT: ObjectType = Self(1000300001i32);
3303 #[doc = "XrPassthroughHTC"]
3304 pub const PASSTHROUGH_HTC: ObjectType = Self(1000317000i32);
3305 #[doc = "XrBodyTrackerHTC"]
3306 pub const BODY_TRACKER_HTC: ObjectType = Self(1000320000i32);
3307 #[doc = "XrBodyTrackerBD"]
3308 pub const BODY_TRACKER_BD: ObjectType = Self(1000385000i32);
3309 #[doc = "XrFaceTrackerBD"]
3310 pub const FACE_TRACKER_BD: ObjectType = Self(1000386000i32);
3311 #[doc = "XrSenseDataProviderBD"]
3312 pub const SENSE_DATA_PROVIDER_BD: ObjectType = Self(1000389000i32);
3313 #[doc = "XrSenseDataSnapshotBD"]
3314 pub const SENSE_DATA_SNAPSHOT_BD: ObjectType = Self(1000389001i32);
3315 #[doc = "XrAnchorBD"]
3316 pub const ANCHOR_BD: ObjectType = Self(1000389002i32);
3317 #[doc = "XrSpatialAudioRendererBD"]
3318 pub const SPATIAL_AUDIO_RENDERER_BD: ObjectType = Self(1000409000i32);
3319 #[doc = "XrSoundFieldBD"]
3320 pub const SOUND_FIELD_BD: ObjectType = Self(1000409001i32);
3321 #[doc = "XrSoundObjectBD"]
3322 pub const SOUND_OBJECT_BD: ObjectType = Self(1000409002i32);
3323 #[doc = "XrSoundObstacleBD"]
3324 pub const SOUND_OBSTACLE_BD: ObjectType = Self(1000409003i32);
3325 #[doc = "XrSoundObstacleMaterialBD"]
3326 pub const SOUND_OBSTACLE_MATERIAL_BD: ObjectType = Self(1000409004i32);
3327 #[doc = "XrPlaneDetectorEXT"]
3328 pub const PLANE_DETECTOR_EXT: ObjectType = Self(1000429000i32);
3329 #[doc = "XrTrackableTrackerANDROID"]
3330 pub const TRACKABLE_TRACKER_ANDROID: ObjectType = Self(1000455001i32);
3331 #[doc = "XrDeviceAnchorPersistenceANDROID"]
3332 pub const DEVICE_ANCHOR_PERSISTENCE_ANDROID: ObjectType = Self(1000457000i32);
3333 #[doc = "XrFaceTrackerANDROID"]
3334 pub const FACE_TRACKER_ANDROID: ObjectType = Self(1000458000i32);
3335 #[doc = "XrPassthroughLayerANDROID"]
3336 pub const PASSTHROUGH_LAYER_ANDROID: ObjectType = Self(1000462000i32);
3337 #[doc = "XrWorldMeshDetectorML"]
3338 pub const WORLD_MESH_DETECTOR_ML: ObjectType = Self(1000474000i32);
3339 #[doc = "XrFacialExpressionClientML"]
3340 pub const FACIAL_EXPRESSION_CLIENT_ML: ObjectType = Self(1000482000i32);
3341 #[doc = "XrEnvironmentRaycasterMETA"]
3342 pub const ENVIRONMENT_RAYCASTER_META: ObjectType = Self(1000592000i32);
3343 #[doc = "XrTrackableImageDatabaseANDROID"]
3344 pub const TRACKABLE_IMAGE_DATABASE_ANDROID: ObjectType = Self(1000709000i32);
3345 #[doc = "XrSceneMeshingTrackerANDROID"]
3346 pub const SCENE_MESHING_TRACKER_ANDROID: ObjectType = Self(1000718000i32);
3347 #[doc = "XrSceneMeshSnapshotANDROID"]
3348 pub const SCENE_MESH_SNAPSHOT_ANDROID: ObjectType = Self(1000718001i32);
3349 #[doc = "XrSpatialEntityEXT"]
3350 pub const SPATIAL_ENTITY_EXT: ObjectType = Self(1000740000i32);
3351 #[doc = "XrSpatialContextEXT"]
3352 pub const SPATIAL_CONTEXT_EXT: ObjectType = Self(1000740001i32);
3353 #[doc = "XrSpatialSnapshotEXT"]
3354 pub const SPATIAL_SNAPSHOT_EXT: ObjectType = Self(1000740002i32);
3355 #[doc = "XrSpatialPersistenceContextEXT"]
3356 pub const SPATIAL_PERSISTENCE_CONTEXT_EXT: ObjectType = Self(1000763000i32);
3357 pub fn from_raw(x: i32) -> Self {
3358 Self(x)
3359 }
3360 pub fn into_raw(self) -> i32 {
3361 self.0
3362 }
3363}
3364impl fmt::Debug for ObjectType {
3365 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3366 let name = match *self {
3367 Self::UNKNOWN => Some("UNKNOWN"),
3368 Self::INSTANCE => Some("INSTANCE"),
3369 Self::SESSION => Some("SESSION"),
3370 Self::SWAPCHAIN => Some("SWAPCHAIN"),
3371 Self::SPACE => Some("SPACE"),
3372 Self::ACTION_SET => Some("ACTION_SET"),
3373 Self::ACTION => Some("ACTION"),
3374 Self::DEBUG_UTILS_MESSENGER_EXT => Some("DEBUG_UTILS_MESSENGER_EXT"),
3375 Self::SPATIAL_ANCHOR_MSFT => Some("SPATIAL_ANCHOR_MSFT"),
3376 Self::SPATIAL_GRAPH_NODE_BINDING_MSFT => Some("SPATIAL_GRAPH_NODE_BINDING_MSFT"),
3377 Self::HAND_TRACKER_EXT => Some("HAND_TRACKER_EXT"),
3378 Self::BODY_TRACKER_FB => Some("BODY_TRACKER_FB"),
3379 Self::SCENE_OBSERVER_MSFT => Some("SCENE_OBSERVER_MSFT"),
3380 Self::SCENE_MSFT => Some("SCENE_MSFT"),
3381 Self::FACIAL_TRACKER_HTC => Some("FACIAL_TRACKER_HTC"),
3382 Self::FOVEATION_PROFILE_FB => Some("FOVEATION_PROFILE_FB"),
3383 Self::TRIANGLE_MESH_FB => Some("TRIANGLE_MESH_FB"),
3384 Self::PASSTHROUGH_FB => Some("PASSTHROUGH_FB"),
3385 Self::PASSTHROUGH_LAYER_FB => Some("PASSTHROUGH_LAYER_FB"),
3386 Self::GEOMETRY_INSTANCE_FB => Some("GEOMETRY_INSTANCE_FB"),
3387 Self::MARKER_DETECTOR_ML => Some("MARKER_DETECTOR_ML"),
3388 Self::EXPORTED_LOCALIZATION_MAP_ML => Some("EXPORTED_LOCALIZATION_MAP_ML"),
3389 Self::SPATIAL_ANCHORS_STORAGE_ML => Some("SPATIAL_ANCHORS_STORAGE_ML"),
3390 Self::SPATIAL_ANCHOR_STORE_CONNECTION_MSFT => {
3391 Some("SPATIAL_ANCHOR_STORE_CONNECTION_MSFT")
3392 }
3393 Self::FACE_TRACKER_FB => Some("FACE_TRACKER_FB"),
3394 Self::EYE_TRACKER_FB => Some("EYE_TRACKER_FB"),
3395 Self::VIRTUAL_KEYBOARD_META => Some("VIRTUAL_KEYBOARD_META"),
3396 Self::SPACE_USER_FB => Some("SPACE_USER_FB"),
3397 Self::PASSTHROUGH_COLOR_LUT_META => Some("PASSTHROUGH_COLOR_LUT_META"),
3398 Self::FACE_TRACKER2_FB => Some("FACE_TRACKER2_FB"),
3399 Self::ENVIRONMENT_DEPTH_PROVIDER_META => Some("ENVIRONMENT_DEPTH_PROVIDER_META"),
3400 Self::ENVIRONMENT_DEPTH_SWAPCHAIN_META => Some("ENVIRONMENT_DEPTH_SWAPCHAIN_META"),
3401 Self::RENDER_MODEL_EXT => Some("RENDER_MODEL_EXT"),
3402 Self::RENDER_MODEL_ASSET_EXT => Some("RENDER_MODEL_ASSET_EXT"),
3403 Self::PASSTHROUGH_HTC => Some("PASSTHROUGH_HTC"),
3404 Self::BODY_TRACKER_HTC => Some("BODY_TRACKER_HTC"),
3405 Self::BODY_TRACKER_BD => Some("BODY_TRACKER_BD"),
3406 Self::FACE_TRACKER_BD => Some("FACE_TRACKER_BD"),
3407 Self::SENSE_DATA_PROVIDER_BD => Some("SENSE_DATA_PROVIDER_BD"),
3408 Self::SENSE_DATA_SNAPSHOT_BD => Some("SENSE_DATA_SNAPSHOT_BD"),
3409 Self::ANCHOR_BD => Some("ANCHOR_BD"),
3410 Self::SPATIAL_AUDIO_RENDERER_BD => Some("SPATIAL_AUDIO_RENDERER_BD"),
3411 Self::SOUND_FIELD_BD => Some("SOUND_FIELD_BD"),
3412 Self::SOUND_OBJECT_BD => Some("SOUND_OBJECT_BD"),
3413 Self::SOUND_OBSTACLE_BD => Some("SOUND_OBSTACLE_BD"),
3414 Self::SOUND_OBSTACLE_MATERIAL_BD => Some("SOUND_OBSTACLE_MATERIAL_BD"),
3415 Self::PLANE_DETECTOR_EXT => Some("PLANE_DETECTOR_EXT"),
3416 Self::TRACKABLE_TRACKER_ANDROID => Some("TRACKABLE_TRACKER_ANDROID"),
3417 Self::DEVICE_ANCHOR_PERSISTENCE_ANDROID => Some("DEVICE_ANCHOR_PERSISTENCE_ANDROID"),
3418 Self::FACE_TRACKER_ANDROID => Some("FACE_TRACKER_ANDROID"),
3419 Self::PASSTHROUGH_LAYER_ANDROID => Some("PASSTHROUGH_LAYER_ANDROID"),
3420 Self::WORLD_MESH_DETECTOR_ML => Some("WORLD_MESH_DETECTOR_ML"),
3421 Self::FACIAL_EXPRESSION_CLIENT_ML => Some("FACIAL_EXPRESSION_CLIENT_ML"),
3422 Self::ENVIRONMENT_RAYCASTER_META => Some("ENVIRONMENT_RAYCASTER_META"),
3423 Self::TRACKABLE_IMAGE_DATABASE_ANDROID => Some("TRACKABLE_IMAGE_DATABASE_ANDROID"),
3424 Self::SCENE_MESHING_TRACKER_ANDROID => Some("SCENE_MESHING_TRACKER_ANDROID"),
3425 Self::SCENE_MESH_SNAPSHOT_ANDROID => Some("SCENE_MESH_SNAPSHOT_ANDROID"),
3426 Self::SPATIAL_ENTITY_EXT => Some("SPATIAL_ENTITY_EXT"),
3427 Self::SPATIAL_CONTEXT_EXT => Some("SPATIAL_CONTEXT_EXT"),
3428 Self::SPATIAL_SNAPSHOT_EXT => Some("SPATIAL_SNAPSHOT_EXT"),
3429 Self::SPATIAL_PERSISTENCE_CONTEXT_EXT => Some("SPATIAL_PERSISTENCE_CONTEXT_EXT"),
3430 _ => None,
3431 };
3432 fmt_enum(fmt, self.0, name)
3433 }
3434}
3435#[doc = "Android Thread Types - see [XrAndroidThreadTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidThreadTypeKHR)"]
3436#[repr(transparent)]
3437#[derive(Copy, Clone, Eq, PartialEq)]
3438pub struct AndroidThreadTypeKHR(i32);
3439impl AndroidThreadTypeKHR {
3440 pub const APPLICATION_MAIN: AndroidThreadTypeKHR = Self(1i32);
3441 pub const APPLICATION_WORKER: AndroidThreadTypeKHR = Self(2i32);
3442 pub const RENDERER_MAIN: AndroidThreadTypeKHR = Self(3i32);
3443 pub const RENDERER_WORKER: AndroidThreadTypeKHR = Self(4i32);
3444 pub fn from_raw(x: i32) -> Self {
3445 Self(x)
3446 }
3447 pub fn into_raw(self) -> i32 {
3448 self.0
3449 }
3450}
3451impl fmt::Debug for AndroidThreadTypeKHR {
3452 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3453 let name = match *self {
3454 Self::APPLICATION_MAIN => Some("APPLICATION_MAIN"),
3455 Self::APPLICATION_WORKER => Some("APPLICATION_WORKER"),
3456 Self::RENDERER_MAIN => Some("RENDERER_MAIN"),
3457 Self::RENDERER_WORKER => Some("RENDERER_WORKER"),
3458 _ => None,
3459 };
3460 fmt_enum(fmt, self.0, name)
3461 }
3462}
3463#[doc = "eye visibility selector - see [XrEyeVisibility](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeVisibility)"]
3464#[repr(transparent)]
3465#[derive(Copy, Clone, Eq, PartialEq, Default)]
3466pub struct EyeVisibility(i32);
3467impl EyeVisibility {
3468 #[doc = "Display in both eyes."]
3469 pub const BOTH: EyeVisibility = Self(0i32);
3470 #[doc = "Display in the left eye only."]
3471 pub const LEFT: EyeVisibility = Self(1i32);
3472 #[doc = "Display in the right eye only."]
3473 pub const RIGHT: EyeVisibility = Self(2i32);
3474 pub fn from_raw(x: i32) -> Self {
3475 Self(x)
3476 }
3477 pub fn into_raw(self) -> i32 {
3478 self.0
3479 }
3480}
3481impl fmt::Debug for EyeVisibility {
3482 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3483 let name = match *self {
3484 Self::BOTH => Some("BOTH"),
3485 Self::LEFT => Some("LEFT"),
3486 Self::RIGHT => Some("RIGHT"),
3487 _ => None,
3488 };
3489 fmt_enum(fmt, self.0, name)
3490 }
3491}
3492#[doc = "See [XrActionType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionType)"]
3493#[repr(transparent)]
3494#[derive(Copy, Clone, Eq, PartialEq)]
3495pub struct ActionType(i32);
3496impl ActionType {
3497 pub const BOOLEAN_INPUT: ActionType = Self(1i32);
3498 pub const FLOAT_INPUT: ActionType = Self(2i32);
3499 pub const VECTOR2F_INPUT: ActionType = Self(3i32);
3500 pub const POSE_INPUT: ActionType = Self(4i32);
3501 pub const VIBRATION_OUTPUT: ActionType = Self(100i32);
3502 pub fn from_raw(x: i32) -> Self {
3503 Self(x)
3504 }
3505 pub fn into_raw(self) -> i32 {
3506 self.0
3507 }
3508}
3509impl fmt::Debug for ActionType {
3510 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3511 let name = match *self {
3512 Self::BOOLEAN_INPUT => Some("BOOLEAN_INPUT"),
3513 Self::FLOAT_INPUT => Some("FLOAT_INPUT"),
3514 Self::VECTOR2F_INPUT => Some("VECTOR2F_INPUT"),
3515 Self::POSE_INPUT => Some("POSE_INPUT"),
3516 Self::VIBRATION_OUTPUT => Some("VIBRATION_OUTPUT"),
3517 _ => None,
3518 };
3519 fmt_enum(fmt, self.0, name)
3520 }
3521}
3522#[doc = "See [XrReferenceSpaceType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceType)"]
3523#[repr(transparent)]
3524#[derive(Copy, Clone, Eq, PartialEq)]
3525pub struct ReferenceSpaceType(i32);
3526impl ReferenceSpaceType {
3527 pub const VIEW: ReferenceSpaceType = Self(1i32);
3528 pub const LOCAL: ReferenceSpaceType = Self(2i32);
3529 pub const STAGE: ReferenceSpaceType = Self(3i32);
3530 pub const LOCAL_FLOOR: ReferenceSpaceType = Self(1000426000i32);
3531 pub const UNBOUNDED_MSFT: ReferenceSpaceType = Self(1000038000i32);
3532 pub const COMBINED_EYE_VARJO: ReferenceSpaceType = Self(1000121000i32);
3533 pub const LOCALIZATION_MAP_ML: ReferenceSpaceType = Self(1000139000i32);
3534 pub const LOCAL_FLOOR_EXT: ReferenceSpaceType = Self::LOCAL_FLOOR;
3535 pub const UNBOUNDED_ANDROID: ReferenceSpaceType = Self(1000467000i32);
3536 pub fn from_raw(x: i32) -> Self {
3537 Self(x)
3538 }
3539 pub fn into_raw(self) -> i32 {
3540 self.0
3541 }
3542}
3543impl fmt::Debug for ReferenceSpaceType {
3544 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3545 let name = match *self {
3546 Self::VIEW => Some("VIEW"),
3547 Self::LOCAL => Some("LOCAL"),
3548 Self::STAGE => Some("STAGE"),
3549 Self::LOCAL_FLOOR => Some("LOCAL_FLOOR"),
3550 Self::UNBOUNDED_MSFT => Some("UNBOUNDED_MSFT"),
3551 Self::COMBINED_EYE_VARJO => Some("COMBINED_EYE_VARJO"),
3552 Self::LOCALIZATION_MAP_ML => Some("LOCALIZATION_MAP_ML"),
3553 Self::UNBOUNDED_ANDROID => Some("UNBOUNDED_ANDROID"),
3554 _ => None,
3555 };
3556 fmt_enum(fmt, self.0, name)
3557 }
3558}
3559#[doc = "See [XrFormFactor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFormFactor)"]
3560#[repr(transparent)]
3561#[derive(Copy, Clone, Eq, PartialEq)]
3562pub struct FormFactor(i32);
3563impl FormFactor {
3564 pub const HEAD_MOUNTED_DISPLAY: FormFactor = Self(1i32);
3565 pub const HANDHELD_DISPLAY: FormFactor = Self(2i32);
3566 pub fn from_raw(x: i32) -> Self {
3567 Self(x)
3568 }
3569 pub fn into_raw(self) -> i32 {
3570 self.0
3571 }
3572}
3573impl fmt::Debug for FormFactor {
3574 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3575 let name = match *self {
3576 Self::HEAD_MOUNTED_DISPLAY => Some("HEAD_MOUNTED_DISPLAY"),
3577 Self::HANDHELD_DISPLAY => Some("HANDHELD_DISPLAY"),
3578 _ => None,
3579 };
3580 fmt_enum(fmt, self.0, name)
3581 }
3582}
3583#[doc = "See [XrViewConfigurationType](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationType)"]
3584#[repr(transparent)]
3585#[derive(Copy, Clone, Eq, PartialEq)]
3586pub struct ViewConfigurationType(i32);
3587impl ViewConfigurationType {
3588 pub const PRIMARY_MONO: ViewConfigurationType = Self(1i32);
3589 pub const PRIMARY_STEREO: ViewConfigurationType = Self(2i32);
3590 pub const PRIMARY_STEREO_WITH_FOVEATED_INSET: ViewConfigurationType = Self(1000037000i32);
3591 pub const PRIMARY_QUAD_VARJO: ViewConfigurationType = Self::PRIMARY_STEREO_WITH_FOVEATED_INSET;
3592 pub const SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT: ViewConfigurationType =
3593 Self(1000054000i32);
3594 pub fn from_raw(x: i32) -> Self {
3595 Self(x)
3596 }
3597 pub fn into_raw(self) -> i32 {
3598 self.0
3599 }
3600}
3601impl fmt::Debug for ViewConfigurationType {
3602 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3603 let name = match *self {
3604 Self::PRIMARY_MONO => Some("PRIMARY_MONO"),
3605 Self::PRIMARY_STEREO => Some("PRIMARY_STEREO"),
3606 Self::PRIMARY_STEREO_WITH_FOVEATED_INSET => Some("PRIMARY_STEREO_WITH_FOVEATED_INSET"),
3607 Self::SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT => {
3608 Some("SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT")
3609 }
3610 _ => None,
3611 };
3612 fmt_enum(fmt, self.0, name)
3613 }
3614}
3615#[doc = "See [XrEnvironmentBlendMode](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentBlendMode)"]
3616#[repr(transparent)]
3617#[derive(Copy, Clone, Eq, PartialEq)]
3618pub struct EnvironmentBlendMode(i32);
3619impl EnvironmentBlendMode {
3620 pub const OPAQUE: EnvironmentBlendMode = Self(1i32);
3621 pub const ADDITIVE: EnvironmentBlendMode = Self(2i32);
3622 pub const ALPHA_BLEND: EnvironmentBlendMode = Self(3i32);
3623 pub fn from_raw(x: i32) -> Self {
3624 Self(x)
3625 }
3626 pub fn into_raw(self) -> i32 {
3627 self.0
3628 }
3629}
3630impl fmt::Debug for EnvironmentBlendMode {
3631 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3632 let name = match *self {
3633 Self::OPAQUE => Some("OPAQUE"),
3634 Self::ADDITIVE => Some("ADDITIVE"),
3635 Self::ALPHA_BLEND => Some("ALPHA_BLEND"),
3636 _ => None,
3637 };
3638 fmt_enum(fmt, self.0, name)
3639 }
3640}
3641#[doc = "See [XrSessionState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionState)"]
3642#[repr(transparent)]
3643#[derive(Copy, Clone, Eq, PartialEq, Default)]
3644pub struct SessionState(i32);
3645impl SessionState {
3646 pub const UNKNOWN: SessionState = Self(0i32);
3647 pub const IDLE: SessionState = Self(1i32);
3648 pub const READY: SessionState = Self(2i32);
3649 pub const SYNCHRONIZED: SessionState = Self(3i32);
3650 pub const VISIBLE: SessionState = Self(4i32);
3651 pub const FOCUSED: SessionState = Self(5i32);
3652 pub const STOPPING: SessionState = Self(6i32);
3653 pub const LOSS_PENDING: SessionState = Self(7i32);
3654 pub const EXITING: SessionState = Self(8i32);
3655 pub fn from_raw(x: i32) -> Self {
3656 Self(x)
3657 }
3658 pub fn into_raw(self) -> i32 {
3659 self.0
3660 }
3661}
3662impl fmt::Debug for SessionState {
3663 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3664 let name = match *self {
3665 Self::UNKNOWN => Some("UNKNOWN"),
3666 Self::IDLE => Some("IDLE"),
3667 Self::READY => Some("READY"),
3668 Self::SYNCHRONIZED => Some("SYNCHRONIZED"),
3669 Self::VISIBLE => Some("VISIBLE"),
3670 Self::FOCUSED => Some("FOCUSED"),
3671 Self::STOPPING => Some("STOPPING"),
3672 Self::LOSS_PENDING => Some("LOSS_PENDING"),
3673 Self::EXITING => Some("EXITING"),
3674 _ => None,
3675 };
3676 fmt_enum(fmt, self.0, name)
3677 }
3678}
3679#[doc = "See [XrPerfSettingsDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsDomainEXT)"]
3680#[repr(transparent)]
3681#[derive(Copy, Clone, Eq, PartialEq)]
3682pub struct PerfSettingsDomainEXT(i32);
3683impl PerfSettingsDomainEXT {
3684 #[doc = "Indicates that the performance settings or notification applies to CPU domain"]
3685 pub const CPU: PerfSettingsDomainEXT = Self(1i32);
3686 #[doc = "Indicates that the performance settings or notification applies to GPU domain"]
3687 pub const GPU: PerfSettingsDomainEXT = Self(2i32);
3688 pub fn from_raw(x: i32) -> Self {
3689 Self(x)
3690 }
3691 pub fn into_raw(self) -> i32 {
3692 self.0
3693 }
3694}
3695impl fmt::Debug for PerfSettingsDomainEXT {
3696 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3697 let name = match *self {
3698 Self::CPU => Some("CPU"),
3699 Self::GPU => Some("GPU"),
3700 _ => None,
3701 };
3702 fmt_enum(fmt, self.0, name)
3703 }
3704}
3705#[doc = "See [XrPerfSettingsSubDomainEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsSubDomainEXT)"]
3706#[repr(transparent)]
3707#[derive(Copy, Clone, Eq, PartialEq)]
3708pub struct PerfSettingsSubDomainEXT(i32);
3709impl PerfSettingsSubDomainEXT {
3710 #[doc = "Indicates that the performance notification originates from the COMPOSITING sub-domain"]
3711 pub const COMPOSITING: PerfSettingsSubDomainEXT = Self(1i32);
3712 #[doc = "Indicates that the performance notification originates from the RENDERING sub-domain"]
3713 pub const RENDERING: PerfSettingsSubDomainEXT = Self(2i32);
3714 #[doc = "Indicates that the performance notification originates from the THERMAL sub-domain"]
3715 pub const THERMAL: PerfSettingsSubDomainEXT = Self(3i32);
3716 pub fn from_raw(x: i32) -> Self {
3717 Self(x)
3718 }
3719 pub fn into_raw(self) -> i32 {
3720 self.0
3721 }
3722}
3723impl fmt::Debug for PerfSettingsSubDomainEXT {
3724 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3725 let name = match *self {
3726 Self::COMPOSITING => Some("COMPOSITING"),
3727 Self::RENDERING => Some("RENDERING"),
3728 Self::THERMAL => Some("THERMAL"),
3729 _ => None,
3730 };
3731 fmt_enum(fmt, self.0, name)
3732 }
3733}
3734#[doc = "See [XrPerfSettingsLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsLevelEXT)"]
3735#[repr(transparent)]
3736#[derive(Copy, Clone, Eq, PartialEq, Default)]
3737pub struct PerfSettingsLevelEXT(i32);
3738impl PerfSettingsLevelEXT {
3739 #[doc = "Performance settings hint used by the application to indicate that it enters a non-XR section (head-locked / static screen), during which power savings are to be prioritized"]
3740 pub const POWER_SAVINGS: PerfSettingsLevelEXT = Self(0i32);
3741 #[doc = "Performance settings hint used by the application to indicate that it enters a low and stable complexity section, during which reducing power is more important than occasional late rendering frames"]
3742 pub const SUSTAINED_LOW: PerfSettingsLevelEXT = Self(25i32);
3743 #[doc = "Performance settings hint used by the application to indicate that it enters a high or dynamic complexity section, during which the XR Runtime strives for consistent XR compositing and frame rendering within a thermally sustainable range"]
3744 pub const SUSTAINED_HIGH: PerfSettingsLevelEXT = Self(50i32);
3745 #[doc = "Performance settings hint used by the application to indicate that the application enters a section with very high complexity, during which the XR Runtime is allowed to step up beyond the thermally sustainable range"]
3746 pub const BOOST: PerfSettingsLevelEXT = Self(75i32);
3747 pub fn from_raw(x: i32) -> Self {
3748 Self(x)
3749 }
3750 pub fn into_raw(self) -> i32 {
3751 self.0
3752 }
3753}
3754impl fmt::Debug for PerfSettingsLevelEXT {
3755 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3756 let name = match *self {
3757 Self::POWER_SAVINGS => Some("POWER_SAVINGS"),
3758 Self::SUSTAINED_LOW => Some("SUSTAINED_LOW"),
3759 Self::SUSTAINED_HIGH => Some("SUSTAINED_HIGH"),
3760 Self::BOOST => Some("BOOST"),
3761 _ => None,
3762 };
3763 fmt_enum(fmt, self.0, name)
3764 }
3765}
3766#[doc = "See [XrPerfSettingsNotificationLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerfSettingsNotificationLevelEXT)"]
3767#[repr(transparent)]
3768#[derive(Copy, Clone, Eq, PartialEq, Default)]
3769pub struct PerfSettingsNotificationLevelEXT(i32);
3770impl PerfSettingsNotificationLevelEXT {
3771 #[doc = "Notifies that the sub-domain has reached a level where no further actions other than currently applied are necessary"]
3772 pub const NORMAL: PerfSettingsNotificationLevelEXT = Self(0i32);
3773 #[doc = "Notifies that the sub-domain has reached an early warning level where the application should start proactive mitigation actions with the goal to return to the XR_PERF_NOTIF_LEVEL_NORMAL level"]
3774 pub const WARNING: PerfSettingsNotificationLevelEXT = Self(25i32);
3775 #[doc = "Notifies that the sub-domain has reached a critical level with significant performance degradation. The application should take drastic mitigation action"]
3776 pub const IMPAIRED: PerfSettingsNotificationLevelEXT = Self(75i32);
3777 pub fn from_raw(x: i32) -> Self {
3778 Self(x)
3779 }
3780 pub fn into_raw(self) -> i32 {
3781 self.0
3782 }
3783}
3784impl fmt::Debug for PerfSettingsNotificationLevelEXT {
3785 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3786 let name = match *self {
3787 Self::NORMAL => Some("NORMAL"),
3788 Self::WARNING => Some("WARNING"),
3789 Self::IMPAIRED => Some("IMPAIRED"),
3790 _ => None,
3791 };
3792 fmt_enum(fmt, self.0, name)
3793 }
3794}
3795#[doc = "See [XrVisibilityMaskTypeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVisibilityMaskTypeKHR)"]
3796#[repr(transparent)]
3797#[derive(Copy, Clone, Eq, PartialEq)]
3798pub struct VisibilityMaskTypeKHR(i32);
3799impl VisibilityMaskTypeKHR {
3800 #[doc = "exclusive mesh; indicates that which the viewer cannot see."]
3801 pub const HIDDEN_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(1i32);
3802 #[doc = "inclusive mesh; indicates strictly that which the viewer can see."]
3803 pub const VISIBLE_TRIANGLE_MESH: VisibilityMaskTypeKHR = Self(2i32);
3804 #[doc = "line loop; traces the outline of the area the viewer can see."]
3805 pub const LINE_LOOP: VisibilityMaskTypeKHR = Self(3i32);
3806 pub fn from_raw(x: i32) -> Self {
3807 Self(x)
3808 }
3809 pub fn into_raw(self) -> i32 {
3810 self.0
3811 }
3812}
3813impl fmt::Debug for VisibilityMaskTypeKHR {
3814 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3815 let name = match *self {
3816 Self::HIDDEN_TRIANGLE_MESH => Some("HIDDEN_TRIANGLE_MESH"),
3817 Self::VISIBLE_TRIANGLE_MESH => Some("VISIBLE_TRIANGLE_MESH"),
3818 Self::LINE_LOOP => Some("LINE_LOOP"),
3819 _ => None,
3820 };
3821 fmt_enum(fmt, self.0, name)
3822 }
3823}
3824#[doc = "See [XrSpatialGraphNodeTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeTypeMSFT)"]
3825#[repr(transparent)]
3826#[derive(Copy, Clone, Eq, PartialEq)]
3827pub struct SpatialGraphNodeTypeMSFT(i32);
3828impl SpatialGraphNodeTypeMSFT {
3829 pub const STATIC: SpatialGraphNodeTypeMSFT = Self(1i32);
3830 pub const DYNAMIC: SpatialGraphNodeTypeMSFT = Self(2i32);
3831 pub fn from_raw(x: i32) -> Self {
3832 Self(x)
3833 }
3834 pub fn into_raw(self) -> i32 {
3835 self.0
3836 }
3837}
3838impl fmt::Debug for SpatialGraphNodeTypeMSFT {
3839 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3840 let name = match *self {
3841 Self::STATIC => Some("STATIC"),
3842 Self::DYNAMIC => Some("DYNAMIC"),
3843 _ => None,
3844 };
3845 fmt_enum(fmt, self.0, name)
3846 }
3847}
3848#[doc = "See [XrBlendFactorFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBlendFactorFB)"]
3849#[repr(transparent)]
3850#[derive(Copy, Clone, Eq, PartialEq, Default)]
3851pub struct BlendFactorFB(i32);
3852impl BlendFactorFB {
3853 pub const ZERO: BlendFactorFB = Self(0i32);
3854 pub const ONE: BlendFactorFB = Self(1i32);
3855 pub const SRC_ALPHA: BlendFactorFB = Self(2i32);
3856 pub const ONE_MINUS_SRC_ALPHA: BlendFactorFB = Self(3i32);
3857 pub const DST_ALPHA: BlendFactorFB = Self(4i32);
3858 pub const ONE_MINUS_DST_ALPHA: BlendFactorFB = Self(5i32);
3859 pub fn from_raw(x: i32) -> Self {
3860 Self(x)
3861 }
3862 pub fn into_raw(self) -> i32 {
3863 self.0
3864 }
3865}
3866impl fmt::Debug for BlendFactorFB {
3867 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3868 let name = match *self {
3869 Self::ZERO => Some("ZERO"),
3870 Self::ONE => Some("ONE"),
3871 Self::SRC_ALPHA => Some("SRC_ALPHA"),
3872 Self::ONE_MINUS_SRC_ALPHA => Some("ONE_MINUS_SRC_ALPHA"),
3873 Self::DST_ALPHA => Some("DST_ALPHA"),
3874 Self::ONE_MINUS_DST_ALPHA => Some("ONE_MINUS_DST_ALPHA"),
3875 _ => None,
3876 };
3877 fmt_enum(fmt, self.0, name)
3878 }
3879}
3880#[doc = "See [XrSpaceComponentTypeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentTypeFB)"]
3881#[repr(transparent)]
3882#[derive(Copy, Clone, Eq, PartialEq, Default)]
3883pub struct SpaceComponentTypeFB(i32);
3884impl SpaceComponentTypeFB {
3885 #[doc = "Enables tracking the 6 DOF pose of the XrSpace with xrLocateSpace."]
3886 pub const LOCATABLE: SpaceComponentTypeFB = Self(0i32);
3887 #[doc = "Enables persistence operations: save and erase."]
3888 pub const STORABLE: SpaceComponentTypeFB = Self(1i32);
3889 #[doc = "Enables sharing of spatial entities."]
3890 pub const SHARABLE: SpaceComponentTypeFB = Self(2i32);
3891 #[doc = "Bounded 2D component."]
3892 pub const BOUNDED_2D: SpaceComponentTypeFB = Self(3i32);
3893 #[doc = "Bounded 3D component."]
3894 pub const BOUNDED_3D: SpaceComponentTypeFB = Self(4i32);
3895 #[doc = "Semantic labels component."]
3896 pub const SEMANTIC_LABELS: SpaceComponentTypeFB = Self(5i32);
3897 #[doc = "Room layout component."]
3898 pub const ROOM_LAYOUT: SpaceComponentTypeFB = Self(6i32);
3899 #[doc = "Space container component."]
3900 pub const SPACE_CONTAINER: SpaceComponentTypeFB = Self(7i32);
3901 #[doc = "Triangle mesh component."]
3902 pub const TRIANGLE_MESH_M: SpaceComponentTypeFB = Self(1000269000i32);
3903 pub fn from_raw(x: i32) -> Self {
3904 Self(x)
3905 }
3906 pub fn into_raw(self) -> i32 {
3907 self.0
3908 }
3909}
3910impl fmt::Debug for SpaceComponentTypeFB {
3911 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3912 let name = match *self {
3913 Self::LOCATABLE => Some("LOCATABLE"),
3914 Self::STORABLE => Some("STORABLE"),
3915 Self::SHARABLE => Some("SHARABLE"),
3916 Self::BOUNDED_2D => Some("BOUNDED_2D"),
3917 Self::BOUNDED_3D => Some("BOUNDED_3D"),
3918 Self::SEMANTIC_LABELS => Some("SEMANTIC_LABELS"),
3919 Self::ROOM_LAYOUT => Some("ROOM_LAYOUT"),
3920 Self::SPACE_CONTAINER => Some("SPACE_CONTAINER"),
3921 Self::TRIANGLE_MESH_M => Some("TRIANGLE_MESH_M"),
3922 _ => None,
3923 };
3924 fmt_enum(fmt, self.0, name)
3925 }
3926}
3927#[doc = "See [XrWindingOrderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWindingOrderFB)"]
3928#[repr(transparent)]
3929#[derive(Copy, Clone, Eq, PartialEq, Default)]
3930pub struct WindingOrderFB(i32);
3931impl WindingOrderFB {
3932 #[doc = "Winding order is unknown and the runtime cannot make any assumptions on the triangle orientation"]
3933 pub const UNKNOWN: WindingOrderFB = Self(0i32);
3934 #[doc = "Clockwise winding order"]
3935 pub const CW: WindingOrderFB = Self(1i32);
3936 #[doc = "Counter-clockwise winding order"]
3937 pub const CCW: WindingOrderFB = Self(2i32);
3938 pub fn from_raw(x: i32) -> Self {
3939 Self(x)
3940 }
3941 pub fn into_raw(self) -> i32 {
3942 self.0
3943 }
3944}
3945impl fmt::Debug for WindingOrderFB {
3946 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3947 let name = match *self {
3948 Self::UNKNOWN => Some("UNKNOWN"),
3949 Self::CW => Some("CW"),
3950 Self::CCW => Some("CCW"),
3951 _ => None,
3952 };
3953 fmt_enum(fmt, self.0, name)
3954 }
3955}
3956#[doc = "See [XrPassthroughLayerPurposeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerPurposeFB)"]
3957#[repr(transparent)]
3958#[derive(Copy, Clone, Eq, PartialEq, Default)]
3959pub struct PassthroughLayerPurposeFB(i32);
3960impl PassthroughLayerPurposeFB {
3961 #[doc = "Reconstruction passthrough (full screen environment)"]
3962 pub const RECONSTRUCTION: PassthroughLayerPurposeFB = Self(0i32);
3963 #[doc = "Projected passthrough (using a custom surface)"]
3964 pub const PROJECTED: PassthroughLayerPurposeFB = Self(1i32);
3965 #[doc = "Passthrough layer purpose for keyboard hands presence."]
3966 pub const TRACKED_KEYBOARD_HANDS: PassthroughLayerPurposeFB = Self(1000203001i32);
3967 #[doc = "Passthrough layer purpose for keyboard hands presence with keyboard masked hand transitions (i.e passthrough hands rendered only when they are over the keyboard)."]
3968 pub const TRACKED_KEYBOARD_MASKED_HANDS: PassthroughLayerPurposeFB = Self(1000203002i32);
3969 pub fn from_raw(x: i32) -> Self {
3970 Self(x)
3971 }
3972 pub fn into_raw(self) -> i32 {
3973 self.0
3974 }
3975}
3976impl fmt::Debug for PassthroughLayerPurposeFB {
3977 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
3978 let name = match *self {
3979 Self::RECONSTRUCTION => Some("RECONSTRUCTION"),
3980 Self::PROJECTED => Some("PROJECTED"),
3981 Self::TRACKED_KEYBOARD_HANDS => Some("TRACKED_KEYBOARD_HANDS"),
3982 Self::TRACKED_KEYBOARD_MASKED_HANDS => Some("TRACKED_KEYBOARD_MASKED_HANDS"),
3983 _ => None,
3984 };
3985 fmt_enum(fmt, self.0, name)
3986 }
3987}
3988#[doc = "See [XrSpaceQueryActionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryActionFB)"]
3989#[repr(transparent)]
3990#[derive(Copy, Clone, Eq, PartialEq, Default)]
3991pub struct SpaceQueryActionFB(i32);
3992impl SpaceQueryActionFB {
3993 #[doc = "Tells the query to perform a load operation on any XrSpace returned by the query."]
3994 pub const LOAD: SpaceQueryActionFB = Self(0i32);
3995 pub fn from_raw(x: i32) -> Self {
3996 Self(x)
3997 }
3998 pub fn into_raw(self) -> i32 {
3999 self.0
4000 }
4001}
4002impl fmt::Debug for SpaceQueryActionFB {
4003 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4004 let name = match *self {
4005 Self::LOAD => Some("LOAD"),
4006 _ => None,
4007 };
4008 fmt_enum(fmt, self.0, name)
4009 }
4010}
4011#[doc = "See [XrSpaceStorageLocationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceStorageLocationFB)"]
4012#[repr(transparent)]
4013#[derive(Copy, Clone, Eq, PartialEq, Default)]
4014pub struct SpaceStorageLocationFB(i32);
4015impl SpaceStorageLocationFB {
4016 #[doc = "Invalid storage location"]
4017 pub const INVALID: SpaceStorageLocationFB = Self(0i32);
4018 #[doc = "Local device storage"]
4019 pub const LOCAL: SpaceStorageLocationFB = Self(1i32);
4020 #[doc = "Cloud storage"]
4021 pub const CLOUD: SpaceStorageLocationFB = Self(2i32);
4022 pub fn from_raw(x: i32) -> Self {
4023 Self(x)
4024 }
4025 pub fn into_raw(self) -> i32 {
4026 self.0
4027 }
4028}
4029impl fmt::Debug for SpaceStorageLocationFB {
4030 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4031 let name = match *self {
4032 Self::INVALID => Some("INVALID"),
4033 Self::LOCAL => Some("LOCAL"),
4034 Self::CLOUD => Some("CLOUD"),
4035 _ => None,
4036 };
4037 fmt_enum(fmt, self.0, name)
4038 }
4039}
4040#[doc = "See [XrSpacePersistenceModeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacePersistenceModeFB)"]
4041#[repr(transparent)]
4042#[derive(Copy, Clone, Eq, PartialEq, Default)]
4043pub struct SpacePersistenceModeFB(i32);
4044impl SpacePersistenceModeFB {
4045 #[doc = "Invalid storage persistence"]
4046 pub const INVALID: SpacePersistenceModeFB = Self(0i32);
4047 #[doc = "Store XrSpace indefinitely, or until erased"]
4048 pub const INDEFINITE: SpacePersistenceModeFB = Self(1i32);
4049 pub fn from_raw(x: i32) -> Self {
4050 Self(x)
4051 }
4052 pub fn into_raw(self) -> i32 {
4053 self.0
4054 }
4055}
4056impl fmt::Debug for SpacePersistenceModeFB {
4057 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4058 let name = match *self {
4059 Self::INVALID => Some("INVALID"),
4060 Self::INDEFINITE => Some("INDEFINITE"),
4061 _ => None,
4062 };
4063 fmt_enum(fmt, self.0, name)
4064 }
4065}
4066#[doc = "See [XrSemanticLabelMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelMETA)"]
4067#[repr(transparent)]
4068#[derive(Copy, Clone, Eq, PartialEq, Default)]
4069pub struct SemanticLabelMETA(i32);
4070impl SemanticLabelMETA {
4071 #[doc = "Unknown. This is a valid label that is used when the runtime is not able to classify the entity using another label, or when the application does not recognize the label."]
4072 pub const UNKNOWN: SemanticLabelMETA = Self(0i32);
4073 #[doc = "Floor of a room or space."]
4074 pub const FLOOR: SemanticLabelMETA = Self(1i32);
4075 #[doc = "Ceiling of a room or space."]
4076 pub const CEILING: SemanticLabelMETA = Self(2i32);
4077 #[doc = "Wall face of a room or space. Wall faces, along with invisible wall faces, are used to define the outer boundary of a room."]
4078 pub const WALL_FACE: SemanticLabelMETA = Self(3i32);
4079 #[doc = "Inner wall face, which is a wall face that exists inside a room and is not connected to the outer boundary of the room. For example, a pillar that exists at the center of a room may: be represented by using four inner wall faces."]
4080 pub const INNER_WALL_FACE: SemanticLabelMETA = Self(4i32);
4081 #[doc = "Invisible wall face, which is used to conceptually separate a space (e.g., separate a living space from a kitchen space in an open floor plan house even though there is no real wall between the two spaces)."]
4082 pub const INVISIBLE_WALL_FACE: SemanticLabelMETA = Self(5i32);
4083 #[doc = "Door frame, which usually exists on a wall face."]
4084 pub const DOOR_FRAME: SemanticLabelMETA = Self(6i32);
4085 #[doc = "Window frame, which usually exists on a wall face."]
4086 pub const WINDOW_FRAME: SemanticLabelMETA = Self(7i32);
4087 pub fn from_raw(x: i32) -> Self {
4088 Self(x)
4089 }
4090 pub fn into_raw(self) -> i32 {
4091 self.0
4092 }
4093}
4094impl fmt::Debug for SemanticLabelMETA {
4095 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4096 let name = match *self {
4097 Self::UNKNOWN => Some("UNKNOWN"),
4098 Self::FLOOR => Some("FLOOR"),
4099 Self::CEILING => Some("CEILING"),
4100 Self::WALL_FACE => Some("WALL_FACE"),
4101 Self::INNER_WALL_FACE => Some("INNER_WALL_FACE"),
4102 Self::INVISIBLE_WALL_FACE => Some("INVISIBLE_WALL_FACE"),
4103 Self::DOOR_FRAME => Some("DOOR_FRAME"),
4104 Self::WINDOW_FRAME => Some("WINDOW_FRAME"),
4105 _ => None,
4106 };
4107 fmt_enum(fmt, self.0, name)
4108 }
4109}
4110#[doc = "See [XrExternalCameraAttachedToDeviceOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraAttachedToDeviceOCULUS)"]
4111#[repr(transparent)]
4112#[derive(Copy, Clone, Eq, PartialEq, Default)]
4113pub struct ExternalCameraAttachedToDeviceOCULUS(i32);
4114impl ExternalCameraAttachedToDeviceOCULUS {
4115 #[doc = "External camera is at a fixed point in LOCAL space"]
4116 pub const NONE: ExternalCameraAttachedToDeviceOCULUS = Self(0i32);
4117 #[doc = "External camera is attached to the HMD"]
4118 pub const HMD: ExternalCameraAttachedToDeviceOCULUS = Self(1i32);
4119 #[doc = "External camera is attached to a left Touch controller"]
4120 pub const LTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(2i32);
4121 #[doc = "External camera is attached to a right Touch controller"]
4122 pub const RTOUCH: ExternalCameraAttachedToDeviceOCULUS = Self(3i32);
4123 pub fn from_raw(x: i32) -> Self {
4124 Self(x)
4125 }
4126 pub fn into_raw(self) -> i32 {
4127 self.0
4128 }
4129}
4130impl fmt::Debug for ExternalCameraAttachedToDeviceOCULUS {
4131 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4132 let name = match *self {
4133 Self::NONE => Some("NONE"),
4134 Self::HMD => Some("HMD"),
4135 Self::LTOUCH => Some("LTOUCH"),
4136 Self::RTOUCH => Some("RTOUCH"),
4137 _ => None,
4138 };
4139 fmt_enum(fmt, self.0, name)
4140 }
4141}
4142#[doc = "See [XrPassthroughColorLutChannelsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutChannelsMETA)"]
4143#[repr(transparent)]
4144#[derive(Copy, Clone, Eq, PartialEq)]
4145pub struct PassthroughColorLutChannelsMETA(i32);
4146impl PassthroughColorLutChannelsMETA {
4147 pub const RGB: PassthroughColorLutChannelsMETA = Self(1i32);
4148 pub const RGBA: PassthroughColorLutChannelsMETA = Self(2i32);
4149 pub fn from_raw(x: i32) -> Self {
4150 Self(x)
4151 }
4152 pub fn into_raw(self) -> i32 {
4153 self.0
4154 }
4155}
4156impl fmt::Debug for PassthroughColorLutChannelsMETA {
4157 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4158 let name = match *self {
4159 Self::RGB => Some("RGB"),
4160 Self::RGBA => Some("RGBA"),
4161 _ => None,
4162 };
4163 fmt_enum(fmt, self.0, name)
4164 }
4165}
4166#[doc = "See [XrPerformanceMetricsCounterUnitMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterUnitMETA)"]
4167#[repr(transparent)]
4168#[derive(Copy, Clone, Eq, PartialEq, Default)]
4169pub struct PerformanceMetricsCounterUnitMETA(i32);
4170impl PerformanceMetricsCounterUnitMETA {
4171 #[doc = "the performance counter unit is generic (unspecified)."]
4172 pub const GENERIC: PerformanceMetricsCounterUnitMETA = Self(0i32);
4173 #[doc = "the performance counter unit is percentage (%)."]
4174 pub const PERCENTAGE: PerformanceMetricsCounterUnitMETA = Self(1i32);
4175 #[doc = "the performance counter unit is millisecond."]
4176 pub const MILLISECONDS: PerformanceMetricsCounterUnitMETA = Self(2i32);
4177 #[doc = "the performance counter unit is byte."]
4178 pub const BYTES: PerformanceMetricsCounterUnitMETA = Self(3i32);
4179 #[doc = "the performance counter unit is hertz (Hz)."]
4180 pub const HERTZ: PerformanceMetricsCounterUnitMETA = Self(4i32);
4181 pub fn from_raw(x: i32) -> Self {
4182 Self(x)
4183 }
4184 pub fn into_raw(self) -> i32 {
4185 self.0
4186 }
4187}
4188impl fmt::Debug for PerformanceMetricsCounterUnitMETA {
4189 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4190 let name = match *self {
4191 Self::GENERIC => Some("GENERIC"),
4192 Self::PERCENTAGE => Some("PERCENTAGE"),
4193 Self::MILLISECONDS => Some("MILLISECONDS"),
4194 Self::BYTES => Some("BYTES"),
4195 Self::HERTZ => Some("HERTZ"),
4196 _ => None,
4197 };
4198 fmt_enum(fmt, self.0, name)
4199 }
4200}
4201#[doc = "See [XrFacialTrackingTypeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackingTypeHTC)"]
4202#[repr(transparent)]
4203#[derive(Copy, Clone, Eq, PartialEq)]
4204pub struct FacialTrackingTypeHTC(i32);
4205impl FacialTrackingTypeHTC {
4206 #[doc = "Specifies this handle will observe eye expressions, with values indexed by XrEyeExpressionHTC whose count is XR_FACIAL_EXPRESSION_EYE_COUNT_HTC."]
4207 pub const EYE_DEFAULT: FacialTrackingTypeHTC = Self(1i32);
4208 #[doc = "Specifies this handle will observe lip expressions, with values indexed by XrLipExpressionHTC whose count is XR_FACIAL_EXPRESSION_LIP_COUNT_HTC."]
4209 pub const LIP_DEFAULT: FacialTrackingTypeHTC = Self(2i32);
4210 pub fn from_raw(x: i32) -> Self {
4211 Self(x)
4212 }
4213 pub fn into_raw(self) -> i32 {
4214 self.0
4215 }
4216}
4217impl fmt::Debug for FacialTrackingTypeHTC {
4218 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4219 let name = match *self {
4220 Self::EYE_DEFAULT => Some("EYE_DEFAULT"),
4221 Self::LIP_DEFAULT => Some("LIP_DEFAULT"),
4222 _ => None,
4223 };
4224 fmt_enum(fmt, self.0, name)
4225 }
4226}
4227#[doc = "See [XrEyeExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeExpressionHTC)"]
4228#[repr(transparent)]
4229#[derive(Copy, Clone, Eq, PartialEq, Default)]
4230pub struct EyeExpressionHTC(i32);
4231impl EyeExpressionHTC {
4232 pub const LEFT_BLINK: EyeExpressionHTC = Self(0i32);
4233 pub const LEFT_WIDE: EyeExpressionHTC = Self(1i32);
4234 pub const RIGHT_BLINK: EyeExpressionHTC = Self(2i32);
4235 pub const RIGHT_WIDE: EyeExpressionHTC = Self(3i32);
4236 pub const LEFT_SQUEEZE: EyeExpressionHTC = Self(4i32);
4237 pub const RIGHT_SQUEEZE: EyeExpressionHTC = Self(5i32);
4238 pub const LEFT_DOWN: EyeExpressionHTC = Self(6i32);
4239 pub const RIGHT_DOWN: EyeExpressionHTC = Self(7i32);
4240 pub const LEFT_OUT: EyeExpressionHTC = Self(8i32);
4241 pub const RIGHT_IN: EyeExpressionHTC = Self(9i32);
4242 pub const LEFT_IN: EyeExpressionHTC = Self(10i32);
4243 pub const RIGHT_OUT: EyeExpressionHTC = Self(11i32);
4244 pub const LEFT_UP: EyeExpressionHTC = Self(12i32);
4245 pub const RIGHT_UP: EyeExpressionHTC = Self(13i32);
4246 pub fn from_raw(x: i32) -> Self {
4247 Self(x)
4248 }
4249 pub fn into_raw(self) -> i32 {
4250 self.0
4251 }
4252}
4253impl fmt::Debug for EyeExpressionHTC {
4254 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4255 let name = match *self {
4256 Self::LEFT_BLINK => Some("LEFT_BLINK"),
4257 Self::LEFT_WIDE => Some("LEFT_WIDE"),
4258 Self::RIGHT_BLINK => Some("RIGHT_BLINK"),
4259 Self::RIGHT_WIDE => Some("RIGHT_WIDE"),
4260 Self::LEFT_SQUEEZE => Some("LEFT_SQUEEZE"),
4261 Self::RIGHT_SQUEEZE => Some("RIGHT_SQUEEZE"),
4262 Self::LEFT_DOWN => Some("LEFT_DOWN"),
4263 Self::RIGHT_DOWN => Some("RIGHT_DOWN"),
4264 Self::LEFT_OUT => Some("LEFT_OUT"),
4265 Self::RIGHT_IN => Some("RIGHT_IN"),
4266 Self::LEFT_IN => Some("LEFT_IN"),
4267 Self::RIGHT_OUT => Some("RIGHT_OUT"),
4268 Self::LEFT_UP => Some("LEFT_UP"),
4269 Self::RIGHT_UP => Some("RIGHT_UP"),
4270 _ => None,
4271 };
4272 fmt_enum(fmt, self.0, name)
4273 }
4274}
4275#[doc = "See [XrLipExpressionHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionHTC)"]
4276#[repr(transparent)]
4277#[derive(Copy, Clone, Eq, PartialEq, Default)]
4278pub struct LipExpressionHTC(i32);
4279impl LipExpressionHTC {
4280 pub const JAW_RIGHT: LipExpressionHTC = Self(0i32);
4281 pub const JAW_LEFT: LipExpressionHTC = Self(1i32);
4282 pub const JAW_FORWARD: LipExpressionHTC = Self(2i32);
4283 pub const JAW_OPEN: LipExpressionHTC = Self(3i32);
4284 pub const MOUTH_APE_SHAPE: LipExpressionHTC = Self(4i32);
4285 pub const MOUTH_UPPER_RIGHT: LipExpressionHTC = Self(5i32);
4286 pub const MOUTH_UPPER_LEFT: LipExpressionHTC = Self(6i32);
4287 pub const MOUTH_LOWER_RIGHT: LipExpressionHTC = Self(7i32);
4288 pub const MOUTH_LOWER_LEFT: LipExpressionHTC = Self(8i32);
4289 pub const MOUTH_UPPER_OVERTURN: LipExpressionHTC = Self(9i32);
4290 pub const MOUTH_LOWER_OVERTURN: LipExpressionHTC = Self(10i32);
4291 pub const MOUTH_POUT: LipExpressionHTC = Self(11i32);
4292 pub const MOUTH_RAISER_RIGHT: LipExpressionHTC = Self(12i32);
4293 pub const MOUTH_RAISER_LEFT: LipExpressionHTC = Self(13i32);
4294 pub const MOUTH_STRETCHER_RIGHT: LipExpressionHTC = Self(14i32);
4295 pub const MOUTH_STRETCHER_LEFT: LipExpressionHTC = Self(15i32);
4296 pub const CHEEK_PUFF_RIGHT: LipExpressionHTC = Self(16i32);
4297 pub const CHEEK_PUFF_LEFT: LipExpressionHTC = Self(17i32);
4298 pub const CHEEK_SUCK: LipExpressionHTC = Self(18i32);
4299 pub const MOUTH_UPPER_UPRIGHT: LipExpressionHTC = Self(19i32);
4300 pub const MOUTH_UPPER_UPLEFT: LipExpressionHTC = Self(20i32);
4301 pub const MOUTH_LOWER_DOWNRIGHT: LipExpressionHTC = Self(21i32);
4302 pub const MOUTH_LOWER_DOWNLEFT: LipExpressionHTC = Self(22i32);
4303 pub const MOUTH_UPPER_INSIDE: LipExpressionHTC = Self(23i32);
4304 pub const MOUTH_LOWER_INSIDE: LipExpressionHTC = Self(24i32);
4305 pub const MOUTH_LOWER_OVERLAY: LipExpressionHTC = Self(25i32);
4306 pub const TONGUE_LONGSTEP1: LipExpressionHTC = Self(26i32);
4307 pub const TONGUE_LEFT: LipExpressionHTC = Self(27i32);
4308 pub const TONGUE_RIGHT: LipExpressionHTC = Self(28i32);
4309 pub const TONGUE_UP: LipExpressionHTC = Self(29i32);
4310 pub const TONGUE_DOWN: LipExpressionHTC = Self(30i32);
4311 pub const TONGUE_ROLL: LipExpressionHTC = Self(31i32);
4312 pub const TONGUE_LONGSTEP2: LipExpressionHTC = Self(32i32);
4313 pub const TONGUE_UPRIGHT_MORPH: LipExpressionHTC = Self(33i32);
4314 pub const TONGUE_UPLEFT_MORPH: LipExpressionHTC = Self(34i32);
4315 pub const TONGUE_DOWNRIGHT_MORPH: LipExpressionHTC = Self(35i32);
4316 pub const TONGUE_DOWNLEFT_MORPH: LipExpressionHTC = Self(36i32);
4317 #[doc = "Backward-compatibility alias for deprecated name."]
4318 pub const MOUTH_SMILE_RIGHT: LipExpressionHTC = Self::MOUTH_RAISER_RIGHT;
4319 #[doc = "Backward-compatibility alias for deprecated name."]
4320 pub const MOUTH_SMILE_LEFT: LipExpressionHTC = Self::MOUTH_RAISER_LEFT;
4321 #[doc = "Backward-compatibility alias for deprecated name."]
4322 pub const MOUTH_SAD_RIGHT: LipExpressionHTC = Self::MOUTH_STRETCHER_RIGHT;
4323 #[doc = "Backward-compatibility alias for deprecated name."]
4324 pub const MOUTH_SAD_LEFT: LipExpressionHTC = Self::MOUTH_STRETCHER_LEFT;
4325 pub fn from_raw(x: i32) -> Self {
4326 Self(x)
4327 }
4328 pub fn into_raw(self) -> i32 {
4329 self.0
4330 }
4331}
4332impl fmt::Debug for LipExpressionHTC {
4333 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4334 let name = match *self {
4335 Self::JAW_RIGHT => Some("JAW_RIGHT"),
4336 Self::JAW_LEFT => Some("JAW_LEFT"),
4337 Self::JAW_FORWARD => Some("JAW_FORWARD"),
4338 Self::JAW_OPEN => Some("JAW_OPEN"),
4339 Self::MOUTH_APE_SHAPE => Some("MOUTH_APE_SHAPE"),
4340 Self::MOUTH_UPPER_RIGHT => Some("MOUTH_UPPER_RIGHT"),
4341 Self::MOUTH_UPPER_LEFT => Some("MOUTH_UPPER_LEFT"),
4342 Self::MOUTH_LOWER_RIGHT => Some("MOUTH_LOWER_RIGHT"),
4343 Self::MOUTH_LOWER_LEFT => Some("MOUTH_LOWER_LEFT"),
4344 Self::MOUTH_UPPER_OVERTURN => Some("MOUTH_UPPER_OVERTURN"),
4345 Self::MOUTH_LOWER_OVERTURN => Some("MOUTH_LOWER_OVERTURN"),
4346 Self::MOUTH_POUT => Some("MOUTH_POUT"),
4347 Self::MOUTH_RAISER_RIGHT => Some("MOUTH_RAISER_RIGHT"),
4348 Self::MOUTH_RAISER_LEFT => Some("MOUTH_RAISER_LEFT"),
4349 Self::MOUTH_STRETCHER_RIGHT => Some("MOUTH_STRETCHER_RIGHT"),
4350 Self::MOUTH_STRETCHER_LEFT => Some("MOUTH_STRETCHER_LEFT"),
4351 Self::CHEEK_PUFF_RIGHT => Some("CHEEK_PUFF_RIGHT"),
4352 Self::CHEEK_PUFF_LEFT => Some("CHEEK_PUFF_LEFT"),
4353 Self::CHEEK_SUCK => Some("CHEEK_SUCK"),
4354 Self::MOUTH_UPPER_UPRIGHT => Some("MOUTH_UPPER_UPRIGHT"),
4355 Self::MOUTH_UPPER_UPLEFT => Some("MOUTH_UPPER_UPLEFT"),
4356 Self::MOUTH_LOWER_DOWNRIGHT => Some("MOUTH_LOWER_DOWNRIGHT"),
4357 Self::MOUTH_LOWER_DOWNLEFT => Some("MOUTH_LOWER_DOWNLEFT"),
4358 Self::MOUTH_UPPER_INSIDE => Some("MOUTH_UPPER_INSIDE"),
4359 Self::MOUTH_LOWER_INSIDE => Some("MOUTH_LOWER_INSIDE"),
4360 Self::MOUTH_LOWER_OVERLAY => Some("MOUTH_LOWER_OVERLAY"),
4361 Self::TONGUE_LONGSTEP1 => Some("TONGUE_LONGSTEP1"),
4362 Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4363 Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4364 Self::TONGUE_UP => Some("TONGUE_UP"),
4365 Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4366 Self::TONGUE_ROLL => Some("TONGUE_ROLL"),
4367 Self::TONGUE_LONGSTEP2 => Some("TONGUE_LONGSTEP2"),
4368 Self::TONGUE_UPRIGHT_MORPH => Some("TONGUE_UPRIGHT_MORPH"),
4369 Self::TONGUE_UPLEFT_MORPH => Some("TONGUE_UPLEFT_MORPH"),
4370 Self::TONGUE_DOWNRIGHT_MORPH => Some("TONGUE_DOWNRIGHT_MORPH"),
4371 Self::TONGUE_DOWNLEFT_MORPH => Some("TONGUE_DOWNLEFT_MORPH"),
4372 _ => None,
4373 };
4374 fmt_enum(fmt, self.0, name)
4375 }
4376}
4377#[doc = "See [XrPassthroughFormHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFormHTC)"]
4378#[repr(transparent)]
4379#[derive(Copy, Clone, Eq, PartialEq, Default)]
4380pub struct PassthroughFormHTC(i32);
4381impl PassthroughFormHTC {
4382 #[doc = "Presents the passthrough with full of the entire screen."]
4383 pub const PLANAR: PassthroughFormHTC = Self(0i32);
4384 #[doc = "Presents the passthrough projecting onto a custom mesh."]
4385 pub const PROJECTED: PassthroughFormHTC = Self(1i32);
4386 pub fn from_raw(x: i32) -> Self {
4387 Self(x)
4388 }
4389 pub fn into_raw(self) -> i32 {
4390 self.0
4391 }
4392}
4393impl fmt::Debug for PassthroughFormHTC {
4394 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4395 let name = match *self {
4396 Self::PLANAR => Some("PLANAR"),
4397 Self::PROJECTED => Some("PROJECTED"),
4398 _ => None,
4399 };
4400 fmt_enum(fmt, self.0, name)
4401 }
4402}
4403#[doc = "See [XrFoveationModeHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationModeHTC)"]
4404#[repr(transparent)]
4405#[derive(Copy, Clone, Eq, PartialEq, Default)]
4406pub struct FoveationModeHTC(i32);
4407impl FoveationModeHTC {
4408 #[doc = "No foveation"]
4409 pub const DISABLE: FoveationModeHTC = Self(0i32);
4410 #[doc = "Apply system default setting with fixed clear FOV and periphery quality."]
4411 pub const FIXED: FoveationModeHTC = Self(1i32);
4412 #[doc = "Allow system to set foveation dynamically according realtime system metric or other extensions."]
4413 pub const DYNAMIC: FoveationModeHTC = Self(2i32);
4414 #[doc = "Allow application to set foveation with desired clear FOV, periphery quality, and focal center offset."]
4415 pub const CUSTOM: FoveationModeHTC = Self(3i32);
4416 pub fn from_raw(x: i32) -> Self {
4417 Self(x)
4418 }
4419 pub fn into_raw(self) -> i32 {
4420 self.0
4421 }
4422}
4423impl fmt::Debug for FoveationModeHTC {
4424 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4425 let name = match *self {
4426 Self::DISABLE => Some("DISABLE"),
4427 Self::FIXED => Some("FIXED"),
4428 Self::DYNAMIC => Some("DYNAMIC"),
4429 Self::CUSTOM => Some("CUSTOM"),
4430 _ => None,
4431 };
4432 fmt_enum(fmt, self.0, name)
4433 }
4434}
4435#[doc = "See [XrFoveationLevelHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelHTC)"]
4436#[repr(transparent)]
4437#[derive(Copy, Clone, Eq, PartialEq, Default)]
4438pub struct FoveationLevelHTC(i32);
4439impl FoveationLevelHTC {
4440 #[doc = "No foveation"]
4441 pub const NONE: FoveationLevelHTC = Self(0i32);
4442 #[doc = "Light periphery pixel density drop and lower performance gain."]
4443 pub const LOW: FoveationLevelHTC = Self(1i32);
4444 #[doc = "Medium periphery pixel density drop and medium performance gain"]
4445 pub const MEDIUM: FoveationLevelHTC = Self(2i32);
4446 #[doc = "Heavy periphery pixel density drop and higher performance gain"]
4447 pub const HIGH: FoveationLevelHTC = Self(3i32);
4448 pub fn from_raw(x: i32) -> Self {
4449 Self(x)
4450 }
4451 pub fn into_raw(self) -> i32 {
4452 self.0
4453 }
4454}
4455impl fmt::Debug for FoveationLevelHTC {
4456 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4457 let name = match *self {
4458 Self::NONE => Some("NONE"),
4459 Self::LOW => Some("LOW"),
4460 Self::MEDIUM => Some("MEDIUM"),
4461 Self::HIGH => Some("HIGH"),
4462 _ => None,
4463 };
4464 fmt_enum(fmt, self.0, name)
4465 }
4466}
4467#[doc = "See [XrFaceParameterIndicesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceParameterIndicesANDROID)"]
4468#[repr(transparent)]
4469#[derive(Copy, Clone, Eq, PartialEq, Default)]
4470pub struct FaceParameterIndicesANDROID(i32);
4471impl FaceParameterIndicesANDROID {
4472 #[doc = "The left brow lowerer blendshape parameter."]
4473 pub const BROW_LOWERER_L: FaceParameterIndicesANDROID = Self(0i32);
4474 #[doc = "The right brow lowerer blendshape parameter."]
4475 pub const BROW_LOWERER_R: FaceParameterIndicesANDROID = Self(1i32);
4476 #[doc = "The left cheek puff blendshape parameter."]
4477 pub const CHEEK_PUFF_L: FaceParameterIndicesANDROID = Self(2i32);
4478 #[doc = "The right cheek puff blendshape parameter."]
4479 pub const CHEEK_PUFF_R: FaceParameterIndicesANDROID = Self(3i32);
4480 #[doc = "The left cheek raiser blendshape parameter."]
4481 pub const CHEEK_RAISER_L: FaceParameterIndicesANDROID = Self(4i32);
4482 #[doc = "The right cheek raiser blendshape parameter."]
4483 pub const CHEEK_RAISER_R: FaceParameterIndicesANDROID = Self(5i32);
4484 #[doc = "The left cheek suck blendshape parameter."]
4485 pub const CHEEK_SUCK_L: FaceParameterIndicesANDROID = Self(6i32);
4486 #[doc = "The right cheek suck blendshape parameter."]
4487 pub const CHEEK_SUCK_R: FaceParameterIndicesANDROID = Self(7i32);
4488 #[doc = "The bottom chin raiser blendshape parameter."]
4489 pub const CHIN_RAISER_B: FaceParameterIndicesANDROID = Self(8i32);
4490 #[doc = "The top chin raiser blendshape parameter."]
4491 pub const CHIN_RAISER_T: FaceParameterIndicesANDROID = Self(9i32);
4492 #[doc = "The left dimpler blendshape parameter."]
4493 pub const DIMPLER_L: FaceParameterIndicesANDROID = Self(10i32);
4494 #[doc = "The right dimpler lowerer blendshape parameter."]
4495 pub const DIMPLER_R: FaceParameterIndicesANDROID = Self(11i32);
4496 #[doc = "The left eyes closed blendshape parameter."]
4497 pub const EYES_CLOSED_L: FaceParameterIndicesANDROID = Self(12i32);
4498 #[doc = "The right eyes closed blendshape parameter."]
4499 pub const EYES_CLOSED_R: FaceParameterIndicesANDROID = Self(13i32);
4500 #[doc = "The left eyes look down blendshape parameter."]
4501 pub const EYES_LOOK_DOWN_L: FaceParameterIndicesANDROID = Self(14i32);
4502 #[doc = "The right eyes look down blendshape parameter."]
4503 pub const EYES_LOOK_DOWN_R: FaceParameterIndicesANDROID = Self(15i32);
4504 #[doc = "The left look left blendshape parameter."]
4505 pub const EYES_LOOK_LEFT_L: FaceParameterIndicesANDROID = Self(16i32);
4506 #[doc = "The left look right blendshape parameter."]
4507 pub const EYES_LOOK_LEFT_R: FaceParameterIndicesANDROID = Self(17i32);
4508 #[doc = "The right look left blendshape parameter."]
4509 pub const EYES_LOOK_RIGHT_L: FaceParameterIndicesANDROID = Self(18i32);
4510 #[doc = "The right look right blendshape parameter."]
4511 pub const EYES_LOOK_RIGHT_R: FaceParameterIndicesANDROID = Self(19i32);
4512 #[doc = "The left eyes look up blendshape parameter."]
4513 pub const EYES_LOOK_UP_L: FaceParameterIndicesANDROID = Self(20i32);
4514 #[doc = "The right eyes look up blendshape parameter."]
4515 pub const EYES_LOOK_UP_R: FaceParameterIndicesANDROID = Self(21i32);
4516 #[doc = "The left inner brow raiser blendshape parameter."]
4517 pub const INNER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(22i32);
4518 #[doc = "The right inner brow raiser blendshape parameter."]
4519 pub const INNER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(23i32);
4520 #[doc = "The jaw drop blendshape parameter."]
4521 pub const JAW_DROP: FaceParameterIndicesANDROID = Self(24i32);
4522 #[doc = "The left jaw sideways blendshape parameter."]
4523 pub const JAW_SIDEWAYS_LEFT: FaceParameterIndicesANDROID = Self(25i32);
4524 #[doc = "The right jaw sideways blendshape parameter."]
4525 pub const JAW_SIDEWAYS_RIGHT: FaceParameterIndicesANDROID = Self(26i32);
4526 #[doc = "The jaw thrust blendshape parameter."]
4527 pub const JAW_THRUST: FaceParameterIndicesANDROID = Self(27i32);
4528 #[doc = "The left lid tightener blendshape parameter."]
4529 pub const LID_TIGHTENER_L: FaceParameterIndicesANDROID = Self(28i32);
4530 #[doc = "The right lid tightener blendshape parameter."]
4531 pub const LID_TIGHTENER_R: FaceParameterIndicesANDROID = Self(29i32);
4532 #[doc = "The left corner lip depressor blendshape parameter."]
4533 pub const LIP_CORNER_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(30i32);
4534 #[doc = "The right corner lip depressor blendshape parameter."]
4535 pub const LIP_CORNER_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(31i32);
4536 #[doc = "The left corner lip puller blendshape parameter."]
4537 pub const LIP_CORNER_PULLER_L: FaceParameterIndicesANDROID = Self(32i32);
4538 #[doc = "The right corner lip puller blendshape parameter."]
4539 pub const LIP_CORNER_PULLER_R: FaceParameterIndicesANDROID = Self(33i32);
4540 #[doc = "The left bottom lip funneler blendshape parameter."]
4541 pub const LIP_FUNNELER_LB: FaceParameterIndicesANDROID = Self(34i32);
4542 #[doc = "The left top lip funneler blendshape parameter."]
4543 pub const LIP_FUNNELER_LT: FaceParameterIndicesANDROID = Self(35i32);
4544 #[doc = "The right bottom lip funneler blendshape parameter."]
4545 pub const LIP_FUNNELER_RB: FaceParameterIndicesANDROID = Self(36i32);
4546 #[doc = "The right top lip funneler blendshape parameter."]
4547 pub const LIP_FUNNELER_RT: FaceParameterIndicesANDROID = Self(37i32);
4548 #[doc = "The left lip pressor blendshape parameter."]
4549 pub const LIP_PRESSOR_L: FaceParameterIndicesANDROID = Self(38i32);
4550 #[doc = "The right lip pressor blendshape parameter."]
4551 pub const LIP_PRESSOR_R: FaceParameterIndicesANDROID = Self(39i32);
4552 #[doc = "The left lip pucker blendshape parameter."]
4553 pub const LIP_PUCKER_L: FaceParameterIndicesANDROID = Self(40i32);
4554 #[doc = "The right lip pucker blendshape parameter."]
4555 pub const LIP_PUCKER_R: FaceParameterIndicesANDROID = Self(41i32);
4556 #[doc = "The left lip stretcher blendshape parameter."]
4557 pub const LIP_STRETCHER_L: FaceParameterIndicesANDROID = Self(42i32);
4558 #[doc = "The right lip stretcher blendshape parameter."]
4559 pub const LIP_STRETCHER_R: FaceParameterIndicesANDROID = Self(43i32);
4560 #[doc = "The left bottom lip suck blendshape parameter."]
4561 pub const LIP_SUCK_LB: FaceParameterIndicesANDROID = Self(44i32);
4562 #[doc = "The left top lip suck blendshape parameter."]
4563 pub const LIP_SUCK_LT: FaceParameterIndicesANDROID = Self(45i32);
4564 #[doc = "The right bottom lip suck blendshape parameter."]
4565 pub const LIP_SUCK_RB: FaceParameterIndicesANDROID = Self(46i32);
4566 #[doc = "The right top lip suck blendshape parameter."]
4567 pub const LIP_SUCK_RT: FaceParameterIndicesANDROID = Self(47i32);
4568 #[doc = "The left lip tightener blendshape parameter."]
4569 pub const LIP_TIGHTENER_L: FaceParameterIndicesANDROID = Self(48i32);
4570 #[doc = "The right lip tightener blendshape parameter."]
4571 pub const LIP_TIGHTENER_R: FaceParameterIndicesANDROID = Self(49i32);
4572 #[doc = "The lips toward blendshape parameter."]
4573 pub const LIPS_TOWARD: FaceParameterIndicesANDROID = Self(50i32);
4574 #[doc = "The left lower lip depressor blendshape parameter."]
4575 pub const LOWER_LIP_DEPRESSOR_L: FaceParameterIndicesANDROID = Self(51i32);
4576 #[doc = "The right lower lip depressor blendshape parameter."]
4577 pub const LOWER_LIP_DEPRESSOR_R: FaceParameterIndicesANDROID = Self(52i32);
4578 #[doc = "The mouth move left blendshape parameter."]
4579 pub const MOUTH_LEFT: FaceParameterIndicesANDROID = Self(53i32);
4580 #[doc = "The mouth move right blendshape parameter."]
4581 pub const MOUTH_RIGHT: FaceParameterIndicesANDROID = Self(54i32);
4582 #[doc = "The left nose wrinkler blendshape parameter."]
4583 pub const NOSE_WRINKLER_L: FaceParameterIndicesANDROID = Self(55i32);
4584 #[doc = "The right nose wrinkler blendshape parameter."]
4585 pub const NOSE_WRINKLER_R: FaceParameterIndicesANDROID = Self(56i32);
4586 #[doc = "The left outer brow raiser blendshape parameter."]
4587 pub const OUTER_BROW_RAISER_L: FaceParameterIndicesANDROID = Self(57i32);
4588 #[doc = "The right outer brow raiser blendshape parameter."]
4589 pub const OUTER_BROW_RAISER_R: FaceParameterIndicesANDROID = Self(58i32);
4590 #[doc = "The left lid raiser blendshape parameter."]
4591 pub const UPPER_LID_RAISER_L: FaceParameterIndicesANDROID = Self(59i32);
4592 #[doc = "The right lid raiser blendshape parameter."]
4593 pub const UPPER_LID_RAISER_R: FaceParameterIndicesANDROID = Self(60i32);
4594 #[doc = "The left lip raiser blendshape parameter."]
4595 pub const UPPER_LIP_RAISER_L: FaceParameterIndicesANDROID = Self(61i32);
4596 #[doc = "The right lip raiser blendshape parameter."]
4597 pub const UPPER_LIP_RAISER_R: FaceParameterIndicesANDROID = Self(62i32);
4598 #[doc = "The tongue out blendshape parameter."]
4599 pub const TONGUE_OUT: FaceParameterIndicesANDROID = Self(63i32);
4600 #[doc = "The tongue left puller blendshape parameter."]
4601 pub const TONGUE_LEFT: FaceParameterIndicesANDROID = Self(64i32);
4602 #[doc = "The right right puller blendshape parameter."]
4603 pub const TONGUE_RIGHT: FaceParameterIndicesANDROID = Self(65i32);
4604 #[doc = "The right up puller blendshape parameter."]
4605 pub const TONGUE_UP: FaceParameterIndicesANDROID = Self(66i32);
4606 #[doc = "The right down puller blendshape parameter."]
4607 pub const TONGUE_DOWN: FaceParameterIndicesANDROID = Self(67i32);
4608 pub fn from_raw(x: i32) -> Self {
4609 Self(x)
4610 }
4611 pub fn into_raw(self) -> i32 {
4612 self.0
4613 }
4614}
4615impl fmt::Debug for FaceParameterIndicesANDROID {
4616 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4617 let name = match *self {
4618 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
4619 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
4620 Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
4621 Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
4622 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
4623 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
4624 Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
4625 Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
4626 Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
4627 Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
4628 Self::DIMPLER_L => Some("DIMPLER_L"),
4629 Self::DIMPLER_R => Some("DIMPLER_R"),
4630 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
4631 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
4632 Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
4633 Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
4634 Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
4635 Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
4636 Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
4637 Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
4638 Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
4639 Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
4640 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
4641 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
4642 Self::JAW_DROP => Some("JAW_DROP"),
4643 Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
4644 Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
4645 Self::JAW_THRUST => Some("JAW_THRUST"),
4646 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
4647 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
4648 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
4649 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
4650 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
4651 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
4652 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
4653 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
4654 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
4655 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
4656 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
4657 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
4658 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
4659 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
4660 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
4661 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
4662 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
4663 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
4664 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
4665 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
4666 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
4667 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
4668 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
4669 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
4670 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
4671 Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
4672 Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
4673 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
4674 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
4675 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
4676 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
4677 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
4678 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
4679 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
4680 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
4681 Self::TONGUE_OUT => Some("TONGUE_OUT"),
4682 Self::TONGUE_LEFT => Some("TONGUE_LEFT"),
4683 Self::TONGUE_RIGHT => Some("TONGUE_RIGHT"),
4684 Self::TONGUE_UP => Some("TONGUE_UP"),
4685 Self::TONGUE_DOWN => Some("TONGUE_DOWN"),
4686 _ => None,
4687 };
4688 fmt_enum(fmt, self.0, name)
4689 }
4690}
4691#[doc = "See [XrFaceTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingStateANDROID)"]
4692#[repr(transparent)]
4693#[derive(Copy, Clone, Eq, PartialEq, Default)]
4694pub struct FaceTrackingStateANDROID(i32);
4695impl FaceTrackingStateANDROID {
4696 #[doc = "Indicates that face tracking is paused but may be resumed in the future."]
4697 pub const PAUSED: FaceTrackingStateANDROID = Self(0i32);
4698 #[doc = "Tracking has stopped but the client still has an active face tracker."]
4699 pub const STOPPED: FaceTrackingStateANDROID = Self(1i32);
4700 #[doc = "The face is currently tracked and its pose is current."]
4701 pub const TRACKING: FaceTrackingStateANDROID = Self(2i32);
4702 pub fn from_raw(x: i32) -> Self {
4703 Self(x)
4704 }
4705 pub fn into_raw(self) -> i32 {
4706 self.0
4707 }
4708}
4709impl fmt::Debug for FaceTrackingStateANDROID {
4710 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4711 let name = match *self {
4712 Self::PAUSED => Some("PAUSED"),
4713 Self::STOPPED => Some("STOPPED"),
4714 Self::TRACKING => Some("TRACKING"),
4715 _ => None,
4716 };
4717 fmt_enum(fmt, self.0, name)
4718 }
4719}
4720#[doc = "See [XrFaceConfidenceRegionsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceRegionsANDROID)"]
4721#[repr(transparent)]
4722#[derive(Copy, Clone, Eq, PartialEq, Default)]
4723pub struct FaceConfidenceRegionsANDROID(i32);
4724impl FaceConfidenceRegionsANDROID {
4725 #[doc = "Confidence corresponding to the lower region."]
4726 pub const LOWER: FaceConfidenceRegionsANDROID = Self(0i32);
4727 #[doc = "Confidence corresponding to the left upper region."]
4728 pub const LEFT_UPPER: FaceConfidenceRegionsANDROID = Self(1i32);
4729 #[doc = "Confidence corresponding to the right upper region."]
4730 pub const RIGHT_UPPER: FaceConfidenceRegionsANDROID = Self(2i32);
4731 pub fn from_raw(x: i32) -> Self {
4732 Self(x)
4733 }
4734 pub fn into_raw(self) -> i32 {
4735 self.0
4736 }
4737}
4738impl fmt::Debug for FaceConfidenceRegionsANDROID {
4739 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4740 let name = match *self {
4741 Self::LOWER => Some("LOWER"),
4742 Self::LEFT_UPPER => Some("LEFT_UPPER"),
4743 Self::RIGHT_UPPER => Some("RIGHT_UPPER"),
4744 _ => None,
4745 };
4746 fmt_enum(fmt, self.0, name)
4747 }
4748}
4749#[doc = "See [XrTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingStateANDROID)"]
4750#[repr(transparent)]
4751#[derive(Copy, Clone, Eq, PartialEq, Default)]
4752pub struct TrackingStateANDROID(i32);
4753impl TrackingStateANDROID {
4754 #[doc = "Indicates that the trackable or anchor tracking is paused but may be resumed in the future."]
4755 pub const PAUSED: TrackingStateANDROID = Self(0i32);
4756 #[doc = "Tracking has stopped on this Trackable and will never be resumed."]
4757 pub const STOPPED: TrackingStateANDROID = Self(1i32);
4758 #[doc = "The object is currently tracked and its pose is current."]
4759 pub const TRACKING: TrackingStateANDROID = Self(2i32);
4760 pub fn from_raw(x: i32) -> Self {
4761 Self(x)
4762 }
4763 pub fn into_raw(self) -> i32 {
4764 self.0
4765 }
4766}
4767impl fmt::Debug for TrackingStateANDROID {
4768 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4769 let name = match *self {
4770 Self::PAUSED => Some("PAUSED"),
4771 Self::STOPPED => Some("STOPPED"),
4772 Self::TRACKING => Some("TRACKING"),
4773 _ => None,
4774 };
4775 fmt_enum(fmt, self.0, name)
4776 }
4777}
4778#[doc = "See [XrTrackableTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTypeANDROID)"]
4779#[repr(transparent)]
4780#[derive(Copy, Clone, Eq, PartialEq, Default)]
4781pub struct TrackableTypeANDROID(i32);
4782impl TrackableTypeANDROID {
4783 #[doc = "Indicates that the trackable is not valid."]
4784 pub const NOT_VALID: TrackableTypeANDROID = Self(0i32);
4785 #[doc = "Indicates that the trackable is a plane."]
4786 pub const PLANE: TrackableTypeANDROID = Self(1i32);
4787 #[doc = "Indicates that the trackable is the perception depth buffer."]
4788 pub const DEPTH: TrackableTypeANDROID = Self(1000463000i32);
4789 #[doc = "Indicates that the trackable is the object."]
4790 pub const OBJECT: TrackableTypeANDROID = Self(1000466000i32);
4791 #[doc = "Indicates that the trackable is a marker."]
4792 pub const MARKER: TrackableTypeANDROID = Self(1000707000i32);
4793 #[doc = "Indicates that the trackable is a QR code."]
4794 pub const QR_CODE: TrackableTypeANDROID = Self(1000708000i32);
4795 #[doc = "Indicates that the trackable is an image."]
4796 pub const IMAGE: TrackableTypeANDROID = Self(1000709000i32);
4797 pub fn from_raw(x: i32) -> Self {
4798 Self(x)
4799 }
4800 pub fn into_raw(self) -> i32 {
4801 self.0
4802 }
4803}
4804impl fmt::Debug for TrackableTypeANDROID {
4805 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4806 let name = match *self {
4807 Self::NOT_VALID => Some("NOT_VALID"),
4808 Self::PLANE => Some("PLANE"),
4809 Self::DEPTH => Some("DEPTH"),
4810 Self::OBJECT => Some("OBJECT"),
4811 Self::MARKER => Some("MARKER"),
4812 Self::QR_CODE => Some("QR_CODE"),
4813 Self::IMAGE => Some("IMAGE"),
4814 _ => None,
4815 };
4816 fmt_enum(fmt, self.0, name)
4817 }
4818}
4819#[doc = "See [XrPlaneTypeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneTypeANDROID)"]
4820#[repr(transparent)]
4821#[derive(Copy, Clone, Eq, PartialEq, Default)]
4822pub struct PlaneTypeANDROID(i32);
4823impl PlaneTypeANDROID {
4824 #[doc = "A horizontal plane facing downward (for example a ceiling)."]
4825 pub const HORIZONTAL_DOWNWARD_FACING: PlaneTypeANDROID = Self(0i32);
4826 #[doc = "A horizontal plane facing upward (for example a floor or tabletop)."]
4827 pub const HORIZONTAL_UPWARD_FACING: PlaneTypeANDROID = Self(1i32);
4828 #[doc = "A vertical plane (for example a wall)."]
4829 pub const VERTICAL: PlaneTypeANDROID = Self(2i32);
4830 #[doc = "A plane with an arbitrary orientation."]
4831 pub const ARBITRARY: PlaneTypeANDROID = Self(3i32);
4832 pub fn from_raw(x: i32) -> Self {
4833 Self(x)
4834 }
4835 pub fn into_raw(self) -> i32 {
4836 self.0
4837 }
4838}
4839impl fmt::Debug for PlaneTypeANDROID {
4840 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4841 let name = match *self {
4842 Self::HORIZONTAL_DOWNWARD_FACING => Some("HORIZONTAL_DOWNWARD_FACING"),
4843 Self::HORIZONTAL_UPWARD_FACING => Some("HORIZONTAL_UPWARD_FACING"),
4844 Self::VERTICAL => Some("VERTICAL"),
4845 Self::ARBITRARY => Some("ARBITRARY"),
4846 _ => None,
4847 };
4848 fmt_enum(fmt, self.0, name)
4849 }
4850}
4851#[doc = "See [XrPlaneLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneLabelANDROID)"]
4852#[repr(transparent)]
4853#[derive(Copy, Clone, Eq, PartialEq, Default)]
4854pub struct PlaneLabelANDROID(i32);
4855impl PlaneLabelANDROID {
4856 #[doc = "It was not possible to label the plane"]
4857 pub const UNKNOWN: PlaneLabelANDROID = Self(0i32);
4858 #[doc = "The plane is a wall."]
4859 pub const WALL: PlaneLabelANDROID = Self(1i32);
4860 #[doc = "The plane is a floor."]
4861 pub const FLOOR: PlaneLabelANDROID = Self(2i32);
4862 #[doc = "The plane is a ceiling."]
4863 pub const CEILING: PlaneLabelANDROID = Self(3i32);
4864 #[doc = "The plane is a table."]
4865 pub const TABLE: PlaneLabelANDROID = Self(4i32);
4866 pub fn from_raw(x: i32) -> Self {
4867 Self(x)
4868 }
4869 pub fn into_raw(self) -> i32 {
4870 self.0
4871 }
4872}
4873impl fmt::Debug for PlaneLabelANDROID {
4874 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4875 let name = match *self {
4876 Self::UNKNOWN => Some("UNKNOWN"),
4877 Self::WALL => Some("WALL"),
4878 Self::FLOOR => Some("FLOOR"),
4879 Self::CEILING => Some("CEILING"),
4880 Self::TABLE => Some("TABLE"),
4881 _ => None,
4882 };
4883 fmt_enum(fmt, self.0, name)
4884 }
4885}
4886#[doc = "See [XrObjectLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrObjectLabelANDROID)"]
4887#[repr(transparent)]
4888#[derive(Copy, Clone, Eq, PartialEq, Default)]
4889pub struct ObjectLabelANDROID(i32);
4890impl ObjectLabelANDROID {
4891 #[doc = "It was not possible to label the object."]
4892 pub const UNKNOWN: ObjectLabelANDROID = Self(0i32);
4893 #[doc = "The object is a keyboard."]
4894 pub const KEYBOARD: ObjectLabelANDROID = Self(1i32);
4895 #[doc = "The object is a mouse."]
4896 pub const MOUSE: ObjectLabelANDROID = Self(2i32);
4897 #[doc = "The object is a laptop."]
4898 pub const LAPTOP: ObjectLabelANDROID = Self(3i32);
4899 pub fn from_raw(x: i32) -> Self {
4900 Self(x)
4901 }
4902 pub fn into_raw(self) -> i32 {
4903 self.0
4904 }
4905}
4906impl fmt::Debug for ObjectLabelANDROID {
4907 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4908 let name = match *self {
4909 Self::UNKNOWN => Some("UNKNOWN"),
4910 Self::KEYBOARD => Some("KEYBOARD"),
4911 Self::MOUSE => Some("MOUSE"),
4912 Self::LAPTOP => Some("LAPTOP"),
4913 _ => None,
4914 };
4915 fmt_enum(fmt, self.0, name)
4916 }
4917}
4918#[doc = "See [XrAnchorPersistStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorPersistStateANDROID)"]
4919#[repr(transparent)]
4920#[derive(Copy, Clone, Eq, PartialEq, Default)]
4921pub struct AnchorPersistStateANDROID(i32);
4922impl AnchorPersistStateANDROID {
4923 #[doc = "Anchor has not been requested to be persisted by the app."]
4924 pub const PERSIST_NOT_REQUESTED: AnchorPersistStateANDROID = Self(0i32);
4925 #[doc = "Anchor has been requested to be persisted but not persisted yet."]
4926 pub const PERSIST_PENDING: AnchorPersistStateANDROID = Self(1i32);
4927 #[doc = "Anchor has been successfully persisted by the runtime."]
4928 pub const PERSISTED: AnchorPersistStateANDROID = Self(2i32);
4929 pub fn from_raw(x: i32) -> Self {
4930 Self(x)
4931 }
4932 pub fn into_raw(self) -> i32 {
4933 self.0
4934 }
4935}
4936impl fmt::Debug for AnchorPersistStateANDROID {
4937 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4938 let name = match *self {
4939 Self::PERSIST_NOT_REQUESTED => Some("PERSIST_NOT_REQUESTED"),
4940 Self::PERSIST_PENDING => Some("PERSIST_PENDING"),
4941 Self::PERSISTED => Some("PERSISTED"),
4942 _ => None,
4943 };
4944 fmt_enum(fmt, self.0, name)
4945 }
4946}
4947#[doc = "See [XrPerformanceMetricsCounterUnitANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterUnitANDROID)"]
4948#[repr(transparent)]
4949#[derive(Copy, Clone, Eq, PartialEq, Default)]
4950pub struct PerformanceMetricsCounterUnitANDROID(i32);
4951impl PerformanceMetricsCounterUnitANDROID {
4952 #[doc = "The performance counter unit is generic (unspecified)."]
4953 pub const GENERIC: PerformanceMetricsCounterUnitANDROID = Self(0i32);
4954 #[doc = "The performance counter unit is percentage (%)."]
4955 pub const PERCENTAGE: PerformanceMetricsCounterUnitANDROID = Self(1i32);
4956 #[doc = "The performance counter unit is millisecond."]
4957 pub const MILLISECONDS: PerformanceMetricsCounterUnitANDROID = Self(2i32);
4958 #[doc = "The performance counter unit is byte."]
4959 pub const BYTES: PerformanceMetricsCounterUnitANDROID = Self(3i32);
4960 #[doc = "The performance counter unit is hertz (Hz)."]
4961 pub const HERTZ: PerformanceMetricsCounterUnitANDROID = Self(4i32);
4962 pub fn from_raw(x: i32) -> Self {
4963 Self(x)
4964 }
4965 pub fn into_raw(self) -> i32 {
4966 self.0
4967 }
4968}
4969impl fmt::Debug for PerformanceMetricsCounterUnitANDROID {
4970 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
4971 let name = match *self {
4972 Self::GENERIC => Some("GENERIC"),
4973 Self::PERCENTAGE => Some("PERCENTAGE"),
4974 Self::MILLISECONDS => Some("MILLISECONDS"),
4975 Self::BYTES => Some("BYTES"),
4976 Self::HERTZ => Some("HERTZ"),
4977 _ => None,
4978 };
4979 fmt_enum(fmt, self.0, name)
4980 }
4981}
4982#[doc = "See [XrQrCodeTrackingModeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQrCodeTrackingModeANDROID)"]
4983#[repr(transparent)]
4984#[derive(Copy, Clone, Eq, PartialEq, Default)]
4985pub struct QrCodeTrackingModeANDROID(i32);
4986impl QrCodeTrackingModeANDROID {
4987 #[doc = "Tracking dynamic QR codes. This mode has the highest accuracy and works on moving and static QR codes, but also has the highest power consumption."]
4988 pub const DYNAMIC: QrCodeTrackingModeANDROID = Self(0i32);
4989 #[doc = "Tracking static QR codes. This mode is primarily useful for QR codes that are known to be static, which leads to less power consumption in comparison to the dynamic mode."]
4990 pub const STATIC: QrCodeTrackingModeANDROID = Self(1i32);
4991 pub fn from_raw(x: i32) -> Self {
4992 Self(x)
4993 }
4994 pub fn into_raw(self) -> i32 {
4995 self.0
4996 }
4997}
4998impl fmt::Debug for QrCodeTrackingModeANDROID {
4999 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5000 let name = match *self {
5001 Self::DYNAMIC => Some("DYNAMIC"),
5002 Self::STATIC => Some("STATIC"),
5003 _ => None,
5004 };
5005 fmt_enum(fmt, self.0, name)
5006 }
5007}
5008#[doc = "See [XrWindingOrderANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWindingOrderANDROID)"]
5009#[repr(transparent)]
5010#[derive(Copy, Clone, Eq, PartialEq, Default)]
5011pub struct WindingOrderANDROID(i32);
5012impl WindingOrderANDROID {
5013 #[doc = "Winding order of the mesh's triangles is not known."]
5014 pub const UNKNOWN: WindingOrderANDROID = Self(0i32);
5015 #[doc = "Winding order of the mesh's triangles is clockwise."]
5016 pub const CW: WindingOrderANDROID = Self(1i32);
5017 #[doc = "Winding order of the mesh's triangles is counter-clockwise."]
5018 pub const CCW: WindingOrderANDROID = Self(2i32);
5019 pub fn from_raw(x: i32) -> Self {
5020 Self(x)
5021 }
5022 pub fn into_raw(self) -> i32 {
5023 self.0
5024 }
5025}
5026impl fmt::Debug for WindingOrderANDROID {
5027 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5028 let name = match *self {
5029 Self::UNKNOWN => Some("UNKNOWN"),
5030 Self::CW => Some("CW"),
5031 Self::CCW => Some("CCW"),
5032 _ => None,
5033 };
5034 fmt_enum(fmt, self.0, name)
5035 }
5036}
5037#[doc = "See [XrSceneMeshSemanticLabelSetANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSemanticLabelSetANDROID)"]
5038#[repr(transparent)]
5039#[derive(Copy, Clone, Eq, PartialEq, Default)]
5040pub struct SceneMeshSemanticLabelSetANDROID(i32);
5041impl SceneMeshSemanticLabelSetANDROID {
5042 #[doc = "This semantic label set represents absence of semantic labels."]
5043 pub const NONE: SceneMeshSemanticLabelSetANDROID = Self(0i32);
5044 #[doc = "This semantic label set represents XrSceneMeshSemanticLabelANDROID."]
5045 pub const DEFAULT: SceneMeshSemanticLabelSetANDROID = Self(1i32);
5046 pub fn from_raw(x: i32) -> Self {
5047 Self(x)
5048 }
5049 pub fn into_raw(self) -> i32 {
5050 self.0
5051 }
5052}
5053impl fmt::Debug for SceneMeshSemanticLabelSetANDROID {
5054 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5055 let name = match *self {
5056 Self::NONE => Some("NONE"),
5057 Self::DEFAULT => Some("DEFAULT"),
5058 _ => None,
5059 };
5060 fmt_enum(fmt, self.0, name)
5061 }
5062}
5063#[doc = "See [XrSceneMeshSemanticLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSemanticLabelANDROID)"]
5064#[repr(transparent)]
5065#[derive(Copy, Clone, Eq, PartialEq, Default)]
5066pub struct SceneMeshSemanticLabelANDROID(i32);
5067impl SceneMeshSemanticLabelANDROID {
5068 #[doc = "This semantic label indicates that the corresponding mesh element represents an unknown object."]
5069 pub const OTHER: SceneMeshSemanticLabelANDROID = Self(0i32);
5070 #[doc = "This semantic label indicates that the corresponding mesh element represents a floor."]
5071 pub const FLOOR: SceneMeshSemanticLabelANDROID = Self(1i32);
5072 #[doc = "This semantic label indicates that the corresponding mesh element represents a ceiling."]
5073 pub const CEILING: SceneMeshSemanticLabelANDROID = Self(2i32);
5074 #[doc = "This semantic label indicates that the corresponding mesh element represents a wall."]
5075 pub const WALL: SceneMeshSemanticLabelANDROID = Self(3i32);
5076 #[doc = "This semantic label indicates that the corresponding mesh element represents a table."]
5077 pub const TABLE: SceneMeshSemanticLabelANDROID = Self(4i32);
5078 pub fn from_raw(x: i32) -> Self {
5079 Self(x)
5080 }
5081 pub fn into_raw(self) -> i32 {
5082 self.0
5083 }
5084}
5085impl fmt::Debug for SceneMeshSemanticLabelANDROID {
5086 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5087 let name = match *self {
5088 Self::OTHER => Some("OTHER"),
5089 Self::FLOOR => Some("FLOOR"),
5090 Self::CEILING => Some("CEILING"),
5091 Self::WALL => Some("WALL"),
5092 Self::TABLE => Some("TABLE"),
5093 _ => None,
5094 };
5095 fmt_enum(fmt, self.0, name)
5096 }
5097}
5098#[doc = "See [XrSceneMeshTrackingStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshTrackingStateANDROID)"]
5099#[repr(transparent)]
5100#[derive(Copy, Clone, Eq, PartialEq, Default)]
5101pub struct SceneMeshTrackingStateANDROID(i32);
5102impl SceneMeshTrackingStateANDROID {
5103 #[doc = "The tracker is not yet ready to provide mesh data."]
5104 pub const INITIALIZING: SceneMeshTrackingStateANDROID = Self(0i32);
5105 #[doc = "The tracker is actively tracking."]
5106 pub const TRACKING: SceneMeshTrackingStateANDROID = Self(1i32);
5107 #[doc = "The tracker is waiting for valid measurements to integrate since the last mesh update."]
5108 pub const WAITING: SceneMeshTrackingStateANDROID = Self(2i32);
5109 #[doc = "The tracker has not received valid measurements for multiple cycles and is in an error state."]
5110 pub const ERROR: SceneMeshTrackingStateANDROID = Self(3i32);
5111 pub fn from_raw(x: i32) -> Self {
5112 Self(x)
5113 }
5114 pub fn into_raw(self) -> i32 {
5115 self.0
5116 }
5117}
5118impl fmt::Debug for SceneMeshTrackingStateANDROID {
5119 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5120 let name = match *self {
5121 Self::INITIALIZING => Some("INITIALIZING"),
5122 Self::TRACKING => Some("TRACKING"),
5123 Self::WAITING => Some("WAITING"),
5124 Self::ERROR => Some("ERROR"),
5125 _ => None,
5126 };
5127 fmt_enum(fmt, self.0, name)
5128 }
5129}
5130#[doc = "See [XrLocalDimmingModeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalDimmingModeMETA)"]
5131#[repr(transparent)]
5132#[derive(Copy, Clone, Eq, PartialEq, Default)]
5133pub struct LocalDimmingModeMETA(i32);
5134impl LocalDimmingModeMETA {
5135 #[doc = "Local dimming is turned off by default for the current submitted frame. This is the same as not chaining XrLocalDimmingModeMETA."]
5136 pub const OFF: LocalDimmingModeMETA = Self(0i32);
5137 #[doc = "Local dimming is turned on for the current submitted frame."]
5138 pub const ON: LocalDimmingModeMETA = Self(1i32);
5139 pub fn from_raw(x: i32) -> Self {
5140 Self(x)
5141 }
5142 pub fn into_raw(self) -> i32 {
5143 self.0
5144 }
5145}
5146impl fmt::Debug for LocalDimmingModeMETA {
5147 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5148 let name = match *self {
5149 Self::OFF => Some("OFF"),
5150 Self::ON => Some("ON"),
5151 _ => None,
5152 };
5153 fmt_enum(fmt, self.0, name)
5154 }
5155}
5156#[doc = "See [XrFaceExpressionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionFB)"]
5157#[repr(transparent)]
5158#[derive(Copy, Clone, Eq, PartialEq, Default)]
5159pub struct FaceExpressionFB(i32);
5160impl FaceExpressionFB {
5161 pub const BROW_LOWERER_L: FaceExpressionFB = Self(0i32);
5162 pub const BROW_LOWERER_R: FaceExpressionFB = Self(1i32);
5163 pub const CHEEK_PUFF_L: FaceExpressionFB = Self(2i32);
5164 pub const CHEEK_PUFF_R: FaceExpressionFB = Self(3i32);
5165 pub const CHEEK_RAISER_L: FaceExpressionFB = Self(4i32);
5166 pub const CHEEK_RAISER_R: FaceExpressionFB = Self(5i32);
5167 pub const CHEEK_SUCK_L: FaceExpressionFB = Self(6i32);
5168 pub const CHEEK_SUCK_R: FaceExpressionFB = Self(7i32);
5169 pub const CHIN_RAISER_B: FaceExpressionFB = Self(8i32);
5170 pub const CHIN_RAISER_T: FaceExpressionFB = Self(9i32);
5171 pub const DIMPLER_L: FaceExpressionFB = Self(10i32);
5172 pub const DIMPLER_R: FaceExpressionFB = Self(11i32);
5173 pub const EYES_CLOSED_L: FaceExpressionFB = Self(12i32);
5174 pub const EYES_CLOSED_R: FaceExpressionFB = Self(13i32);
5175 pub const EYES_LOOK_DOWN_L: FaceExpressionFB = Self(14i32);
5176 pub const EYES_LOOK_DOWN_R: FaceExpressionFB = Self(15i32);
5177 pub const EYES_LOOK_LEFT_L: FaceExpressionFB = Self(16i32);
5178 pub const EYES_LOOK_LEFT_R: FaceExpressionFB = Self(17i32);
5179 pub const EYES_LOOK_RIGHT_L: FaceExpressionFB = Self(18i32);
5180 pub const EYES_LOOK_RIGHT_R: FaceExpressionFB = Self(19i32);
5181 pub const EYES_LOOK_UP_L: FaceExpressionFB = Self(20i32);
5182 pub const EYES_LOOK_UP_R: FaceExpressionFB = Self(21i32);
5183 pub const INNER_BROW_RAISER_L: FaceExpressionFB = Self(22i32);
5184 pub const INNER_BROW_RAISER_R: FaceExpressionFB = Self(23i32);
5185 pub const JAW_DROP: FaceExpressionFB = Self(24i32);
5186 pub const JAW_SIDEWAYS_LEFT: FaceExpressionFB = Self(25i32);
5187 pub const JAW_SIDEWAYS_RIGHT: FaceExpressionFB = Self(26i32);
5188 pub const JAW_THRUST: FaceExpressionFB = Self(27i32);
5189 pub const LID_TIGHTENER_L: FaceExpressionFB = Self(28i32);
5190 pub const LID_TIGHTENER_R: FaceExpressionFB = Self(29i32);
5191 pub const LIP_CORNER_DEPRESSOR_L: FaceExpressionFB = Self(30i32);
5192 pub const LIP_CORNER_DEPRESSOR_R: FaceExpressionFB = Self(31i32);
5193 pub const LIP_CORNER_PULLER_L: FaceExpressionFB = Self(32i32);
5194 pub const LIP_CORNER_PULLER_R: FaceExpressionFB = Self(33i32);
5195 pub const LIP_FUNNELER_LB: FaceExpressionFB = Self(34i32);
5196 pub const LIP_FUNNELER_LT: FaceExpressionFB = Self(35i32);
5197 pub const LIP_FUNNELER_RB: FaceExpressionFB = Self(36i32);
5198 pub const LIP_FUNNELER_RT: FaceExpressionFB = Self(37i32);
5199 pub const LIP_PRESSOR_L: FaceExpressionFB = Self(38i32);
5200 pub const LIP_PRESSOR_R: FaceExpressionFB = Self(39i32);
5201 pub const LIP_PUCKER_L: FaceExpressionFB = Self(40i32);
5202 pub const LIP_PUCKER_R: FaceExpressionFB = Self(41i32);
5203 pub const LIP_STRETCHER_L: FaceExpressionFB = Self(42i32);
5204 pub const LIP_STRETCHER_R: FaceExpressionFB = Self(43i32);
5205 pub const LIP_SUCK_LB: FaceExpressionFB = Self(44i32);
5206 pub const LIP_SUCK_LT: FaceExpressionFB = Self(45i32);
5207 pub const LIP_SUCK_RB: FaceExpressionFB = Self(46i32);
5208 pub const LIP_SUCK_RT: FaceExpressionFB = Self(47i32);
5209 pub const LIP_TIGHTENER_L: FaceExpressionFB = Self(48i32);
5210 pub const LIP_TIGHTENER_R: FaceExpressionFB = Self(49i32);
5211 pub const LIPS_TOWARD: FaceExpressionFB = Self(50i32);
5212 pub const LOWER_LIP_DEPRESSOR_L: FaceExpressionFB = Self(51i32);
5213 pub const LOWER_LIP_DEPRESSOR_R: FaceExpressionFB = Self(52i32);
5214 pub const MOUTH_LEFT: FaceExpressionFB = Self(53i32);
5215 pub const MOUTH_RIGHT: FaceExpressionFB = Self(54i32);
5216 pub const NOSE_WRINKLER_L: FaceExpressionFB = Self(55i32);
5217 pub const NOSE_WRINKLER_R: FaceExpressionFB = Self(56i32);
5218 pub const OUTER_BROW_RAISER_L: FaceExpressionFB = Self(57i32);
5219 pub const OUTER_BROW_RAISER_R: FaceExpressionFB = Self(58i32);
5220 pub const UPPER_LID_RAISER_L: FaceExpressionFB = Self(59i32);
5221 pub const UPPER_LID_RAISER_R: FaceExpressionFB = Self(60i32);
5222 pub const UPPER_LIP_RAISER_L: FaceExpressionFB = Self(61i32);
5223 pub const UPPER_LIP_RAISER_R: FaceExpressionFB = Self(62i32);
5224 pub const COUNT: FaceExpressionFB = Self(63i32);
5225 pub fn from_raw(x: i32) -> Self {
5226 Self(x)
5227 }
5228 pub fn into_raw(self) -> i32 {
5229 self.0
5230 }
5231}
5232impl fmt::Debug for FaceExpressionFB {
5233 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5234 let name = match *self {
5235 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
5236 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
5237 Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
5238 Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
5239 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
5240 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
5241 Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
5242 Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
5243 Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
5244 Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
5245 Self::DIMPLER_L => Some("DIMPLER_L"),
5246 Self::DIMPLER_R => Some("DIMPLER_R"),
5247 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
5248 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
5249 Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
5250 Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
5251 Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
5252 Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
5253 Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
5254 Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
5255 Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
5256 Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
5257 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
5258 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
5259 Self::JAW_DROP => Some("JAW_DROP"),
5260 Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
5261 Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
5262 Self::JAW_THRUST => Some("JAW_THRUST"),
5263 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
5264 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
5265 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
5266 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
5267 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
5268 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
5269 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
5270 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
5271 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
5272 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
5273 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
5274 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
5275 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
5276 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
5277 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
5278 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
5279 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
5280 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
5281 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
5282 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
5283 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
5284 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
5285 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
5286 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
5287 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
5288 Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
5289 Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
5290 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
5291 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
5292 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
5293 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
5294 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
5295 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
5296 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
5297 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
5298 Self::COUNT => Some("COUNT"),
5299 _ => None,
5300 };
5301 fmt_enum(fmt, self.0, name)
5302 }
5303}
5304#[doc = "See [XrFaceExpressionSetFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSetFB)"]
5305#[repr(transparent)]
5306#[derive(Copy, Clone, Eq, PartialEq, Default)]
5307pub struct FaceExpressionSetFB(i32);
5308impl FaceExpressionSetFB {
5309 #[doc = "indicates that the created XrFaceTrackerFB tracks the set of blend shapes described by XrFaceExpressionFB enum, i.e. the xrGetFaceExpressionWeightsFB function returns an array of blend shapes with the count of XR_FACE_EXPRESSION_COUNT_FB and can: be indexed using XrFaceExpressionFB."]
5310 pub const DEFAULT: FaceExpressionSetFB = Self(0i32);
5311 pub fn from_raw(x: i32) -> Self {
5312 Self(x)
5313 }
5314 pub fn into_raw(self) -> i32 {
5315 self.0
5316 }
5317}
5318impl fmt::Debug for FaceExpressionSetFB {
5319 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5320 let name = match *self {
5321 Self::DEFAULT => Some("DEFAULT"),
5322 _ => None,
5323 };
5324 fmt_enum(fmt, self.0, name)
5325 }
5326}
5327#[doc = "See [XrFaceConfidenceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidenceFB)"]
5328#[repr(transparent)]
5329#[derive(Copy, Clone, Eq, PartialEq, Default)]
5330pub struct FaceConfidenceFB(i32);
5331impl FaceConfidenceFB {
5332 pub const LOWER_FACE: FaceConfidenceFB = Self(0i32);
5333 pub const UPPER_FACE: FaceConfidenceFB = Self(1i32);
5334 pub const COUNT: FaceConfidenceFB = Self(2i32);
5335 pub fn from_raw(x: i32) -> Self {
5336 Self(x)
5337 }
5338 pub fn into_raw(self) -> i32 {
5339 self.0
5340 }
5341}
5342impl fmt::Debug for FaceConfidenceFB {
5343 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5344 let name = match *self {
5345 Self::LOWER_FACE => Some("LOWER_FACE"),
5346 Self::UPPER_FACE => Some("UPPER_FACE"),
5347 Self::COUNT => Some("COUNT"),
5348 _ => None,
5349 };
5350 fmt_enum(fmt, self.0, name)
5351 }
5352}
5353#[doc = "See [XrFaceExpression2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpression2FB)"]
5354#[repr(transparent)]
5355#[derive(Copy, Clone, Eq, PartialEq, Default)]
5356pub struct FaceExpression2FB(i32);
5357impl FaceExpression2FB {
5358 pub const BROW_LOWERER_L: FaceExpression2FB = Self(0i32);
5359 pub const BROW_LOWERER_R: FaceExpression2FB = Self(1i32);
5360 pub const CHEEK_PUFF_L: FaceExpression2FB = Self(2i32);
5361 pub const CHEEK_PUFF_R: FaceExpression2FB = Self(3i32);
5362 pub const CHEEK_RAISER_L: FaceExpression2FB = Self(4i32);
5363 pub const CHEEK_RAISER_R: FaceExpression2FB = Self(5i32);
5364 pub const CHEEK_SUCK_L: FaceExpression2FB = Self(6i32);
5365 pub const CHEEK_SUCK_R: FaceExpression2FB = Self(7i32);
5366 pub const CHIN_RAISER_B: FaceExpression2FB = Self(8i32);
5367 pub const CHIN_RAISER_T: FaceExpression2FB = Self(9i32);
5368 pub const DIMPLER_L: FaceExpression2FB = Self(10i32);
5369 pub const DIMPLER_R: FaceExpression2FB = Self(11i32);
5370 pub const EYES_CLOSED_L: FaceExpression2FB = Self(12i32);
5371 pub const EYES_CLOSED_R: FaceExpression2FB = Self(13i32);
5372 pub const EYES_LOOK_DOWN_L: FaceExpression2FB = Self(14i32);
5373 pub const EYES_LOOK_DOWN_R: FaceExpression2FB = Self(15i32);
5374 pub const EYES_LOOK_LEFT_L: FaceExpression2FB = Self(16i32);
5375 pub const EYES_LOOK_LEFT_R: FaceExpression2FB = Self(17i32);
5376 pub const EYES_LOOK_RIGHT_L: FaceExpression2FB = Self(18i32);
5377 pub const EYES_LOOK_RIGHT_R: FaceExpression2FB = Self(19i32);
5378 pub const EYES_LOOK_UP_L: FaceExpression2FB = Self(20i32);
5379 pub const EYES_LOOK_UP_R: FaceExpression2FB = Self(21i32);
5380 pub const INNER_BROW_RAISER_L: FaceExpression2FB = Self(22i32);
5381 pub const INNER_BROW_RAISER_R: FaceExpression2FB = Self(23i32);
5382 pub const JAW_DROP: FaceExpression2FB = Self(24i32);
5383 pub const JAW_SIDEWAYS_LEFT: FaceExpression2FB = Self(25i32);
5384 pub const JAW_SIDEWAYS_RIGHT: FaceExpression2FB = Self(26i32);
5385 pub const JAW_THRUST: FaceExpression2FB = Self(27i32);
5386 pub const LID_TIGHTENER_L: FaceExpression2FB = Self(28i32);
5387 pub const LID_TIGHTENER_R: FaceExpression2FB = Self(29i32);
5388 pub const LIP_CORNER_DEPRESSOR_L: FaceExpression2FB = Self(30i32);
5389 pub const LIP_CORNER_DEPRESSOR_R: FaceExpression2FB = Self(31i32);
5390 pub const LIP_CORNER_PULLER_L: FaceExpression2FB = Self(32i32);
5391 pub const LIP_CORNER_PULLER_R: FaceExpression2FB = Self(33i32);
5392 pub const LIP_FUNNELER_LB: FaceExpression2FB = Self(34i32);
5393 pub const LIP_FUNNELER_LT: FaceExpression2FB = Self(35i32);
5394 pub const LIP_FUNNELER_RB: FaceExpression2FB = Self(36i32);
5395 pub const LIP_FUNNELER_RT: FaceExpression2FB = Self(37i32);
5396 pub const LIP_PRESSOR_L: FaceExpression2FB = Self(38i32);
5397 pub const LIP_PRESSOR_R: FaceExpression2FB = Self(39i32);
5398 pub const LIP_PUCKER_L: FaceExpression2FB = Self(40i32);
5399 pub const LIP_PUCKER_R: FaceExpression2FB = Self(41i32);
5400 pub const LIP_STRETCHER_L: FaceExpression2FB = Self(42i32);
5401 pub const LIP_STRETCHER_R: FaceExpression2FB = Self(43i32);
5402 pub const LIP_SUCK_LB: FaceExpression2FB = Self(44i32);
5403 pub const LIP_SUCK_LT: FaceExpression2FB = Self(45i32);
5404 pub const LIP_SUCK_RB: FaceExpression2FB = Self(46i32);
5405 pub const LIP_SUCK_RT: FaceExpression2FB = Self(47i32);
5406 pub const LIP_TIGHTENER_L: FaceExpression2FB = Self(48i32);
5407 pub const LIP_TIGHTENER_R: FaceExpression2FB = Self(49i32);
5408 pub const LIPS_TOWARD: FaceExpression2FB = Self(50i32);
5409 pub const LOWER_LIP_DEPRESSOR_L: FaceExpression2FB = Self(51i32);
5410 pub const LOWER_LIP_DEPRESSOR_R: FaceExpression2FB = Self(52i32);
5411 pub const MOUTH_LEFT: FaceExpression2FB = Self(53i32);
5412 pub const MOUTH_RIGHT: FaceExpression2FB = Self(54i32);
5413 pub const NOSE_WRINKLER_L: FaceExpression2FB = Self(55i32);
5414 pub const NOSE_WRINKLER_R: FaceExpression2FB = Self(56i32);
5415 pub const OUTER_BROW_RAISER_L: FaceExpression2FB = Self(57i32);
5416 pub const OUTER_BROW_RAISER_R: FaceExpression2FB = Self(58i32);
5417 pub const UPPER_LID_RAISER_L: FaceExpression2FB = Self(59i32);
5418 pub const UPPER_LID_RAISER_R: FaceExpression2FB = Self(60i32);
5419 pub const UPPER_LIP_RAISER_L: FaceExpression2FB = Self(61i32);
5420 pub const UPPER_LIP_RAISER_R: FaceExpression2FB = Self(62i32);
5421 pub const TONGUE_TIP_INTERDENTAL: FaceExpression2FB = Self(63i32);
5422 pub const TONGUE_TIP_ALVEOLAR: FaceExpression2FB = Self(64i32);
5423 pub const TONGUE_FRONT_DORSAL_PALATE: FaceExpression2FB = Self(65i32);
5424 pub const TONGUE_MID_DORSAL_PALATE: FaceExpression2FB = Self(66i32);
5425 pub const TONGUE_BACK_DORSAL_VELAR: FaceExpression2FB = Self(67i32);
5426 pub const TONGUE_OUT: FaceExpression2FB = Self(68i32);
5427 pub const TONGUE_RETREAT: FaceExpression2FB = Self(69i32);
5428 pub const COUNT: FaceExpression2FB = Self(70i32);
5429 pub fn from_raw(x: i32) -> Self {
5430 Self(x)
5431 }
5432 pub fn into_raw(self) -> i32 {
5433 self.0
5434 }
5435}
5436impl fmt::Debug for FaceExpression2FB {
5437 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5438 let name = match *self {
5439 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
5440 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
5441 Self::CHEEK_PUFF_L => Some("CHEEK_PUFF_L"),
5442 Self::CHEEK_PUFF_R => Some("CHEEK_PUFF_R"),
5443 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
5444 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
5445 Self::CHEEK_SUCK_L => Some("CHEEK_SUCK_L"),
5446 Self::CHEEK_SUCK_R => Some("CHEEK_SUCK_R"),
5447 Self::CHIN_RAISER_B => Some("CHIN_RAISER_B"),
5448 Self::CHIN_RAISER_T => Some("CHIN_RAISER_T"),
5449 Self::DIMPLER_L => Some("DIMPLER_L"),
5450 Self::DIMPLER_R => Some("DIMPLER_R"),
5451 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
5452 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
5453 Self::EYES_LOOK_DOWN_L => Some("EYES_LOOK_DOWN_L"),
5454 Self::EYES_LOOK_DOWN_R => Some("EYES_LOOK_DOWN_R"),
5455 Self::EYES_LOOK_LEFT_L => Some("EYES_LOOK_LEFT_L"),
5456 Self::EYES_LOOK_LEFT_R => Some("EYES_LOOK_LEFT_R"),
5457 Self::EYES_LOOK_RIGHT_L => Some("EYES_LOOK_RIGHT_L"),
5458 Self::EYES_LOOK_RIGHT_R => Some("EYES_LOOK_RIGHT_R"),
5459 Self::EYES_LOOK_UP_L => Some("EYES_LOOK_UP_L"),
5460 Self::EYES_LOOK_UP_R => Some("EYES_LOOK_UP_R"),
5461 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
5462 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
5463 Self::JAW_DROP => Some("JAW_DROP"),
5464 Self::JAW_SIDEWAYS_LEFT => Some("JAW_SIDEWAYS_LEFT"),
5465 Self::JAW_SIDEWAYS_RIGHT => Some("JAW_SIDEWAYS_RIGHT"),
5466 Self::JAW_THRUST => Some("JAW_THRUST"),
5467 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
5468 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
5469 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
5470 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
5471 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
5472 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
5473 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
5474 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
5475 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
5476 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
5477 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
5478 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
5479 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
5480 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
5481 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
5482 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
5483 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
5484 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
5485 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
5486 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
5487 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
5488 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
5489 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
5490 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
5491 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
5492 Self::MOUTH_LEFT => Some("MOUTH_LEFT"),
5493 Self::MOUTH_RIGHT => Some("MOUTH_RIGHT"),
5494 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
5495 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
5496 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
5497 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
5498 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
5499 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
5500 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
5501 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
5502 Self::TONGUE_TIP_INTERDENTAL => Some("TONGUE_TIP_INTERDENTAL"),
5503 Self::TONGUE_TIP_ALVEOLAR => Some("TONGUE_TIP_ALVEOLAR"),
5504 Self::TONGUE_FRONT_DORSAL_PALATE => Some("TONGUE_FRONT_DORSAL_PALATE"),
5505 Self::TONGUE_MID_DORSAL_PALATE => Some("TONGUE_MID_DORSAL_PALATE"),
5506 Self::TONGUE_BACK_DORSAL_VELAR => Some("TONGUE_BACK_DORSAL_VELAR"),
5507 Self::TONGUE_OUT => Some("TONGUE_OUT"),
5508 Self::TONGUE_RETREAT => Some("TONGUE_RETREAT"),
5509 Self::COUNT => Some("COUNT"),
5510 _ => None,
5511 };
5512 fmt_enum(fmt, self.0, name)
5513 }
5514}
5515#[doc = "See [XrFaceExpressionSet2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionSet2FB)"]
5516#[repr(transparent)]
5517#[derive(Copy, Clone, Eq, PartialEq, Default)]
5518pub struct FaceExpressionSet2FB(i32);
5519impl FaceExpressionSet2FB {
5520 #[doc = "indicates that the created XrFaceTracker2FB tracks the set of blend shapes described by XrFaceExpression2FB enum, i.e. the xrGetFaceExpressionWeights2FB function returns an array of blend shapes with the count of XR_FACE_EXPRESSION2_COUNT_FB and can: be indexed using XrFaceExpression2FB."]
5521 pub const DEFAULT: FaceExpressionSet2FB = Self(0i32);
5522 pub fn from_raw(x: i32) -> Self {
5523 Self(x)
5524 }
5525 pub fn into_raw(self) -> i32 {
5526 self.0
5527 }
5528}
5529impl fmt::Debug for FaceExpressionSet2FB {
5530 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5531 let name = match *self {
5532 Self::DEFAULT => Some("DEFAULT"),
5533 _ => None,
5534 };
5535 fmt_enum(fmt, self.0, name)
5536 }
5537}
5538#[doc = "See [XrFaceTrackingDataSource2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackingDataSource2FB)"]
5539#[repr(transparent)]
5540#[derive(Copy, Clone, Eq, PartialEq, Default)]
5541pub struct FaceTrackingDataSource2FB(i32);
5542impl FaceTrackingDataSource2FB {
5543 #[doc = "face tracking uses visual data to estimate expressions. Face tracking may use audio to further improve the quality of face tracking."]
5544 pub const VISUAL: FaceTrackingDataSource2FB = Self(0i32);
5545 #[doc = "face tracking uses audio data to estimate expressions."]
5546 pub const AUDIO: FaceTrackingDataSource2FB = Self(1i32);
5547 pub fn from_raw(x: i32) -> Self {
5548 Self(x)
5549 }
5550 pub fn into_raw(self) -> i32 {
5551 self.0
5552 }
5553}
5554impl fmt::Debug for FaceTrackingDataSource2FB {
5555 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5556 let name = match *self {
5557 Self::VISUAL => Some("VISUAL"),
5558 Self::AUDIO => Some("AUDIO"),
5559 _ => None,
5560 };
5561 fmt_enum(fmt, self.0, name)
5562 }
5563}
5564#[doc = "See [XrFaceConfidence2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceConfidence2FB)"]
5565#[repr(transparent)]
5566#[derive(Copy, Clone, Eq, PartialEq, Default)]
5567pub struct FaceConfidence2FB(i32);
5568impl FaceConfidence2FB {
5569 pub const LOWER_FACE: FaceConfidence2FB = Self(0i32);
5570 pub const UPPER_FACE: FaceConfidence2FB = Self(1i32);
5571 pub const COUNT: FaceConfidence2FB = Self(2i32);
5572 pub fn from_raw(x: i32) -> Self {
5573 Self(x)
5574 }
5575 pub fn into_raw(self) -> i32 {
5576 self.0
5577 }
5578}
5579impl fmt::Debug for FaceConfidence2FB {
5580 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5581 let name = match *self {
5582 Self::LOWER_FACE => Some("LOWER_FACE"),
5583 Self::UPPER_FACE => Some("UPPER_FACE"),
5584 Self::COUNT => Some("COUNT"),
5585 _ => None,
5586 };
5587 fmt_enum(fmt, self.0, name)
5588 }
5589}
5590#[doc = "See [XrBodyJointFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointFB)"]
5591#[repr(transparent)]
5592#[derive(Copy, Clone, Eq, PartialEq, Default)]
5593pub struct BodyJointFB(i32);
5594impl BodyJointFB {
5595 pub const ROOT: BodyJointFB = Self(0i32);
5596 pub const HIPS: BodyJointFB = Self(1i32);
5597 pub const SPINE_LOWER: BodyJointFB = Self(2i32);
5598 pub const SPINE_MIDDLE: BodyJointFB = Self(3i32);
5599 pub const SPINE_UPPER: BodyJointFB = Self(4i32);
5600 pub const CHEST: BodyJointFB = Self(5i32);
5601 pub const NECK: BodyJointFB = Self(6i32);
5602 pub const HEAD: BodyJointFB = Self(7i32);
5603 pub const LEFT_SHOULDER: BodyJointFB = Self(8i32);
5604 pub const LEFT_SCAPULA: BodyJointFB = Self(9i32);
5605 pub const LEFT_ARM_UPPER: BodyJointFB = Self(10i32);
5606 pub const LEFT_ARM_LOWER: BodyJointFB = Self(11i32);
5607 pub const LEFT_HAND_WRIST_TWIST: BodyJointFB = Self(12i32);
5608 pub const RIGHT_SHOULDER: BodyJointFB = Self(13i32);
5609 pub const RIGHT_SCAPULA: BodyJointFB = Self(14i32);
5610 pub const RIGHT_ARM_UPPER: BodyJointFB = Self(15i32);
5611 pub const RIGHT_ARM_LOWER: BodyJointFB = Self(16i32);
5612 pub const RIGHT_HAND_WRIST_TWIST: BodyJointFB = Self(17i32);
5613 pub const LEFT_HAND_PALM: BodyJointFB = Self(18i32);
5614 pub const LEFT_HAND_WRIST: BodyJointFB = Self(19i32);
5615 pub const LEFT_HAND_THUMB_METACARPAL: BodyJointFB = Self(20i32);
5616 pub const LEFT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(21i32);
5617 pub const LEFT_HAND_THUMB_DISTAL: BodyJointFB = Self(22i32);
5618 pub const LEFT_HAND_THUMB_TIP: BodyJointFB = Self(23i32);
5619 pub const LEFT_HAND_INDEX_METACARPAL: BodyJointFB = Self(24i32);
5620 pub const LEFT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(25i32);
5621 pub const LEFT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(26i32);
5622 pub const LEFT_HAND_INDEX_DISTAL: BodyJointFB = Self(27i32);
5623 pub const LEFT_HAND_INDEX_TIP: BodyJointFB = Self(28i32);
5624 pub const LEFT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(29i32);
5625 pub const LEFT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(30i32);
5626 pub const LEFT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(31i32);
5627 pub const LEFT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(32i32);
5628 pub const LEFT_HAND_MIDDLE_TIP: BodyJointFB = Self(33i32);
5629 pub const LEFT_HAND_RING_METACARPAL: BodyJointFB = Self(34i32);
5630 pub const LEFT_HAND_RING_PROXIMAL: BodyJointFB = Self(35i32);
5631 pub const LEFT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(36i32);
5632 pub const LEFT_HAND_RING_DISTAL: BodyJointFB = Self(37i32);
5633 pub const LEFT_HAND_RING_TIP: BodyJointFB = Self(38i32);
5634 pub const LEFT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(39i32);
5635 pub const LEFT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(40i32);
5636 pub const LEFT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(41i32);
5637 pub const LEFT_HAND_LITTLE_DISTAL: BodyJointFB = Self(42i32);
5638 pub const LEFT_HAND_LITTLE_TIP: BodyJointFB = Self(43i32);
5639 pub const RIGHT_HAND_PALM: BodyJointFB = Self(44i32);
5640 pub const RIGHT_HAND_WRIST: BodyJointFB = Self(45i32);
5641 pub const RIGHT_HAND_THUMB_METACARPAL: BodyJointFB = Self(46i32);
5642 pub const RIGHT_HAND_THUMB_PROXIMAL: BodyJointFB = Self(47i32);
5643 pub const RIGHT_HAND_THUMB_DISTAL: BodyJointFB = Self(48i32);
5644 pub const RIGHT_HAND_THUMB_TIP: BodyJointFB = Self(49i32);
5645 pub const RIGHT_HAND_INDEX_METACARPAL: BodyJointFB = Self(50i32);
5646 pub const RIGHT_HAND_INDEX_PROXIMAL: BodyJointFB = Self(51i32);
5647 pub const RIGHT_HAND_INDEX_INTERMEDIATE: BodyJointFB = Self(52i32);
5648 pub const RIGHT_HAND_INDEX_DISTAL: BodyJointFB = Self(53i32);
5649 pub const RIGHT_HAND_INDEX_TIP: BodyJointFB = Self(54i32);
5650 pub const RIGHT_HAND_MIDDLE_METACARPAL: BodyJointFB = Self(55i32);
5651 pub const RIGHT_HAND_MIDDLE_PROXIMAL: BodyJointFB = Self(56i32);
5652 pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: BodyJointFB = Self(57i32);
5653 pub const RIGHT_HAND_MIDDLE_DISTAL: BodyJointFB = Self(58i32);
5654 pub const RIGHT_HAND_MIDDLE_TIP: BodyJointFB = Self(59i32);
5655 pub const RIGHT_HAND_RING_METACARPAL: BodyJointFB = Self(60i32);
5656 pub const RIGHT_HAND_RING_PROXIMAL: BodyJointFB = Self(61i32);
5657 pub const RIGHT_HAND_RING_INTERMEDIATE: BodyJointFB = Self(62i32);
5658 pub const RIGHT_HAND_RING_DISTAL: BodyJointFB = Self(63i32);
5659 pub const RIGHT_HAND_RING_TIP: BodyJointFB = Self(64i32);
5660 pub const RIGHT_HAND_LITTLE_METACARPAL: BodyJointFB = Self(65i32);
5661 pub const RIGHT_HAND_LITTLE_PROXIMAL: BodyJointFB = Self(66i32);
5662 pub const RIGHT_HAND_LITTLE_INTERMEDIATE: BodyJointFB = Self(67i32);
5663 pub const RIGHT_HAND_LITTLE_DISTAL: BodyJointFB = Self(68i32);
5664 pub const RIGHT_HAND_LITTLE_TIP: BodyJointFB = Self(69i32);
5665 pub const COUNT: BodyJointFB = Self(70i32);
5666 pub const NONE: BodyJointFB = Self(-1i32);
5667 pub fn from_raw(x: i32) -> Self {
5668 Self(x)
5669 }
5670 pub fn into_raw(self) -> i32 {
5671 self.0
5672 }
5673}
5674impl fmt::Debug for BodyJointFB {
5675 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5676 let name = match *self {
5677 Self::ROOT => Some("ROOT"),
5678 Self::HIPS => Some("HIPS"),
5679 Self::SPINE_LOWER => Some("SPINE_LOWER"),
5680 Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5681 Self::SPINE_UPPER => Some("SPINE_UPPER"),
5682 Self::CHEST => Some("CHEST"),
5683 Self::NECK => Some("NECK"),
5684 Self::HEAD => Some("HEAD"),
5685 Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5686 Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5687 Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5688 Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5689 Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5690 Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5691 Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5692 Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5693 Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5694 Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5695 Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5696 Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5697 Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5698 Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5699 Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5700 Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5701 Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5702 Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5703 Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5704 Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5705 Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5706 Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5707 Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5708 Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5709 Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5710 Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5711 Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5712 Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5713 Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5714 Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5715 Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5716 Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5717 Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5718 Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5719 Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5720 Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5721 Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5722 Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5723 Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5724 Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5725 Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5726 Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5727 Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5728 Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5729 Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5730 Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5731 Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5732 Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5733 Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5734 Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5735 Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5736 Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5737 Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5738 Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5739 Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5740 Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5741 Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5742 Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5743 Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5744 Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5745 Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5746 Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5747 Self::COUNT => Some("COUNT"),
5748 Self::NONE => Some("NONE"),
5749 _ => None,
5750 };
5751 fmt_enum(fmt, self.0, name)
5752 }
5753}
5754#[doc = "Describes the set of body joints to track when creating an XrBodyTrackerFB. - see [XrBodyJointSetFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetFB)"]
5755#[repr(transparent)]
5756#[derive(Copy, Clone, Eq, PartialEq, Default)]
5757pub struct BodyJointSetFB(i32);
5758impl BodyJointSetFB {
5759 #[doc = "Indicates that the created XrBodyTrackerFB tracks the set of body joints described by XrBodyJointFB enum, i.e. the xrLocateBodyJointsFB function returns an array of joint locations with the count of XR_BODY_JOINT_COUNT_FB and can be indexed using XrBodyJointFB. This includes the upper body, both hands, and torso."]
5760 pub const DEFAULT: BodyJointSetFB = Self(0i32);
5761 #[doc = "Indicates that the created XrBodyTrackerFB tracks the set of body joints described by XrFullBodyJointMETA enum, i.e. the xrLocateBodyJointsFB function returns an array of joint locations with the count of XR_FULL_BODY_JOINT_COUNT_META and can be indexed using XrFullBodyJointMETA. This extends the joints of XR_BODY_JOINT_SET_DEFAULT_FB by also including the lower body."]
5762 pub const FULL_BODY_M: BodyJointSetFB = Self(1000274000i32);
5763 pub fn from_raw(x: i32) -> Self {
5764 Self(x)
5765 }
5766 pub fn into_raw(self) -> i32 {
5767 self.0
5768 }
5769}
5770impl fmt::Debug for BodyJointSetFB {
5771 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5772 let name = match *self {
5773 Self::DEFAULT => Some("DEFAULT"),
5774 Self::FULL_BODY_M => Some("FULL_BODY_M"),
5775 _ => None,
5776 };
5777 fmt_enum(fmt, self.0, name)
5778 }
5779}
5780#[doc = "See [XrFullBodyJointMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFullBodyJointMETA)"]
5781#[repr(transparent)]
5782#[derive(Copy, Clone, Eq, PartialEq, Default)]
5783pub struct FullBodyJointMETA(i32);
5784impl FullBodyJointMETA {
5785 pub const ROOT: FullBodyJointMETA = Self(0i32);
5786 pub const HIPS: FullBodyJointMETA = Self(1i32);
5787 pub const SPINE_LOWER: FullBodyJointMETA = Self(2i32);
5788 pub const SPINE_MIDDLE: FullBodyJointMETA = Self(3i32);
5789 pub const SPINE_UPPER: FullBodyJointMETA = Self(4i32);
5790 pub const CHEST: FullBodyJointMETA = Self(5i32);
5791 pub const NECK: FullBodyJointMETA = Self(6i32);
5792 pub const HEAD: FullBodyJointMETA = Self(7i32);
5793 pub const LEFT_SHOULDER: FullBodyJointMETA = Self(8i32);
5794 pub const LEFT_SCAPULA: FullBodyJointMETA = Self(9i32);
5795 pub const LEFT_ARM_UPPER: FullBodyJointMETA = Self(10i32);
5796 pub const LEFT_ARM_LOWER: FullBodyJointMETA = Self(11i32);
5797 pub const LEFT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(12i32);
5798 pub const RIGHT_SHOULDER: FullBodyJointMETA = Self(13i32);
5799 pub const RIGHT_SCAPULA: FullBodyJointMETA = Self(14i32);
5800 pub const RIGHT_ARM_UPPER: FullBodyJointMETA = Self(15i32);
5801 pub const RIGHT_ARM_LOWER: FullBodyJointMETA = Self(16i32);
5802 pub const RIGHT_HAND_WRIST_TWIST: FullBodyJointMETA = Self(17i32);
5803 pub const LEFT_HAND_PALM: FullBodyJointMETA = Self(18i32);
5804 pub const LEFT_HAND_WRIST: FullBodyJointMETA = Self(19i32);
5805 pub const LEFT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(20i32);
5806 pub const LEFT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(21i32);
5807 pub const LEFT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(22i32);
5808 pub const LEFT_HAND_THUMB_TIP: FullBodyJointMETA = Self(23i32);
5809 pub const LEFT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(24i32);
5810 pub const LEFT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(25i32);
5811 pub const LEFT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(26i32);
5812 pub const LEFT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(27i32);
5813 pub const LEFT_HAND_INDEX_TIP: FullBodyJointMETA = Self(28i32);
5814 pub const LEFT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(29i32);
5815 pub const LEFT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(30i32);
5816 pub const LEFT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(31i32);
5817 pub const LEFT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(32i32);
5818 pub const LEFT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(33i32);
5819 pub const LEFT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(34i32);
5820 pub const LEFT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(35i32);
5821 pub const LEFT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(36i32);
5822 pub const LEFT_HAND_RING_DISTAL: FullBodyJointMETA = Self(37i32);
5823 pub const LEFT_HAND_RING_TIP: FullBodyJointMETA = Self(38i32);
5824 pub const LEFT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(39i32);
5825 pub const LEFT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(40i32);
5826 pub const LEFT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(41i32);
5827 pub const LEFT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(42i32);
5828 pub const LEFT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(43i32);
5829 pub const RIGHT_HAND_PALM: FullBodyJointMETA = Self(44i32);
5830 pub const RIGHT_HAND_WRIST: FullBodyJointMETA = Self(45i32);
5831 pub const RIGHT_HAND_THUMB_METACARPAL: FullBodyJointMETA = Self(46i32);
5832 pub const RIGHT_HAND_THUMB_PROXIMAL: FullBodyJointMETA = Self(47i32);
5833 pub const RIGHT_HAND_THUMB_DISTAL: FullBodyJointMETA = Self(48i32);
5834 pub const RIGHT_HAND_THUMB_TIP: FullBodyJointMETA = Self(49i32);
5835 pub const RIGHT_HAND_INDEX_METACARPAL: FullBodyJointMETA = Self(50i32);
5836 pub const RIGHT_HAND_INDEX_PROXIMAL: FullBodyJointMETA = Self(51i32);
5837 pub const RIGHT_HAND_INDEX_INTERMEDIATE: FullBodyJointMETA = Self(52i32);
5838 pub const RIGHT_HAND_INDEX_DISTAL: FullBodyJointMETA = Self(53i32);
5839 pub const RIGHT_HAND_INDEX_TIP: FullBodyJointMETA = Self(54i32);
5840 pub const RIGHT_HAND_MIDDLE_METACARPAL: FullBodyJointMETA = Self(55i32);
5841 pub const RIGHT_HAND_MIDDLE_PROXIMAL: FullBodyJointMETA = Self(56i32);
5842 pub const RIGHT_HAND_MIDDLE_INTERMEDIATE: FullBodyJointMETA = Self(57i32);
5843 pub const RIGHT_HAND_MIDDLE_DISTAL: FullBodyJointMETA = Self(58i32);
5844 pub const RIGHT_HAND_MIDDLE_TIP: FullBodyJointMETA = Self(59i32);
5845 pub const RIGHT_HAND_RING_METACARPAL: FullBodyJointMETA = Self(60i32);
5846 pub const RIGHT_HAND_RING_PROXIMAL: FullBodyJointMETA = Self(61i32);
5847 pub const RIGHT_HAND_RING_INTERMEDIATE: FullBodyJointMETA = Self(62i32);
5848 pub const RIGHT_HAND_RING_DISTAL: FullBodyJointMETA = Self(63i32);
5849 pub const RIGHT_HAND_RING_TIP: FullBodyJointMETA = Self(64i32);
5850 pub const RIGHT_HAND_LITTLE_METACARPAL: FullBodyJointMETA = Self(65i32);
5851 pub const RIGHT_HAND_LITTLE_PROXIMAL: FullBodyJointMETA = Self(66i32);
5852 pub const RIGHT_HAND_LITTLE_INTERMEDIATE: FullBodyJointMETA = Self(67i32);
5853 pub const RIGHT_HAND_LITTLE_DISTAL: FullBodyJointMETA = Self(68i32);
5854 pub const RIGHT_HAND_LITTLE_TIP: FullBodyJointMETA = Self(69i32);
5855 pub const LEFT_UPPER_LEG: FullBodyJointMETA = Self(70i32);
5856 pub const LEFT_LOWER_LEG: FullBodyJointMETA = Self(71i32);
5857 pub const LEFT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(72i32);
5858 pub const LEFT_FOOT_ANKLE: FullBodyJointMETA = Self(73i32);
5859 pub const LEFT_FOOT_SUBTALAR: FullBodyJointMETA = Self(74i32);
5860 pub const LEFT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(75i32);
5861 pub const LEFT_FOOT_BALL: FullBodyJointMETA = Self(76i32);
5862 pub const RIGHT_UPPER_LEG: FullBodyJointMETA = Self(77i32);
5863 pub const RIGHT_LOWER_LEG: FullBodyJointMETA = Self(78i32);
5864 pub const RIGHT_FOOT_ANKLE_TWIST: FullBodyJointMETA = Self(79i32);
5865 pub const RIGHT_FOOT_ANKLE: FullBodyJointMETA = Self(80i32);
5866 pub const RIGHT_FOOT_SUBTALAR: FullBodyJointMETA = Self(81i32);
5867 pub const RIGHT_FOOT_TRANSVERSE: FullBodyJointMETA = Self(82i32);
5868 pub const RIGHT_FOOT_BALL: FullBodyJointMETA = Self(83i32);
5869 pub const COUNT: FullBodyJointMETA = Self(84i32);
5870 pub const NONE: FullBodyJointMETA = Self(85i32);
5871 pub fn from_raw(x: i32) -> Self {
5872 Self(x)
5873 }
5874 pub fn into_raw(self) -> i32 {
5875 self.0
5876 }
5877}
5878impl fmt::Debug for FullBodyJointMETA {
5879 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5880 let name = match *self {
5881 Self::ROOT => Some("ROOT"),
5882 Self::HIPS => Some("HIPS"),
5883 Self::SPINE_LOWER => Some("SPINE_LOWER"),
5884 Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
5885 Self::SPINE_UPPER => Some("SPINE_UPPER"),
5886 Self::CHEST => Some("CHEST"),
5887 Self::NECK => Some("NECK"),
5888 Self::HEAD => Some("HEAD"),
5889 Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
5890 Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
5891 Self::LEFT_ARM_UPPER => Some("LEFT_ARM_UPPER"),
5892 Self::LEFT_ARM_LOWER => Some("LEFT_ARM_LOWER"),
5893 Self::LEFT_HAND_WRIST_TWIST => Some("LEFT_HAND_WRIST_TWIST"),
5894 Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
5895 Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
5896 Self::RIGHT_ARM_UPPER => Some("RIGHT_ARM_UPPER"),
5897 Self::RIGHT_ARM_LOWER => Some("RIGHT_ARM_LOWER"),
5898 Self::RIGHT_HAND_WRIST_TWIST => Some("RIGHT_HAND_WRIST_TWIST"),
5899 Self::LEFT_HAND_PALM => Some("LEFT_HAND_PALM"),
5900 Self::LEFT_HAND_WRIST => Some("LEFT_HAND_WRIST"),
5901 Self::LEFT_HAND_THUMB_METACARPAL => Some("LEFT_HAND_THUMB_METACARPAL"),
5902 Self::LEFT_HAND_THUMB_PROXIMAL => Some("LEFT_HAND_THUMB_PROXIMAL"),
5903 Self::LEFT_HAND_THUMB_DISTAL => Some("LEFT_HAND_THUMB_DISTAL"),
5904 Self::LEFT_HAND_THUMB_TIP => Some("LEFT_HAND_THUMB_TIP"),
5905 Self::LEFT_HAND_INDEX_METACARPAL => Some("LEFT_HAND_INDEX_METACARPAL"),
5906 Self::LEFT_HAND_INDEX_PROXIMAL => Some("LEFT_HAND_INDEX_PROXIMAL"),
5907 Self::LEFT_HAND_INDEX_INTERMEDIATE => Some("LEFT_HAND_INDEX_INTERMEDIATE"),
5908 Self::LEFT_HAND_INDEX_DISTAL => Some("LEFT_HAND_INDEX_DISTAL"),
5909 Self::LEFT_HAND_INDEX_TIP => Some("LEFT_HAND_INDEX_TIP"),
5910 Self::LEFT_HAND_MIDDLE_METACARPAL => Some("LEFT_HAND_MIDDLE_METACARPAL"),
5911 Self::LEFT_HAND_MIDDLE_PROXIMAL => Some("LEFT_HAND_MIDDLE_PROXIMAL"),
5912 Self::LEFT_HAND_MIDDLE_INTERMEDIATE => Some("LEFT_HAND_MIDDLE_INTERMEDIATE"),
5913 Self::LEFT_HAND_MIDDLE_DISTAL => Some("LEFT_HAND_MIDDLE_DISTAL"),
5914 Self::LEFT_HAND_MIDDLE_TIP => Some("LEFT_HAND_MIDDLE_TIP"),
5915 Self::LEFT_HAND_RING_METACARPAL => Some("LEFT_HAND_RING_METACARPAL"),
5916 Self::LEFT_HAND_RING_PROXIMAL => Some("LEFT_HAND_RING_PROXIMAL"),
5917 Self::LEFT_HAND_RING_INTERMEDIATE => Some("LEFT_HAND_RING_INTERMEDIATE"),
5918 Self::LEFT_HAND_RING_DISTAL => Some("LEFT_HAND_RING_DISTAL"),
5919 Self::LEFT_HAND_RING_TIP => Some("LEFT_HAND_RING_TIP"),
5920 Self::LEFT_HAND_LITTLE_METACARPAL => Some("LEFT_HAND_LITTLE_METACARPAL"),
5921 Self::LEFT_HAND_LITTLE_PROXIMAL => Some("LEFT_HAND_LITTLE_PROXIMAL"),
5922 Self::LEFT_HAND_LITTLE_INTERMEDIATE => Some("LEFT_HAND_LITTLE_INTERMEDIATE"),
5923 Self::LEFT_HAND_LITTLE_DISTAL => Some("LEFT_HAND_LITTLE_DISTAL"),
5924 Self::LEFT_HAND_LITTLE_TIP => Some("LEFT_HAND_LITTLE_TIP"),
5925 Self::RIGHT_HAND_PALM => Some("RIGHT_HAND_PALM"),
5926 Self::RIGHT_HAND_WRIST => Some("RIGHT_HAND_WRIST"),
5927 Self::RIGHT_HAND_THUMB_METACARPAL => Some("RIGHT_HAND_THUMB_METACARPAL"),
5928 Self::RIGHT_HAND_THUMB_PROXIMAL => Some("RIGHT_HAND_THUMB_PROXIMAL"),
5929 Self::RIGHT_HAND_THUMB_DISTAL => Some("RIGHT_HAND_THUMB_DISTAL"),
5930 Self::RIGHT_HAND_THUMB_TIP => Some("RIGHT_HAND_THUMB_TIP"),
5931 Self::RIGHT_HAND_INDEX_METACARPAL => Some("RIGHT_HAND_INDEX_METACARPAL"),
5932 Self::RIGHT_HAND_INDEX_PROXIMAL => Some("RIGHT_HAND_INDEX_PROXIMAL"),
5933 Self::RIGHT_HAND_INDEX_INTERMEDIATE => Some("RIGHT_HAND_INDEX_INTERMEDIATE"),
5934 Self::RIGHT_HAND_INDEX_DISTAL => Some("RIGHT_HAND_INDEX_DISTAL"),
5935 Self::RIGHT_HAND_INDEX_TIP => Some("RIGHT_HAND_INDEX_TIP"),
5936 Self::RIGHT_HAND_MIDDLE_METACARPAL => Some("RIGHT_HAND_MIDDLE_METACARPAL"),
5937 Self::RIGHT_HAND_MIDDLE_PROXIMAL => Some("RIGHT_HAND_MIDDLE_PROXIMAL"),
5938 Self::RIGHT_HAND_MIDDLE_INTERMEDIATE => Some("RIGHT_HAND_MIDDLE_INTERMEDIATE"),
5939 Self::RIGHT_HAND_MIDDLE_DISTAL => Some("RIGHT_HAND_MIDDLE_DISTAL"),
5940 Self::RIGHT_HAND_MIDDLE_TIP => Some("RIGHT_HAND_MIDDLE_TIP"),
5941 Self::RIGHT_HAND_RING_METACARPAL => Some("RIGHT_HAND_RING_METACARPAL"),
5942 Self::RIGHT_HAND_RING_PROXIMAL => Some("RIGHT_HAND_RING_PROXIMAL"),
5943 Self::RIGHT_HAND_RING_INTERMEDIATE => Some("RIGHT_HAND_RING_INTERMEDIATE"),
5944 Self::RIGHT_HAND_RING_DISTAL => Some("RIGHT_HAND_RING_DISTAL"),
5945 Self::RIGHT_HAND_RING_TIP => Some("RIGHT_HAND_RING_TIP"),
5946 Self::RIGHT_HAND_LITTLE_METACARPAL => Some("RIGHT_HAND_LITTLE_METACARPAL"),
5947 Self::RIGHT_HAND_LITTLE_PROXIMAL => Some("RIGHT_HAND_LITTLE_PROXIMAL"),
5948 Self::RIGHT_HAND_LITTLE_INTERMEDIATE => Some("RIGHT_HAND_LITTLE_INTERMEDIATE"),
5949 Self::RIGHT_HAND_LITTLE_DISTAL => Some("RIGHT_HAND_LITTLE_DISTAL"),
5950 Self::RIGHT_HAND_LITTLE_TIP => Some("RIGHT_HAND_LITTLE_TIP"),
5951 Self::LEFT_UPPER_LEG => Some("LEFT_UPPER_LEG"),
5952 Self::LEFT_LOWER_LEG => Some("LEFT_LOWER_LEG"),
5953 Self::LEFT_FOOT_ANKLE_TWIST => Some("LEFT_FOOT_ANKLE_TWIST"),
5954 Self::LEFT_FOOT_ANKLE => Some("LEFT_FOOT_ANKLE"),
5955 Self::LEFT_FOOT_SUBTALAR => Some("LEFT_FOOT_SUBTALAR"),
5956 Self::LEFT_FOOT_TRANSVERSE => Some("LEFT_FOOT_TRANSVERSE"),
5957 Self::LEFT_FOOT_BALL => Some("LEFT_FOOT_BALL"),
5958 Self::RIGHT_UPPER_LEG => Some("RIGHT_UPPER_LEG"),
5959 Self::RIGHT_LOWER_LEG => Some("RIGHT_LOWER_LEG"),
5960 Self::RIGHT_FOOT_ANKLE_TWIST => Some("RIGHT_FOOT_ANKLE_TWIST"),
5961 Self::RIGHT_FOOT_ANKLE => Some("RIGHT_FOOT_ANKLE"),
5962 Self::RIGHT_FOOT_SUBTALAR => Some("RIGHT_FOOT_SUBTALAR"),
5963 Self::RIGHT_FOOT_TRANSVERSE => Some("RIGHT_FOOT_TRANSVERSE"),
5964 Self::RIGHT_FOOT_BALL => Some("RIGHT_FOOT_BALL"),
5965 Self::COUNT => Some("COUNT"),
5966 Self::NONE => Some("NONE"),
5967 _ => None,
5968 };
5969 fmt_enum(fmt, self.0, name)
5970 }
5971}
5972#[doc = "See [XrBodyTrackingCalibrationStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationStateMETA)"]
5973#[repr(transparent)]
5974#[derive(Copy, Clone, Eq, PartialEq)]
5975pub struct BodyTrackingCalibrationStateMETA(i32);
5976impl BodyTrackingCalibrationStateMETA {
5977 #[doc = "Valid calibration, body tracking expected to be stable."]
5978 pub const VALID: BodyTrackingCalibrationStateMETA = Self(1i32);
5979 #[doc = "Calibration is in progress, body joint poses from XR_FB_body_tracking are valid to read and internally consistent within a single call, but may: be more variable than normal, shifting dramatically before calibration ends."]
5980 pub const CALIBRATING: BodyTrackingCalibrationStateMETA = Self(2i32);
5981 #[doc = "Calibration is invalid, accessing the body joint poses from XR_FB_body_tracking is defined behavior but their contents are unspecified. Tracking data may: be read but must: not be interpreted as body tracking poses."]
5982 pub const INVALID: BodyTrackingCalibrationStateMETA = Self(3i32);
5983 pub fn from_raw(x: i32) -> Self {
5984 Self(x)
5985 }
5986 pub fn into_raw(self) -> i32 {
5987 self.0
5988 }
5989}
5990impl fmt::Debug for BodyTrackingCalibrationStateMETA {
5991 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
5992 let name = match *self {
5993 Self::VALID => Some("VALID"),
5994 Self::CALIBRATING => Some("CALIBRATING"),
5995 Self::INVALID => Some("INVALID"),
5996 _ => None,
5997 };
5998 fmt_enum(fmt, self.0, name)
5999 }
6000}
6001#[doc = "See [XrBodyTrackingFidelityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingFidelityMETA)"]
6002#[repr(transparent)]
6003#[derive(Copy, Clone, Eq, PartialEq)]
6004pub struct BodyTrackingFidelityMETA(i32);
6005impl BodyTrackingFidelityMETA {
6006 #[doc = "This value indicates that the body tracking runtime uses a simpler algorithm or less input to estimate the body pose in a way that trades off pose quality for system performance. For example, low fidelity may not accurately track a user's elbows."]
6007 pub const LOW: BodyTrackingFidelityMETA = Self(1i32);
6008 #[doc = "This value indicates that the body tracking runtime uses more advanced algorithms or more inputs to estimate the body pose. For example high fidelity may track a user's elbows."]
6009 pub const HIGH: BodyTrackingFidelityMETA = Self(2i32);
6010 pub fn from_raw(x: i32) -> Self {
6011 Self(x)
6012 }
6013 pub fn into_raw(self) -> i32 {
6014 self.0
6015 }
6016}
6017impl fmt::Debug for BodyTrackingFidelityMETA {
6018 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6019 let name = match *self {
6020 Self::LOW => Some("LOW"),
6021 Self::HIGH => Some("HIGH"),
6022 _ => None,
6023 };
6024 fmt_enum(fmt, self.0, name)
6025 }
6026}
6027#[doc = "See [XrEyePositionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyePositionFB)"]
6028#[repr(transparent)]
6029#[derive(Copy, Clone, Eq, PartialEq, Default)]
6030pub struct EyePositionFB(i32);
6031impl EyePositionFB {
6032 #[doc = "Specifies the position of the left eye."]
6033 pub const LEFT: EyePositionFB = Self(0i32);
6034 #[doc = "Specifies the position of the right eye."]
6035 pub const RIGHT: EyePositionFB = Self(1i32);
6036 #[doc = "Specifies the number of eyes tracked."]
6037 pub const COUNT: EyePositionFB = Self(2i32);
6038 pub fn from_raw(x: i32) -> Self {
6039 Self(x)
6040 }
6041 pub fn into_raw(self) -> i32 {
6042 self.0
6043 }
6044}
6045impl fmt::Debug for EyePositionFB {
6046 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6047 let name = match *self {
6048 Self::LEFT => Some("LEFT"),
6049 Self::RIGHT => Some("RIGHT"),
6050 Self::COUNT => Some("COUNT"),
6051 _ => None,
6052 };
6053 fmt_enum(fmt, self.0, name)
6054 }
6055}
6056#[doc = "See [XrTrackingOptimizationSettingsDomainQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsDomainQCOM)"]
6057#[repr(transparent)]
6058#[derive(Copy, Clone, Eq, PartialEq)]
6059pub struct TrackingOptimizationSettingsDomainQCOM(i32);
6060impl TrackingOptimizationSettingsDomainQCOM {
6061 #[doc = "Setting applies to all QCOM tracking extensions."]
6062 pub const ALL: TrackingOptimizationSettingsDomainQCOM = Self(1i32);
6063 pub fn from_raw(x: i32) -> Self {
6064 Self(x)
6065 }
6066 pub fn into_raw(self) -> i32 {
6067 self.0
6068 }
6069}
6070impl fmt::Debug for TrackingOptimizationSettingsDomainQCOM {
6071 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6072 let name = match *self {
6073 Self::ALL => Some("ALL"),
6074 _ => None,
6075 };
6076 fmt_enum(fmt, self.0, name)
6077 }
6078}
6079#[doc = "See [XrTrackingOptimizationSettingsHintQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackingOptimizationSettingsHintQCOM)"]
6080#[repr(transparent)]
6081#[derive(Copy, Clone, Eq, PartialEq, Default)]
6082pub struct TrackingOptimizationSettingsHintQCOM(i32);
6083impl TrackingOptimizationSettingsHintQCOM {
6084 #[doc = "Used by the application to indicate that it does not have a preference to optimize for. The run-time is understood to choose a balanced approach."]
6085 pub const NONE: TrackingOptimizationSettingsHintQCOM = Self(0i32);
6086 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for long range, possibly at the expense of competing interests."]
6087 pub const LONG_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(1i32);
6088 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for close range, possibly at the expense of competing interests."]
6089 pub const CLOSE_RANGE_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(2i32);
6090 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for low power consumption, possibly at the expense of competing interests."]
6091 pub const LOW_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(3i32);
6092 #[doc = "Used by the application to indicate that it prefers tracking to be optimized for increased tracking performance, possibly at the cost of increased power consumption."]
6093 pub const HIGH_POWER_PRIORIZATION: TrackingOptimizationSettingsHintQCOM = Self(4i32);
6094 pub fn from_raw(x: i32) -> Self {
6095 Self(x)
6096 }
6097 pub fn into_raw(self) -> i32 {
6098 self.0
6099 }
6100}
6101impl fmt::Debug for TrackingOptimizationSettingsHintQCOM {
6102 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6103 let name = match *self {
6104 Self::NONE => Some("NONE"),
6105 Self::LONG_RANGE_PRIORIZATION => Some("LONG_RANGE_PRIORIZATION"),
6106 Self::CLOSE_RANGE_PRIORIZATION => Some("CLOSE_RANGE_PRIORIZATION"),
6107 Self::LOW_POWER_PRIORIZATION => Some("LOW_POWER_PRIORIZATION"),
6108 Self::HIGH_POWER_PRIORIZATION => Some("HIGH_POWER_PRIORIZATION"),
6109 _ => None,
6110 };
6111 fmt_enum(fmt, self.0, name)
6112 }
6113}
6114#[doc = "See [XrForceFeedbackCurlLocationMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlLocationMNDX)"]
6115#[repr(transparent)]
6116#[derive(Copy, Clone, Eq, PartialEq, Default)]
6117pub struct ForceFeedbackCurlLocationMNDX(i32);
6118impl ForceFeedbackCurlLocationMNDX {
6119 #[doc = "force feedback for thumb curl"]
6120 pub const THUMB_CURL: ForceFeedbackCurlLocationMNDX = Self(0i32);
6121 #[doc = "force feedback for index finger curl"]
6122 pub const INDEX_CURL: ForceFeedbackCurlLocationMNDX = Self(1i32);
6123 #[doc = "force feedback for middle finger curl"]
6124 pub const MIDDLE_CURL: ForceFeedbackCurlLocationMNDX = Self(2i32);
6125 #[doc = "force feedback for ring finger curl"]
6126 pub const RING_CURL: ForceFeedbackCurlLocationMNDX = Self(3i32);
6127 #[doc = "force feedback for little finger curl"]
6128 pub const LITTLE_CURL: ForceFeedbackCurlLocationMNDX = Self(4i32);
6129 pub fn from_raw(x: i32) -> Self {
6130 Self(x)
6131 }
6132 pub fn into_raw(self) -> i32 {
6133 self.0
6134 }
6135}
6136impl fmt::Debug for ForceFeedbackCurlLocationMNDX {
6137 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6138 let name = match *self {
6139 Self::THUMB_CURL => Some("THUMB_CURL"),
6140 Self::INDEX_CURL => Some("INDEX_CURL"),
6141 Self::MIDDLE_CURL => Some("MIDDLE_CURL"),
6142 Self::RING_CURL => Some("RING_CURL"),
6143 Self::LITTLE_CURL => Some("LITTLE_CURL"),
6144 _ => None,
6145 };
6146 fmt_enum(fmt, self.0, name)
6147 }
6148}
6149#[doc = "See [XrPlaneDetectionStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionStateEXT)"]
6150#[repr(transparent)]
6151#[derive(Copy, Clone, Eq, PartialEq, Default)]
6152pub struct PlaneDetectionStateEXT(i32);
6153impl PlaneDetectionStateEXT {
6154 pub const NONE: PlaneDetectionStateEXT = Self(0i32);
6155 pub const PENDING: PlaneDetectionStateEXT = Self(1i32);
6156 pub const DONE: PlaneDetectionStateEXT = Self(2i32);
6157 pub const ERROR: PlaneDetectionStateEXT = Self(3i32);
6158 pub const FATAL: PlaneDetectionStateEXT = Self(4i32);
6159 pub fn from_raw(x: i32) -> Self {
6160 Self(x)
6161 }
6162 pub fn into_raw(self) -> i32 {
6163 self.0
6164 }
6165}
6166impl fmt::Debug for PlaneDetectionStateEXT {
6167 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6168 let name = match *self {
6169 Self::NONE => Some("NONE"),
6170 Self::PENDING => Some("PENDING"),
6171 Self::DONE => Some("DONE"),
6172 Self::ERROR => Some("ERROR"),
6173 Self::FATAL => Some("FATAL"),
6174 _ => None,
6175 };
6176 fmt_enum(fmt, self.0, name)
6177 }
6178}
6179#[doc = "See [XrPlaneDetectorOrientationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorOrientationEXT)"]
6180#[repr(transparent)]
6181#[derive(Copy, Clone, Eq, PartialEq, Default)]
6182pub struct PlaneDetectorOrientationEXT(i32);
6183impl PlaneDetectorOrientationEXT {
6184 #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
6185 pub const HORIZONTAL_UPWARD: PlaneDetectorOrientationEXT = Self(0i32);
6186 #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
6187 pub const HORIZONTAL_DOWNWARD: PlaneDetectorOrientationEXT = Self(1i32);
6188 #[doc = "The detected plane is vertical (e.g. wall)."]
6189 pub const VERTICAL: PlaneDetectorOrientationEXT = Self(2i32);
6190 #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
6191 pub const ARBITRARY: PlaneDetectorOrientationEXT = Self(3i32);
6192 pub fn from_raw(x: i32) -> Self {
6193 Self(x)
6194 }
6195 pub fn into_raw(self) -> i32 {
6196 self.0
6197 }
6198}
6199impl fmt::Debug for PlaneDetectorOrientationEXT {
6200 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6201 let name = match *self {
6202 Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
6203 Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
6204 Self::VERTICAL => Some("VERTICAL"),
6205 Self::ARBITRARY => Some("ARBITRARY"),
6206 _ => None,
6207 };
6208 fmt_enum(fmt, self.0, name)
6209 }
6210}
6211#[doc = "See [XrPlaneDetectorSemanticTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorSemanticTypeEXT)"]
6212#[repr(transparent)]
6213#[derive(Copy, Clone, Eq, PartialEq, Default)]
6214pub struct PlaneDetectorSemanticTypeEXT(i32);
6215impl PlaneDetectorSemanticTypeEXT {
6216 #[doc = "The runtime was unable to classify this plane."]
6217 pub const UNDEFINED: PlaneDetectorSemanticTypeEXT = Self(0i32);
6218 #[doc = "The detected plane is a ceiling."]
6219 pub const CEILING: PlaneDetectorSemanticTypeEXT = Self(1i32);
6220 #[doc = "The detected plane is a floor."]
6221 pub const FLOOR: PlaneDetectorSemanticTypeEXT = Self(2i32);
6222 #[doc = "The detected plane is a wall."]
6223 pub const WALL: PlaneDetectorSemanticTypeEXT = Self(3i32);
6224 #[doc = "The detected plane is a platform, like a table."]
6225 pub const PLATFORM: PlaneDetectorSemanticTypeEXT = Self(4i32);
6226 pub fn from_raw(x: i32) -> Self {
6227 Self(x)
6228 }
6229 pub fn into_raw(self) -> i32 {
6230 self.0
6231 }
6232}
6233impl fmt::Debug for PlaneDetectorSemanticTypeEXT {
6234 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6235 let name = match *self {
6236 Self::UNDEFINED => Some("UNDEFINED"),
6237 Self::CEILING => Some("CEILING"),
6238 Self::FLOOR => Some("FLOOR"),
6239 Self::WALL => Some("WALL"),
6240 Self::PLATFORM => Some("PLATFORM"),
6241 _ => None,
6242 };
6243 fmt_enum(fmt, self.0, name)
6244 }
6245}
6246#[doc = "See [XrVirtualKeyboardLocationTypeMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardLocationTypeMETA)"]
6247#[repr(transparent)]
6248#[derive(Copy, Clone, Eq, PartialEq, Default)]
6249pub struct VirtualKeyboardLocationTypeMETA(i32);
6250impl VirtualKeyboardLocationTypeMETA {
6251 #[doc = "Indicates that the application will provide the position and scale of the keyboard."]
6252 pub const CUSTOM: VirtualKeyboardLocationTypeMETA = Self(0i32);
6253 #[doc = "Indicates that the runtime will set the position and scale for far field keyboard."]
6254 pub const FAR: VirtualKeyboardLocationTypeMETA = Self(1i32);
6255 #[doc = "Indicates that the runtime will set the position and scale for direct interaction keyboard."]
6256 pub const DIRECT: VirtualKeyboardLocationTypeMETA = Self(2i32);
6257 pub fn from_raw(x: i32) -> Self {
6258 Self(x)
6259 }
6260 pub fn into_raw(self) -> i32 {
6261 self.0
6262 }
6263}
6264impl fmt::Debug for VirtualKeyboardLocationTypeMETA {
6265 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6266 let name = match *self {
6267 Self::CUSTOM => Some("CUSTOM"),
6268 Self::FAR => Some("FAR"),
6269 Self::DIRECT => Some("DIRECT"),
6270 _ => None,
6271 };
6272 fmt_enum(fmt, self.0, name)
6273 }
6274}
6275#[doc = "See [XrVirtualKeyboardInputSourceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputSourceMETA)"]
6276#[repr(transparent)]
6277#[derive(Copy, Clone, Eq, PartialEq)]
6278pub struct VirtualKeyboardInputSourceMETA(i32);
6279impl VirtualKeyboardInputSourceMETA {
6280 #[doc = "Left controller ray."]
6281 pub const CONTROLLER_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(1i32);
6282 #[doc = "Right controller ray."]
6283 pub const CONTROLLER_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(2i32);
6284 #[doc = "Left hand ray."]
6285 pub const HAND_RAY_LEFT: VirtualKeyboardInputSourceMETA = Self(3i32);
6286 #[doc = "Right hand ray."]
6287 pub const HAND_RAY_RIGHT: VirtualKeyboardInputSourceMETA = Self(4i32);
6288 #[doc = "Left controller direct touch."]
6289 pub const CONTROLLER_DIRECT_LEFT: VirtualKeyboardInputSourceMETA = Self(5i32);
6290 #[doc = "Right controller direct touch."]
6291 pub const CONTROLLER_DIRECT_RIGHT: VirtualKeyboardInputSourceMETA = Self(6i32);
6292 #[doc = "Left hand direct touch."]
6293 pub const HAND_DIRECT_INDEX_TIP_LEFT: VirtualKeyboardInputSourceMETA = Self(7i32);
6294 #[doc = "Right hand direct touch."]
6295 pub const HAND_DIRECT_INDEX_TIP_RIGHT: VirtualKeyboardInputSourceMETA = Self(8i32);
6296 pub fn from_raw(x: i32) -> Self {
6297 Self(x)
6298 }
6299 pub fn into_raw(self) -> i32 {
6300 self.0
6301 }
6302}
6303impl fmt::Debug for VirtualKeyboardInputSourceMETA {
6304 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6305 let name = match *self {
6306 Self::CONTROLLER_RAY_LEFT => Some("CONTROLLER_RAY_LEFT"),
6307 Self::CONTROLLER_RAY_RIGHT => Some("CONTROLLER_RAY_RIGHT"),
6308 Self::HAND_RAY_LEFT => Some("HAND_RAY_LEFT"),
6309 Self::HAND_RAY_RIGHT => Some("HAND_RAY_RIGHT"),
6310 Self::CONTROLLER_DIRECT_LEFT => Some("CONTROLLER_DIRECT_LEFT"),
6311 Self::CONTROLLER_DIRECT_RIGHT => Some("CONTROLLER_DIRECT_RIGHT"),
6312 Self::HAND_DIRECT_INDEX_TIP_LEFT => Some("HAND_DIRECT_INDEX_TIP_LEFT"),
6313 Self::HAND_DIRECT_INDEX_TIP_RIGHT => Some("HAND_DIRECT_INDEX_TIP_RIGHT"),
6314 _ => None,
6315 };
6316 fmt_enum(fmt, self.0, name)
6317 }
6318}
6319#[doc = "See [XrHeadsetFitStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHeadsetFitStatusML)"]
6320#[repr(transparent)]
6321#[derive(Copy, Clone, Eq, PartialEq, Default)]
6322pub struct HeadsetFitStatusML(i32);
6323impl HeadsetFitStatusML {
6324 #[doc = "Headset fit status not available for unknown reason."]
6325 pub const UNKNOWN: HeadsetFitStatusML = Self(0i32);
6326 #[doc = "Headset not worn."]
6327 pub const NOT_WORN: HeadsetFitStatusML = Self(1i32);
6328 #[doc = "Good fit."]
6329 pub const GOOD_FIT: HeadsetFitStatusML = Self(2i32);
6330 #[doc = "Bad fit."]
6331 pub const BAD_FIT: HeadsetFitStatusML = Self(3i32);
6332 pub fn from_raw(x: i32) -> Self {
6333 Self(x)
6334 }
6335 pub fn into_raw(self) -> i32 {
6336 self.0
6337 }
6338}
6339impl fmt::Debug for HeadsetFitStatusML {
6340 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6341 let name = match *self {
6342 Self::UNKNOWN => Some("UNKNOWN"),
6343 Self::NOT_WORN => Some("NOT_WORN"),
6344 Self::GOOD_FIT => Some("GOOD_FIT"),
6345 Self::BAD_FIT => Some("BAD_FIT"),
6346 _ => None,
6347 };
6348 fmt_enum(fmt, self.0, name)
6349 }
6350}
6351#[doc = "See [XrEyeCalibrationStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeCalibrationStatusML)"]
6352#[repr(transparent)]
6353#[derive(Copy, Clone, Eq, PartialEq, Default)]
6354pub struct EyeCalibrationStatusML(i32);
6355impl EyeCalibrationStatusML {
6356 #[doc = "Eye calibration status not available for unknown reason."]
6357 pub const UNKNOWN: EyeCalibrationStatusML = Self(0i32);
6358 #[doc = "User has not performed the eye calibration step. Use system provided app to perform eye calibration."]
6359 pub const NONE: EyeCalibrationStatusML = Self(1i32);
6360 #[doc = "Eye calibration is of lower accuracy."]
6361 pub const COARSE: EyeCalibrationStatusML = Self(2i32);
6362 #[doc = "Eye calibration is of higher accuracy."]
6363 pub const FINE: EyeCalibrationStatusML = Self(3i32);
6364 pub fn from_raw(x: i32) -> Self {
6365 Self(x)
6366 }
6367 pub fn into_raw(self) -> i32 {
6368 self.0
6369 }
6370}
6371impl fmt::Debug for EyeCalibrationStatusML {
6372 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6373 let name = match *self {
6374 Self::UNKNOWN => Some("UNKNOWN"),
6375 Self::NONE => Some("NONE"),
6376 Self::COARSE => Some("COARSE"),
6377 Self::FINE => Some("FINE"),
6378 _ => None,
6379 };
6380 fmt_enum(fmt, self.0, name)
6381 }
6382}
6383#[doc = "See [XrLocalizationMapStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapStateML)"]
6384#[repr(transparent)]
6385#[derive(Copy, Clone, Eq, PartialEq, Default)]
6386pub struct LocalizationMapStateML(i32);
6387impl LocalizationMapStateML {
6388 #[doc = "The system is not localized into a map. Features like Spatial Anchors relying on localization will not work."]
6389 pub const NOT_LOCALIZED: LocalizationMapStateML = Self(0i32);
6390 #[doc = "The system is localized into a map."]
6391 pub const LOCALIZED: LocalizationMapStateML = Self(1i32);
6392 #[doc = "The system is localizing into a map."]
6393 pub const LOCALIZATION_PENDING: LocalizationMapStateML = Self(2i32);
6394 #[doc = "Initial localization failed, the system will retry localization."]
6395 pub const LOCALIZATION_SLEEPING_BEFORE_RETRY: LocalizationMapStateML = Self(3i32);
6396 pub fn from_raw(x: i32) -> Self {
6397 Self(x)
6398 }
6399 pub fn into_raw(self) -> i32 {
6400 self.0
6401 }
6402}
6403impl fmt::Debug for LocalizationMapStateML {
6404 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6405 let name = match *self {
6406 Self::NOT_LOCALIZED => Some("NOT_LOCALIZED"),
6407 Self::LOCALIZED => Some("LOCALIZED"),
6408 Self::LOCALIZATION_PENDING => Some("LOCALIZATION_PENDING"),
6409 Self::LOCALIZATION_SLEEPING_BEFORE_RETRY => Some("LOCALIZATION_SLEEPING_BEFORE_RETRY"),
6410 _ => None,
6411 };
6412 fmt_enum(fmt, self.0, name)
6413 }
6414}
6415#[doc = "See [XrLocalizationMapTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapTypeML)"]
6416#[repr(transparent)]
6417#[derive(Copy, Clone, Eq, PartialEq, Default)]
6418pub struct LocalizationMapTypeML(i32);
6419impl LocalizationMapTypeML {
6420 #[doc = "The system is localized into an On-Device map, published anchors are not shared between different devices."]
6421 pub const ON_DEVICE: LocalizationMapTypeML = Self(0i32);
6422 #[doc = "The system is localized into a Cloud Map, anchors are shared per cloud account settings."]
6423 pub const CLOUD: LocalizationMapTypeML = Self(1i32);
6424 pub fn from_raw(x: i32) -> Self {
6425 Self(x)
6426 }
6427 pub fn into_raw(self) -> i32 {
6428 self.0
6429 }
6430}
6431impl fmt::Debug for LocalizationMapTypeML {
6432 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6433 let name = match *self {
6434 Self::ON_DEVICE => Some("ON_DEVICE"),
6435 Self::CLOUD => Some("CLOUD"),
6436 _ => None,
6437 };
6438 fmt_enum(fmt, self.0, name)
6439 }
6440}
6441#[doc = "See [XrLocalizationMapConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapConfidenceML)"]
6442#[repr(transparent)]
6443#[derive(Copy, Clone, Eq, PartialEq, Default)]
6444pub struct LocalizationMapConfidenceML(i32);
6445impl LocalizationMapConfidenceML {
6446 #[doc = "The localization map has poor confidence, systems relying on the localization map are likely to have poor performance."]
6447 pub const POOR: LocalizationMapConfidenceML = Self(0i32);
6448 #[doc = "The confidence is fair, current environmental conditions may adversely affect localization."]
6449 pub const FAIR: LocalizationMapConfidenceML = Self(1i32);
6450 #[doc = "The confidence is high, persistent content should be stable."]
6451 pub const GOOD: LocalizationMapConfidenceML = Self(2i32);
6452 #[doc = "This is a very high-confidence localization, persistent content will be very stable."]
6453 pub const EXCELLENT: LocalizationMapConfidenceML = Self(3i32);
6454 pub fn from_raw(x: i32) -> Self {
6455 Self(x)
6456 }
6457 pub fn into_raw(self) -> i32 {
6458 self.0
6459 }
6460}
6461impl fmt::Debug for LocalizationMapConfidenceML {
6462 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6463 let name = match *self {
6464 Self::POOR => Some("POOR"),
6465 Self::FAIR => Some("FAIR"),
6466 Self::GOOD => Some("GOOD"),
6467 Self::EXCELLENT => Some("EXCELLENT"),
6468 _ => None,
6469 };
6470 fmt_enum(fmt, self.0, name)
6471 }
6472}
6473#[doc = "See [XrMarkerDetectorProfileML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorProfileML)"]
6474#[repr(transparent)]
6475#[derive(Copy, Clone, Eq, PartialEq, Default)]
6476pub struct MarkerDetectorProfileML(i32);
6477impl MarkerDetectorProfileML {
6478 #[doc = "Tracker profile that covers standard use cases. If this does not suite the needs of the application try the other profiles listed below."]
6479 pub const DEFAULT: MarkerDetectorProfileML = Self(0i32);
6480 #[doc = "Optimized for speed. Use this profile to reduce the compute load and increase detection/tracker speed. This can result in low accuracy poses."]
6481 pub const SPEED: MarkerDetectorProfileML = Self(1i32);
6482 #[doc = "Optimized for accuracy. Use this profile to optimize for accurate marker poses. This can cause increased load on the compute."]
6483 pub const ACCURACY: MarkerDetectorProfileML = Self(2i32);
6484 #[doc = "Optimized for small targets. Use this profile to optimize for markers that are small or for larger markers that need to be detected from afar."]
6485 pub const SMALL_TARGETS: MarkerDetectorProfileML = Self(3i32);
6486 #[doc = "Optimized for FoV. Use this profile to be able to detect markers across a larger FoV. The marker tracker system will attempt to use multiple cameras to detect the markers."]
6487 pub const LARGE_FOV: MarkerDetectorProfileML = Self(4i32);
6488 #[doc = "Custom Tracker Profile. The application can define a custom tracker profile. See XrMarkerDetectorCustomProfileInfoML for more details."]
6489 pub const CUSTOM: MarkerDetectorProfileML = Self(5i32);
6490 pub fn from_raw(x: i32) -> Self {
6491 Self(x)
6492 }
6493 pub fn into_raw(self) -> i32 {
6494 self.0
6495 }
6496}
6497impl fmt::Debug for MarkerDetectorProfileML {
6498 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6499 let name = match *self {
6500 Self::DEFAULT => Some("DEFAULT"),
6501 Self::SPEED => Some("SPEED"),
6502 Self::ACCURACY => Some("ACCURACY"),
6503 Self::SMALL_TARGETS => Some("SMALL_TARGETS"),
6504 Self::LARGE_FOV => Some("LARGE_FOV"),
6505 Self::CUSTOM => Some("CUSTOM"),
6506 _ => None,
6507 };
6508 fmt_enum(fmt, self.0, name)
6509 }
6510}
6511#[doc = "See [XrMarkerTypeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerTypeML)"]
6512#[repr(transparent)]
6513#[derive(Copy, Clone, Eq, PartialEq, Default)]
6514pub struct MarkerTypeML(i32);
6515impl MarkerTypeML {
6516 #[doc = "Aruco Marker detection and localization. The marker id of the Aruco marker is available via xrGetMarkerNumberML."]
6517 pub const ARUCO: MarkerTypeML = Self(0i32);
6518 #[doc = "AprilTag detection and localization. The marker id of the AprilTags is available via xrGetMarkerNumberML."]
6519 pub const APRIL_TAG: MarkerTypeML = Self(1i32);
6520 #[doc = "QR code detection and localization. The contents of the QR code is available via xrGetMarkerStringML."]
6521 pub const QR: MarkerTypeML = Self(2i32);
6522 #[doc = "EAN-13, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6523 pub const EAN_13: MarkerTypeML = Self(3i32);
6524 #[doc = "UPC-A, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6525 pub const UPC_A: MarkerTypeML = Self(4i32);
6526 #[doc = "Code 128, detection only, not locatable. The contents of the barcode is available via xrGetMarkerStringML."]
6527 pub const CODE_128: MarkerTypeML = Self(5i32);
6528 pub fn from_raw(x: i32) -> Self {
6529 Self(x)
6530 }
6531 pub fn into_raw(self) -> i32 {
6532 self.0
6533 }
6534}
6535impl fmt::Debug for MarkerTypeML {
6536 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6537 let name = match *self {
6538 Self::ARUCO => Some("ARUCO"),
6539 Self::APRIL_TAG => Some("APRIL_TAG"),
6540 Self::QR => Some("QR"),
6541 Self::EAN_13 => Some("EAN_13"),
6542 Self::UPC_A => Some("UPC_A"),
6543 Self::CODE_128 => Some("CODE_128"),
6544 _ => None,
6545 };
6546 fmt_enum(fmt, self.0, name)
6547 }
6548}
6549#[doc = "See [XrMarkerArucoDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerArucoDictML)"]
6550#[repr(transparent)]
6551#[derive(Copy, Clone, Eq, PartialEq, Default)]
6552pub struct MarkerArucoDictML(i32);
6553impl MarkerArucoDictML {
6554 #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
6555 pub const DICT_4X4_50: MarkerArucoDictML = Self(0i32);
6556 #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
6557 pub const DICT_4X4_100: MarkerArucoDictML = Self(1i32);
6558 #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
6559 pub const DICT_4X4_250: MarkerArucoDictML = Self(2i32);
6560 #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
6561 pub const DICT_4X4_1000: MarkerArucoDictML = Self(3i32);
6562 #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
6563 pub const DICT_5X5_50: MarkerArucoDictML = Self(4i32);
6564 #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
6565 pub const DICT_5X5_100: MarkerArucoDictML = Self(5i32);
6566 #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
6567 pub const DICT_5X5_250: MarkerArucoDictML = Self(6i32);
6568 #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
6569 pub const DICT_5X5_1000: MarkerArucoDictML = Self(7i32);
6570 #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
6571 pub const DICT_6X6_50: MarkerArucoDictML = Self(8i32);
6572 #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
6573 pub const DICT_6X6_100: MarkerArucoDictML = Self(9i32);
6574 #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
6575 pub const DICT_6X6_250: MarkerArucoDictML = Self(10i32);
6576 #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
6577 pub const DICT_6X6_1000: MarkerArucoDictML = Self(11i32);
6578 #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
6579 pub const DICT_7X7_50: MarkerArucoDictML = Self(12i32);
6580 #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
6581 pub const DICT_7X7_100: MarkerArucoDictML = Self(13i32);
6582 #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
6583 pub const DICT_7X7_250: MarkerArucoDictML = Self(14i32);
6584 #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
6585 pub const DICT_7X7_1000: MarkerArucoDictML = Self(15i32);
6586 pub fn from_raw(x: i32) -> Self {
6587 Self(x)
6588 }
6589 pub fn into_raw(self) -> i32 {
6590 self.0
6591 }
6592}
6593impl fmt::Debug for MarkerArucoDictML {
6594 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6595 let name = match *self {
6596 Self::DICT_4X4_50 => Some("DICT_4X4_50"),
6597 Self::DICT_4X4_100 => Some("DICT_4X4_100"),
6598 Self::DICT_4X4_250 => Some("DICT_4X4_250"),
6599 Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
6600 Self::DICT_5X5_50 => Some("DICT_5X5_50"),
6601 Self::DICT_5X5_100 => Some("DICT_5X5_100"),
6602 Self::DICT_5X5_250 => Some("DICT_5X5_250"),
6603 Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
6604 Self::DICT_6X6_50 => Some("DICT_6X6_50"),
6605 Self::DICT_6X6_100 => Some("DICT_6X6_100"),
6606 Self::DICT_6X6_250 => Some("DICT_6X6_250"),
6607 Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
6608 Self::DICT_7X7_50 => Some("DICT_7X7_50"),
6609 Self::DICT_7X7_100 => Some("DICT_7X7_100"),
6610 Self::DICT_7X7_250 => Some("DICT_7X7_250"),
6611 Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
6612 _ => None,
6613 };
6614 fmt_enum(fmt, self.0, name)
6615 }
6616}
6617#[doc = "See [XrMarkerAprilTagDictML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerAprilTagDictML)"]
6618#[repr(transparent)]
6619#[derive(Copy, Clone, Eq, PartialEq, Default)]
6620pub struct MarkerAprilTagDictML(i32);
6621impl MarkerAprilTagDictML {
6622 #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
6623 pub const DICT_16H5: MarkerAprilTagDictML = Self(0i32);
6624 #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
6625 pub const DICT_25H9: MarkerAprilTagDictML = Self(1i32);
6626 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
6627 pub const DICT_36H10: MarkerAprilTagDictML = Self(2i32);
6628 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
6629 pub const DICT_36H11: MarkerAprilTagDictML = Self(3i32);
6630 pub fn from_raw(x: i32) -> Self {
6631 Self(x)
6632 }
6633 pub fn into_raw(self) -> i32 {
6634 self.0
6635 }
6636}
6637impl fmt::Debug for MarkerAprilTagDictML {
6638 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6639 let name = match *self {
6640 Self::DICT_16H5 => Some("DICT_16H5"),
6641 Self::DICT_25H9 => Some("DICT_25H9"),
6642 Self::DICT_36H10 => Some("DICT_36H10"),
6643 Self::DICT_36H11 => Some("DICT_36H11"),
6644 _ => None,
6645 };
6646 fmt_enum(fmt, self.0, name)
6647 }
6648}
6649#[doc = "See [XrMarkerDetectorFpsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFpsML)"]
6650#[repr(transparent)]
6651#[derive(Copy, Clone, Eq, PartialEq, Default)]
6652pub struct MarkerDetectorFpsML(i32);
6653impl MarkerDetectorFpsML {
6654 #[doc = "Low FPS."]
6655 pub const LOW: MarkerDetectorFpsML = Self(0i32);
6656 #[doc = "Medium FPS."]
6657 pub const MEDIUM: MarkerDetectorFpsML = Self(1i32);
6658 #[doc = "High FPS."]
6659 pub const HIGH: MarkerDetectorFpsML = Self(2i32);
6660 #[doc = "Max possible FPS."]
6661 pub const MAX: MarkerDetectorFpsML = Self(3i32);
6662 pub fn from_raw(x: i32) -> Self {
6663 Self(x)
6664 }
6665 pub fn into_raw(self) -> i32 {
6666 self.0
6667 }
6668}
6669impl fmt::Debug for MarkerDetectorFpsML {
6670 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6671 let name = match *self {
6672 Self::LOW => Some("LOW"),
6673 Self::MEDIUM => Some("MEDIUM"),
6674 Self::HIGH => Some("HIGH"),
6675 Self::MAX => Some("MAX"),
6676 _ => None,
6677 };
6678 fmt_enum(fmt, self.0, name)
6679 }
6680}
6681#[doc = "See [XrMarkerDetectorResolutionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorResolutionML)"]
6682#[repr(transparent)]
6683#[derive(Copy, Clone, Eq, PartialEq, Default)]
6684pub struct MarkerDetectorResolutionML(i32);
6685impl MarkerDetectorResolutionML {
6686 #[doc = "Low Resolution."]
6687 pub const LOW: MarkerDetectorResolutionML = Self(0i32);
6688 #[doc = "Medium Resolution."]
6689 pub const MEDIUM: MarkerDetectorResolutionML = Self(1i32);
6690 #[doc = "High Resolution."]
6691 pub const HIGH: MarkerDetectorResolutionML = Self(2i32);
6692 pub fn from_raw(x: i32) -> Self {
6693 Self(x)
6694 }
6695 pub fn into_raw(self) -> i32 {
6696 self.0
6697 }
6698}
6699impl fmt::Debug for MarkerDetectorResolutionML {
6700 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6701 let name = match *self {
6702 Self::LOW => Some("LOW"),
6703 Self::MEDIUM => Some("MEDIUM"),
6704 Self::HIGH => Some("HIGH"),
6705 _ => None,
6706 };
6707 fmt_enum(fmt, self.0, name)
6708 }
6709}
6710#[doc = "See [XrMarkerDetectorCameraML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCameraML)"]
6711#[repr(transparent)]
6712#[derive(Copy, Clone, Eq, PartialEq, Default)]
6713pub struct MarkerDetectorCameraML(i32);
6714impl MarkerDetectorCameraML {
6715 #[doc = "Single RGB camera."]
6716 pub const RGB_CAMERA: MarkerDetectorCameraML = Self(0i32);
6717 #[doc = "One or more world cameras."]
6718 pub const WORLD_CAMERAS: MarkerDetectorCameraML = Self(1i32);
6719 pub fn from_raw(x: i32) -> Self {
6720 Self(x)
6721 }
6722 pub fn into_raw(self) -> i32 {
6723 self.0
6724 }
6725}
6726impl fmt::Debug for MarkerDetectorCameraML {
6727 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6728 let name = match *self {
6729 Self::RGB_CAMERA => Some("RGB_CAMERA"),
6730 Self::WORLD_CAMERAS => Some("WORLD_CAMERAS"),
6731 _ => None,
6732 };
6733 fmt_enum(fmt, self.0, name)
6734 }
6735}
6736#[doc = "See [XrMarkerDetectorCornerRefineMethodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCornerRefineMethodML)"]
6737#[repr(transparent)]
6738#[derive(Copy, Clone, Eq, PartialEq, Default)]
6739pub struct MarkerDetectorCornerRefineMethodML(i32);
6740impl MarkerDetectorCornerRefineMethodML {
6741 #[doc = "No refinement. Inaccurate corners."]
6742 pub const NONE: MarkerDetectorCornerRefineMethodML = Self(0i32);
6743 #[doc = "Subpixel refinement. Corners have subpixel coordinates. High detection rate, very fast, reasonable accuracy."]
6744 pub const SUBPIX: MarkerDetectorCornerRefineMethodML = Self(1i32);
6745 #[doc = "Contour refinement. High detection rate, fast, reasonable accuracy."]
6746 pub const CONTOUR: MarkerDetectorCornerRefineMethodML = Self(2i32);
6747 #[doc = "AprilTag refinement. Reasonable detection rate, slowest, but very accurate. Only valid with AprilTags."]
6748 pub const APRIL_TAG: MarkerDetectorCornerRefineMethodML = Self(3i32);
6749 pub fn from_raw(x: i32) -> Self {
6750 Self(x)
6751 }
6752 pub fn into_raw(self) -> i32 {
6753 self.0
6754 }
6755}
6756impl fmt::Debug for MarkerDetectorCornerRefineMethodML {
6757 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6758 let name = match *self {
6759 Self::NONE => Some("NONE"),
6760 Self::SUBPIX => Some("SUBPIX"),
6761 Self::CONTOUR => Some("CONTOUR"),
6762 Self::APRIL_TAG => Some("APRIL_TAG"),
6763 _ => None,
6764 };
6765 fmt_enum(fmt, self.0, name)
6766 }
6767}
6768#[doc = "See [XrMarkerDetectorFullAnalysisIntervalML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorFullAnalysisIntervalML)"]
6769#[repr(transparent)]
6770#[derive(Copy, Clone, Eq, PartialEq, Default)]
6771pub struct MarkerDetectorFullAnalysisIntervalML(i32);
6772impl MarkerDetectorFullAnalysisIntervalML {
6773 #[doc = "Detector analyzes every frame fully."]
6774 pub const MAX: MarkerDetectorFullAnalysisIntervalML = Self(0i32);
6775 #[doc = "Detector analyzes frame fully very often."]
6776 pub const FAST: MarkerDetectorFullAnalysisIntervalML = Self(1i32);
6777 #[doc = "Detector analyzes frame fully a few times per second."]
6778 pub const MEDIUM: MarkerDetectorFullAnalysisIntervalML = Self(2i32);
6779 #[doc = "Detector analyzes frame fully about every second."]
6780 pub const SLOW: MarkerDetectorFullAnalysisIntervalML = Self(3i32);
6781 pub fn from_raw(x: i32) -> Self {
6782 Self(x)
6783 }
6784 pub fn into_raw(self) -> i32 {
6785 self.0
6786 }
6787}
6788impl fmt::Debug for MarkerDetectorFullAnalysisIntervalML {
6789 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6790 let name = match *self {
6791 Self::MAX => Some("MAX"),
6792 Self::FAST => Some("FAST"),
6793 Self::MEDIUM => Some("MEDIUM"),
6794 Self::SLOW => Some("SLOW"),
6795 _ => None,
6796 };
6797 fmt_enum(fmt, self.0, name)
6798 }
6799}
6800#[doc = "See [XrMarkerDetectorStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorStatusML)"]
6801#[repr(transparent)]
6802#[derive(Copy, Clone, Eq, PartialEq, Default)]
6803pub struct MarkerDetectorStatusML(i32);
6804impl MarkerDetectorStatusML {
6805 #[doc = "The marker detector is working on a new snapshot."]
6806 pub const PENDING: MarkerDetectorStatusML = Self(0i32);
6807 #[doc = "The marker detector is ready to be inspected."]
6808 pub const READY: MarkerDetectorStatusML = Self(1i32);
6809 #[doc = "The marker detector has encountered a fatal error."]
6810 pub const ERROR: MarkerDetectorStatusML = Self(2i32);
6811 pub fn from_raw(x: i32) -> Self {
6812 Self(x)
6813 }
6814 pub fn into_raw(self) -> i32 {
6815 self.0
6816 }
6817}
6818impl fmt::Debug for MarkerDetectorStatusML {
6819 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6820 let name = match *self {
6821 Self::PENDING => Some("PENDING"),
6822 Self::READY => Some("READY"),
6823 Self::ERROR => Some("ERROR"),
6824 _ => None,
6825 };
6826 fmt_enum(fmt, self.0, name)
6827 }
6828}
6829#[doc = "Each facial blend shape describes an area/region of a face. - see [XrFacialBlendShapeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialBlendShapeML)"]
6830#[repr(transparent)]
6831#[derive(Copy, Clone, Eq, PartialEq, Default)]
6832pub struct FacialBlendShapeML(i32);
6833impl FacialBlendShapeML {
6834 pub const BROW_LOWERER_L: FacialBlendShapeML = Self(0i32);
6835 pub const BROW_LOWERER_R: FacialBlendShapeML = Self(1i32);
6836 pub const CHEEK_RAISER_L: FacialBlendShapeML = Self(2i32);
6837 pub const CHEEK_RAISER_R: FacialBlendShapeML = Self(3i32);
6838 pub const CHIN_RAISER: FacialBlendShapeML = Self(4i32);
6839 pub const DIMPLER_L: FacialBlendShapeML = Self(5i32);
6840 pub const DIMPLER_R: FacialBlendShapeML = Self(6i32);
6841 pub const EYES_CLOSED_L: FacialBlendShapeML = Self(7i32);
6842 pub const EYES_CLOSED_R: FacialBlendShapeML = Self(8i32);
6843 pub const INNER_BROW_RAISER_L: FacialBlendShapeML = Self(9i32);
6844 pub const INNER_BROW_RAISER_R: FacialBlendShapeML = Self(10i32);
6845 pub const JAW_DROP: FacialBlendShapeML = Self(11i32);
6846 pub const LID_TIGHTENER_L: FacialBlendShapeML = Self(12i32);
6847 pub const LID_TIGHTENER_R: FacialBlendShapeML = Self(13i32);
6848 pub const LIP_CORNER_DEPRESSOR_L: FacialBlendShapeML = Self(14i32);
6849 pub const LIP_CORNER_DEPRESSOR_R: FacialBlendShapeML = Self(15i32);
6850 pub const LIP_CORNER_PULLER_L: FacialBlendShapeML = Self(16i32);
6851 pub const LIP_CORNER_PULLER_R: FacialBlendShapeML = Self(17i32);
6852 pub const LIP_FUNNELER_LB: FacialBlendShapeML = Self(18i32);
6853 pub const LIP_FUNNELER_LT: FacialBlendShapeML = Self(19i32);
6854 pub const LIP_FUNNELER_RB: FacialBlendShapeML = Self(20i32);
6855 pub const LIP_FUNNELER_RT: FacialBlendShapeML = Self(21i32);
6856 pub const LIP_PRESSOR_L: FacialBlendShapeML = Self(22i32);
6857 pub const LIP_PRESSOR_R: FacialBlendShapeML = Self(23i32);
6858 pub const LIP_PUCKER_L: FacialBlendShapeML = Self(24i32);
6859 pub const LIP_PUCKER_R: FacialBlendShapeML = Self(25i32);
6860 pub const LIP_STRETCHER_L: FacialBlendShapeML = Self(26i32);
6861 pub const LIP_STRETCHER_R: FacialBlendShapeML = Self(27i32);
6862 pub const LIP_SUCK_LB: FacialBlendShapeML = Self(28i32);
6863 pub const LIP_SUCK_LT: FacialBlendShapeML = Self(29i32);
6864 pub const LIP_SUCK_RB: FacialBlendShapeML = Self(30i32);
6865 pub const LIP_SUCK_RT: FacialBlendShapeML = Self(31i32);
6866 pub const LIP_TIGHTENER_L: FacialBlendShapeML = Self(32i32);
6867 pub const LIP_TIGHTENER_R: FacialBlendShapeML = Self(33i32);
6868 pub const LIPS_TOWARD: FacialBlendShapeML = Self(34i32);
6869 pub const LOWER_LIP_DEPRESSOR_L: FacialBlendShapeML = Self(35i32);
6870 pub const LOWER_LIP_DEPRESSOR_R: FacialBlendShapeML = Self(36i32);
6871 pub const NOSE_WRINKLER_L: FacialBlendShapeML = Self(37i32);
6872 pub const NOSE_WRINKLER_R: FacialBlendShapeML = Self(38i32);
6873 pub const OUTER_BROW_RAISER_L: FacialBlendShapeML = Self(39i32);
6874 pub const OUTER_BROW_RAISER_R: FacialBlendShapeML = Self(40i32);
6875 pub const UPPER_LID_RAISER_L: FacialBlendShapeML = Self(41i32);
6876 pub const UPPER_LID_RAISER_R: FacialBlendShapeML = Self(42i32);
6877 pub const UPPER_LIP_RAISER_L: FacialBlendShapeML = Self(43i32);
6878 pub const UPPER_LIP_RAISER_R: FacialBlendShapeML = Self(44i32);
6879 pub const TONGUE_OUT: FacialBlendShapeML = Self(45i32);
6880 pub fn from_raw(x: i32) -> Self {
6881 Self(x)
6882 }
6883 pub fn into_raw(self) -> i32 {
6884 self.0
6885 }
6886}
6887impl fmt::Debug for FacialBlendShapeML {
6888 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6889 let name = match *self {
6890 Self::BROW_LOWERER_L => Some("BROW_LOWERER_L"),
6891 Self::BROW_LOWERER_R => Some("BROW_LOWERER_R"),
6892 Self::CHEEK_RAISER_L => Some("CHEEK_RAISER_L"),
6893 Self::CHEEK_RAISER_R => Some("CHEEK_RAISER_R"),
6894 Self::CHIN_RAISER => Some("CHIN_RAISER"),
6895 Self::DIMPLER_L => Some("DIMPLER_L"),
6896 Self::DIMPLER_R => Some("DIMPLER_R"),
6897 Self::EYES_CLOSED_L => Some("EYES_CLOSED_L"),
6898 Self::EYES_CLOSED_R => Some("EYES_CLOSED_R"),
6899 Self::INNER_BROW_RAISER_L => Some("INNER_BROW_RAISER_L"),
6900 Self::INNER_BROW_RAISER_R => Some("INNER_BROW_RAISER_R"),
6901 Self::JAW_DROP => Some("JAW_DROP"),
6902 Self::LID_TIGHTENER_L => Some("LID_TIGHTENER_L"),
6903 Self::LID_TIGHTENER_R => Some("LID_TIGHTENER_R"),
6904 Self::LIP_CORNER_DEPRESSOR_L => Some("LIP_CORNER_DEPRESSOR_L"),
6905 Self::LIP_CORNER_DEPRESSOR_R => Some("LIP_CORNER_DEPRESSOR_R"),
6906 Self::LIP_CORNER_PULLER_L => Some("LIP_CORNER_PULLER_L"),
6907 Self::LIP_CORNER_PULLER_R => Some("LIP_CORNER_PULLER_R"),
6908 Self::LIP_FUNNELER_LB => Some("LIP_FUNNELER_LB"),
6909 Self::LIP_FUNNELER_LT => Some("LIP_FUNNELER_LT"),
6910 Self::LIP_FUNNELER_RB => Some("LIP_FUNNELER_RB"),
6911 Self::LIP_FUNNELER_RT => Some("LIP_FUNNELER_RT"),
6912 Self::LIP_PRESSOR_L => Some("LIP_PRESSOR_L"),
6913 Self::LIP_PRESSOR_R => Some("LIP_PRESSOR_R"),
6914 Self::LIP_PUCKER_L => Some("LIP_PUCKER_L"),
6915 Self::LIP_PUCKER_R => Some("LIP_PUCKER_R"),
6916 Self::LIP_STRETCHER_L => Some("LIP_STRETCHER_L"),
6917 Self::LIP_STRETCHER_R => Some("LIP_STRETCHER_R"),
6918 Self::LIP_SUCK_LB => Some("LIP_SUCK_LB"),
6919 Self::LIP_SUCK_LT => Some("LIP_SUCK_LT"),
6920 Self::LIP_SUCK_RB => Some("LIP_SUCK_RB"),
6921 Self::LIP_SUCK_RT => Some("LIP_SUCK_RT"),
6922 Self::LIP_TIGHTENER_L => Some("LIP_TIGHTENER_L"),
6923 Self::LIP_TIGHTENER_R => Some("LIP_TIGHTENER_R"),
6924 Self::LIPS_TOWARD => Some("LIPS_TOWARD"),
6925 Self::LOWER_LIP_DEPRESSOR_L => Some("LOWER_LIP_DEPRESSOR_L"),
6926 Self::LOWER_LIP_DEPRESSOR_R => Some("LOWER_LIP_DEPRESSOR_R"),
6927 Self::NOSE_WRINKLER_L => Some("NOSE_WRINKLER_L"),
6928 Self::NOSE_WRINKLER_R => Some("NOSE_WRINKLER_R"),
6929 Self::OUTER_BROW_RAISER_L => Some("OUTER_BROW_RAISER_L"),
6930 Self::OUTER_BROW_RAISER_R => Some("OUTER_BROW_RAISER_R"),
6931 Self::UPPER_LID_RAISER_L => Some("UPPER_LID_RAISER_L"),
6932 Self::UPPER_LID_RAISER_R => Some("UPPER_LID_RAISER_R"),
6933 Self::UPPER_LIP_RAISER_L => Some("UPPER_LIP_RAISER_L"),
6934 Self::UPPER_LIP_RAISER_R => Some("UPPER_LIP_RAISER_R"),
6935 Self::TONGUE_OUT => Some("TONGUE_OUT"),
6936 _ => None,
6937 };
6938 fmt_enum(fmt, self.0, name)
6939 }
6940}
6941#[doc = "See [XrFutureStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureStateEXT)"]
6942#[repr(transparent)]
6943#[derive(Copy, Clone, Eq, PartialEq)]
6944pub struct FutureStateEXT(i32);
6945impl FutureStateEXT {
6946 pub const PENDING: FutureStateEXT = Self(1i32);
6947 pub const READY: FutureStateEXT = Self(2i32);
6948 pub fn from_raw(x: i32) -> Self {
6949 Self(x)
6950 }
6951 pub fn into_raw(self) -> i32 {
6952 self.0
6953 }
6954}
6955impl fmt::Debug for FutureStateEXT {
6956 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6957 let name = match *self {
6958 Self::PENDING => Some("PENDING"),
6959 Self::READY => Some("READY"),
6960 _ => None,
6961 };
6962 fmt_enum(fmt, self.0, name)
6963 }
6964}
6965#[doc = "See [XrSpatialCapabilityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityEXT)"]
6966#[repr(transparent)]
6967#[derive(Copy, Clone, Eq, PartialEq)]
6968pub struct SpatialCapabilityEXT(i32);
6969impl SpatialCapabilityEXT {
6970 #[doc = "Plane tracking"]
6971 pub const PLANE_TRACKING: SpatialCapabilityEXT = Self(1000741000i32);
6972 #[doc = "Capability to be able to detect and track QR codes."]
6973 pub const MARKER_TRACKING_QR_CODE: SpatialCapabilityEXT = Self(1000743000i32);
6974 #[doc = "Capability to be able to detect and track Micro QR codes."]
6975 pub const MARKER_TRACKING_MICRO_QR_CODE: SpatialCapabilityEXT = Self(1000743001i32);
6976 #[doc = "Capability to be able to detect and track Aruco Markers."]
6977 pub const MARKER_TRACKING_ARUCO_MARKER: SpatialCapabilityEXT = Self(1000743002i32);
6978 #[doc = "Capability to be able to detect and track AprilTags."]
6979 pub const MARKER_TRACKING_APRIL_TAG: SpatialCapabilityEXT = Self(1000743003i32);
6980 #[doc = "Capability to be able to create spatial anchors"]
6981 pub const ANCHOR: SpatialCapabilityEXT = Self(1000762000i32);
6982 #[doc = "Object tracking"]
6983 pub const OBJECT_TRACKING_AND: SpatialCapabilityEXT = Self(1000785000i32);
6984 #[doc = "Raycast against depth buffer"]
6985 pub const DEPTH_RAYCAST_AND: SpatialCapabilityEXT = Self(1000786000i32);
6986 pub fn from_raw(x: i32) -> Self {
6987 Self(x)
6988 }
6989 pub fn into_raw(self) -> i32 {
6990 self.0
6991 }
6992}
6993impl fmt::Debug for SpatialCapabilityEXT {
6994 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
6995 let name = match *self {
6996 Self::PLANE_TRACKING => Some("PLANE_TRACKING"),
6997 Self::MARKER_TRACKING_QR_CODE => Some("MARKER_TRACKING_QR_CODE"),
6998 Self::MARKER_TRACKING_MICRO_QR_CODE => Some("MARKER_TRACKING_MICRO_QR_CODE"),
6999 Self::MARKER_TRACKING_ARUCO_MARKER => Some("MARKER_TRACKING_ARUCO_MARKER"),
7000 Self::MARKER_TRACKING_APRIL_TAG => Some("MARKER_TRACKING_APRIL_TAG"),
7001 Self::ANCHOR => Some("ANCHOR"),
7002 Self::OBJECT_TRACKING_AND => Some("OBJECT_TRACKING_AND"),
7003 Self::DEPTH_RAYCAST_AND => Some("DEPTH_RAYCAST_AND"),
7004 _ => None,
7005 };
7006 fmt_enum(fmt, self.0, name)
7007 }
7008}
7009#[doc = "See [XrSpatialCapabilityFeatureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityFeatureEXT)"]
7010#[repr(transparent)]
7011#[derive(Copy, Clone, Eq, PartialEq)]
7012pub struct SpatialCapabilityFeatureEXT(i32);
7013impl SpatialCapabilityFeatureEXT {
7014 #[doc = "Capability feature to allow applications to specify the size for the markers. Corresponding config structure is XrSpatialMarkerSizeEXT"]
7015 pub const MARKER_TRACKING_FIXED_SIZE_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743000i32);
7016 #[doc = "Capability feature to allow applications to specify if markers are static. Corresponding config structure is XrSpatialMarkerStaticOptimizationEXT"]
7017 pub const MARKER_TRACKING_STATIC_MARKERS: SpatialCapabilityFeatureEXT = Self(1000743001i32);
7018 pub fn from_raw(x: i32) -> Self {
7019 Self(x)
7020 }
7021 pub fn into_raw(self) -> i32 {
7022 self.0
7023 }
7024}
7025impl fmt::Debug for SpatialCapabilityFeatureEXT {
7026 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7027 let name = match *self {
7028 Self::MARKER_TRACKING_FIXED_SIZE_MARKERS => Some("MARKER_TRACKING_FIXED_SIZE_MARKERS"),
7029 Self::MARKER_TRACKING_STATIC_MARKERS => Some("MARKER_TRACKING_STATIC_MARKERS"),
7030 _ => None,
7031 };
7032 fmt_enum(fmt, self.0, name)
7033 }
7034}
7035#[doc = "See [XrSpatialComponentTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentTypeEXT)"]
7036#[repr(transparent)]
7037#[derive(Copy, Clone, Eq, PartialEq)]
7038pub struct SpatialComponentTypeEXT(i32);
7039impl SpatialComponentTypeEXT {
7040 #[doc = "Component that provides the 2D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded2DListEXT; Corresponding data structure is XrSpatialBounded2DDataEXT"]
7041 pub const BOUNDED_2D: SpatialComponentTypeEXT = Self(1i32);
7042 #[doc = "Component that provides the 3D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded3DListEXT; Corresponding data structure is XrBoxf"]
7043 pub const BOUNDED_3D: SpatialComponentTypeEXT = Self(2i32);
7044 #[doc = "Component that provides the XrSpatialEntityIdEXT of the parent for a spatial entity. Corresponding list structure is XrSpatialComponentParentListEXT; Corresponding data structure is XrSpatialEntityIdEXT"]
7045 pub const PARENT: SpatialComponentTypeEXT = Self(3i32);
7046 #[doc = "Component that provides a 3D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh3DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
7047 pub const MESH_3D: SpatialComponentTypeEXT = Self(4i32);
7048 #[doc = "Component that provides the plane alignment enum for a spatial entity. Corresponding list structure is XrSpatialComponentPlaneAlignmentListEXT; Corresponding data structure is XrSpatialPlaneAlignmentEXT"]
7049 pub const PLANE_ALIGNMENT: SpatialComponentTypeEXT = Self(1000741000i32);
7050 #[doc = "Component that provides a 2D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh2DListEXT; Corresponding data structure is XrSpatialMeshDataEXT"]
7051 pub const MESH_2D: SpatialComponentTypeEXT = Self(1000741001i32);
7052 #[doc = "Component that provides a 2D boundary polygon for a spatial entity. Corresponding list structure is XrSpatialComponentPolygon2DListEXT; Corresponding data structure is XrSpatialPolygon2DDataEXT"]
7053 pub const POLYGON_2D: SpatialComponentTypeEXT = Self(1000741002i32);
7054 #[doc = "Component that provides a semantic label for a plane. Corresponding list structure is XrSpatialComponentPlaneSemanticLabelListEXT; Corresponding data structure is XrSpatialPlaneSemanticLabelEXT"]
7055 pub const PLANE_SEMANTIC_LABEL: SpatialComponentTypeEXT = Self(1000741003i32);
7056 #[doc = "A component describing the marker type, id and location. Corresponding list structure is XrSpatialComponentMarkerListEXT; Corresponding data structure is XrSpatialMarkerDataEXT"]
7057 pub const MARKER: SpatialComponentTypeEXT = Self(1000743000i32);
7058 #[doc = "Component that provides the location for an anchor. Corresponding list structure is XrSpatialComponentAnchorListEXT; Corresponding data structure is XrPosef"]
7059 pub const ANCHOR: SpatialComponentTypeEXT = Self(1000762000i32);
7060 #[doc = "Component that provides the persisted UUID for a spatial entity. Corresponding list structure is XrSpatialComponentPersistenceListEXT; Corresponding data structure is XrSpatialPersistenceDataEXT"]
7061 pub const PERSISTENCE: SpatialComponentTypeEXT = Self(1000763000i32);
7062 #[doc = "Component that provides a semantic label for a object; Corresponding list structure is XrSpatialComponentObjectSemanticLabelListANDROID; Corresponding data structure is XrSpatialObjectSemanticLabelANDROID"]
7063 pub const OBJECT_SEMANTIC_LABEL_AND: SpatialComponentTypeEXT = Self(1000785000i32);
7064 #[doc = "Component that provides the pose of a raycast hit on an entity. Corresponding list structure is XrSpatialComponentRaycastResultListANDROID; Corresponding data structure is XrSpatialRaycastResultDataANDROID"]
7065 pub const RAYCAST_RESULT_AND: SpatialComponentTypeEXT = Self(1000786000i32);
7066 #[doc = "Component that provides entity ID of the entity subsuming the attached entity. Corresponding list structure is XrSpatialComponentSubsumedByListANDROID; Corresponding data structure is XrSpatialEntityIdEXT"]
7067 pub const SUBSUMED_BY_AND: SpatialComponentTypeEXT = Self(1000791000i32);
7068 pub fn from_raw(x: i32) -> Self {
7069 Self(x)
7070 }
7071 pub fn into_raw(self) -> i32 {
7072 self.0
7073 }
7074}
7075impl fmt::Debug for SpatialComponentTypeEXT {
7076 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7077 let name = match *self {
7078 Self::BOUNDED_2D => Some("BOUNDED_2D"),
7079 Self::BOUNDED_3D => Some("BOUNDED_3D"),
7080 Self::PARENT => Some("PARENT"),
7081 Self::MESH_3D => Some("MESH_3D"),
7082 Self::PLANE_ALIGNMENT => Some("PLANE_ALIGNMENT"),
7083 Self::MESH_2D => Some("MESH_2D"),
7084 Self::POLYGON_2D => Some("POLYGON_2D"),
7085 Self::PLANE_SEMANTIC_LABEL => Some("PLANE_SEMANTIC_LABEL"),
7086 Self::MARKER => Some("MARKER"),
7087 Self::ANCHOR => Some("ANCHOR"),
7088 Self::PERSISTENCE => Some("PERSISTENCE"),
7089 Self::OBJECT_SEMANTIC_LABEL_AND => Some("OBJECT_SEMANTIC_LABEL_AND"),
7090 Self::RAYCAST_RESULT_AND => Some("RAYCAST_RESULT_AND"),
7091 Self::SUBSUMED_BY_AND => Some("SUBSUMED_BY_AND"),
7092 _ => None,
7093 };
7094 fmt_enum(fmt, self.0, name)
7095 }
7096}
7097#[doc = "See [XrSpatialEntityTrackingStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityTrackingStateEXT)"]
7098#[repr(transparent)]
7099#[derive(Copy, Clone, Eq, PartialEq)]
7100pub struct SpatialEntityTrackingStateEXT(i32);
7101impl SpatialEntityTrackingStateEXT {
7102 #[doc = "The runtime has stopped tracking this entity and will never resume tracking it."]
7103 pub const STOPPED: SpatialEntityTrackingStateEXT = Self(1i32);
7104 #[doc = "The runtime has paused tracking this entity but may: resume tracking it in the future."]
7105 pub const PAUSED: SpatialEntityTrackingStateEXT = Self(2i32);
7106 #[doc = "The runtime is currently tracking this entity and its component data is valid."]
7107 pub const TRACKING: SpatialEntityTrackingStateEXT = Self(3i32);
7108 pub fn from_raw(x: i32) -> Self {
7109 Self(x)
7110 }
7111 pub fn into_raw(self) -> i32 {
7112 self.0
7113 }
7114}
7115impl fmt::Debug for SpatialEntityTrackingStateEXT {
7116 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7117 let name = match *self {
7118 Self::STOPPED => Some("STOPPED"),
7119 Self::PAUSED => Some("PAUSED"),
7120 Self::TRACKING => Some("TRACKING"),
7121 _ => None,
7122 };
7123 fmt_enum(fmt, self.0, name)
7124 }
7125}
7126#[doc = "See [XrSpatialBufferTypeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferTypeEXT)"]
7127#[repr(transparent)]
7128#[derive(Copy, Clone, Eq, PartialEq, Default)]
7129pub struct SpatialBufferTypeEXT(i32);
7130impl SpatialBufferTypeEXT {
7131 pub const UNKNOWN: SpatialBufferTypeEXT = Self(0i32);
7132 pub const STRING: SpatialBufferTypeEXT = Self(1i32);
7133 pub const UINT8: SpatialBufferTypeEXT = Self(2i32);
7134 pub const UINT16: SpatialBufferTypeEXT = Self(3i32);
7135 pub const UINT32: SpatialBufferTypeEXT = Self(4i32);
7136 pub const FLOAT: SpatialBufferTypeEXT = Self(5i32);
7137 pub const VECTOR2F: SpatialBufferTypeEXT = Self(6i32);
7138 pub const VECTOR3F: SpatialBufferTypeEXT = Self(7i32);
7139 pub fn from_raw(x: i32) -> Self {
7140 Self(x)
7141 }
7142 pub fn into_raw(self) -> i32 {
7143 self.0
7144 }
7145}
7146impl fmt::Debug for SpatialBufferTypeEXT {
7147 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7148 let name = match *self {
7149 Self::UNKNOWN => Some("UNKNOWN"),
7150 Self::STRING => Some("STRING"),
7151 Self::UINT8 => Some("UINT8"),
7152 Self::UINT16 => Some("UINT16"),
7153 Self::UINT32 => Some("UINT32"),
7154 Self::FLOAT => Some("FLOAT"),
7155 Self::VECTOR2F => Some("VECTOR2F"),
7156 Self::VECTOR3F => Some("VECTOR3F"),
7157 _ => None,
7158 };
7159 fmt_enum(fmt, self.0, name)
7160 }
7161}
7162#[doc = "See [XrSpatialPersistenceScopeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceScopeEXT)"]
7163#[repr(transparent)]
7164#[derive(Copy, Clone, Eq, PartialEq)]
7165pub struct SpatialPersistenceScopeEXT(i32);
7166impl SpatialPersistenceScopeEXT {
7167 #[doc = "Provides the application with read-only access (i.e. application cannot modify the store associated with this scope) to spatial entities persisted and managed by the system. The application can: use the UUID in the persistence component for this scope to correlate entities across spatial contexts and device reboots."]
7168 pub const SYSTEM_MANAGED: SpatialPersistenceScopeEXT = Self(1i32);
7169 #[doc = "Persistence operations and data access is limited to spatial anchors, on the same device, for the same user and same app"]
7170 pub const LOCAL_ANCHORS: SpatialPersistenceScopeEXT = Self(1000781000i32);
7171 pub fn from_raw(x: i32) -> Self {
7172 Self(x)
7173 }
7174 pub fn into_raw(self) -> i32 {
7175 self.0
7176 }
7177}
7178impl fmt::Debug for SpatialPersistenceScopeEXT {
7179 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7180 let name = match *self {
7181 Self::SYSTEM_MANAGED => Some("SYSTEM_MANAGED"),
7182 Self::LOCAL_ANCHORS => Some("LOCAL_ANCHORS"),
7183 _ => None,
7184 };
7185 fmt_enum(fmt, self.0, name)
7186 }
7187}
7188#[doc = "See [XrSpatialPersistenceContextResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextResultEXT)"]
7189#[repr(transparent)]
7190#[derive(Copy, Clone, Eq, PartialEq, Default)]
7191pub struct SpatialPersistenceContextResultEXT(i32);
7192impl SpatialPersistenceContextResultEXT {
7193 #[doc = "The persistence context operation was a success."]
7194 pub const SUCCESS: SpatialPersistenceContextResultEXT = Self(0i32);
7195 #[doc = "The persistence operation failed because the entity could not be tracked by the runtime."]
7196 pub const ENTITY_NOT_TRACKING: SpatialPersistenceContextResultEXT = Self(-1000781001i32);
7197 #[doc = "The provided persist UUID was not found in the storage."]
7198 pub const PERSIST_UUID_NOT_FOUND: SpatialPersistenceContextResultEXT = Self(-1000781002i32);
7199 pub fn from_raw(x: i32) -> Self {
7200 Self(x)
7201 }
7202 pub fn into_raw(self) -> i32 {
7203 self.0
7204 }
7205}
7206impl fmt::Debug for SpatialPersistenceContextResultEXT {
7207 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7208 let name = match *self {
7209 Self::SUCCESS => Some("SUCCESS"),
7210 Self::ENTITY_NOT_TRACKING => Some("ENTITY_NOT_TRACKING"),
7211 Self::PERSIST_UUID_NOT_FOUND => Some("PERSIST_UUID_NOT_FOUND"),
7212 _ => None,
7213 };
7214 fmt_enum(fmt, self.0, name)
7215 }
7216}
7217#[doc = "See [XrSpatialPersistenceStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceStateEXT)"]
7218#[repr(transparent)]
7219#[derive(Copy, Clone, Eq, PartialEq)]
7220pub struct SpatialPersistenceStateEXT(i32);
7221impl SpatialPersistenceStateEXT {
7222 #[doc = "The persisted UUID has been successfully loaded from the storage."]
7223 pub const LOADED: SpatialPersistenceStateEXT = Self(1i32);
7224 #[doc = "The persisted UUID was not found in the storage and was either removed from it or never was in it."]
7225 pub const NOT_FOUND: SpatialPersistenceStateEXT = Self(2i32);
7226 pub fn from_raw(x: i32) -> Self {
7227 Self(x)
7228 }
7229 pub fn into_raw(self) -> i32 {
7230 self.0
7231 }
7232}
7233impl fmt::Debug for SpatialPersistenceStateEXT {
7234 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7235 let name = match *self {
7236 Self::LOADED => Some("LOADED"),
7237 Self::NOT_FOUND => Some("NOT_FOUND"),
7238 _ => None,
7239 };
7240 fmt_enum(fmt, self.0, name)
7241 }
7242}
7243#[doc = "See [XrSpatialPlaneAlignmentEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneAlignmentEXT)"]
7244#[repr(transparent)]
7245#[derive(Copy, Clone, Eq, PartialEq, Default)]
7246pub struct SpatialPlaneAlignmentEXT(i32);
7247impl SpatialPlaneAlignmentEXT {
7248 #[doc = "The entity is horizontal and faces upward (e.g. floor)."]
7249 pub const HORIZONTAL_UPWARD: SpatialPlaneAlignmentEXT = Self(0i32);
7250 #[doc = "The entity is horizontal and faces downward (e.g. ceiling)."]
7251 pub const HORIZONTAL_DOWNWARD: SpatialPlaneAlignmentEXT = Self(1i32);
7252 #[doc = "The entity is vertical (e.g. wall)."]
7253 pub const VERTICAL: SpatialPlaneAlignmentEXT = Self(2i32);
7254 #[doc = "The entity has an arbitrary, non-vertical and non-horizontal orientation."]
7255 pub const ARBITRARY: SpatialPlaneAlignmentEXT = Self(3i32);
7256 pub fn from_raw(x: i32) -> Self {
7257 Self(x)
7258 }
7259 pub fn into_raw(self) -> i32 {
7260 self.0
7261 }
7262}
7263impl fmt::Debug for SpatialPlaneAlignmentEXT {
7264 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7265 let name = match *self {
7266 Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
7267 Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
7268 Self::VERTICAL => Some("VERTICAL"),
7269 Self::ARBITRARY => Some("ARBITRARY"),
7270 _ => None,
7271 };
7272 fmt_enum(fmt, self.0, name)
7273 }
7274}
7275#[doc = "See [XrSpatialPlaneSemanticLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPlaneSemanticLabelEXT)"]
7276#[repr(transparent)]
7277#[derive(Copy, Clone, Eq, PartialEq)]
7278pub struct SpatialPlaneSemanticLabelEXT(i32);
7279impl SpatialPlaneSemanticLabelEXT {
7280 #[doc = "The runtime was unable to classify this entity."]
7281 pub const UNCATEGORIZED: SpatialPlaneSemanticLabelEXT = Self(1i32);
7282 #[doc = "The entity is a floor."]
7283 pub const FLOOR: SpatialPlaneSemanticLabelEXT = Self(2i32);
7284 #[doc = "The entity is a wall."]
7285 pub const WALL: SpatialPlaneSemanticLabelEXT = Self(3i32);
7286 #[doc = "The entity is a ceiling."]
7287 pub const CEILING: SpatialPlaneSemanticLabelEXT = Self(4i32);
7288 #[doc = "The entity is a table."]
7289 pub const TABLE: SpatialPlaneSemanticLabelEXT = Self(5i32);
7290 pub fn from_raw(x: i32) -> Self {
7291 Self(x)
7292 }
7293 pub fn into_raw(self) -> i32 {
7294 self.0
7295 }
7296}
7297impl fmt::Debug for SpatialPlaneSemanticLabelEXT {
7298 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7299 let name = match *self {
7300 Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
7301 Self::FLOOR => Some("FLOOR"),
7302 Self::WALL => Some("WALL"),
7303 Self::CEILING => Some("CEILING"),
7304 Self::TABLE => Some("TABLE"),
7305 _ => None,
7306 };
7307 fmt_enum(fmt, self.0, name)
7308 }
7309}
7310#[doc = "See [XrBodyJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointHTC)"]
7311#[repr(transparent)]
7312#[derive(Copy, Clone, Eq, PartialEq, Default)]
7313pub struct BodyJointHTC(i32);
7314impl BodyJointHTC {
7315 pub const PELVIS: BodyJointHTC = Self(0i32);
7316 pub const LEFT_HIP: BodyJointHTC = Self(1i32);
7317 pub const LEFT_KNEE: BodyJointHTC = Self(2i32);
7318 pub const LEFT_ANKLE: BodyJointHTC = Self(3i32);
7319 pub const LEFT_FEET: BodyJointHTC = Self(4i32);
7320 pub const RIGHT_HIP: BodyJointHTC = Self(5i32);
7321 pub const RIGHT_KNEE: BodyJointHTC = Self(6i32);
7322 pub const RIGHT_ANKLE: BodyJointHTC = Self(7i32);
7323 pub const RIGHT_FEET: BodyJointHTC = Self(8i32);
7324 pub const WAIST: BodyJointHTC = Self(9i32);
7325 pub const SPINE_LOWER: BodyJointHTC = Self(10i32);
7326 pub const SPINE_MIDDLE: BodyJointHTC = Self(11i32);
7327 pub const SPINE_HIGH: BodyJointHTC = Self(12i32);
7328 pub const CHEST: BodyJointHTC = Self(13i32);
7329 pub const NECK: BodyJointHTC = Self(14i32);
7330 pub const HEAD: BodyJointHTC = Self(15i32);
7331 pub const LEFT_CLAVICLE: BodyJointHTC = Self(16i32);
7332 pub const LEFT_SCAPULA: BodyJointHTC = Self(17i32);
7333 pub const LEFT_ARM: BodyJointHTC = Self(18i32);
7334 pub const LEFT_ELBOW: BodyJointHTC = Self(19i32);
7335 pub const LEFT_WRIST: BodyJointHTC = Self(20i32);
7336 pub const RIGHT_CLAVICLE: BodyJointHTC = Self(21i32);
7337 pub const RIGHT_SCAPULA: BodyJointHTC = Self(22i32);
7338 pub const RIGHT_ARM: BodyJointHTC = Self(23i32);
7339 pub const RIGHT_ELBOW: BodyJointHTC = Self(24i32);
7340 pub const RIGHT_WRIST: BodyJointHTC = Self(25i32);
7341 pub fn from_raw(x: i32) -> Self {
7342 Self(x)
7343 }
7344 pub fn into_raw(self) -> i32 {
7345 self.0
7346 }
7347}
7348impl fmt::Debug for BodyJointHTC {
7349 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7350 let name = match *self {
7351 Self::PELVIS => Some("PELVIS"),
7352 Self::LEFT_HIP => Some("LEFT_HIP"),
7353 Self::LEFT_KNEE => Some("LEFT_KNEE"),
7354 Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
7355 Self::LEFT_FEET => Some("LEFT_FEET"),
7356 Self::RIGHT_HIP => Some("RIGHT_HIP"),
7357 Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
7358 Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
7359 Self::RIGHT_FEET => Some("RIGHT_FEET"),
7360 Self::WAIST => Some("WAIST"),
7361 Self::SPINE_LOWER => Some("SPINE_LOWER"),
7362 Self::SPINE_MIDDLE => Some("SPINE_MIDDLE"),
7363 Self::SPINE_HIGH => Some("SPINE_HIGH"),
7364 Self::CHEST => Some("CHEST"),
7365 Self::NECK => Some("NECK"),
7366 Self::HEAD => Some("HEAD"),
7367 Self::LEFT_CLAVICLE => Some("LEFT_CLAVICLE"),
7368 Self::LEFT_SCAPULA => Some("LEFT_SCAPULA"),
7369 Self::LEFT_ARM => Some("LEFT_ARM"),
7370 Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
7371 Self::LEFT_WRIST => Some("LEFT_WRIST"),
7372 Self::RIGHT_CLAVICLE => Some("RIGHT_CLAVICLE"),
7373 Self::RIGHT_SCAPULA => Some("RIGHT_SCAPULA"),
7374 Self::RIGHT_ARM => Some("RIGHT_ARM"),
7375 Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
7376 Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
7377 _ => None,
7378 };
7379 fmt_enum(fmt, self.0, name)
7380 }
7381}
7382#[doc = "See [XrBodyJointSetHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetHTC)"]
7383#[repr(transparent)]
7384#[derive(Copy, Clone, Eq, PartialEq, Default)]
7385pub struct BodyJointSetHTC(i32);
7386impl BodyJointSetHTC {
7387 pub const FULL: BodyJointSetHTC = Self(0i32);
7388 pub fn from_raw(x: i32) -> Self {
7389 Self(x)
7390 }
7391 pub fn into_raw(self) -> i32 {
7392 self.0
7393 }
7394}
7395impl fmt::Debug for BodyJointSetHTC {
7396 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7397 let name = match *self {
7398 Self::FULL => Some("FULL"),
7399 _ => None,
7400 };
7401 fmt_enum(fmt, self.0, name)
7402 }
7403}
7404#[doc = "See [XrBodyJointConfidenceHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointConfidenceHTC)"]
7405#[repr(transparent)]
7406#[derive(Copy, Clone, Eq, PartialEq, Default)]
7407pub struct BodyJointConfidenceHTC(i32);
7408impl BodyJointConfidenceHTC {
7409 pub const NONE: BodyJointConfidenceHTC = Self(0i32);
7410 pub const LOW: BodyJointConfidenceHTC = Self(1i32);
7411 pub const HIGH: BodyJointConfidenceHTC = Self(2i32);
7412 pub fn from_raw(x: i32) -> Self {
7413 Self(x)
7414 }
7415 pub fn into_raw(self) -> i32 {
7416 self.0
7417 }
7418}
7419impl fmt::Debug for BodyJointConfidenceHTC {
7420 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7421 let name = match *self {
7422 Self::NONE => Some("NONE"),
7423 Self::LOW => Some("LOW"),
7424 Self::HIGH => Some("HIGH"),
7425 _ => None,
7426 };
7427 fmt_enum(fmt, self.0, name)
7428 }
7429}
7430#[doc = "See [XrSpatialAnchorConfidenceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorConfidenceML)"]
7431#[repr(transparent)]
7432#[derive(Copy, Clone, Eq, PartialEq, Default)]
7433pub struct SpatialAnchorConfidenceML(i32);
7434impl SpatialAnchorConfidenceML {
7435 #[doc = "Low quality, this anchor can be expected to move significantly."]
7436 pub const LOW: SpatialAnchorConfidenceML = Self(0i32);
7437 #[doc = "Medium quality, this anchor may move slightly."]
7438 pub const MEDIUM: SpatialAnchorConfidenceML = Self(1i32);
7439 #[doc = "High quality, this anchor is stable and suitable for digital content attachment."]
7440 pub const HIGH: SpatialAnchorConfidenceML = Self(2i32);
7441 pub fn from_raw(x: i32) -> Self {
7442 Self(x)
7443 }
7444 pub fn into_raw(self) -> i32 {
7445 self.0
7446 }
7447}
7448impl fmt::Debug for SpatialAnchorConfidenceML {
7449 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7450 let name = match *self {
7451 Self::LOW => Some("LOW"),
7452 Self::MEDIUM => Some("MEDIUM"),
7453 Self::HIGH => Some("HIGH"),
7454 _ => None,
7455 };
7456 fmt_enum(fmt, self.0, name)
7457 }
7458}
7459#[doc = "See [XrWorldMeshBlockStatusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockStatusML)"]
7460#[repr(transparent)]
7461#[derive(Copy, Clone, Eq, PartialEq, Default)]
7462pub struct WorldMeshBlockStatusML(i32);
7463impl WorldMeshBlockStatusML {
7464 #[doc = "The mesh block has been created."]
7465 pub const NEW: WorldMeshBlockStatusML = Self(0i32);
7466 #[doc = "The mesh block has been updated."]
7467 pub const UPDATED: WorldMeshBlockStatusML = Self(1i32);
7468 #[doc = "The mesh block has been deleted."]
7469 pub const DELETED: WorldMeshBlockStatusML = Self(2i32);
7470 #[doc = "The mesh block is unchanged."]
7471 pub const UNCHANGED: WorldMeshBlockStatusML = Self(3i32);
7472 pub fn from_raw(x: i32) -> Self {
7473 Self(x)
7474 }
7475 pub fn into_raw(self) -> i32 {
7476 self.0
7477 }
7478}
7479impl fmt::Debug for WorldMeshBlockStatusML {
7480 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7481 let name = match *self {
7482 Self::NEW => Some("NEW"),
7483 Self::UPDATED => Some("UPDATED"),
7484 Self::DELETED => Some("DELETED"),
7485 Self::UNCHANGED => Some("UNCHANGED"),
7486 _ => None,
7487 };
7488 fmt_enum(fmt, self.0, name)
7489 }
7490}
7491#[doc = "See [XrWorldMeshDetectorLodML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorLodML)"]
7492#[repr(transparent)]
7493#[derive(Copy, Clone, Eq, PartialEq, Default)]
7494pub struct WorldMeshDetectorLodML(i32);
7495impl WorldMeshDetectorLodML {
7496 #[doc = "Minimum Level of Detail (LOD) for the mesh."]
7497 pub const MINIMUM: WorldMeshDetectorLodML = Self(0i32);
7498 #[doc = "Medium Level of Detail (LOD) for the mesh."]
7499 pub const MEDIUM: WorldMeshDetectorLodML = Self(1i32);
7500 #[doc = "Maximum Level of Detail (LOD) for the mesh."]
7501 pub const MAXIMUM: WorldMeshDetectorLodML = Self(2i32);
7502 pub fn from_raw(x: i32) -> Self {
7503 Self(x)
7504 }
7505 pub fn into_raw(self) -> i32 {
7506 self.0
7507 }
7508}
7509impl fmt::Debug for WorldMeshDetectorLodML {
7510 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7511 let name = match *self {
7512 Self::MINIMUM => Some("MINIMUM"),
7513 Self::MEDIUM => Some("MEDIUM"),
7514 Self::MAXIMUM => Some("MAXIMUM"),
7515 _ => None,
7516 };
7517 fmt_enum(fmt, self.0, name)
7518 }
7519}
7520#[doc = "See [XrWorldMeshBlockResultML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockResultML)"]
7521#[repr(transparent)]
7522#[derive(Copy, Clone, Eq, PartialEq, Default)]
7523pub struct WorldMeshBlockResultML(i32);
7524impl WorldMeshBlockResultML {
7525 #[doc = "Mesh request has succeeded."]
7526 pub const SUCCESS: WorldMeshBlockResultML = Self(0i32);
7527 #[doc = "Mesh request has failed."]
7528 pub const FAILED: WorldMeshBlockResultML = Self(1i32);
7529 #[doc = "Mesh request is pending."]
7530 pub const PENDING: WorldMeshBlockResultML = Self(2i32);
7531 #[doc = "There are partial updates on the mesh request."]
7532 pub const PARTIAL_UPDATE: WorldMeshBlockResultML = Self(3i32);
7533 pub fn from_raw(x: i32) -> Self {
7534 Self(x)
7535 }
7536 pub fn into_raw(self) -> i32 {
7537 self.0
7538 }
7539}
7540impl fmt::Debug for WorldMeshBlockResultML {
7541 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7542 let name = match *self {
7543 Self::SUCCESS => Some("SUCCESS"),
7544 Self::FAILED => Some("FAILED"),
7545 Self::PENDING => Some("PENDING"),
7546 Self::PARTIAL_UPDATE => Some("PARTIAL_UPDATE"),
7547 _ => None,
7548 };
7549 fmt_enum(fmt, self.0, name)
7550 }
7551}
7552#[doc = "See [XrBodyJointBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointBD)"]
7553#[repr(transparent)]
7554#[derive(Copy, Clone, Eq, PartialEq, Default)]
7555pub struct BodyJointBD(i32);
7556impl BodyJointBD {
7557 pub const PELVIS: BodyJointBD = Self(0i32);
7558 pub const LEFT_HIP: BodyJointBD = Self(1i32);
7559 pub const RIGHT_HIP: BodyJointBD = Self(2i32);
7560 pub const SPINE1: BodyJointBD = Self(3i32);
7561 pub const LEFT_KNEE: BodyJointBD = Self(4i32);
7562 pub const RIGHT_KNEE: BodyJointBD = Self(5i32);
7563 pub const SPINE2: BodyJointBD = Self(6i32);
7564 pub const LEFT_ANKLE: BodyJointBD = Self(7i32);
7565 pub const RIGHT_ANKLE: BodyJointBD = Self(8i32);
7566 pub const SPINE3: BodyJointBD = Self(9i32);
7567 pub const LEFT_FOOT: BodyJointBD = Self(10i32);
7568 pub const RIGHT_FOOT: BodyJointBD = Self(11i32);
7569 pub const NECK: BodyJointBD = Self(12i32);
7570 pub const LEFT_COLLAR: BodyJointBD = Self(13i32);
7571 pub const RIGHT_COLLAR: BodyJointBD = Self(14i32);
7572 pub const HEAD: BodyJointBD = Self(15i32);
7573 pub const LEFT_SHOULDER: BodyJointBD = Self(16i32);
7574 pub const RIGHT_SHOULDER: BodyJointBD = Self(17i32);
7575 pub const LEFT_ELBOW: BodyJointBD = Self(18i32);
7576 pub const RIGHT_ELBOW: BodyJointBD = Self(19i32);
7577 pub const LEFT_WRIST: BodyJointBD = Self(20i32);
7578 pub const RIGHT_WRIST: BodyJointBD = Self(21i32);
7579 pub const LEFT_HAND: BodyJointBD = Self(22i32);
7580 pub const RIGHT_HAND: BodyJointBD = Self(23i32);
7581 pub fn from_raw(x: i32) -> Self {
7582 Self(x)
7583 }
7584 pub fn into_raw(self) -> i32 {
7585 self.0
7586 }
7587}
7588impl fmt::Debug for BodyJointBD {
7589 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7590 let name = match *self {
7591 Self::PELVIS => Some("PELVIS"),
7592 Self::LEFT_HIP => Some("LEFT_HIP"),
7593 Self::RIGHT_HIP => Some("RIGHT_HIP"),
7594 Self::SPINE1 => Some("SPINE1"),
7595 Self::LEFT_KNEE => Some("LEFT_KNEE"),
7596 Self::RIGHT_KNEE => Some("RIGHT_KNEE"),
7597 Self::SPINE2 => Some("SPINE2"),
7598 Self::LEFT_ANKLE => Some("LEFT_ANKLE"),
7599 Self::RIGHT_ANKLE => Some("RIGHT_ANKLE"),
7600 Self::SPINE3 => Some("SPINE3"),
7601 Self::LEFT_FOOT => Some("LEFT_FOOT"),
7602 Self::RIGHT_FOOT => Some("RIGHT_FOOT"),
7603 Self::NECK => Some("NECK"),
7604 Self::LEFT_COLLAR => Some("LEFT_COLLAR"),
7605 Self::RIGHT_COLLAR => Some("RIGHT_COLLAR"),
7606 Self::HEAD => Some("HEAD"),
7607 Self::LEFT_SHOULDER => Some("LEFT_SHOULDER"),
7608 Self::RIGHT_SHOULDER => Some("RIGHT_SHOULDER"),
7609 Self::LEFT_ELBOW => Some("LEFT_ELBOW"),
7610 Self::RIGHT_ELBOW => Some("RIGHT_ELBOW"),
7611 Self::LEFT_WRIST => Some("LEFT_WRIST"),
7612 Self::RIGHT_WRIST => Some("RIGHT_WRIST"),
7613 Self::LEFT_HAND => Some("LEFT_HAND"),
7614 Self::RIGHT_HAND => Some("RIGHT_HAND"),
7615 _ => None,
7616 };
7617 fmt_enum(fmt, self.0, name)
7618 }
7619}
7620#[doc = "Describes the set of body joints to track when creating an XrBodyTrackerBD. - see [XrBodyJointSetBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointSetBD)"]
7621#[repr(transparent)]
7622#[derive(Copy, Clone, Eq, PartialEq)]
7623pub struct BodyJointSetBD(i32);
7624impl BodyJointSetBD {
7625 #[doc = "Contains joints in XrBodyJointBD in the range XR_BODY_JOINT_PELVIS_BD through XR_BODY_JOINT_HEAD_BD inclusive, a total of XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD joints."]
7626 pub const BODY_WITHOUT_ARM: BodyJointSetBD = Self(1i32);
7627 #[doc = "Contains joints in XrBodyJointBD in the range XR_BODY_JOINT_PELVIS_BD through XR_BODY_JOINT_RIGHT_HAND_BD inclusive, a total of XR_BODY_JOINT_COUNT_BD joints."]
7628 pub const FULL_BODY_JOINTS: BodyJointSetBD = Self(2i32);
7629 pub fn from_raw(x: i32) -> Self {
7630 Self(x)
7631 }
7632 pub fn into_raw(self) -> i32 {
7633 self.0
7634 }
7635}
7636impl fmt::Debug for BodyJointSetBD {
7637 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7638 let name = match *self {
7639 Self::BODY_WITHOUT_ARM => Some("BODY_WITHOUT_ARM"),
7640 Self::FULL_BODY_JOINTS => Some("FULL_BODY_JOINTS"),
7641 _ => None,
7642 };
7643 fmt_enum(fmt, self.0, name)
7644 }
7645}
7646#[doc = "See [XrAudioSampleRateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAudioSampleRateBD)"]
7647#[repr(transparent)]
7648#[derive(Copy, Clone, Eq, PartialEq)]
7649pub struct AudioSampleRateBD(i32);
7650impl AudioSampleRateBD {
7651 #[doc = "192000 Hz"]
7652 pub const RATE_192000_HZ: AudioSampleRateBD = Self(1i32);
7653 #[doc = "96000 Hz"]
7654 pub const RATE_96000_HZ: AudioSampleRateBD = Self(2i32);
7655 #[doc = "48000 Hz"]
7656 pub const RATE_48000_HZ: AudioSampleRateBD = Self(3i32);
7657 #[doc = "44100 Hz"]
7658 pub const RATE_44100_HZ: AudioSampleRateBD = Self(4i32);
7659 #[doc = "32000 Hz"]
7660 pub const RATE_32000_HZ: AudioSampleRateBD = Self(5i32);
7661 #[doc = "24000 Hz"]
7662 pub const RATE_24000_HZ: AudioSampleRateBD = Self(6i32);
7663 #[doc = "22050 Hz"]
7664 pub const RATE_22050_HZ: AudioSampleRateBD = Self(7i32);
7665 #[doc = "16000 Hz"]
7666 pub const RATE_16000_HZ: AudioSampleRateBD = Self(8i32);
7667 #[doc = "12000 Hz"]
7668 pub const RATE_12000_HZ: AudioSampleRateBD = Self(9i32);
7669 #[doc = "11025 Hz"]
7670 pub const RATE_11025_HZ: AudioSampleRateBD = Self(10i32);
7671 #[doc = "8000 Hz"]
7672 pub const RATE_8000_HZ: AudioSampleRateBD = Self(11i32);
7673 pub fn from_raw(x: i32) -> Self {
7674 Self(x)
7675 }
7676 pub fn into_raw(self) -> i32 {
7677 self.0
7678 }
7679}
7680impl fmt::Debug for AudioSampleRateBD {
7681 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7682 let name = match *self {
7683 Self::RATE_192000_HZ => Some("RATE_192000_HZ"),
7684 Self::RATE_96000_HZ => Some("RATE_96000_HZ"),
7685 Self::RATE_48000_HZ => Some("RATE_48000_HZ"),
7686 Self::RATE_44100_HZ => Some("RATE_44100_HZ"),
7687 Self::RATE_32000_HZ => Some("RATE_32000_HZ"),
7688 Self::RATE_24000_HZ => Some("RATE_24000_HZ"),
7689 Self::RATE_22050_HZ => Some("RATE_22050_HZ"),
7690 Self::RATE_16000_HZ => Some("RATE_16000_HZ"),
7691 Self::RATE_12000_HZ => Some("RATE_12000_HZ"),
7692 Self::RATE_11025_HZ => Some("RATE_11025_HZ"),
7693 Self::RATE_8000_HZ => Some("RATE_8000_HZ"),
7694 _ => None,
7695 };
7696 fmt_enum(fmt, self.0, name)
7697 }
7698}
7699#[doc = "See [XrAudioBufferChannelLayoutBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAudioBufferChannelLayoutBD)"]
7700#[repr(transparent)]
7701#[derive(Copy, Clone, Eq, PartialEq, Default)]
7702pub struct AudioBufferChannelLayoutBD(i32);
7703impl AudioBufferChannelLayoutBD {
7704 #[doc = "indicates that audio samples from all channels are stored in an interleaved layout, where successive frames contain one sample per channel (e.g. LRLRLR for stereo)"]
7705 pub const INTERLEAVED: AudioBufferChannelLayoutBD = Self(0i32);
7706 #[doc = "indicates that audio samples are stored in a planar layout, where all samples for one channel are contiguous in memory (e.g. LLL...RRR... for stereo)"]
7707 pub const PLANAR: AudioBufferChannelLayoutBD = Self(1i32);
7708 pub fn from_raw(x: i32) -> Self {
7709 Self(x)
7710 }
7711 pub fn into_raw(self) -> i32 {
7712 self.0
7713 }
7714}
7715impl fmt::Debug for AudioBufferChannelLayoutBD {
7716 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7717 let name = match *self {
7718 Self::INTERLEAVED => Some("INTERLEAVED"),
7719 Self::PLANAR => Some("PLANAR"),
7720 _ => None,
7721 };
7722 fmt_enum(fmt, self.0, name)
7723 }
7724}
7725#[doc = "See [XrSoundObstacleMaterialTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleMaterialTypeBD)"]
7726#[repr(transparent)]
7727#[derive(Copy, Clone, Eq, PartialEq, Default)]
7728pub struct SoundObstacleMaterialTypeBD(i32);
7729impl SoundObstacleMaterialTypeBD {
7730 #[doc = "indicates that the material is acoustic tile"]
7731 pub const ACOUSTIC_TILE: SoundObstacleMaterialTypeBD = Self(0i32);
7732 #[doc = "indicates that the material resembles brick"]
7733 pub const BRICK: SoundObstacleMaterialTypeBD = Self(1i32);
7734 #[doc = "indicates that the material resembles painted brick"]
7735 pub const BRICK_PAINTED: SoundObstacleMaterialTypeBD = Self(2i32);
7736 #[doc = "indicates that the material resembles carpet"]
7737 pub const CARPET: SoundObstacleMaterialTypeBD = Self(3i32);
7738 #[doc = "indicates that the material resembles heavy carpet"]
7739 pub const CARPET_HEAVY: SoundObstacleMaterialTypeBD = Self(4i32);
7740 #[doc = "indicates that the material resembles heavily padded carpet"]
7741 pub const CARPET_HEAVY_PADDED: SoundObstacleMaterialTypeBD = Self(5i32);
7742 #[doc = "indicates that the material resembles ceramic tile"]
7743 pub const CERAMIC_TILE: SoundObstacleMaterialTypeBD = Self(6i32);
7744 #[doc = "indicates that the material resembles concrete"]
7745 pub const CONCRETE: SoundObstacleMaterialTypeBD = Self(7i32);
7746 #[doc = "indicates that the material resembles rough concrete"]
7747 pub const CONCRETE_ROUGH: SoundObstacleMaterialTypeBD = Self(8i32);
7748 #[doc = "indicates that the material resembles concrete block"]
7749 pub const CONCRETE_BLOCK: SoundObstacleMaterialTypeBD = Self(9i32);
7750 #[doc = "indicates that the material resembles painted concrete block"]
7751 pub const CONCRETE_BLOCK_PAINTED: SoundObstacleMaterialTypeBD = Self(10i32);
7752 #[doc = "indicates that the material resembles curtain"]
7753 pub const CURTAIN: SoundObstacleMaterialTypeBD = Self(11i32);
7754 #[doc = "indicates that the material resembles foliage"]
7755 pub const FOLIAGE: SoundObstacleMaterialTypeBD = Self(12i32);
7756 #[doc = "indicates that the material resembles glass"]
7757 pub const GLASS: SoundObstacleMaterialTypeBD = Self(13i32);
7758 #[doc = "indicates that the material resembles heavy glass"]
7759 pub const GLASS_HEAVY: SoundObstacleMaterialTypeBD = Self(14i32);
7760 #[doc = "indicates that the material resembles grass"]
7761 pub const GRASS: SoundObstacleMaterialTypeBD = Self(15i32);
7762 #[doc = "indicates that the material resembles gravel"]
7763 pub const GRAVEL: SoundObstacleMaterialTypeBD = Self(16i32);
7764 #[doc = "indicates that the material resembles gypsum board"]
7765 pub const GYPSUM_BOARD: SoundObstacleMaterialTypeBD = Self(17i32);
7766 #[doc = "indicates that the material resembles plaster on brick"]
7767 pub const PLASTER_ON_BRICK: SoundObstacleMaterialTypeBD = Self(18i32);
7768 #[doc = "indicates that the material resembles plaster on concrete block"]
7769 pub const PLASTER_ON_CONCRETE_BLOCK: SoundObstacleMaterialTypeBD = Self(19i32);
7770 #[doc = "indicates that the material resembles soil"]
7771 pub const SOIL: SoundObstacleMaterialTypeBD = Self(20i32);
7772 #[doc = "indicates that the material resembles sound proof"]
7773 pub const SOUND_PROOF: SoundObstacleMaterialTypeBD = Self(21i32);
7774 #[doc = "indicates that the material resembles snow"]
7775 pub const SNOW: SoundObstacleMaterialTypeBD = Self(22i32);
7776 #[doc = "indicates that the material resembles steel"]
7777 pub const STEEL: SoundObstacleMaterialTypeBD = Self(23i32);
7778 #[doc = "indicates that the material resembles water"]
7779 pub const WATER: SoundObstacleMaterialTypeBD = Self(24i32);
7780 #[doc = "indicates that the material resembles thin wood"]
7781 pub const WOOD_THIN: SoundObstacleMaterialTypeBD = Self(25i32);
7782 #[doc = "indicates that the material resembles thick wood"]
7783 pub const WOOD_THICK: SoundObstacleMaterialTypeBD = Self(26i32);
7784 #[doc = "indicates that the material resembles floor"]
7785 pub const WOOD_FLOOR: SoundObstacleMaterialTypeBD = Self(27i32);
7786 #[doc = "indicates that the material resembles wood on concrete"]
7787 pub const WOOD_ON_CONCRETE: SoundObstacleMaterialTypeBD = Self(28i32);
7788 #[doc = "Customized material described by detailed acoustic surface parameters, for example, absorption, scattering, and transmission."]
7789 pub const CUSTOM: SoundObstacleMaterialTypeBD = Self(29i32);
7790 pub fn from_raw(x: i32) -> Self {
7791 Self(x)
7792 }
7793 pub fn into_raw(self) -> i32 {
7794 self.0
7795 }
7796}
7797impl fmt::Debug for SoundObstacleMaterialTypeBD {
7798 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7799 let name = match *self {
7800 Self::ACOUSTIC_TILE => Some("ACOUSTIC_TILE"),
7801 Self::BRICK => Some("BRICK"),
7802 Self::BRICK_PAINTED => Some("BRICK_PAINTED"),
7803 Self::CARPET => Some("CARPET"),
7804 Self::CARPET_HEAVY => Some("CARPET_HEAVY"),
7805 Self::CARPET_HEAVY_PADDED => Some("CARPET_HEAVY_PADDED"),
7806 Self::CERAMIC_TILE => Some("CERAMIC_TILE"),
7807 Self::CONCRETE => Some("CONCRETE"),
7808 Self::CONCRETE_ROUGH => Some("CONCRETE_ROUGH"),
7809 Self::CONCRETE_BLOCK => Some("CONCRETE_BLOCK"),
7810 Self::CONCRETE_BLOCK_PAINTED => Some("CONCRETE_BLOCK_PAINTED"),
7811 Self::CURTAIN => Some("CURTAIN"),
7812 Self::FOLIAGE => Some("FOLIAGE"),
7813 Self::GLASS => Some("GLASS"),
7814 Self::GLASS_HEAVY => Some("GLASS_HEAVY"),
7815 Self::GRASS => Some("GRASS"),
7816 Self::GRAVEL => Some("GRAVEL"),
7817 Self::GYPSUM_BOARD => Some("GYPSUM_BOARD"),
7818 Self::PLASTER_ON_BRICK => Some("PLASTER_ON_BRICK"),
7819 Self::PLASTER_ON_CONCRETE_BLOCK => Some("PLASTER_ON_CONCRETE_BLOCK"),
7820 Self::SOIL => Some("SOIL"),
7821 Self::SOUND_PROOF => Some("SOUND_PROOF"),
7822 Self::SNOW => Some("SNOW"),
7823 Self::STEEL => Some("STEEL"),
7824 Self::WATER => Some("WATER"),
7825 Self::WOOD_THIN => Some("WOOD_THIN"),
7826 Self::WOOD_THICK => Some("WOOD_THICK"),
7827 Self::WOOD_FLOOR => Some("WOOD_FLOOR"),
7828 Self::WOOD_ON_CONCRETE => Some("WOOD_ON_CONCRETE"),
7829 Self::CUSTOM => Some("CUSTOM"),
7830 _ => None,
7831 };
7832 fmt_enum(fmt, self.0, name)
7833 }
7834}
7835#[doc = "See [XrSoundObjectDistanceAttenuationTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDistanceAttenuationTypeBD)"]
7836#[repr(transparent)]
7837#[derive(Copy, Clone, Eq, PartialEq, Default)]
7838pub struct SoundObjectDistanceAttenuationTypeBD(i32);
7839impl SoundObjectDistanceAttenuationTypeBD {
7840 #[doc = "Indicates that no attenuation is applied when source-listener distance varies."]
7841 pub const NONE: SoundObjectDistanceAttenuationTypeBD = Self(0i32);
7842 #[doc = "Indicates that attenuation scales proportional to the inverse-squared distance of source-listener distance."]
7843 pub const INVERSE_SQUARE: SoundObjectDistanceAttenuationTypeBD = Self(1i32);
7844 #[doc = "Indicates that attenuation equals pow(distance/refer_distance, -rolloff_factor), in which distance is clamped by minAttenuationRange and maxAttenuationRange."]
7845 pub const ROLLOFF: SoundObjectDistanceAttenuationTypeBD = Self(2i32);
7846 #[doc = "Indicates that the distance attenuation is customized."]
7847 pub const CUSTOMIZED: SoundObjectDistanceAttenuationTypeBD = Self(100i32);
7848 pub fn from_raw(x: i32) -> Self {
7849 Self(x)
7850 }
7851 pub fn into_raw(self) -> i32 {
7852 self.0
7853 }
7854}
7855impl fmt::Debug for SoundObjectDistanceAttenuationTypeBD {
7856 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7857 let name = match *self {
7858 Self::NONE => Some("NONE"),
7859 Self::INVERSE_SQUARE => Some("INVERSE_SQUARE"),
7860 Self::ROLLOFF => Some("ROLLOFF"),
7861 Self::CUSTOMIZED => Some("CUSTOMIZED"),
7862 _ => None,
7863 };
7864 fmt_enum(fmt, self.0, name)
7865 }
7866}
7867#[doc = "See [XrSoundFieldChannelMaskSurroundBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelMaskSurroundBD)"]
7868#[repr(transparent)]
7869#[derive(Copy, Clone, Eq, PartialEq)]
7870pub struct SoundFieldChannelMaskSurroundBD(i32);
7871impl SoundFieldChannelMaskSurroundBD {
7872 #[doc = "Bitmask of ear-level front-left speaker"]
7873 pub const FRONT_LEFT: SoundFieldChannelMaskSurroundBD = Self(1i32);
7874 #[doc = "Bitmask of ear-level front-right speaker"]
7875 pub const FRONT_RIGHT: SoundFieldChannelMaskSurroundBD = Self(2i32);
7876 #[doc = "Bitmask of ear-level front-center speaker"]
7877 pub const FRONT_CENTER: SoundFieldChannelMaskSurroundBD = Self(4i32);
7878 #[doc = "Bitmask of LFE speaker"]
7879 pub const LOW_FREQUENCY: SoundFieldChannelMaskSurroundBD = Self(8i32);
7880 #[doc = "Bitmask of ear-level back-left speaker"]
7881 pub const BACK_LEFT: SoundFieldChannelMaskSurroundBD = Self(16i32);
7882 #[doc = "Bitmask of ear-level back-right speaker"]
7883 pub const BACK_RIGHT: SoundFieldChannelMaskSurroundBD = Self(32i32);
7884 #[doc = "Bitmask of ear-level side-left speaker"]
7885 pub const SIDE_LEFT: SoundFieldChannelMaskSurroundBD = Self(64i32);
7886 #[doc = "Bitmask of ear-level side-right speaker"]
7887 pub const SIDE_RIGHT: SoundFieldChannelMaskSurroundBD = Self(128i32);
7888 #[doc = "Bitmask of height-channel front-left speaker"]
7889 pub const TOP_FRONT_LEFT: SoundFieldChannelMaskSurroundBD = Self(256i32);
7890 #[doc = "Bitmask of height-channel front-right speaker"]
7891 pub const TOP_FRONT_RIGHT: SoundFieldChannelMaskSurroundBD = Self(512i32);
7892 #[doc = "Bitmask of height-channel back-left speaker"]
7893 pub const TOP_BACK_LEFT: SoundFieldChannelMaskSurroundBD = Self(1024i32);
7894 #[doc = "Bitmask of height-channel back-right speaker"]
7895 pub const TOP_BACK_RIGHT: SoundFieldChannelMaskSurroundBD = Self(2048i32);
7896 #[doc = "Bitmask of ear-level back-center speaker"]
7897 pub const BACK_CENTER: SoundFieldChannelMaskSurroundBD = Self(4096i32);
7898 #[doc = "Bitmask of height-channel side-left speaker"]
7899 pub const TOP_SIDE_LEFT: SoundFieldChannelMaskSurroundBD = Self(8192i32);
7900 #[doc = "Bitmask of height-channel side-right speaker"]
7901 pub const TOP_SIDE_RIGHT: SoundFieldChannelMaskSurroundBD = Self(16384i32);
7902 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_FRONT_RIGHT_BD"]
7903 pub const SETUP_STEREO: SoundFieldChannelMaskSurroundBD = Self(3i32);
7904 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_STEREO_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7905 pub const SETUP_2_1: SoundFieldChannelMaskSurroundBD = Self(11i32);
7906 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_STEREO_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_FRONT_CENTER_BD"]
7907 pub const SETUP_3_0: SoundFieldChannelMaskSurroundBD = Self(7i32);
7908 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_BACK_CENTER_BD"]
7909 pub const SETUP_4_0: SoundFieldChannelMaskSurroundBD = Self(4099i32);
7910 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_BACK_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_BACK_RIGHT_BD"]
7911 pub const SETUP_BACK_SURROUND: SoundFieldChannelMaskSurroundBD = Self(48i32);
7912 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_STEREO_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_BACK_SURROUND_BD"]
7913 pub const SETUP_QUAD: SoundFieldChannelMaskSurroundBD = Self(51i32);
7914 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7915 pub const SETUP_3_1: SoundFieldChannelMaskSurroundBD = Self(15i32);
7916 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_BACK_SURROUND_BD"]
7917 pub const SETUP_5_0: SoundFieldChannelMaskSurroundBD = Self(55i32);
7918 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SIDE_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SIDE_RIGHT_BD"]
7919 pub const SETUP_SIDE_SURROUND: SoundFieldChannelMaskSurroundBD = Self(192i32);
7920 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_3_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_SIDE_SURROUND_BD"]
7921 pub const SETUP_5_0_SIDE: SoundFieldChannelMaskSurroundBD = Self(199i32);
7922 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7923 pub const SETUP_5_1: SoundFieldChannelMaskSurroundBD = Self(63i32);
7924 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_SIDE_SURROUND_BD"]
7925 pub const SETUP_5_1_SIDE: SoundFieldChannelMaskSurroundBD = Self(207i32);
7926 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_SIDE_SURROUND_BD"]
7927 pub const SETUP_7_0: SoundFieldChannelMaskSurroundBD = Self(247i32);
7928 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_7_0_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_LOW_FREQUENCY_BD"]
7929 pub const SETUP_7_1: SoundFieldChannelMaskSurroundBD = Self(255i32);
7930 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_RIGHT_BD"]
7931 pub const SETUP_5_1_2: SoundFieldChannelMaskSurroundBD = Self(831i32);
7932 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_5_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_RIGHT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_RIGHT_BD"]
7933 pub const SETUP_5_1_4: SoundFieldChannelMaskSurroundBD = Self(3903i32);
7934 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_7_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_SIDE_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_SIDE_RIGHT_BD"]
7935 pub const SETUP_7_1_2: SoundFieldChannelMaskSurroundBD = Self(24831i32);
7936 #[doc = "Composition of XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_SETUP_7_1_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_FRONT_RIGHT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_LEFT_BD and XR_SOUND_FIELD_CHANNEL_MASK_SURROUND_TOP_BACK_RIGHT_BD"]
7937 pub const SETUP_7_1_4: SoundFieldChannelMaskSurroundBD = Self(4095i32);
7938 pub fn from_raw(x: i32) -> Self {
7939 Self(x)
7940 }
7941 pub fn into_raw(self) -> i32 {
7942 self.0
7943 }
7944}
7945impl fmt::Debug for SoundFieldChannelMaskSurroundBD {
7946 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
7947 let name = match *self {
7948 Self::FRONT_LEFT => Some("FRONT_LEFT"),
7949 Self::FRONT_RIGHT => Some("FRONT_RIGHT"),
7950 Self::FRONT_CENTER => Some("FRONT_CENTER"),
7951 Self::LOW_FREQUENCY => Some("LOW_FREQUENCY"),
7952 Self::BACK_LEFT => Some("BACK_LEFT"),
7953 Self::BACK_RIGHT => Some("BACK_RIGHT"),
7954 Self::SIDE_LEFT => Some("SIDE_LEFT"),
7955 Self::SIDE_RIGHT => Some("SIDE_RIGHT"),
7956 Self::TOP_FRONT_LEFT => Some("TOP_FRONT_LEFT"),
7957 Self::TOP_FRONT_RIGHT => Some("TOP_FRONT_RIGHT"),
7958 Self::TOP_BACK_LEFT => Some("TOP_BACK_LEFT"),
7959 Self::TOP_BACK_RIGHT => Some("TOP_BACK_RIGHT"),
7960 Self::BACK_CENTER => Some("BACK_CENTER"),
7961 Self::TOP_SIDE_LEFT => Some("TOP_SIDE_LEFT"),
7962 Self::TOP_SIDE_RIGHT => Some("TOP_SIDE_RIGHT"),
7963 Self::SETUP_STEREO => Some("SETUP_STEREO"),
7964 Self::SETUP_2_1 => Some("SETUP_2_1"),
7965 Self::SETUP_3_0 => Some("SETUP_3_0"),
7966 Self::SETUP_4_0 => Some("SETUP_4_0"),
7967 Self::SETUP_BACK_SURROUND => Some("SETUP_BACK_SURROUND"),
7968 Self::SETUP_QUAD => Some("SETUP_QUAD"),
7969 Self::SETUP_3_1 => Some("SETUP_3_1"),
7970 Self::SETUP_5_0 => Some("SETUP_5_0"),
7971 Self::SETUP_SIDE_SURROUND => Some("SETUP_SIDE_SURROUND"),
7972 Self::SETUP_5_0_SIDE => Some("SETUP_5_0_SIDE"),
7973 Self::SETUP_5_1 => Some("SETUP_5_1"),
7974 Self::SETUP_5_1_SIDE => Some("SETUP_5_1_SIDE"),
7975 Self::SETUP_7_0 => Some("SETUP_7_0"),
7976 Self::SETUP_7_1 => Some("SETUP_7_1"),
7977 Self::SETUP_5_1_2 => Some("SETUP_5_1_2"),
7978 Self::SETUP_5_1_4 => Some("SETUP_5_1_4"),
7979 Self::SETUP_7_1_2 => Some("SETUP_7_1_2"),
7980 Self::SETUP_7_1_4 => Some("SETUP_7_1_4"),
7981 _ => None,
7982 };
7983 fmt_enum(fmt, self.0, name)
7984 }
7985}
7986#[doc = "See [XrSoundFieldChannelMaskAmbixBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelMaskAmbixBD)"]
7987#[repr(transparent)]
7988#[derive(Copy, Clone, Eq, PartialEq)]
7989pub struct SoundFieldChannelMaskAmbixBD(i32);
7990impl SoundFieldChannelMaskAmbixBD {
7991 #[doc = "Indicates 1st-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7992 pub const AMBIX_1ST_ORDER: SoundFieldChannelMaskAmbixBD = Self(1i32);
7993 #[doc = "Indicates 2nd-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7994 pub const AMBIX_2ND_ORDER: SoundFieldChannelMaskAmbixBD = Self(2i32);
7995 #[doc = "Indicates 3rd-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7996 pub const AMBIX_3RD_ORDER: SoundFieldChannelMaskAmbixBD = Self(3i32);
7997 #[doc = "Indicates 4th-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
7998 pub const AMBIX_4TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(4i32);
7999 #[doc = "Indicates 5th-order-ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
8000 pub const AMBIX_5TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(5i32);
8001 #[doc = "Indicates 6th-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
8002 pub const AMBIX_6TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(6i32);
8003 #[doc = "Indicates 7th-order ambisonics in AmbiX format, which uses ACN (Ambisonic Channel Number) channel ordering and SN3D normalization"]
8004 pub const AMBIX_7TH_ORDER: SoundFieldChannelMaskAmbixBD = Self(7i32);
8005 pub fn from_raw(x: i32) -> Self {
8006 Self(x)
8007 }
8008 pub fn into_raw(self) -> i32 {
8009 self.0
8010 }
8011}
8012impl fmt::Debug for SoundFieldChannelMaskAmbixBD {
8013 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8014 let name = match *self {
8015 Self::AMBIX_1ST_ORDER => Some("AMBIX_1ST_ORDER"),
8016 Self::AMBIX_2ND_ORDER => Some("AMBIX_2ND_ORDER"),
8017 Self::AMBIX_3RD_ORDER => Some("AMBIX_3RD_ORDER"),
8018 Self::AMBIX_4TH_ORDER => Some("AMBIX_4TH_ORDER"),
8019 Self::AMBIX_5TH_ORDER => Some("AMBIX_5TH_ORDER"),
8020 Self::AMBIX_6TH_ORDER => Some("AMBIX_6TH_ORDER"),
8021 Self::AMBIX_7TH_ORDER => Some("AMBIX_7TH_ORDER"),
8022 _ => None,
8023 };
8024 fmt_enum(fmt, self.0, name)
8025 }
8026}
8027#[doc = "See [XrSoundFieldChannelMaskFumaBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelMaskFumaBD)"]
8028#[repr(transparent)]
8029#[derive(Copy, Clone, Eq, PartialEq)]
8030pub struct SoundFieldChannelMaskFumaBD(i32);
8031impl SoundFieldChannelMaskFumaBD {
8032 #[doc = "Indicates the 1st-order ambisonic in FuMA format, which refers to Furse-Malham channel order and maxN normalization"]
8033 pub const FUMA_1ST_ORDER: SoundFieldChannelMaskFumaBD = Self(1i32);
8034 pub fn from_raw(x: i32) -> Self {
8035 Self(x)
8036 }
8037 pub fn into_raw(self) -> i32 {
8038 self.0
8039 }
8040}
8041impl fmt::Debug for SoundFieldChannelMaskFumaBD {
8042 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8043 let name = match *self {
8044 Self::FUMA_1ST_ORDER => Some("FUMA_1ST_ORDER"),
8045 _ => None,
8046 };
8047 fmt_enum(fmt, self.0, name)
8048 }
8049}
8050#[doc = "See [XrSenseDataProviderTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderTypeBD)"]
8051#[repr(transparent)]
8052#[derive(Copy, Clone, Eq, PartialEq)]
8053pub struct SenseDataProviderTypeBD(i32);
8054impl SenseDataProviderTypeBD {
8055 #[doc = "Create arbitrary spatial anchors."]
8056 pub const ANCHOR: SenseDataProviderTypeBD = Self(1000390000i32);
8057 #[doc = "Access spatial scene capture data."]
8058 pub const SCENE: SenseDataProviderTypeBD = Self(1000392000i32);
8059 #[doc = "Capture spatial mesh data."]
8060 pub const MESH: SenseDataProviderTypeBD = Self(1000393000i32);
8061 #[doc = "Capture spatial plane data."]
8062 pub const PLANE: SenseDataProviderTypeBD = Self(1000396000i32);
8063 pub fn from_raw(x: i32) -> Self {
8064 Self(x)
8065 }
8066 pub fn into_raw(self) -> i32 {
8067 self.0
8068 }
8069}
8070impl fmt::Debug for SenseDataProviderTypeBD {
8071 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8072 let name = match *self {
8073 Self::ANCHOR => Some("ANCHOR"),
8074 Self::SCENE => Some("SCENE"),
8075 Self::MESH => Some("MESH"),
8076 Self::PLANE => Some("PLANE"),
8077 _ => None,
8078 };
8079 fmt_enum(fmt, self.0, name)
8080 }
8081}
8082#[doc = "See [XrSemanticLabelBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelBD)"]
8083#[repr(transparent)]
8084#[derive(Copy, Clone, Eq, PartialEq, Default)]
8085pub struct SemanticLabelBD(i32);
8086impl SemanticLabelBD {
8087 #[doc = "Semantic label that the runtime does not know."]
8088 pub const UNKNOWN: SemanticLabelBD = Self(0i32);
8089 #[doc = "Semantic label of floor."]
8090 pub const FLOOR: SemanticLabelBD = Self(1i32);
8091 #[doc = "Semantic label of ceiling."]
8092 pub const CEILING: SemanticLabelBD = Self(2i32);
8093 #[doc = "Semantic label of wall."]
8094 pub const WALL: SemanticLabelBD = Self(3i32);
8095 #[doc = "Semantic label of door."]
8096 pub const DOOR: SemanticLabelBD = Self(4i32);
8097 #[doc = "Semantic label of window."]
8098 pub const WINDOW: SemanticLabelBD = Self(5i32);
8099 #[doc = "Semantic label of opening, usually refers to a space that something or someone can pass through."]
8100 pub const OPENING: SemanticLabelBD = Self(6i32);
8101 #[doc = "Semantic label of table."]
8102 pub const TABLE: SemanticLabelBD = Self(7i32);
8103 #[doc = "Semantic label of sofa, usually refers to a seat that multiple people can sit on."]
8104 pub const SOFA: SemanticLabelBD = Self(8i32);
8105 #[doc = "Semantic label of chair, usually refers to a seat that for one person."]
8106 pub const CHAIR: SemanticLabelBD = Self(9i32);
8107 #[doc = "Semantic label of human."]
8108 pub const HUMAN: SemanticLabelBD = Self(10i32);
8109 #[doc = "Semantic label of beam, which usually supports weight in a building or other structure."]
8110 pub const BEAM: SemanticLabelBD = Self(11i32);
8111 #[doc = "Semantic label of column, which is vertical and used as a support for the roof of a building."]
8112 pub const COLUMN: SemanticLabelBD = Self(12i32);
8113 #[doc = "Semantic label of curtain."]
8114 pub const CURTAIN: SemanticLabelBD = Self(13i32);
8115 #[doc = "Semantic label of cabinet."]
8116 pub const CABINET: SemanticLabelBD = Self(14i32);
8117 #[doc = "Semantic label of bed."]
8118 pub const BED: SemanticLabelBD = Self(15i32);
8119 #[doc = "Semantic label of plant."]
8120 pub const PLANT: SemanticLabelBD = Self(16i32);
8121 #[doc = "Semantic label of screen."]
8122 pub const SCREEN: SemanticLabelBD = Self(17i32);
8123 #[doc = "Semantic label of virtual wall, which is generated by the system scene capture app in order to create a closed space for users."]
8124 pub const VIRTUAL_WALL: SemanticLabelBD = Self(18i32);
8125 #[doc = "Semantic label of refrigerator."]
8126 pub const REFRIGERATOR: SemanticLabelBD = Self(19i32);
8127 #[doc = "Semantic label of washing machine."]
8128 pub const WASHING_MACHINE: SemanticLabelBD = Self(20i32);
8129 #[doc = "Semantic label of air conditioner."]
8130 pub const AIR_CONDITIONER: SemanticLabelBD = Self(21i32);
8131 #[doc = "Semantic label of lamp."]
8132 pub const LAMP: SemanticLabelBD = Self(22i32);
8133 #[doc = "Semantic label of wall art, like a painting or a photo frame."]
8134 pub const WALL_ART: SemanticLabelBD = Self(23i32);
8135 #[doc = "Semantic label of stairway."]
8136 pub const STAIRWAY: SemanticLabelBD = Self(24i32);
8137 pub fn from_raw(x: i32) -> Self {
8138 Self(x)
8139 }
8140 pub fn into_raw(self) -> i32 {
8141 self.0
8142 }
8143}
8144impl fmt::Debug for SemanticLabelBD {
8145 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8146 let name = match *self {
8147 Self::UNKNOWN => Some("UNKNOWN"),
8148 Self::FLOOR => Some("FLOOR"),
8149 Self::CEILING => Some("CEILING"),
8150 Self::WALL => Some("WALL"),
8151 Self::DOOR => Some("DOOR"),
8152 Self::WINDOW => Some("WINDOW"),
8153 Self::OPENING => Some("OPENING"),
8154 Self::TABLE => Some("TABLE"),
8155 Self::SOFA => Some("SOFA"),
8156 Self::CHAIR => Some("CHAIR"),
8157 Self::HUMAN => Some("HUMAN"),
8158 Self::BEAM => Some("BEAM"),
8159 Self::COLUMN => Some("COLUMN"),
8160 Self::CURTAIN => Some("CURTAIN"),
8161 Self::CABINET => Some("CABINET"),
8162 Self::BED => Some("BED"),
8163 Self::PLANT => Some("PLANT"),
8164 Self::SCREEN => Some("SCREEN"),
8165 Self::VIRTUAL_WALL => Some("VIRTUAL_WALL"),
8166 Self::REFRIGERATOR => Some("REFRIGERATOR"),
8167 Self::WASHING_MACHINE => Some("WASHING_MACHINE"),
8168 Self::AIR_CONDITIONER => Some("AIR_CONDITIONER"),
8169 Self::LAMP => Some("LAMP"),
8170 Self::WALL_ART => Some("WALL_ART"),
8171 Self::STAIRWAY => Some("STAIRWAY"),
8172 _ => None,
8173 };
8174 fmt_enum(fmt, self.0, name)
8175 }
8176}
8177#[doc = "See [XrSpatialEntityComponentTypeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentTypeBD)"]
8178#[repr(transparent)]
8179#[derive(Copy, Clone, Eq, PartialEq, Default)]
8180pub struct SpatialEntityComponentTypeBD(i32);
8181impl SpatialEntityComponentTypeBD {
8182 #[doc = "The location including position and rotation. Corresponds to component data structure XrSpatialEntityComponentDataLocationBD."]
8183 pub const LOCATION: SpatialEntityComponentTypeBD = Self(0i32);
8184 #[doc = "The semantic label. Corresponds to component data structure XrSpatialEntityComponentDataSemanticBD."]
8185 pub const SEMANTIC: SpatialEntityComponentTypeBD = Self(1i32);
8186 #[doc = "The two-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox2DBD."]
8187 pub const BOUNDING_BOX_2D: SpatialEntityComponentTypeBD = Self(2i32);
8188 #[doc = "The two-dimensional polygon. Corresponds to component data structure XrSpatialEntityComponentDataPolygonBD."]
8189 pub const POLYGON: SpatialEntityComponentTypeBD = Self(3i32);
8190 #[doc = "The three-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox3DBD."]
8191 pub const BOUNDING_BOX_3D: SpatialEntityComponentTypeBD = Self(4i32);
8192 #[doc = "The triangle mesh. Corresponds to component data structure XrSpatialEntityComponentDataTriangleMeshBD."]
8193 pub const TRIANGLE_MESH: SpatialEntityComponentTypeBD = Self(5i32);
8194 #[doc = "The plane orientation. Corresponds to component data structure XrSpatialEntityComponentDataPlaneOrientationBD."]
8195 pub const PLANE_ORIENTATION: SpatialEntityComponentTypeBD = Self(1000396000i32);
8196 pub fn from_raw(x: i32) -> Self {
8197 Self(x)
8198 }
8199 pub fn into_raw(self) -> i32 {
8200 self.0
8201 }
8202}
8203impl fmt::Debug for SpatialEntityComponentTypeBD {
8204 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8205 let name = match *self {
8206 Self::LOCATION => Some("LOCATION"),
8207 Self::SEMANTIC => Some("SEMANTIC"),
8208 Self::BOUNDING_BOX_2D => Some("BOUNDING_BOX_2D"),
8209 Self::POLYGON => Some("POLYGON"),
8210 Self::BOUNDING_BOX_3D => Some("BOUNDING_BOX_3D"),
8211 Self::TRIANGLE_MESH => Some("TRIANGLE_MESH"),
8212 Self::PLANE_ORIENTATION => Some("PLANE_ORIENTATION"),
8213 _ => None,
8214 };
8215 fmt_enum(fmt, self.0, name)
8216 }
8217}
8218#[doc = "See [XrSenseDataProviderStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderStateBD)"]
8219#[repr(transparent)]
8220#[derive(Copy, Clone, Eq, PartialEq, Default)]
8221pub struct SenseDataProviderStateBD(i32);
8222impl SenseDataProviderStateBD {
8223 #[doc = "The state after the provider is successfully created, which means the provider is ready to start."]
8224 pub const INITIALIZED: SenseDataProviderStateBD = Self(0i32);
8225 #[doc = "The state when the provider is running normally."]
8226 pub const RUNNING: SenseDataProviderStateBD = Self(1i32);
8227 #[doc = "The state after the provider is successfully stopped, or when an unexpected error occurs."]
8228 pub const STOPPED: SenseDataProviderStateBD = Self(2i32);
8229 pub fn from_raw(x: i32) -> Self {
8230 Self(x)
8231 }
8232 pub fn into_raw(self) -> i32 {
8233 self.0
8234 }
8235}
8236impl fmt::Debug for SenseDataProviderStateBD {
8237 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8238 let name = match *self {
8239 Self::INITIALIZED => Some("INITIALIZED"),
8240 Self::RUNNING => Some("RUNNING"),
8241 Self::STOPPED => Some("STOPPED"),
8242 _ => None,
8243 };
8244 fmt_enum(fmt, self.0, name)
8245 }
8246}
8247#[doc = "See [XrPersistenceLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistenceLocationBD)"]
8248#[repr(transparent)]
8249#[derive(Copy, Clone, Eq, PartialEq, Default)]
8250pub struct PersistenceLocationBD(i32);
8251impl PersistenceLocationBD {
8252 #[doc = "The persistence storage location is local to the device."]
8253 pub const LOCAL: PersistenceLocationBD = Self(0i32);
8254 pub fn from_raw(x: i32) -> Self {
8255 Self(x)
8256 }
8257 pub fn into_raw(self) -> i32 {
8258 self.0
8259 }
8260}
8261impl fmt::Debug for PersistenceLocationBD {
8262 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8263 let name = match *self {
8264 Self::LOCAL => Some("LOCAL"),
8265 _ => None,
8266 };
8267 fmt_enum(fmt, self.0, name)
8268 }
8269}
8270#[doc = "See [XrSpatialMeshLodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshLodBD)"]
8271#[repr(transparent)]
8272#[derive(Copy, Clone, Eq, PartialEq, Default)]
8273pub struct SpatialMeshLodBD(i32);
8274impl SpatialMeshLodBD {
8275 #[doc = "Coarse level for the mesh with less details."]
8276 pub const COARSE: SpatialMeshLodBD = Self(0i32);
8277 #[doc = "Medium level for the mesh."]
8278 pub const MEDIUM: SpatialMeshLodBD = Self(1i32);
8279 #[doc = "Fine level for the mesh with more details."]
8280 pub const FINE: SpatialMeshLodBD = Self(2i32);
8281 pub fn from_raw(x: i32) -> Self {
8282 Self(x)
8283 }
8284 pub fn into_raw(self) -> i32 {
8285 self.0
8286 }
8287}
8288impl fmt::Debug for SpatialMeshLodBD {
8289 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8290 let name = match *self {
8291 Self::COARSE => Some("COARSE"),
8292 Self::MEDIUM => Some("MEDIUM"),
8293 Self::FINE => Some("FINE"),
8294 _ => None,
8295 };
8296 fmt_enum(fmt, self.0, name)
8297 }
8298}
8299#[doc = "See [XrPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneOrientationBD)"]
8300#[repr(transparent)]
8301#[derive(Copy, Clone, Eq, PartialEq, Default)]
8302pub struct PlaneOrientationBD(i32);
8303impl PlaneOrientationBD {
8304 #[doc = "The detected plane is horizontal and faces upward (e.g. floor)."]
8305 pub const HORIZONTAL_UPWARD: PlaneOrientationBD = Self(0i32);
8306 #[doc = "The detected plane is horizontal and faces downward (e.g. ceiling)."]
8307 pub const HORIZONTAL_DOWNWARD: PlaneOrientationBD = Self(1i32);
8308 #[doc = "The detected plane is vertical (e.g. wall)."]
8309 pub const VERTICAL: PlaneOrientationBD = Self(2i32);
8310 #[doc = "The detected plane has an arbitrary, non-vertical and non-horizontal orientation."]
8311 pub const ARBITRARY: PlaneOrientationBD = Self(3i32);
8312 pub fn from_raw(x: i32) -> Self {
8313 Self(x)
8314 }
8315 pub fn into_raw(self) -> i32 {
8316 self.0
8317 }
8318}
8319impl fmt::Debug for PlaneOrientationBD {
8320 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8321 let name = match *self {
8322 Self::HORIZONTAL_UPWARD => Some("HORIZONTAL_UPWARD"),
8323 Self::HORIZONTAL_DOWNWARD => Some("HORIZONTAL_DOWNWARD"),
8324 Self::VERTICAL => Some("VERTICAL"),
8325 Self::ARBITRARY => Some("ARBITRARY"),
8326 _ => None,
8327 };
8328 fmt_enum(fmt, self.0, name)
8329 }
8330}
8331#[doc = "See [XrSpatialMarkerArucoDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerArucoDictEXT)"]
8332#[repr(transparent)]
8333#[derive(Copy, Clone, Eq, PartialEq)]
8334pub struct SpatialMarkerArucoDictEXT(i32);
8335impl SpatialMarkerArucoDictEXT {
8336 #[doc = "4 by 4 pixel Aruco marker dictionary with 50 IDs."]
8337 pub const DICT_4X4_50: SpatialMarkerArucoDictEXT = Self(1i32);
8338 #[doc = "4 by 4 pixel Aruco marker dictionary with 100 IDs."]
8339 pub const DICT_4X4_100: SpatialMarkerArucoDictEXT = Self(2i32);
8340 #[doc = "4 by 4 pixel Aruco marker dictionary with 250 IDs."]
8341 pub const DICT_4X4_250: SpatialMarkerArucoDictEXT = Self(3i32);
8342 #[doc = "4 by 4 pixel Aruco marker dictionary with 1000 IDs."]
8343 pub const DICT_4X4_1000: SpatialMarkerArucoDictEXT = Self(4i32);
8344 #[doc = "5 by 5 pixel Aruco marker dictionary with 50 IDs."]
8345 pub const DICT_5X5_50: SpatialMarkerArucoDictEXT = Self(5i32);
8346 #[doc = "5 by 5 pixel Aruco marker dictionary with 100 IDs."]
8347 pub const DICT_5X5_100: SpatialMarkerArucoDictEXT = Self(6i32);
8348 #[doc = "5 by 5 pixel Aruco marker dictionary with 250 IDs."]
8349 pub const DICT_5X5_250: SpatialMarkerArucoDictEXT = Self(7i32);
8350 #[doc = "5 by 5 pixel Aruco marker dictionary with 1000 IDs."]
8351 pub const DICT_5X5_1000: SpatialMarkerArucoDictEXT = Self(8i32);
8352 #[doc = "6 by 6 pixel Aruco marker dictionary with 50 IDs."]
8353 pub const DICT_6X6_50: SpatialMarkerArucoDictEXT = Self(9i32);
8354 #[doc = "6 by 6 pixel Aruco marker dictionary with 100 IDs."]
8355 pub const DICT_6X6_100: SpatialMarkerArucoDictEXT = Self(10i32);
8356 #[doc = "6 by 6 pixel Aruco marker dictionary with 250 IDs."]
8357 pub const DICT_6X6_250: SpatialMarkerArucoDictEXT = Self(11i32);
8358 #[doc = "6 by 6 pixel Aruco marker dictionary with 1000 IDs."]
8359 pub const DICT_6X6_1000: SpatialMarkerArucoDictEXT = Self(12i32);
8360 #[doc = "7 by 7 pixel Aruco marker dictionary with 50 IDs."]
8361 pub const DICT_7X7_50: SpatialMarkerArucoDictEXT = Self(13i32);
8362 #[doc = "7 by 7 pixel Aruco marker dictionary with 100 IDs."]
8363 pub const DICT_7X7_100: SpatialMarkerArucoDictEXT = Self(14i32);
8364 #[doc = "7 by 7 pixel Aruco marker dictionary with 250 IDs."]
8365 pub const DICT_7X7_250: SpatialMarkerArucoDictEXT = Self(15i32);
8366 #[doc = "7 by 7 pixel Aruco marker dictionary with 1000 IDs."]
8367 pub const DICT_7X7_1000: SpatialMarkerArucoDictEXT = Self(16i32);
8368 pub fn from_raw(x: i32) -> Self {
8369 Self(x)
8370 }
8371 pub fn into_raw(self) -> i32 {
8372 self.0
8373 }
8374}
8375impl fmt::Debug for SpatialMarkerArucoDictEXT {
8376 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8377 let name = match *self {
8378 Self::DICT_4X4_50 => Some("DICT_4X4_50"),
8379 Self::DICT_4X4_100 => Some("DICT_4X4_100"),
8380 Self::DICT_4X4_250 => Some("DICT_4X4_250"),
8381 Self::DICT_4X4_1000 => Some("DICT_4X4_1000"),
8382 Self::DICT_5X5_50 => Some("DICT_5X5_50"),
8383 Self::DICT_5X5_100 => Some("DICT_5X5_100"),
8384 Self::DICT_5X5_250 => Some("DICT_5X5_250"),
8385 Self::DICT_5X5_1000 => Some("DICT_5X5_1000"),
8386 Self::DICT_6X6_50 => Some("DICT_6X6_50"),
8387 Self::DICT_6X6_100 => Some("DICT_6X6_100"),
8388 Self::DICT_6X6_250 => Some("DICT_6X6_250"),
8389 Self::DICT_6X6_1000 => Some("DICT_6X6_1000"),
8390 Self::DICT_7X7_50 => Some("DICT_7X7_50"),
8391 Self::DICT_7X7_100 => Some("DICT_7X7_100"),
8392 Self::DICT_7X7_250 => Some("DICT_7X7_250"),
8393 Self::DICT_7X7_1000 => Some("DICT_7X7_1000"),
8394 _ => None,
8395 };
8396 fmt_enum(fmt, self.0, name)
8397 }
8398}
8399#[doc = "See [XrSpatialMarkerAprilTagDictEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerAprilTagDictEXT)"]
8400#[repr(transparent)]
8401#[derive(Copy, Clone, Eq, PartialEq)]
8402pub struct SpatialMarkerAprilTagDictEXT(i32);
8403impl SpatialMarkerAprilTagDictEXT {
8404 #[doc = "4 by 4 bits, minimum Hamming distance between any two codes = 5, 30 codes."]
8405 pub const DICT_16H5: SpatialMarkerAprilTagDictEXT = Self(1i32);
8406 #[doc = "5 by 5 bits, minimum Hamming distance between any two codes = 9, 35 codes."]
8407 pub const DICT_25H9: SpatialMarkerAprilTagDictEXT = Self(2i32);
8408 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 10, 2320 codes."]
8409 pub const DICT_36H10: SpatialMarkerAprilTagDictEXT = Self(3i32);
8410 #[doc = "6 by 6 bits, minimum Hamming distance between any two codes = 11, 587 codes."]
8411 pub const DICT_36H11: SpatialMarkerAprilTagDictEXT = Self(4i32);
8412 pub fn from_raw(x: i32) -> Self {
8413 Self(x)
8414 }
8415 pub fn into_raw(self) -> i32 {
8416 self.0
8417 }
8418}
8419impl fmt::Debug for SpatialMarkerAprilTagDictEXT {
8420 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8421 let name = match *self {
8422 Self::DICT_16H5 => Some("DICT_16H5"),
8423 Self::DICT_25H9 => Some("DICT_25H9"),
8424 Self::DICT_36H10 => Some("DICT_36H10"),
8425 Self::DICT_36H11 => Some("DICT_36H11"),
8426 _ => None,
8427 };
8428 fmt_enum(fmt, self.0, name)
8429 }
8430}
8431#[doc = "See [XrFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationModeBD)"]
8432#[repr(transparent)]
8433#[derive(Copy, Clone, Eq, PartialEq, Default)]
8434pub struct FacialSimulationModeBD(i32);
8435impl FacialSimulationModeBD {
8436 #[doc = "When calling xrGetFacialSimulationDataBD, the output contains the XrFacialSimulationDataBD only."]
8437 pub const DEFAULT: FacialSimulationModeBD = Self(0i32);
8438 #[doc = "Results in the same output as the `Default` mode, furthermore, runtime can provide a precise result by using the audio input."]
8439 pub const COMBINED_AUDIO: FacialSimulationModeBD = Self(1i32);
8440 #[doc = "Separates the result into two parts, one is XrFacialSimulationDataBD, the other is XrLipExpressionDataBD."]
8441 pub const COMBINED_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(2i32);
8442 #[doc = "Uses only audio input to produce the output result as XrLipExpressionDataBD."]
8443 pub const ONLY_AUDIO_WITH_LIP: FacialSimulationModeBD = Self(3i32);
8444 pub fn from_raw(x: i32) -> Self {
8445 Self(x)
8446 }
8447 pub fn into_raw(self) -> i32 {
8448 self.0
8449 }
8450}
8451impl fmt::Debug for FacialSimulationModeBD {
8452 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8453 let name = match *self {
8454 Self::DEFAULT => Some("DEFAULT"),
8455 Self::COMBINED_AUDIO => Some("COMBINED_AUDIO"),
8456 Self::COMBINED_AUDIO_WITH_LIP => Some("COMBINED_AUDIO_WITH_LIP"),
8457 Self::ONLY_AUDIO_WITH_LIP => Some("ONLY_AUDIO_WITH_LIP"),
8458 _ => None,
8459 };
8460 fmt_enum(fmt, self.0, name)
8461 }
8462}
8463#[doc = "See [XrFaceExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionBD)"]
8464#[repr(transparent)]
8465#[derive(Copy, Clone, Eq, PartialEq, Default)]
8466pub struct FaceExpressionBD(i32);
8467impl FaceExpressionBD {
8468 pub const BROW_DROP_L: FaceExpressionBD = Self(0i32);
8469 pub const BROW_DROP_R: FaceExpressionBD = Self(1i32);
8470 pub const BROW_INNER_UPWARDS: FaceExpressionBD = Self(2i32);
8471 pub const BROW_OUTER_UPWARDS_L: FaceExpressionBD = Self(3i32);
8472 pub const BROW_OUTER_UPWARDS_R: FaceExpressionBD = Self(4i32);
8473 pub const EYE_BLINK_L: FaceExpressionBD = Self(5i32);
8474 pub const EYE_LOOK_DROP_L: FaceExpressionBD = Self(6i32);
8475 pub const EYE_LOOK_IN_L: FaceExpressionBD = Self(7i32);
8476 pub const EYE_LOOK_OUT_L: FaceExpressionBD = Self(8i32);
8477 pub const EYE_LOOK_UPWARDS_L: FaceExpressionBD = Self(9i32);
8478 pub const EYE_LOOK_SQUINT_L: FaceExpressionBD = Self(10i32);
8479 pub const EYE_LOOK_WIDE_L: FaceExpressionBD = Self(11i32);
8480 pub const EYE_BLINK_R: FaceExpressionBD = Self(12i32);
8481 pub const EYE_LOOK_DROP_R: FaceExpressionBD = Self(13i32);
8482 pub const EYE_LOOK_IN_R: FaceExpressionBD = Self(14i32);
8483 pub const EYE_LOOK_OUT_R: FaceExpressionBD = Self(15i32);
8484 pub const EYE_LOOK_UPWARDS_R: FaceExpressionBD = Self(16i32);
8485 pub const EYE_LOOK_SQUINT_R: FaceExpressionBD = Self(17i32);
8486 pub const EYE_LOOK_WIDE_R: FaceExpressionBD = Self(18i32);
8487 pub const NOSE_SNEER_L: FaceExpressionBD = Self(19i32);
8488 pub const NOSE_SNEER_R: FaceExpressionBD = Self(20i32);
8489 pub const CHEEK_PUFF: FaceExpressionBD = Self(21i32);
8490 pub const CHEEK_SQUINT_L: FaceExpressionBD = Self(22i32);
8491 pub const CHEEK_SQUINT_R: FaceExpressionBD = Self(23i32);
8492 pub const MOUTH_CLOSE: FaceExpressionBD = Self(24i32);
8493 pub const MOUTH_FUNNEL: FaceExpressionBD = Self(25i32);
8494 pub const MOUTH_PUCKER: FaceExpressionBD = Self(26i32);
8495 pub const MOUTH_L: FaceExpressionBD = Self(27i32);
8496 pub const MOUTH_R: FaceExpressionBD = Self(28i32);
8497 pub const MOUTH_SMILE_L: FaceExpressionBD = Self(29i32);
8498 pub const MOUTH_SMILE_R: FaceExpressionBD = Self(30i32);
8499 pub const MOUTH_FROWN_L: FaceExpressionBD = Self(31i32);
8500 pub const MOUTH_FROWN_R: FaceExpressionBD = Self(32i32);
8501 pub const MOUTH_DIMPLE_L: FaceExpressionBD = Self(33i32);
8502 pub const MOUTH_DIMPLE_R: FaceExpressionBD = Self(34i32);
8503 pub const MOUTH_STRETCH_L: FaceExpressionBD = Self(35i32);
8504 pub const MOUTH_STRETCH_R: FaceExpressionBD = Self(36i32);
8505 pub const MOUTH_ROLL_LOWER: FaceExpressionBD = Self(37i32);
8506 pub const MOUTH_ROLL_UPPER: FaceExpressionBD = Self(38i32);
8507 pub const MOUTH_SHRUG_LOWER: FaceExpressionBD = Self(39i32);
8508 pub const MOUTH_SHRUG_UPPER: FaceExpressionBD = Self(40i32);
8509 pub const MOUTH_PRESS_L: FaceExpressionBD = Self(41i32);
8510 pub const MOUTH_PRESS_R: FaceExpressionBD = Self(42i32);
8511 pub const MOUTH_LOWER_DROP_L: FaceExpressionBD = Self(43i32);
8512 pub const MOUTH_LOWER_DROP_R: FaceExpressionBD = Self(44i32);
8513 pub const MOUTH_UPPER_UPWARDS_L: FaceExpressionBD = Self(45i32);
8514 pub const MOUTH_UPPER_UPWARDS_R: FaceExpressionBD = Self(46i32);
8515 pub const JAW_FORWARD: FaceExpressionBD = Self(47i32);
8516 pub const JAW_L: FaceExpressionBD = Self(48i32);
8517 pub const JAW_R: FaceExpressionBD = Self(49i32);
8518 pub const JAW_OPEN: FaceExpressionBD = Self(50i32);
8519 pub const TONGUE_OUT: FaceExpressionBD = Self(51i32);
8520 pub fn from_raw(x: i32) -> Self {
8521 Self(x)
8522 }
8523 pub fn into_raw(self) -> i32 {
8524 self.0
8525 }
8526}
8527impl fmt::Debug for FaceExpressionBD {
8528 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8529 let name = match *self {
8530 Self::BROW_DROP_L => Some("BROW_DROP_L"),
8531 Self::BROW_DROP_R => Some("BROW_DROP_R"),
8532 Self::BROW_INNER_UPWARDS => Some("BROW_INNER_UPWARDS"),
8533 Self::BROW_OUTER_UPWARDS_L => Some("BROW_OUTER_UPWARDS_L"),
8534 Self::BROW_OUTER_UPWARDS_R => Some("BROW_OUTER_UPWARDS_R"),
8535 Self::EYE_BLINK_L => Some("EYE_BLINK_L"),
8536 Self::EYE_LOOK_DROP_L => Some("EYE_LOOK_DROP_L"),
8537 Self::EYE_LOOK_IN_L => Some("EYE_LOOK_IN_L"),
8538 Self::EYE_LOOK_OUT_L => Some("EYE_LOOK_OUT_L"),
8539 Self::EYE_LOOK_UPWARDS_L => Some("EYE_LOOK_UPWARDS_L"),
8540 Self::EYE_LOOK_SQUINT_L => Some("EYE_LOOK_SQUINT_L"),
8541 Self::EYE_LOOK_WIDE_L => Some("EYE_LOOK_WIDE_L"),
8542 Self::EYE_BLINK_R => Some("EYE_BLINK_R"),
8543 Self::EYE_LOOK_DROP_R => Some("EYE_LOOK_DROP_R"),
8544 Self::EYE_LOOK_IN_R => Some("EYE_LOOK_IN_R"),
8545 Self::EYE_LOOK_OUT_R => Some("EYE_LOOK_OUT_R"),
8546 Self::EYE_LOOK_UPWARDS_R => Some("EYE_LOOK_UPWARDS_R"),
8547 Self::EYE_LOOK_SQUINT_R => Some("EYE_LOOK_SQUINT_R"),
8548 Self::EYE_LOOK_WIDE_R => Some("EYE_LOOK_WIDE_R"),
8549 Self::NOSE_SNEER_L => Some("NOSE_SNEER_L"),
8550 Self::NOSE_SNEER_R => Some("NOSE_SNEER_R"),
8551 Self::CHEEK_PUFF => Some("CHEEK_PUFF"),
8552 Self::CHEEK_SQUINT_L => Some("CHEEK_SQUINT_L"),
8553 Self::CHEEK_SQUINT_R => Some("CHEEK_SQUINT_R"),
8554 Self::MOUTH_CLOSE => Some("MOUTH_CLOSE"),
8555 Self::MOUTH_FUNNEL => Some("MOUTH_FUNNEL"),
8556 Self::MOUTH_PUCKER => Some("MOUTH_PUCKER"),
8557 Self::MOUTH_L => Some("MOUTH_L"),
8558 Self::MOUTH_R => Some("MOUTH_R"),
8559 Self::MOUTH_SMILE_L => Some("MOUTH_SMILE_L"),
8560 Self::MOUTH_SMILE_R => Some("MOUTH_SMILE_R"),
8561 Self::MOUTH_FROWN_L => Some("MOUTH_FROWN_L"),
8562 Self::MOUTH_FROWN_R => Some("MOUTH_FROWN_R"),
8563 Self::MOUTH_DIMPLE_L => Some("MOUTH_DIMPLE_L"),
8564 Self::MOUTH_DIMPLE_R => Some("MOUTH_DIMPLE_R"),
8565 Self::MOUTH_STRETCH_L => Some("MOUTH_STRETCH_L"),
8566 Self::MOUTH_STRETCH_R => Some("MOUTH_STRETCH_R"),
8567 Self::MOUTH_ROLL_LOWER => Some("MOUTH_ROLL_LOWER"),
8568 Self::MOUTH_ROLL_UPPER => Some("MOUTH_ROLL_UPPER"),
8569 Self::MOUTH_SHRUG_LOWER => Some("MOUTH_SHRUG_LOWER"),
8570 Self::MOUTH_SHRUG_UPPER => Some("MOUTH_SHRUG_UPPER"),
8571 Self::MOUTH_PRESS_L => Some("MOUTH_PRESS_L"),
8572 Self::MOUTH_PRESS_R => Some("MOUTH_PRESS_R"),
8573 Self::MOUTH_LOWER_DROP_L => Some("MOUTH_LOWER_DROP_L"),
8574 Self::MOUTH_LOWER_DROP_R => Some("MOUTH_LOWER_DROP_R"),
8575 Self::MOUTH_UPPER_UPWARDS_L => Some("MOUTH_UPPER_UPWARDS_L"),
8576 Self::MOUTH_UPPER_UPWARDS_R => Some("MOUTH_UPPER_UPWARDS_R"),
8577 Self::JAW_FORWARD => Some("JAW_FORWARD"),
8578 Self::JAW_L => Some("JAW_L"),
8579 Self::JAW_R => Some("JAW_R"),
8580 Self::JAW_OPEN => Some("JAW_OPEN"),
8581 Self::TONGUE_OUT => Some("TONGUE_OUT"),
8582 _ => None,
8583 };
8584 fmt_enum(fmt, self.0, name)
8585 }
8586}
8587#[doc = "See [XrLipExpressionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionBD)"]
8588#[repr(transparent)]
8589#[derive(Copy, Clone, Eq, PartialEq, Default)]
8590pub struct LipExpressionBD(i32);
8591impl LipExpressionBD {
8592 pub const PP: LipExpressionBD = Self(0i32);
8593 pub const CH: LipExpressionBD = Self(1i32);
8594 pub const LO: LipExpressionBD = Self(2i32);
8595 pub const O: LipExpressionBD = Self(3i32);
8596 pub const I: LipExpressionBD = Self(4i32);
8597 pub const LU: LipExpressionBD = Self(5i32);
8598 pub const RR: LipExpressionBD = Self(6i32);
8599 pub const XX: LipExpressionBD = Self(7i32);
8600 pub const LAA: LipExpressionBD = Self(8i32);
8601 pub const LI: LipExpressionBD = Self(9i32);
8602 pub const FF: LipExpressionBD = Self(10i32);
8603 pub const U: LipExpressionBD = Self(11i32);
8604 pub const TH: LipExpressionBD = Self(12i32);
8605 pub const LKK: LipExpressionBD = Self(13i32);
8606 pub const SS: LipExpressionBD = Self(14i32);
8607 pub const LE: LipExpressionBD = Self(15i32);
8608 pub const DD: LipExpressionBD = Self(16i32);
8609 pub const E: LipExpressionBD = Self(17i32);
8610 pub const LNN: LipExpressionBD = Self(18i32);
8611 pub const SIL: LipExpressionBD = Self(19i32);
8612 pub fn from_raw(x: i32) -> Self {
8613 Self(x)
8614 }
8615 pub fn into_raw(self) -> i32 {
8616 self.0
8617 }
8618}
8619impl fmt::Debug for LipExpressionBD {
8620 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8621 let name = match *self {
8622 Self::PP => Some("PP"),
8623 Self::CH => Some("CH"),
8624 Self::LO => Some("LO"),
8625 Self::O => Some("O"),
8626 Self::I => Some("I"),
8627 Self::LU => Some("LU"),
8628 Self::RR => Some("RR"),
8629 Self::XX => Some("XX"),
8630 Self::LAA => Some("LAA"),
8631 Self::LI => Some("LI"),
8632 Self::FF => Some("FF"),
8633 Self::U => Some("U"),
8634 Self::TH => Some("TH"),
8635 Self::LKK => Some("LKK"),
8636 Self::SS => Some("SS"),
8637 Self::LE => Some("LE"),
8638 Self::DD => Some("DD"),
8639 Self::E => Some("E"),
8640 Self::LNN => Some("LNN"),
8641 Self::SIL => Some("SIL"),
8642 _ => None,
8643 };
8644 fmt_enum(fmt, self.0, name)
8645 }
8646}
8647#[doc = "See [XrSpatialObjectSemanticLabelANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialObjectSemanticLabelANDROID)"]
8648#[repr(transparent)]
8649#[derive(Copy, Clone, Eq, PartialEq, Default)]
8650pub struct SpatialObjectSemanticLabelANDROID(i32);
8651impl SpatialObjectSemanticLabelANDROID {
8652 #[doc = "The runtime was unable to classify this entity."]
8653 pub const UNCATEGORIZED: SpatialObjectSemanticLabelANDROID = Self(0i32);
8654 #[doc = "The entity is a keyboard."]
8655 pub const KEYBOARD: SpatialObjectSemanticLabelANDROID = Self(1i32);
8656 #[doc = "The entity is a mouse."]
8657 pub const MOUSE: SpatialObjectSemanticLabelANDROID = Self(2i32);
8658 #[doc = "The entity is a laptop."]
8659 pub const LAPTOP_BASE: SpatialObjectSemanticLabelANDROID = Self(3i32);
8660 pub fn from_raw(x: i32) -> Self {
8661 Self(x)
8662 }
8663 pub fn into_raw(self) -> i32 {
8664 self.0
8665 }
8666}
8667impl fmt::Debug for SpatialObjectSemanticLabelANDROID {
8668 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8669 let name = match *self {
8670 Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
8671 Self::KEYBOARD => Some("KEYBOARD"),
8672 Self::MOUSE => Some("MOUSE"),
8673 Self::LAPTOP_BASE => Some("LAPTOP_BASE"),
8674 _ => None,
8675 };
8676 fmt_enum(fmt, self.0, name)
8677 }
8678}
8679#[doc = "See [XrEnvironmentRaycastHitStatusMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastHitStatusMETA)"]
8680#[repr(transparent)]
8681#[derive(Copy, Clone, Eq, PartialEq)]
8682pub struct EnvironmentRaycastHitStatusMETA(i32);
8683impl EnvironmentRaycastHitStatusMETA {
8684 #[doc = "The intersection with the environment is found."]
8685 pub const HIT: EnvironmentRaycastHitStatusMETA = Self(1i32);
8686 #[doc = "The intersection with the environment is not found."]
8687 pub const NO_HIT: EnvironmentRaycastHitStatusMETA = Self(2i32);
8688 #[doc = "The ray intersects with the environment, but the actual hit point is invisible."]
8689 pub const HIT_POINT_OCCLUDED: EnvironmentRaycastHitStatusMETA = Self(3i32);
8690 #[doc = "The hit point can't be determined because it lies outside of the field of view."]
8691 pub const HIT_POINT_OUTSIDE_OF_FOV: EnvironmentRaycastHitStatusMETA = Self(4i32);
8692 #[doc = "The ray is completely occluded by the environment."]
8693 pub const RAY_OCCLUDED: EnvironmentRaycastHitStatusMETA = Self(5i32);
8694 #[doc = "The intersection with the environment is found, but the hit orientation cannot be determined."]
8695 pub const HIT_INVALID_ORIENTATION: EnvironmentRaycastHitStatusMETA = Self(6i32);
8696 pub fn from_raw(x: i32) -> Self {
8697 Self(x)
8698 }
8699 pub fn into_raw(self) -> i32 {
8700 self.0
8701 }
8702}
8703impl fmt::Debug for EnvironmentRaycastHitStatusMETA {
8704 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8705 let name = match *self {
8706 Self::HIT => Some("HIT"),
8707 Self::NO_HIT => Some("NO_HIT"),
8708 Self::HIT_POINT_OCCLUDED => Some("HIT_POINT_OCCLUDED"),
8709 Self::HIT_POINT_OUTSIDE_OF_FOV => Some("HIT_POINT_OUTSIDE_OF_FOV"),
8710 Self::RAY_OCCLUDED => Some("RAY_OCCLUDED"),
8711 Self::HIT_INVALID_ORIENTATION => Some("HIT_INVALID_ORIENTATION"),
8712 _ => None,
8713 };
8714 fmt_enum(fmt, self.0, name)
8715 }
8716}
8717#[doc = "See [XrHandGestureTypeQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandGestureTypeQCOM)"]
8718#[repr(transparent)]
8719#[derive(Copy, Clone, Eq, PartialEq, Default)]
8720pub struct HandGestureTypeQCOM(i32);
8721impl HandGestureTypeQCOM {
8722 #[doc = "Indicates that no gesture can be detected."]
8723 pub const UNKNOWN: HandGestureTypeQCOM = Self(-1i32);
8724 #[doc = "The open hand gesture is a neutral position. It is performed by extending the hand with the fingers opened and the palm away from the user."]
8725 pub const OPEN_HAND: HandGestureTypeQCOM = Self(0i32);
8726 #[doc = "The grab gesture is performed by placing the hand in front of the user and closing the hand into a fist."]
8727 pub const GRAB: HandGestureTypeQCOM = Self(2i32);
8728 #[doc = "The pinch gesture is performed by touching the tip of the thumb to the tip of the index finger while extending the remaining fingers."]
8729 pub const PINCH: HandGestureTypeQCOM = Self(7i32);
8730 pub fn from_raw(x: i32) -> Self {
8731 Self(x)
8732 }
8733 pub fn into_raw(self) -> i32 {
8734 self.0
8735 }
8736}
8737impl fmt::Debug for HandGestureTypeQCOM {
8738 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8739 let name = match *self {
8740 Self::UNKNOWN => Some("UNKNOWN"),
8741 Self::OPEN_HAND => Some("OPEN_HAND"),
8742 Self::GRAB => Some("GRAB"),
8743 Self::PINCH => Some("PINCH"),
8744 _ => None,
8745 };
8746 fmt_enum(fmt, self.0, name)
8747 }
8748}
8749#[doc = "See [XrHandEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandEXT)"]
8750#[repr(transparent)]
8751#[derive(Copy, Clone, Eq, PartialEq)]
8752pub struct HandEXT(i32);
8753impl HandEXT {
8754 pub const LEFT: HandEXT = Self(1i32);
8755 pub const RIGHT: HandEXT = Self(2i32);
8756 pub fn from_raw(x: i32) -> Self {
8757 Self(x)
8758 }
8759 pub fn into_raw(self) -> i32 {
8760 self.0
8761 }
8762}
8763impl fmt::Debug for HandEXT {
8764 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8765 let name = match *self {
8766 Self::LEFT => Some("LEFT"),
8767 Self::RIGHT => Some("RIGHT"),
8768 _ => None,
8769 };
8770 fmt_enum(fmt, self.0, name)
8771 }
8772}
8773#[doc = "See [XrHandJointEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointEXT)"]
8774#[repr(transparent)]
8775#[derive(Copy, Clone, Eq, PartialEq, Default)]
8776pub struct HandJointEXT(i32);
8777impl HandJointEXT {
8778 pub const PALM: HandJointEXT = Self(0i32);
8779 pub const WRIST: HandJointEXT = Self(1i32);
8780 pub const THUMB_METACARPAL: HandJointEXT = Self(2i32);
8781 pub const THUMB_PROXIMAL: HandJointEXT = Self(3i32);
8782 pub const THUMB_DISTAL: HandJointEXT = Self(4i32);
8783 pub const THUMB_TIP: HandJointEXT = Self(5i32);
8784 pub const INDEX_METACARPAL: HandJointEXT = Self(6i32);
8785 pub const INDEX_PROXIMAL: HandJointEXT = Self(7i32);
8786 pub const INDEX_INTERMEDIATE: HandJointEXT = Self(8i32);
8787 pub const INDEX_DISTAL: HandJointEXT = Self(9i32);
8788 pub const INDEX_TIP: HandJointEXT = Self(10i32);
8789 pub const MIDDLE_METACARPAL: HandJointEXT = Self(11i32);
8790 pub const MIDDLE_PROXIMAL: HandJointEXT = Self(12i32);
8791 pub const MIDDLE_INTERMEDIATE: HandJointEXT = Self(13i32);
8792 pub const MIDDLE_DISTAL: HandJointEXT = Self(14i32);
8793 pub const MIDDLE_TIP: HandJointEXT = Self(15i32);
8794 pub const RING_METACARPAL: HandJointEXT = Self(16i32);
8795 pub const RING_PROXIMAL: HandJointEXT = Self(17i32);
8796 pub const RING_INTERMEDIATE: HandJointEXT = Self(18i32);
8797 pub const RING_DISTAL: HandJointEXT = Self(19i32);
8798 pub const RING_TIP: HandJointEXT = Self(20i32);
8799 pub const LITTLE_METACARPAL: HandJointEXT = Self(21i32);
8800 pub const LITTLE_PROXIMAL: HandJointEXT = Self(22i32);
8801 pub const LITTLE_INTERMEDIATE: HandJointEXT = Self(23i32);
8802 pub const LITTLE_DISTAL: HandJointEXT = Self(24i32);
8803 pub const LITTLE_TIP: HandJointEXT = Self(25i32);
8804 pub fn from_raw(x: i32) -> Self {
8805 Self(x)
8806 }
8807 pub fn into_raw(self) -> i32 {
8808 self.0
8809 }
8810}
8811impl fmt::Debug for HandJointEXT {
8812 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8813 let name = match *self {
8814 Self::PALM => Some("PALM"),
8815 Self::WRIST => Some("WRIST"),
8816 Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
8817 Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
8818 Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
8819 Self::THUMB_TIP => Some("THUMB_TIP"),
8820 Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
8821 Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
8822 Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
8823 Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
8824 Self::INDEX_TIP => Some("INDEX_TIP"),
8825 Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
8826 Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
8827 Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
8828 Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
8829 Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
8830 Self::RING_METACARPAL => Some("RING_METACARPAL"),
8831 Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
8832 Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
8833 Self::RING_DISTAL => Some("RING_DISTAL"),
8834 Self::RING_TIP => Some("RING_TIP"),
8835 Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
8836 Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
8837 Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
8838 Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
8839 Self::LITTLE_TIP => Some("LITTLE_TIP"),
8840 _ => None,
8841 };
8842 fmt_enum(fmt, self.0, name)
8843 }
8844}
8845#[doc = "See [XrHandJointSetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointSetEXT)"]
8846#[repr(transparent)]
8847#[derive(Copy, Clone, Eq, PartialEq, Default)]
8848pub struct HandJointSetEXT(i32);
8849impl HandJointSetEXT {
8850 pub const DEFAULT: HandJointSetEXT = Self(0i32);
8851 pub const HAND_WITH_FOREARM_ULTRA: HandJointSetEXT = Self(1000149000i32);
8852 pub fn from_raw(x: i32) -> Self {
8853 Self(x)
8854 }
8855 pub fn into_raw(self) -> i32 {
8856 self.0
8857 }
8858}
8859impl fmt::Debug for HandJointSetEXT {
8860 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8861 let name = match *self {
8862 Self::DEFAULT => Some("DEFAULT"),
8863 Self::HAND_WITH_FOREARM_ULTRA => Some("HAND_WITH_FOREARM_ULTRA"),
8864 _ => None,
8865 };
8866 fmt_enum(fmt, self.0, name)
8867 }
8868}
8869#[doc = "See [XrHandJointsMotionRangeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsMotionRangeEXT)"]
8870#[repr(transparent)]
8871#[derive(Copy, Clone, Eq, PartialEq)]
8872pub struct HandJointsMotionRangeEXT(i32);
8873impl HandJointsMotionRangeEXT {
8874 pub const UNOBSTRUCTED: HandJointsMotionRangeEXT = Self(1i32);
8875 pub const CONFORMING_TO_CONTROLLER: HandJointsMotionRangeEXT = Self(2i32);
8876 pub fn from_raw(x: i32) -> Self {
8877 Self(x)
8878 }
8879 pub fn into_raw(self) -> i32 {
8880 self.0
8881 }
8882}
8883impl fmt::Debug for HandJointsMotionRangeEXT {
8884 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8885 let name = match *self {
8886 Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
8887 Self::CONFORMING_TO_CONTROLLER => Some("CONFORMING_TO_CONTROLLER"),
8888 _ => None,
8889 };
8890 fmt_enum(fmt, self.0, name)
8891 }
8892}
8893#[doc = "See [XrHandTrackingDataSourceEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceEXT)"]
8894#[repr(transparent)]
8895#[derive(Copy, Clone, Eq, PartialEq)]
8896pub struct HandTrackingDataSourceEXT(i32);
8897impl HandTrackingDataSourceEXT {
8898 #[doc = "This data source value indicates individual fingers and joints are tracked from unobstructed data source such as optical hand tracking, data gloves, or motion capture devices."]
8899 pub const UNOBSTRUCTED: HandTrackingDataSourceEXT = Self(1i32);
8900 #[doc = "This data source value indicates hand joints are inferred based on motion controller state."]
8901 pub const CONTROLLER: HandTrackingDataSourceEXT = Self(2i32);
8902 pub fn from_raw(x: i32) -> Self {
8903 Self(x)
8904 }
8905 pub fn into_raw(self) -> i32 {
8906 self.0
8907 }
8908}
8909impl fmt::Debug for HandTrackingDataSourceEXT {
8910 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8911 let name = match *self {
8912 Self::UNOBSTRUCTED => Some("UNOBSTRUCTED"),
8913 Self::CONTROLLER => Some("CONTROLLER"),
8914 _ => None,
8915 };
8916 fmt_enum(fmt, self.0, name)
8917 }
8918}
8919#[doc = "See [XrHandPoseTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandPoseTypeMSFT)"]
8920#[repr(transparent)]
8921#[derive(Copy, Clone, Eq, PartialEq, Default)]
8922pub struct HandPoseTypeMSFT(i32);
8923impl HandPoseTypeMSFT {
8924 pub const TRACKED: HandPoseTypeMSFT = Self(0i32);
8925 pub const REFERENCE_OPEN_PALM: HandPoseTypeMSFT = Self(1i32);
8926 pub fn from_raw(x: i32) -> Self {
8927 Self(x)
8928 }
8929 pub fn into_raw(self) -> i32 {
8930 self.0
8931 }
8932}
8933impl fmt::Debug for HandPoseTypeMSFT {
8934 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8935 let name = match *self {
8936 Self::TRACKED => Some("TRACKED"),
8937 Self::REFERENCE_OPEN_PALM => Some("REFERENCE_OPEN_PALM"),
8938 _ => None,
8939 };
8940 fmt_enum(fmt, self.0, name)
8941 }
8942}
8943#[doc = "See [XrSceneObjectTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObjectTypeMSFT)"]
8944#[repr(transparent)]
8945#[derive(Copy, Clone, Eq, PartialEq)]
8946pub struct SceneObjectTypeMSFT(i32);
8947impl SceneObjectTypeMSFT {
8948 pub const UNCATEGORIZED: SceneObjectTypeMSFT = Self(-1i32);
8949 pub const BACKGROUND: SceneObjectTypeMSFT = Self(1i32);
8950 pub const WALL: SceneObjectTypeMSFT = Self(2i32);
8951 pub const FLOOR: SceneObjectTypeMSFT = Self(3i32);
8952 pub const CEILING: SceneObjectTypeMSFT = Self(4i32);
8953 pub const PLATFORM: SceneObjectTypeMSFT = Self(5i32);
8954 pub const INFERRED: SceneObjectTypeMSFT = Self(6i32);
8955 pub fn from_raw(x: i32) -> Self {
8956 Self(x)
8957 }
8958 pub fn into_raw(self) -> i32 {
8959 self.0
8960 }
8961}
8962impl fmt::Debug for SceneObjectTypeMSFT {
8963 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8964 let name = match *self {
8965 Self::UNCATEGORIZED => Some("UNCATEGORIZED"),
8966 Self::BACKGROUND => Some("BACKGROUND"),
8967 Self::WALL => Some("WALL"),
8968 Self::FLOOR => Some("FLOOR"),
8969 Self::CEILING => Some("CEILING"),
8970 Self::PLATFORM => Some("PLATFORM"),
8971 Self::INFERRED => Some("INFERRED"),
8972 _ => None,
8973 };
8974 fmt_enum(fmt, self.0, name)
8975 }
8976}
8977#[doc = "See [XrScenePlaneAlignmentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrScenePlaneAlignmentTypeMSFT)"]
8978#[repr(transparent)]
8979#[derive(Copy, Clone, Eq, PartialEq, Default)]
8980pub struct ScenePlaneAlignmentTypeMSFT(i32);
8981impl ScenePlaneAlignmentTypeMSFT {
8982 pub const NON_ORTHOGONAL: ScenePlaneAlignmentTypeMSFT = Self(0i32);
8983 pub const HORIZONTAL: ScenePlaneAlignmentTypeMSFT = Self(1i32);
8984 pub const VERTICAL: ScenePlaneAlignmentTypeMSFT = Self(2i32);
8985 pub fn from_raw(x: i32) -> Self {
8986 Self(x)
8987 }
8988 pub fn into_raw(self) -> i32 {
8989 self.0
8990 }
8991}
8992impl fmt::Debug for ScenePlaneAlignmentTypeMSFT {
8993 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
8994 let name = match *self {
8995 Self::NON_ORTHOGONAL => Some("NON_ORTHOGONAL"),
8996 Self::HORIZONTAL => Some("HORIZONTAL"),
8997 Self::VERTICAL => Some("VERTICAL"),
8998 _ => None,
8999 };
9000 fmt_enum(fmt, self.0, name)
9001 }
9002}
9003#[doc = "See [XrSceneComputeStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeStateMSFT)"]
9004#[repr(transparent)]
9005#[derive(Copy, Clone, Eq, PartialEq, Default)]
9006pub struct SceneComputeStateMSFT(i32);
9007impl SceneComputeStateMSFT {
9008 pub const NONE: SceneComputeStateMSFT = Self(0i32);
9009 pub const UPDATING: SceneComputeStateMSFT = Self(1i32);
9010 pub const COMPLETED: SceneComputeStateMSFT = Self(2i32);
9011 pub const COMPLETED_WITH_ERROR: SceneComputeStateMSFT = Self(3i32);
9012 pub fn from_raw(x: i32) -> Self {
9013 Self(x)
9014 }
9015 pub fn into_raw(self) -> i32 {
9016 self.0
9017 }
9018}
9019impl fmt::Debug for SceneComputeStateMSFT {
9020 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9021 let name = match *self {
9022 Self::NONE => Some("NONE"),
9023 Self::UPDATING => Some("UPDATING"),
9024 Self::COMPLETED => Some("COMPLETED"),
9025 Self::COMPLETED_WITH_ERROR => Some("COMPLETED_WITH_ERROR"),
9026 _ => None,
9027 };
9028 fmt_enum(fmt, self.0, name)
9029 }
9030}
9031#[doc = "See [XrSceneComputeFeatureMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeFeatureMSFT)"]
9032#[repr(transparent)]
9033#[derive(Copy, Clone, Eq, PartialEq)]
9034pub struct SceneComputeFeatureMSFT(i32);
9035impl SceneComputeFeatureMSFT {
9036 pub const PLANE: SceneComputeFeatureMSFT = Self(1i32);
9037 pub const PLANE_MESH: SceneComputeFeatureMSFT = Self(2i32);
9038 pub const VISUAL_MESH: SceneComputeFeatureMSFT = Self(3i32);
9039 pub const COLLIDER_MESH: SceneComputeFeatureMSFT = Self(4i32);
9040 pub const SERIALIZE_SCENE: SceneComputeFeatureMSFT = Self(1000098000i32);
9041 pub const MARKER: SceneComputeFeatureMSFT = Self(1000147000i32);
9042 pub fn from_raw(x: i32) -> Self {
9043 Self(x)
9044 }
9045 pub fn into_raw(self) -> i32 {
9046 self.0
9047 }
9048}
9049impl fmt::Debug for SceneComputeFeatureMSFT {
9050 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9051 let name = match *self {
9052 Self::PLANE => Some("PLANE"),
9053 Self::PLANE_MESH => Some("PLANE_MESH"),
9054 Self::VISUAL_MESH => Some("VISUAL_MESH"),
9055 Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
9056 Self::SERIALIZE_SCENE => Some("SERIALIZE_SCENE"),
9057 Self::MARKER => Some("MARKER"),
9058 _ => None,
9059 };
9060 fmt_enum(fmt, self.0, name)
9061 }
9062}
9063#[doc = "See [XrSceneComputeConsistencyMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComputeConsistencyMSFT)"]
9064#[repr(transparent)]
9065#[derive(Copy, Clone, Eq, PartialEq)]
9066pub struct SceneComputeConsistencyMSFT(i32);
9067impl SceneComputeConsistencyMSFT {
9068 pub const SNAPSHOT_COMPLETE: SceneComputeConsistencyMSFT = Self(1i32);
9069 pub const SNAPSHOT_INCOMPLETE_FAST: SceneComputeConsistencyMSFT = Self(2i32);
9070 pub const OCCLUSION_OPTIMIZED: SceneComputeConsistencyMSFT = Self(3i32);
9071 pub fn from_raw(x: i32) -> Self {
9072 Self(x)
9073 }
9074 pub fn into_raw(self) -> i32 {
9075 self.0
9076 }
9077}
9078impl fmt::Debug for SceneComputeConsistencyMSFT {
9079 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9080 let name = match *self {
9081 Self::SNAPSHOT_COMPLETE => Some("SNAPSHOT_COMPLETE"),
9082 Self::SNAPSHOT_INCOMPLETE_FAST => Some("SNAPSHOT_INCOMPLETE_FAST"),
9083 Self::OCCLUSION_OPTIMIZED => Some("OCCLUSION_OPTIMIZED"),
9084 _ => None,
9085 };
9086 fmt_enum(fmt, self.0, name)
9087 }
9088}
9089#[doc = "See [XrSceneComponentTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneComponentTypeMSFT)"]
9090#[repr(transparent)]
9091#[derive(Copy, Clone, Eq, PartialEq)]
9092pub struct SceneComponentTypeMSFT(i32);
9093impl SceneComponentTypeMSFT {
9094 pub const INVALID: SceneComponentTypeMSFT = Self(-1i32);
9095 pub const OBJECT: SceneComponentTypeMSFT = Self(1i32);
9096 pub const PLANE: SceneComponentTypeMSFT = Self(2i32);
9097 pub const VISUAL_MESH: SceneComponentTypeMSFT = Self(3i32);
9098 pub const COLLIDER_MESH: SceneComponentTypeMSFT = Self(4i32);
9099 pub const SERIALIZED_SCENE_FRAGMENT: SceneComponentTypeMSFT = Self(1000098000i32);
9100 pub const MARKER: SceneComponentTypeMSFT = Self(1000147000i32);
9101 pub fn from_raw(x: i32) -> Self {
9102 Self(x)
9103 }
9104 pub fn into_raw(self) -> i32 {
9105 self.0
9106 }
9107}
9108impl fmt::Debug for SceneComponentTypeMSFT {
9109 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9110 let name = match *self {
9111 Self::INVALID => Some("INVALID"),
9112 Self::OBJECT => Some("OBJECT"),
9113 Self::PLANE => Some("PLANE"),
9114 Self::VISUAL_MESH => Some("VISUAL_MESH"),
9115 Self::COLLIDER_MESH => Some("COLLIDER_MESH"),
9116 Self::SERIALIZED_SCENE_FRAGMENT => Some("SERIALIZED_SCENE_FRAGMENT"),
9117 Self::MARKER => Some("MARKER"),
9118 _ => None,
9119 };
9120 fmt_enum(fmt, self.0, name)
9121 }
9122}
9123#[doc = "See [XrMeshComputeLodMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMeshComputeLodMSFT)"]
9124#[repr(transparent)]
9125#[derive(Copy, Clone, Eq, PartialEq)]
9126pub struct MeshComputeLodMSFT(i32);
9127impl MeshComputeLodMSFT {
9128 pub const COARSE: MeshComputeLodMSFT = Self(1i32);
9129 pub const MEDIUM: MeshComputeLodMSFT = Self(2i32);
9130 pub const FINE: MeshComputeLodMSFT = Self(3i32);
9131 pub const UNLIMITED: MeshComputeLodMSFT = Self(4i32);
9132 pub fn from_raw(x: i32) -> Self {
9133 Self(x)
9134 }
9135 pub fn into_raw(self) -> i32 {
9136 self.0
9137 }
9138}
9139impl fmt::Debug for MeshComputeLodMSFT {
9140 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9141 let name = match *self {
9142 Self::COARSE => Some("COARSE"),
9143 Self::MEDIUM => Some("MEDIUM"),
9144 Self::FINE => Some("FINE"),
9145 Self::UNLIMITED => Some("UNLIMITED"),
9146 _ => None,
9147 };
9148 fmt_enum(fmt, self.0, name)
9149 }
9150}
9151#[doc = "See [XrSceneMarkerTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerTypeMSFT)"]
9152#[repr(transparent)]
9153#[derive(Copy, Clone, Eq, PartialEq)]
9154pub struct SceneMarkerTypeMSFT(i32);
9155impl SceneMarkerTypeMSFT {
9156 pub const QR_CODE: SceneMarkerTypeMSFT = Self(1i32);
9157 pub fn from_raw(x: i32) -> Self {
9158 Self(x)
9159 }
9160 pub fn into_raw(self) -> i32 {
9161 self.0
9162 }
9163}
9164impl fmt::Debug for SceneMarkerTypeMSFT {
9165 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9166 let name = match *self {
9167 Self::QR_CODE => Some("QR_CODE"),
9168 _ => None,
9169 };
9170 fmt_enum(fmt, self.0, name)
9171 }
9172}
9173#[doc = "See [XrSceneMarkerQRCodeSymbolTypeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMarkerQRCodeSymbolTypeMSFT)"]
9174#[repr(transparent)]
9175#[derive(Copy, Clone, Eq, PartialEq)]
9176pub struct SceneMarkerQRCodeSymbolTypeMSFT(i32);
9177impl SceneMarkerQRCodeSymbolTypeMSFT {
9178 pub const QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(1i32);
9179 pub const MICRO_QR_CODE: SceneMarkerQRCodeSymbolTypeMSFT = Self(2i32);
9180 pub fn from_raw(x: i32) -> Self {
9181 Self(x)
9182 }
9183 pub fn into_raw(self) -> i32 {
9184 self.0
9185 }
9186}
9187impl fmt::Debug for SceneMarkerQRCodeSymbolTypeMSFT {
9188 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9189 let name = match *self {
9190 Self::QR_CODE => Some("QR_CODE"),
9191 Self::MICRO_QR_CODE => Some("MICRO_QR_CODE"),
9192 _ => None,
9193 };
9194 fmt_enum(fmt, self.0, name)
9195 }
9196}
9197#[doc = "See [XrColorSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColorSpaceFB)"]
9198#[repr(transparent)]
9199#[derive(Copy, Clone, Eq, PartialEq, Default)]
9200pub struct ColorSpaceFB(i32);
9201impl ColorSpaceFB {
9202 pub const UNMANAGED: ColorSpaceFB = Self(0i32);
9203 pub const REC2020: ColorSpaceFB = Self(1i32);
9204 pub const REC709: ColorSpaceFB = Self(2i32);
9205 pub const RIFT_CV1: ColorSpaceFB = Self(3i32);
9206 pub const RIFT_S: ColorSpaceFB = Self(4i32);
9207 pub const QUEST: ColorSpaceFB = Self(5i32);
9208 pub const P3: ColorSpaceFB = Self(6i32);
9209 pub const ADOBE_RGB: ColorSpaceFB = Self(7i32);
9210 pub fn from_raw(x: i32) -> Self {
9211 Self(x)
9212 }
9213 pub fn into_raw(self) -> i32 {
9214 self.0
9215 }
9216}
9217impl fmt::Debug for ColorSpaceFB {
9218 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9219 let name = match *self {
9220 Self::UNMANAGED => Some("UNMANAGED"),
9221 Self::REC2020 => Some("REC2020"),
9222 Self::REC709 => Some("REC709"),
9223 Self::RIFT_CV1 => Some("RIFT_CV1"),
9224 Self::RIFT_S => Some("RIFT_S"),
9225 Self::QUEST => Some("QUEST"),
9226 Self::P3 => Some("P3"),
9227 Self::ADOBE_RGB => Some("ADOBE_RGB"),
9228 _ => None,
9229 };
9230 fmt_enum(fmt, self.0, name)
9231 }
9232}
9233#[doc = "See [XrFoveationLevelFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelFB)"]
9234#[repr(transparent)]
9235#[derive(Copy, Clone, Eq, PartialEq, Default)]
9236pub struct FoveationLevelFB(i32);
9237impl FoveationLevelFB {
9238 #[doc = "No foveation"]
9239 pub const NONE: FoveationLevelFB = Self(0i32);
9240 #[doc = "Less foveation (higher periphery visual fidelity, lower performance)"]
9241 pub const LOW: FoveationLevelFB = Self(1i32);
9242 #[doc = "Medium foveation (medium periphery visual fidelity, medium performance)"]
9243 pub const MEDIUM: FoveationLevelFB = Self(2i32);
9244 #[doc = "High foveation (lower periphery visual fidelity, higher performance)"]
9245 pub const HIGH: FoveationLevelFB = Self(3i32);
9246 pub fn from_raw(x: i32) -> Self {
9247 Self(x)
9248 }
9249 pub fn into_raw(self) -> i32 {
9250 self.0
9251 }
9252}
9253impl fmt::Debug for FoveationLevelFB {
9254 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9255 let name = match *self {
9256 Self::NONE => Some("NONE"),
9257 Self::LOW => Some("LOW"),
9258 Self::MEDIUM => Some("MEDIUM"),
9259 Self::HIGH => Some("HIGH"),
9260 _ => None,
9261 };
9262 fmt_enum(fmt, self.0, name)
9263 }
9264}
9265#[doc = "See [XrFoveationDynamicFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFB)"]
9266#[repr(transparent)]
9267#[derive(Copy, Clone, Eq, PartialEq, Default)]
9268pub struct FoveationDynamicFB(i32);
9269impl FoveationDynamicFB {
9270 #[doc = "Static foveation at the maximum desired level"]
9271 pub const DISABLED: FoveationDynamicFB = Self(0i32);
9272 #[doc = "Dynamic changing foveation based on performance headroom available up to the maximum desired level"]
9273 pub const LEVEL_ENABLED: FoveationDynamicFB = Self(1i32);
9274 pub fn from_raw(x: i32) -> Self {
9275 Self(x)
9276 }
9277 pub fn into_raw(self) -> i32 {
9278 self.0
9279 }
9280}
9281impl fmt::Debug for FoveationDynamicFB {
9282 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9283 let name = match *self {
9284 Self::DISABLED => Some("DISABLED"),
9285 Self::LEVEL_ENABLED => Some("LEVEL_ENABLED"),
9286 _ => None,
9287 };
9288 fmt_enum(fmt, self.0, name)
9289 }
9290}
9291#[doc = "See [XrReprojectionModeMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReprojectionModeMSFT)"]
9292#[repr(transparent)]
9293#[derive(Copy, Clone, Eq, PartialEq)]
9294pub struct ReprojectionModeMSFT(i32);
9295impl ReprojectionModeMSFT {
9296 pub const DEPTH: ReprojectionModeMSFT = Self(1i32);
9297 pub const PLANAR_FROM_DEPTH: ReprojectionModeMSFT = Self(2i32);
9298 pub const PLANAR_MANUAL: ReprojectionModeMSFT = Self(3i32);
9299 pub const ORIENTATION_ONLY: ReprojectionModeMSFT = Self(4i32);
9300 pub fn from_raw(x: i32) -> Self {
9301 Self(x)
9302 }
9303 pub fn into_raw(self) -> i32 {
9304 self.0
9305 }
9306}
9307impl fmt::Debug for ReprojectionModeMSFT {
9308 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9309 let name = match *self {
9310 Self::DEPTH => Some("DEPTH"),
9311 Self::PLANAR_FROM_DEPTH => Some("PLANAR_FROM_DEPTH"),
9312 Self::PLANAR_MANUAL => Some("PLANAR_MANUAL"),
9313 Self::ORIENTATION_ONLY => Some("ORIENTATION_ONLY"),
9314 _ => None,
9315 };
9316 fmt_enum(fmt, self.0, name)
9317 }
9318}
9319#[doc = "See [XrHandForearmJointULTRALEAP](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandForearmJointULTRALEAP)"]
9320#[repr(transparent)]
9321#[derive(Copy, Clone, Eq, PartialEq, Default)]
9322pub struct HandForearmJointULTRALEAP(i32);
9323impl HandForearmJointULTRALEAP {
9324 pub const PALM: HandForearmJointULTRALEAP = Self(0i32);
9325 pub const WRIST: HandForearmJointULTRALEAP = Self(1i32);
9326 pub const THUMB_METACARPAL: HandForearmJointULTRALEAP = Self(2i32);
9327 pub const THUMB_PROXIMAL: HandForearmJointULTRALEAP = Self(3i32);
9328 pub const THUMB_DISTAL: HandForearmJointULTRALEAP = Self(4i32);
9329 pub const THUMB_TIP: HandForearmJointULTRALEAP = Self(5i32);
9330 pub const INDEX_METACARPAL: HandForearmJointULTRALEAP = Self(6i32);
9331 pub const INDEX_PROXIMAL: HandForearmJointULTRALEAP = Self(7i32);
9332 pub const INDEX_INTERMEDIATE: HandForearmJointULTRALEAP = Self(8i32);
9333 pub const INDEX_DISTAL: HandForearmJointULTRALEAP = Self(9i32);
9334 pub const INDEX_TIP: HandForearmJointULTRALEAP = Self(10i32);
9335 pub const MIDDLE_METACARPAL: HandForearmJointULTRALEAP = Self(11i32);
9336 pub const MIDDLE_PROXIMAL: HandForearmJointULTRALEAP = Self(12i32);
9337 pub const MIDDLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(13i32);
9338 pub const MIDDLE_DISTAL: HandForearmJointULTRALEAP = Self(14i32);
9339 pub const MIDDLE_TIP: HandForearmJointULTRALEAP = Self(15i32);
9340 pub const RING_METACARPAL: HandForearmJointULTRALEAP = Self(16i32);
9341 pub const RING_PROXIMAL: HandForearmJointULTRALEAP = Self(17i32);
9342 pub const RING_INTERMEDIATE: HandForearmJointULTRALEAP = Self(18i32);
9343 pub const RING_DISTAL: HandForearmJointULTRALEAP = Self(19i32);
9344 pub const RING_TIP: HandForearmJointULTRALEAP = Self(20i32);
9345 pub const LITTLE_METACARPAL: HandForearmJointULTRALEAP = Self(21i32);
9346 pub const LITTLE_PROXIMAL: HandForearmJointULTRALEAP = Self(22i32);
9347 pub const LITTLE_INTERMEDIATE: HandForearmJointULTRALEAP = Self(23i32);
9348 pub const LITTLE_DISTAL: HandForearmJointULTRALEAP = Self(24i32);
9349 pub const LITTLE_TIP: HandForearmJointULTRALEAP = Self(25i32);
9350 pub const ELBOW: HandForearmJointULTRALEAP = Self(26i32);
9351 pub fn from_raw(x: i32) -> Self {
9352 Self(x)
9353 }
9354 pub fn into_raw(self) -> i32 {
9355 self.0
9356 }
9357}
9358impl fmt::Debug for HandForearmJointULTRALEAP {
9359 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9360 let name = match *self {
9361 Self::PALM => Some("PALM"),
9362 Self::WRIST => Some("WRIST"),
9363 Self::THUMB_METACARPAL => Some("THUMB_METACARPAL"),
9364 Self::THUMB_PROXIMAL => Some("THUMB_PROXIMAL"),
9365 Self::THUMB_DISTAL => Some("THUMB_DISTAL"),
9366 Self::THUMB_TIP => Some("THUMB_TIP"),
9367 Self::INDEX_METACARPAL => Some("INDEX_METACARPAL"),
9368 Self::INDEX_PROXIMAL => Some("INDEX_PROXIMAL"),
9369 Self::INDEX_INTERMEDIATE => Some("INDEX_INTERMEDIATE"),
9370 Self::INDEX_DISTAL => Some("INDEX_DISTAL"),
9371 Self::INDEX_TIP => Some("INDEX_TIP"),
9372 Self::MIDDLE_METACARPAL => Some("MIDDLE_METACARPAL"),
9373 Self::MIDDLE_PROXIMAL => Some("MIDDLE_PROXIMAL"),
9374 Self::MIDDLE_INTERMEDIATE => Some("MIDDLE_INTERMEDIATE"),
9375 Self::MIDDLE_DISTAL => Some("MIDDLE_DISTAL"),
9376 Self::MIDDLE_TIP => Some("MIDDLE_TIP"),
9377 Self::RING_METACARPAL => Some("RING_METACARPAL"),
9378 Self::RING_PROXIMAL => Some("RING_PROXIMAL"),
9379 Self::RING_INTERMEDIATE => Some("RING_INTERMEDIATE"),
9380 Self::RING_DISTAL => Some("RING_DISTAL"),
9381 Self::RING_TIP => Some("RING_TIP"),
9382 Self::LITTLE_METACARPAL => Some("LITTLE_METACARPAL"),
9383 Self::LITTLE_PROXIMAL => Some("LITTLE_PROXIMAL"),
9384 Self::LITTLE_INTERMEDIATE => Some("LITTLE_INTERMEDIATE"),
9385 Self::LITTLE_DISTAL => Some("LITTLE_DISTAL"),
9386 Self::LITTLE_TIP => Some("LITTLE_TIP"),
9387 Self::ELBOW => Some("ELBOW"),
9388 _ => None,
9389 };
9390 fmt_enum(fmt, self.0, name)
9391 }
9392}
9393#[doc = "See [XrCompareOpFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompareOpFB)"]
9394#[repr(transparent)]
9395#[derive(Copy, Clone, Eq, PartialEq, Default)]
9396pub struct CompareOpFB(i32);
9397impl CompareOpFB {
9398 #[doc = "Comparison is never true."]
9399 pub const NEVER: CompareOpFB = Self(0i32);
9400 #[doc = "Comparison is true if source less than is destination."]
9401 pub const LESS: CompareOpFB = Self(1i32);
9402 #[doc = "Comparison is true if source is equal to destination."]
9403 pub const EQUAL: CompareOpFB = Self(2i32);
9404 #[doc = "Comparison is true if source is less than or equal to destination."]
9405 pub const LESS_OR_EQUAL: CompareOpFB = Self(3i32);
9406 #[doc = "Comparison is true if source is greater than destination."]
9407 pub const GREATER: CompareOpFB = Self(4i32);
9408 #[doc = "Comparison is true if source is not equal to destination."]
9409 pub const NOT_EQUAL: CompareOpFB = Self(5i32);
9410 #[doc = "Comparison is true if source is greater than or equal to destination."]
9411 pub const GREATER_OR_EQUAL: CompareOpFB = Self(6i32);
9412 #[doc = "Comparison is always true."]
9413 pub const ALWAYS: CompareOpFB = Self(7i32);
9414 pub fn from_raw(x: i32) -> Self {
9415 Self(x)
9416 }
9417 pub fn into_raw(self) -> i32 {
9418 self.0
9419 }
9420}
9421impl fmt::Debug for CompareOpFB {
9422 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9423 let name = match *self {
9424 Self::NEVER => Some("NEVER"),
9425 Self::LESS => Some("LESS"),
9426 Self::EQUAL => Some("EQUAL"),
9427 Self::LESS_OR_EQUAL => Some("LESS_OR_EQUAL"),
9428 Self::GREATER => Some("GREATER"),
9429 Self::NOT_EQUAL => Some("NOT_EQUAL"),
9430 Self::GREATER_OR_EQUAL => Some("GREATER_OR_EQUAL"),
9431 Self::ALWAYS => Some("ALWAYS"),
9432 _ => None,
9433 };
9434 fmt_enum(fmt, self.0, name)
9435 }
9436}
9437#[doc = "See [XrTrackableImageFormatANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageFormatANDROID)"]
9438#[repr(transparent)]
9439#[derive(Copy, Clone, Eq, PartialEq)]
9440pub struct TrackableImageFormatANDROID(i32);
9441impl TrackableImageFormatANDROID {
9442 #[doc = "RGBA image format with 8 bits per channel color and transparency data."]
9443 pub const R8G8B8A8: TrackableImageFormatANDROID = Self(1i32);
9444 pub fn from_raw(x: i32) -> Self {
9445 Self(x)
9446 }
9447 pub fn into_raw(self) -> i32 {
9448 self.0
9449 }
9450}
9451impl fmt::Debug for TrackableImageFormatANDROID {
9452 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9453 let name = match *self {
9454 Self::R8G8B8A8 => Some("R8G8B8A8"),
9455 _ => None,
9456 };
9457 fmt_enum(fmt, self.0, name)
9458 }
9459}
9460#[doc = "See [XrTrackableImageTrackingModeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageTrackingModeANDROID)"]
9461#[repr(transparent)]
9462#[derive(Copy, Clone, Eq, PartialEq)]
9463pub struct TrackableImageTrackingModeANDROID(i32);
9464impl TrackableImageTrackingModeANDROID {
9465 #[doc = "This mode has the highest accuracy and allows low latency tracking of moving images. It has also has the highest power consumption."]
9466 pub const DYNAMIC: TrackableImageTrackingModeANDROID = Self(1i32);
9467 #[doc = "This mode should be used for images that are known to be static or semi-static. This mode leads to less power consumption in comparison to the dynamic mode. If a static image is being moved, it will be updated with a much higher latency than using the dynamic mode."]
9468 pub const STATIC: TrackableImageTrackingModeANDROID = Self(2i32);
9469 pub fn from_raw(x: i32) -> Self {
9470 Self(x)
9471 }
9472 pub fn into_raw(self) -> i32 {
9473 self.0
9474 }
9475}
9476impl fmt::Debug for TrackableImageTrackingModeANDROID {
9477 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
9478 let name = match *self {
9479 Self::DYNAMIC => Some("DYNAMIC"),
9480 Self::STATIC => Some("STATIC"),
9481 _ => None,
9482 };
9483 fmt_enum(fmt, self.0, name)
9484 }
9485}
9486#[doc = "See [XrInstanceCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateFlagBits)"]
9487#[repr(transparent)]
9488#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9489pub struct InstanceCreateFlags(u64);
9490impl InstanceCreateFlags {}
9491bitmask!(InstanceCreateFlags);
9492#[doc = "See [XrSessionCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateFlagBits)"]
9493#[repr(transparent)]
9494#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9495pub struct SessionCreateFlags(u64);
9496impl SessionCreateFlags {}
9497bitmask!(SessionCreateFlags);
9498#[doc = "See [XrSwapchainCreateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFlagBits)"]
9499#[repr(transparent)]
9500#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9501pub struct SwapchainCreateFlags(u64);
9502impl SwapchainCreateFlags {
9503 #[doc = "Content will be protected from CPU access"]
9504 pub const PROTECTED_CONTENT: SwapchainCreateFlags = Self(1 << 0u64);
9505 #[doc = "Only one image will be acquired from this swapchain over its lifetime"]
9506 pub const STATIC_IMAGE: SwapchainCreateFlags = Self(1 << 1u64);
9507}
9508bitmask!(SwapchainCreateFlags);
9509#[doc = "See [XrSwapchainUsageFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainUsageFlagBits)"]
9510#[repr(transparent)]
9511#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9512pub struct SwapchainUsageFlags(u64);
9513impl SwapchainUsageFlags {
9514 #[doc = "Specifies that the image may: be a color rendering target."]
9515 pub const COLOR_ATTACHMENT: SwapchainUsageFlags = Self(1 << 0u64);
9516 #[doc = "Specifies that the image may: be a depth/stencil rendering target."]
9517 pub const DEPTH_STENCIL_ATTACHMENT: SwapchainUsageFlags = Self(1 << 1u64);
9518 #[doc = "Specifies that the image may: be accessed out of order and that access may: be via atomic operations."]
9519 pub const UNORDERED_ACCESS: SwapchainUsageFlags = Self(1 << 2u64);
9520 #[doc = "Specifies that the image may: be used as the source of a transfer operation."]
9521 pub const TRANSFER_SRC: SwapchainUsageFlags = Self(1 << 3u64);
9522 #[doc = "Specifies that the image may: be used as the destination of a transfer operation."]
9523 pub const TRANSFER_DST: SwapchainUsageFlags = Self(1 << 4u64);
9524 #[doc = "Specifies that the image may: be sampled by a shader."]
9525 pub const SAMPLED: SwapchainUsageFlags = Self(1 << 5u64);
9526 #[doc = "Specifies that the image may: be reinterpreted as another image format."]
9527 pub const MUTABLE_FORMAT: SwapchainUsageFlags = Self(1 << 6u64);
9528 #[doc = "Specifies that the image may: be used as a input attachment."]
9529 pub const INPUT_ATTACHMENT: SwapchainUsageFlags = Self(1 << 7u64);
9530}
9531bitmask!(SwapchainUsageFlags);
9532#[doc = "See [XrViewStateFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewStateFlagBits)"]
9533#[repr(transparent)]
9534#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9535pub struct ViewStateFlags(u64);
9536impl ViewStateFlags {
9537 #[doc = "Indicates validity of all XrView orientations"]
9538 pub const ORIENTATION_VALID: ViewStateFlags = Self(1 << 0u64);
9539 #[doc = "Indicates validity of all XrView positions"]
9540 pub const POSITION_VALID: ViewStateFlags = Self(1 << 1u64);
9541 #[doc = "Indicates whether all XrView orientations are actively tracked"]
9542 pub const ORIENTATION_TRACKED: ViewStateFlags = Self(1 << 2u64);
9543 #[doc = "Indicates whether all XrView positions are actively tracked"]
9544 pub const POSITION_TRACKED: ViewStateFlags = Self(1 << 3u64);
9545}
9546bitmask!(ViewStateFlags);
9547#[doc = "See [XrCompositionLayerFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerFlagBits)"]
9548#[repr(transparent)]
9549#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9550pub struct CompositionLayerFlags(u64);
9551impl CompositionLayerFlags {
9552 #[doc = "Enables chromatic aberration correction when not done by default. This flag has no effect on any known conformant runtime, and is officially deprecated in OpenXR 1.1."]
9553 pub const CORRECT_CHROMATIC_ABERRATION: CompositionLayerFlags = Self(1 << 0u64);
9554 #[doc = "Enables the layer texture alpha channel."]
9555 pub const BLEND_TEXTURE_SOURCE_ALPHA: CompositionLayerFlags = Self(1 << 1u64);
9556 #[doc = "Indicates the texture color channels have not been premultiplied by the texture alpha channel."]
9557 pub const UNPREMULTIPLIED_ALPHA: CompositionLayerFlags = Self(1 << 2u64);
9558 #[doc = "Indicates that the texture alpha channel stores transparency instead of opacity, and is to be inverted before layer blending."]
9559 pub const INVERTED_ALPHA: CompositionLayerFlags = Self(1 << 3u64);
9560}
9561bitmask!(CompositionLayerFlags);
9562#[doc = "See [XrSpaceLocationFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationFlagBits)"]
9563#[repr(transparent)]
9564#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9565pub struct SpaceLocationFlags(u64);
9566impl SpaceLocationFlags {
9567 #[doc = "Indicates that the orientation member contains valid data"]
9568 pub const ORIENTATION_VALID: SpaceLocationFlags = Self(1 << 0u64);
9569 #[doc = "Indicates that the position member contains valid data"]
9570 pub const POSITION_VALID: SpaceLocationFlags = Self(1 << 1u64);
9571 #[doc = "Indicates whether pose member contains an actively tracked orientation"]
9572 pub const ORIENTATION_TRACKED: SpaceLocationFlags = Self(1 << 2u64);
9573 #[doc = "Indicates whether pose member contains an actively tracked position"]
9574 pub const POSITION_TRACKED: SpaceLocationFlags = Self(1 << 3u64);
9575}
9576bitmask!(SpaceLocationFlags);
9577#[doc = "See [XrSpaceVelocityFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityFlagBits)"]
9578#[repr(transparent)]
9579#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9580pub struct SpaceVelocityFlags(u64);
9581impl SpaceVelocityFlags {
9582 #[doc = "Indicates that the linearVelocity member contains valid data. Applications must: not read the linearVelocity field if this flag is unset."]
9583 pub const LINEAR_VALID: SpaceVelocityFlags = Self(1 << 0u64);
9584 #[doc = "Indicates that the angularVelocity member contains valid data. Applications must: not read the angularVelocity field if this flag is unset."]
9585 pub const ANGULAR_VALID: SpaceVelocityFlags = Self(1 << 1u64);
9586}
9587bitmask!(SpaceVelocityFlags);
9588#[doc = "See [XrInputSourceLocalizedNameFlagBits](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameFlagBits)"]
9589#[repr(transparent)]
9590#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9591pub struct InputSourceLocalizedNameFlags(u64);
9592impl InputSourceLocalizedNameFlags {
9593 #[doc = "Asks for the part of the string which indicates the top level user path the source represents"]
9594 pub const USER_PATH: InputSourceLocalizedNameFlags = Self(1 << 0u64);
9595 #[doc = "Asks for the part of the string which represents the interaction profile of the source"]
9596 pub const INTERACTION_PROFILE: InputSourceLocalizedNameFlags = Self(1 << 1u64);
9597 #[doc = "Asks for the part of the string which represents the component on the device which needs to be interacted with"]
9598 pub const COMPONENT: InputSourceLocalizedNameFlags = Self(1 << 2u64);
9599}
9600bitmask!(InputSourceLocalizedNameFlags);
9601#[doc = "See [XrVulkanInstanceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanInstanceCreateFlagsKHR)"]
9602#[repr(transparent)]
9603#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9604pub struct VulkanInstanceCreateFlagsKHR(u64);
9605impl VulkanInstanceCreateFlagsKHR {}
9606bitmask!(VulkanInstanceCreateFlagsKHR);
9607#[doc = "See [XrVulkanDeviceCreateFlagsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanDeviceCreateFlagsKHR)"]
9608#[repr(transparent)]
9609#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9610pub struct VulkanDeviceCreateFlagsKHR(u64);
9611impl VulkanDeviceCreateFlagsKHR {}
9612bitmask!(VulkanDeviceCreateFlagsKHR);
9613#[doc = "See [XrDebugUtilsMessageSeverityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageSeverityFlagsEXT)"]
9614#[repr(transparent)]
9615#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9616pub struct DebugUtilsMessageSeverityFlagsEXT(u64);
9617impl DebugUtilsMessageSeverityFlagsEXT {
9618 #[doc = "Most verbose output severity, typically used for debugging."]
9619 pub const VERBOSE: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 0u64);
9620 #[doc = "General info message"]
9621 pub const INFO: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 4u64);
9622 #[doc = "Indicates the item may be the cause of issues."]
9623 pub const WARNING: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 8u64);
9624 #[doc = "Indicates that the item is definitely related to erroneous behavior."]
9625 pub const ERROR: DebugUtilsMessageSeverityFlagsEXT = Self(1 << 12u64);
9626}
9627bitmask!(DebugUtilsMessageSeverityFlagsEXT);
9628#[doc = "See [XrDebugUtilsMessageTypeFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessageTypeFlagsEXT)"]
9629#[repr(transparent)]
9630#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9631pub struct DebugUtilsMessageTypeFlagsEXT(u64);
9632impl DebugUtilsMessageTypeFlagsEXT {
9633 #[doc = "Indicates this is a general message"]
9634 pub const GENERAL: DebugUtilsMessageTypeFlagsEXT = Self(1 << 0u64);
9635 #[doc = "Indicates the message is related to a validation message"]
9636 pub const VALIDATION: DebugUtilsMessageTypeFlagsEXT = Self(1 << 1u64);
9637 #[doc = "Indicates the message is related to a potential performance situation"]
9638 pub const PERFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 2u64);
9639 #[doc = "Indicates the message is related to a non-conformant runtime result"]
9640 pub const CONFORMANCE: DebugUtilsMessageTypeFlagsEXT = Self(1 << 3u64);
9641}
9642bitmask!(DebugUtilsMessageTypeFlagsEXT);
9643#[doc = "See [XrFrameSynthesisInfoFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisInfoFlagsEXT)"]
9644#[repr(transparent)]
9645#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9646pub struct FrameSynthesisInfoFlagsEXT(u64);
9647impl FrameSynthesisInfoFlagsEXT {
9648 #[doc = "2D motion vector will be used"]
9649 pub const USE_2D_MOTION_VECTOR: FrameSynthesisInfoFlagsEXT = Self(1 << 0u64);
9650 #[doc = "Request the runtime to relax the application's frame interval to allow additional render time"]
9651 pub const REQUEST_RELAXED_FRAME_INTERVAL: FrameSynthesisInfoFlagsEXT = Self(1 << 1u64);
9652}
9653bitmask!(FrameSynthesisInfoFlagsEXT);
9654#[doc = "See [XrOverlayMainSessionFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlayMainSessionFlagsEXTX)"]
9655#[repr(transparent)]
9656#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9657pub struct OverlayMainSessionFlagsEXTX(u64);
9658impl OverlayMainSessionFlagsEXTX {
9659 #[doc = "Indicates the main session enabled `XR_KHR_composition_layer_depth`"]
9660 pub const ENABLED_COMPOSITION_LAYER_INFO_DEPTH: OverlayMainSessionFlagsEXTX = Self(1 << 0u64);
9661}
9662bitmask!(OverlayMainSessionFlagsEXTX);
9663#[doc = "See [XrOverlaySessionCreateFlagsEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOverlaySessionCreateFlagsEXTX)"]
9664#[repr(transparent)]
9665#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9666pub struct OverlaySessionCreateFlagsEXTX(u64);
9667impl OverlaySessionCreateFlagsEXTX {}
9668bitmask!(OverlaySessionCreateFlagsEXTX);
9669#[doc = "See [XrAndroidSurfaceSwapchainFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidSurfaceSwapchainFlagsFB)"]
9670#[repr(transparent)]
9671#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9672pub struct AndroidSurfaceSwapchainFlagsFB(u64);
9673impl AndroidSurfaceSwapchainFlagsFB {
9674 #[doc = "Create the underlying BufferQueue in synchronous mode"]
9675 pub const SYNCHRONOUS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 0u64);
9676 #[doc = "Acquire most recent buffer whose presentation timestamp is not greater than display time of final composited frame"]
9677 pub const USE_TIMESTAMPS: AndroidSurfaceSwapchainFlagsFB = Self(1 << 1u64);
9678}
9679bitmask!(AndroidSurfaceSwapchainFlagsFB);
9680#[doc = "See [XrCompositionLayerImageLayoutFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerImageLayoutFlagsFB)"]
9681#[repr(transparent)]
9682#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9683pub struct CompositionLayerImageLayoutFlagsFB(u64);
9684impl CompositionLayerImageLayoutFlagsFB {
9685 #[doc = "The coordinate origin of the swapchain image must be considered to be flipped vertically."]
9686 pub const VERTICAL_FLIP: CompositionLayerImageLayoutFlagsFB = Self(1 << 0u64);
9687}
9688bitmask!(CompositionLayerImageLayoutFlagsFB);
9689#[doc = "See [XrCompositionLayerSecureContentFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSecureContentFlagsFB)"]
9690#[repr(transparent)]
9691#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9692pub struct CompositionLayerSecureContentFlagsFB(u64);
9693impl CompositionLayerSecureContentFlagsFB {
9694 #[doc = "Indicates the layer will only be visible inside the HMD, and not visible to external sources"]
9695 pub const EXCLUDE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 0u64);
9696 #[doc = "Indicates the layer will be displayed inside the HMD, but replaced by proxy content when written to external sources"]
9697 pub const REPLACE_LAYER: CompositionLayerSecureContentFlagsFB = Self(1 << 1u64);
9698}
9699bitmask!(CompositionLayerSecureContentFlagsFB);
9700#[doc = "See [XrSwapchainCreateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateFoveationFlagsFB)"]
9701#[repr(transparent)]
9702#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9703pub struct SwapchainCreateFoveationFlagsFB(u64);
9704impl SwapchainCreateFoveationFlagsFB {
9705 #[doc = "Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled."]
9706 pub const SCALED_BIN: SwapchainCreateFoveationFlagsFB = Self(1 << 0u64);
9707 #[doc = "Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled."]
9708 pub const FRAGMENT_DENSITY_MAP: SwapchainCreateFoveationFlagsFB = Self(1 << 1u64);
9709}
9710bitmask!(SwapchainCreateFoveationFlagsFB);
9711#[doc = "See [XrSwapchainStateFoveationFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateFoveationFlagsFB)"]
9712#[repr(transparent)]
9713#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9714pub struct SwapchainStateFoveationFlagsFB(u64);
9715impl SwapchainStateFoveationFlagsFB {}
9716bitmask!(SwapchainStateFoveationFlagsFB);
9717#[doc = "See [XrFoveationEyeTrackedProfileCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedProfileCreateFlagsMETA)"]
9718#[repr(transparent)]
9719#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9720pub struct FoveationEyeTrackedProfileCreateFlagsMETA(u64);
9721impl FoveationEyeTrackedProfileCreateFlagsMETA {}
9722bitmask!(FoveationEyeTrackedProfileCreateFlagsMETA);
9723#[doc = "See [XrFoveationEyeTrackedStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedStateFlagsMETA)"]
9724#[repr(transparent)]
9725#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9726pub struct FoveationEyeTrackedStateFlagsMETA(u64);
9727impl FoveationEyeTrackedStateFlagsMETA {
9728 #[doc = "Indicates whether or not foveation data is valid. This can happen if the eye tracker is obscured, the camera has dirt, or eye lid is closed, etc."]
9729 pub const VALID: FoveationEyeTrackedStateFlagsMETA = Self(1 << 0u64);
9730}
9731bitmask!(FoveationEyeTrackedStateFlagsMETA);
9732#[doc = "See [XrTriangleMeshFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFlagsFB)"]
9733#[repr(transparent)]
9734#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9735pub struct TriangleMeshFlagsFB(u64);
9736impl TriangleMeshFlagsFB {
9737 #[doc = "The triangle mesh is mutable (can be modified after it is created)."]
9738 pub const MUTABLE: TriangleMeshFlagsFB = Self(1 << 0u64);
9739}
9740bitmask!(TriangleMeshFlagsFB);
9741#[doc = "See [XrPassthroughFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFlagsFB)"]
9742#[repr(transparent)]
9743#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9744pub struct PassthroughFlagsFB(u64);
9745impl PassthroughFlagsFB {
9746 #[doc = "The object (passthrough, layer) is running at creation."]
9747 pub const IS_RUNNING_AT_CREATION: PassthroughFlagsFB = Self(1 << 0u64);
9748 #[doc = "The passthrough system sends depth information to the compositor. Only applicable to layer objects."]
9749 pub const LAYER_DEPTH: PassthroughFlagsFB = Self(1 << 1u64);
9750}
9751bitmask!(PassthroughFlagsFB);
9752#[doc = "See [XrPassthroughStateChangedFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughStateChangedFlagsFB)"]
9753#[repr(transparent)]
9754#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9755pub struct PassthroughStateChangedFlagsFB(u64);
9756impl PassthroughStateChangedFlagsFB {
9757 #[doc = "Passthrough system requires reinitialization."]
9758 pub const REINIT_REQUIRED: PassthroughStateChangedFlagsFB = Self(1 << 0u64);
9759 #[doc = "Non-recoverable error has occurred. A device reboot or a firmware update may be required."]
9760 pub const NON_RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 1u64);
9761 #[doc = "A recoverable error has occurred. The runtime will attempt to recover, but some functionality may be temporarily unavailable."]
9762 pub const RECOVERABLE_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 2u64);
9763 #[doc = "The runtime has recovered from a previous error and is functioning normally."]
9764 pub const RESTORED_ERROR: PassthroughStateChangedFlagsFB = Self(1 << 3u64);
9765}
9766bitmask!(PassthroughStateChangedFlagsFB);
9767#[doc = "See [XrPassthroughCapabilityFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCapabilityFlagsFB)"]
9768#[repr(transparent)]
9769#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9770pub struct PassthroughCapabilityFlagsFB(u64);
9771impl PassthroughCapabilityFlagsFB {
9772 #[doc = "The system supports passthrough."]
9773 pub const PASSTHROUGH_CAPABILITY: PassthroughCapabilityFlagsFB = Self(1 << 0u64);
9774 #[doc = "The system can show passthrough with realistic colors. XR_PASSTHROUGH_CAPABILITY_BIT_FB must: be set if XR_PASSTHROUGH_CAPABILITY_COLOR_BIT_FB is set."]
9775 pub const COLOR: PassthroughCapabilityFlagsFB = Self(1 << 1u64);
9776 #[doc = "The system supports passthrough layers composited using depth testing. XR_PASSTHROUGH_CAPABILITY_BIT_FB must: be set if XR_PASSTHROUGH_CAPABILITY_LAYER_DEPTH_BIT_FB is set."]
9777 pub const LAYER_DEPTH: PassthroughCapabilityFlagsFB = Self(1 << 2u64);
9778}
9779bitmask!(PassthroughCapabilityFlagsFB);
9780#[doc = "See [XrSemanticLabelsSupportFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsSupportFlagsFB)"]
9781#[repr(transparent)]
9782#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9783pub struct SemanticLabelsSupportFlagsFB(u64);
9784impl SemanticLabelsSupportFlagsFB {
9785 #[doc = "If set, and the runtime reports the extensionVersion as 2 or greater, the runtime may: return multiple semantic labels separated by a comma without spaces. Otherwise, the runtime must: return a single semantic label."]
9786 pub const MULTIPLE_SEMANTIC_LABELS: SemanticLabelsSupportFlagsFB = Self(1 << 0u64);
9787 #[doc = "If set, and the runtime reports the extensionVersion as 3 or greater, the runtime must: return \"TABLE\" instead of \"DESK\" as a semantic label to the application. Otherwise, the runtime must: return \"DESK\" instead of \"TABLE\" as a semantic label to the application, when applicable."]
9788 pub const ACCEPT_DESK_TO_TABLE_MIGRATION: SemanticLabelsSupportFlagsFB = Self(1 << 1u64);
9789 #[doc = "If set, and the runtime reports the extensionVersion as 4 or greater, the runtime may: return \"INVISIBLE_WALL_FACE\" instead of \"WALL_FACE\" as a semantic label to the application in order to represent an invisible wall used to conceptually separate a space (e.g., separate a living space from a kitchen space in an open floor plan house even though there is no real wall between the two spaces) instead of a real wall. Otherwise, the runtime must: return \"WALL_FACE\" as a semantic label to the application in order to represent both an invisible and real wall, when applicable."]
9790 pub const ACCEPT_INVISIBLE_WALL_FACE: SemanticLabelsSupportFlagsFB = Self(1 << 2u64);
9791}
9792bitmask!(SemanticLabelsSupportFlagsFB);
9793#[doc = "See [XrHandTrackingAimFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingAimFlagsFB)"]
9794#[repr(transparent)]
9795#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9796pub struct HandTrackingAimFlagsFB(u64);
9797impl HandTrackingAimFlagsFB {
9798 #[doc = "Aiming data is computed from additional sources beyond the hand data in the base structure"]
9799 pub const COMPUTED: HandTrackingAimFlagsFB = Self(1 << 0u64);
9800 #[doc = "Aiming data is valid"]
9801 pub const VALID: HandTrackingAimFlagsFB = Self(1 << 1u64);
9802 #[doc = "Index finger pinch discrete signal"]
9803 pub const INDEX_PINCHING: HandTrackingAimFlagsFB = Self(1 << 2u64);
9804 #[doc = "Middle finger pinch discrete signal"]
9805 pub const MIDDLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 3u64);
9806 #[doc = "Ring finger pinch discrete signal"]
9807 pub const RING_PINCHING: HandTrackingAimFlagsFB = Self(1 << 4u64);
9808 #[doc = "Little finger pinch discrete signal"]
9809 pub const LITTLE_PINCHING: HandTrackingAimFlagsFB = Self(1 << 5u64);
9810 #[doc = "System gesture is active"]
9811 pub const SYSTEM_GESTURE: HandTrackingAimFlagsFB = Self(1 << 6u64);
9812 #[doc = "Hand is currently marked as dominant for the system"]
9813 pub const DOMINANT_HAND: HandTrackingAimFlagsFB = Self(1 << 7u64);
9814 #[doc = "System menu gesture is active"]
9815 pub const MENU_PRESSED: HandTrackingAimFlagsFB = Self(1 << 8u64);
9816}
9817bitmask!(HandTrackingAimFlagsFB);
9818#[doc = "See [XrKeyboardTrackingFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingFlagsFB)"]
9819#[repr(transparent)]
9820#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9821pub struct KeyboardTrackingFlagsFB(u64);
9822impl KeyboardTrackingFlagsFB {
9823 #[doc = "indicates that the system has a physically tracked keyboard to report. If not set then no other bits should be considered to be valid or meaningful. If set either XR_KEYBOARD_TRACKING_LOCAL_BIT_FB or XR_KEYBOARD_TRACKING_REMOTE_BIT_FB must also be set."]
9824 pub const EXISTS: KeyboardTrackingFlagsFB = Self(1 << 0u64);
9825 #[doc = "indicates that the physically tracked keyboard is intended to be used in a local pairing with the system. Mutually exclusive with XR_KEYBOARD_TRACKING_REMOTE_BIT_FB."]
9826 pub const LOCAL: KeyboardTrackingFlagsFB = Self(1 << 1u64);
9827 #[doc = "indicates that the physically tracked keyboard is intended to be used while paired to a separate remote computing device. Mutually exclusive with XR_KEYBOARD_TRACKING_LOCAL_BIT_FB."]
9828 pub const REMOTE: KeyboardTrackingFlagsFB = Self(1 << 2u64);
9829 #[doc = "indicates that the physically tracked keyboard is actively connected to the headset and capable of sending key data"]
9830 pub const CONNECTED: KeyboardTrackingFlagsFB = Self(1 << 3u64);
9831}
9832bitmask!(KeyboardTrackingFlagsFB);
9833#[doc = "See [XrKeyboardTrackingQueryFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingQueryFlagsFB)"]
9834#[repr(transparent)]
9835#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9836pub struct KeyboardTrackingQueryFlagsFB(u64);
9837impl KeyboardTrackingQueryFlagsFB {
9838 #[doc = "indicates the query is for the physically tracked keyboard that is intended to be used in a local pairing with the System. Mutually exclusive with XR_KEYBOARD_TRACKING_QUERY_REMOTE_BIT_FB."]
9839 pub const LOCAL: KeyboardTrackingQueryFlagsFB = Self(1 << 1u64);
9840 #[doc = "indicates the query is for the physically tracked keyboard that may be connected to a separate remote computing device. Mutually exclusive with XR_KEYBOARD_TRACKING_QUERY_LOCAL_BIT_FB."]
9841 pub const REMOTE: KeyboardTrackingQueryFlagsFB = Self(1 << 2u64);
9842}
9843bitmask!(KeyboardTrackingQueryFlagsFB);
9844#[doc = "See [XrCompositionLayerSpaceWarpInfoFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSpaceWarpInfoFlagsFB)"]
9845#[repr(transparent)]
9846#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9847pub struct CompositionLayerSpaceWarpInfoFlagsFB(u64);
9848impl CompositionLayerSpaceWarpInfoFlagsFB {
9849 #[doc = "Skip current frame's space warp extrapolation"]
9850 pub const FRAME_SKIP: CompositionLayerSpaceWarpInfoFlagsFB = Self(1 << 0u64);
9851}
9852bitmask!(CompositionLayerSpaceWarpInfoFlagsFB);
9853#[doc = "See [XrRenderModelFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelFlagsFB)"]
9854#[repr(transparent)]
9855#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9856pub struct RenderModelFlagsFB(u64);
9857impl RenderModelFlagsFB {
9858 #[doc = "Minimal level of support. Can only contain a single mesh. Can only contain a single texture. Can not contain transparency. Assumes unlit rendering. Requires Extension KHR_texturebasisu."]
9859 pub const SUPPORTS_GLTF_2_0_SUBSET_1: RenderModelFlagsFB = Self(1 << 0u64);
9860 #[doc = "All of XR_RENDER_MODEL_SUPPORTS_GLTF_2_0_SUBSET_1_BIT_FB support plus: Multiple meshes. Multiple Textures. Texture Transparency."]
9861 pub const SUPPORTS_GLTF_2_0_SUBSET_2: RenderModelFlagsFB = Self(1 << 1u64);
9862}
9863bitmask!(RenderModelFlagsFB);
9864#[doc = "See [XrDigitalLensControlFlagsALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlFlagsALMALENCE)"]
9865#[repr(transparent)]
9866#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9867pub struct DigitalLensControlFlagsALMALENCE(u64);
9868impl DigitalLensControlFlagsALMALENCE {
9869 #[doc = "disables Digital Lens processing of render textures"]
9870 pub const PROCESSING_DISABLE: DigitalLensControlFlagsALMALENCE = Self(1 << 0u64);
9871}
9872bitmask!(DigitalLensControlFlagsALMALENCE);
9873#[doc = "See [XrCompositionLayerSettingsFlagsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSettingsFlagsFB)"]
9874#[repr(transparent)]
9875#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9876pub struct CompositionLayerSettingsFlagsFB(u64);
9877impl CompositionLayerSettingsFlagsFB {
9878 #[doc = "Indicates compositor may: use layer texture supersampling."]
9879 pub const NORMAL_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 0u64);
9880 #[doc = "Indicates compositor may: use high quality layer texture supersampling."]
9881 pub const QUALITY_SUPER_SAMPLING: CompositionLayerSettingsFlagsFB = Self(1 << 1u64);
9882 #[doc = "Indicates compositor may: use layer texture sharpening."]
9883 pub const NORMAL_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 2u64);
9884 #[doc = "Indicates compositor may: use high quality layer texture sharpening."]
9885 pub const QUALITY_SHARPENING: CompositionLayerSettingsFlagsFB = Self(1 << 3u64);
9886 #[doc = "Indicates compositor may: automatically toggle a texture filtering mechanism to improve visual quality of layer. This must: not be the only bit set. (Added by XR_META_automatic_layer_filter)"]
9887 pub const AUTO_LAYER_FILTER: CompositionLayerSettingsFlagsFB = Self(1 << 5u64);
9888}
9889bitmask!(CompositionLayerSettingsFlagsFB);
9890#[doc = "See [XrExternalCameraStatusFlagsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraStatusFlagsOCULUS)"]
9891#[repr(transparent)]
9892#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9893pub struct ExternalCameraStatusFlagsOCULUS(u64);
9894impl ExternalCameraStatusFlagsOCULUS {
9895 #[doc = "External camera is connected"]
9896 pub const CONNECTED: ExternalCameraStatusFlagsOCULUS = Self(1 << 0u64);
9897 #[doc = "External camera is undergoing calibration"]
9898 pub const CALIBRATING: ExternalCameraStatusFlagsOCULUS = Self(1 << 1u64);
9899 #[doc = "External camera has tried and failed calibration"]
9900 pub const CALIBRATION_FAILED: ExternalCameraStatusFlagsOCULUS = Self(1 << 2u64);
9901 #[doc = "External camera has tried and passed calibration"]
9902 pub const CALIBRATED: ExternalCameraStatusFlagsOCULUS = Self(1 << 3u64);
9903 #[doc = "External camera is capturing"]
9904 pub const CAPTURING: ExternalCameraStatusFlagsOCULUS = Self(1 << 4u64);
9905}
9906bitmask!(ExternalCameraStatusFlagsOCULUS);
9907#[doc = "See [XrPerformanceMetricsCounterFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterFlagsMETA)"]
9908#[repr(transparent)]
9909#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9910pub struct PerformanceMetricsCounterFlagsMETA(u64);
9911impl PerformanceMetricsCounterFlagsMETA {
9912 #[doc = "Indicates any of the values in XrPerformanceMetricsCounterMETA is valid."]
9913 pub const ANY_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 0u64);
9914 #[doc = "Indicates the uintValue in XrPerformanceMetricsCounterMETA is valid."]
9915 pub const UINT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 1u64);
9916 #[doc = "Indicates the floatValue in XrPerformanceMetricsCounterMETA is valid."]
9917 pub const FLOAT_VALUE_VALID: PerformanceMetricsCounterFlagsMETA = Self(1 << 2u64);
9918}
9919bitmask!(PerformanceMetricsCounterFlagsMETA);
9920#[doc = "See [XrPassthroughPreferenceFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughPreferenceFlagsMETA)"]
9921#[repr(transparent)]
9922#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9923pub struct PassthroughPreferenceFlagsMETA(u64);
9924impl PassthroughPreferenceFlagsMETA {
9925 #[doc = "Indicates that the runtime recommends apps to default to a mixed reality experience with passthrough (if supported)."]
9926 pub const DEFAULT_TO_ACTIVE: PassthroughPreferenceFlagsMETA = Self(1 << 0u64);
9927}
9928bitmask!(PassthroughPreferenceFlagsMETA);
9929#[doc = "See [XrFoveationDynamicFlagsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicFlagsHTC)"]
9930#[repr(transparent)]
9931#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9932pub struct FoveationDynamicFlagsHTC(u64);
9933impl FoveationDynamicFlagsHTC {
9934 #[doc = "Allow system to set periphery pixel density dynamically."]
9935 pub const LEVEL_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 0u64);
9936 #[doc = "Allow system to set clear FOV degree dynamically."]
9937 pub const CLEAR_FOV_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 1u64);
9938 #[doc = "Allow system to set focal center offset dynamically."]
9939 pub const FOCAL_CENTER_OFFSET_ENABLED: FoveationDynamicFlagsHTC = Self(1 << 2u64);
9940}
9941bitmask!(FoveationDynamicFlagsHTC);
9942#[doc = "See [XrPerformanceMetricsCounterFlagsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterFlagsANDROID)"]
9943#[repr(transparent)]
9944#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9945pub struct PerformanceMetricsCounterFlagsANDROID(u64);
9946impl PerformanceMetricsCounterFlagsANDROID {
9947 #[doc = "Indicates any of the values in XrPerformanceMetricsCounterANDROID is valid."]
9948 pub const ANY_VALUE_VALID: PerformanceMetricsCounterFlagsANDROID = Self(1 << 0u64);
9949 #[doc = "Indicates the uintValue in XrPerformanceMetricsCounterANDROID is valid."]
9950 pub const UINT_VALUE_VALID: PerformanceMetricsCounterFlagsANDROID = Self(1 << 1u64);
9951 #[doc = "Indicates the floatValue in XrPerformanceMetricsCounterANDROID is valid."]
9952 pub const FLOAT_VALUE_VALID: PerformanceMetricsCounterFlagsANDROID = Self(1 << 2u64);
9953}
9954bitmask!(PerformanceMetricsCounterFlagsANDROID);
9955#[doc = "See [XrFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfoFlagsML)"]
9956#[repr(transparent)]
9957#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9958pub struct FrameEndInfoFlagsML(u64);
9959impl FrameEndInfoFlagsML {
9960 #[doc = "Indicates that the content for this frame is protected and should not be recorded or captured outside the graphics system."]
9961 pub const PROTECTED: FrameEndInfoFlagsML = Self(1 << 0u64);
9962 #[doc = "Indicates that a soft fade to transparent should be added to the frame in the compositor to blend any hard edges at the FOV limits."]
9963 pub const VIGNETTE: FrameEndInfoFlagsML = Self(1 << 1u64);
9964}
9965bitmask!(FrameEndInfoFlagsML);
9966#[doc = "See [XrGlobalDimmerFrameEndInfoFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGlobalDimmerFrameEndInfoFlagsML)"]
9967#[repr(transparent)]
9968#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9969pub struct GlobalDimmerFrameEndInfoFlagsML(u64);
9970impl GlobalDimmerFrameEndInfoFlagsML {
9971 #[doc = "Indicates that the global dimmer should: be enabled and controlled by dimmerValue."]
9972 pub const ENABLED: GlobalDimmerFrameEndInfoFlagsML = Self(1 << 0u64);
9973}
9974bitmask!(GlobalDimmerFrameEndInfoFlagsML);
9975#[doc = "See [XrPlaneDetectorFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorFlagsEXT)"]
9976#[repr(transparent)]
9977#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9978pub struct PlaneDetectorFlagsEXT(u64);
9979impl PlaneDetectorFlagsEXT {
9980 #[doc = "populate the plane contour information"]
9981 pub const ENABLE_CONTOUR: PlaneDetectorFlagsEXT = Self(1 << 0u64);
9982}
9983bitmask!(PlaneDetectorFlagsEXT);
9984#[doc = "See [XrPlaneDetectionCapabilityFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectionCapabilityFlagsEXT)"]
9985#[repr(transparent)]
9986#[derive(Debug, Copy, Clone, Eq, PartialEq)]
9987pub struct PlaneDetectionCapabilityFlagsEXT(u64);
9988impl PlaneDetectionCapabilityFlagsEXT {
9989 #[doc = "plane detection is supported"]
9990 pub const PLANE_DETECTION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 0u64);
9991 #[doc = "polygon buffers for holes in planes can be generated"]
9992 pub const PLANE_HOLES: PlaneDetectionCapabilityFlagsEXT = Self(1 << 1u64);
9993 #[doc = "plane detection supports ceiling semantic classification"]
9994 pub const SEMANTIC_CEILING: PlaneDetectionCapabilityFlagsEXT = Self(1 << 2u64);
9995 #[doc = "plane detection supports floor semantic classification"]
9996 pub const SEMANTIC_FLOOR: PlaneDetectionCapabilityFlagsEXT = Self(1 << 3u64);
9997 #[doc = "plane detection supports wall semantic classification"]
9998 pub const SEMANTIC_WALL: PlaneDetectionCapabilityFlagsEXT = Self(1 << 4u64);
9999 #[doc = "plane detection supports platform semantic classification (for example table tops)"]
10000 pub const SEMANTIC_PLATFORM: PlaneDetectionCapabilityFlagsEXT = Self(1 << 5u64);
10001 #[doc = "plane detection supports plane orientation classification. If not supported planes are always classified as ARBITRARY."]
10002 pub const ORIENTATION: PlaneDetectionCapabilityFlagsEXT = Self(1 << 6u64);
10003}
10004bitmask!(PlaneDetectionCapabilityFlagsEXT);
10005#[doc = "See [XrVirtualKeyboardInputStateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputStateFlagsMETA)"]
10006#[repr(transparent)]
10007#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10008pub struct VirtualKeyboardInputStateFlagsMETA(u64);
10009impl VirtualKeyboardInputStateFlagsMETA {
10010 #[doc = "If the input source is considered 'pressed' at all. Pinch for hands, Primary button for controllers."]
10011 pub const PRESSED: VirtualKeyboardInputStateFlagsMETA = Self(1 << 0u64);
10012}
10013bitmask!(VirtualKeyboardInputStateFlagsMETA);
10014#[doc = "See [XrLocalizationMapErrorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapErrorFlagsML)"]
10015#[repr(transparent)]
10016#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10017pub struct LocalizationMapErrorFlagsML(u64);
10018impl LocalizationMapErrorFlagsML {
10019 #[doc = "Localization failed for an unknown reason."]
10020 pub const UNKNOWN: LocalizationMapErrorFlagsML = Self(1 << 0u64);
10021 #[doc = "Localization failed because the user is outside of the mapped area."]
10022 pub const OUT_OF_MAPPED_AREA: LocalizationMapErrorFlagsML = Self(1 << 1u64);
10023 #[doc = "There are not enough features in the environment to successfully localize."]
10024 pub const LOW_FEATURE_COUNT: LocalizationMapErrorFlagsML = Self(1 << 2u64);
10025 #[doc = "Localization failed due to excessive motion."]
10026 pub const EXCESSIVE_MOTION: LocalizationMapErrorFlagsML = Self(1 << 3u64);
10027 #[doc = "Localization failed because the lighting levels are too low in the environment."]
10028 pub const LOW_LIGHT: LocalizationMapErrorFlagsML = Self(1 << 4u64);
10029 #[doc = "A headpose failure caused localization to be unsuccessful."]
10030 pub const HEADPOSE: LocalizationMapErrorFlagsML = Self(1 << 5u64);
10031}
10032bitmask!(LocalizationMapErrorFlagsML);
10033#[doc = "See [XrEnvironmentDepthProviderCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderCreateFlagsMETA)"]
10034#[repr(transparent)]
10035#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10036pub struct EnvironmentDepthProviderCreateFlagsMETA(u64);
10037impl EnvironmentDepthProviderCreateFlagsMETA {}
10038bitmask!(EnvironmentDepthProviderCreateFlagsMETA);
10039#[doc = "See [XrEnvironmentDepthSwapchainCreateFlagsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainCreateFlagsMETA)"]
10040#[repr(transparent)]
10041#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10042pub struct EnvironmentDepthSwapchainCreateFlagsMETA(u64);
10043impl EnvironmentDepthSwapchainCreateFlagsMETA {}
10044bitmask!(EnvironmentDepthSwapchainCreateFlagsMETA);
10045#[doc = "See [XrWorldMeshDetectorFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorFlagsML)"]
10046#[repr(transparent)]
10047#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10048pub struct WorldMeshDetectorFlagsML(u64);
10049impl WorldMeshDetectorFlagsML {
10050 #[doc = "If set, will return a point cloud instead of a triangle mesh."]
10051 pub const POINT_CLOUD: WorldMeshDetectorFlagsML = Self(1 << 0u64);
10052 #[doc = "If set, the system will compute the normals for the triangle vertices."]
10053 pub const COMPUTE_NORMALS: WorldMeshDetectorFlagsML = Self(1 << 1u64);
10054 #[doc = "If set, the system will compute the confidence values."]
10055 pub const COMPUTE_CONFIDENCE: WorldMeshDetectorFlagsML = Self(1 << 2u64);
10056 #[doc = "If set, the system will planarize the returned mesh (planar regions will be smoothed out)."]
10057 pub const PLANARIZE: WorldMeshDetectorFlagsML = Self(1 << 3u64);
10058 #[doc = "If set, the mesh skirt (overlapping area between two mesh blocks) will be removed."]
10059 pub const REMOVE_MESH_SKIRT: WorldMeshDetectorFlagsML = Self(1 << 4u64);
10060 #[doc = "If set, winding order of indices will be be changed from counter clockwise to clockwise."]
10061 pub const INDEX_ORDER_CW: WorldMeshDetectorFlagsML = Self(1 << 5u64);
10062}
10063bitmask!(WorldMeshDetectorFlagsML);
10064#[doc = "See [XrSoundObstacleFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleFlagsBD)"]
10065#[repr(transparent)]
10066#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10067pub struct SoundObstacleFlagsBD(u64);
10068impl SoundObstacleFlagsBD {
10069 #[doc = "to indicate an update of enabled"]
10070 pub const ENABLED: SoundObstacleFlagsBD = Self(1 << 0u64);
10071 #[doc = "to indicate an update of pose"]
10072 pub const POSE: SoundObstacleFlagsBD = Self(1 << 1u64);
10073 #[doc = "to indicate an update of mesh"]
10074 pub const MESH: SoundObstacleFlagsBD = Self(1 << 2u64);
10075 #[doc = "to indicate an update of materials"]
10076 pub const MATERIALS: SoundObstacleFlagsBD = Self(1 << 3u64);
10077}
10078bitmask!(SoundObstacleFlagsBD);
10079#[doc = "See [XrSoundObjectFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectFlagsBD)"]
10080#[repr(transparent)]
10081#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10082pub struct SoundObjectFlagsBD(u64);
10083impl SoundObjectFlagsBD {
10084 #[doc = "to indicate an update of enabled"]
10085 pub const ENABLED: SoundObjectFlagsBD = Self(1 << 0u64);
10086 #[doc = "to indicate an update of pose"]
10087 pub const POSE: SoundObjectFlagsBD = Self(1 << 1u64);
10088 #[doc = "to indicate an update of the directivity using an XrSoundObjectDirectivityCardioidBD chained to next"]
10089 pub const DIRECTIVITY: SoundObjectFlagsBD = Self(1 << 2u64);
10090 #[doc = "to indicate an update of the shape using an XrSoundObjectShapeSphereBD chained to next"]
10091 pub const SHAPE: SoundObjectFlagsBD = Self(1 << 3u64);
10092 #[doc = "to indicate an update of mainVolume"]
10093 pub const MAIN_VOLUME: SoundObjectFlagsBD = Self(1 << 4u64);
10094 #[doc = "to indicate an update of reflectionGain"]
10095 pub const REFLECTION_GAIN: SoundObjectFlagsBD = Self(1 << 5u64);
10096 #[doc = "to indicate an update of enableDoppler"]
10097 pub const ENABLE_DOPPLER: SoundObjectFlagsBD = Self(1 << 6u64);
10098 #[doc = "to indicate an update of directSoundAttenuation"]
10099 pub const DIRECT_SOUND_ATTENUATION: SoundObjectFlagsBD = Self(1 << 7u64);
10100 #[doc = "to indicate an update of indirectSoundAttenuation"]
10101 pub const INDIRECT_SOUND_ATTENUATION: SoundObjectFlagsBD = Self(1 << 8u64);
10102}
10103bitmask!(SoundObjectFlagsBD);
10104#[doc = "See [XrSoundFieldFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldFlagsBD)"]
10105#[repr(transparent)]
10106#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10107pub struct SoundFieldFlagsBD(u64);
10108impl SoundFieldFlagsBD {
10109 #[doc = "to indicate an update of enabled"]
10110 pub const ENABLED: SoundFieldFlagsBD = Self(1 << 0u64);
10111 #[doc = "to indicate an update of pose and/or baseSpace"]
10112 pub const ORIENTATION: SoundFieldFlagsBD = Self(1 << 1u64);
10113 #[doc = "to indicate an update of mainVolume"]
10114 pub const MAIN_VOLUME: SoundFieldFlagsBD = Self(1 << 2u64);
10115 #[doc = "to indicate an update of lfeGain"]
10116 pub const LFE_GAIN: SoundFieldFlagsBD = Self(1 << 3u64);
10117}
10118bitmask!(SoundFieldFlagsBD);
10119#[doc = "See [XrFacialExpressionBlendShapePropertiesFlagsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapePropertiesFlagsML)"]
10120#[repr(transparent)]
10121#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10122pub struct FacialExpressionBlendShapePropertiesFlagsML(u64);
10123impl FacialExpressionBlendShapePropertiesFlagsML {
10124 #[doc = "Indicates whether the blend shape is valid."]
10125 pub const VALID: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 0u64);
10126 #[doc = "Indicates whether the blend shape is being tracked by the runtime."]
10127 pub const TRACKED: FacialExpressionBlendShapePropertiesFlagsML = Self(1 << 1u64);
10128}
10129bitmask!(FacialExpressionBlendShapePropertiesFlagsML);
10130#[doc = "See [XrSpatialMeshConfigFlagsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshConfigFlagsBD)"]
10131#[repr(transparent)]
10132#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10133pub struct SpatialMeshConfigFlagsBD(u64);
10134impl SpatialMeshConfigFlagsBD {
10135 #[doc = "Detect and include semantic label component data in the spatial entity."]
10136 pub const SEMANTIC: SpatialMeshConfigFlagsBD = Self(1 << 0u64);
10137 #[doc = "Semantic labels are associated with each vertex, otherwise, semantic labels are associated with each triangle face by default. It only takes effect if XR_SPATIAL_MESH_CONFIG_SEMANTIC_BIT_BD is set"]
10138 pub const ALIGN_SEMANTIC_WITH_VERTEX: SpatialMeshConfigFlagsBD = Self(1 << 1u64);
10139}
10140bitmask!(SpatialMeshConfigFlagsBD);
10141#[doc = "See [XrBatteryStateDisplayStateFlagsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBatteryStateDisplayStateFlagsEXT)"]
10142#[repr(transparent)]
10143#[derive(Debug, Copy, Clone, Eq, PartialEq)]
10144pub struct BatteryStateDisplayStateFlagsEXT(u64);
10145impl BatteryStateDisplayStateFlagsEXT {
10146 #[doc = "Indicates validity of batteryLevel"]
10147 pub const VALID: BatteryStateDisplayStateFlagsEXT = Self(1 << 0u64);
10148 #[doc = "Indicates that the device associated with the interaction profile is charging."]
10149 pub const CHARGING: BatteryStateDisplayStateFlagsEXT = Self(1 << 1u64);
10150 #[doc = "Indicates that the device associated with the interaction profile is plugged in to a power source."]
10151 pub const PLUGGED_IN: BatteryStateDisplayStateFlagsEXT = Self(1 << 2u64);
10152 #[doc = "Indicates that the device associated with the interaction profile does not have a battery power source."]
10153 pub const NO_BATTERY: BatteryStateDisplayStateFlagsEXT = Self(1 << 3u64);
10154}
10155bitmask!(BatteryStateDisplayStateFlagsEXT);
10156#[doc = "See [XrInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstance)"]
10157#[repr(transparent)]
10158#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10159pub struct Instance(u64);
10160handle!(Instance);
10161#[doc = "See [XrSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSession)"]
10162#[repr(transparent)]
10163#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10164pub struct Session(u64);
10165handle!(Session);
10166#[doc = "See [XrActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSet)"]
10167#[repr(transparent)]
10168#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10169pub struct ActionSet(u64);
10170handle!(ActionSet);
10171#[doc = "See [XrAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAction)"]
10172#[repr(transparent)]
10173#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10174pub struct Action(u64);
10175handle!(Action);
10176#[doc = "See [XrSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchain)"]
10177#[repr(transparent)]
10178#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10179pub struct Swapchain(u64);
10180handle!(Swapchain);
10181#[doc = "See [XrSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpace)"]
10182#[repr(transparent)]
10183#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10184pub struct Space(u64);
10185handle!(Space);
10186#[doc = "See [XrDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerEXT)"]
10187#[repr(transparent)]
10188#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10189pub struct DebugUtilsMessengerEXT(u64);
10190handle!(DebugUtilsMessengerEXT);
10191#[doc = "See [XrSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorMSFT)"]
10192#[repr(transparent)]
10193#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10194pub struct SpatialAnchorMSFT(u64);
10195handle!(SpatialAnchorMSFT);
10196#[doc = "See [XrHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackerEXT)"]
10197#[repr(transparent)]
10198#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10199pub struct HandTrackerEXT(u64);
10200handle!(HandTrackerEXT);
10201#[doc = "See [XrFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationProfileFB)"]
10202#[repr(transparent)]
10203#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10204pub struct FoveationProfileFB(u64);
10205handle!(FoveationProfileFB);
10206#[doc = "See [XrTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshFB)"]
10207#[repr(transparent)]
10208#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10209pub struct TriangleMeshFB(u64);
10210handle!(TriangleMeshFB);
10211#[doc = "See [XrPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughFB)"]
10212#[repr(transparent)]
10213#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10214pub struct PassthroughFB(u64);
10215handle!(PassthroughFB);
10216#[doc = "See [XrPassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerFB)"]
10217#[repr(transparent)]
10218#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10219pub struct PassthroughLayerFB(u64);
10220handle!(PassthroughLayerFB);
10221#[doc = "See [XrGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceFB)"]
10222#[repr(transparent)]
10223#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10224pub struct GeometryInstanceFB(u64);
10225handle!(GeometryInstanceFB);
10226#[doc = "See [XrFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackerHTC)"]
10227#[repr(transparent)]
10228#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10229pub struct FacialTrackerHTC(u64);
10230handle!(FacialTrackerHTC);
10231#[doc = "See [XrPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughHTC)"]
10232#[repr(transparent)]
10233#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10234pub struct PassthroughHTC(u64);
10235handle!(PassthroughHTC);
10236#[doc = "See [XrFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerANDROID)"]
10237#[repr(transparent)]
10238#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10239pub struct FaceTrackerANDROID(u64);
10240handle!(FaceTrackerANDROID);
10241#[doc = "See [XrTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTrackerANDROID)"]
10242#[repr(transparent)]
10243#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10244pub struct TrackableTrackerANDROID(u64);
10245handle!(TrackableTrackerANDROID);
10246#[doc = "See [XrDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDeviceAnchorPersistenceANDROID)"]
10247#[repr(transparent)]
10248#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10249pub struct DeviceAnchorPersistenceANDROID(u64);
10250handle!(DeviceAnchorPersistenceANDROID);
10251#[doc = "See [XrPassthroughLayerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerANDROID)"]
10252#[repr(transparent)]
10253#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10254pub struct PassthroughLayerANDROID(u64);
10255handle!(PassthroughLayerANDROID);
10256#[doc = "See [XrSceneMeshingTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshingTrackerANDROID)"]
10257#[repr(transparent)]
10258#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10259pub struct SceneMeshingTrackerANDROID(u64);
10260handle!(SceneMeshingTrackerANDROID);
10261#[doc = "See [XrSceneMeshSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSnapshotANDROID)"]
10262#[repr(transparent)]
10263#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10264pub struct SceneMeshSnapshotANDROID(u64);
10265handle!(SceneMeshSnapshotANDROID);
10266#[doc = "See [XrFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerFB)"]
10267#[repr(transparent)]
10268#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10269pub struct FaceTrackerFB(u64);
10270handle!(FaceTrackerFB);
10271#[doc = "See [XrFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTracker2FB)"]
10272#[repr(transparent)]
10273#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10274pub struct FaceTracker2FB(u64);
10275handle!(FaceTracker2FB);
10276#[doc = "See [XrBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerFB)"]
10277#[repr(transparent)]
10278#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10279pub struct BodyTrackerFB(u64);
10280handle!(BodyTrackerFB);
10281#[doc = "See [XrEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeTrackerFB)"]
10282#[repr(transparent)]
10283#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10284pub struct EyeTrackerFB(u64);
10285handle!(EyeTrackerFB);
10286#[doc = "See [XrSpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUserFB)"]
10287#[repr(transparent)]
10288#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10289pub struct SpaceUserFB(u64);
10290handle!(SpaceUserFB);
10291#[doc = "See [XrPassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutMETA)"]
10292#[repr(transparent)]
10293#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10294pub struct PassthroughColorLutMETA(u64);
10295handle!(PassthroughColorLutMETA);
10296#[doc = "See [XrPlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorEXT)"]
10297#[repr(transparent)]
10298#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10299pub struct PlaneDetectorEXT(u64);
10300handle!(PlaneDetectorEXT);
10301#[doc = "See [XrVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardMETA)"]
10302#[repr(transparent)]
10303#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10304pub struct VirtualKeyboardMETA(u64);
10305handle!(VirtualKeyboardMETA);
10306#[doc = "See [XrSpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsStorageML)"]
10307#[repr(transparent)]
10308#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10309pub struct SpatialAnchorsStorageML(u64);
10310handle!(SpatialAnchorsStorageML);
10311#[doc = "See [XrExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExportedLocalizationMapML)"]
10312#[repr(transparent)]
10313#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10314pub struct ExportedLocalizationMapML(u64);
10315handle!(ExportedLocalizationMapML);
10316#[doc = "See [XrMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorML)"]
10317#[repr(transparent)]
10318#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10319pub struct MarkerDetectorML(u64);
10320handle!(MarkerDetectorML);
10321#[doc = "See [XrFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionClientML)"]
10322#[repr(transparent)]
10323#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10324pub struct FacialExpressionClientML(u64);
10325handle!(FacialExpressionClientML);
10326#[doc = "See [XrEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderMETA)"]
10327#[repr(transparent)]
10328#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10329pub struct EnvironmentDepthProviderMETA(u64);
10330handle!(EnvironmentDepthProviderMETA);
10331#[doc = "See [XrEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainMETA)"]
10332#[repr(transparent)]
10333#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10334pub struct EnvironmentDepthSwapchainMETA(u64);
10335handle!(EnvironmentDepthSwapchainMETA);
10336#[doc = "See [XrSpatialContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextEXT)"]
10337#[repr(transparent)]
10338#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10339pub struct SpatialContextEXT(u64);
10340handle!(SpatialContextEXT);
10341#[doc = "See [XrSpatialEntityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityEXT)"]
10342#[repr(transparent)]
10343#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10344pub struct SpatialEntityEXT(u64);
10345handle!(SpatialEntityEXT);
10346#[doc = "See [XrSpatialSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialSnapshotEXT)"]
10347#[repr(transparent)]
10348#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10349pub struct SpatialSnapshotEXT(u64);
10350handle!(SpatialSnapshotEXT);
10351#[doc = "See [XrSpatialPersistenceContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextEXT)"]
10352#[repr(transparent)]
10353#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10354pub struct SpatialPersistenceContextEXT(u64);
10355handle!(SpatialPersistenceContextEXT);
10356#[doc = "See [XrBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerHTC)"]
10357#[repr(transparent)]
10358#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10359pub struct BodyTrackerHTC(u64);
10360handle!(BodyTrackerHTC);
10361#[doc = "See [XrWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorML)"]
10362#[repr(transparent)]
10363#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10364pub struct WorldMeshDetectorML(u64);
10365handle!(WorldMeshDetectorML);
10366#[doc = "See [XrSpatialAudioRendererBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAudioRendererBD)"]
10367#[repr(transparent)]
10368#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10369pub struct SpatialAudioRendererBD(u64);
10370handle!(SpatialAudioRendererBD);
10371#[doc = "See [XrSoundFieldBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldBD)"]
10372#[repr(transparent)]
10373#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10374pub struct SoundFieldBD(u64);
10375handle!(SoundFieldBD);
10376#[doc = "See [XrSoundObjectBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectBD)"]
10377#[repr(transparent)]
10378#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10379pub struct SoundObjectBD(u64);
10380handle!(SoundObjectBD);
10381#[doc = "See [XrSoundObstacleBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleBD)"]
10382#[repr(transparent)]
10383#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10384pub struct SoundObstacleBD(u64);
10385handle!(SoundObstacleBD);
10386#[doc = "See [XrSoundObstacleMaterialBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleMaterialBD)"]
10387#[repr(transparent)]
10388#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10389pub struct SoundObstacleMaterialBD(u64);
10390handle!(SoundObstacleMaterialBD);
10391#[doc = "See [XrBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerBD)"]
10392#[repr(transparent)]
10393#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10394pub struct BodyTrackerBD(u64);
10395handle!(BodyTrackerBD);
10396#[doc = "See [XrRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelEXT)"]
10397#[repr(transparent)]
10398#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10399pub struct RenderModelEXT(u64);
10400handle!(RenderModelEXT);
10401#[doc = "See [XrRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetEXT)"]
10402#[repr(transparent)]
10403#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10404pub struct RenderModelAssetEXT(u64);
10405handle!(RenderModelAssetEXT);
10406#[doc = "See [XrSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderBD)"]
10407#[repr(transparent)]
10408#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10409pub struct SenseDataProviderBD(u64);
10410handle!(SenseDataProviderBD);
10411#[doc = "See [XrSenseDataSnapshotBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataSnapshotBD)"]
10412#[repr(transparent)]
10413#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10414pub struct SenseDataSnapshotBD(u64);
10415handle!(SenseDataSnapshotBD);
10416#[doc = "See [XrAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorBD)"]
10417#[repr(transparent)]
10418#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10419pub struct AnchorBD(u64);
10420handle!(AnchorBD);
10421#[doc = "See [XrFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerBD)"]
10422#[repr(transparent)]
10423#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10424pub struct FaceTrackerBD(u64);
10425handle!(FaceTrackerBD);
10426#[doc = "See [XrEnvironmentRaycasterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycasterMETA)"]
10427#[repr(transparent)]
10428#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10429pub struct EnvironmentRaycasterMETA(u64);
10430handle!(EnvironmentRaycasterMETA);
10431#[doc = "See [XrSpatialGraphNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingMSFT)"]
10432#[repr(transparent)]
10433#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10434pub struct SpatialGraphNodeBindingMSFT(u64);
10435handle!(SpatialGraphNodeBindingMSFT);
10436#[doc = "See [XrSceneObserverMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneObserverMSFT)"]
10437#[repr(transparent)]
10438#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10439pub struct SceneObserverMSFT(u64);
10440handle!(SceneObserverMSFT);
10441#[doc = "See [XrSceneMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMSFT)"]
10442#[repr(transparent)]
10443#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10444pub struct SceneMSFT(u64);
10445handle!(SceneMSFT);
10446#[doc = "See [XrSpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorStoreConnectionMSFT)"]
10447#[repr(transparent)]
10448#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10449pub struct SpatialAnchorStoreConnectionMSFT(u64);
10450handle!(SpatialAnchorStoreConnectionMSFT);
10451#[doc = "See [XrTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageDatabaseANDROID)"]
10452#[repr(transparent)]
10453#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
10454pub struct TrackableImageDatabaseANDROID(u64);
10455handle!(TrackableImageDatabaseANDROID);
10456#[repr(C)]
10457#[derive(Copy, Clone, Debug, Default, PartialEq)]
10458#[doc = "See [XrVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector2f)"]
10459pub struct Vector2f {
10460 pub x: f32,
10461 pub y: f32,
10462}
10463#[repr(C)]
10464#[derive(Copy, Clone, Debug, Default, PartialEq)]
10465#[doc = "See [XrVector3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector3f)"]
10466pub struct Vector3f {
10467 pub x: f32,
10468 pub y: f32,
10469 pub z: f32,
10470}
10471#[repr(C)]
10472#[derive(Copy, Clone, Debug, Default, PartialEq)]
10473#[doc = "See [XrVector4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector4f)"]
10474pub struct Vector4f {
10475 pub x: f32,
10476 pub y: f32,
10477 pub z: f32,
10478 pub w: f32,
10479}
10480#[repr(C)]
10481#[derive(Copy, Clone, Debug, Default, PartialEq)]
10482#[doc = "See [XrColor4f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor4f)"]
10483pub struct Color4f {
10484 pub r: f32,
10485 pub g: f32,
10486 pub b: f32,
10487 pub a: f32,
10488}
10489#[repr(C)]
10490#[derive(Copy, Clone, Debug, Default, PartialEq)]
10491#[doc = "See [XrQuaternionf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQuaternionf)"]
10492pub struct Quaternionf {
10493 pub x: f32,
10494 pub y: f32,
10495 pub z: f32,
10496 pub w: f32,
10497}
10498#[repr(C)]
10499#[derive(Copy, Clone, Debug, Default, PartialEq)]
10500#[doc = "See [XrPosef](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPosef)"]
10501pub struct Posef {
10502 pub orientation: Quaternionf,
10503 pub position: Vector3f,
10504}
10505#[repr(C)]
10506#[derive(Copy, Clone, Debug, Default, PartialEq)]
10507#[doc = "See [XrOffset2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Df)"]
10508pub struct Offset2Df {
10509 pub x: f32,
10510 pub y: f32,
10511}
10512#[repr(C)]
10513#[derive(Copy, Clone, Debug, Default, PartialEq)]
10514#[doc = "See [XrExtent2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Df)"]
10515pub struct Extent2Df {
10516 pub width: f32,
10517 pub height: f32,
10518}
10519#[repr(C)]
10520#[derive(Copy, Clone, Debug, Default, PartialEq)]
10521#[doc = "See [XrRect2Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Df)"]
10522pub struct Rect2Df {
10523 pub offset: Offset2Df,
10524 pub extent: Extent2Df,
10525}
10526#[repr(C)]
10527#[derive(Copy, Clone, Debug, Default, PartialEq)]
10528#[doc = "See [XrOffset2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset2Di)"]
10529pub struct Offset2Di {
10530 pub x: i32,
10531 pub y: i32,
10532}
10533#[repr(C)]
10534#[derive(Copy, Clone, Debug, Default, PartialEq)]
10535#[doc = "See [XrExtent2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent2Di)"]
10536pub struct Extent2Di {
10537 pub width: i32,
10538 pub height: i32,
10539}
10540#[repr(C)]
10541#[derive(Copy, Clone, Debug, Default, PartialEq)]
10542#[doc = "See [XrRect2Di](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect2Di)"]
10543pub struct Rect2Di {
10544 pub offset: Offset2Di,
10545 pub extent: Extent2Di,
10546}
10547#[repr(C)]
10548#[derive(Copy, Clone, Debug, Default, PartialEq)]
10549#[doc = "See [XrNegotiateLoaderInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateLoaderInfo)"]
10550pub struct NegotiateLoaderInfo {
10551 pub struct_type: LoaderInterfaceStructs,
10552 pub struct_version: u32,
10553 pub struct_size: usize,
10554 pub min_interface_version: u32,
10555 pub max_interface_version: u32,
10556 pub min_api_version: Version,
10557 pub max_api_version: Version,
10558}
10559#[repr(C)]
10560#[derive(Copy, Clone)]
10561#[doc = "See [XrNegotiateApiLayerRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateApiLayerRequest)"]
10562pub struct NegotiateApiLayerRequest {
10563 pub struct_type: LoaderInterfaceStructs,
10564 pub struct_version: u32,
10565 pub struct_size: usize,
10566 pub layer_interface_version: u32,
10567 pub layer_api_version: Version,
10568 pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
10569 pub create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
10570}
10571#[repr(C)]
10572#[derive(Copy, Clone)]
10573#[doc = "See [XrNegotiateRuntimeRequest](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrNegotiateRuntimeRequest)"]
10574pub struct NegotiateRuntimeRequest {
10575 pub struct_type: LoaderInterfaceStructs,
10576 pub struct_version: u32,
10577 pub struct_size: usize,
10578 pub runtime_interface_version: u32,
10579 pub runtime_api_version: Version,
10580 pub get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
10581}
10582#[repr(C)]
10583#[derive(Copy, Clone)]
10584#[doc = "See [XrApiLayerNextInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerNextInfo)"]
10585pub struct ApiLayerNextInfo {
10586 pub struct_type: LoaderInterfaceStructs,
10587 pub struct_version: u32,
10588 pub struct_size: usize,
10589 pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
10590 pub next_get_instance_proc_addr: Option<pfn::GetInstanceProcAddr>,
10591 pub next_create_api_layer_instance: Option<pfn::CreateApiLayerInstance>,
10592 pub next: *mut ApiLayerNextInfo,
10593}
10594#[repr(C)]
10595#[derive(Copy, Clone)]
10596#[doc = "See [XrApiLayerCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerCreateInfo)"]
10597pub struct ApiLayerCreateInfo {
10598 pub struct_type: LoaderInterfaceStructs,
10599 pub struct_version: u32,
10600 pub struct_size: usize,
10601 pub loader_instance: *mut c_void,
10602 pub settings_file_location: [c_char; API_LAYER_MAX_SETTINGS_PATH_SIZE],
10603 pub next_info: *mut ApiLayerNextInfo,
10604}
10605#[repr(C)]
10606#[derive(Copy, Clone, Debug)]
10607#[doc = "See [XrBaseInStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseInStructure)"]
10608pub struct BaseInStructure {
10609 pub ty: StructureType,
10610 pub next: *const BaseInStructure,
10611}
10612#[repr(C)]
10613#[derive(Copy, Clone, Debug)]
10614#[doc = "See [XrBaseOutStructure](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBaseOutStructure)"]
10615pub struct BaseOutStructure {
10616 pub ty: StructureType,
10617 pub next: *mut BaseOutStructure,
10618}
10619#[repr(C)]
10620#[derive(Copy, Clone, Debug)]
10621#[doc = "See [XrApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApiLayerProperties)"]
10622pub struct ApiLayerProperties {
10623 pub ty: StructureType,
10624 pub next: *mut c_void,
10625 pub layer_name: [c_char; MAX_API_LAYER_NAME_SIZE],
10626 pub spec_version: Version,
10627 pub layer_version: u32,
10628 pub description: [c_char; MAX_API_LAYER_DESCRIPTION_SIZE],
10629}
10630impl ApiLayerProperties {
10631 pub const TYPE: StructureType = StructureType::API_LAYER_PROPERTIES;
10632 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10633 #[inline]
10634 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10635 let mut x = MaybeUninit::<Self>::uninit();
10636 unsafe {
10637 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10638 ty: Self::TYPE,
10639 next,
10640 });
10641 }
10642 x
10643 }
10644}
10645#[repr(C)]
10646#[derive(Copy, Clone, Debug)]
10647#[doc = "See [XrExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtensionProperties)"]
10648pub struct ExtensionProperties {
10649 pub ty: StructureType,
10650 pub next: *mut c_void,
10651 pub extension_name: [c_char; MAX_EXTENSION_NAME_SIZE],
10652 pub extension_version: u32,
10653}
10654impl ExtensionProperties {
10655 pub const TYPE: StructureType = StructureType::EXTENSION_PROPERTIES;
10656 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10657 #[inline]
10658 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10659 let mut x = MaybeUninit::<Self>::uninit();
10660 unsafe {
10661 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10662 ty: Self::TYPE,
10663 next,
10664 });
10665 }
10666 x
10667 }
10668}
10669#[repr(C)]
10670#[derive(Copy, Clone, Debug)]
10671#[doc = "See [XrApplicationInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrApplicationInfo)"]
10672pub struct ApplicationInfo {
10673 pub application_name: [c_char; MAX_APPLICATION_NAME_SIZE],
10674 pub application_version: u32,
10675 pub engine_name: [c_char; MAX_ENGINE_NAME_SIZE],
10676 pub engine_version: u32,
10677 pub api_version: Version,
10678}
10679#[repr(C)]
10680#[derive(Copy, Clone, Debug)]
10681#[doc = "See [XrInstanceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateInfo)"]
10682pub struct InstanceCreateInfo {
10683 pub ty: StructureType,
10684 pub next: *const c_void,
10685 pub create_flags: InstanceCreateFlags,
10686 pub application_info: ApplicationInfo,
10687 pub enabled_api_layer_count: u32,
10688 pub enabled_api_layer_names: *const *const c_char,
10689 pub enabled_extension_count: u32,
10690 pub enabled_extension_names: *const *const c_char,
10691}
10692impl InstanceCreateInfo {
10693 pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO;
10694}
10695#[repr(C)]
10696#[derive(Copy, Clone, Debug)]
10697#[doc = "See [XrInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceProperties)"]
10698pub struct InstanceProperties {
10699 pub ty: StructureType,
10700 pub next: *mut c_void,
10701 pub runtime_version: Version,
10702 pub runtime_name: [c_char; MAX_RUNTIME_NAME_SIZE],
10703}
10704impl InstanceProperties {
10705 pub const TYPE: StructureType = StructureType::INSTANCE_PROPERTIES;
10706 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10707 #[inline]
10708 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10709 let mut x = MaybeUninit::<Self>::uninit();
10710 unsafe {
10711 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10712 ty: Self::TYPE,
10713 next,
10714 });
10715 }
10716 x
10717 }
10718}
10719#[repr(C)]
10720#[derive(Copy, Clone, Debug)]
10721#[doc = "See [XrSystemGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGetInfo)"]
10722pub struct SystemGetInfo {
10723 pub ty: StructureType,
10724 pub next: *const c_void,
10725 pub form_factor: FormFactor,
10726}
10727impl SystemGetInfo {
10728 pub const TYPE: StructureType = StructureType::SYSTEM_GET_INFO;
10729}
10730#[repr(C)]
10731#[derive(Copy, Clone, Debug)]
10732#[doc = "See [XrSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemProperties)"]
10733pub struct SystemProperties {
10734 pub ty: StructureType,
10735 pub next: *mut c_void,
10736 pub system_id: SystemId,
10737 pub vendor_id: u32,
10738 pub system_name: [c_char; MAX_SYSTEM_NAME_SIZE],
10739 pub graphics_properties: SystemGraphicsProperties,
10740 pub tracking_properties: SystemTrackingProperties,
10741}
10742impl SystemProperties {
10743 pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES;
10744 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10745 #[inline]
10746 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10747 let mut x = MaybeUninit::<Self>::uninit();
10748 unsafe {
10749 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10750 ty: Self::TYPE,
10751 next,
10752 });
10753 }
10754 x
10755 }
10756}
10757#[repr(C)]
10758#[derive(Copy, Clone, Debug, Default, PartialEq)]
10759#[doc = "See [XrSystemGraphicsProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemGraphicsProperties)"]
10760pub struct SystemGraphicsProperties {
10761 pub max_swapchain_image_height: u32,
10762 pub max_swapchain_image_width: u32,
10763 pub max_layer_count: u32,
10764}
10765#[repr(C)]
10766#[derive(Copy, Clone, Debug, Default, PartialEq)]
10767#[doc = "See [XrSystemTrackingProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemTrackingProperties)"]
10768pub struct SystemTrackingProperties {
10769 pub orientation_tracking: Bool32,
10770 pub position_tracking: Bool32,
10771}
10772#[repr(C)]
10773#[derive(Copy, Clone, Debug)]
10774#[doc = "See [XrGraphicsBindingOpenGLWin32KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLWin32KHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
10775#[cfg(windows)]
10776pub struct GraphicsBindingOpenGLWin32KHR {
10777 pub ty: StructureType,
10778 pub next: *const c_void,
10779 pub h_dc: HDC,
10780 pub h_glrc: HGLRC,
10781}
10782#[cfg(windows)]
10783impl GraphicsBindingOpenGLWin32KHR {
10784 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WIN32_KHR;
10785}
10786#[repr(C)]
10787#[derive(Copy, Clone, Debug)]
10788#[doc = "See [XrGraphicsBindingOpenGLXlibKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLXlibKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
10789pub struct GraphicsBindingOpenGLXlibKHR {
10790 pub ty: StructureType,
10791 pub next: *const c_void,
10792 pub x_display: *mut Display,
10793 pub visualid: u32,
10794 pub glx_fb_config: GLXFBConfig,
10795 pub glx_drawable: GLXDrawable,
10796 pub glx_context: GLXContext,
10797}
10798impl GraphicsBindingOpenGLXlibKHR {
10799 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XLIB_KHR;
10800}
10801#[repr(C)]
10802#[derive(Copy, Clone, Debug)]
10803#[doc = "See [XrGraphicsBindingOpenGLXcbKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLXcbKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
10804pub struct GraphicsBindingOpenGLXcbKHR {
10805 pub ty: StructureType,
10806 pub next: *const c_void,
10807 pub connection: *mut xcb_connection_t,
10808 pub screen_number: u32,
10809 pub fbconfigid: xcb_glx_fbconfig_t,
10810 pub visualid: xcb_visualid_t,
10811 pub glx_drawable: xcb_glx_drawable_t,
10812 pub glx_context: xcb_glx_context_t,
10813}
10814impl GraphicsBindingOpenGLXcbKHR {
10815 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_XCB_KHR;
10816}
10817#[repr(C)]
10818#[derive(Copy, Clone, Debug)]
10819#[doc = "See [XrGraphicsBindingOpenGLWaylandKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLWaylandKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
10820pub struct GraphicsBindingOpenGLWaylandKHR {
10821 pub ty: StructureType,
10822 pub next: *const c_void,
10823 pub display: *mut wl_display,
10824}
10825impl GraphicsBindingOpenGLWaylandKHR {
10826 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_WAYLAND_KHR;
10827}
10828#[repr(C)]
10829#[derive(Copy, Clone, Debug)]
10830#[doc = "See [XrGraphicsBindingD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
10831#[cfg(windows)]
10832pub struct GraphicsBindingD3D11KHR {
10833 pub ty: StructureType,
10834 pub next: *const c_void,
10835 pub device: *mut ID3D11Device,
10836}
10837#[cfg(windows)]
10838impl GraphicsBindingD3D11KHR {
10839 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D11_KHR;
10840}
10841#[repr(C)]
10842#[derive(Copy, Clone, Debug)]
10843#[doc = "See [XrGraphicsBindingD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
10844#[cfg(windows)]
10845pub struct GraphicsBindingD3D12KHR {
10846 pub ty: StructureType,
10847 pub next: *const c_void,
10848 pub device: *mut ID3D12Device,
10849 pub queue: *mut ID3D12CommandQueue,
10850}
10851#[cfg(windows)]
10852impl GraphicsBindingD3D12KHR {
10853 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_D3D12_KHR;
10854}
10855#[repr(C)]
10856#[derive(Copy, Clone, Debug)]
10857#[doc = "See [XrGraphicsBindingOpenGLESAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingOpenGLESAndroidKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
10858#[cfg(target_os = "android")]
10859pub struct GraphicsBindingOpenGLESAndroidKHR {
10860 pub ty: StructureType,
10861 pub next: *const c_void,
10862 pub display: EGLDisplay,
10863 pub config: EGLConfig,
10864 pub context: EGLContext,
10865}
10866#[cfg(target_os = "android")]
10867impl GraphicsBindingOpenGLESAndroidKHR {
10868 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR;
10869}
10870#[repr(C)]
10871#[derive(Copy, Clone, Debug)]
10872#[doc = "See [XrGraphicsBindingVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
10873pub struct GraphicsBindingVulkanKHR {
10874 pub ty: StructureType,
10875 pub next: *const c_void,
10876 pub instance: VkInstance,
10877 pub physical_device: VkPhysicalDevice,
10878 pub device: VkDevice,
10879 pub queue_family_index: u32,
10880 pub queue_index: u32,
10881}
10882impl GraphicsBindingVulkanKHR {
10883 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_VULKAN_KHR;
10884}
10885pub type GraphicsBindingVulkan2KHR = GraphicsBindingVulkanKHR;
10886#[repr(C)]
10887#[derive(Copy, Clone, Debug)]
10888#[doc = "See [XrGraphicsBindingMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
10889#[cfg(target_vendor = "apple")]
10890pub struct GraphicsBindingMetalKHR {
10891 pub ty: StructureType,
10892 pub next: *const c_void,
10893 pub command_queue: *mut c_void,
10894}
10895#[cfg(target_vendor = "apple")]
10896impl GraphicsBindingMetalKHR {
10897 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_METAL_KHR;
10898}
10899#[repr(C)]
10900#[derive(Copy, Clone, Debug)]
10901#[doc = "See [XrSessionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateInfo)"]
10902pub struct SessionCreateInfo {
10903 pub ty: StructureType,
10904 pub next: *const c_void,
10905 pub create_flags: SessionCreateFlags,
10906 pub system_id: SystemId,
10907}
10908impl SessionCreateInfo {
10909 pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO;
10910}
10911#[repr(C)]
10912#[derive(Copy, Clone, Debug)]
10913#[doc = "See [XrSessionBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionBeginInfo)"]
10914pub struct SessionBeginInfo {
10915 pub ty: StructureType,
10916 pub next: *const c_void,
10917 pub primary_view_configuration_type: ViewConfigurationType,
10918}
10919impl SessionBeginInfo {
10920 pub const TYPE: StructureType = StructureType::SESSION_BEGIN_INFO;
10921}
10922#[repr(C)]
10923#[derive(Copy, Clone, Debug)]
10924#[doc = "See [XrSwapchainCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateInfo)"]
10925pub struct SwapchainCreateInfo {
10926 pub ty: StructureType,
10927 pub next: *const c_void,
10928 pub create_flags: SwapchainCreateFlags,
10929 pub usage_flags: SwapchainUsageFlags,
10930 pub format: i64,
10931 pub sample_count: u32,
10932 pub width: u32,
10933 pub height: u32,
10934 pub face_count: u32,
10935 pub array_size: u32,
10936 pub mip_count: u32,
10937}
10938impl SwapchainCreateInfo {
10939 pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO;
10940}
10941#[repr(C)]
10942#[derive(Copy, Clone, Debug)]
10943#[doc = "See [XrSwapchainImageBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageBaseHeader)"]
10944pub struct SwapchainImageBaseHeader {
10945 pub ty: StructureType,
10946 pub next: *mut c_void,
10947}
10948#[repr(C)]
10949#[derive(Copy, Clone, Debug)]
10950#[doc = "See [XrSwapchainImageOpenGLKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageOpenGLKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
10951pub struct SwapchainImageOpenGLKHR {
10952 pub ty: StructureType,
10953 pub next: *mut c_void,
10954 pub image: u32,
10955}
10956impl SwapchainImageOpenGLKHR {
10957 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_KHR;
10958 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10959 #[inline]
10960 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10961 let mut x = MaybeUninit::<Self>::uninit();
10962 unsafe {
10963 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10964 ty: Self::TYPE,
10965 next,
10966 });
10967 }
10968 x
10969 }
10970}
10971#[repr(C)]
10972#[derive(Copy, Clone, Debug)]
10973#[doc = "See [XrSwapchainImageOpenGLESKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageOpenGLESKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
10974pub struct SwapchainImageOpenGLESKHR {
10975 pub ty: StructureType,
10976 pub next: *mut c_void,
10977 pub image: u32,
10978}
10979impl SwapchainImageOpenGLESKHR {
10980 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_OPENGL_ES_KHR;
10981 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
10982 #[inline]
10983 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
10984 let mut x = MaybeUninit::<Self>::uninit();
10985 unsafe {
10986 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
10987 ty: Self::TYPE,
10988 next,
10989 });
10990 }
10991 x
10992 }
10993}
10994#[repr(C)]
10995#[derive(Copy, Clone, Debug)]
10996#[doc = "See [XrSwapchainImageVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
10997pub struct SwapchainImageVulkanKHR {
10998 pub ty: StructureType,
10999 pub next: *mut c_void,
11000 pub image: VkImage,
11001}
11002impl SwapchainImageVulkanKHR {
11003 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_VULKAN_KHR;
11004 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11005 #[inline]
11006 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11007 let mut x = MaybeUninit::<Self>::uninit();
11008 unsafe {
11009 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11010 ty: Self::TYPE,
11011 next,
11012 });
11013 }
11014 x
11015 }
11016}
11017pub type SwapchainImageVulkan2KHR = SwapchainImageVulkanKHR;
11018#[repr(C)]
11019#[derive(Copy, Clone, Debug)]
11020#[doc = "See [XrSwapchainImageD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
11021#[cfg(windows)]
11022pub struct SwapchainImageD3D11KHR {
11023 pub ty: StructureType,
11024 pub next: *mut c_void,
11025 pub texture: *mut ID3D11Texture2D,
11026}
11027#[cfg(windows)]
11028impl SwapchainImageD3D11KHR {
11029 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D11_KHR;
11030 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11031 #[inline]
11032 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11033 let mut x = MaybeUninit::<Self>::uninit();
11034 unsafe {
11035 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11036 ty: Self::TYPE,
11037 next,
11038 });
11039 }
11040 x
11041 }
11042}
11043#[repr(C)]
11044#[derive(Copy, Clone, Debug)]
11045#[doc = "See [XrSwapchainImageD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
11046#[cfg(windows)]
11047pub struct SwapchainImageD3D12KHR {
11048 pub ty: StructureType,
11049 pub next: *mut c_void,
11050 pub texture: *mut ID3D12Resource,
11051}
11052#[cfg(windows)]
11053impl SwapchainImageD3D12KHR {
11054 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_D3D12_KHR;
11055 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11056 #[inline]
11057 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11058 let mut x = MaybeUninit::<Self>::uninit();
11059 unsafe {
11060 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11061 ty: Self::TYPE,
11062 next,
11063 });
11064 }
11065 x
11066 }
11067}
11068#[repr(C)]
11069#[derive(Copy, Clone, Debug)]
11070#[doc = "See [XrSwapchainImageMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
11071#[cfg(target_vendor = "apple")]
11072pub struct SwapchainImageMetalKHR {
11073 pub ty: StructureType,
11074 pub next: *mut c_void,
11075 pub texture: *mut c_void,
11076}
11077#[cfg(target_vendor = "apple")]
11078impl SwapchainImageMetalKHR {
11079 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_METAL_KHR;
11080 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11081 #[inline]
11082 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11083 let mut x = MaybeUninit::<Self>::uninit();
11084 unsafe {
11085 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11086 ty: Self::TYPE,
11087 next,
11088 });
11089 }
11090 x
11091 }
11092}
11093#[repr(C)]
11094#[derive(Copy, Clone, Debug)]
11095#[doc = "See [XrSwapchainImageAcquireInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageAcquireInfo)"]
11096pub struct SwapchainImageAcquireInfo {
11097 pub ty: StructureType,
11098 pub next: *const c_void,
11099}
11100impl SwapchainImageAcquireInfo {
11101 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_ACQUIRE_INFO;
11102}
11103#[repr(C)]
11104#[derive(Copy, Clone, Debug)]
11105#[doc = "See [XrSwapchainImageWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageWaitInfo)"]
11106pub struct SwapchainImageWaitInfo {
11107 pub ty: StructureType,
11108 pub next: *const c_void,
11109 pub timeout: Duration,
11110}
11111impl SwapchainImageWaitInfo {
11112 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_WAIT_INFO;
11113}
11114#[repr(C)]
11115#[derive(Copy, Clone, Debug)]
11116#[doc = "See [XrSwapchainImageReleaseInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageReleaseInfo)"]
11117pub struct SwapchainImageReleaseInfo {
11118 pub ty: StructureType,
11119 pub next: *const c_void,
11120}
11121impl SwapchainImageReleaseInfo {
11122 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_RELEASE_INFO;
11123}
11124#[repr(C)]
11125#[derive(Copy, Clone, Debug)]
11126#[doc = "See [XrReferenceSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrReferenceSpaceCreateInfo)"]
11127pub struct ReferenceSpaceCreateInfo {
11128 pub ty: StructureType,
11129 pub next: *const c_void,
11130 pub reference_space_type: ReferenceSpaceType,
11131 pub pose_in_reference_space: Posef,
11132}
11133impl ReferenceSpaceCreateInfo {
11134 pub const TYPE: StructureType = StructureType::REFERENCE_SPACE_CREATE_INFO;
11135}
11136#[repr(C)]
11137#[derive(Copy, Clone, Debug)]
11138#[doc = "See [XrActionSpaceCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSpaceCreateInfo)"]
11139pub struct ActionSpaceCreateInfo {
11140 pub ty: StructureType,
11141 pub next: *const c_void,
11142 pub action: Action,
11143 pub subaction_path: Path,
11144 pub pose_in_action_space: Posef,
11145}
11146impl ActionSpaceCreateInfo {
11147 pub const TYPE: StructureType = StructureType::ACTION_SPACE_CREATE_INFO;
11148}
11149#[repr(C)]
11150#[derive(Copy, Clone, Debug)]
11151#[doc = "See [XrSpaceLocation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocation)"]
11152pub struct SpaceLocation {
11153 pub ty: StructureType,
11154 pub next: *mut c_void,
11155 pub location_flags: SpaceLocationFlags,
11156 pub pose: Posef,
11157}
11158impl SpaceLocation {
11159 pub const TYPE: StructureType = StructureType::SPACE_LOCATION;
11160 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11161 #[inline]
11162 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11163 let mut x = MaybeUninit::<Self>::uninit();
11164 unsafe {
11165 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11166 ty: Self::TYPE,
11167 next,
11168 });
11169 }
11170 x
11171 }
11172}
11173#[repr(C)]
11174#[derive(Copy, Clone, Debug)]
11175#[doc = "See [XrSpaceVelocity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocity)"]
11176pub struct SpaceVelocity {
11177 pub ty: StructureType,
11178 pub next: *mut c_void,
11179 pub velocity_flags: SpaceVelocityFlags,
11180 pub linear_velocity: Vector3f,
11181 pub angular_velocity: Vector3f,
11182}
11183impl SpaceVelocity {
11184 pub const TYPE: StructureType = StructureType::SPACE_VELOCITY;
11185 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11186 #[inline]
11187 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11188 let mut x = MaybeUninit::<Self>::uninit();
11189 unsafe {
11190 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11191 ty: Self::TYPE,
11192 next,
11193 });
11194 }
11195 x
11196 }
11197}
11198#[repr(C)]
11199#[derive(Copy, Clone, Debug, Default, PartialEq)]
11200#[doc = "See [XrFovf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFovf)"]
11201pub struct Fovf {
11202 pub angle_left: f32,
11203 pub angle_right: f32,
11204 pub angle_up: f32,
11205 pub angle_down: f32,
11206}
11207#[repr(C)]
11208#[derive(Copy, Clone, Debug)]
11209#[doc = "See [XrView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrView)"]
11210pub struct View {
11211 pub ty: StructureType,
11212 pub next: *mut c_void,
11213 pub pose: Posef,
11214 pub fov: Fovf,
11215}
11216impl View {
11217 pub const TYPE: StructureType = StructureType::VIEW;
11218 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11219 #[inline]
11220 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11221 let mut x = MaybeUninit::<Self>::uninit();
11222 unsafe {
11223 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11224 ty: Self::TYPE,
11225 next,
11226 });
11227 }
11228 x
11229 }
11230}
11231#[repr(C)]
11232#[derive(Copy, Clone, Debug)]
11233#[doc = "See [XrViewLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewLocateInfo)"]
11234pub struct ViewLocateInfo {
11235 pub ty: StructureType,
11236 pub next: *const c_void,
11237 pub view_configuration_type: ViewConfigurationType,
11238 pub display_time: Time,
11239 pub space: Space,
11240}
11241impl ViewLocateInfo {
11242 pub const TYPE: StructureType = StructureType::VIEW_LOCATE_INFO;
11243}
11244#[repr(C)]
11245#[derive(Copy, Clone, Debug)]
11246#[doc = "See [XrViewState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewState)"]
11247pub struct ViewState {
11248 pub ty: StructureType,
11249 pub next: *mut c_void,
11250 pub view_state_flags: ViewStateFlags,
11251}
11252impl ViewState {
11253 pub const TYPE: StructureType = StructureType::VIEW_STATE;
11254 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11255 #[inline]
11256 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11257 let mut x = MaybeUninit::<Self>::uninit();
11258 unsafe {
11259 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11260 ty: Self::TYPE,
11261 next,
11262 });
11263 }
11264 x
11265 }
11266}
11267#[repr(C)]
11268#[derive(Copy, Clone, Debug)]
11269#[doc = "See [XrViewConfigurationView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationView)"]
11270pub struct ViewConfigurationView {
11271 pub ty: StructureType,
11272 pub next: *mut c_void,
11273 pub recommended_image_rect_width: u32,
11274 pub max_image_rect_width: u32,
11275 pub recommended_image_rect_height: u32,
11276 pub max_image_rect_height: u32,
11277 pub recommended_swapchain_sample_count: u32,
11278 pub max_swapchain_sample_count: u32,
11279}
11280impl ViewConfigurationView {
11281 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW;
11282 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11283 #[inline]
11284 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11285 let mut x = MaybeUninit::<Self>::uninit();
11286 unsafe {
11287 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11288 ty: Self::TYPE,
11289 next,
11290 });
11291 }
11292 x
11293 }
11294}
11295#[repr(C)]
11296#[derive(Copy, Clone, Debug)]
11297#[doc = "See [XrSwapchainSubImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainSubImage)"]
11298pub struct SwapchainSubImage {
11299 pub swapchain: Swapchain,
11300 pub image_rect: Rect2Di,
11301 pub image_array_index: u32,
11302}
11303#[repr(C)]
11304#[derive(Copy, Clone, Debug)]
11305#[doc = "See [XrCompositionLayerBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerBaseHeader)"]
11306pub struct CompositionLayerBaseHeader {
11307 pub ty: StructureType,
11308 pub next: *const c_void,
11309 pub layer_flags: CompositionLayerFlags,
11310 pub space: Space,
11311}
11312#[repr(C)]
11313#[derive(Copy, Clone, Debug)]
11314#[doc = "See [XrCompositionLayerProjectionView](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjectionView)"]
11315pub struct CompositionLayerProjectionView {
11316 pub ty: StructureType,
11317 pub next: *const c_void,
11318 pub pose: Posef,
11319 pub fov: Fovf,
11320 pub sub_image: SwapchainSubImage,
11321}
11322impl CompositionLayerProjectionView {
11323 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION_VIEW;
11324}
11325#[repr(C)]
11326#[derive(Copy, Clone, Debug)]
11327#[doc = "See [XrCompositionLayerProjection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerProjection)"]
11328pub struct CompositionLayerProjection {
11329 pub ty: StructureType,
11330 pub next: *const c_void,
11331 pub layer_flags: CompositionLayerFlags,
11332 pub space: Space,
11333 pub view_count: u32,
11334 pub views: *const CompositionLayerProjectionView,
11335}
11336impl CompositionLayerProjection {
11337 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PROJECTION;
11338}
11339#[repr(C)]
11340#[derive(Copy, Clone, Debug)]
11341#[doc = "See [XrCompositionLayerQuad](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerQuad)"]
11342pub struct CompositionLayerQuad {
11343 pub ty: StructureType,
11344 pub next: *const c_void,
11345 pub layer_flags: CompositionLayerFlags,
11346 pub space: Space,
11347 pub eye_visibility: EyeVisibility,
11348 pub sub_image: SwapchainSubImage,
11349 pub pose: Posef,
11350 pub size: Extent2Df,
11351}
11352impl CompositionLayerQuad {
11353 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_QUAD;
11354}
11355#[repr(C)]
11356#[derive(Copy, Clone, Debug)]
11357#[doc = "See [XrCompositionLayerCylinderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerCylinderKHR) - defined by [XR_KHR_composition_layer_cylinder](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_cylinder)"]
11358pub struct CompositionLayerCylinderKHR {
11359 pub ty: StructureType,
11360 pub next: *const c_void,
11361 pub layer_flags: CompositionLayerFlags,
11362 pub space: Space,
11363 pub eye_visibility: EyeVisibility,
11364 pub sub_image: SwapchainSubImage,
11365 pub pose: Posef,
11366 pub radius: f32,
11367 pub central_angle: f32,
11368 pub aspect_ratio: f32,
11369}
11370impl CompositionLayerCylinderKHR {
11371 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CYLINDER_KHR;
11372}
11373#[repr(C)]
11374#[derive(Copy, Clone, Debug)]
11375#[doc = "See [XrCompositionLayerCubeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerCubeKHR) - defined by [XR_KHR_composition_layer_cube](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_cube)"]
11376pub struct CompositionLayerCubeKHR {
11377 pub ty: StructureType,
11378 pub next: *const c_void,
11379 pub layer_flags: CompositionLayerFlags,
11380 pub space: Space,
11381 pub eye_visibility: EyeVisibility,
11382 pub swapchain: Swapchain,
11383 pub image_array_index: u32,
11384 pub orientation: Quaternionf,
11385}
11386impl CompositionLayerCubeKHR {
11387 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_CUBE_KHR;
11388}
11389#[repr(C)]
11390#[derive(Copy, Clone, Debug)]
11391#[doc = "See [XrCompositionLayerEquirectKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerEquirectKHR) - defined by [XR_KHR_composition_layer_equirect](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_equirect)"]
11392pub struct CompositionLayerEquirectKHR {
11393 pub ty: StructureType,
11394 pub next: *const c_void,
11395 pub layer_flags: CompositionLayerFlags,
11396 pub space: Space,
11397 pub eye_visibility: EyeVisibility,
11398 pub sub_image: SwapchainSubImage,
11399 pub pose: Posef,
11400 pub radius: f32,
11401 pub scale: Vector2f,
11402 pub bias: Vector2f,
11403}
11404impl CompositionLayerEquirectKHR {
11405 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT_KHR;
11406}
11407#[repr(C)]
11408#[derive(Copy, Clone, Debug)]
11409#[doc = "See [XrCompositionLayerDepthInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthInfoKHR) - defined by [XR_KHR_composition_layer_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_depth)"]
11410pub struct CompositionLayerDepthInfoKHR {
11411 pub ty: StructureType,
11412 pub next: *const c_void,
11413 pub sub_image: SwapchainSubImage,
11414 pub min_depth: f32,
11415 pub max_depth: f32,
11416 pub near_z: f32,
11417 pub far_z: f32,
11418}
11419impl CompositionLayerDepthInfoKHR {
11420 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_INFO_KHR;
11421}
11422#[repr(C)]
11423#[derive(Copy, Clone, Debug)]
11424#[doc = "See [XrFrameBeginInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameBeginInfo)"]
11425pub struct FrameBeginInfo {
11426 pub ty: StructureType,
11427 pub next: *const c_void,
11428}
11429impl FrameBeginInfo {
11430 pub const TYPE: StructureType = StructureType::FRAME_BEGIN_INFO;
11431}
11432#[repr(C)]
11433#[derive(Copy, Clone, Debug)]
11434#[doc = "See [XrFrameEndInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfo)"]
11435pub struct FrameEndInfo {
11436 pub ty: StructureType,
11437 pub next: *const c_void,
11438 pub display_time: Time,
11439 pub environment_blend_mode: EnvironmentBlendMode,
11440 pub layer_count: u32,
11441 pub layers: *const *const CompositionLayerBaseHeader,
11442}
11443impl FrameEndInfo {
11444 pub const TYPE: StructureType = StructureType::FRAME_END_INFO;
11445}
11446#[repr(C)]
11447#[derive(Copy, Clone, Debug)]
11448#[doc = "See [XrFrameWaitInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameWaitInfo)"]
11449pub struct FrameWaitInfo {
11450 pub ty: StructureType,
11451 pub next: *const c_void,
11452}
11453impl FrameWaitInfo {
11454 pub const TYPE: StructureType = StructureType::FRAME_WAIT_INFO;
11455}
11456#[repr(C)]
11457#[derive(Copy, Clone, Debug)]
11458#[doc = "See [XrFrameState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameState)"]
11459pub struct FrameState {
11460 pub ty: StructureType,
11461 pub next: *mut c_void,
11462 pub predicted_display_time: Time,
11463 pub predicted_display_period: Duration,
11464 pub should_render: Bool32,
11465}
11466impl FrameState {
11467 pub const TYPE: StructureType = StructureType::FRAME_STATE;
11468 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11469 #[inline]
11470 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11471 let mut x = MaybeUninit::<Self>::uninit();
11472 unsafe {
11473 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11474 ty: Self::TYPE,
11475 next,
11476 });
11477 }
11478 x
11479 }
11480}
11481#[repr(C)]
11482#[derive(Copy, Clone, Debug)]
11483#[doc = "See [XrHapticBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticBaseHeader)"]
11484pub struct HapticBaseHeader {
11485 pub ty: StructureType,
11486 pub next: *const c_void,
11487}
11488#[repr(C)]
11489#[derive(Copy, Clone, Debug)]
11490#[doc = "See [XrHapticVibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticVibration)"]
11491pub struct HapticVibration {
11492 pub ty: StructureType,
11493 pub next: *const c_void,
11494 pub duration: Duration,
11495 pub frequency: f32,
11496 pub amplitude: f32,
11497}
11498impl HapticVibration {
11499 pub const TYPE: StructureType = StructureType::HAPTIC_VIBRATION;
11500}
11501#[repr(C)]
11502#[derive(Copy, Clone, Debug)]
11503#[doc = "See [XrEventDataBaseHeader](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBaseHeader)"]
11504pub struct EventDataBaseHeader {
11505 pub ty: StructureType,
11506 pub next: *const c_void,
11507}
11508#[repr(C)]
11509#[derive(Copy, Clone, Debug)]
11510#[doc = "See [XrEventDataBuffer](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataBuffer)"]
11511pub struct EventDataBuffer {
11512 pub ty: StructureType,
11513 pub next: *const c_void,
11514 pub varying: [u8; 4000usize],
11515}
11516impl EventDataBuffer {
11517 pub const TYPE: StructureType = StructureType::EVENT_DATA_BUFFER;
11518}
11519#[repr(C)]
11520#[derive(Copy, Clone, Debug)]
11521#[doc = "See [XrEventDataEventsLost](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataEventsLost)"]
11522pub struct EventDataEventsLost {
11523 pub ty: StructureType,
11524 pub next: *const c_void,
11525 pub lost_event_count: u32,
11526}
11527impl EventDataEventsLost {
11528 pub const TYPE: StructureType = StructureType::EVENT_DATA_EVENTS_LOST;
11529}
11530#[repr(C)]
11531#[derive(Copy, Clone, Debug)]
11532#[doc = "See [XrEventDataInstanceLossPending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInstanceLossPending)"]
11533pub struct EventDataInstanceLossPending {
11534 pub ty: StructureType,
11535 pub next: *const c_void,
11536 pub loss_time: Time,
11537}
11538impl EventDataInstanceLossPending {
11539 pub const TYPE: StructureType = StructureType::EVENT_DATA_INSTANCE_LOSS_PENDING;
11540}
11541#[repr(C)]
11542#[derive(Copy, Clone, Debug)]
11543#[doc = "See [XrEventDataSessionStateChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSessionStateChanged)"]
11544pub struct EventDataSessionStateChanged {
11545 pub ty: StructureType,
11546 pub next: *const c_void,
11547 pub session: Session,
11548 pub state: SessionState,
11549 pub time: Time,
11550}
11551impl EventDataSessionStateChanged {
11552 pub const TYPE: StructureType = StructureType::EVENT_DATA_SESSION_STATE_CHANGED;
11553}
11554#[repr(C)]
11555#[derive(Copy, Clone, Debug)]
11556#[doc = "See [XrEventDataReferenceSpaceChangePending](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataReferenceSpaceChangePending)"]
11557pub struct EventDataReferenceSpaceChangePending {
11558 pub ty: StructureType,
11559 pub next: *const c_void,
11560 pub session: Session,
11561 pub reference_space_type: ReferenceSpaceType,
11562 pub change_time: Time,
11563 pub pose_valid: Bool32,
11564 pub pose_in_previous_space: Posef,
11565}
11566impl EventDataReferenceSpaceChangePending {
11567 pub const TYPE: StructureType = StructureType::EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING;
11568}
11569#[repr(C)]
11570#[derive(Copy, Clone, Debug)]
11571#[doc = "See [XrEventDataPerfSettingsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPerfSettingsEXT) - defined by [XR_EXT_performance_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_performance_settings)"]
11572pub struct EventDataPerfSettingsEXT {
11573 pub ty: StructureType,
11574 pub next: *const c_void,
11575 pub domain: PerfSettingsDomainEXT,
11576 pub sub_domain: PerfSettingsSubDomainEXT,
11577 pub from_level: PerfSettingsNotificationLevelEXT,
11578 pub to_level: PerfSettingsNotificationLevelEXT,
11579}
11580impl EventDataPerfSettingsEXT {
11581 pub const TYPE: StructureType = StructureType::EVENT_DATA_PERF_SETTINGS_EXT;
11582}
11583#[repr(C)]
11584#[derive(Copy, Clone, Debug)]
11585#[doc = "See [XrEventDataVisibilityMaskChangedKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVisibilityMaskChangedKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
11586pub struct EventDataVisibilityMaskChangedKHR {
11587 pub ty: StructureType,
11588 pub next: *const c_void,
11589 pub session: Session,
11590 pub view_configuration_type: ViewConfigurationType,
11591 pub view_index: u32,
11592}
11593impl EventDataVisibilityMaskChangedKHR {
11594 pub const TYPE: StructureType = StructureType::EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR;
11595}
11596#[repr(C)]
11597#[derive(Copy, Clone, Debug)]
11598#[doc = "See [XrViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationProperties)"]
11599pub struct ViewConfigurationProperties {
11600 pub ty: StructureType,
11601 pub next: *mut c_void,
11602 pub view_configuration_type: ViewConfigurationType,
11603 pub fov_mutable: Bool32,
11604}
11605impl ViewConfigurationProperties {
11606 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_PROPERTIES;
11607 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11608 #[inline]
11609 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11610 let mut x = MaybeUninit::<Self>::uninit();
11611 unsafe {
11612 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11613 ty: Self::TYPE,
11614 next,
11615 });
11616 }
11617 x
11618 }
11619}
11620#[repr(C)]
11621#[derive(Copy, Clone, Debug)]
11622#[doc = "See [XrActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateBoolean)"]
11623pub struct ActionStateBoolean {
11624 pub ty: StructureType,
11625 pub next: *mut c_void,
11626 pub current_state: Bool32,
11627 pub changed_since_last_sync: Bool32,
11628 pub last_change_time: Time,
11629 pub is_active: Bool32,
11630}
11631impl ActionStateBoolean {
11632 pub const TYPE: StructureType = StructureType::ACTION_STATE_BOOLEAN;
11633 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11634 #[inline]
11635 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11636 let mut x = MaybeUninit::<Self>::uninit();
11637 unsafe {
11638 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11639 ty: Self::TYPE,
11640 next,
11641 });
11642 }
11643 x
11644 }
11645}
11646#[repr(C)]
11647#[derive(Copy, Clone, Debug)]
11648#[doc = "See [XrActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateFloat)"]
11649pub struct ActionStateFloat {
11650 pub ty: StructureType,
11651 pub next: *mut c_void,
11652 pub current_state: f32,
11653 pub changed_since_last_sync: Bool32,
11654 pub last_change_time: Time,
11655 pub is_active: Bool32,
11656}
11657impl ActionStateFloat {
11658 pub const TYPE: StructureType = StructureType::ACTION_STATE_FLOAT;
11659 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11660 #[inline]
11661 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11662 let mut x = MaybeUninit::<Self>::uninit();
11663 unsafe {
11664 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11665 ty: Self::TYPE,
11666 next,
11667 });
11668 }
11669 x
11670 }
11671}
11672#[repr(C)]
11673#[derive(Copy, Clone, Debug)]
11674#[doc = "See [XrActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateVector2f)"]
11675pub struct ActionStateVector2f {
11676 pub ty: StructureType,
11677 pub next: *mut c_void,
11678 pub current_state: Vector2f,
11679 pub changed_since_last_sync: Bool32,
11680 pub last_change_time: Time,
11681 pub is_active: Bool32,
11682}
11683impl ActionStateVector2f {
11684 pub const TYPE: StructureType = StructureType::ACTION_STATE_VECTOR2F;
11685 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11686 #[inline]
11687 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11688 let mut x = MaybeUninit::<Self>::uninit();
11689 unsafe {
11690 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11691 ty: Self::TYPE,
11692 next,
11693 });
11694 }
11695 x
11696 }
11697}
11698#[repr(C)]
11699#[derive(Copy, Clone, Debug)]
11700#[doc = "See [XrActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStatePose)"]
11701pub struct ActionStatePose {
11702 pub ty: StructureType,
11703 pub next: *mut c_void,
11704 pub is_active: Bool32,
11705}
11706impl ActionStatePose {
11707 pub const TYPE: StructureType = StructureType::ACTION_STATE_POSE;
11708 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11709 #[inline]
11710 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11711 let mut x = MaybeUninit::<Self>::uninit();
11712 unsafe {
11713 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11714 ty: Self::TYPE,
11715 next,
11716 });
11717 }
11718 x
11719 }
11720}
11721#[repr(C)]
11722#[derive(Copy, Clone, Debug)]
11723#[doc = "See [XrActionStateGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionStateGetInfo)"]
11724pub struct ActionStateGetInfo {
11725 pub ty: StructureType,
11726 pub next: *const c_void,
11727 pub action: Action,
11728 pub subaction_path: Path,
11729}
11730impl ActionStateGetInfo {
11731 pub const TYPE: StructureType = StructureType::ACTION_STATE_GET_INFO;
11732}
11733#[repr(C)]
11734#[derive(Copy, Clone, Debug)]
11735#[doc = "See [XrHapticActionInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticActionInfo)"]
11736pub struct HapticActionInfo {
11737 pub ty: StructureType,
11738 pub next: *const c_void,
11739 pub action: Action,
11740 pub subaction_path: Path,
11741}
11742impl HapticActionInfo {
11743 pub const TYPE: StructureType = StructureType::HAPTIC_ACTION_INFO;
11744}
11745#[repr(C)]
11746#[derive(Copy, Clone, Debug)]
11747#[doc = "See [XrActionSetCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSetCreateInfo)"]
11748pub struct ActionSetCreateInfo {
11749 pub ty: StructureType,
11750 pub next: *const c_void,
11751 pub action_set_name: [c_char; MAX_ACTION_SET_NAME_SIZE],
11752 pub localized_action_set_name: [c_char; MAX_LOCALIZED_ACTION_SET_NAME_SIZE],
11753 pub priority: u32,
11754}
11755impl ActionSetCreateInfo {
11756 pub const TYPE: StructureType = StructureType::ACTION_SET_CREATE_INFO;
11757}
11758#[repr(C)]
11759#[derive(Copy, Clone, Debug)]
11760#[doc = "See [XrActionSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionSuggestedBinding)"]
11761pub struct ActionSuggestedBinding {
11762 pub action: Action,
11763 pub binding: Path,
11764}
11765#[repr(C)]
11766#[derive(Copy, Clone, Debug)]
11767#[doc = "See [XrInteractionProfileSuggestedBinding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileSuggestedBinding)"]
11768pub struct InteractionProfileSuggestedBinding {
11769 pub ty: StructureType,
11770 pub next: *const c_void,
11771 pub interaction_profile: Path,
11772 pub count_suggested_bindings: u32,
11773 pub suggested_bindings: *const ActionSuggestedBinding,
11774}
11775impl InteractionProfileSuggestedBinding {
11776 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_SUGGESTED_BINDING;
11777}
11778#[repr(C)]
11779#[derive(Copy, Clone, Debug)]
11780#[doc = "See [XrActiveActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSet)"]
11781pub struct ActiveActionSet {
11782 pub action_set: ActionSet,
11783 pub subaction_path: Path,
11784}
11785#[repr(C)]
11786#[derive(Copy, Clone, Debug)]
11787#[doc = "See [XrSessionActionSetsAttachInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionActionSetsAttachInfo)"]
11788pub struct SessionActionSetsAttachInfo {
11789 pub ty: StructureType,
11790 pub next: *const c_void,
11791 pub count_action_sets: u32,
11792 pub action_sets: *const ActionSet,
11793}
11794impl SessionActionSetsAttachInfo {
11795 pub const TYPE: StructureType = StructureType::SESSION_ACTION_SETS_ATTACH_INFO;
11796}
11797#[repr(C)]
11798#[derive(Copy, Clone, Debug)]
11799#[doc = "See [XrActionsSyncInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionsSyncInfo)"]
11800pub struct ActionsSyncInfo {
11801 pub ty: StructureType,
11802 pub next: *const c_void,
11803 pub count_active_action_sets: u32,
11804 pub active_action_sets: *const ActiveActionSet,
11805}
11806impl ActionsSyncInfo {
11807 pub const TYPE: StructureType = StructureType::ACTIONS_SYNC_INFO;
11808}
11809#[repr(C)]
11810#[derive(Copy, Clone, Debug)]
11811#[doc = "See [XrBoundSourcesForActionEnumerateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoundSourcesForActionEnumerateInfo)"]
11812pub struct BoundSourcesForActionEnumerateInfo {
11813 pub ty: StructureType,
11814 pub next: *const c_void,
11815 pub action: Action,
11816}
11817impl BoundSourcesForActionEnumerateInfo {
11818 pub const TYPE: StructureType = StructureType::BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO;
11819}
11820#[repr(C)]
11821#[derive(Copy, Clone, Debug)]
11822#[doc = "See [XrInputSourceLocalizedNameGetInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInputSourceLocalizedNameGetInfo)"]
11823pub struct InputSourceLocalizedNameGetInfo {
11824 pub ty: StructureType,
11825 pub next: *const c_void,
11826 pub source_path: Path,
11827 pub which_components: InputSourceLocalizedNameFlags,
11828}
11829impl InputSourceLocalizedNameGetInfo {
11830 pub const TYPE: StructureType = StructureType::INPUT_SOURCE_LOCALIZED_NAME_GET_INFO;
11831}
11832#[repr(C)]
11833#[derive(Copy, Clone, Debug)]
11834#[doc = "See [XrEventDataInteractionProfileChanged](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInteractionProfileChanged)"]
11835pub struct EventDataInteractionProfileChanged {
11836 pub ty: StructureType,
11837 pub next: *const c_void,
11838 pub session: Session,
11839}
11840impl EventDataInteractionProfileChanged {
11841 pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_PROFILE_CHANGED;
11842}
11843#[repr(C)]
11844#[derive(Copy, Clone, Debug)]
11845#[doc = "See [XrInteractionProfileState](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileState)"]
11846pub struct InteractionProfileState {
11847 pub ty: StructureType,
11848 pub next: *mut c_void,
11849 pub interaction_profile: Path,
11850}
11851impl InteractionProfileState {
11852 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_STATE;
11853 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11854 #[inline]
11855 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11856 let mut x = MaybeUninit::<Self>::uninit();
11857 unsafe {
11858 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11859 ty: Self::TYPE,
11860 next,
11861 });
11862 }
11863 x
11864 }
11865}
11866#[repr(C)]
11867#[derive(Copy, Clone, Debug)]
11868#[doc = "See [XrActionCreateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActionCreateInfo)"]
11869pub struct ActionCreateInfo {
11870 pub ty: StructureType,
11871 pub next: *const c_void,
11872 pub action_name: [c_char; MAX_ACTION_NAME_SIZE],
11873 pub action_type: ActionType,
11874 pub count_subaction_paths: u32,
11875 pub subaction_paths: *const Path,
11876 pub localized_action_name: [c_char; MAX_LOCALIZED_ACTION_NAME_SIZE],
11877}
11878impl ActionCreateInfo {
11879 pub const TYPE: StructureType = StructureType::ACTION_CREATE_INFO;
11880}
11881#[repr(C)]
11882#[derive(Copy, Clone, Debug)]
11883#[doc = "See [XrInstanceCreateInfoAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInstanceCreateInfoAndroidKHR) - defined by [XR_KHR_android_create_instance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_create_instance)"]
11884#[cfg(target_os = "android")]
11885pub struct InstanceCreateInfoAndroidKHR {
11886 pub ty: StructureType,
11887 pub next: *const c_void,
11888 pub application_vm: *mut c_void,
11889 pub application_activity: *mut c_void,
11890}
11891#[cfg(target_os = "android")]
11892impl InstanceCreateInfoAndroidKHR {
11893 pub const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO_ANDROID_KHR;
11894}
11895#[repr(C)]
11896#[derive(Copy, Clone, Debug)]
11897#[doc = "See [XrVulkanSwapchainFormatListCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanSwapchainFormatListCreateInfoKHR) - defined by [XR_KHR_vulkan_swapchain_format_list](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_swapchain_format_list)"]
11898pub struct VulkanSwapchainFormatListCreateInfoKHR {
11899 pub ty: StructureType,
11900 pub next: *const c_void,
11901 pub view_format_count: u32,
11902 pub view_formats: *const VkFormat,
11903}
11904impl VulkanSwapchainFormatListCreateInfoKHR {
11905 pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR;
11906}
11907#[repr(C)]
11908#[derive(Copy, Clone, Debug)]
11909#[doc = "See [XrDebugUtilsObjectNameInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsObjectNameInfoEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
11910pub struct DebugUtilsObjectNameInfoEXT {
11911 pub ty: StructureType,
11912 pub next: *const c_void,
11913 pub object_type: ObjectType,
11914 pub object_handle: u64,
11915 pub object_name: *const c_char,
11916}
11917impl DebugUtilsObjectNameInfoEXT {
11918 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
11919}
11920#[repr(C)]
11921#[derive(Copy, Clone, Debug)]
11922#[doc = "See [XrDebugUtilsLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsLabelEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
11923pub struct DebugUtilsLabelEXT {
11924 pub ty: StructureType,
11925 pub next: *const c_void,
11926 pub label_name: *const c_char,
11927}
11928impl DebugUtilsLabelEXT {
11929 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_LABEL_EXT;
11930}
11931#[repr(C)]
11932#[derive(Copy, Clone, Debug)]
11933#[doc = "See [XrDebugUtilsMessengerCallbackDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerCallbackDataEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
11934pub struct DebugUtilsMessengerCallbackDataEXT {
11935 pub ty: StructureType,
11936 pub next: *const c_void,
11937 pub message_id: *const c_char,
11938 pub function_name: *const c_char,
11939 pub message: *const c_char,
11940 pub object_count: u32,
11941 pub objects: *mut DebugUtilsObjectNameInfoEXT,
11942 pub session_label_count: u32,
11943 pub session_labels: *mut DebugUtilsLabelEXT,
11944}
11945impl DebugUtilsMessengerCallbackDataEXT {
11946 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
11947}
11948#[repr(C)]
11949#[derive(Copy, Clone)]
11950#[doc = "See [XrDebugUtilsMessengerCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDebugUtilsMessengerCreateInfoEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
11951pub struct DebugUtilsMessengerCreateInfoEXT {
11952 pub ty: StructureType,
11953 pub next: *const c_void,
11954 pub message_severities: DebugUtilsMessageSeverityFlagsEXT,
11955 pub message_types: DebugUtilsMessageTypeFlagsEXT,
11956 pub user_callback: Option<pfn::DebugUtilsMessengerCallbackEXT>,
11957 pub user_data: *mut c_void,
11958}
11959impl DebugUtilsMessengerCreateInfoEXT {
11960 pub const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
11961}
11962#[repr(C)]
11963#[derive(Copy, Clone, Debug)]
11964#[doc = "See [XrVisibilityMaskKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVisibilityMaskKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
11965pub struct VisibilityMaskKHR {
11966 pub ty: StructureType,
11967 pub next: *mut c_void,
11968 pub vertex_capacity_input: u32,
11969 pub vertex_count_output: u32,
11970 pub vertices: *mut Vector2f,
11971 pub index_capacity_input: u32,
11972 pub index_count_output: u32,
11973 pub indices: *mut u32,
11974}
11975impl VisibilityMaskKHR {
11976 pub const TYPE: StructureType = StructureType::VISIBILITY_MASK_KHR;
11977 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
11978 #[inline]
11979 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
11980 let mut x = MaybeUninit::<Self>::uninit();
11981 unsafe {
11982 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
11983 ty: Self::TYPE,
11984 next,
11985 });
11986 }
11987 x
11988 }
11989}
11990#[repr(C)]
11991#[derive(Copy, Clone, Debug)]
11992#[doc = "See [XrGraphicsRequirementsOpenGLKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsOpenGLKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
11993pub struct GraphicsRequirementsOpenGLKHR {
11994 pub ty: StructureType,
11995 pub next: *mut c_void,
11996 pub min_api_version_supported: Version,
11997 pub max_api_version_supported: Version,
11998}
11999impl GraphicsRequirementsOpenGLKHR {
12000 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_KHR;
12001 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12002 #[inline]
12003 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12004 let mut x = MaybeUninit::<Self>::uninit();
12005 unsafe {
12006 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12007 ty: Self::TYPE,
12008 next,
12009 });
12010 }
12011 x
12012 }
12013}
12014#[repr(C)]
12015#[derive(Copy, Clone, Debug)]
12016#[doc = "See [XrGraphicsRequirementsOpenGLESKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsOpenGLESKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
12017pub struct GraphicsRequirementsOpenGLESKHR {
12018 pub ty: StructureType,
12019 pub next: *mut c_void,
12020 pub min_api_version_supported: Version,
12021 pub max_api_version_supported: Version,
12022}
12023impl GraphicsRequirementsOpenGLESKHR {
12024 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR;
12025 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12026 #[inline]
12027 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12028 let mut x = MaybeUninit::<Self>::uninit();
12029 unsafe {
12030 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12031 ty: Self::TYPE,
12032 next,
12033 });
12034 }
12035 x
12036 }
12037}
12038#[repr(C)]
12039#[derive(Copy, Clone, Debug)]
12040#[doc = "See [XrGraphicsRequirementsVulkanKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsVulkanKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
12041pub struct GraphicsRequirementsVulkanKHR {
12042 pub ty: StructureType,
12043 pub next: *mut c_void,
12044 pub min_api_version_supported: Version,
12045 pub max_api_version_supported: Version,
12046}
12047impl GraphicsRequirementsVulkanKHR {
12048 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_VULKAN_KHR;
12049 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12050 #[inline]
12051 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12052 let mut x = MaybeUninit::<Self>::uninit();
12053 unsafe {
12054 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12055 ty: Self::TYPE,
12056 next,
12057 });
12058 }
12059 x
12060 }
12061}
12062pub type GraphicsRequirementsVulkan2KHR = GraphicsRequirementsVulkanKHR;
12063#[repr(C)]
12064#[derive(Copy, Clone)]
12065#[doc = "See [XrGraphicsRequirementsD3D11KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsD3D11KHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
12066#[cfg(windows)]
12067pub struct GraphicsRequirementsD3D11KHR {
12068 pub ty: StructureType,
12069 pub next: *mut c_void,
12070 pub adapter_luid: LUID,
12071 pub min_feature_level: D3D_FEATURE_LEVEL,
12072}
12073#[cfg(windows)]
12074impl GraphicsRequirementsD3D11KHR {
12075 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D11_KHR;
12076 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12077 #[inline]
12078 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12079 let mut x = MaybeUninit::<Self>::uninit();
12080 unsafe {
12081 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12082 ty: Self::TYPE,
12083 next,
12084 });
12085 }
12086 x
12087 }
12088}
12089#[repr(C)]
12090#[derive(Copy, Clone)]
12091#[doc = "See [XrGraphicsRequirementsD3D12KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsD3D12KHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
12092#[cfg(windows)]
12093pub struct GraphicsRequirementsD3D12KHR {
12094 pub ty: StructureType,
12095 pub next: *mut c_void,
12096 pub adapter_luid: LUID,
12097 pub min_feature_level: D3D_FEATURE_LEVEL,
12098}
12099#[cfg(windows)]
12100impl GraphicsRequirementsD3D12KHR {
12101 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_D3D12_KHR;
12102 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12103 #[inline]
12104 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12105 let mut x = MaybeUninit::<Self>::uninit();
12106 unsafe {
12107 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12108 ty: Self::TYPE,
12109 next,
12110 });
12111 }
12112 x
12113 }
12114}
12115#[repr(C)]
12116#[derive(Copy, Clone, Debug)]
12117#[doc = "See [XrGraphicsRequirementsMetalKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsRequirementsMetalKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
12118#[cfg(target_vendor = "apple")]
12119pub struct GraphicsRequirementsMetalKHR {
12120 pub ty: StructureType,
12121 pub next: *mut c_void,
12122 pub metal_device: *mut c_void,
12123}
12124#[cfg(target_vendor = "apple")]
12125impl GraphicsRequirementsMetalKHR {
12126 pub const TYPE: StructureType = StructureType::GRAPHICS_REQUIREMENTS_METAL_KHR;
12127 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12128 #[inline]
12129 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12130 let mut x = MaybeUninit::<Self>::uninit();
12131 unsafe {
12132 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12133 ty: Self::TYPE,
12134 next,
12135 });
12136 }
12137 x
12138 }
12139}
12140#[repr(C)]
12141#[derive(Copy, Clone)]
12142#[doc = "See [XrVulkanInstanceCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanInstanceCreateInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
12143pub struct VulkanInstanceCreateInfoKHR {
12144 pub ty: StructureType,
12145 pub next: *const c_void,
12146 pub system_id: SystemId,
12147 pub create_flags: VulkanInstanceCreateFlagsKHR,
12148 pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
12149 pub vulkan_create_info: *const VkInstanceCreateInfo,
12150 pub vulkan_allocator: *const VkAllocationCallbacks,
12151}
12152impl VulkanInstanceCreateInfoKHR {
12153 pub const TYPE: StructureType = StructureType::VULKAN_INSTANCE_CREATE_INFO_KHR;
12154}
12155#[repr(C)]
12156#[derive(Copy, Clone)]
12157#[doc = "See [XrVulkanDeviceCreateInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanDeviceCreateInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
12158pub struct VulkanDeviceCreateInfoKHR {
12159 pub ty: StructureType,
12160 pub next: *const c_void,
12161 pub system_id: SystemId,
12162 pub create_flags: VulkanDeviceCreateFlagsKHR,
12163 pub pfn_get_instance_proc_addr: Option<VkGetInstanceProcAddr>,
12164 pub vulkan_physical_device: VkPhysicalDevice,
12165 pub vulkan_create_info: *const VkDeviceCreateInfo,
12166 pub vulkan_allocator: *const VkAllocationCallbacks,
12167}
12168impl VulkanDeviceCreateInfoKHR {
12169 pub const TYPE: StructureType = StructureType::VULKAN_DEVICE_CREATE_INFO_KHR;
12170}
12171#[repr(C)]
12172#[derive(Copy, Clone, Debug)]
12173#[doc = "See [XrVulkanGraphicsDeviceGetInfoKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanGraphicsDeviceGetInfoKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
12174pub struct VulkanGraphicsDeviceGetInfoKHR {
12175 pub ty: StructureType,
12176 pub next: *const c_void,
12177 pub system_id: SystemId,
12178 pub vulkan_instance: VkInstance,
12179}
12180impl VulkanGraphicsDeviceGetInfoKHR {
12181 pub const TYPE: StructureType = StructureType::VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR;
12182}
12183#[repr(C)]
12184#[derive(Copy, Clone, Debug)]
12185#[doc = "See [XrVulkanSwapchainCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVulkanSwapchainCreateInfoMETA) - defined by [XR_META_vulkan_swapchain_create_info](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_vulkan_swapchain_create_info)"]
12186pub struct VulkanSwapchainCreateInfoMETA {
12187 pub ty: StructureType,
12188 pub next: *const c_void,
12189 pub additional_create_flags: VkImageCreateFlags,
12190 pub additional_usage_flags: VkImageUsageFlags,
12191}
12192impl VulkanSwapchainCreateInfoMETA {
12193 pub const TYPE: StructureType = StructureType::VULKAN_SWAPCHAIN_CREATE_INFO_META;
12194}
12195#[repr(C)]
12196#[derive(Copy, Clone, Debug)]
12197#[doc = "See [XrSessionCreateInfoOverlayEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSessionCreateInfoOverlayEXTX) - defined by [XR_EXTX_overlay](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXTX_overlay)"]
12198pub struct SessionCreateInfoOverlayEXTX {
12199 pub ty: StructureType,
12200 pub next: *const c_void,
12201 pub create_flags: OverlaySessionCreateFlagsEXTX,
12202 pub session_layers_placement: u32,
12203}
12204impl SessionCreateInfoOverlayEXTX {
12205 pub const TYPE: StructureType = StructureType::SESSION_CREATE_INFO_OVERLAY_EXTX;
12206}
12207#[repr(C)]
12208#[derive(Copy, Clone, Debug)]
12209#[doc = "See [XrEventDataMainSessionVisibilityChangedEXTX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataMainSessionVisibilityChangedEXTX) - defined by [XR_EXTX_overlay](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXTX_overlay)"]
12210pub struct EventDataMainSessionVisibilityChangedEXTX {
12211 pub ty: StructureType,
12212 pub next: *const c_void,
12213 pub visible: Bool32,
12214 pub flags: OverlayMainSessionFlagsEXTX,
12215}
12216impl EventDataMainSessionVisibilityChangedEXTX {
12217 pub const TYPE: StructureType = StructureType::EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX;
12218}
12219#[repr(C)]
12220#[derive(Copy, Clone, Debug)]
12221#[doc = "See [XrEventDataDisplayRefreshRateChangedFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataDisplayRefreshRateChangedFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
12222pub struct EventDataDisplayRefreshRateChangedFB {
12223 pub ty: StructureType,
12224 pub next: *const c_void,
12225 pub from_display_refresh_rate: f32,
12226 pub to_display_refresh_rate: f32,
12227}
12228impl EventDataDisplayRefreshRateChangedFB {
12229 pub const TYPE: StructureType = StructureType::EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB;
12230}
12231#[repr(C)]
12232#[derive(Copy, Clone, Debug)]
12233#[doc = "See [XrViewConfigurationDepthRangeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationDepthRangeEXT) - defined by [XR_EXT_view_configuration_depth_range](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_view_configuration_depth_range)"]
12234pub struct ViewConfigurationDepthRangeEXT {
12235 pub ty: StructureType,
12236 pub next: *mut c_void,
12237 pub recommended_near_z: f32,
12238 pub min_near_z: f32,
12239 pub recommended_far_z: f32,
12240 pub max_far_z: f32,
12241}
12242impl ViewConfigurationDepthRangeEXT {
12243 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_DEPTH_RANGE_EXT;
12244 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12245 #[inline]
12246 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12247 let mut x = MaybeUninit::<Self>::uninit();
12248 unsafe {
12249 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12250 ty: Self::TYPE,
12251 next,
12252 });
12253 }
12254 x
12255 }
12256}
12257#[repr(C)]
12258#[derive(Copy, Clone, Debug)]
12259#[doc = "See [XrViewConfigurationViewFovEPIC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewConfigurationViewFovEPIC) - defined by [XR_EPIC_view_configuration_fov](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EPIC_view_configuration_fov)"]
12260pub struct ViewConfigurationViewFovEPIC {
12261 pub ty: StructureType,
12262 pub next: *const c_void,
12263 pub recommended_fov: Fovf,
12264 pub max_mutable_fov: Fovf,
12265}
12266impl ViewConfigurationViewFovEPIC {
12267 pub const TYPE: StructureType = StructureType::VIEW_CONFIGURATION_VIEW_FOV_EPIC;
12268}
12269#[repr(C)]
12270#[derive(Copy, Clone, Debug)]
12271#[doc = "See [XrInteractionProfileDpadBindingEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileDpadBindingEXT) - defined by [XR_EXT_dpad_binding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_dpad_binding)"]
12272pub struct InteractionProfileDpadBindingEXT {
12273 pub ty: StructureType,
12274 pub next: *const c_void,
12275 pub binding: Path,
12276 pub action_set: ActionSet,
12277 pub force_threshold: f32,
12278 pub force_threshold_released: f32,
12279 pub center_region: f32,
12280 pub wedge_angle: f32,
12281 pub is_sticky: Bool32,
12282 pub on_haptic: *const HapticBaseHeader,
12283 pub off_haptic: *const HapticBaseHeader,
12284}
12285impl InteractionProfileDpadBindingEXT {
12286 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_DPAD_BINDING_EXT;
12287}
12288#[repr(C)]
12289#[derive(Copy, Clone, Debug)]
12290#[doc = "See [XrInteractionProfileAnalogThresholdVALVE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionProfileAnalogThresholdVALVE) - defined by [XR_VALVE_analog_threshold](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VALVE_analog_threshold)"]
12291pub struct InteractionProfileAnalogThresholdVALVE {
12292 pub ty: StructureType,
12293 pub next: *const c_void,
12294 pub action: Action,
12295 pub binding: Path,
12296 pub on_threshold: f32,
12297 pub off_threshold: f32,
12298 pub on_haptic: *const HapticBaseHeader,
12299 pub off_haptic: *const HapticBaseHeader,
12300}
12301impl InteractionProfileAnalogThresholdVALVE {
12302 pub const TYPE: StructureType = StructureType::INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE;
12303}
12304#[repr(C)]
12305#[derive(Copy, Clone, Debug)]
12306#[doc = "See [XrBindingModificationsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBindingModificationsKHR) - defined by [XR_KHR_binding_modification](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_binding_modification)"]
12307pub struct BindingModificationsKHR {
12308 pub ty: StructureType,
12309 pub next: *const c_void,
12310 pub binding_modification_count: u32,
12311 pub binding_modifications: *const *const BindingModificationBaseHeaderKHR,
12312}
12313impl BindingModificationsKHR {
12314 pub const TYPE: StructureType = StructureType::BINDING_MODIFICATIONS_KHR;
12315}
12316#[repr(C)]
12317#[derive(Copy, Clone, Debug)]
12318#[doc = "See [XrBindingModificationBaseHeaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBindingModificationBaseHeaderKHR) - defined by [XR_KHR_binding_modification](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_binding_modification)"]
12319pub struct BindingModificationBaseHeaderKHR {
12320 pub ty: StructureType,
12321 pub next: *const c_void,
12322}
12323#[repr(C)]
12324#[derive(Copy, Clone, Debug)]
12325#[doc = "See [XrSystemEyeGazeInteractionPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEyeGazeInteractionPropertiesEXT) - defined by [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_eye_gaze_interaction)"]
12326pub struct SystemEyeGazeInteractionPropertiesEXT {
12327 pub ty: StructureType,
12328 pub next: *mut c_void,
12329 pub supports_eye_gaze_interaction: Bool32,
12330}
12331impl SystemEyeGazeInteractionPropertiesEXT {
12332 pub const TYPE: StructureType = StructureType::SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT;
12333 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12334 #[inline]
12335 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12336 let mut x = MaybeUninit::<Self>::uninit();
12337 unsafe {
12338 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12339 ty: Self::TYPE,
12340 next,
12341 });
12342 }
12343 x
12344 }
12345}
12346#[repr(C)]
12347#[derive(Copy, Clone, Debug)]
12348#[doc = "See [XrEyeGazeSampleTimeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazeSampleTimeEXT) - defined by [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_eye_gaze_interaction)"]
12349pub struct EyeGazeSampleTimeEXT {
12350 pub ty: StructureType,
12351 pub next: *mut c_void,
12352 pub time: Time,
12353}
12354impl EyeGazeSampleTimeEXT {
12355 pub const TYPE: StructureType = StructureType::EYE_GAZE_SAMPLE_TIME_EXT;
12356 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12357 #[inline]
12358 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12359 let mut x = MaybeUninit::<Self>::uninit();
12360 unsafe {
12361 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12362 ty: Self::TYPE,
12363 next,
12364 });
12365 }
12366 x
12367 }
12368}
12369#[repr(C)]
12370#[derive(Copy, Clone, Debug)]
12371#[doc = "See [XrFrameSynthesisInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisInfoEXT) - defined by [XR_EXT_frame_synthesis](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_frame_synthesis)"]
12372pub struct FrameSynthesisInfoEXT {
12373 pub ty: StructureType,
12374 pub next: *const c_void,
12375 pub layer_flags: FrameSynthesisInfoFlagsEXT,
12376 pub motion_vector_sub_image: SwapchainSubImage,
12377 pub motion_vector_scale: Vector4f,
12378 pub motion_vector_offset: Vector4f,
12379 pub app_space_delta_pose: Posef,
12380 pub depth_sub_image: SwapchainSubImage,
12381 pub min_depth: f32,
12382 pub max_depth: f32,
12383 pub near_z: f32,
12384 pub far_z: f32,
12385}
12386impl FrameSynthesisInfoEXT {
12387 pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_INFO_EXT;
12388}
12389#[repr(C)]
12390#[derive(Copy, Clone, Debug)]
12391#[doc = "See [XrFrameSynthesisConfigViewEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameSynthesisConfigViewEXT) - defined by [XR_EXT_frame_synthesis](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_frame_synthesis)"]
12392pub struct FrameSynthesisConfigViewEXT {
12393 pub ty: StructureType,
12394 pub next: *mut c_void,
12395 pub recommended_motion_vector_image_rect_width: u32,
12396 pub recommended_motion_vector_image_rect_height: u32,
12397}
12398impl FrameSynthesisConfigViewEXT {
12399 pub const TYPE: StructureType = StructureType::FRAME_SYNTHESIS_CONFIG_VIEW_EXT;
12400 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12401 #[inline]
12402 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12403 let mut x = MaybeUninit::<Self>::uninit();
12404 unsafe {
12405 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12406 ty: Self::TYPE,
12407 next,
12408 });
12409 }
12410 x
12411 }
12412}
12413#[repr(C)]
12414#[derive(Copy, Clone, Debug)]
12415#[doc = "See [XrSpatialAnchorCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoMSFT)"]
12416pub struct SpatialAnchorCreateInfoMSFT {
12417 pub ty: StructureType,
12418 pub next: *const c_void,
12419 pub space: Space,
12420 pub pose: Posef,
12421 pub time: Time,
12422}
12423impl SpatialAnchorCreateInfoMSFT {
12424 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_MSFT;
12425}
12426#[repr(C)]
12427#[derive(Copy, Clone, Debug)]
12428#[doc = "See [XrSpatialAnchorSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorSpaceCreateInfoMSFT)"]
12429pub struct SpatialAnchorSpaceCreateInfoMSFT {
12430 pub ty: StructureType,
12431 pub next: *const c_void,
12432 pub anchor: SpatialAnchorMSFT,
12433 pub pose_in_anchor_space: Posef,
12434}
12435impl SpatialAnchorSpaceCreateInfoMSFT {
12436 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT;
12437}
12438#[repr(C)]
12439#[derive(Copy, Clone, Debug)]
12440#[doc = "See [XrCompositionLayerImageLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerImageLayoutFB) - defined by [XR_FB_composition_layer_image_layout](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_image_layout)"]
12441pub struct CompositionLayerImageLayoutFB {
12442 pub ty: StructureType,
12443 pub next: *mut c_void,
12444 pub flags: CompositionLayerImageLayoutFlagsFB,
12445}
12446impl CompositionLayerImageLayoutFB {
12447 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_IMAGE_LAYOUT_FB;
12448 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12449 #[inline]
12450 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12451 let mut x = MaybeUninit::<Self>::uninit();
12452 unsafe {
12453 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12454 ty: Self::TYPE,
12455 next,
12456 });
12457 }
12458 x
12459 }
12460}
12461#[repr(C)]
12462#[derive(Copy, Clone, Debug)]
12463#[doc = "See [XrCompositionLayerAlphaBlendFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerAlphaBlendFB) - defined by [XR_FB_composition_layer_alpha_blend](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_alpha_blend)"]
12464pub struct CompositionLayerAlphaBlendFB {
12465 pub ty: StructureType,
12466 pub next: *mut c_void,
12467 pub src_factor_color: BlendFactorFB,
12468 pub dst_factor_color: BlendFactorFB,
12469 pub src_factor_alpha: BlendFactorFB,
12470 pub dst_factor_alpha: BlendFactorFB,
12471}
12472impl CompositionLayerAlphaBlendFB {
12473 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_ALPHA_BLEND_FB;
12474 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12475 #[inline]
12476 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12477 let mut x = MaybeUninit::<Self>::uninit();
12478 unsafe {
12479 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12480 ty: Self::TYPE,
12481 next,
12482 });
12483 }
12484 x
12485 }
12486}
12487#[repr(C)]
12488#[derive(Copy, Clone)]
12489#[doc = "See [XrGraphicsBindingEGLMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGraphicsBindingEGLMNDX) - defined by [XR_MNDX_egl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_egl_enable)"]
12490pub struct GraphicsBindingEGLMNDX {
12491 pub ty: StructureType,
12492 pub next: *const c_void,
12493 pub get_proc_address: Option<pfn::EglGetProcAddressMNDX>,
12494 pub display: EGLDisplay,
12495 pub config: EGLConfig,
12496 pub context: EGLContext,
12497}
12498impl GraphicsBindingEGLMNDX {
12499 pub const TYPE: StructureType = StructureType::GRAPHICS_BINDING_EGL_MNDX;
12500}
12501#[repr(C)]
12502#[derive(Copy, Clone, Debug)]
12503#[doc = "See [XrSpatialGraphNodeSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeSpaceCreateInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
12504pub struct SpatialGraphNodeSpaceCreateInfoMSFT {
12505 pub ty: StructureType,
12506 pub next: *const c_void,
12507 pub node_type: SpatialGraphNodeTypeMSFT,
12508 pub node_id: [u8; GUID_SIZE_MSFT],
12509 pub pose: Posef,
12510}
12511impl SpatialGraphNodeSpaceCreateInfoMSFT {
12512 pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT;
12513}
12514#[repr(C)]
12515#[derive(Copy, Clone, Debug)]
12516#[doc = "See [XrSpatialGraphStaticNodeBindingCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphStaticNodeBindingCreateInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
12517pub struct SpatialGraphStaticNodeBindingCreateInfoMSFT {
12518 pub ty: StructureType,
12519 pub next: *const c_void,
12520 pub space: Space,
12521 pub pose_in_space: Posef,
12522 pub time: Time,
12523}
12524impl SpatialGraphStaticNodeBindingCreateInfoMSFT {
12525 pub const TYPE: StructureType =
12526 StructureType::SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT;
12527}
12528#[repr(C)]
12529#[derive(Copy, Clone, Debug)]
12530#[doc = "See [XrSpatialGraphNodeBindingPropertiesGetInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingPropertiesGetInfoMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
12531pub struct SpatialGraphNodeBindingPropertiesGetInfoMSFT {
12532 pub ty: StructureType,
12533 pub next: *const c_void,
12534}
12535impl SpatialGraphNodeBindingPropertiesGetInfoMSFT {
12536 pub const TYPE: StructureType =
12537 StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT;
12538}
12539#[repr(C)]
12540#[derive(Copy, Clone, Debug)]
12541#[doc = "See [XrSpatialGraphNodeBindingPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialGraphNodeBindingPropertiesMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
12542pub struct SpatialGraphNodeBindingPropertiesMSFT {
12543 pub ty: StructureType,
12544 pub next: *mut c_void,
12545 pub node_id: [u8; GUID_SIZE_MSFT],
12546 pub pose_in_node_space: Posef,
12547}
12548impl SpatialGraphNodeBindingPropertiesMSFT {
12549 pub const TYPE: StructureType = StructureType::SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT;
12550 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12551 #[inline]
12552 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12553 let mut x = MaybeUninit::<Self>::uninit();
12554 unsafe {
12555 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12556 ty: Self::TYPE,
12557 next,
12558 });
12559 }
12560 x
12561 }
12562}
12563#[repr(C)]
12564#[derive(Copy, Clone, Debug)]
12565#[doc = "See [XrSystemHandTrackingPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHandTrackingPropertiesEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
12566pub struct SystemHandTrackingPropertiesEXT {
12567 pub ty: StructureType,
12568 pub next: *mut c_void,
12569 pub supports_hand_tracking: Bool32,
12570}
12571impl SystemHandTrackingPropertiesEXT {
12572 pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_PROPERTIES_EXT;
12573 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12574 #[inline]
12575 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12576 let mut x = MaybeUninit::<Self>::uninit();
12577 unsafe {
12578 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12579 ty: Self::TYPE,
12580 next,
12581 });
12582 }
12583 x
12584 }
12585}
12586#[repr(C)]
12587#[derive(Copy, Clone, Debug)]
12588#[doc = "See [XrHandTrackerCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackerCreateInfoEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
12589pub struct HandTrackerCreateInfoEXT {
12590 pub ty: StructureType,
12591 pub next: *const c_void,
12592 pub hand: HandEXT,
12593 pub hand_joint_set: HandJointSetEXT,
12594}
12595impl HandTrackerCreateInfoEXT {
12596 pub const TYPE: StructureType = StructureType::HAND_TRACKER_CREATE_INFO_EXT;
12597}
12598#[repr(C)]
12599#[derive(Copy, Clone, Debug)]
12600#[doc = "See [XrHandJointsLocateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsLocateInfoEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
12601pub struct HandJointsLocateInfoEXT {
12602 pub ty: StructureType,
12603 pub next: *const c_void,
12604 pub base_space: Space,
12605 pub time: Time,
12606}
12607impl HandJointsLocateInfoEXT {
12608 pub const TYPE: StructureType = StructureType::HAND_JOINTS_LOCATE_INFO_EXT;
12609}
12610#[repr(C)]
12611#[derive(Copy, Clone, Debug, Default, PartialEq)]
12612#[doc = "See [XrHandJointLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointLocationEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
12613pub struct HandJointLocationEXT {
12614 pub location_flags: SpaceLocationFlags,
12615 pub pose: Posef,
12616 pub radius: f32,
12617}
12618#[repr(C)]
12619#[derive(Copy, Clone, Debug, Default, PartialEq)]
12620#[doc = "See [XrHandJointVelocityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointVelocityEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
12621pub struct HandJointVelocityEXT {
12622 pub velocity_flags: SpaceVelocityFlags,
12623 pub linear_velocity: Vector3f,
12624 pub angular_velocity: Vector3f,
12625}
12626#[repr(C)]
12627#[derive(Copy, Clone, Debug)]
12628#[doc = "See [XrHandJointLocationsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointLocationsEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
12629pub struct HandJointLocationsEXT {
12630 pub ty: StructureType,
12631 pub next: *mut c_void,
12632 pub is_active: Bool32,
12633 pub joint_count: u32,
12634 pub joint_locations: *mut HandJointLocationEXT,
12635}
12636impl HandJointLocationsEXT {
12637 pub const TYPE: StructureType = StructureType::HAND_JOINT_LOCATIONS_EXT;
12638 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12639 #[inline]
12640 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12641 let mut x = MaybeUninit::<Self>::uninit();
12642 unsafe {
12643 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12644 ty: Self::TYPE,
12645 next,
12646 });
12647 }
12648 x
12649 }
12650}
12651#[repr(C)]
12652#[derive(Copy, Clone, Debug)]
12653#[doc = "See [XrHandJointVelocitiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointVelocitiesEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
12654pub struct HandJointVelocitiesEXT {
12655 pub ty: StructureType,
12656 pub next: *mut c_void,
12657 pub joint_count: u32,
12658 pub joint_velocities: *mut HandJointVelocityEXT,
12659}
12660impl HandJointVelocitiesEXT {
12661 pub const TYPE: StructureType = StructureType::HAND_JOINT_VELOCITIES_EXT;
12662 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12663 #[inline]
12664 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12665 let mut x = MaybeUninit::<Self>::uninit();
12666 unsafe {
12667 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12668 ty: Self::TYPE,
12669 next,
12670 });
12671 }
12672 x
12673 }
12674}
12675#[repr(C)]
12676#[derive(Copy, Clone, Debug)]
12677#[doc = "See [XrSystemFaceTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingPropertiesFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
12678pub struct SystemFaceTrackingPropertiesFB {
12679 pub ty: StructureType,
12680 pub next: *mut c_void,
12681 pub supports_face_tracking: Bool32,
12682}
12683impl SystemFaceTrackingPropertiesFB {
12684 pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_FB;
12685 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12686 #[inline]
12687 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12688 let mut x = MaybeUninit::<Self>::uninit();
12689 unsafe {
12690 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12691 ty: Self::TYPE,
12692 next,
12693 });
12694 }
12695 x
12696 }
12697}
12698#[repr(C)]
12699#[derive(Copy, Clone, Debug)]
12700#[doc = "See [XrFaceTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
12701pub struct FaceTrackerCreateInfoFB {
12702 pub ty: StructureType,
12703 pub next: *const c_void,
12704 pub face_expression_set: FaceExpressionSetFB,
12705}
12706impl FaceTrackerCreateInfoFB {
12707 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_FB;
12708}
12709#[repr(C)]
12710#[derive(Copy, Clone, Debug)]
12711#[doc = "See [XrFaceExpressionInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionInfoFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
12712pub struct FaceExpressionInfoFB {
12713 pub ty: StructureType,
12714 pub next: *const c_void,
12715 pub time: Time,
12716}
12717impl FaceExpressionInfoFB {
12718 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO_FB;
12719}
12720#[repr(C)]
12721#[derive(Copy, Clone, Debug, Default, PartialEq)]
12722#[doc = "See [XrFaceExpressionStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionStatusFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
12723pub struct FaceExpressionStatusFB {
12724 pub is_valid: Bool32,
12725 pub is_eye_following_blendshapes_valid: Bool32,
12726}
12727#[repr(C)]
12728#[derive(Copy, Clone, Debug)]
12729#[doc = "See [XrFaceExpressionWeightsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionWeightsFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
12730pub struct FaceExpressionWeightsFB {
12731 pub ty: StructureType,
12732 pub next: *mut c_void,
12733 pub weight_count: u32,
12734 pub weights: *mut f32,
12735 pub confidence_count: u32,
12736 pub confidences: *mut f32,
12737 pub status: FaceExpressionStatusFB,
12738 pub time: Time,
12739}
12740impl FaceExpressionWeightsFB {
12741 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS_FB;
12742 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12743 #[inline]
12744 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12745 let mut x = MaybeUninit::<Self>::uninit();
12746 unsafe {
12747 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12748 ty: Self::TYPE,
12749 next,
12750 });
12751 }
12752 x
12753 }
12754}
12755#[repr(C)]
12756#[derive(Copy, Clone, Debug)]
12757#[doc = "See [XrSystemFaceTrackingProperties2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingProperties2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
12758pub struct SystemFaceTrackingProperties2FB {
12759 pub ty: StructureType,
12760 pub next: *mut c_void,
12761 pub supports_visual_face_tracking: Bool32,
12762 pub supports_audio_face_tracking: Bool32,
12763}
12764impl SystemFaceTrackingProperties2FB {
12765 pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES2_FB;
12766 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12767 #[inline]
12768 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12769 let mut x = MaybeUninit::<Self>::uninit();
12770 unsafe {
12771 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12772 ty: Self::TYPE,
12773 next,
12774 });
12775 }
12776 x
12777 }
12778}
12779#[repr(C)]
12780#[derive(Copy, Clone, Debug)]
12781#[doc = "See [XrFaceTrackerCreateInfo2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfo2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
12782pub struct FaceTrackerCreateInfo2FB {
12783 pub ty: StructureType,
12784 pub next: *const c_void,
12785 pub face_expression_set: FaceExpressionSet2FB,
12786 pub requested_data_source_count: u32,
12787 pub requested_data_sources: *mut FaceTrackingDataSource2FB,
12788}
12789impl FaceTrackerCreateInfo2FB {
12790 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO2_FB;
12791}
12792#[repr(C)]
12793#[derive(Copy, Clone, Debug)]
12794#[doc = "See [XrFaceExpressionInfo2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionInfo2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
12795pub struct FaceExpressionInfo2FB {
12796 pub ty: StructureType,
12797 pub next: *const c_void,
12798 pub time: Time,
12799}
12800impl FaceExpressionInfo2FB {
12801 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_INFO2_FB;
12802}
12803#[repr(C)]
12804#[derive(Copy, Clone, Debug)]
12805#[doc = "See [XrFaceExpressionWeights2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceExpressionWeights2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
12806pub struct FaceExpressionWeights2FB {
12807 pub ty: StructureType,
12808 pub next: *mut c_void,
12809 pub weight_count: u32,
12810 pub weights: *mut f32,
12811 pub confidence_count: u32,
12812 pub confidences: *mut f32,
12813 pub is_valid: Bool32,
12814 pub is_eye_following_blendshapes_valid: Bool32,
12815 pub data_source: FaceTrackingDataSource2FB,
12816 pub time: Time,
12817}
12818impl FaceExpressionWeights2FB {
12819 pub const TYPE: StructureType = StructureType::FACE_EXPRESSION_WEIGHTS2_FB;
12820 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12821 #[inline]
12822 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12823 let mut x = MaybeUninit::<Self>::uninit();
12824 unsafe {
12825 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12826 ty: Self::TYPE,
12827 next,
12828 });
12829 }
12830 x
12831 }
12832}
12833#[repr(C)]
12834#[derive(Copy, Clone, Debug)]
12835#[doc = "See [XrSystemBodyTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
12836pub struct SystemBodyTrackingPropertiesFB {
12837 pub ty: StructureType,
12838 pub next: *mut c_void,
12839 pub supports_body_tracking: Bool32,
12840}
12841impl SystemBodyTrackingPropertiesFB {
12842 pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_FB;
12843 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12844 #[inline]
12845 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12846 let mut x = MaybeUninit::<Self>::uninit();
12847 unsafe {
12848 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12849 ty: Self::TYPE,
12850 next,
12851 });
12852 }
12853 x
12854 }
12855}
12856#[repr(C)]
12857#[derive(Copy, Clone, Debug)]
12858#[doc = "See [XrBodyTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
12859pub struct BodyTrackerCreateInfoFB {
12860 pub ty: StructureType,
12861 pub next: *const c_void,
12862 pub body_joint_set: BodyJointSetFB,
12863}
12864impl BodyTrackerCreateInfoFB {
12865 pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_FB;
12866}
12867#[repr(C)]
12868#[derive(Copy, Clone, Debug, Default, PartialEq)]
12869#[doc = "See [XrBodySkeletonJointFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonJointFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
12870pub struct BodySkeletonJointFB {
12871 pub joint: i32,
12872 pub parent_joint: i32,
12873 pub pose: Posef,
12874}
12875#[repr(C)]
12876#[derive(Copy, Clone, Debug)]
12877#[doc = "See [XrBodySkeletonFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
12878pub struct BodySkeletonFB {
12879 pub ty: StructureType,
12880 pub next: *mut c_void,
12881 pub joint_count: u32,
12882 pub joints: *mut BodySkeletonJointFB,
12883}
12884impl BodySkeletonFB {
12885 pub const TYPE: StructureType = StructureType::BODY_SKELETON_FB;
12886 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12887 #[inline]
12888 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12889 let mut x = MaybeUninit::<Self>::uninit();
12890 unsafe {
12891 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12892 ty: Self::TYPE,
12893 next,
12894 });
12895 }
12896 x
12897 }
12898}
12899#[repr(C)]
12900#[derive(Copy, Clone, Debug)]
12901#[doc = "See [XrBodyJointsLocateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
12902pub struct BodyJointsLocateInfoFB {
12903 pub ty: StructureType,
12904 pub next: *const c_void,
12905 pub base_space: Space,
12906 pub time: Time,
12907}
12908impl BodyJointsLocateInfoFB {
12909 pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_FB;
12910}
12911#[repr(C)]
12912#[derive(Copy, Clone, Debug, Default, PartialEq)]
12913#[doc = "See [XrBodyJointLocationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
12914pub struct BodyJointLocationFB {
12915 pub location_flags: SpaceLocationFlags,
12916 pub pose: Posef,
12917}
12918#[repr(C)]
12919#[derive(Copy, Clone, Debug)]
12920#[doc = "See [XrBodyJointLocationsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
12921pub struct BodyJointLocationsFB {
12922 pub ty: StructureType,
12923 pub next: *mut c_void,
12924 pub is_active: Bool32,
12925 pub confidence: f32,
12926 pub joint_count: u32,
12927 pub joint_locations: *mut BodyJointLocationFB,
12928 pub skeleton_changed_count: u32,
12929 pub time: Time,
12930}
12931impl BodyJointLocationsFB {
12932 pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_FB;
12933 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12934 #[inline]
12935 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12936 let mut x = MaybeUninit::<Self>::uninit();
12937 unsafe {
12938 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12939 ty: Self::TYPE,
12940 next,
12941 });
12942 }
12943 x
12944 }
12945}
12946#[repr(C)]
12947#[derive(Copy, Clone, Debug)]
12948#[doc = "See [XrSystemPropertiesBodyTrackingFullBodyMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingFullBodyMETA) - defined by [XR_META_body_tracking_full_body](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_full_body)"]
12949pub struct SystemPropertiesBodyTrackingFullBodyMETA {
12950 pub ty: StructureType,
12951 pub next: *mut c_void,
12952 pub supports_full_body_tracking: Bool32,
12953}
12954impl SystemPropertiesBodyTrackingFullBodyMETA {
12955 pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META;
12956 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12957 #[inline]
12958 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12959 let mut x = MaybeUninit::<Self>::uninit();
12960 unsafe {
12961 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12962 ty: Self::TYPE,
12963 next,
12964 });
12965 }
12966 x
12967 }
12968}
12969#[repr(C)]
12970#[derive(Copy, Clone, Debug)]
12971#[doc = "See [XrBodyTrackingCalibrationInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationInfoMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
12972pub struct BodyTrackingCalibrationInfoMETA {
12973 pub ty: StructureType,
12974 pub next: *const c_void,
12975 pub body_height: f32,
12976}
12977impl BodyTrackingCalibrationInfoMETA {
12978 pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_INFO_META;
12979}
12980#[repr(C)]
12981#[derive(Copy, Clone, Debug)]
12982#[doc = "See [XrBodyTrackingCalibrationStatusMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingCalibrationStatusMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
12983pub struct BodyTrackingCalibrationStatusMETA {
12984 pub ty: StructureType,
12985 pub next: *mut c_void,
12986 pub status: BodyTrackingCalibrationStateMETA,
12987}
12988impl BodyTrackingCalibrationStatusMETA {
12989 pub const TYPE: StructureType = StructureType::BODY_TRACKING_CALIBRATION_STATUS_META;
12990 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
12991 #[inline]
12992 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
12993 let mut x = MaybeUninit::<Self>::uninit();
12994 unsafe {
12995 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
12996 ty: Self::TYPE,
12997 next,
12998 });
12999 }
13000 x
13001 }
13002}
13003#[repr(C)]
13004#[derive(Copy, Clone, Debug)]
13005#[doc = "See [XrSystemPropertiesBodyTrackingCalibrationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingCalibrationMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
13006pub struct SystemPropertiesBodyTrackingCalibrationMETA {
13007 pub ty: StructureType,
13008 pub next: *mut c_void,
13009 pub supports_height_override: Bool32,
13010}
13011impl SystemPropertiesBodyTrackingCalibrationMETA {
13012 pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META;
13013 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13014 #[inline]
13015 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13016 let mut x = MaybeUninit::<Self>::uninit();
13017 unsafe {
13018 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13019 ty: Self::TYPE,
13020 next,
13021 });
13022 }
13023 x
13024 }
13025}
13026#[repr(C)]
13027#[derive(Copy, Clone, Debug)]
13028#[doc = "See [XrBodyTrackingFidelityStatusMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackingFidelityStatusMETA) - defined by [XR_META_body_tracking_fidelity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_fidelity)"]
13029pub struct BodyTrackingFidelityStatusMETA {
13030 pub ty: StructureType,
13031 pub next: *mut c_void,
13032 pub fidelity: BodyTrackingFidelityMETA,
13033}
13034impl BodyTrackingFidelityStatusMETA {
13035 pub const TYPE: StructureType = StructureType::BODY_TRACKING_FIDELITY_STATUS_META;
13036 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13037 #[inline]
13038 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13039 let mut x = MaybeUninit::<Self>::uninit();
13040 unsafe {
13041 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13042 ty: Self::TYPE,
13043 next,
13044 });
13045 }
13046 x
13047 }
13048}
13049#[repr(C)]
13050#[derive(Copy, Clone, Debug)]
13051#[doc = "See [XrSystemPropertiesBodyTrackingFidelityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPropertiesBodyTrackingFidelityMETA) - defined by [XR_META_body_tracking_fidelity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_fidelity)"]
13052pub struct SystemPropertiesBodyTrackingFidelityMETA {
13053 pub ty: StructureType,
13054 pub next: *mut c_void,
13055 pub supports_body_tracking_fidelity: Bool32,
13056}
13057impl SystemPropertiesBodyTrackingFidelityMETA {
13058 pub const TYPE: StructureType = StructureType::SYSTEM_PROPERTIES_BODY_TRACKING_FIDELITY_META;
13059 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13060 #[inline]
13061 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13062 let mut x = MaybeUninit::<Self>::uninit();
13063 unsafe {
13064 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13065 ty: Self::TYPE,
13066 next,
13067 });
13068 }
13069 x
13070 }
13071}
13072#[repr(C)]
13073#[derive(Copy, Clone, Debug)]
13074#[doc = "See [XrSystemEyeTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEyeTrackingPropertiesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
13075pub struct SystemEyeTrackingPropertiesFB {
13076 pub ty: StructureType,
13077 pub next: *mut c_void,
13078 pub supports_eye_tracking: Bool32,
13079}
13080impl SystemEyeTrackingPropertiesFB {
13081 pub const TYPE: StructureType = StructureType::SYSTEM_EYE_TRACKING_PROPERTIES_FB;
13082 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13083 #[inline]
13084 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13085 let mut x = MaybeUninit::<Self>::uninit();
13086 unsafe {
13087 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13088 ty: Self::TYPE,
13089 next,
13090 });
13091 }
13092 x
13093 }
13094}
13095#[repr(C)]
13096#[derive(Copy, Clone, Debug)]
13097#[doc = "See [XrEyeTrackerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeTrackerCreateInfoFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
13098pub struct EyeTrackerCreateInfoFB {
13099 pub ty: StructureType,
13100 pub next: *const c_void,
13101}
13102impl EyeTrackerCreateInfoFB {
13103 pub const TYPE: StructureType = StructureType::EYE_TRACKER_CREATE_INFO_FB;
13104}
13105#[repr(C)]
13106#[derive(Copy, Clone, Debug)]
13107#[doc = "See [XrEyeGazesInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazesInfoFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
13108pub struct EyeGazesInfoFB {
13109 pub ty: StructureType,
13110 pub next: *const c_void,
13111 pub base_space: Space,
13112 pub time: Time,
13113}
13114impl EyeGazesInfoFB {
13115 pub const TYPE: StructureType = StructureType::EYE_GAZES_INFO_FB;
13116}
13117#[repr(C)]
13118#[derive(Copy, Clone, Debug, Default, PartialEq)]
13119#[doc = "See [XrEyeGazeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazeFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
13120pub struct EyeGazeFB {
13121 pub is_valid: Bool32,
13122 pub gaze_pose: Posef,
13123 pub gaze_confidence: f32,
13124}
13125#[repr(C)]
13126#[derive(Copy, Clone, Debug)]
13127#[doc = "See [XrEyeGazesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEyeGazesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
13128pub struct EyeGazesFB {
13129 pub ty: StructureType,
13130 pub next: *mut c_void,
13131 pub gaze: [EyeGazeFB; EYE_POSITION_COUNT_FB],
13132 pub time: Time,
13133}
13134impl EyeGazesFB {
13135 pub const TYPE: StructureType = StructureType::EYE_GAZES_FB;
13136 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13137 #[inline]
13138 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13139 let mut x = MaybeUninit::<Self>::uninit();
13140 unsafe {
13141 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13142 ty: Self::TYPE,
13143 next,
13144 });
13145 }
13146 x
13147 }
13148}
13149#[repr(C)]
13150#[derive(Copy, Clone, Debug)]
13151#[doc = "See [XrHandJointsMotionRangeInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandJointsMotionRangeInfoEXT) - defined by [XR_EXT_hand_joints_motion_range](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_joints_motion_range)"]
13152pub struct HandJointsMotionRangeInfoEXT {
13153 pub ty: StructureType,
13154 pub next: *const c_void,
13155 pub hand_joints_motion_range: HandJointsMotionRangeEXT,
13156}
13157impl HandJointsMotionRangeInfoEXT {
13158 pub const TYPE: StructureType = StructureType::HAND_JOINTS_MOTION_RANGE_INFO_EXT;
13159}
13160#[repr(C)]
13161#[derive(Copy, Clone, Debug)]
13162#[doc = "See [XrHandTrackingDataSourceInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceInfoEXT) - defined by [XR_EXT_hand_tracking_data_source](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking_data_source)"]
13163pub struct HandTrackingDataSourceInfoEXT {
13164 pub ty: StructureType,
13165 pub next: *const c_void,
13166 pub requested_data_source_count: u32,
13167 pub requested_data_sources: *mut HandTrackingDataSourceEXT,
13168}
13169impl HandTrackingDataSourceInfoEXT {
13170 pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_INFO_EXT;
13171}
13172#[repr(C)]
13173#[derive(Copy, Clone, Debug)]
13174#[doc = "See [XrHandTrackingDataSourceStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingDataSourceStateEXT) - defined by [XR_EXT_hand_tracking_data_source](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking_data_source)"]
13175pub struct HandTrackingDataSourceStateEXT {
13176 pub ty: StructureType,
13177 pub next: *mut c_void,
13178 pub is_active: Bool32,
13179 pub data_source: HandTrackingDataSourceEXT,
13180}
13181impl HandTrackingDataSourceStateEXT {
13182 pub const TYPE: StructureType = StructureType::HAND_TRACKING_DATA_SOURCE_STATE_EXT;
13183 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13184 #[inline]
13185 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13186 let mut x = MaybeUninit::<Self>::uninit();
13187 unsafe {
13188 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13189 ty: Self::TYPE,
13190 next,
13191 });
13192 }
13193 x
13194 }
13195}
13196#[repr(C)]
13197#[derive(Copy, Clone, Debug)]
13198#[doc = "See [XrHandMeshSpaceCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshSpaceCreateInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13199pub struct HandMeshSpaceCreateInfoMSFT {
13200 pub ty: StructureType,
13201 pub next: *const c_void,
13202 pub hand_pose_type: HandPoseTypeMSFT,
13203 pub pose_in_hand_mesh_space: Posef,
13204}
13205impl HandMeshSpaceCreateInfoMSFT {
13206 pub const TYPE: StructureType = StructureType::HAND_MESH_SPACE_CREATE_INFO_MSFT;
13207}
13208#[repr(C)]
13209#[derive(Copy, Clone, Debug)]
13210#[doc = "See [XrHandMeshUpdateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshUpdateInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13211pub struct HandMeshUpdateInfoMSFT {
13212 pub ty: StructureType,
13213 pub next: *const c_void,
13214 pub time: Time,
13215 pub hand_pose_type: HandPoseTypeMSFT,
13216}
13217impl HandMeshUpdateInfoMSFT {
13218 pub const TYPE: StructureType = StructureType::HAND_MESH_UPDATE_INFO_MSFT;
13219}
13220#[repr(C)]
13221#[derive(Copy, Clone, Debug)]
13222#[doc = "See [XrHandMeshMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13223pub struct HandMeshMSFT {
13224 pub ty: StructureType,
13225 pub next: *mut c_void,
13226 pub is_active: Bool32,
13227 pub index_buffer_changed: Bool32,
13228 pub vertex_buffer_changed: Bool32,
13229 pub index_buffer: HandMeshIndexBufferMSFT,
13230 pub vertex_buffer: HandMeshVertexBufferMSFT,
13231}
13232impl HandMeshMSFT {
13233 pub const TYPE: StructureType = StructureType::HAND_MESH_MSFT;
13234 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13235 #[inline]
13236 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13237 let mut x = MaybeUninit::<Self>::uninit();
13238 unsafe {
13239 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13240 ty: Self::TYPE,
13241 next,
13242 });
13243 }
13244 x
13245 }
13246}
13247#[repr(C)]
13248#[derive(Copy, Clone, Debug)]
13249#[doc = "See [XrHandMeshIndexBufferMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshIndexBufferMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13250pub struct HandMeshIndexBufferMSFT {
13251 pub index_buffer_key: u32,
13252 pub index_capacity_input: u32,
13253 pub index_count_output: u32,
13254 pub indices: *mut u32,
13255}
13256#[repr(C)]
13257#[derive(Copy, Clone, Debug)]
13258#[doc = "See [XrHandMeshVertexBufferMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshVertexBufferMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13259pub struct HandMeshVertexBufferMSFT {
13260 pub vertex_update_time: Time,
13261 pub vertex_capacity_input: u32,
13262 pub vertex_count_output: u32,
13263 pub vertices: *mut HandMeshVertexMSFT,
13264}
13265#[repr(C)]
13266#[derive(Copy, Clone, Debug, Default, PartialEq)]
13267#[doc = "See [XrHandMeshVertexMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandMeshVertexMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13268pub struct HandMeshVertexMSFT {
13269 pub position: Vector3f,
13270 pub normal: Vector3f,
13271}
13272#[repr(C)]
13273#[derive(Copy, Clone, Debug)]
13274#[doc = "See [XrSystemHandTrackingMeshPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHandTrackingMeshPropertiesMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13275pub struct SystemHandTrackingMeshPropertiesMSFT {
13276 pub ty: StructureType,
13277 pub next: *mut c_void,
13278 pub supports_hand_tracking_mesh: Bool32,
13279 pub max_hand_mesh_index_count: u32,
13280 pub max_hand_mesh_vertex_count: u32,
13281}
13282impl SystemHandTrackingMeshPropertiesMSFT {
13283 pub const TYPE: StructureType = StructureType::SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT;
13284 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13285 #[inline]
13286 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13287 let mut x = MaybeUninit::<Self>::uninit();
13288 unsafe {
13289 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13290 ty: Self::TYPE,
13291 next,
13292 });
13293 }
13294 x
13295 }
13296}
13297#[repr(C)]
13298#[derive(Copy, Clone, Debug)]
13299#[doc = "See [XrHandPoseTypeInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandPoseTypeInfoMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
13300pub struct HandPoseTypeInfoMSFT {
13301 pub ty: StructureType,
13302 pub next: *const c_void,
13303 pub hand_pose_type: HandPoseTypeMSFT,
13304}
13305impl HandPoseTypeInfoMSFT {
13306 pub const TYPE: StructureType = StructureType::HAND_POSE_TYPE_INFO_MSFT;
13307}
13308#[repr(C)]
13309#[derive(Copy, Clone, Debug)]
13310#[doc = "See [XrSecondaryViewConfigurationSessionBeginInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationSessionBeginInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
13311pub struct SecondaryViewConfigurationSessionBeginInfoMSFT {
13312 pub ty: StructureType,
13313 pub next: *const c_void,
13314 pub view_configuration_count: u32,
13315 pub enabled_view_configuration_types: *const ViewConfigurationType,
13316}
13317impl SecondaryViewConfigurationSessionBeginInfoMSFT {
13318 pub const TYPE: StructureType =
13319 StructureType::SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT;
13320}
13321#[repr(C)]
13322#[derive(Copy, Clone, Debug)]
13323#[doc = "See [XrSecondaryViewConfigurationStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationStateMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
13324pub struct SecondaryViewConfigurationStateMSFT {
13325 pub ty: StructureType,
13326 pub next: *mut c_void,
13327 pub view_configuration_type: ViewConfigurationType,
13328 pub active: Bool32,
13329}
13330impl SecondaryViewConfigurationStateMSFT {
13331 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_STATE_MSFT;
13332 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13333 #[inline]
13334 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13335 let mut x = MaybeUninit::<Self>::uninit();
13336 unsafe {
13337 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13338 ty: Self::TYPE,
13339 next,
13340 });
13341 }
13342 x
13343 }
13344}
13345#[repr(C)]
13346#[derive(Copy, Clone, Debug)]
13347#[doc = "See [XrSecondaryViewConfigurationFrameStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationFrameStateMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
13348pub struct SecondaryViewConfigurationFrameStateMSFT {
13349 pub ty: StructureType,
13350 pub next: *mut c_void,
13351 pub view_configuration_count: u32,
13352 pub view_configuration_states: *mut SecondaryViewConfigurationStateMSFT,
13353}
13354impl SecondaryViewConfigurationFrameStateMSFT {
13355 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT;
13356 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13357 #[inline]
13358 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13359 let mut x = MaybeUninit::<Self>::uninit();
13360 unsafe {
13361 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13362 ty: Self::TYPE,
13363 next,
13364 });
13365 }
13366 x
13367 }
13368}
13369#[repr(C)]
13370#[derive(Copy, Clone, Debug)]
13371#[doc = "See [XrSecondaryViewConfigurationFrameEndInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationFrameEndInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
13372pub struct SecondaryViewConfigurationFrameEndInfoMSFT {
13373 pub ty: StructureType,
13374 pub next: *const c_void,
13375 pub view_configuration_count: u32,
13376 pub view_configuration_layers_info: *const SecondaryViewConfigurationLayerInfoMSFT,
13377}
13378impl SecondaryViewConfigurationFrameEndInfoMSFT {
13379 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT;
13380}
13381#[repr(C)]
13382#[derive(Copy, Clone, Debug)]
13383#[doc = "See [XrSecondaryViewConfigurationLayerInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationLayerInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
13384pub struct SecondaryViewConfigurationLayerInfoMSFT {
13385 pub ty: StructureType,
13386 pub next: *const c_void,
13387 pub view_configuration_type: ViewConfigurationType,
13388 pub environment_blend_mode: EnvironmentBlendMode,
13389 pub layer_count: u32,
13390 pub layers: *const *const CompositionLayerBaseHeader,
13391}
13392impl SecondaryViewConfigurationLayerInfoMSFT {
13393 pub const TYPE: StructureType = StructureType::SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT;
13394}
13395#[repr(C)]
13396#[derive(Copy, Clone, Debug)]
13397#[doc = "See [XrSecondaryViewConfigurationSwapchainCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSecondaryViewConfigurationSwapchainCreateInfoMSFT) - defined by [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_secondary_view_configuration)"]
13398pub struct SecondaryViewConfigurationSwapchainCreateInfoMSFT {
13399 pub ty: StructureType,
13400 pub next: *const c_void,
13401 pub view_configuration_type: ViewConfigurationType,
13402}
13403impl SecondaryViewConfigurationSwapchainCreateInfoMSFT {
13404 pub const TYPE: StructureType =
13405 StructureType::SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT;
13406}
13407#[repr(C)]
13408#[derive(Copy, Clone, Debug)]
13409#[doc = "See [XrHolographicWindowAttachmentMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHolographicWindowAttachmentMSFT) - defined by [XR_MSFT_holographic_window_attachment](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_holographic_window_attachment)"]
13410#[cfg(windows)]
13411pub struct HolographicWindowAttachmentMSFT {
13412 pub ty: StructureType,
13413 pub next: *const c_void,
13414 pub holographic_space: *mut IUnknown,
13415 pub core_window: *mut IUnknown,
13416}
13417#[cfg(windows)]
13418impl HolographicWindowAttachmentMSFT {
13419 pub const TYPE: StructureType = StructureType::HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT;
13420}
13421#[repr(C)]
13422#[derive(Copy, Clone, Debug)]
13423#[doc = "See [XrAndroidSurfaceSwapchainCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAndroidSurfaceSwapchainCreateInfoFB) - defined by [XR_FB_android_surface_swapchain_create](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_android_surface_swapchain_create)"]
13424#[cfg(target_os = "android")]
13425pub struct AndroidSurfaceSwapchainCreateInfoFB {
13426 pub ty: StructureType,
13427 pub next: *const c_void,
13428 pub create_flags: AndroidSurfaceSwapchainFlagsFB,
13429}
13430#[cfg(target_os = "android")]
13431impl AndroidSurfaceSwapchainCreateInfoFB {
13432 pub const TYPE: StructureType = StructureType::ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB;
13433}
13434#[repr(C)]
13435#[derive(Copy, Clone, Debug)]
13436#[doc = "See [XrSwapchainStateBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateBaseHeaderFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
13437pub struct SwapchainStateBaseHeaderFB {
13438 pub ty: StructureType,
13439 pub next: *mut c_void,
13440}
13441#[repr(C)]
13442#[derive(Copy, Clone, Debug)]
13443#[doc = "See [XrSwapchainStateAndroidSurfaceDimensionsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateAndroidSurfaceDimensionsFB) - defined by [XR_FB_swapchain_update_state_android_surface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_android_surface)"]
13444#[cfg(target_os = "android")]
13445pub struct SwapchainStateAndroidSurfaceDimensionsFB {
13446 pub ty: StructureType,
13447 pub next: *mut c_void,
13448 pub width: u32,
13449 pub height: u32,
13450}
13451#[cfg(target_os = "android")]
13452impl SwapchainStateAndroidSurfaceDimensionsFB {
13453 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB;
13454 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13455 #[inline]
13456 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13457 let mut x = MaybeUninit::<Self>::uninit();
13458 unsafe {
13459 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13460 ty: Self::TYPE,
13461 next,
13462 });
13463 }
13464 x
13465 }
13466}
13467#[repr(C)]
13468#[derive(Copy, Clone, Debug)]
13469#[doc = "See [XrSwapchainStateSamplerOpenGLESFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateSamplerOpenGLESFB) - defined by [XR_FB_swapchain_update_state_opengl_es](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_opengl_es)"]
13470pub struct SwapchainStateSamplerOpenGLESFB {
13471 pub ty: StructureType,
13472 pub next: *mut c_void,
13473 pub min_filter: EGLenum,
13474 pub mag_filter: EGLenum,
13475 pub wrap_mode_s: EGLenum,
13476 pub wrap_mode_t: EGLenum,
13477 pub swizzle_red: EGLenum,
13478 pub swizzle_green: EGLenum,
13479 pub swizzle_blue: EGLenum,
13480 pub swizzle_alpha: EGLenum,
13481 pub max_anisotropy: f32,
13482 pub border_color: Color4f,
13483}
13484impl SwapchainStateSamplerOpenGLESFB {
13485 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB;
13486 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13487 #[inline]
13488 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13489 let mut x = MaybeUninit::<Self>::uninit();
13490 unsafe {
13491 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13492 ty: Self::TYPE,
13493 next,
13494 });
13495 }
13496 x
13497 }
13498}
13499#[repr(C)]
13500#[derive(Copy, Clone, Debug)]
13501#[doc = "See [XrSwapchainStateSamplerVulkanFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateSamplerVulkanFB) - defined by [XR_FB_swapchain_update_state_vulkan](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state_vulkan)"]
13502pub struct SwapchainStateSamplerVulkanFB {
13503 pub ty: StructureType,
13504 pub next: *mut c_void,
13505 pub min_filter: VkFilter,
13506 pub mag_filter: VkFilter,
13507 pub mipmap_mode: VkSamplerMipmapMode,
13508 pub wrap_mode_s: VkSamplerAddressMode,
13509 pub wrap_mode_t: VkSamplerAddressMode,
13510 pub swizzle_red: VkComponentSwizzle,
13511 pub swizzle_green: VkComponentSwizzle,
13512 pub swizzle_blue: VkComponentSwizzle,
13513 pub swizzle_alpha: VkComponentSwizzle,
13514 pub max_anisotropy: f32,
13515 pub border_color: Color4f,
13516}
13517impl SwapchainStateSamplerVulkanFB {
13518 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_SAMPLER_VULKAN_FB;
13519 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13520 #[inline]
13521 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13522 let mut x = MaybeUninit::<Self>::uninit();
13523 unsafe {
13524 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13525 ty: Self::TYPE,
13526 next,
13527 });
13528 }
13529 x
13530 }
13531}
13532#[repr(C)]
13533#[derive(Copy, Clone, Debug)]
13534#[doc = "See [XrCompositionLayerSecureContentFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSecureContentFB) - defined by [XR_FB_composition_layer_secure_content](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_secure_content)"]
13535pub struct CompositionLayerSecureContentFB {
13536 pub ty: StructureType,
13537 pub next: *const c_void,
13538 pub flags: CompositionLayerSecureContentFlagsFB,
13539}
13540impl CompositionLayerSecureContentFB {
13541 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SECURE_CONTENT_FB;
13542}
13543#[repr(C)]
13544#[derive(Copy, Clone, Debug)]
13545#[doc = "See [XrLoaderInitInfoBaseHeaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoBaseHeaderKHR) - defined by [XR_KHR_loader_init](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init)"]
13546pub struct LoaderInitInfoBaseHeaderKHR {
13547 pub ty: StructureType,
13548 pub next: *const c_void,
13549}
13550#[repr(C)]
13551#[derive(Copy, Clone, Debug)]
13552#[doc = "See [XrLoaderInitInfoAndroidKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoAndroidKHR) - defined by [XR_KHR_loader_init_android](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init_android)"]
13553#[cfg(target_os = "android")]
13554pub struct LoaderInitInfoAndroidKHR {
13555 pub ty: StructureType,
13556 pub next: *const c_void,
13557 pub application_vm: *mut c_void,
13558 pub application_context: *mut c_void,
13559}
13560#[cfg(target_os = "android")]
13561impl LoaderInitInfoAndroidKHR {
13562 pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_ANDROID_KHR;
13563}
13564#[repr(C)]
13565#[derive(Copy, Clone, Debug)]
13566#[doc = "See [XrCompositionLayerEquirect2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerEquirect2KHR) - defined by [XR_KHR_composition_layer_equirect2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_equirect2)"]
13567pub struct CompositionLayerEquirect2KHR {
13568 pub ty: StructureType,
13569 pub next: *const c_void,
13570 pub layer_flags: CompositionLayerFlags,
13571 pub space: Space,
13572 pub eye_visibility: EyeVisibility,
13573 pub sub_image: SwapchainSubImage,
13574 pub pose: Posef,
13575 pub radius: f32,
13576 pub central_horizontal_angle: f32,
13577 pub upper_vertical_angle: f32,
13578 pub lower_vertical_angle: f32,
13579}
13580impl CompositionLayerEquirect2KHR {
13581 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_EQUIRECT2_KHR;
13582}
13583#[repr(C)]
13584#[derive(Copy, Clone, Debug)]
13585#[doc = "See [XrCompositionLayerColorScaleBiasKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerColorScaleBiasKHR) - defined by [XR_KHR_composition_layer_color_scale_bias](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_composition_layer_color_scale_bias)"]
13586pub struct CompositionLayerColorScaleBiasKHR {
13587 pub ty: StructureType,
13588 pub next: *const c_void,
13589 pub color_scale: Color4f,
13590 pub color_bias: Color4f,
13591}
13592impl CompositionLayerColorScaleBiasKHR {
13593 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR;
13594}
13595#[repr(C)]
13596#[derive(Copy, Clone, Debug)]
13597#[doc = "See [XrControllerModelKeyStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelKeyStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
13598pub struct ControllerModelKeyStateMSFT {
13599 pub ty: StructureType,
13600 pub next: *mut c_void,
13601 pub model_key: ControllerModelKeyMSFT,
13602}
13603impl ControllerModelKeyStateMSFT {
13604 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_KEY_STATE_MSFT;
13605 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13606 #[inline]
13607 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13608 let mut x = MaybeUninit::<Self>::uninit();
13609 unsafe {
13610 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13611 ty: Self::TYPE,
13612 next,
13613 });
13614 }
13615 x
13616 }
13617}
13618#[repr(C)]
13619#[derive(Copy, Clone, Debug)]
13620#[doc = "See [XrControllerModelNodePropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelNodePropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
13621pub struct ControllerModelNodePropertiesMSFT {
13622 pub ty: StructureType,
13623 pub next: *mut c_void,
13624 pub parent_node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
13625 pub node_name: [c_char; MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT],
13626}
13627impl ControllerModelNodePropertiesMSFT {
13628 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_PROPERTIES_MSFT;
13629 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13630 #[inline]
13631 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13632 let mut x = MaybeUninit::<Self>::uninit();
13633 unsafe {
13634 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13635 ty: Self::TYPE,
13636 next,
13637 });
13638 }
13639 x
13640 }
13641}
13642#[repr(C)]
13643#[derive(Copy, Clone, Debug)]
13644#[doc = "See [XrControllerModelPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelPropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
13645pub struct ControllerModelPropertiesMSFT {
13646 pub ty: StructureType,
13647 pub next: *mut c_void,
13648 pub node_capacity_input: u32,
13649 pub node_count_output: u32,
13650 pub node_properties: *mut ControllerModelNodePropertiesMSFT,
13651}
13652impl ControllerModelPropertiesMSFT {
13653 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_PROPERTIES_MSFT;
13654 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13655 #[inline]
13656 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13657 let mut x = MaybeUninit::<Self>::uninit();
13658 unsafe {
13659 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13660 ty: Self::TYPE,
13661 next,
13662 });
13663 }
13664 x
13665 }
13666}
13667#[repr(C)]
13668#[derive(Copy, Clone, Debug)]
13669#[doc = "See [XrControllerModelNodeStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelNodeStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
13670pub struct ControllerModelNodeStateMSFT {
13671 pub ty: StructureType,
13672 pub next: *mut c_void,
13673 pub node_pose: Posef,
13674}
13675impl ControllerModelNodeStateMSFT {
13676 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_NODE_STATE_MSFT;
13677 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13678 #[inline]
13679 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13680 let mut x = MaybeUninit::<Self>::uninit();
13681 unsafe {
13682 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13683 ty: Self::TYPE,
13684 next,
13685 });
13686 }
13687 x
13688 }
13689}
13690#[repr(C)]
13691#[derive(Copy, Clone, Debug)]
13692#[doc = "See [XrControllerModelStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrControllerModelStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
13693pub struct ControllerModelStateMSFT {
13694 pub ty: StructureType,
13695 pub next: *mut c_void,
13696 pub node_capacity_input: u32,
13697 pub node_count_output: u32,
13698 pub node_states: *mut ControllerModelNodeStateMSFT,
13699}
13700impl ControllerModelStateMSFT {
13701 pub const TYPE: StructureType = StructureType::CONTROLLER_MODEL_STATE_MSFT;
13702 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13703 #[inline]
13704 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13705 let mut x = MaybeUninit::<Self>::uninit();
13706 unsafe {
13707 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13708 ty: Self::TYPE,
13709 next,
13710 });
13711 }
13712 x
13713 }
13714}
13715#[repr(C)]
13716#[derive(Copy, Clone, Debug)]
13717#[doc = "See [XrSystemColorSpacePropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemColorSpacePropertiesFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
13718pub struct SystemColorSpacePropertiesFB {
13719 pub ty: StructureType,
13720 pub next: *mut c_void,
13721 pub color_space: ColorSpaceFB,
13722}
13723impl SystemColorSpacePropertiesFB {
13724 pub const TYPE: StructureType = StructureType::SYSTEM_COLOR_SPACE_PROPERTIES_FB;
13725 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13726 #[inline]
13727 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13728 let mut x = MaybeUninit::<Self>::uninit();
13729 unsafe {
13730 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13731 ty: Self::TYPE,
13732 next,
13733 });
13734 }
13735 x
13736 }
13737}
13738#[repr(C)]
13739#[derive(Copy, Clone, Debug)]
13740#[doc = "See [XrSystemSpatialEntityPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntityPropertiesFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
13741pub struct SystemSpatialEntityPropertiesFB {
13742 pub ty: StructureType,
13743 pub next: *const c_void,
13744 pub supports_spatial_entity: Bool32,
13745}
13746impl SystemSpatialEntityPropertiesFB {
13747 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB;
13748}
13749#[repr(C)]
13750#[derive(Copy, Clone, Debug)]
13751#[doc = "See [XrSpatialAnchorCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
13752pub struct SpatialAnchorCreateInfoFB {
13753 pub ty: StructureType,
13754 pub next: *const c_void,
13755 pub space: Space,
13756 pub pose_in_space: Posef,
13757 pub time: Time,
13758}
13759impl SpatialAnchorCreateInfoFB {
13760 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_FB;
13761}
13762#[repr(C)]
13763#[derive(Copy, Clone, Debug)]
13764#[doc = "See [XrSpaceComponentStatusSetInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentStatusSetInfoFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
13765pub struct SpaceComponentStatusSetInfoFB {
13766 pub ty: StructureType,
13767 pub next: *const c_void,
13768 pub component_type: SpaceComponentTypeFB,
13769 pub enabled: Bool32,
13770 pub timeout: Duration,
13771}
13772impl SpaceComponentStatusSetInfoFB {
13773 pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_SET_INFO_FB;
13774}
13775#[repr(C)]
13776#[derive(Copy, Clone, Debug)]
13777#[doc = "See [XrSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
13778pub struct SpaceComponentStatusFB {
13779 pub ty: StructureType,
13780 pub next: *mut c_void,
13781 pub enabled: Bool32,
13782 pub change_pending: Bool32,
13783}
13784impl SpaceComponentStatusFB {
13785 pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_STATUS_FB;
13786 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13787 #[inline]
13788 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13789 let mut x = MaybeUninit::<Self>::uninit();
13790 unsafe {
13791 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13792 ty: Self::TYPE,
13793 next,
13794 });
13795 }
13796 x
13797 }
13798}
13799#[repr(C)]
13800#[derive(Copy, Clone, Debug)]
13801#[doc = "See [XrEventDataSpatialAnchorCreateCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpatialAnchorCreateCompleteFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
13802pub struct EventDataSpatialAnchorCreateCompleteFB {
13803 pub ty: StructureType,
13804 pub next: *const c_void,
13805 pub request_id: AsyncRequestIdFB,
13806 pub result: Result,
13807 pub space: Space,
13808 pub uuid: UuidEXT,
13809}
13810impl EventDataSpatialAnchorCreateCompleteFB {
13811 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB;
13812}
13813#[repr(C)]
13814#[derive(Copy, Clone, Debug)]
13815#[doc = "See [XrEventDataSpaceSetStatusCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceSetStatusCompleteFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
13816pub struct EventDataSpaceSetStatusCompleteFB {
13817 pub ty: StructureType,
13818 pub next: *const c_void,
13819 pub request_id: AsyncRequestIdFB,
13820 pub result: Result,
13821 pub space: Space,
13822 pub uuid: UuidEXT,
13823 pub component_type: SpaceComponentTypeFB,
13824 pub enabled: Bool32,
13825}
13826impl EventDataSpaceSetStatusCompleteFB {
13827 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB;
13828}
13829#[repr(C)]
13830#[derive(Copy, Clone, Debug)]
13831#[doc = "See [XrFoveationProfileCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationProfileCreateInfoFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
13832pub struct FoveationProfileCreateInfoFB {
13833 pub ty: StructureType,
13834 pub next: *mut c_void,
13835}
13836impl FoveationProfileCreateInfoFB {
13837 pub const TYPE: StructureType = StructureType::FOVEATION_PROFILE_CREATE_INFO_FB;
13838 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13839 #[inline]
13840 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13841 let mut x = MaybeUninit::<Self>::uninit();
13842 unsafe {
13843 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13844 ty: Self::TYPE,
13845 next,
13846 });
13847 }
13848 x
13849 }
13850}
13851#[repr(C)]
13852#[derive(Copy, Clone, Debug)]
13853#[doc = "See [XrSwapchainCreateInfoFoveationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainCreateInfoFoveationFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
13854pub struct SwapchainCreateInfoFoveationFB {
13855 pub ty: StructureType,
13856 pub next: *mut c_void,
13857 pub flags: SwapchainCreateFoveationFlagsFB,
13858}
13859impl SwapchainCreateInfoFoveationFB {
13860 pub const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO_FOVEATION_FB;
13861 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13862 #[inline]
13863 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13864 let mut x = MaybeUninit::<Self>::uninit();
13865 unsafe {
13866 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13867 ty: Self::TYPE,
13868 next,
13869 });
13870 }
13871 x
13872 }
13873}
13874#[repr(C)]
13875#[derive(Copy, Clone, Debug)]
13876#[doc = "See [XrSwapchainStateFoveationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainStateFoveationFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
13877pub struct SwapchainStateFoveationFB {
13878 pub ty: StructureType,
13879 pub next: *mut c_void,
13880 pub flags: SwapchainStateFoveationFlagsFB,
13881 pub profile: FoveationProfileFB,
13882}
13883impl SwapchainStateFoveationFB {
13884 pub const TYPE: StructureType = StructureType::SWAPCHAIN_STATE_FOVEATION_FB;
13885 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13886 #[inline]
13887 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13888 let mut x = MaybeUninit::<Self>::uninit();
13889 unsafe {
13890 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13891 ty: Self::TYPE,
13892 next,
13893 });
13894 }
13895 x
13896 }
13897}
13898#[repr(C)]
13899#[derive(Copy, Clone, Debug)]
13900#[doc = "See [XrSwapchainImageFoveationVulkanFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSwapchainImageFoveationVulkanFB) - defined by [XR_FB_foveation_vulkan](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation_vulkan)"]
13901pub struct SwapchainImageFoveationVulkanFB {
13902 pub ty: StructureType,
13903 pub next: *mut c_void,
13904 pub image: VkImage,
13905 pub width: u32,
13906 pub height: u32,
13907}
13908impl SwapchainImageFoveationVulkanFB {
13909 pub const TYPE: StructureType = StructureType::SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB;
13910 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13911 #[inline]
13912 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13913 let mut x = MaybeUninit::<Self>::uninit();
13914 unsafe {
13915 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13916 ty: Self::TYPE,
13917 next,
13918 });
13919 }
13920 x
13921 }
13922}
13923#[repr(C)]
13924#[derive(Copy, Clone, Debug)]
13925#[doc = "See [XrFoveationLevelProfileCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationLevelProfileCreateInfoFB) - defined by [XR_FB_foveation_configuration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation_configuration)"]
13926pub struct FoveationLevelProfileCreateInfoFB {
13927 pub ty: StructureType,
13928 pub next: *mut c_void,
13929 pub level: FoveationLevelFB,
13930 pub vertical_offset: f32,
13931 pub dynamic: FoveationDynamicFB,
13932}
13933impl FoveationLevelProfileCreateInfoFB {
13934 pub const TYPE: StructureType = StructureType::FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB;
13935 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13936 #[inline]
13937 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13938 let mut x = MaybeUninit::<Self>::uninit();
13939 unsafe {
13940 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13941 ty: Self::TYPE,
13942 next,
13943 });
13944 }
13945 x
13946 }
13947}
13948#[repr(C)]
13949#[derive(Copy, Clone, Debug)]
13950#[doc = "See [XrFoveationEyeTrackedProfileCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedProfileCreateInfoMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
13951pub struct FoveationEyeTrackedProfileCreateInfoMETA {
13952 pub ty: StructureType,
13953 pub next: *const c_void,
13954 pub flags: FoveationEyeTrackedProfileCreateFlagsMETA,
13955}
13956impl FoveationEyeTrackedProfileCreateInfoMETA {
13957 pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META;
13958}
13959#[repr(C)]
13960#[derive(Copy, Clone, Debug)]
13961#[doc = "See [XrFoveationEyeTrackedStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationEyeTrackedStateMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
13962pub struct FoveationEyeTrackedStateMETA {
13963 pub ty: StructureType,
13964 pub next: *mut c_void,
13965 pub foveation_center: [Vector2f; FOVEATION_CENTER_SIZE_META],
13966 pub flags: FoveationEyeTrackedStateFlagsMETA,
13967}
13968impl FoveationEyeTrackedStateMETA {
13969 pub const TYPE: StructureType = StructureType::FOVEATION_EYE_TRACKED_STATE_META;
13970 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13971 #[inline]
13972 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13973 let mut x = MaybeUninit::<Self>::uninit();
13974 unsafe {
13975 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13976 ty: Self::TYPE,
13977 next,
13978 });
13979 }
13980 x
13981 }
13982}
13983#[repr(C)]
13984#[derive(Copy, Clone, Debug)]
13985#[doc = "See [XrSystemFoveationEyeTrackedPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFoveationEyeTrackedPropertiesMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
13986pub struct SystemFoveationEyeTrackedPropertiesMETA {
13987 pub ty: StructureType,
13988 pub next: *mut c_void,
13989 pub supports_foveation_eye_tracked: Bool32,
13990}
13991impl SystemFoveationEyeTrackedPropertiesMETA {
13992 pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META;
13993 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
13994 #[inline]
13995 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
13996 let mut x = MaybeUninit::<Self>::uninit();
13997 unsafe {
13998 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
13999 ty: Self::TYPE,
14000 next,
14001 });
14002 }
14003 x
14004 }
14005}
14006#[repr(C)]
14007#[derive(Copy, Clone, Debug, Default, PartialEq)]
14008#[doc = "See [XrVector4sFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVector4sFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
14009pub struct Vector4sFB {
14010 pub x: i16,
14011 pub y: i16,
14012 pub z: i16,
14013 pub w: i16,
14014}
14015#[repr(C)]
14016#[derive(Copy, Clone, Debug)]
14017#[doc = "See [XrHandTrackingMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingMeshFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
14018pub struct HandTrackingMeshFB {
14019 pub ty: StructureType,
14020 pub next: *mut c_void,
14021 pub joint_capacity_input: u32,
14022 pub joint_count_output: u32,
14023 pub joint_bind_poses: *mut Posef,
14024 pub joint_radii: *mut f32,
14025 pub joint_parents: *mut HandJointEXT,
14026 pub vertex_capacity_input: u32,
14027 pub vertex_count_output: u32,
14028 pub vertex_positions: *mut Vector3f,
14029 pub vertex_normals: *mut Vector3f,
14030 pub vertex_u_vs: *mut Vector2f,
14031 pub vertex_blend_indices: *mut Vector4sFB,
14032 pub vertex_blend_weights: *mut Vector4f,
14033 pub index_capacity_input: u32,
14034 pub index_count_output: u32,
14035 pub indices: *mut i16,
14036}
14037impl HandTrackingMeshFB {
14038 pub const TYPE: StructureType = StructureType::HAND_TRACKING_MESH_FB;
14039 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14040 #[inline]
14041 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14042 let mut x = MaybeUninit::<Self>::uninit();
14043 unsafe {
14044 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14045 ty: Self::TYPE,
14046 next,
14047 });
14048 }
14049 x
14050 }
14051}
14052#[repr(C)]
14053#[derive(Copy, Clone, Debug)]
14054#[doc = "See [XrHandTrackingScaleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingScaleFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
14055pub struct HandTrackingScaleFB {
14056 pub ty: StructureType,
14057 pub next: *mut c_void,
14058 pub sensor_output: f32,
14059 pub current_output: f32,
14060 pub override_hand_scale: Bool32,
14061 pub override_value_input: f32,
14062}
14063impl HandTrackingScaleFB {
14064 pub const TYPE: StructureType = StructureType::HAND_TRACKING_SCALE_FB;
14065 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14066 #[inline]
14067 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14068 let mut x = MaybeUninit::<Self>::uninit();
14069 unsafe {
14070 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14071 ty: Self::TYPE,
14072 next,
14073 });
14074 }
14075 x
14076 }
14077}
14078#[repr(C)]
14079#[derive(Copy, Clone, Debug)]
14080#[doc = "See [XrHandTrackingAimStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingAimStateFB) - defined by [XR_FB_hand_tracking_aim](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_aim)"]
14081pub struct HandTrackingAimStateFB {
14082 pub ty: StructureType,
14083 pub next: *mut c_void,
14084 pub status: HandTrackingAimFlagsFB,
14085 pub aim_pose: Posef,
14086 pub pinch_strength_index: f32,
14087 pub pinch_strength_middle: f32,
14088 pub pinch_strength_ring: f32,
14089 pub pinch_strength_little: f32,
14090}
14091impl HandTrackingAimStateFB {
14092 pub const TYPE: StructureType = StructureType::HAND_TRACKING_AIM_STATE_FB;
14093 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14094 #[inline]
14095 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14096 let mut x = MaybeUninit::<Self>::uninit();
14097 unsafe {
14098 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14099 ty: Self::TYPE,
14100 next,
14101 });
14102 }
14103 x
14104 }
14105}
14106#[repr(C)]
14107#[derive(Copy, Clone, Debug)]
14108#[doc = "See [XrHandCapsuleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandCapsuleFB) - defined by [XR_FB_hand_tracking_capsules](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_capsules)"]
14109pub struct HandCapsuleFB {
14110 pub points: [Vector3f; HAND_TRACKING_CAPSULE_POINT_COUNT_FB],
14111 pub radius: f32,
14112 pub joint: HandJointEXT,
14113}
14114#[repr(C)]
14115#[derive(Copy, Clone, Debug)]
14116#[doc = "See [XrHandTrackingCapsulesStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandTrackingCapsulesStateFB) - defined by [XR_FB_hand_tracking_capsules](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_capsules)"]
14117pub struct HandTrackingCapsulesStateFB {
14118 pub ty: StructureType,
14119 pub next: *mut c_void,
14120 pub capsules: [HandCapsuleFB; HAND_TRACKING_CAPSULE_COUNT_FB],
14121}
14122impl HandTrackingCapsulesStateFB {
14123 pub const TYPE: StructureType = StructureType::HAND_TRACKING_CAPSULES_STATE_FB;
14124 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14125 #[inline]
14126 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14127 let mut x = MaybeUninit::<Self>::uninit();
14128 unsafe {
14129 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14130 ty: Self::TYPE,
14131 next,
14132 });
14133 }
14134 x
14135 }
14136}
14137#[repr(C)]
14138#[derive(Copy, Clone, Debug)]
14139#[doc = "See [XrRenderModelPathInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPathInfoFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
14140pub struct RenderModelPathInfoFB {
14141 pub ty: StructureType,
14142 pub next: *mut c_void,
14143 pub path: Path,
14144}
14145impl RenderModelPathInfoFB {
14146 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PATH_INFO_FB;
14147 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14148 #[inline]
14149 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14150 let mut x = MaybeUninit::<Self>::uninit();
14151 unsafe {
14152 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14153 ty: Self::TYPE,
14154 next,
14155 });
14156 }
14157 x
14158 }
14159}
14160#[repr(C)]
14161#[derive(Copy, Clone, Debug)]
14162#[doc = "See [XrRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
14163pub struct RenderModelPropertiesFB {
14164 pub ty: StructureType,
14165 pub next: *mut c_void,
14166 pub vendor_id: u32,
14167 pub model_name: [c_char; MAX_RENDER_MODEL_NAME_SIZE_FB],
14168 pub model_key: RenderModelKeyFB,
14169 pub model_version: u32,
14170 pub flags: RenderModelFlagsFB,
14171}
14172impl RenderModelPropertiesFB {
14173 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_FB;
14174 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14175 #[inline]
14176 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14177 let mut x = MaybeUninit::<Self>::uninit();
14178 unsafe {
14179 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14180 ty: Self::TYPE,
14181 next,
14182 });
14183 }
14184 x
14185 }
14186}
14187#[repr(C)]
14188#[derive(Copy, Clone, Debug)]
14189#[doc = "See [XrRenderModelCapabilitiesRequestFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelCapabilitiesRequestFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
14190pub struct RenderModelCapabilitiesRequestFB {
14191 pub ty: StructureType,
14192 pub next: *mut c_void,
14193 pub flags: RenderModelFlagsFB,
14194}
14195impl RenderModelCapabilitiesRequestFB {
14196 pub const TYPE: StructureType = StructureType::RENDER_MODEL_CAPABILITIES_REQUEST_FB;
14197 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14198 #[inline]
14199 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14200 let mut x = MaybeUninit::<Self>::uninit();
14201 unsafe {
14202 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14203 ty: Self::TYPE,
14204 next,
14205 });
14206 }
14207 x
14208 }
14209}
14210#[repr(C)]
14211#[derive(Copy, Clone, Debug)]
14212#[doc = "See [XrRenderModelBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelBufferFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
14213pub struct RenderModelBufferFB {
14214 pub ty: StructureType,
14215 pub next: *mut c_void,
14216 pub buffer_capacity_input: u32,
14217 pub buffer_count_output: u32,
14218 pub buffer: *mut u8,
14219}
14220impl RenderModelBufferFB {
14221 pub const TYPE: StructureType = StructureType::RENDER_MODEL_BUFFER_FB;
14222 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14223 #[inline]
14224 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14225 let mut x = MaybeUninit::<Self>::uninit();
14226 unsafe {
14227 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14228 ty: Self::TYPE,
14229 next,
14230 });
14231 }
14232 x
14233 }
14234}
14235#[repr(C)]
14236#[derive(Copy, Clone, Debug)]
14237#[doc = "See [XrRenderModelLoadInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelLoadInfoFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
14238pub struct RenderModelLoadInfoFB {
14239 pub ty: StructureType,
14240 pub next: *mut c_void,
14241 pub model_key: RenderModelKeyFB,
14242}
14243impl RenderModelLoadInfoFB {
14244 pub const TYPE: StructureType = StructureType::RENDER_MODEL_LOAD_INFO_FB;
14245 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14246 #[inline]
14247 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14248 let mut x = MaybeUninit::<Self>::uninit();
14249 unsafe {
14250 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14251 ty: Self::TYPE,
14252 next,
14253 });
14254 }
14255 x
14256 }
14257}
14258#[repr(C)]
14259#[derive(Copy, Clone, Debug)]
14260#[doc = "See [XrSystemRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
14261pub struct SystemRenderModelPropertiesFB {
14262 pub ty: StructureType,
14263 pub next: *mut c_void,
14264 pub supports_render_model_loading: Bool32,
14265}
14266impl SystemRenderModelPropertiesFB {
14267 pub const TYPE: StructureType = StructureType::SYSTEM_RENDER_MODEL_PROPERTIES_FB;
14268 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14269 #[inline]
14270 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14271 let mut x = MaybeUninit::<Self>::uninit();
14272 unsafe {
14273 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14274 ty: Self::TYPE,
14275 next,
14276 });
14277 }
14278 x
14279 }
14280}
14281#[repr(C)]
14282#[derive(Copy, Clone, Debug)]
14283#[doc = "See [XrSpaceQueryInfoBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryInfoBaseHeaderFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14284pub struct SpaceQueryInfoBaseHeaderFB {
14285 pub ty: StructureType,
14286 pub next: *const c_void,
14287}
14288#[repr(C)]
14289#[derive(Copy, Clone, Debug)]
14290#[doc = "See [XrSpaceFilterInfoBaseHeaderFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterInfoBaseHeaderFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14291pub struct SpaceFilterInfoBaseHeaderFB {
14292 pub ty: StructureType,
14293 pub next: *const c_void,
14294}
14295#[repr(C)]
14296#[derive(Copy, Clone, Debug)]
14297#[doc = "See [XrSpaceQueryInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14298pub struct SpaceQueryInfoFB {
14299 pub ty: StructureType,
14300 pub next: *const c_void,
14301 pub query_action: SpaceQueryActionFB,
14302 pub max_result_count: u32,
14303 pub timeout: Duration,
14304 pub filter: *const SpaceFilterInfoBaseHeaderFB,
14305 pub exclude_filter: *const SpaceFilterInfoBaseHeaderFB,
14306}
14307impl SpaceQueryInfoFB {
14308 pub const TYPE: StructureType = StructureType::SPACE_QUERY_INFO_FB;
14309}
14310#[repr(C)]
14311#[derive(Copy, Clone, Debug)]
14312#[doc = "See [XrSpaceStorageLocationFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceStorageLocationFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14313pub struct SpaceStorageLocationFilterInfoFB {
14314 pub ty: StructureType,
14315 pub next: *const c_void,
14316 pub location: SpaceStorageLocationFB,
14317}
14318impl SpaceStorageLocationFilterInfoFB {
14319 pub const TYPE: StructureType = StructureType::SPACE_STORAGE_LOCATION_FILTER_INFO_FB;
14320}
14321#[repr(C)]
14322#[derive(Copy, Clone, Debug)]
14323#[doc = "See [XrSpaceUuidFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUuidFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14324pub struct SpaceUuidFilterInfoFB {
14325 pub ty: StructureType,
14326 pub next: *const c_void,
14327 pub uuid_count: u32,
14328 pub uuids: *mut UuidEXT,
14329}
14330impl SpaceUuidFilterInfoFB {
14331 pub const TYPE: StructureType = StructureType::SPACE_UUID_FILTER_INFO_FB;
14332}
14333#[repr(C)]
14334#[derive(Copy, Clone, Debug)]
14335#[doc = "See [XrSpaceComponentFilterInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceComponentFilterInfoFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14336pub struct SpaceComponentFilterInfoFB {
14337 pub ty: StructureType,
14338 pub next: *const c_void,
14339 pub component_type: SpaceComponentTypeFB,
14340}
14341impl SpaceComponentFilterInfoFB {
14342 pub const TYPE: StructureType = StructureType::SPACE_COMPONENT_FILTER_INFO_FB;
14343}
14344#[repr(C)]
14345#[derive(Copy, Clone, Debug)]
14346#[doc = "See [XrSpaceQueryResultFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryResultFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14347pub struct SpaceQueryResultFB {
14348 pub space: Space,
14349 pub uuid: UuidEXT,
14350}
14351#[repr(C)]
14352#[derive(Copy, Clone, Debug)]
14353#[doc = "See [XrSpaceQueryResultsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceQueryResultsFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14354pub struct SpaceQueryResultsFB {
14355 pub ty: StructureType,
14356 pub next: *mut c_void,
14357 pub result_capacity_input: u32,
14358 pub result_count_output: u32,
14359 pub results: *mut SpaceQueryResultFB,
14360}
14361impl SpaceQueryResultsFB {
14362 pub const TYPE: StructureType = StructureType::SPACE_QUERY_RESULTS_FB;
14363 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14364 #[inline]
14365 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14366 let mut x = MaybeUninit::<Self>::uninit();
14367 unsafe {
14368 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14369 ty: Self::TYPE,
14370 next,
14371 });
14372 }
14373 x
14374 }
14375}
14376#[repr(C)]
14377#[derive(Copy, Clone, Debug)]
14378#[doc = "See [XrEventDataSpaceQueryResultsAvailableFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceQueryResultsAvailableFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14379pub struct EventDataSpaceQueryResultsAvailableFB {
14380 pub ty: StructureType,
14381 pub next: *const c_void,
14382 pub request_id: AsyncRequestIdFB,
14383}
14384impl EventDataSpaceQueryResultsAvailableFB {
14385 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB;
14386}
14387#[repr(C)]
14388#[derive(Copy, Clone, Debug)]
14389#[doc = "See [XrEventDataSpaceQueryCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceQueryCompleteFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
14390pub struct EventDataSpaceQueryCompleteFB {
14391 pub ty: StructureType,
14392 pub next: *const c_void,
14393 pub request_id: AsyncRequestIdFB,
14394 pub result: Result,
14395}
14396impl EventDataSpaceQueryCompleteFB {
14397 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_QUERY_COMPLETE_FB;
14398}
14399#[repr(C)]
14400#[derive(Copy, Clone, Debug)]
14401#[doc = "See [XrSpaceSaveInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceSaveInfoFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
14402pub struct SpaceSaveInfoFB {
14403 pub ty: StructureType,
14404 pub next: *const c_void,
14405 pub space: Space,
14406 pub location: SpaceStorageLocationFB,
14407 pub persistence_mode: SpacePersistenceModeFB,
14408}
14409impl SpaceSaveInfoFB {
14410 pub const TYPE: StructureType = StructureType::SPACE_SAVE_INFO_FB;
14411}
14412#[repr(C)]
14413#[derive(Copy, Clone, Debug)]
14414#[doc = "See [XrSpaceEraseInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceEraseInfoFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
14415pub struct SpaceEraseInfoFB {
14416 pub ty: StructureType,
14417 pub next: *const c_void,
14418 pub space: Space,
14419 pub location: SpaceStorageLocationFB,
14420}
14421impl SpaceEraseInfoFB {
14422 pub const TYPE: StructureType = StructureType::SPACE_ERASE_INFO_FB;
14423}
14424#[repr(C)]
14425#[derive(Copy, Clone, Debug)]
14426#[doc = "See [XrEventDataSpaceSaveCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceSaveCompleteFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
14427pub struct EventDataSpaceSaveCompleteFB {
14428 pub ty: StructureType,
14429 pub next: *const c_void,
14430 pub request_id: AsyncRequestIdFB,
14431 pub result: Result,
14432 pub space: Space,
14433 pub uuid: UuidEXT,
14434 pub location: SpaceStorageLocationFB,
14435}
14436impl EventDataSpaceSaveCompleteFB {
14437 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SAVE_COMPLETE_FB;
14438}
14439#[repr(C)]
14440#[derive(Copy, Clone, Debug)]
14441#[doc = "See [XrEventDataSpaceEraseCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceEraseCompleteFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
14442pub struct EventDataSpaceEraseCompleteFB {
14443 pub ty: StructureType,
14444 pub next: *const c_void,
14445 pub request_id: AsyncRequestIdFB,
14446 pub result: Result,
14447 pub space: Space,
14448 pub uuid: UuidEXT,
14449 pub location: SpaceStorageLocationFB,
14450}
14451impl EventDataSpaceEraseCompleteFB {
14452 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_ERASE_COMPLETE_FB;
14453}
14454#[repr(C)]
14455#[derive(Copy, Clone, Debug)]
14456#[doc = "See [XrSpaceShareInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceShareInfoFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
14457pub struct SpaceShareInfoFB {
14458 pub ty: StructureType,
14459 pub next: *const c_void,
14460 pub space_count: u32,
14461 pub spaces: *mut Space,
14462 pub user_count: u32,
14463 pub users: *mut SpaceUserFB,
14464}
14465impl SpaceShareInfoFB {
14466 pub const TYPE: StructureType = StructureType::SPACE_SHARE_INFO_FB;
14467}
14468#[repr(C)]
14469#[derive(Copy, Clone, Debug)]
14470#[doc = "See [XrEventDataSpaceShareCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceShareCompleteFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
14471pub struct EventDataSpaceShareCompleteFB {
14472 pub ty: StructureType,
14473 pub next: *const c_void,
14474 pub request_id: AsyncRequestIdFB,
14475 pub result: Result,
14476}
14477impl EventDataSpaceShareCompleteFB {
14478 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_SHARE_COMPLETE_FB;
14479}
14480#[repr(C)]
14481#[derive(Copy, Clone, Debug)]
14482#[doc = "See [XrSpaceListSaveInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceListSaveInfoFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
14483pub struct SpaceListSaveInfoFB {
14484 pub ty: StructureType,
14485 pub next: *const c_void,
14486 pub space_count: u32,
14487 pub spaces: *mut Space,
14488 pub location: SpaceStorageLocationFB,
14489}
14490impl SpaceListSaveInfoFB {
14491 pub const TYPE: StructureType = StructureType::SPACE_LIST_SAVE_INFO_FB;
14492}
14493#[repr(C)]
14494#[derive(Copy, Clone, Debug)]
14495#[doc = "See [XrEventDataSpaceListSaveCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceListSaveCompleteFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
14496pub struct EventDataSpaceListSaveCompleteFB {
14497 pub ty: StructureType,
14498 pub next: *const c_void,
14499 pub request_id: AsyncRequestIdFB,
14500 pub result: Result,
14501}
14502impl EventDataSpaceListSaveCompleteFB {
14503 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB;
14504}
14505#[repr(C)]
14506#[derive(Copy, Clone, Debug)]
14507#[doc = "See [XrSpaceContainerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceContainerFB) - defined by [XR_FB_spatial_entity_container](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_container)"]
14508pub struct SpaceContainerFB {
14509 pub ty: StructureType,
14510 pub next: *const c_void,
14511 pub uuid_capacity_input: u32,
14512 pub uuid_count_output: u32,
14513 pub uuids: *mut UuidEXT,
14514}
14515impl SpaceContainerFB {
14516 pub const TYPE: StructureType = StructureType::SPACE_CONTAINER_FB;
14517}
14518#[repr(C)]
14519#[derive(Copy, Clone, Debug)]
14520#[doc = "See [XrSpaceTriangleMeshGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceTriangleMeshGetInfoMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
14521pub struct SpaceTriangleMeshGetInfoMETA {
14522 pub ty: StructureType,
14523 pub next: *const c_void,
14524}
14525impl SpaceTriangleMeshGetInfoMETA {
14526 pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_GET_INFO_META;
14527}
14528#[repr(C)]
14529#[derive(Copy, Clone, Debug)]
14530#[doc = "See [XrSpaceTriangleMeshMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceTriangleMeshMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
14531pub struct SpaceTriangleMeshMETA {
14532 pub ty: StructureType,
14533 pub next: *mut c_void,
14534 pub vertex_capacity_input: u32,
14535 pub vertex_count_output: u32,
14536 pub vertices: *mut Vector3f,
14537 pub index_capacity_input: u32,
14538 pub index_count_output: u32,
14539 pub indices: *mut u32,
14540}
14541impl SpaceTriangleMeshMETA {
14542 pub const TYPE: StructureType = StructureType::SPACE_TRIANGLE_MESH_META;
14543 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14544 #[inline]
14545 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14546 let mut x = MaybeUninit::<Self>::uninit();
14547 unsafe {
14548 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14549 ty: Self::TYPE,
14550 next,
14551 });
14552 }
14553 x
14554 }
14555}
14556#[repr(C)]
14557#[derive(Copy, Clone, Debug, Default, PartialEq)]
14558#[doc = "See [XrOffset3DfFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrOffset3DfFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
14559pub struct Offset3DfFB {
14560 pub x: f32,
14561 pub y: f32,
14562 pub z: f32,
14563}
14564#[repr(C)]
14565#[derive(Copy, Clone, Debug, Default, PartialEq)]
14566#[doc = "See [XrRect3DfFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRect3DfFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
14567pub struct Rect3DfFB {
14568 pub offset: Offset3DfFB,
14569 pub extent: Extent3DfFB,
14570}
14571#[repr(C)]
14572#[derive(Copy, Clone, Debug)]
14573#[doc = "See [XrSemanticLabelsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
14574pub struct SemanticLabelsFB {
14575 pub ty: StructureType,
14576 pub next: *const c_void,
14577 pub buffer_capacity_input: u32,
14578 pub buffer_count_output: u32,
14579 pub buffer: *mut c_char,
14580}
14581impl SemanticLabelsFB {
14582 pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_FB;
14583}
14584#[repr(C)]
14585#[derive(Copy, Clone, Debug)]
14586#[doc = "See [XrRoomLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRoomLayoutFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
14587pub struct RoomLayoutFB {
14588 pub ty: StructureType,
14589 pub next: *const c_void,
14590 pub floor_uuid: UuidEXT,
14591 pub ceiling_uuid: UuidEXT,
14592 pub wall_uuid_capacity_input: u32,
14593 pub wall_uuid_count_output: u32,
14594 pub wall_uuids: *mut UuidEXT,
14595}
14596impl RoomLayoutFB {
14597 pub const TYPE: StructureType = StructureType::ROOM_LAYOUT_FB;
14598}
14599#[repr(C)]
14600#[derive(Copy, Clone, Debug)]
14601#[doc = "See [XrBoundary2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoundary2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
14602pub struct Boundary2DFB {
14603 pub ty: StructureType,
14604 pub next: *const c_void,
14605 pub vertex_capacity_input: u32,
14606 pub vertex_count_output: u32,
14607 pub vertices: *mut Vector2f,
14608}
14609impl Boundary2DFB {
14610 pub const TYPE: StructureType = StructureType::BOUNDARY_2D_FB;
14611}
14612#[repr(C)]
14613#[derive(Copy, Clone, Debug)]
14614#[doc = "See [XrSemanticLabelsSupportInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSemanticLabelsSupportInfoFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
14615pub struct SemanticLabelsSupportInfoFB {
14616 pub ty: StructureType,
14617 pub next: *const c_void,
14618 pub flags: SemanticLabelsSupportFlagsFB,
14619 pub recognized_labels: *const c_char,
14620}
14621impl SemanticLabelsSupportInfoFB {
14622 pub const TYPE: StructureType = StructureType::SEMANTIC_LABELS_SUPPORT_INFO_FB;
14623}
14624#[repr(C)]
14625#[derive(Copy, Clone, Debug)]
14626#[doc = "See [XrSceneCaptureRequestInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneCaptureRequestInfoFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
14627pub struct SceneCaptureRequestInfoFB {
14628 pub ty: StructureType,
14629 pub next: *const c_void,
14630 pub request_byte_count: u32,
14631 pub request: *const c_char,
14632}
14633impl SceneCaptureRequestInfoFB {
14634 pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_REQUEST_INFO_FB;
14635}
14636#[repr(C)]
14637#[derive(Copy, Clone, Debug)]
14638#[doc = "See [XrEventDataSceneCaptureCompleteFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSceneCaptureCompleteFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
14639pub struct EventDataSceneCaptureCompleteFB {
14640 pub ty: StructureType,
14641 pub next: *const c_void,
14642 pub request_id: AsyncRequestIdFB,
14643 pub result: Result,
14644}
14645impl EventDataSceneCaptureCompleteFB {
14646 pub const TYPE: StructureType = StructureType::EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB;
14647}
14648#[repr(C)]
14649#[derive(Copy, Clone, Debug)]
14650#[doc = "See [XrSystemKeyboardTrackingPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemKeyboardTrackingPropertiesFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
14651pub struct SystemKeyboardTrackingPropertiesFB {
14652 pub ty: StructureType,
14653 pub next: *mut c_void,
14654 pub supports_keyboard_tracking: Bool32,
14655}
14656impl SystemKeyboardTrackingPropertiesFB {
14657 pub const TYPE: StructureType = StructureType::SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB;
14658 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14659 #[inline]
14660 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14661 let mut x = MaybeUninit::<Self>::uninit();
14662 unsafe {
14663 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14664 ty: Self::TYPE,
14665 next,
14666 });
14667 }
14668 x
14669 }
14670}
14671#[repr(C)]
14672#[derive(Copy, Clone, Debug)]
14673#[doc = "See [XrKeyboardTrackingDescriptionFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingDescriptionFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
14674pub struct KeyboardTrackingDescriptionFB {
14675 pub tracked_keyboard_id: u64,
14676 pub size: Vector3f,
14677 pub flags: KeyboardTrackingFlagsFB,
14678 pub name: [c_char; MAX_KEYBOARD_TRACKING_NAME_SIZE_FB],
14679}
14680#[repr(C)]
14681#[derive(Copy, Clone, Debug)]
14682#[doc = "See [XrKeyboardSpaceCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardSpaceCreateInfoFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
14683pub struct KeyboardSpaceCreateInfoFB {
14684 pub ty: StructureType,
14685 pub next: *mut c_void,
14686 pub tracked_keyboard_id: u64,
14687}
14688impl KeyboardSpaceCreateInfoFB {
14689 pub const TYPE: StructureType = StructureType::KEYBOARD_SPACE_CREATE_INFO_FB;
14690 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14691 #[inline]
14692 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14693 let mut x = MaybeUninit::<Self>::uninit();
14694 unsafe {
14695 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14696 ty: Self::TYPE,
14697 next,
14698 });
14699 }
14700 x
14701 }
14702}
14703#[repr(C)]
14704#[derive(Copy, Clone, Debug)]
14705#[doc = "See [XrKeyboardTrackingQueryFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrKeyboardTrackingQueryFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
14706pub struct KeyboardTrackingQueryFB {
14707 pub ty: StructureType,
14708 pub next: *mut c_void,
14709 pub flags: KeyboardTrackingQueryFlagsFB,
14710}
14711impl KeyboardTrackingQueryFB {
14712 pub const TYPE: StructureType = StructureType::KEYBOARD_TRACKING_QUERY_FB;
14713 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14714 #[inline]
14715 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14716 let mut x = MaybeUninit::<Self>::uninit();
14717 unsafe {
14718 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14719 ty: Self::TYPE,
14720 next,
14721 });
14722 }
14723 x
14724 }
14725}
14726#[repr(C)]
14727#[derive(Copy, Clone, Debug)]
14728#[doc = "See [XrSystemColocationDiscoveryPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemColocationDiscoveryPropertiesMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14729pub struct SystemColocationDiscoveryPropertiesMETA {
14730 pub ty: StructureType,
14731 pub next: *mut c_void,
14732 pub supports_colocation_discovery: Bool32,
14733}
14734impl SystemColocationDiscoveryPropertiesMETA {
14735 pub const TYPE: StructureType = StructureType::SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META;
14736 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14737 #[inline]
14738 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14739 let mut x = MaybeUninit::<Self>::uninit();
14740 unsafe {
14741 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14742 ty: Self::TYPE,
14743 next,
14744 });
14745 }
14746 x
14747 }
14748}
14749#[repr(C)]
14750#[derive(Copy, Clone, Debug)]
14751#[doc = "See [XrColocationAdvertisementStartInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationAdvertisementStartInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14752pub struct ColocationAdvertisementStartInfoMETA {
14753 pub ty: StructureType,
14754 pub next: *const c_void,
14755 pub buffer_size: u32,
14756 pub buffer: *mut u8,
14757}
14758impl ColocationAdvertisementStartInfoMETA {
14759 pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_START_INFO_META;
14760}
14761#[repr(C)]
14762#[derive(Copy, Clone, Debug)]
14763#[doc = "See [XrColocationAdvertisementStopInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationAdvertisementStopInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14764pub struct ColocationAdvertisementStopInfoMETA {
14765 pub ty: StructureType,
14766 pub next: *const c_void,
14767}
14768impl ColocationAdvertisementStopInfoMETA {
14769 pub const TYPE: StructureType = StructureType::COLOCATION_ADVERTISEMENT_STOP_INFO_META;
14770}
14771#[repr(C)]
14772#[derive(Copy, Clone, Debug)]
14773#[doc = "See [XrColocationDiscoveryStartInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationDiscoveryStartInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14774pub struct ColocationDiscoveryStartInfoMETA {
14775 pub ty: StructureType,
14776 pub next: *const c_void,
14777}
14778impl ColocationDiscoveryStartInfoMETA {
14779 pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_START_INFO_META;
14780}
14781#[repr(C)]
14782#[derive(Copy, Clone, Debug)]
14783#[doc = "See [XrColocationDiscoveryStopInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColocationDiscoveryStopInfoMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14784pub struct ColocationDiscoveryStopInfoMETA {
14785 pub ty: StructureType,
14786 pub next: *const c_void,
14787}
14788impl ColocationDiscoveryStopInfoMETA {
14789 pub const TYPE: StructureType = StructureType::COLOCATION_DISCOVERY_STOP_INFO_META;
14790}
14791#[repr(C)]
14792#[derive(Copy, Clone, Debug)]
14793#[doc = "See [XrEventDataStartColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStartColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14794pub struct EventDataStartColocationAdvertisementCompleteMETA {
14795 pub ty: StructureType,
14796 pub next: *const c_void,
14797 pub advertisement_request_id: AsyncRequestIdFB,
14798 pub result: Result,
14799 pub advertisement_uuid: Uuid,
14800}
14801impl EventDataStartColocationAdvertisementCompleteMETA {
14802 pub const TYPE: StructureType =
14803 StructureType::EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META;
14804}
14805#[repr(C)]
14806#[derive(Copy, Clone, Debug)]
14807#[doc = "See [XrEventDataColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14808pub struct EventDataColocationAdvertisementCompleteMETA {
14809 pub ty: StructureType,
14810 pub next: *const c_void,
14811 pub advertisement_request_id: AsyncRequestIdFB,
14812 pub result: Result,
14813}
14814impl EventDataColocationAdvertisementCompleteMETA {
14815 pub const TYPE: StructureType =
14816 StructureType::EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META;
14817}
14818#[repr(C)]
14819#[derive(Copy, Clone, Debug)]
14820#[doc = "See [XrEventDataStopColocationAdvertisementCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStopColocationAdvertisementCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14821pub struct EventDataStopColocationAdvertisementCompleteMETA {
14822 pub ty: StructureType,
14823 pub next: *const c_void,
14824 pub request_id: AsyncRequestIdFB,
14825 pub result: Result,
14826}
14827impl EventDataStopColocationAdvertisementCompleteMETA {
14828 pub const TYPE: StructureType =
14829 StructureType::EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META;
14830}
14831#[repr(C)]
14832#[derive(Copy, Clone, Debug)]
14833#[doc = "See [XrEventDataStartColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStartColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14834pub struct EventDataStartColocationDiscoveryCompleteMETA {
14835 pub ty: StructureType,
14836 pub next: *const c_void,
14837 pub discovery_request_id: AsyncRequestIdFB,
14838 pub result: Result,
14839}
14840impl EventDataStartColocationDiscoveryCompleteMETA {
14841 pub const TYPE: StructureType =
14842 StructureType::EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META;
14843}
14844#[repr(C)]
14845#[derive(Copy, Clone, Debug)]
14846#[doc = "See [XrEventDataColocationDiscoveryResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationDiscoveryResultMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14847pub struct EventDataColocationDiscoveryResultMETA {
14848 pub ty: StructureType,
14849 pub next: *const c_void,
14850 pub discovery_request_id: AsyncRequestIdFB,
14851 pub advertisement_uuid: Uuid,
14852 pub buffer_size: u32,
14853 pub buffer: [u8; MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META],
14854}
14855impl EventDataColocationDiscoveryResultMETA {
14856 pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META;
14857}
14858#[repr(C)]
14859#[derive(Copy, Clone, Debug)]
14860#[doc = "See [XrEventDataColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14861pub struct EventDataColocationDiscoveryCompleteMETA {
14862 pub ty: StructureType,
14863 pub next: *const c_void,
14864 pub discovery_request_id: AsyncRequestIdFB,
14865 pub result: Result,
14866}
14867impl EventDataColocationDiscoveryCompleteMETA {
14868 pub const TYPE: StructureType = StructureType::EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META;
14869}
14870#[repr(C)]
14871#[derive(Copy, Clone, Debug)]
14872#[doc = "See [XrEventDataStopColocationDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataStopColocationDiscoveryCompleteMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
14873pub struct EventDataStopColocationDiscoveryCompleteMETA {
14874 pub ty: StructureType,
14875 pub next: *const c_void,
14876 pub request_id: AsyncRequestIdFB,
14877 pub result: Result,
14878}
14879impl EventDataStopColocationDiscoveryCompleteMETA {
14880 pub const TYPE: StructureType =
14881 StructureType::EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META;
14882}
14883#[repr(C)]
14884#[derive(Copy, Clone, Debug)]
14885#[doc = "See [XrSystemSpatialEntitySharingPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntitySharingPropertiesMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
14886pub struct SystemSpatialEntitySharingPropertiesMETA {
14887 pub ty: StructureType,
14888 pub next: *mut c_void,
14889 pub supports_spatial_entity_sharing: Bool32,
14890}
14891impl SystemSpatialEntitySharingPropertiesMETA {
14892 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META;
14893 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14894 #[inline]
14895 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14896 let mut x = MaybeUninit::<Self>::uninit();
14897 unsafe {
14898 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14899 ty: Self::TYPE,
14900 next,
14901 });
14902 }
14903 x
14904 }
14905}
14906#[repr(C)]
14907#[derive(Copy, Clone, Debug)]
14908#[doc = "See [XrShareSpacesRecipientBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesRecipientBaseHeaderMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
14909pub struct ShareSpacesRecipientBaseHeaderMETA {
14910 pub ty: StructureType,
14911 pub next: *const c_void,
14912}
14913#[repr(C)]
14914#[derive(Copy, Clone, Debug)]
14915#[doc = "See [XrShareSpacesInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesInfoMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
14916pub struct ShareSpacesInfoMETA {
14917 pub ty: StructureType,
14918 pub next: *const c_void,
14919 pub space_count: u32,
14920 pub spaces: *mut Space,
14921 pub recipient_info: *const ShareSpacesRecipientBaseHeaderMETA,
14922}
14923impl ShareSpacesInfoMETA {
14924 pub const TYPE: StructureType = StructureType::SHARE_SPACES_INFO_META;
14925}
14926#[repr(C)]
14927#[derive(Copy, Clone, Debug)]
14928#[doc = "See [XrEventDataShareSpacesCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataShareSpacesCompleteMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
14929pub struct EventDataShareSpacesCompleteMETA {
14930 pub ty: StructureType,
14931 pub next: *const c_void,
14932 pub request_id: AsyncRequestIdFB,
14933 pub result: Result,
14934}
14935impl EventDataShareSpacesCompleteMETA {
14936 pub const TYPE: StructureType = StructureType::EVENT_DATA_SHARE_SPACES_COMPLETE_META;
14937}
14938#[repr(C)]
14939#[derive(Copy, Clone, Debug)]
14940#[doc = "See [XrShareSpacesRecipientGroupsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrShareSpacesRecipientGroupsMETA)"]
14941pub struct ShareSpacesRecipientGroupsMETA {
14942 pub ty: StructureType,
14943 pub next: *const c_void,
14944 pub group_count: u32,
14945 pub groups: *mut Uuid,
14946}
14947impl ShareSpacesRecipientGroupsMETA {
14948 pub const TYPE: StructureType = StructureType::SHARE_SPACES_RECIPIENT_GROUPS_META;
14949}
14950#[repr(C)]
14951#[derive(Copy, Clone, Debug)]
14952#[doc = "See [XrSpaceGroupUuidFilterInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceGroupUuidFilterInfoMETA)"]
14953pub struct SpaceGroupUuidFilterInfoMETA {
14954 pub ty: StructureType,
14955 pub next: *const c_void,
14956 pub group_uuid: Uuid,
14957}
14958impl SpaceGroupUuidFilterInfoMETA {
14959 pub const TYPE: StructureType = StructureType::SPACE_GROUP_UUID_FILTER_INFO_META;
14960}
14961#[repr(C)]
14962#[derive(Copy, Clone, Debug)]
14963#[doc = "See [XrSystemSpatialEntityGroupSharingPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialEntityGroupSharingPropertiesMETA) - defined by [XR_META_spatial_entity_group_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_group_sharing)"]
14964pub struct SystemSpatialEntityGroupSharingPropertiesMETA {
14965 pub ty: StructureType,
14966 pub next: *mut c_void,
14967 pub supports_spatial_entity_group_sharing: Bool32,
14968}
14969impl SystemSpatialEntityGroupSharingPropertiesMETA {
14970 pub const TYPE: StructureType =
14971 StructureType::SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META;
14972 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
14973 #[inline]
14974 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
14975 let mut x = MaybeUninit::<Self>::uninit();
14976 unsafe {
14977 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
14978 ty: Self::TYPE,
14979 next,
14980 });
14981 }
14982 x
14983 }
14984}
14985#[repr(C)]
14986#[derive(Copy, Clone, Debug)]
14987#[doc = "See [XrCompositionLayerDepthTestVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthTestVARJO) - defined by [XR_VARJO_composition_layer_depth_test](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_composition_layer_depth_test)"]
14988pub struct CompositionLayerDepthTestVARJO {
14989 pub ty: StructureType,
14990 pub next: *const c_void,
14991 pub depth_test_range_near_z: f32,
14992 pub depth_test_range_far_z: f32,
14993}
14994impl CompositionLayerDepthTestVARJO {
14995 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_VARJO;
14996}
14997#[repr(C)]
14998#[derive(Copy, Clone, Debug)]
14999#[doc = "See [XrViewLocateFoveatedRenderingVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViewLocateFoveatedRenderingVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
15000pub struct ViewLocateFoveatedRenderingVARJO {
15001 pub ty: StructureType,
15002 pub next: *const c_void,
15003 pub foveated_rendering_active: Bool32,
15004}
15005impl ViewLocateFoveatedRenderingVARJO {
15006 pub const TYPE: StructureType = StructureType::VIEW_LOCATE_FOVEATED_RENDERING_VARJO;
15007}
15008#[repr(C)]
15009#[derive(Copy, Clone, Debug)]
15010#[doc = "See [XrFoveatedViewConfigurationViewVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveatedViewConfigurationViewVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
15011pub struct FoveatedViewConfigurationViewVARJO {
15012 pub ty: StructureType,
15013 pub next: *mut c_void,
15014 pub foveated_rendering_active: Bool32,
15015}
15016impl FoveatedViewConfigurationViewVARJO {
15017 pub const TYPE: StructureType = StructureType::FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO;
15018 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15019 #[inline]
15020 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15021 let mut x = MaybeUninit::<Self>::uninit();
15022 unsafe {
15023 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15024 ty: Self::TYPE,
15025 next,
15026 });
15027 }
15028 x
15029 }
15030}
15031#[repr(C)]
15032#[derive(Copy, Clone, Debug)]
15033#[doc = "See [XrSystemFoveatedRenderingPropertiesVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFoveatedRenderingPropertiesVARJO) - defined by [XR_VARJO_foveated_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_foveated_rendering)"]
15034pub struct SystemFoveatedRenderingPropertiesVARJO {
15035 pub ty: StructureType,
15036 pub next: *mut c_void,
15037 pub supports_foveated_rendering: Bool32,
15038}
15039impl SystemFoveatedRenderingPropertiesVARJO {
15040 pub const TYPE: StructureType = StructureType::SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO;
15041 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15042 #[inline]
15043 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15044 let mut x = MaybeUninit::<Self>::uninit();
15045 unsafe {
15046 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15047 ty: Self::TYPE,
15048 next,
15049 });
15050 }
15051 x
15052 }
15053}
15054#[repr(C)]
15055#[derive(Copy, Clone, Debug)]
15056#[doc = "See [XrCompositionLayerReprojectionInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerReprojectionInfoMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
15057pub struct CompositionLayerReprojectionInfoMSFT {
15058 pub ty: StructureType,
15059 pub next: *const c_void,
15060 pub reprojection_mode: ReprojectionModeMSFT,
15061}
15062impl CompositionLayerReprojectionInfoMSFT {
15063 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_REPROJECTION_INFO_MSFT;
15064}
15065#[repr(C)]
15066#[derive(Copy, Clone, Debug)]
15067#[doc = "See [XrCompositionLayerReprojectionPlaneOverrideMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerReprojectionPlaneOverrideMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
15068pub struct CompositionLayerReprojectionPlaneOverrideMSFT {
15069 pub ty: StructureType,
15070 pub next: *const c_void,
15071 pub position: Vector3f,
15072 pub normal: Vector3f,
15073 pub velocity: Vector3f,
15074}
15075impl CompositionLayerReprojectionPlaneOverrideMSFT {
15076 pub const TYPE: StructureType =
15077 StructureType::COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT;
15078}
15079#[repr(C)]
15080#[derive(Copy, Clone, Debug)]
15081#[doc = "See [XrTriangleMeshCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTriangleMeshCreateInfoFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
15082pub struct TriangleMeshCreateInfoFB {
15083 pub ty: StructureType,
15084 pub next: *const c_void,
15085 pub flags: TriangleMeshFlagsFB,
15086 pub winding_order: WindingOrderFB,
15087 pub vertex_count: u32,
15088 pub vertex_buffer: *const Vector3f,
15089 pub triangle_count: u32,
15090 pub index_buffer: *const u32,
15091}
15092impl TriangleMeshCreateInfoFB {
15093 pub const TYPE: StructureType = StructureType::TRIANGLE_MESH_CREATE_INFO_FB;
15094}
15095#[repr(C)]
15096#[derive(Copy, Clone, Debug)]
15097#[doc = "See [XrSystemPassthroughPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughPropertiesFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15098pub struct SystemPassthroughPropertiesFB {
15099 pub ty: StructureType,
15100 pub next: *const c_void,
15101 pub supports_passthrough: Bool32,
15102}
15103impl SystemPassthroughPropertiesFB {
15104 pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES_FB;
15105}
15106#[repr(C)]
15107#[derive(Copy, Clone, Debug)]
15108#[doc = "See [XrSystemPassthroughProperties2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughProperties2FB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15109pub struct SystemPassthroughProperties2FB {
15110 pub ty: StructureType,
15111 pub next: *const c_void,
15112 pub capabilities: PassthroughCapabilityFlagsFB,
15113}
15114impl SystemPassthroughProperties2FB {
15115 pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_PROPERTIES2_FB;
15116}
15117#[repr(C)]
15118#[derive(Copy, Clone, Debug)]
15119#[doc = "See [XrPassthroughCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15120pub struct PassthroughCreateInfoFB {
15121 pub ty: StructureType,
15122 pub next: *const c_void,
15123 pub flags: PassthroughFlagsFB,
15124}
15125impl PassthroughCreateInfoFB {
15126 pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_FB;
15127}
15128#[repr(C)]
15129#[derive(Copy, Clone, Debug)]
15130#[doc = "See [XrPassthroughLayerCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15131pub struct PassthroughLayerCreateInfoFB {
15132 pub ty: StructureType,
15133 pub next: *const c_void,
15134 pub passthrough: PassthroughFB,
15135 pub flags: PassthroughFlagsFB,
15136 pub purpose: PassthroughLayerPurposeFB,
15137}
15138impl PassthroughLayerCreateInfoFB {
15139 pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_CREATE_INFO_FB;
15140}
15141#[repr(C)]
15142#[derive(Copy, Clone, Debug)]
15143#[doc = "See [XrCompositionLayerPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15144pub struct CompositionLayerPassthroughFB {
15145 pub ty: StructureType,
15146 pub next: *const c_void,
15147 pub flags: CompositionLayerFlags,
15148 pub space: Space,
15149 pub layer_handle: PassthroughLayerFB,
15150}
15151impl CompositionLayerPassthroughFB {
15152 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_FB;
15153}
15154#[repr(C)]
15155#[derive(Copy, Clone, Debug)]
15156#[doc = "See [XrGeometryInstanceCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceCreateInfoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15157pub struct GeometryInstanceCreateInfoFB {
15158 pub ty: StructureType,
15159 pub next: *const c_void,
15160 pub layer: PassthroughLayerFB,
15161 pub mesh: TriangleMeshFB,
15162 pub base_space: Space,
15163 pub pose: Posef,
15164 pub scale: Vector3f,
15165}
15166impl GeometryInstanceCreateInfoFB {
15167 pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_CREATE_INFO_FB;
15168}
15169#[repr(C)]
15170#[derive(Copy, Clone, Debug)]
15171#[doc = "See [XrGeometryInstanceTransformFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGeometryInstanceTransformFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15172pub struct GeometryInstanceTransformFB {
15173 pub ty: StructureType,
15174 pub next: *const c_void,
15175 pub base_space: Space,
15176 pub time: Time,
15177 pub pose: Posef,
15178 pub scale: Vector3f,
15179}
15180impl GeometryInstanceTransformFB {
15181 pub const TYPE: StructureType = StructureType::GEOMETRY_INSTANCE_TRANSFORM_FB;
15182}
15183#[repr(C)]
15184#[derive(Copy, Clone, Debug)]
15185#[doc = "See [XrPassthroughStyleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughStyleFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15186pub struct PassthroughStyleFB {
15187 pub ty: StructureType,
15188 pub next: *const c_void,
15189 pub texture_opacity_factor: f32,
15190 pub edge_color: Color4f,
15191}
15192impl PassthroughStyleFB {
15193 pub const TYPE: StructureType = StructureType::PASSTHROUGH_STYLE_FB;
15194}
15195#[repr(C)]
15196#[derive(Copy, Clone, Debug)]
15197#[doc = "See [XrPassthroughColorMapMonoToRgbaFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapMonoToRgbaFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15198pub struct PassthroughColorMapMonoToRgbaFB {
15199 pub ty: StructureType,
15200 pub next: *const c_void,
15201 pub texture_color_map: [Color4f; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
15202}
15203impl PassthroughColorMapMonoToRgbaFB {
15204 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB;
15205}
15206#[repr(C)]
15207#[derive(Copy, Clone, Debug)]
15208#[doc = "See [XrPassthroughColorMapMonoToMonoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapMonoToMonoFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15209pub struct PassthroughColorMapMonoToMonoFB {
15210 pub ty: StructureType,
15211 pub next: *const c_void,
15212 pub texture_color_map: [u8; PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB],
15213}
15214impl PassthroughColorMapMonoToMonoFB {
15215 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB;
15216}
15217#[repr(C)]
15218#[derive(Copy, Clone, Debug)]
15219#[doc = "See [XrPassthroughBrightnessContrastSaturationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughBrightnessContrastSaturationFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15220pub struct PassthroughBrightnessContrastSaturationFB {
15221 pub ty: StructureType,
15222 pub next: *const c_void,
15223 pub brightness: f32,
15224 pub contrast: f32,
15225 pub saturation: f32,
15226}
15227impl PassthroughBrightnessContrastSaturationFB {
15228 pub const TYPE: StructureType = StructureType::PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB;
15229}
15230#[repr(C)]
15231#[derive(Copy, Clone, Debug)]
15232#[doc = "See [XrEventDataPassthroughStateChangedFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPassthroughStateChangedFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
15233pub struct EventDataPassthroughStateChangedFB {
15234 pub ty: StructureType,
15235 pub next: *const c_void,
15236 pub flags: PassthroughStateChangedFlagsFB,
15237}
15238impl EventDataPassthroughStateChangedFB {
15239 pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB;
15240}
15241#[repr(C)]
15242#[derive(Copy, Clone, Debug)]
15243#[doc = "See [XrPassthroughKeyboardHandsIntensityFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughKeyboardHandsIntensityFB) - defined by [XR_FB_passthrough_keyboard_hands](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough_keyboard_hands)"]
15244pub struct PassthroughKeyboardHandsIntensityFB {
15245 pub ty: StructureType,
15246 pub next: *const c_void,
15247 pub left_hand_intensity: f32,
15248 pub right_hand_intensity: f32,
15249}
15250impl PassthroughKeyboardHandsIntensityFB {
15251 pub const TYPE: StructureType = StructureType::PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB;
15252}
15253#[repr(C)]
15254#[derive(Copy, Clone, Debug)]
15255#[doc = "See [XrLocalDimmingFrameEndInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalDimmingFrameEndInfoMETA) - defined by [XR_META_local_dimming](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_local_dimming)"]
15256pub struct LocalDimmingFrameEndInfoMETA {
15257 pub ty: StructureType,
15258 pub next: *const c_void,
15259 pub local_dimming_mode: LocalDimmingModeMETA,
15260}
15261impl LocalDimmingFrameEndInfoMETA {
15262 pub const TYPE: StructureType = StructureType::LOCAL_DIMMING_FRAME_END_INFO_META;
15263}
15264#[repr(C)]
15265#[derive(Copy, Clone, Debug)]
15266#[doc = "See [XrSpatialAnchorPersistenceNameMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistenceNameMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
15267pub struct SpatialAnchorPersistenceNameMSFT {
15268 pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT],
15269}
15270#[repr(C)]
15271#[derive(Copy, Clone, Debug)]
15272#[doc = "See [XrSpatialAnchorPersistenceInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistenceInfoMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
15273pub struct SpatialAnchorPersistenceInfoMSFT {
15274 pub ty: StructureType,
15275 pub next: *const c_void,
15276 pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
15277 pub spatial_anchor: SpatialAnchorMSFT,
15278}
15279impl SpatialAnchorPersistenceInfoMSFT {
15280 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT;
15281}
15282#[repr(C)]
15283#[derive(Copy, Clone, Debug)]
15284#[doc = "See [XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
15285pub struct SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
15286 pub ty: StructureType,
15287 pub next: *const c_void,
15288 pub spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
15289 pub spatial_anchor_persistence_name: SpatialAnchorPersistenceNameMSFT,
15290}
15291impl SpatialAnchorFromPersistedAnchorCreateInfoMSFT {
15292 pub const TYPE: StructureType =
15293 StructureType::SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT;
15294}
15295#[repr(C)]
15296#[derive(Copy, Clone, Debug)]
15297#[doc = "See [XrSystemBodyTrackingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
15298pub struct SystemBodyTrackingPropertiesBD {
15299 pub ty: StructureType,
15300 pub next: *mut c_void,
15301 pub supports_body_tracking: Bool32,
15302}
15303impl SystemBodyTrackingPropertiesBD {
15304 pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_BD;
15305 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15306 #[inline]
15307 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15308 let mut x = MaybeUninit::<Self>::uninit();
15309 unsafe {
15310 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15311 ty: Self::TYPE,
15312 next,
15313 });
15314 }
15315 x
15316 }
15317}
15318#[repr(C)]
15319#[derive(Copy, Clone, Debug)]
15320#[doc = "See [XrBodyTrackerCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
15321pub struct BodyTrackerCreateInfoBD {
15322 pub ty: StructureType,
15323 pub next: *const c_void,
15324 pub joint_set: BodyJointSetBD,
15325}
15326impl BodyTrackerCreateInfoBD {
15327 pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_BD;
15328}
15329#[repr(C)]
15330#[derive(Copy, Clone, Debug)]
15331#[doc = "See [XrBodyJointsLocateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
15332pub struct BodyJointsLocateInfoBD {
15333 pub ty: StructureType,
15334 pub next: *const c_void,
15335 pub base_space: Space,
15336 pub time: Time,
15337}
15338impl BodyJointsLocateInfoBD {
15339 pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_BD;
15340}
15341#[repr(C)]
15342#[derive(Copy, Clone, Debug, Default, PartialEq)]
15343#[doc = "See [XrBodyJointLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
15344pub struct BodyJointLocationBD {
15345 pub location_flags: SpaceLocationFlags,
15346 pub pose: Posef,
15347}
15348#[repr(C)]
15349#[derive(Copy, Clone, Debug)]
15350#[doc = "See [XrBodyJointLocationsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
15351pub struct BodyJointLocationsBD {
15352 pub ty: StructureType,
15353 pub next: *mut c_void,
15354 pub all_joint_poses_tracked: Bool32,
15355 pub joint_location_count: u32,
15356 pub joint_locations: *mut BodyJointLocationBD,
15357}
15358impl BodyJointLocationsBD {
15359 pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_BD;
15360 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15361 #[inline]
15362 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15363 let mut x = MaybeUninit::<Self>::uninit();
15364 unsafe {
15365 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15366 ty: Self::TYPE,
15367 next,
15368 });
15369 }
15370 x
15371 }
15372}
15373#[repr(C)]
15374#[derive(Copy, Clone, Debug)]
15375#[doc = "See [XrFuturePollResultProgressBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollResultProgressBD) - defined by [XR_BD_future_progress](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_future_progress)"]
15376pub struct FuturePollResultProgressBD {
15377 pub ty: StructureType,
15378 pub next: *mut c_void,
15379 pub is_supported: Bool32,
15380 pub progress_percentage: u32,
15381}
15382impl FuturePollResultProgressBD {
15383 pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_PROGRESS_BD;
15384 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15385 #[inline]
15386 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15387 let mut x = MaybeUninit::<Self>::uninit();
15388 unsafe {
15389 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15390 ty: Self::TYPE,
15391 next,
15392 });
15393 }
15394 x
15395 }
15396}
15397#[repr(C)]
15398#[derive(Copy, Clone, Debug)]
15399#[doc = "See [XrFacialTrackerCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialTrackerCreateInfoHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
15400pub struct FacialTrackerCreateInfoHTC {
15401 pub ty: StructureType,
15402 pub next: *const c_void,
15403 pub facial_tracking_type: FacialTrackingTypeHTC,
15404}
15405impl FacialTrackerCreateInfoHTC {
15406 pub const TYPE: StructureType = StructureType::FACIAL_TRACKER_CREATE_INFO_HTC;
15407}
15408#[repr(C)]
15409#[derive(Copy, Clone, Debug)]
15410#[doc = "See [XrSystemFacialTrackingPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialTrackingPropertiesHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
15411pub struct SystemFacialTrackingPropertiesHTC {
15412 pub ty: StructureType,
15413 pub next: *mut c_void,
15414 pub support_eye_facial_tracking: Bool32,
15415 pub support_lip_facial_tracking: Bool32,
15416}
15417impl SystemFacialTrackingPropertiesHTC {
15418 pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC;
15419 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15420 #[inline]
15421 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15422 let mut x = MaybeUninit::<Self>::uninit();
15423 unsafe {
15424 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15425 ty: Self::TYPE,
15426 next,
15427 });
15428 }
15429 x
15430 }
15431}
15432#[repr(C)]
15433#[derive(Copy, Clone, Debug)]
15434#[doc = "See [XrFacialExpressionsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionsHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
15435pub struct FacialExpressionsHTC {
15436 pub ty: StructureType,
15437 pub next: *const c_void,
15438 pub is_active: Bool32,
15439 pub sample_time: Time,
15440 pub expression_count: u32,
15441 pub expression_weightings: *mut f32,
15442}
15443impl FacialExpressionsHTC {
15444 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSIONS_HTC;
15445}
15446#[repr(C)]
15447#[derive(Copy, Clone, Debug)]
15448#[doc = "See [XrPassthroughCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCreateInfoHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
15449pub struct PassthroughCreateInfoHTC {
15450 pub ty: StructureType,
15451 pub next: *const c_void,
15452 pub form: PassthroughFormHTC,
15453}
15454impl PassthroughCreateInfoHTC {
15455 pub const TYPE: StructureType = StructureType::PASSTHROUGH_CREATE_INFO_HTC;
15456}
15457#[repr(C)]
15458#[derive(Copy, Clone, Debug)]
15459#[doc = "See [XrPassthroughColorHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
15460pub struct PassthroughColorHTC {
15461 pub ty: StructureType,
15462 pub next: *const c_void,
15463 pub alpha: f32,
15464}
15465impl PassthroughColorHTC {
15466 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_HTC;
15467}
15468#[repr(C)]
15469#[derive(Copy, Clone, Debug)]
15470#[doc = "See [XrPassthroughMeshTransformInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughMeshTransformInfoHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
15471pub struct PassthroughMeshTransformInfoHTC {
15472 pub ty: StructureType,
15473 pub next: *const c_void,
15474 pub vertex_count: u32,
15475 pub vertices: *const Vector3f,
15476 pub index_count: u32,
15477 pub indices: *const u32,
15478 pub base_space: Space,
15479 pub time: Time,
15480 pub pose: Posef,
15481 pub scale: Vector3f,
15482}
15483impl PassthroughMeshTransformInfoHTC {
15484 pub const TYPE: StructureType = StructureType::PASSTHROUGH_MESH_TRANSFORM_INFO_HTC;
15485}
15486#[repr(C)]
15487#[derive(Copy, Clone, Debug)]
15488#[doc = "See [XrCompositionLayerPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
15489pub struct CompositionLayerPassthroughHTC {
15490 pub ty: StructureType,
15491 pub next: *const c_void,
15492 pub layer_flags: CompositionLayerFlags,
15493 pub space: Space,
15494 pub passthrough: PassthroughHTC,
15495 pub color: PassthroughColorHTC,
15496}
15497impl CompositionLayerPassthroughHTC {
15498 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_HTC;
15499}
15500#[repr(C)]
15501#[derive(Copy, Clone, Debug)]
15502#[doc = "See [XrSpatialAnchorCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
15503pub struct SpatialAnchorCreateInfoHTC {
15504 pub ty: StructureType,
15505 pub next: *const c_void,
15506 pub space: Space,
15507 pub pose_in_space: Posef,
15508 pub name: SpatialAnchorNameHTC,
15509}
15510impl SpatialAnchorCreateInfoHTC {
15511 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_HTC;
15512}
15513#[repr(C)]
15514#[derive(Copy, Clone, Debug)]
15515#[doc = "See [XrSpatialAnchorNameHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorNameHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
15516pub struct SpatialAnchorNameHTC {
15517 pub name: [c_char; MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC],
15518}
15519#[repr(C)]
15520#[derive(Copy, Clone, Debug)]
15521#[doc = "See [XrSystemAnchorPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemAnchorPropertiesHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
15522pub struct SystemAnchorPropertiesHTC {
15523 pub ty: StructureType,
15524 pub next: *mut c_void,
15525 pub supports_anchor: Bool32,
15526}
15527impl SystemAnchorPropertiesHTC {
15528 pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_PROPERTIES_HTC;
15529 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15530 #[inline]
15531 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15532 let mut x = MaybeUninit::<Self>::uninit();
15533 unsafe {
15534 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15535 ty: Self::TYPE,
15536 next,
15537 });
15538 }
15539 x
15540 }
15541}
15542#[repr(C)]
15543#[derive(Copy, Clone, Debug)]
15544#[doc = "See [XrViveTrackerPathsHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrViveTrackerPathsHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
15545pub struct ViveTrackerPathsHTCX {
15546 pub ty: StructureType,
15547 pub next: *mut c_void,
15548 pub persistent_path: Path,
15549 pub role_path: Path,
15550}
15551impl ViveTrackerPathsHTCX {
15552 pub const TYPE: StructureType = StructureType::VIVE_TRACKER_PATHS_HTCX;
15553 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15554 #[inline]
15555 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15556 let mut x = MaybeUninit::<Self>::uninit();
15557 unsafe {
15558 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15559 ty: Self::TYPE,
15560 next,
15561 });
15562 }
15563 x
15564 }
15565}
15566#[repr(C)]
15567#[derive(Copy, Clone, Debug)]
15568#[doc = "See [XrEventDataViveTrackerConnectedHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataViveTrackerConnectedHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
15569pub struct EventDataViveTrackerConnectedHTCX {
15570 pub ty: StructureType,
15571 pub next: *const c_void,
15572 pub paths: *mut ViveTrackerPathsHTCX,
15573}
15574impl EventDataViveTrackerConnectedHTCX {
15575 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX;
15576}
15577#[repr(C)]
15578#[derive(Copy, Clone, Debug)]
15579#[doc = "See [XrSystemBodyTrackingPropertiesHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemBodyTrackingPropertiesHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
15580pub struct SystemBodyTrackingPropertiesHTC {
15581 pub ty: StructureType,
15582 pub next: *mut c_void,
15583 pub supports_body_tracking: Bool32,
15584}
15585impl SystemBodyTrackingPropertiesHTC {
15586 pub const TYPE: StructureType = StructureType::SYSTEM_BODY_TRACKING_PROPERTIES_HTC;
15587 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15588 #[inline]
15589 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15590 let mut x = MaybeUninit::<Self>::uninit();
15591 unsafe {
15592 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15593 ty: Self::TYPE,
15594 next,
15595 });
15596 }
15597 x
15598 }
15599}
15600#[repr(C)]
15601#[derive(Copy, Clone, Debug)]
15602#[doc = "See [XrBodyTrackerCreateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyTrackerCreateInfoHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
15603pub struct BodyTrackerCreateInfoHTC {
15604 pub ty: StructureType,
15605 pub next: *const c_void,
15606 pub body_joint_set: BodyJointSetHTC,
15607}
15608impl BodyTrackerCreateInfoHTC {
15609 pub const TYPE: StructureType = StructureType::BODY_TRACKER_CREATE_INFO_HTC;
15610}
15611#[repr(C)]
15612#[derive(Copy, Clone, Debug, Default, PartialEq)]
15613#[doc = "See [XrBodySkeletonJointHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonJointHTC)"]
15614pub struct BodySkeletonJointHTC {
15615 pub pose: Posef,
15616}
15617#[repr(C)]
15618#[derive(Copy, Clone, Debug)]
15619#[doc = "See [XrBodySkeletonHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodySkeletonHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
15620pub struct BodySkeletonHTC {
15621 pub ty: StructureType,
15622 pub next: *mut c_void,
15623 pub joint_count: u32,
15624 pub joints: *mut BodySkeletonJointHTC,
15625}
15626impl BodySkeletonHTC {
15627 pub const TYPE: StructureType = StructureType::BODY_SKELETON_HTC;
15628 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15629 #[inline]
15630 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15631 let mut x = MaybeUninit::<Self>::uninit();
15632 unsafe {
15633 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15634 ty: Self::TYPE,
15635 next,
15636 });
15637 }
15638 x
15639 }
15640}
15641#[repr(C)]
15642#[derive(Copy, Clone, Debug)]
15643#[doc = "See [XrBodyJointsLocateInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointsLocateInfoHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
15644pub struct BodyJointsLocateInfoHTC {
15645 pub ty: StructureType,
15646 pub next: *const c_void,
15647 pub base_space: Space,
15648 pub time: Time,
15649}
15650impl BodyJointsLocateInfoHTC {
15651 pub const TYPE: StructureType = StructureType::BODY_JOINTS_LOCATE_INFO_HTC;
15652}
15653#[repr(C)]
15654#[derive(Copy, Clone, Debug, Default, PartialEq)]
15655#[doc = "See [XrBodyJointLocationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
15656pub struct BodyJointLocationHTC {
15657 pub location_flags: SpaceLocationFlags,
15658 pub pose: Posef,
15659}
15660#[repr(C)]
15661#[derive(Copy, Clone, Debug)]
15662#[doc = "See [XrBodyJointLocationsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBodyJointLocationsHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
15663pub struct BodyJointLocationsHTC {
15664 pub ty: StructureType,
15665 pub next: *mut c_void,
15666 pub combined_location_flags: SpaceLocationFlags,
15667 pub confidence_level: BodyJointConfidenceHTC,
15668 pub joint_location_count: u32,
15669 pub joint_locations: *mut BodyJointLocationHTC,
15670 pub skeleton_generation_id: u32,
15671}
15672impl BodyJointLocationsHTC {
15673 pub const TYPE: StructureType = StructureType::BODY_JOINT_LOCATIONS_HTC;
15674 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15675 #[inline]
15676 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15677 let mut x = MaybeUninit::<Self>::uninit();
15678 unsafe {
15679 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15680 ty: Self::TYPE,
15681 next,
15682 });
15683 }
15684 x
15685 }
15686}
15687#[repr(C)]
15688#[derive(Copy, Clone, Debug)]
15689#[doc = "See [XrCompositionLayerSpaceWarpInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSpaceWarpInfoFB) - defined by [XR_FB_space_warp](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_space_warp)"]
15690pub struct CompositionLayerSpaceWarpInfoFB {
15691 pub ty: StructureType,
15692 pub next: *const c_void,
15693 pub layer_flags: CompositionLayerSpaceWarpInfoFlagsFB,
15694 pub motion_vector_sub_image: SwapchainSubImage,
15695 pub app_space_delta_pose: Posef,
15696 pub depth_sub_image: SwapchainSubImage,
15697 pub min_depth: f32,
15698 pub max_depth: f32,
15699 pub near_z: f32,
15700 pub far_z: f32,
15701}
15702impl CompositionLayerSpaceWarpInfoFB {
15703 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SPACE_WARP_INFO_FB;
15704}
15705#[repr(C)]
15706#[derive(Copy, Clone, Debug)]
15707#[doc = "See [XrSystemSpaceWarpPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpaceWarpPropertiesFB) - defined by [XR_FB_space_warp](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_space_warp)"]
15708pub struct SystemSpaceWarpPropertiesFB {
15709 pub ty: StructureType,
15710 pub next: *mut c_void,
15711 pub recommended_motion_vector_image_rect_width: u32,
15712 pub recommended_motion_vector_image_rect_height: u32,
15713}
15714impl SystemSpaceWarpPropertiesFB {
15715 pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_WARP_PROPERTIES_FB;
15716 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15717 #[inline]
15718 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15719 let mut x = MaybeUninit::<Self>::uninit();
15720 unsafe {
15721 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15722 ty: Self::TYPE,
15723 next,
15724 });
15725 }
15726 x
15727 }
15728}
15729#[repr(C)]
15730#[derive(Copy, Clone, Debug)]
15731#[doc = "See [XrSystemMarkerTrackingPropertiesVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerTrackingPropertiesVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
15732pub struct SystemMarkerTrackingPropertiesVARJO {
15733 pub ty: StructureType,
15734 pub next: *mut c_void,
15735 pub supports_marker_tracking: Bool32,
15736}
15737impl SystemMarkerTrackingPropertiesVARJO {
15738 pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO;
15739 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15740 #[inline]
15741 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15742 let mut x = MaybeUninit::<Self>::uninit();
15743 unsafe {
15744 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15745 ty: Self::TYPE,
15746 next,
15747 });
15748 }
15749 x
15750 }
15751}
15752#[repr(C)]
15753#[derive(Copy, Clone, Debug)]
15754#[doc = "See [XrEventDataMarkerTrackingUpdateVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataMarkerTrackingUpdateVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
15755pub struct EventDataMarkerTrackingUpdateVARJO {
15756 pub ty: StructureType,
15757 pub next: *const c_void,
15758 pub marker_id: u64,
15759 pub is_active: Bool32,
15760 pub is_predicted: Bool32,
15761 pub time: Time,
15762}
15763impl EventDataMarkerTrackingUpdateVARJO {
15764 pub const TYPE: StructureType = StructureType::EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO;
15765}
15766#[repr(C)]
15767#[derive(Copy, Clone, Debug)]
15768#[doc = "See [XrMarkerSpaceCreateInfoVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerSpaceCreateInfoVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
15769pub struct MarkerSpaceCreateInfoVARJO {
15770 pub ty: StructureType,
15771 pub next: *const c_void,
15772 pub marker_id: u64,
15773 pub pose_in_marker_space: Posef,
15774}
15775impl MarkerSpaceCreateInfoVARJO {
15776 pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_VARJO;
15777}
15778#[repr(C)]
15779#[derive(Copy, Clone, Debug)]
15780#[doc = "See [XrGlobalDimmerFrameEndInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrGlobalDimmerFrameEndInfoML) - defined by [XR_ML_global_dimmer](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_global_dimmer)"]
15781pub struct GlobalDimmerFrameEndInfoML {
15782 pub ty: StructureType,
15783 pub next: *const c_void,
15784 pub dimmer_value: f32,
15785 pub flags: GlobalDimmerFrameEndInfoFlagsML,
15786}
15787impl GlobalDimmerFrameEndInfoML {
15788 pub const TYPE: StructureType = StructureType::GLOBAL_DIMMER_FRAME_END_INFO_ML;
15789}
15790#[repr(C)]
15791#[derive(Copy, Clone, Debug)]
15792#[doc = "See [XrDigitalLensControlALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDigitalLensControlALMALENCE)"]
15793pub struct DigitalLensControlALMALENCE {
15794 pub ty: StructureType,
15795 pub next: *const c_void,
15796 pub flags: DigitalLensControlFlagsALMALENCE,
15797}
15798impl DigitalLensControlALMALENCE {
15799 pub const TYPE: StructureType = StructureType::DIGITAL_LENS_CONTROL_ALMALENCE;
15800}
15801#[repr(C)]
15802#[derive(Copy, Clone, Debug)]
15803#[doc = "See [XrCompositionLayerSettingsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerSettingsFB) - defined by [XR_FB_composition_layer_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_settings)"]
15804pub struct CompositionLayerSettingsFB {
15805 pub ty: StructureType,
15806 pub next: *const c_void,
15807 pub layer_flags: CompositionLayerSettingsFlagsFB,
15808}
15809impl CompositionLayerSettingsFB {
15810 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_SETTINGS_FB;
15811}
15812#[repr(C)]
15813#[derive(Copy, Clone, Debug, PartialEq)]
15814#[doc = "See [XrExternalCameraIntrinsicsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraIntrinsicsOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
15815pub struct ExternalCameraIntrinsicsOCULUS {
15816 pub last_change_time: Time,
15817 pub fov: Fovf,
15818 pub virtual_near_plane_distance: f32,
15819 pub virtual_far_plane_distance: f32,
15820 pub image_sensor_pixel_resolution: Extent2Di,
15821}
15822#[repr(C)]
15823#[derive(Copy, Clone, Debug, PartialEq)]
15824#[doc = "See [XrExternalCameraExtrinsicsOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraExtrinsicsOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
15825pub struct ExternalCameraExtrinsicsOCULUS {
15826 pub last_change_time: Time,
15827 pub camera_status_flags: ExternalCameraStatusFlagsOCULUS,
15828 pub attached_to_device: ExternalCameraAttachedToDeviceOCULUS,
15829 pub relative_pose: Posef,
15830}
15831#[repr(C)]
15832#[derive(Copy, Clone, Debug)]
15833#[doc = "See [XrExternalCameraOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExternalCameraOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
15834pub struct ExternalCameraOCULUS {
15835 pub ty: StructureType,
15836 pub next: *const c_void,
15837 pub name: [c_char; MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS],
15838 pub intrinsics: ExternalCameraIntrinsicsOCULUS,
15839 pub extrinsics: ExternalCameraExtrinsicsOCULUS,
15840}
15841impl ExternalCameraOCULUS {
15842 pub const TYPE: StructureType = StructureType::EXTERNAL_CAMERA_OCULUS;
15843}
15844#[repr(C)]
15845#[derive(Copy, Clone, Debug)]
15846#[doc = "See [XrPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
15847pub struct PerformanceMetricsStateMETA {
15848 pub ty: StructureType,
15849 pub next: *const c_void,
15850 pub enabled: Bool32,
15851}
15852impl PerformanceMetricsStateMETA {
15853 pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_STATE_META;
15854}
15855#[repr(C)]
15856#[derive(Copy, Clone, Debug)]
15857#[doc = "See [XrPerformanceMetricsCounterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
15858pub struct PerformanceMetricsCounterMETA {
15859 pub ty: StructureType,
15860 pub next: *const c_void,
15861 pub counter_flags: PerformanceMetricsCounterFlagsMETA,
15862 pub counter_unit: PerformanceMetricsCounterUnitMETA,
15863 pub uint_value: u32,
15864 pub float_value: f32,
15865}
15866impl PerformanceMetricsCounterMETA {
15867 pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_COUNTER_META;
15868}
15869#[repr(C)]
15870#[derive(Copy, Clone, Debug)]
15871#[doc = "See [XrPassthroughPreferencesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughPreferencesMETA) - defined by [XR_META_passthrough_preferences](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_preferences)"]
15872pub struct PassthroughPreferencesMETA {
15873 pub ty: StructureType,
15874 pub next: *const c_void,
15875 pub flags: PassthroughPreferenceFlagsMETA,
15876}
15877impl PassthroughPreferencesMETA {
15878 pub const TYPE: StructureType = StructureType::PASSTHROUGH_PREFERENCES_META;
15879}
15880#[repr(C)]
15881#[derive(Copy, Clone, Debug)]
15882#[doc = "See [XrSystemHeadsetIdPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemHeadsetIdPropertiesMETA) - defined by [XR_META_headset_id](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_headset_id)"]
15883pub struct SystemHeadsetIdPropertiesMETA {
15884 pub ty: StructureType,
15885 pub next: *mut c_void,
15886 pub id: UuidEXT,
15887}
15888impl SystemHeadsetIdPropertiesMETA {
15889 pub const TYPE: StructureType = StructureType::SYSTEM_HEADSET_ID_PROPERTIES_META;
15890 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
15891 #[inline]
15892 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
15893 let mut x = MaybeUninit::<Self>::uninit();
15894 unsafe {
15895 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
15896 ty: Self::TYPE,
15897 next,
15898 });
15899 }
15900 x
15901 }
15902}
15903#[repr(C)]
15904#[derive(Copy, Clone, Debug)]
15905#[doc = "See [XrSystemSpacePersistencePropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpacePersistencePropertiesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
15906pub struct SystemSpacePersistencePropertiesMETA {
15907 pub ty: StructureType,
15908 pub next: *const c_void,
15909 pub supports_space_persistence: Bool32,
15910}
15911impl SystemSpacePersistencePropertiesMETA {
15912 pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META;
15913}
15914#[repr(C)]
15915#[derive(Copy, Clone, Debug)]
15916#[doc = "See [XrSpacesSaveInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesSaveInfoMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
15917pub struct SpacesSaveInfoMETA {
15918 pub ty: StructureType,
15919 pub next: *const c_void,
15920 pub space_count: u32,
15921 pub spaces: *mut Space,
15922}
15923impl SpacesSaveInfoMETA {
15924 pub const TYPE: StructureType = StructureType::SPACES_SAVE_INFO_META;
15925}
15926#[repr(C)]
15927#[derive(Copy, Clone, Debug)]
15928#[doc = "See [XrEventDataSpacesSaveResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpacesSaveResultMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
15929pub struct EventDataSpacesSaveResultMETA {
15930 pub ty: StructureType,
15931 pub next: *const c_void,
15932 pub request_id: AsyncRequestIdFB,
15933 pub result: Result,
15934}
15935impl EventDataSpacesSaveResultMETA {
15936 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_SAVE_RESULT_META;
15937}
15938#[repr(C)]
15939#[derive(Copy, Clone, Debug)]
15940#[doc = "See [XrSpacesEraseInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesEraseInfoMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
15941pub struct SpacesEraseInfoMETA {
15942 pub ty: StructureType,
15943 pub next: *const c_void,
15944 pub space_count: u32,
15945 pub spaces: *mut Space,
15946 pub uuid_count: u32,
15947 pub uuids: *mut UuidEXT,
15948}
15949impl SpacesEraseInfoMETA {
15950 pub const TYPE: StructureType = StructureType::SPACES_ERASE_INFO_META;
15951}
15952#[repr(C)]
15953#[derive(Copy, Clone, Debug)]
15954#[doc = "See [XrEventDataSpacesEraseResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpacesEraseResultMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
15955pub struct EventDataSpacesEraseResultMETA {
15956 pub ty: StructureType,
15957 pub next: *const c_void,
15958 pub request_id: AsyncRequestIdFB,
15959 pub result: Result,
15960}
15961impl EventDataSpacesEraseResultMETA {
15962 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACES_ERASE_RESULT_META;
15963}
15964#[repr(C)]
15965#[derive(Copy, Clone, Debug)]
15966#[doc = "See [XrSystemSpaceDiscoveryPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpaceDiscoveryPropertiesMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
15967pub struct SystemSpaceDiscoveryPropertiesMETA {
15968 pub ty: StructureType,
15969 pub next: *const c_void,
15970 pub supports_space_discovery: Bool32,
15971}
15972impl SystemSpaceDiscoveryPropertiesMETA {
15973 pub const TYPE: StructureType = StructureType::SYSTEM_SPACE_DISCOVERY_PROPERTIES_META;
15974}
15975#[repr(C)]
15976#[derive(Copy, Clone, Debug)]
15977#[doc = "See [XrSpaceFilterBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterBaseHeaderMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
15978pub struct SpaceFilterBaseHeaderMETA {
15979 pub ty: StructureType,
15980 pub next: *const c_void,
15981}
15982#[repr(C)]
15983#[derive(Copy, Clone, Debug)]
15984#[doc = "See [XrSpaceDiscoveryInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryInfoMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
15985pub struct SpaceDiscoveryInfoMETA {
15986 pub ty: StructureType,
15987 pub next: *const c_void,
15988 pub filter_count: u32,
15989 pub filters: *const *const SpaceFilterBaseHeaderMETA,
15990}
15991impl SpaceDiscoveryInfoMETA {
15992 pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_INFO_META;
15993}
15994#[repr(C)]
15995#[derive(Copy, Clone, Debug)]
15996#[doc = "See [XrSpaceFilterUuidMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterUuidMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
15997pub struct SpaceFilterUuidMETA {
15998 pub ty: StructureType,
15999 pub next: *const c_void,
16000 pub uuid_count: u32,
16001 pub uuids: *const UuidEXT,
16002}
16003impl SpaceFilterUuidMETA {
16004 pub const TYPE: StructureType = StructureType::SPACE_FILTER_UUID_META;
16005}
16006#[repr(C)]
16007#[derive(Copy, Clone, Debug)]
16008#[doc = "See [XrSpaceFilterComponentMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceFilterComponentMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
16009pub struct SpaceFilterComponentMETA {
16010 pub ty: StructureType,
16011 pub next: *const c_void,
16012 pub component_type: SpaceComponentTypeFB,
16013}
16014impl SpaceFilterComponentMETA {
16015 pub const TYPE: StructureType = StructureType::SPACE_FILTER_COMPONENT_META;
16016}
16017#[repr(C)]
16018#[derive(Copy, Clone, Debug)]
16019#[doc = "See [XrSpaceDiscoveryResultMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryResultMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
16020pub struct SpaceDiscoveryResultMETA {
16021 pub space: Space,
16022 pub uuid: UuidEXT,
16023}
16024#[repr(C)]
16025#[derive(Copy, Clone, Debug)]
16026#[doc = "See [XrSpaceDiscoveryResultsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceDiscoveryResultsMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
16027pub struct SpaceDiscoveryResultsMETA {
16028 pub ty: StructureType,
16029 pub next: *const c_void,
16030 pub result_capacity_input: u32,
16031 pub result_count_output: u32,
16032 pub results: *mut SpaceDiscoveryResultMETA,
16033}
16034impl SpaceDiscoveryResultsMETA {
16035 pub const TYPE: StructureType = StructureType::SPACE_DISCOVERY_RESULTS_META;
16036}
16037#[repr(C)]
16038#[derive(Copy, Clone, Debug)]
16039#[doc = "See [XrEventDataSpaceDiscoveryResultsAvailableMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceDiscoveryResultsAvailableMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
16040pub struct EventDataSpaceDiscoveryResultsAvailableMETA {
16041 pub ty: StructureType,
16042 pub next: *const c_void,
16043 pub request_id: AsyncRequestIdFB,
16044}
16045impl EventDataSpaceDiscoveryResultsAvailableMETA {
16046 pub const TYPE: StructureType =
16047 StructureType::EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META;
16048}
16049#[repr(C)]
16050#[derive(Copy, Clone, Debug)]
16051#[doc = "See [XrEventDataSpaceDiscoveryCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpaceDiscoveryCompleteMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
16052pub struct EventDataSpaceDiscoveryCompleteMETA {
16053 pub ty: StructureType,
16054 pub next: *const c_void,
16055 pub request_id: AsyncRequestIdFB,
16056 pub result: Result,
16057}
16058impl EventDataSpaceDiscoveryCompleteMETA {
16059 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META;
16060}
16061#[repr(C)]
16062#[derive(Copy, Clone, Debug)]
16063#[doc = "See [XrPassthroughColorLutDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutDataMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
16064pub struct PassthroughColorLutDataMETA {
16065 pub buffer_size: u32,
16066 pub buffer: *const u8,
16067}
16068#[repr(C)]
16069#[derive(Copy, Clone, Debug)]
16070#[doc = "See [XrPassthroughColorLutCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutCreateInfoMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
16071pub struct PassthroughColorLutCreateInfoMETA {
16072 pub ty: StructureType,
16073 pub next: *const c_void,
16074 pub channels: PassthroughColorLutChannelsMETA,
16075 pub resolution: u32,
16076 pub data: PassthroughColorLutDataMETA,
16077}
16078impl PassthroughColorLutCreateInfoMETA {
16079 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_CREATE_INFO_META;
16080}
16081#[repr(C)]
16082#[derive(Copy, Clone, Debug)]
16083#[doc = "See [XrPassthroughColorLutUpdateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorLutUpdateInfoMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
16084pub struct PassthroughColorLutUpdateInfoMETA {
16085 pub ty: StructureType,
16086 pub next: *const c_void,
16087 pub data: PassthroughColorLutDataMETA,
16088}
16089impl PassthroughColorLutUpdateInfoMETA {
16090 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META;
16091}
16092#[repr(C)]
16093#[derive(Copy, Clone, Debug)]
16094#[doc = "See [XrPassthroughColorMapLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
16095pub struct PassthroughColorMapLutMETA {
16096 pub ty: StructureType,
16097 pub next: *const c_void,
16098 pub color_lut: PassthroughColorLutMETA,
16099 pub weight: f32,
16100}
16101impl PassthroughColorMapLutMETA {
16102 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_LUT_META;
16103}
16104#[repr(C)]
16105#[derive(Copy, Clone, Debug)]
16106#[doc = "See [XrPassthroughColorMapInterpolatedLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughColorMapInterpolatedLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
16107pub struct PassthroughColorMapInterpolatedLutMETA {
16108 pub ty: StructureType,
16109 pub next: *const c_void,
16110 pub source_color_lut: PassthroughColorLutMETA,
16111 pub target_color_lut: PassthroughColorLutMETA,
16112 pub weight: f32,
16113}
16114impl PassthroughColorMapInterpolatedLutMETA {
16115 pub const TYPE: StructureType = StructureType::PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META;
16116}
16117#[repr(C)]
16118#[derive(Copy, Clone, Debug)]
16119#[doc = "See [XrSystemPassthroughColorLutPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughColorLutPropertiesMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
16120pub struct SystemPassthroughColorLutPropertiesMETA {
16121 pub ty: StructureType,
16122 pub next: *const c_void,
16123 pub max_color_lut_resolution: u32,
16124}
16125impl SystemPassthroughColorLutPropertiesMETA {
16126 pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META;
16127}
16128#[repr(C)]
16129#[derive(Copy, Clone, Debug)]
16130#[doc = "See [XrFoveationApplyInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationApplyInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
16131pub struct FoveationApplyInfoHTC {
16132 pub ty: StructureType,
16133 pub next: *const c_void,
16134 pub mode: FoveationModeHTC,
16135 pub sub_image_count: u32,
16136 pub sub_images: *mut SwapchainSubImage,
16137}
16138impl FoveationApplyInfoHTC {
16139 pub const TYPE: StructureType = StructureType::FOVEATION_APPLY_INFO_HTC;
16140}
16141#[repr(C)]
16142#[derive(Copy, Clone, Debug, Default, PartialEq)]
16143#[doc = "See [XrFoveationConfigurationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationConfigurationHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
16144pub struct FoveationConfigurationHTC {
16145 pub level: FoveationLevelHTC,
16146 pub clear_fov_degree: f32,
16147 pub focal_center_offset: Vector2f,
16148}
16149#[repr(C)]
16150#[derive(Copy, Clone, Debug)]
16151#[doc = "See [XrFoveationDynamicModeInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationDynamicModeInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
16152pub struct FoveationDynamicModeInfoHTC {
16153 pub ty: StructureType,
16154 pub next: *const c_void,
16155 pub dynamic_flags: FoveationDynamicFlagsHTC,
16156}
16157impl FoveationDynamicModeInfoHTC {
16158 pub const TYPE: StructureType = StructureType::FOVEATION_DYNAMIC_MODE_INFO_HTC;
16159}
16160#[repr(C)]
16161#[derive(Copy, Clone, Debug)]
16162#[doc = "See [XrFoveationCustomModeInfoHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFoveationCustomModeInfoHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
16163pub struct FoveationCustomModeInfoHTC {
16164 pub ty: StructureType,
16165 pub next: *const c_void,
16166 pub config_count: u32,
16167 pub configs: *const FoveationConfigurationHTC,
16168}
16169impl FoveationCustomModeInfoHTC {
16170 pub const TYPE: StructureType = StructureType::FOVEATION_CUSTOM_MODE_INFO_HTC;
16171}
16172#[repr(C)]
16173#[derive(Copy, Clone, Debug)]
16174#[doc = "See [XrActiveActionSetPrioritiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSetPrioritiesEXT) - defined by [XR_EXT_active_action_set_priority](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_active_action_set_priority)"]
16175pub struct ActiveActionSetPrioritiesEXT {
16176 pub ty: StructureType,
16177 pub next: *const c_void,
16178 pub action_set_priority_count: u32,
16179 pub action_set_priorities: *const ActiveActionSetPriorityEXT,
16180}
16181impl ActiveActionSetPrioritiesEXT {
16182 pub const TYPE: StructureType = StructureType::ACTIVE_ACTION_SET_PRIORITIES_EXT;
16183}
16184#[repr(C)]
16185#[derive(Copy, Clone, Debug)]
16186#[doc = "See [XrActiveActionSetPriorityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrActiveActionSetPriorityEXT) - defined by [XR_EXT_active_action_set_priority](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_active_action_set_priority)"]
16187pub struct ActiveActionSetPriorityEXT {
16188 pub action_set: ActionSet,
16189 pub priority_override: u32,
16190}
16191#[repr(C)]
16192#[derive(Copy, Clone, Debug)]
16193#[doc = "See [XrCompositionLayerDepthTestFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerDepthTestFB) - defined by [XR_FB_composition_layer_depth_test](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_composition_layer_depth_test)"]
16194pub struct CompositionLayerDepthTestFB {
16195 pub ty: StructureType,
16196 pub next: *const c_void,
16197 pub depth_mask: Bool32,
16198 pub compare_op: CompareOpFB,
16199}
16200impl CompositionLayerDepthTestFB {
16201 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_DEPTH_TEST_FB;
16202}
16203#[repr(C)]
16204#[derive(Copy, Clone, Debug)]
16205#[doc = "See [XrCoordinateSpaceCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCoordinateSpaceCreateInfoML) - defined by [XR_ML_compat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_compat)"]
16206pub struct CoordinateSpaceCreateInfoML {
16207 pub ty: StructureType,
16208 pub next: *const c_void,
16209 pub cfuid: MLCoordinateFrameUID,
16210 pub pose_in_coordinate_space: Posef,
16211}
16212impl CoordinateSpaceCreateInfoML {
16213 pub const TYPE: StructureType = StructureType::COORDINATE_SPACE_CREATE_INFO_ML;
16214}
16215#[repr(C)]
16216#[derive(Copy, Clone, Debug)]
16217#[doc = "See [XrFrameEndInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrameEndInfoML) - defined by [XR_ML_frame_end_info](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_frame_end_info)"]
16218pub struct FrameEndInfoML {
16219 pub ty: StructureType,
16220 pub next: *const c_void,
16221 pub focus_distance: f32,
16222 pub flags: FrameEndInfoFlagsML,
16223}
16224impl FrameEndInfoML {
16225 pub const TYPE: StructureType = StructureType::FRAME_END_INFO_ML;
16226}
16227#[repr(C)]
16228#[derive(Copy, Clone, Debug)]
16229#[doc = "See [XrHapticAmplitudeEnvelopeVibrationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticAmplitudeEnvelopeVibrationFB) - defined by [XR_FB_haptic_amplitude_envelope](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_amplitude_envelope)"]
16230pub struct HapticAmplitudeEnvelopeVibrationFB {
16231 pub ty: StructureType,
16232 pub next: *const c_void,
16233 pub duration: Duration,
16234 pub amplitude_count: u32,
16235 pub amplitudes: *const f32,
16236}
16237impl HapticAmplitudeEnvelopeVibrationFB {
16238 pub const TYPE: StructureType = StructureType::HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB;
16239}
16240#[repr(C)]
16241#[derive(Copy, Clone, Debug)]
16242#[doc = "See [XrHapticPcmVibrationFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHapticPcmVibrationFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
16243pub struct HapticPcmVibrationFB {
16244 pub ty: StructureType,
16245 pub next: *const c_void,
16246 pub buffer_size: u32,
16247 pub buffer: *const f32,
16248 pub sample_rate: f32,
16249 pub append: Bool32,
16250 pub samples_consumed: *mut u32,
16251}
16252impl HapticPcmVibrationFB {
16253 pub const TYPE: StructureType = StructureType::HAPTIC_PCM_VIBRATION_FB;
16254}
16255#[repr(C)]
16256#[derive(Copy, Clone, Debug)]
16257#[doc = "See [XrDevicePcmSampleRateStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDevicePcmSampleRateStateFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
16258pub struct DevicePcmSampleRateStateFB {
16259 pub ty: StructureType,
16260 pub next: *mut c_void,
16261 pub sample_rate: f32,
16262}
16263impl DevicePcmSampleRateStateFB {
16264 pub const TYPE: StructureType = StructureType::DEVICE_PCM_SAMPLE_RATE_STATE_FB;
16265 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16266 #[inline]
16267 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16268 let mut x = MaybeUninit::<Self>::uninit();
16269 unsafe {
16270 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16271 ty: Self::TYPE,
16272 next,
16273 });
16274 }
16275 x
16276 }
16277}
16278pub type DevicePcmSampleRateGetInfoFB = DevicePcmSampleRateStateFB;
16279#[repr(C)]
16280#[derive(Copy, Clone, Debug)]
16281#[doc = "See [XrSpaceUserCreateInfoFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceUserCreateInfoFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
16282pub struct SpaceUserCreateInfoFB {
16283 pub ty: StructureType,
16284 pub next: *const c_void,
16285 pub user_id: SpaceUserIdFB,
16286}
16287impl SpaceUserCreateInfoFB {
16288 pub const TYPE: StructureType = StructureType::SPACE_USER_CREATE_INFO_FB;
16289}
16290#[repr(C)]
16291#[derive(Copy, Clone, Debug)]
16292#[doc = "See [XrSystemForceFeedbackCurlPropertiesMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemForceFeedbackCurlPropertiesMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
16293pub struct SystemForceFeedbackCurlPropertiesMNDX {
16294 pub ty: StructureType,
16295 pub next: *mut c_void,
16296 pub supports_force_feedback_curl: Bool32,
16297}
16298impl SystemForceFeedbackCurlPropertiesMNDX {
16299 pub const TYPE: StructureType = StructureType::SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX;
16300 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16301 #[inline]
16302 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16303 let mut x = MaybeUninit::<Self>::uninit();
16304 unsafe {
16305 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16306 ty: Self::TYPE,
16307 next,
16308 });
16309 }
16310 x
16311 }
16312}
16313#[repr(C)]
16314#[derive(Copy, Clone, Debug)]
16315#[doc = "See [XrForceFeedbackCurlApplyLocationsMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlApplyLocationsMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
16316pub struct ForceFeedbackCurlApplyLocationsMNDX {
16317 pub ty: StructureType,
16318 pub next: *const c_void,
16319 pub location_count: u32,
16320 pub locations: *mut ForceFeedbackCurlApplyLocationMNDX,
16321}
16322impl ForceFeedbackCurlApplyLocationsMNDX {
16323 pub const TYPE: StructureType = StructureType::FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX;
16324}
16325#[repr(C)]
16326#[derive(Copy, Clone, Debug, Default, PartialEq)]
16327#[doc = "See [XrForceFeedbackCurlApplyLocationMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrForceFeedbackCurlApplyLocationMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
16328pub struct ForceFeedbackCurlApplyLocationMNDX {
16329 pub location: ForceFeedbackCurlLocationMNDX,
16330 pub value: f32,
16331}
16332#[repr(C)]
16333#[derive(Copy, Clone, Debug)]
16334#[doc = "See [XrFaceTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
16335#[cfg(target_os = "android")]
16336pub struct FaceTrackerCreateInfoANDROID {
16337 pub ty: StructureType,
16338 pub next: *const c_void,
16339}
16340#[cfg(target_os = "android")]
16341impl FaceTrackerCreateInfoANDROID {
16342 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_ANDROID;
16343}
16344#[repr(C)]
16345#[derive(Copy, Clone, Debug)]
16346#[doc = "See [XrFaceStateGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceStateGetInfoANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
16347#[cfg(target_os = "android")]
16348pub struct FaceStateGetInfoANDROID {
16349 pub ty: StructureType,
16350 pub next: *const c_void,
16351 pub time: Time,
16352}
16353#[cfg(target_os = "android")]
16354impl FaceStateGetInfoANDROID {
16355 pub const TYPE: StructureType = StructureType::FACE_STATE_GET_INFO_ANDROID;
16356}
16357#[repr(C)]
16358#[derive(Copy, Clone, Debug)]
16359#[doc = "See [XrFaceStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
16360#[cfg(target_os = "android")]
16361pub struct FaceStateANDROID {
16362 pub ty: StructureType,
16363 pub next: *mut c_void,
16364 pub parameters_capacity_input: u32,
16365 pub parameters_count_output: u32,
16366 pub parameters: *mut f32,
16367 pub face_tracking_state: FaceTrackingStateANDROID,
16368 pub sample_time: Time,
16369 pub is_valid: Bool32,
16370 pub region_confidences_capacity_input: u32,
16371 pub region_confidences_count_output: u32,
16372 pub region_confidences: *mut f32,
16373}
16374#[cfg(target_os = "android")]
16375impl FaceStateANDROID {
16376 pub const TYPE: StructureType = StructureType::FACE_STATE_ANDROID;
16377 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16378 #[inline]
16379 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16380 let mut x = MaybeUninit::<Self>::uninit();
16381 unsafe {
16382 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16383 ty: Self::TYPE,
16384 next,
16385 });
16386 }
16387 x
16388 }
16389}
16390#[repr(C)]
16391#[derive(Copy, Clone, Debug)]
16392#[doc = "See [XrSystemFaceTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFaceTrackingPropertiesANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
16393#[cfg(target_os = "android")]
16394pub struct SystemFaceTrackingPropertiesANDROID {
16395 pub ty: StructureType,
16396 pub next: *mut c_void,
16397 pub supports_face_tracking: Bool32,
16398}
16399#[cfg(target_os = "android")]
16400impl SystemFaceTrackingPropertiesANDROID {
16401 pub const TYPE: StructureType = StructureType::SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID;
16402 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16403 #[inline]
16404 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16405 let mut x = MaybeUninit::<Self>::uninit();
16406 unsafe {
16407 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16408 ty: Self::TYPE,
16409 next,
16410 });
16411 }
16412 x
16413 }
16414}
16415#[repr(C)]
16416#[derive(Copy, Clone, Debug)]
16417#[doc = "See [XrSystemPassthroughCameraStatePropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughCameraStatePropertiesANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
16418#[cfg(target_os = "android")]
16419pub struct SystemPassthroughCameraStatePropertiesANDROID {
16420 pub ty: StructureType,
16421 pub next: *mut c_void,
16422 pub supports_passthrough_camera_state: Bool32,
16423}
16424#[cfg(target_os = "android")]
16425impl SystemPassthroughCameraStatePropertiesANDROID {
16426 pub const TYPE: StructureType =
16427 StructureType::SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID;
16428 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16429 #[inline]
16430 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16431 let mut x = MaybeUninit::<Self>::uninit();
16432 unsafe {
16433 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16434 ty: Self::TYPE,
16435 next,
16436 });
16437 }
16438 x
16439 }
16440}
16441#[repr(C)]
16442#[derive(Copy, Clone, Debug)]
16443#[doc = "See [XrPassthroughCameraStateGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughCameraStateGetInfoANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
16444#[cfg(target_os = "android")]
16445pub struct PassthroughCameraStateGetInfoANDROID {
16446 pub ty: StructureType,
16447 pub next: *const c_void,
16448}
16449#[cfg(target_os = "android")]
16450impl PassthroughCameraStateGetInfoANDROID {
16451 pub const TYPE: StructureType = StructureType::PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID;
16452}
16453#[repr(C)]
16454#[derive(Copy, Clone, Debug)]
16455#[doc = "See [XrTrackableTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableTrackerCreateInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
16456#[cfg(target_os = "android")]
16457pub struct TrackableTrackerCreateInfoANDROID {
16458 pub ty: StructureType,
16459 pub next: *const c_void,
16460 pub trackable_type: TrackableTypeANDROID,
16461}
16462#[cfg(target_os = "android")]
16463impl TrackableTrackerCreateInfoANDROID {
16464 pub const TYPE: StructureType = StructureType::TRACKABLE_TRACKER_CREATE_INFO_ANDROID;
16465}
16466#[repr(C)]
16467#[derive(Copy, Clone, Debug)]
16468#[doc = "See [XrTrackableGetInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableGetInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
16469#[cfg(target_os = "android")]
16470pub struct TrackableGetInfoANDROID {
16471 pub ty: StructureType,
16472 pub next: *const c_void,
16473 pub trackable: TrackableANDROID,
16474 pub base_space: Space,
16475 pub time: Time,
16476}
16477#[cfg(target_os = "android")]
16478impl TrackableGetInfoANDROID {
16479 pub const TYPE: StructureType = StructureType::TRACKABLE_GET_INFO_ANDROID;
16480}
16481#[repr(C)]
16482#[derive(Copy, Clone, Debug)]
16483#[doc = "See [XrTrackablePlaneANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackablePlaneANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
16484#[cfg(target_os = "android")]
16485pub struct TrackablePlaneANDROID {
16486 pub ty: StructureType,
16487 pub next: *mut c_void,
16488 pub tracking_state: TrackingStateANDROID,
16489 pub center_pose: Posef,
16490 pub extents: Extent2Df,
16491 pub plane_type: PlaneTypeANDROID,
16492 pub plane_label: PlaneLabelANDROID,
16493 pub subsumed_by_plane: TrackableANDROID,
16494 pub last_updated_time: Time,
16495 pub vertex_capacity_input: u32,
16496 pub vertex_count_output: *mut u32,
16497 pub vertices: *mut Vector2f,
16498}
16499#[cfg(target_os = "android")]
16500impl TrackablePlaneANDROID {
16501 pub const TYPE: StructureType = StructureType::TRACKABLE_PLANE_ANDROID;
16502 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16503 #[inline]
16504 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16505 let mut x = MaybeUninit::<Self>::uninit();
16506 unsafe {
16507 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16508 ty: Self::TYPE,
16509 next,
16510 });
16511 }
16512 x
16513 }
16514}
16515#[repr(C)]
16516#[derive(Copy, Clone, Debug)]
16517#[doc = "See [XrAnchorSpaceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSpaceCreateInfoANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
16518#[cfg(target_os = "android")]
16519pub struct AnchorSpaceCreateInfoANDROID {
16520 pub ty: StructureType,
16521 pub next: *const c_void,
16522 pub space: Space,
16523 pub time: Time,
16524 pub pose: Posef,
16525 pub trackable: TrackableANDROID,
16526}
16527#[cfg(target_os = "android")]
16528impl AnchorSpaceCreateInfoANDROID {
16529 pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_ANDROID;
16530}
16531#[repr(C)]
16532#[derive(Copy, Clone, Debug)]
16533#[doc = "See [XrSystemTrackablesPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemTrackablesPropertiesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
16534#[cfg(target_os = "android")]
16535pub struct SystemTrackablesPropertiesANDROID {
16536 pub ty: StructureType,
16537 pub next: *const c_void,
16538 pub supports_anchor: Bool32,
16539 pub max_anchors: u32,
16540}
16541#[cfg(target_os = "android")]
16542impl SystemTrackablesPropertiesANDROID {
16543 pub const TYPE: StructureType = StructureType::SYSTEM_TRACKABLES_PROPERTIES_ANDROID;
16544}
16545#[repr(C)]
16546#[derive(Copy, Clone, Debug)]
16547#[doc = "See [XrTrackableObjectANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableObjectANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
16548#[cfg(target_os = "android")]
16549pub struct TrackableObjectANDROID {
16550 pub ty: StructureType,
16551 pub next: *mut c_void,
16552 pub tracking_state: TrackingStateANDROID,
16553 pub center_pose: Posef,
16554 pub extents: Extent3DfEXT,
16555 pub object_label: ObjectLabelANDROID,
16556 pub last_updated_time: Time,
16557}
16558#[cfg(target_os = "android")]
16559impl TrackableObjectANDROID {
16560 pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_ANDROID;
16561 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16562 #[inline]
16563 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16564 let mut x = MaybeUninit::<Self>::uninit();
16565 unsafe {
16566 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16567 ty: Self::TYPE,
16568 next,
16569 });
16570 }
16571 x
16572 }
16573}
16574#[repr(C)]
16575#[derive(Copy, Clone, Debug)]
16576#[doc = "See [XrTrackableObjectConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableObjectConfigurationANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
16577#[cfg(target_os = "android")]
16578pub struct TrackableObjectConfigurationANDROID {
16579 pub ty: StructureType,
16580 pub next: *mut c_void,
16581 pub label_count: u32,
16582 pub active_labels: *const ObjectLabelANDROID,
16583}
16584#[cfg(target_os = "android")]
16585impl TrackableObjectConfigurationANDROID {
16586 pub const TYPE: StructureType = StructureType::TRACKABLE_OBJECT_CONFIGURATION_ANDROID;
16587 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16588 #[inline]
16589 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16590 let mut x = MaybeUninit::<Self>::uninit();
16591 unsafe {
16592 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16593 ty: Self::TYPE,
16594 next,
16595 });
16596 }
16597 x
16598 }
16599}
16600#[repr(C)]
16601#[derive(Copy, Clone, Debug)]
16602#[doc = "See [XrRaycastInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastInfoANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
16603#[cfg(target_os = "android")]
16604pub struct RaycastInfoANDROID {
16605 pub ty: StructureType,
16606 pub next: *const c_void,
16607 pub max_results: u32,
16608 pub tracker_count: u32,
16609 pub trackers: *const TrackableTrackerANDROID,
16610 pub origin: Vector3f,
16611 pub trajectory: Vector3f,
16612 pub space: Space,
16613 pub time: Time,
16614}
16615#[cfg(target_os = "android")]
16616impl RaycastInfoANDROID {
16617 pub const TYPE: StructureType = StructureType::RAYCAST_INFO_ANDROID;
16618}
16619#[repr(C)]
16620#[derive(Copy, Clone, Debug, Default, PartialEq)]
16621#[doc = "See [XrRaycastHitResultANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastHitResultANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
16622#[cfg(target_os = "android")]
16623pub struct RaycastHitResultANDROID {
16624 pub ty: TrackableTypeANDROID,
16625 pub trackable: TrackableANDROID,
16626 pub pose: Posef,
16627}
16628#[repr(C)]
16629#[derive(Copy, Clone, Debug)]
16630#[doc = "See [XrRaycastHitResultsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRaycastHitResultsANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
16631#[cfg(target_os = "android")]
16632pub struct RaycastHitResultsANDROID {
16633 pub ty: StructureType,
16634 pub next: *mut c_void,
16635 pub results_capacity_input: u32,
16636 pub results_count_output: u32,
16637 pub results: *mut RaycastHitResultANDROID,
16638}
16639#[cfg(target_os = "android")]
16640impl RaycastHitResultsANDROID {
16641 pub const TYPE: StructureType = StructureType::RAYCAST_HIT_RESULTS_ANDROID;
16642 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16643 #[inline]
16644 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16645 let mut x = MaybeUninit::<Self>::uninit();
16646 unsafe {
16647 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16648 ty: Self::TYPE,
16649 next,
16650 });
16651 }
16652 x
16653 }
16654}
16655#[repr(C)]
16656#[derive(Copy, Clone, Debug)]
16657#[doc = "See [XrSystemMarkerTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerTrackingPropertiesANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
16658#[cfg(target_os = "android")]
16659pub struct SystemMarkerTrackingPropertiesANDROID {
16660 pub ty: StructureType,
16661 pub next: *mut c_void,
16662 pub supports_marker_tracking: Bool32,
16663 pub supports_marker_size_estimation: Bool32,
16664 pub max_marker_count: u16,
16665}
16666#[cfg(target_os = "android")]
16667impl SystemMarkerTrackingPropertiesANDROID {
16668 pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID;
16669 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16670 #[inline]
16671 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16672 let mut x = MaybeUninit::<Self>::uninit();
16673 unsafe {
16674 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16675 ty: Self::TYPE,
16676 next,
16677 });
16678 }
16679 x
16680 }
16681}
16682#[repr(C)]
16683#[derive(Copy, Clone, Debug)]
16684#[doc = "See [XrTrackableMarkerConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerConfigurationANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
16685#[cfg(target_os = "android")]
16686pub struct TrackableMarkerConfigurationANDROID {
16687 pub ty: StructureType,
16688 pub next: *mut c_void,
16689 pub tracking_mode: TrackableMarkerTrackingModeANDROID,
16690 pub database_count: u32,
16691 pub databases: *const TrackableMarkerDatabaseANDROID,
16692}
16693#[cfg(target_os = "android")]
16694impl TrackableMarkerConfigurationANDROID {
16695 pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_CONFIGURATION_ANDROID;
16696 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16697 #[inline]
16698 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16699 let mut x = MaybeUninit::<Self>::uninit();
16700 unsafe {
16701 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16702 ty: Self::TYPE,
16703 next,
16704 });
16705 }
16706 x
16707 }
16708}
16709#[repr(C)]
16710#[derive(Copy, Clone, Debug)]
16711#[doc = "See [XrTrackableMarkerDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDatabaseANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
16712#[cfg(target_os = "android")]
16713pub struct TrackableMarkerDatabaseANDROID {
16714 pub dictionary: TrackableMarkerDictionaryANDROID,
16715 pub entry_count: u32,
16716 pub entries: *const TrackableMarkerDatabaseEntryANDROID,
16717}
16718#[repr(C)]
16719#[derive(Copy, Clone, Debug, Default, PartialEq)]
16720#[doc = "See [XrTrackableMarkerDatabaseEntryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerDatabaseEntryANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
16721#[cfg(target_os = "android")]
16722pub struct TrackableMarkerDatabaseEntryANDROID {
16723 pub id: i32,
16724 pub edge_size: f32,
16725}
16726#[repr(C)]
16727#[derive(Copy, Clone, Debug)]
16728#[doc = "See [XrTrackableMarkerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableMarkerANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
16729#[cfg(target_os = "android")]
16730pub struct TrackableMarkerANDROID {
16731 pub ty: StructureType,
16732 pub next: *mut c_void,
16733 pub tracking_state: TrackingStateANDROID,
16734 pub last_updated_time: Time,
16735 pub dictionary: TrackableMarkerDictionaryANDROID,
16736 pub marker_id: i32,
16737 pub center_pose: Posef,
16738 pub extents: Extent2Df,
16739}
16740#[cfg(target_os = "android")]
16741impl TrackableMarkerANDROID {
16742 pub const TYPE: StructureType = StructureType::TRACKABLE_MARKER_ANDROID;
16743 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16744 #[inline]
16745 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16746 let mut x = MaybeUninit::<Self>::uninit();
16747 unsafe {
16748 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16749 ty: Self::TYPE,
16750 next,
16751 });
16752 }
16753 x
16754 }
16755}
16756#[repr(C)]
16757#[derive(Copy, Clone, Debug)]
16758#[doc = "See [XrSystemAnchorSharingExportPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemAnchorSharingExportPropertiesANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
16759#[cfg(target_os = "android")]
16760pub struct SystemAnchorSharingExportPropertiesANDROID {
16761 pub ty: StructureType,
16762 pub next: *mut c_void,
16763 pub supports_anchor_sharing_export: Bool32,
16764}
16765#[cfg(target_os = "android")]
16766impl SystemAnchorSharingExportPropertiesANDROID {
16767 pub const TYPE: StructureType = StructureType::SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID;
16768 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16769 #[inline]
16770 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16771 let mut x = MaybeUninit::<Self>::uninit();
16772 unsafe {
16773 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16774 ty: Self::TYPE,
16775 next,
16776 });
16777 }
16778 x
16779 }
16780}
16781#[repr(C)]
16782#[derive(Copy, Clone, Debug)]
16783#[doc = "See [XrAnchorSharingInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSharingInfoANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
16784#[cfg(target_os = "android")]
16785pub struct AnchorSharingInfoANDROID {
16786 pub ty: StructureType,
16787 pub next: *const c_void,
16788 pub anchor: Space,
16789}
16790#[cfg(target_os = "android")]
16791impl AnchorSharingInfoANDROID {
16792 pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_INFO_ANDROID;
16793}
16794#[repr(C)]
16795#[derive(Copy, Clone, Debug)]
16796#[doc = "See [XrAnchorSharingTokenANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSharingTokenANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
16797#[cfg(target_os = "android")]
16798pub struct AnchorSharingTokenANDROID {
16799 pub ty: StructureType,
16800 pub next: *mut c_void,
16801 pub token: *mut AIBinder,
16802}
16803#[cfg(target_os = "android")]
16804impl AnchorSharingTokenANDROID {
16805 pub const TYPE: StructureType = StructureType::ANCHOR_SHARING_TOKEN_ANDROID;
16806 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16807 #[inline]
16808 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16809 let mut x = MaybeUninit::<Self>::uninit();
16810 unsafe {
16811 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16812 ty: Self::TYPE,
16813 next,
16814 });
16815 }
16816 x
16817 }
16818}
16819#[repr(C)]
16820#[derive(Copy, Clone, Debug)]
16821#[doc = "See [XrDeviceAnchorPersistenceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrDeviceAnchorPersistenceCreateInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
16822#[cfg(target_os = "android")]
16823pub struct DeviceAnchorPersistenceCreateInfoANDROID {
16824 pub ty: StructureType,
16825 pub next: *const c_void,
16826}
16827#[cfg(target_os = "android")]
16828impl DeviceAnchorPersistenceCreateInfoANDROID {
16829 pub const TYPE: StructureType = StructureType::DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID;
16830}
16831#[repr(C)]
16832#[derive(Copy, Clone, Debug)]
16833#[doc = "See [XrPersistedAnchorSpaceCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistedAnchorSpaceCreateInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
16834#[cfg(target_os = "android")]
16835pub struct PersistedAnchorSpaceCreateInfoANDROID {
16836 pub ty: StructureType,
16837 pub next: *const c_void,
16838 pub anchor_id: UuidEXT,
16839}
16840#[cfg(target_os = "android")]
16841impl PersistedAnchorSpaceCreateInfoANDROID {
16842 pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID;
16843}
16844#[repr(C)]
16845#[derive(Copy, Clone, Debug)]
16846#[doc = "See [XrPersistedAnchorSpaceInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistedAnchorSpaceInfoANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
16847#[cfg(target_os = "android")]
16848pub struct PersistedAnchorSpaceInfoANDROID {
16849 pub ty: StructureType,
16850 pub next: *const c_void,
16851 pub anchor: Space,
16852}
16853#[cfg(target_os = "android")]
16854impl PersistedAnchorSpaceInfoANDROID {
16855 pub const TYPE: StructureType = StructureType::PERSISTED_ANCHOR_SPACE_INFO_ANDROID;
16856}
16857#[repr(C)]
16858#[derive(Copy, Clone, Debug)]
16859#[doc = "See [XrSystemDeviceAnchorPersistencePropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemDeviceAnchorPersistencePropertiesANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
16860#[cfg(target_os = "android")]
16861pub struct SystemDeviceAnchorPersistencePropertiesANDROID {
16862 pub ty: StructureType,
16863 pub next: *mut c_void,
16864 pub supports_anchor_persistence: Bool32,
16865}
16866#[cfg(target_os = "android")]
16867impl SystemDeviceAnchorPersistencePropertiesANDROID {
16868 pub const TYPE: StructureType =
16869 StructureType::SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID;
16870 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16871 #[inline]
16872 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16873 let mut x = MaybeUninit::<Self>::uninit();
16874 unsafe {
16875 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16876 ty: Self::TYPE,
16877 next,
16878 });
16879 }
16880 x
16881 }
16882}
16883#[repr(C)]
16884#[derive(Copy, Clone, Debug)]
16885#[doc = "See [XrPerformanceMetricsStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsStateANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
16886#[cfg(target_os = "android")]
16887pub struct PerformanceMetricsStateANDROID {
16888 pub ty: StructureType,
16889 pub next: *mut c_void,
16890 pub enabled: Bool32,
16891}
16892#[cfg(target_os = "android")]
16893impl PerformanceMetricsStateANDROID {
16894 pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_STATE_ANDROID;
16895 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16896 #[inline]
16897 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16898 let mut x = MaybeUninit::<Self>::uninit();
16899 unsafe {
16900 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16901 ty: Self::TYPE,
16902 next,
16903 });
16904 }
16905 x
16906 }
16907}
16908#[repr(C)]
16909#[derive(Copy, Clone, Debug)]
16910#[doc = "See [XrPerformanceMetricsCounterANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPerformanceMetricsCounterANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
16911#[cfg(target_os = "android")]
16912pub struct PerformanceMetricsCounterANDROID {
16913 pub ty: StructureType,
16914 pub next: *mut c_void,
16915 pub counter_flags: PerformanceMetricsCounterFlagsANDROID,
16916 pub counter_unit: PerformanceMetricsCounterUnitANDROID,
16917 pub uint_value: u32,
16918 pub float_value: f32,
16919}
16920#[cfg(target_os = "android")]
16921impl PerformanceMetricsCounterANDROID {
16922 pub const TYPE: StructureType = StructureType::PERFORMANCE_METRICS_COUNTER_ANDROID;
16923 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16924 #[inline]
16925 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16926 let mut x = MaybeUninit::<Self>::uninit();
16927 unsafe {
16928 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16929 ty: Self::TYPE,
16930 next,
16931 });
16932 }
16933 x
16934 }
16935}
16936#[repr(C)]
16937#[derive(Copy, Clone, Debug)]
16938#[doc = "See [XrSystemQrCodeTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemQrCodeTrackingPropertiesANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
16939#[cfg(target_os = "android")]
16940pub struct SystemQrCodeTrackingPropertiesANDROID {
16941 pub ty: StructureType,
16942 pub next: *mut c_void,
16943 pub supports_qr_code_tracking: Bool32,
16944 pub supports_qr_code_size_estimation: Bool32,
16945 pub max_qr_code_count: u16,
16946}
16947#[cfg(target_os = "android")]
16948impl SystemQrCodeTrackingPropertiesANDROID {
16949 pub const TYPE: StructureType = StructureType::SYSTEM_QR_CODE_TRACKING_PROPERTIES_ANDROID;
16950 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16951 #[inline]
16952 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16953 let mut x = MaybeUninit::<Self>::uninit();
16954 unsafe {
16955 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16956 ty: Self::TYPE,
16957 next,
16958 });
16959 }
16960 x
16961 }
16962}
16963#[repr(C)]
16964#[derive(Copy, Clone, Debug)]
16965#[doc = "See [XrTrackableQrCodeConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableQrCodeConfigurationANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
16966#[cfg(target_os = "android")]
16967pub struct TrackableQrCodeConfigurationANDROID {
16968 pub ty: StructureType,
16969 pub next: *mut c_void,
16970 pub tracking_mode: QrCodeTrackingModeANDROID,
16971 pub qr_code_edge_size: f32,
16972}
16973#[cfg(target_os = "android")]
16974impl TrackableQrCodeConfigurationANDROID {
16975 pub const TYPE: StructureType = StructureType::TRACKABLE_QR_CODE_CONFIGURATION_ANDROID;
16976 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
16977 #[inline]
16978 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
16979 let mut x = MaybeUninit::<Self>::uninit();
16980 unsafe {
16981 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
16982 ty: Self::TYPE,
16983 next,
16984 });
16985 }
16986 x
16987 }
16988}
16989#[repr(C)]
16990#[derive(Copy, Clone, Debug)]
16991#[doc = "See [XrTrackableQrCodeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableQrCodeANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
16992#[cfg(target_os = "android")]
16993pub struct TrackableQrCodeANDROID {
16994 pub ty: StructureType,
16995 pub next: *mut c_void,
16996 pub tracking_state: TrackingStateANDROID,
16997 pub last_updated_time: Time,
16998 pub center_pose: Posef,
16999 pub extents: Extent2Df,
17000 pub buffer_capacity_input: u32,
17001 pub buffer_count_output: u32,
17002 pub buffer: *mut c_char,
17003}
17004#[cfg(target_os = "android")]
17005impl TrackableQrCodeANDROID {
17006 pub const TYPE: StructureType = StructureType::TRACKABLE_QR_CODE_ANDROID;
17007 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17008 #[inline]
17009 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17010 let mut x = MaybeUninit::<Self>::uninit();
17011 unsafe {
17012 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17013 ty: Self::TYPE,
17014 next,
17015 });
17016 }
17017 x
17018 }
17019}
17020#[repr(C)]
17021#[derive(Copy, Clone, Debug)]
17022#[doc = "See [XrSystemPassthroughLayerPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPassthroughLayerPropertiesANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17023#[cfg(target_os = "android")]
17024pub struct SystemPassthroughLayerPropertiesANDROID {
17025 pub ty: StructureType,
17026 pub next: *mut c_void,
17027 pub supports_passthrough_layer: Bool32,
17028 pub max_mesh_index_count: u32,
17029 pub max_mesh_vertex_count: u32,
17030}
17031#[cfg(target_os = "android")]
17032impl SystemPassthroughLayerPropertiesANDROID {
17033 pub const TYPE: StructureType = StructureType::SYSTEM_PASSTHROUGH_LAYER_PROPERTIES_ANDROID;
17034 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17035 #[inline]
17036 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17037 let mut x = MaybeUninit::<Self>::uninit();
17038 unsafe {
17039 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17040 ty: Self::TYPE,
17041 next,
17042 });
17043 }
17044 x
17045 }
17046}
17047#[repr(C)]
17048#[derive(Copy, Clone, Debug)]
17049#[doc = "See [XrPassthroughLayerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerCreateInfoANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17050#[cfg(target_os = "android")]
17051pub struct PassthroughLayerCreateInfoANDROID {
17052 pub ty: StructureType,
17053 pub next: *const c_void,
17054 pub vertex_capacity: u32,
17055 pub index_capacity: u32,
17056}
17057#[cfg(target_os = "android")]
17058impl PassthroughLayerCreateInfoANDROID {
17059 pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_CREATE_INFO_ANDROID;
17060}
17061#[repr(C)]
17062#[derive(Copy, Clone, Debug)]
17063#[doc = "See [XrPassthroughLayerMeshANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPassthroughLayerMeshANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17064#[cfg(target_os = "android")]
17065pub struct PassthroughLayerMeshANDROID {
17066 pub ty: StructureType,
17067 pub next: *const c_void,
17068 pub winding_order: WindingOrderANDROID,
17069 pub vertex_count: u32,
17070 pub vertices: *const Vector3f,
17071 pub index_count: u32,
17072 pub indices: *const u16,
17073}
17074#[cfg(target_os = "android")]
17075impl PassthroughLayerMeshANDROID {
17076 pub const TYPE: StructureType = StructureType::PASSTHROUGH_LAYER_MESH_ANDROID;
17077}
17078#[repr(C)]
17079#[derive(Copy, Clone, Debug)]
17080#[doc = "See [XrCompositionLayerPassthroughANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCompositionLayerPassthroughANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
17081#[cfg(target_os = "android")]
17082pub struct CompositionLayerPassthroughANDROID {
17083 pub ty: StructureType,
17084 pub next: *const c_void,
17085 pub layer_flags: CompositionLayerFlags,
17086 pub space: Space,
17087 pub pose: Posef,
17088 pub scale: Vector3f,
17089 pub opacity: f32,
17090 pub layer: PassthroughLayerANDROID,
17091}
17092#[cfg(target_os = "android")]
17093impl CompositionLayerPassthroughANDROID {
17094 pub const TYPE: StructureType = StructureType::COMPOSITION_LAYER_PASSTHROUGH_ANDROID;
17095}
17096#[repr(C)]
17097#[derive(Copy, Clone, Debug)]
17098#[doc = "See [XrSystemSceneMeshingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSceneMeshingPropertiesANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17099#[cfg(target_os = "android")]
17100pub struct SystemSceneMeshingPropertiesANDROID {
17101 pub ty: StructureType,
17102 pub next: *mut c_void,
17103 pub supports_scene_meshing: Bool32,
17104}
17105#[cfg(target_os = "android")]
17106impl SystemSceneMeshingPropertiesANDROID {
17107 pub const TYPE: StructureType = StructureType::SYSTEM_SCENE_MESHING_PROPERTIES_ANDROID;
17108 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17109 #[inline]
17110 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17111 let mut x = MaybeUninit::<Self>::uninit();
17112 unsafe {
17113 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17114 ty: Self::TYPE,
17115 next,
17116 });
17117 }
17118 x
17119 }
17120}
17121#[repr(C)]
17122#[derive(Copy, Clone, Debug)]
17123#[doc = "See [XrSceneMeshingTrackerCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshingTrackerCreateInfoANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17124#[cfg(target_os = "android")]
17125pub struct SceneMeshingTrackerCreateInfoANDROID {
17126 pub ty: StructureType,
17127 pub next: *const c_void,
17128 pub semantic_label_set: SceneMeshSemanticLabelSetANDROID,
17129 pub enable_normals: Bool32,
17130}
17131#[cfg(target_os = "android")]
17132impl SceneMeshingTrackerCreateInfoANDROID {
17133 pub const TYPE: StructureType = StructureType::SCENE_MESHING_TRACKER_CREATE_INFO_ANDROID;
17134}
17135#[repr(C)]
17136#[derive(Copy, Clone, Debug)]
17137#[doc = "See [XrSceneMeshSnapshotCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSnapshotCreateInfoANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17138#[cfg(target_os = "android")]
17139pub struct SceneMeshSnapshotCreateInfoANDROID {
17140 pub ty: StructureType,
17141 pub next: *const c_void,
17142 pub base_space: Space,
17143 pub time: Time,
17144 pub bounding_box: Boxf,
17145}
17146#[cfg(target_os = "android")]
17147impl SceneMeshSnapshotCreateInfoANDROID {
17148 pub const TYPE: StructureType = StructureType::SCENE_MESH_SNAPSHOT_CREATE_INFO_ANDROID;
17149}
17150#[repr(C)]
17151#[derive(Copy, Clone, Debug)]
17152#[doc = "See [XrSceneMeshSnapshotCreationResultANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneMeshSnapshotCreationResultANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17153#[cfg(target_os = "android")]
17154pub struct SceneMeshSnapshotCreationResultANDROID {
17155 pub ty: StructureType,
17156 pub next: *const c_void,
17157 pub snapshot: SceneMeshSnapshotANDROID,
17158 pub tracking_state: SceneMeshTrackingStateANDROID,
17159}
17160#[cfg(target_os = "android")]
17161impl SceneMeshSnapshotCreationResultANDROID {
17162 pub const TYPE: StructureType = StructureType::SCENE_MESH_SNAPSHOT_CREATION_RESULT_ANDROID;
17163}
17164#[repr(C)]
17165#[derive(Copy, Clone, Debug)]
17166#[doc = "See [XrSceneSubmeshStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneSubmeshStateANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17167#[cfg(target_os = "android")]
17168pub struct SceneSubmeshStateANDROID {
17169 pub ty: StructureType,
17170 pub next: *mut c_void,
17171 pub submesh_id: Uuid,
17172 pub last_updated_time: Time,
17173 pub submesh_pose_in_base_space: Posef,
17174 pub bounds: Extent3Df,
17175}
17176#[cfg(target_os = "android")]
17177impl SceneSubmeshStateANDROID {
17178 pub const TYPE: StructureType = StructureType::SCENE_SUBMESH_STATE_ANDROID;
17179 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17180 #[inline]
17181 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17182 let mut x = MaybeUninit::<Self>::uninit();
17183 unsafe {
17184 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17185 ty: Self::TYPE,
17186 next,
17187 });
17188 }
17189 x
17190 }
17191}
17192#[repr(C)]
17193#[derive(Copy, Clone, Debug)]
17194#[doc = "See [XrSceneSubmeshDataANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneSubmeshDataANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
17195#[cfg(target_os = "android")]
17196pub struct SceneSubmeshDataANDROID {
17197 pub ty: StructureType,
17198 pub next: *const c_void,
17199 pub submesh_id: Uuid,
17200 pub vertex_capacity_input: u32,
17201 pub vertex_count_output: u32,
17202 pub vertex_positions: *mut Vector3f,
17203 pub vertex_normals: *mut Vector3f,
17204 pub vertex_semantics: *mut u8,
17205 pub index_capacity_input: u32,
17206 pub index_count_output: u32,
17207 pub indices: *mut u32,
17208}
17209#[cfg(target_os = "android")]
17210impl SceneSubmeshDataANDROID {
17211 pub const TYPE: StructureType = StructureType::SCENE_SUBMESH_DATA_ANDROID;
17212}
17213#[repr(C)]
17214#[derive(Copy, Clone, Debug)]
17215#[doc = "See [XrSystemPlaneDetectionPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemPlaneDetectionPropertiesEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
17216pub struct SystemPlaneDetectionPropertiesEXT {
17217 pub ty: StructureType,
17218 pub next: *mut c_void,
17219 pub supported_features: PlaneDetectionCapabilityFlagsEXT,
17220}
17221impl SystemPlaneDetectionPropertiesEXT {
17222 pub const TYPE: StructureType = StructureType::SYSTEM_PLANE_DETECTION_PROPERTIES_EXT;
17223 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17224 #[inline]
17225 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17226 let mut x = MaybeUninit::<Self>::uninit();
17227 unsafe {
17228 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17229 ty: Self::TYPE,
17230 next,
17231 });
17232 }
17233 x
17234 }
17235}
17236#[repr(C)]
17237#[derive(Copy, Clone, Debug)]
17238#[doc = "See [XrPlaneDetectorCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorCreateInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
17239pub struct PlaneDetectorCreateInfoEXT {
17240 pub ty: StructureType,
17241 pub next: *const c_void,
17242 pub flags: PlaneDetectorFlagsEXT,
17243}
17244impl PlaneDetectorCreateInfoEXT {
17245 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_CREATE_INFO_EXT;
17246}
17247#[repr(C)]
17248#[derive(Copy, Clone, Debug)]
17249#[doc = "See [XrPlaneDetectorBeginInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorBeginInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
17250pub struct PlaneDetectorBeginInfoEXT {
17251 pub ty: StructureType,
17252 pub next: *const c_void,
17253 pub base_space: Space,
17254 pub time: Time,
17255 pub orientation_count: u32,
17256 pub orientations: *const PlaneDetectorOrientationEXT,
17257 pub semantic_type_count: u32,
17258 pub semantic_types: *const PlaneDetectorSemanticTypeEXT,
17259 pub max_planes: u32,
17260 pub min_area: f32,
17261 pub bounding_box_pose: Posef,
17262 pub bounding_box_extent: Extent3DfEXT,
17263}
17264impl PlaneDetectorBeginInfoEXT {
17265 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_BEGIN_INFO_EXT;
17266}
17267#[repr(C)]
17268#[derive(Copy, Clone, Debug)]
17269#[doc = "See [XrPlaneDetectorGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorGetInfoEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
17270pub struct PlaneDetectorGetInfoEXT {
17271 pub ty: StructureType,
17272 pub next: *const c_void,
17273 pub base_space: Space,
17274 pub time: Time,
17275}
17276impl PlaneDetectorGetInfoEXT {
17277 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_GET_INFO_EXT;
17278}
17279#[repr(C)]
17280#[derive(Copy, Clone, Debug)]
17281#[doc = "See [XrPlaneDetectorLocationsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorLocationsEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
17282pub struct PlaneDetectorLocationsEXT {
17283 pub ty: StructureType,
17284 pub next: *mut c_void,
17285 pub plane_location_capacity_input: u32,
17286 pub plane_location_count_output: u32,
17287 pub plane_locations: *mut PlaneDetectorLocationEXT,
17288}
17289impl PlaneDetectorLocationsEXT {
17290 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATIONS_EXT;
17291 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17292 #[inline]
17293 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17294 let mut x = MaybeUninit::<Self>::uninit();
17295 unsafe {
17296 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17297 ty: Self::TYPE,
17298 next,
17299 });
17300 }
17301 x
17302 }
17303}
17304#[repr(C)]
17305#[derive(Copy, Clone, Debug)]
17306#[doc = "See [XrPlaneDetectorLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorLocationEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
17307pub struct PlaneDetectorLocationEXT {
17308 pub ty: StructureType,
17309 pub next: *mut c_void,
17310 pub plane_id: u64,
17311 pub location_flags: SpaceLocationFlags,
17312 pub pose: Posef,
17313 pub extents: Extent2Df,
17314 pub orientation: PlaneDetectorOrientationEXT,
17315 pub semantic_type: PlaneDetectorSemanticTypeEXT,
17316 pub polygon_buffer_count: u32,
17317}
17318impl PlaneDetectorLocationEXT {
17319 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_LOCATION_EXT;
17320 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17321 #[inline]
17322 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17323 let mut x = MaybeUninit::<Self>::uninit();
17324 unsafe {
17325 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17326 ty: Self::TYPE,
17327 next,
17328 });
17329 }
17330 x
17331 }
17332}
17333#[repr(C)]
17334#[derive(Copy, Clone, Debug)]
17335#[doc = "See [XrPlaneDetectorPolygonBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPlaneDetectorPolygonBufferEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
17336pub struct PlaneDetectorPolygonBufferEXT {
17337 pub ty: StructureType,
17338 pub next: *mut c_void,
17339 pub vertex_capacity_input: u32,
17340 pub vertex_count_output: u32,
17341 pub vertices: *mut Vector2f,
17342}
17343impl PlaneDetectorPolygonBufferEXT {
17344 pub const TYPE: StructureType = StructureType::PLANE_DETECTOR_POLYGON_BUFFER_EXT;
17345 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17346 #[inline]
17347 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17348 let mut x = MaybeUninit::<Self>::uninit();
17349 unsafe {
17350 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17351 ty: Self::TYPE,
17352 next,
17353 });
17354 }
17355 x
17356 }
17357}
17358#[repr(C)]
17359#[derive(Copy, Clone, Debug)]
17360#[doc = "See [XrSystemVirtualKeyboardPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemVirtualKeyboardPropertiesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17361pub struct SystemVirtualKeyboardPropertiesMETA {
17362 pub ty: StructureType,
17363 pub next: *mut c_void,
17364 pub supports_virtual_keyboard: Bool32,
17365}
17366impl SystemVirtualKeyboardPropertiesMETA {
17367 pub const TYPE: StructureType = StructureType::SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META;
17368 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17369 #[inline]
17370 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17371 let mut x = MaybeUninit::<Self>::uninit();
17372 unsafe {
17373 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17374 ty: Self::TYPE,
17375 next,
17376 });
17377 }
17378 x
17379 }
17380}
17381#[repr(C)]
17382#[derive(Copy, Clone, Debug)]
17383#[doc = "See [XrVirtualKeyboardCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardCreateInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17384pub struct VirtualKeyboardCreateInfoMETA {
17385 pub ty: StructureType,
17386 pub next: *const c_void,
17387}
17388impl VirtualKeyboardCreateInfoMETA {
17389 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_CREATE_INFO_META;
17390}
17391#[repr(C)]
17392#[derive(Copy, Clone, Debug)]
17393#[doc = "See [XrVirtualKeyboardSpaceCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardSpaceCreateInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17394pub struct VirtualKeyboardSpaceCreateInfoMETA {
17395 pub ty: StructureType,
17396 pub next: *const c_void,
17397 pub location_type: VirtualKeyboardLocationTypeMETA,
17398 pub space: Space,
17399 pub pose_in_space: Posef,
17400}
17401impl VirtualKeyboardSpaceCreateInfoMETA {
17402 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META;
17403}
17404#[repr(C)]
17405#[derive(Copy, Clone, Debug)]
17406#[doc = "See [XrVirtualKeyboardLocationInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardLocationInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17407pub struct VirtualKeyboardLocationInfoMETA {
17408 pub ty: StructureType,
17409 pub next: *const c_void,
17410 pub location_type: VirtualKeyboardLocationTypeMETA,
17411 pub space: Space,
17412 pub pose_in_space: Posef,
17413 pub scale: f32,
17414}
17415impl VirtualKeyboardLocationInfoMETA {
17416 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_LOCATION_INFO_META;
17417}
17418#[repr(C)]
17419#[derive(Copy, Clone, Debug)]
17420#[doc = "See [XrVirtualKeyboardModelVisibilitySetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardModelVisibilitySetInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17421pub struct VirtualKeyboardModelVisibilitySetInfoMETA {
17422 pub ty: StructureType,
17423 pub next: *const c_void,
17424 pub visible: Bool32,
17425}
17426impl VirtualKeyboardModelVisibilitySetInfoMETA {
17427 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META;
17428}
17429#[repr(C)]
17430#[derive(Copy, Clone, Debug)]
17431#[doc = "See [XrVirtualKeyboardAnimationStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardAnimationStateMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17432pub struct VirtualKeyboardAnimationStateMETA {
17433 pub ty: StructureType,
17434 pub next: *mut c_void,
17435 pub animation_index: i32,
17436 pub fraction: f32,
17437}
17438impl VirtualKeyboardAnimationStateMETA {
17439 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_ANIMATION_STATE_META;
17440 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17441 #[inline]
17442 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17443 let mut x = MaybeUninit::<Self>::uninit();
17444 unsafe {
17445 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17446 ty: Self::TYPE,
17447 next,
17448 });
17449 }
17450 x
17451 }
17452}
17453#[repr(C)]
17454#[derive(Copy, Clone, Debug)]
17455#[doc = "See [XrVirtualKeyboardModelAnimationStatesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardModelAnimationStatesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17456pub struct VirtualKeyboardModelAnimationStatesMETA {
17457 pub ty: StructureType,
17458 pub next: *mut c_void,
17459 pub state_capacity_input: u32,
17460 pub state_count_output: u32,
17461 pub states: *mut VirtualKeyboardAnimationStateMETA,
17462}
17463impl VirtualKeyboardModelAnimationStatesMETA {
17464 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META;
17465 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17466 #[inline]
17467 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17468 let mut x = MaybeUninit::<Self>::uninit();
17469 unsafe {
17470 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17471 ty: Self::TYPE,
17472 next,
17473 });
17474 }
17475 x
17476 }
17477}
17478#[repr(C)]
17479#[derive(Copy, Clone, Debug)]
17480#[doc = "See [XrVirtualKeyboardTextureDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardTextureDataMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17481pub struct VirtualKeyboardTextureDataMETA {
17482 pub ty: StructureType,
17483 pub next: *mut c_void,
17484 pub texture_width: u32,
17485 pub texture_height: u32,
17486 pub buffer_capacity_input: u32,
17487 pub buffer_count_output: u32,
17488 pub buffer: *mut u8,
17489}
17490impl VirtualKeyboardTextureDataMETA {
17491 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXTURE_DATA_META;
17492 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17493 #[inline]
17494 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17495 let mut x = MaybeUninit::<Self>::uninit();
17496 unsafe {
17497 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17498 ty: Self::TYPE,
17499 next,
17500 });
17501 }
17502 x
17503 }
17504}
17505#[repr(C)]
17506#[derive(Copy, Clone, Debug)]
17507#[doc = "See [XrVirtualKeyboardInputInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardInputInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17508pub struct VirtualKeyboardInputInfoMETA {
17509 pub ty: StructureType,
17510 pub next: *const c_void,
17511 pub input_source: VirtualKeyboardInputSourceMETA,
17512 pub input_space: Space,
17513 pub input_pose_in_space: Posef,
17514 pub input_state: VirtualKeyboardInputStateFlagsMETA,
17515}
17516impl VirtualKeyboardInputInfoMETA {
17517 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_INPUT_INFO_META;
17518}
17519#[repr(C)]
17520#[derive(Copy, Clone, Debug)]
17521#[doc = "See [XrVirtualKeyboardTextContextChangeInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrVirtualKeyboardTextContextChangeInfoMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17522pub struct VirtualKeyboardTextContextChangeInfoMETA {
17523 pub ty: StructureType,
17524 pub next: *const c_void,
17525 pub text_context: *const c_char,
17526}
17527impl VirtualKeyboardTextContextChangeInfoMETA {
17528 pub const TYPE: StructureType = StructureType::VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META;
17529}
17530#[repr(C)]
17531#[derive(Copy, Clone, Debug)]
17532#[doc = "See [XrEventDataVirtualKeyboardCommitTextMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardCommitTextMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17533pub struct EventDataVirtualKeyboardCommitTextMETA {
17534 pub ty: StructureType,
17535 pub next: *const c_void,
17536 pub keyboard: VirtualKeyboardMETA,
17537 pub text: [c_char; MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META],
17538}
17539impl EventDataVirtualKeyboardCommitTextMETA {
17540 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META;
17541}
17542#[repr(C)]
17543#[derive(Copy, Clone, Debug)]
17544#[doc = "See [XrEventDataVirtualKeyboardBackspaceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardBackspaceMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17545pub struct EventDataVirtualKeyboardBackspaceMETA {
17546 pub ty: StructureType,
17547 pub next: *const c_void,
17548 pub keyboard: VirtualKeyboardMETA,
17549}
17550impl EventDataVirtualKeyboardBackspaceMETA {
17551 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META;
17552}
17553#[repr(C)]
17554#[derive(Copy, Clone, Debug)]
17555#[doc = "See [XrEventDataVirtualKeyboardEnterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardEnterMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17556pub struct EventDataVirtualKeyboardEnterMETA {
17557 pub ty: StructureType,
17558 pub next: *const c_void,
17559 pub keyboard: VirtualKeyboardMETA,
17560}
17561impl EventDataVirtualKeyboardEnterMETA {
17562 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META;
17563}
17564#[repr(C)]
17565#[derive(Copy, Clone, Debug)]
17566#[doc = "See [XrEventDataVirtualKeyboardShownMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardShownMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17567pub struct EventDataVirtualKeyboardShownMETA {
17568 pub ty: StructureType,
17569 pub next: *const c_void,
17570 pub keyboard: VirtualKeyboardMETA,
17571}
17572impl EventDataVirtualKeyboardShownMETA {
17573 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META;
17574}
17575#[repr(C)]
17576#[derive(Copy, Clone, Debug)]
17577#[doc = "See [XrEventDataVirtualKeyboardHiddenMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataVirtualKeyboardHiddenMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
17578pub struct EventDataVirtualKeyboardHiddenMETA {
17579 pub ty: StructureType,
17580 pub next: *const c_void,
17581 pub keyboard: VirtualKeyboardMETA,
17582}
17583impl EventDataVirtualKeyboardHiddenMETA {
17584 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META;
17585}
17586#[repr(C)]
17587#[derive(Copy, Clone, Debug)]
17588#[doc = "See [XrUserCalibrationEnableEventsInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUserCalibrationEnableEventsInfoML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
17589pub struct UserCalibrationEnableEventsInfoML {
17590 pub ty: StructureType,
17591 pub next: *const c_void,
17592 pub enabled: Bool32,
17593}
17594impl UserCalibrationEnableEventsInfoML {
17595 pub const TYPE: StructureType = StructureType::USER_CALIBRATION_ENABLE_EVENTS_INFO_ML;
17596}
17597#[repr(C)]
17598#[derive(Copy, Clone, Debug)]
17599#[doc = "See [XrEventDataHeadsetFitChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataHeadsetFitChangedML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
17600pub struct EventDataHeadsetFitChangedML {
17601 pub ty: StructureType,
17602 pub next: *const c_void,
17603 pub status: HeadsetFitStatusML,
17604 pub time: Time,
17605}
17606impl EventDataHeadsetFitChangedML {
17607 pub const TYPE: StructureType = StructureType::EVENT_DATA_HEADSET_FIT_CHANGED_ML;
17608}
17609#[repr(C)]
17610#[derive(Copy, Clone, Debug)]
17611#[doc = "See [XrEventDataEyeCalibrationChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataEyeCalibrationChangedML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
17612pub struct EventDataEyeCalibrationChangedML {
17613 pub ty: StructureType,
17614 pub next: *const c_void,
17615 pub status: EyeCalibrationStatusML,
17616}
17617impl EventDataEyeCalibrationChangedML {
17618 pub const TYPE: StructureType = StructureType::EVENT_DATA_EYE_CALIBRATION_CHANGED_ML;
17619}
17620#[repr(C)]
17621#[derive(Copy, Clone, Debug)]
17622#[doc = "See [XrLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
17623pub struct LocalizationMapML {
17624 pub ty: StructureType,
17625 pub next: *mut c_void,
17626 pub name: [c_char; MAX_LOCALIZATION_MAP_NAME_LENGTH_ML],
17627 pub map_uuid: UuidEXT,
17628 pub map_type: LocalizationMapTypeML,
17629}
17630impl LocalizationMapML {
17631 pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_ML;
17632 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17633 #[inline]
17634 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17635 let mut x = MaybeUninit::<Self>::uninit();
17636 unsafe {
17637 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17638 ty: Self::TYPE,
17639 next,
17640 });
17641 }
17642 x
17643 }
17644}
17645#[repr(C)]
17646#[derive(Copy, Clone, Debug)]
17647#[doc = "See [XrLocalizationEnableEventsInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationEnableEventsInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
17648pub struct LocalizationEnableEventsInfoML {
17649 pub ty: StructureType,
17650 pub next: *const c_void,
17651 pub enabled: Bool32,
17652}
17653impl LocalizationEnableEventsInfoML {
17654 pub const TYPE: StructureType = StructureType::LOCALIZATION_ENABLE_EVENTS_INFO_ML;
17655}
17656#[repr(C)]
17657#[derive(Copy, Clone, Debug)]
17658#[doc = "See [XrEventDataLocalizationChangedML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataLocalizationChangedML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
17659pub struct EventDataLocalizationChangedML {
17660 pub ty: StructureType,
17661 pub next: *const c_void,
17662 pub session: Session,
17663 pub state: LocalizationMapStateML,
17664 pub map: LocalizationMapML,
17665 pub confidence: LocalizationMapConfidenceML,
17666 pub error_flags: LocalizationMapErrorFlagsML,
17667}
17668impl EventDataLocalizationChangedML {
17669 pub const TYPE: StructureType = StructureType::EVENT_DATA_LOCALIZATION_CHANGED_ML;
17670}
17671#[repr(C)]
17672#[derive(Copy, Clone, Debug)]
17673#[doc = "See [XrLocalizationMapQueryInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapQueryInfoBaseHeaderML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
17674pub struct LocalizationMapQueryInfoBaseHeaderML {
17675 pub ty: StructureType,
17676 pub next: *const c_void,
17677}
17678#[repr(C)]
17679#[derive(Copy, Clone, Debug)]
17680#[doc = "See [XrMapLocalizationRequestInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMapLocalizationRequestInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
17681pub struct MapLocalizationRequestInfoML {
17682 pub ty: StructureType,
17683 pub next: *const c_void,
17684 pub map_uuid: UuidEXT,
17685}
17686impl MapLocalizationRequestInfoML {
17687 pub const TYPE: StructureType = StructureType::MAP_LOCALIZATION_REQUEST_INFO_ML;
17688}
17689#[repr(C)]
17690#[derive(Copy, Clone, Debug)]
17691#[doc = "See [XrLocalizationMapImportInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLocalizationMapImportInfoML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
17692pub struct LocalizationMapImportInfoML {
17693 pub ty: StructureType,
17694 pub next: *const c_void,
17695 pub size: u32,
17696 pub data: *mut c_char,
17697}
17698impl LocalizationMapImportInfoML {
17699 pub const TYPE: StructureType = StructureType::LOCALIZATION_MAP_IMPORT_INFO_ML;
17700}
17701#[repr(C)]
17702#[derive(Copy, Clone, Debug)]
17703#[doc = "See [XrSystemMarkerUnderstandingPropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemMarkerUnderstandingPropertiesML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17704pub struct SystemMarkerUnderstandingPropertiesML {
17705 pub ty: StructureType,
17706 pub next: *mut c_void,
17707 pub supports_marker_understanding: Bool32,
17708}
17709impl SystemMarkerUnderstandingPropertiesML {
17710 pub const TYPE: StructureType = StructureType::SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML;
17711 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17712 #[inline]
17713 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17714 let mut x = MaybeUninit::<Self>::uninit();
17715 unsafe {
17716 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17717 ty: Self::TYPE,
17718 next,
17719 });
17720 }
17721 x
17722 }
17723}
17724#[repr(C)]
17725#[derive(Copy, Clone, Debug)]
17726#[doc = "See [XrMarkerDetectorCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCreateInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17727pub struct MarkerDetectorCreateInfoML {
17728 pub ty: StructureType,
17729 pub next: *const c_void,
17730 pub profile: MarkerDetectorProfileML,
17731 pub marker_type: MarkerTypeML,
17732}
17733impl MarkerDetectorCreateInfoML {
17734 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CREATE_INFO_ML;
17735}
17736#[repr(C)]
17737#[derive(Copy, Clone, Debug)]
17738#[doc = "See [XrMarkerDetectorArucoInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorArucoInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17739pub struct MarkerDetectorArucoInfoML {
17740 pub ty: StructureType,
17741 pub next: *const c_void,
17742 pub aruco_dict: MarkerArucoDictML,
17743}
17744impl MarkerDetectorArucoInfoML {
17745 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_ARUCO_INFO_ML;
17746}
17747#[repr(C)]
17748#[derive(Copy, Clone, Debug)]
17749#[doc = "See [XrMarkerDetectorSizeInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorSizeInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17750pub struct MarkerDetectorSizeInfoML {
17751 pub ty: StructureType,
17752 pub next: *const c_void,
17753 pub marker_length: f32,
17754}
17755impl MarkerDetectorSizeInfoML {
17756 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SIZE_INFO_ML;
17757}
17758#[repr(C)]
17759#[derive(Copy, Clone, Debug)]
17760#[doc = "See [XrMarkerDetectorAprilTagInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorAprilTagInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17761pub struct MarkerDetectorAprilTagInfoML {
17762 pub ty: StructureType,
17763 pub next: *const c_void,
17764 pub april_tag_dict: MarkerAprilTagDictML,
17765}
17766impl MarkerDetectorAprilTagInfoML {
17767 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_APRIL_TAG_INFO_ML;
17768}
17769#[repr(C)]
17770#[derive(Copy, Clone, Debug)]
17771#[doc = "See [XrMarkerDetectorCustomProfileInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorCustomProfileInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17772pub struct MarkerDetectorCustomProfileInfoML {
17773 pub ty: StructureType,
17774 pub next: *const c_void,
17775 pub fps_hint: MarkerDetectorFpsML,
17776 pub resolution_hint: MarkerDetectorResolutionML,
17777 pub camera_hint: MarkerDetectorCameraML,
17778 pub corner_refine_method: MarkerDetectorCornerRefineMethodML,
17779 pub use_edge_refinement: Bool32,
17780 pub full_analysis_interval_hint: MarkerDetectorFullAnalysisIntervalML,
17781}
17782impl MarkerDetectorCustomProfileInfoML {
17783 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML;
17784}
17785#[repr(C)]
17786#[derive(Copy, Clone, Debug)]
17787#[doc = "See [XrMarkerDetectorSnapshotInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorSnapshotInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17788pub struct MarkerDetectorSnapshotInfoML {
17789 pub ty: StructureType,
17790 pub next: *const c_void,
17791}
17792impl MarkerDetectorSnapshotInfoML {
17793 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_SNAPSHOT_INFO_ML;
17794}
17795#[repr(C)]
17796#[derive(Copy, Clone, Debug)]
17797#[doc = "See [XrMarkerDetectorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerDetectorStateML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17798pub struct MarkerDetectorStateML {
17799 pub ty: StructureType,
17800 pub next: *mut c_void,
17801 pub state: MarkerDetectorStatusML,
17802}
17803impl MarkerDetectorStateML {
17804 pub const TYPE: StructureType = StructureType::MARKER_DETECTOR_STATE_ML;
17805 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17806 #[inline]
17807 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17808 let mut x = MaybeUninit::<Self>::uninit();
17809 unsafe {
17810 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17811 ty: Self::TYPE,
17812 next,
17813 });
17814 }
17815 x
17816 }
17817}
17818#[repr(C)]
17819#[derive(Copy, Clone, Debug)]
17820#[doc = "See [XrMarkerSpaceCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrMarkerSpaceCreateInfoML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
17821pub struct MarkerSpaceCreateInfoML {
17822 pub ty: StructureType,
17823 pub next: *const c_void,
17824 pub marker_detector: MarkerDetectorML,
17825 pub marker: MarkerML,
17826 pub pose_in_marker_space: Posef,
17827}
17828impl MarkerSpaceCreateInfoML {
17829 pub const TYPE: StructureType = StructureType::MARKER_SPACE_CREATE_INFO_ML;
17830}
17831#[repr(C)]
17832#[derive(Copy, Clone, Debug, Default, PartialEq)]
17833#[doc = "See [XrColor3f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrColor3f)"]
17834pub struct Color3f {
17835 pub r: f32,
17836 pub g: f32,
17837 pub b: f32,
17838}
17839pub type Color3fKHR = Color3f;
17840#[repr(C)]
17841#[derive(Copy, Clone, Debug, Default, PartialEq)]
17842#[doc = "See [XrExtent3Df](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent3Df)"]
17843pub struct Extent3Df {
17844 pub width: f32,
17845 pub height: f32,
17846 pub depth: f32,
17847}
17848pub type Extent3DfEXT = Extent3Df;
17849pub type Extent3DfFB = Extent3Df;
17850pub type Extent3DfKHR = Extent3Df;
17851#[repr(C)]
17852#[derive(Copy, Clone, Debug, Default, PartialEq)]
17853#[doc = "See [XrSpheref](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpheref)"]
17854pub struct Spheref {
17855 pub center: Posef,
17856 pub radius: f32,
17857}
17858pub type SpherefKHR = Spheref;
17859#[repr(C)]
17860#[derive(Copy, Clone, Debug, Default, PartialEq)]
17861#[doc = "See [XrBoxf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBoxf)"]
17862pub struct Boxf {
17863 pub center: Posef,
17864 pub extents: Extent3Df,
17865}
17866pub type BoxfKHR = Boxf;
17867#[repr(C)]
17868#[derive(Copy, Clone, Debug, Default, PartialEq)]
17869#[doc = "See [XrFrustumf](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFrustumf)"]
17870pub struct Frustumf {
17871 pub pose: Posef,
17872 pub fov: Fovf,
17873 pub near_z: f32,
17874 pub far_z: f32,
17875}
17876pub type FrustumfKHR = Frustumf;
17877#[repr(C)]
17878#[derive(Copy, Clone, Debug, Default, PartialEq)]
17879#[doc = "See [XrUuid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUuid)"]
17880pub struct Uuid {
17881 pub data: [u8; UUID_SIZE],
17882}
17883pub type UuidEXT = Uuid;
17884#[repr(C)]
17885#[derive(Copy, Clone, Debug)]
17886#[doc = "See [XrSystemFacialExpressionPropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialExpressionPropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
17887pub struct SystemFacialExpressionPropertiesML {
17888 pub ty: StructureType,
17889 pub next: *mut c_void,
17890 pub supports_facial_expression: Bool32,
17891}
17892impl SystemFacialExpressionPropertiesML {
17893 pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML;
17894 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17895 #[inline]
17896 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17897 let mut x = MaybeUninit::<Self>::uninit();
17898 unsafe {
17899 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17900 ty: Self::TYPE,
17901 next,
17902 });
17903 }
17904 x
17905 }
17906}
17907#[repr(C)]
17908#[derive(Copy, Clone, Debug)]
17909#[doc = "See [XrFacialExpressionClientCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionClientCreateInfoML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
17910pub struct FacialExpressionClientCreateInfoML {
17911 pub ty: StructureType,
17912 pub next: *const c_void,
17913 pub requested_count: u32,
17914 pub requested_facial_blend_shapes: *const FacialBlendShapeML,
17915}
17916impl FacialExpressionClientCreateInfoML {
17917 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML;
17918}
17919#[repr(C)]
17920#[derive(Copy, Clone, Debug)]
17921#[doc = "See [XrFacialExpressionBlendShapePropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapePropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
17922pub struct FacialExpressionBlendShapePropertiesML {
17923 pub ty: StructureType,
17924 pub next: *mut c_void,
17925 pub requested_facial_blend_shape: FacialBlendShapeML,
17926 pub weight: f32,
17927 pub flags: FacialExpressionBlendShapePropertiesFlagsML,
17928 pub time: Time,
17929}
17930impl FacialExpressionBlendShapePropertiesML {
17931 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML;
17932 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17933 #[inline]
17934 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17935 let mut x = MaybeUninit::<Self>::uninit();
17936 unsafe {
17937 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17938 ty: Self::TYPE,
17939 next,
17940 });
17941 }
17942 x
17943 }
17944}
17945#[repr(C)]
17946#[derive(Copy, Clone, Debug)]
17947#[doc = "See [XrFacialExpressionBlendShapeGetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialExpressionBlendShapeGetInfoML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
17948pub struct FacialExpressionBlendShapeGetInfoML {
17949 pub ty: StructureType,
17950 pub next: *const c_void,
17951}
17952impl FacialExpressionBlendShapeGetInfoML {
17953 pub const TYPE: StructureType = StructureType::FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML;
17954}
17955#[repr(C)]
17956#[derive(Copy, Clone, Debug)]
17957#[doc = "See [XrRecommendedLayerResolutionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRecommendedLayerResolutionMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
17958pub struct RecommendedLayerResolutionMETA {
17959 pub ty: StructureType,
17960 pub next: *mut c_void,
17961 pub recommended_image_dimensions: Extent2Di,
17962 pub is_valid: Bool32,
17963}
17964impl RecommendedLayerResolutionMETA {
17965 pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_META;
17966 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
17967 #[inline]
17968 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
17969 let mut x = MaybeUninit::<Self>::uninit();
17970 unsafe {
17971 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
17972 ty: Self::TYPE,
17973 next,
17974 });
17975 }
17976 x
17977 }
17978}
17979#[repr(C)]
17980#[derive(Copy, Clone, Debug)]
17981#[doc = "See [XrRecommendedLayerResolutionGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRecommendedLayerResolutionGetInfoMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
17982pub struct RecommendedLayerResolutionGetInfoMETA {
17983 pub ty: StructureType,
17984 pub next: *const c_void,
17985 pub layer: *const CompositionLayerBaseHeader,
17986 pub predicted_display_time: Time,
17987}
17988impl RecommendedLayerResolutionGetInfoMETA {
17989 pub const TYPE: StructureType = StructureType::RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META;
17990}
17991#[repr(C)]
17992#[derive(Copy, Clone, Debug)]
17993#[doc = "See [XrSystemUserPresencePropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemUserPresencePropertiesEXT) - defined by [XR_EXT_user_presence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_user_presence)"]
17994pub struct SystemUserPresencePropertiesEXT {
17995 pub ty: StructureType,
17996 pub next: *mut c_void,
17997 pub supports_user_presence: Bool32,
17998}
17999impl SystemUserPresencePropertiesEXT {
18000 pub const TYPE: StructureType = StructureType::SYSTEM_USER_PRESENCE_PROPERTIES_EXT;
18001 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18002 #[inline]
18003 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18004 let mut x = MaybeUninit::<Self>::uninit();
18005 unsafe {
18006 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18007 ty: Self::TYPE,
18008 next,
18009 });
18010 }
18011 x
18012 }
18013}
18014#[repr(C)]
18015#[derive(Copy, Clone, Debug)]
18016#[doc = "See [XrEventDataUserPresenceChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataUserPresenceChangedEXT) - defined by [XR_EXT_user_presence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_user_presence)"]
18017pub struct EventDataUserPresenceChangedEXT {
18018 pub ty: StructureType,
18019 pub next: *const c_void,
18020 pub session: Session,
18021 pub is_user_present: Bool32,
18022}
18023impl EventDataUserPresenceChangedEXT {
18024 pub const TYPE: StructureType = StructureType::EVENT_DATA_USER_PRESENCE_CHANGED_EXT;
18025}
18026#[repr(C)]
18027#[derive(Copy, Clone, Debug)]
18028#[doc = "See [XrFutureCompletionBaseHeaderEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCompletionBaseHeaderEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
18029pub struct FutureCompletionBaseHeaderEXT {
18030 pub ty: StructureType,
18031 pub next: *mut c_void,
18032 pub future_result: Result,
18033}
18034#[repr(C)]
18035#[derive(Copy, Clone, Debug)]
18036#[doc = "See [XrFutureCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCompletionEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
18037pub struct FutureCompletionEXT {
18038 pub ty: StructureType,
18039 pub next: *mut c_void,
18040 pub future_result: Result,
18041}
18042impl FutureCompletionEXT {
18043 pub const TYPE: StructureType = StructureType::FUTURE_COMPLETION_EXT;
18044 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18045 #[inline]
18046 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18047 let mut x = MaybeUninit::<Self>::uninit();
18048 unsafe {
18049 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18050 ty: Self::TYPE,
18051 next,
18052 });
18053 }
18054 x
18055 }
18056}
18057#[repr(C)]
18058#[derive(Copy, Clone, Debug)]
18059#[doc = "See [XrFutureCancelInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFutureCancelInfoEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
18060pub struct FutureCancelInfoEXT {
18061 pub ty: StructureType,
18062 pub next: *const c_void,
18063 pub future: FutureEXT,
18064}
18065impl FutureCancelInfoEXT {
18066 pub const TYPE: StructureType = StructureType::FUTURE_CANCEL_INFO_EXT;
18067}
18068#[repr(C)]
18069#[derive(Copy, Clone, Debug)]
18070#[doc = "See [XrFuturePollInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollInfoEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
18071pub struct FuturePollInfoEXT {
18072 pub ty: StructureType,
18073 pub next: *const c_void,
18074 pub future: FutureEXT,
18075}
18076impl FuturePollInfoEXT {
18077 pub const TYPE: StructureType = StructureType::FUTURE_POLL_INFO_EXT;
18078}
18079#[repr(C)]
18080#[derive(Copy, Clone, Debug)]
18081#[doc = "See [XrFuturePollResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFuturePollResultEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
18082pub struct FuturePollResultEXT {
18083 pub ty: StructureType,
18084 pub next: *mut c_void,
18085 pub state: FutureStateEXT,
18086}
18087impl FuturePollResultEXT {
18088 pub const TYPE: StructureType = StructureType::FUTURE_POLL_RESULT_EXT;
18089 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18090 #[inline]
18091 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18092 let mut x = MaybeUninit::<Self>::uninit();
18093 unsafe {
18094 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18095 ty: Self::TYPE,
18096 next,
18097 });
18098 }
18099 x
18100 }
18101}
18102#[repr(C)]
18103#[derive(Copy, Clone, Debug)]
18104#[doc = "See [XrEnvironmentDepthProviderCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthProviderCreateInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18105pub struct EnvironmentDepthProviderCreateInfoMETA {
18106 pub ty: StructureType,
18107 pub next: *const c_void,
18108 pub create_flags: EnvironmentDepthProviderCreateFlagsMETA,
18109}
18110impl EnvironmentDepthProviderCreateInfoMETA {
18111 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META;
18112}
18113#[repr(C)]
18114#[derive(Copy, Clone, Debug)]
18115#[doc = "See [XrEnvironmentDepthSwapchainCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainCreateInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18116pub struct EnvironmentDepthSwapchainCreateInfoMETA {
18117 pub ty: StructureType,
18118 pub next: *const c_void,
18119 pub create_flags: EnvironmentDepthSwapchainCreateFlagsMETA,
18120}
18121impl EnvironmentDepthSwapchainCreateInfoMETA {
18122 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META;
18123}
18124#[repr(C)]
18125#[derive(Copy, Clone, Debug)]
18126#[doc = "See [XrEnvironmentDepthSwapchainStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthSwapchainStateMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18127pub struct EnvironmentDepthSwapchainStateMETA {
18128 pub ty: StructureType,
18129 pub next: *mut c_void,
18130 pub width: u32,
18131 pub height: u32,
18132}
18133impl EnvironmentDepthSwapchainStateMETA {
18134 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META;
18135 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18136 #[inline]
18137 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18138 let mut x = MaybeUninit::<Self>::uninit();
18139 unsafe {
18140 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18141 ty: Self::TYPE,
18142 next,
18143 });
18144 }
18145 x
18146 }
18147}
18148#[repr(C)]
18149#[derive(Copy, Clone, Debug)]
18150#[doc = "See [XrEnvironmentDepthImageAcquireInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageAcquireInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18151pub struct EnvironmentDepthImageAcquireInfoMETA {
18152 pub ty: StructureType,
18153 pub next: *const c_void,
18154 pub space: Space,
18155 pub display_time: Time,
18156}
18157impl EnvironmentDepthImageAcquireInfoMETA {
18158 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META;
18159}
18160#[repr(C)]
18161#[derive(Copy, Clone, Debug)]
18162#[doc = "See [XrEnvironmentDepthImageViewMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageViewMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18163pub struct EnvironmentDepthImageViewMETA {
18164 pub ty: StructureType,
18165 pub next: *const c_void,
18166 pub fov: Fovf,
18167 pub pose: Posef,
18168}
18169impl EnvironmentDepthImageViewMETA {
18170 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_VIEW_META;
18171}
18172#[repr(C)]
18173#[derive(Copy, Clone, Debug)]
18174#[doc = "See [XrEnvironmentDepthImageMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18175pub struct EnvironmentDepthImageMETA {
18176 pub ty: StructureType,
18177 pub next: *const c_void,
18178 pub swapchain_index: u32,
18179 pub near_z: f32,
18180 pub far_z: f32,
18181 pub views: [EnvironmentDepthImageViewMETA; 2usize],
18182}
18183impl EnvironmentDepthImageMETA {
18184 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_META;
18185}
18186#[repr(C)]
18187#[derive(Copy, Clone, Debug)]
18188#[doc = "See [XrEnvironmentDepthImageTimestampMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthImageTimestampMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18189pub struct EnvironmentDepthImageTimestampMETA {
18190 pub ty: StructureType,
18191 pub next: *const c_void,
18192 pub capture_time: Time,
18193}
18194impl EnvironmentDepthImageTimestampMETA {
18195 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_IMAGE_TIMESTAMP_META;
18196}
18197#[repr(C)]
18198#[derive(Copy, Clone, Debug)]
18199#[doc = "See [XrEnvironmentDepthHandRemovalSetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentDepthHandRemovalSetInfoMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18200pub struct EnvironmentDepthHandRemovalSetInfoMETA {
18201 pub ty: StructureType,
18202 pub next: *const c_void,
18203 pub enabled: Bool32,
18204}
18205impl EnvironmentDepthHandRemovalSetInfoMETA {
18206 pub const TYPE: StructureType = StructureType::ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META;
18207}
18208#[repr(C)]
18209#[derive(Copy, Clone, Debug)]
18210#[doc = "See [XrSystemEnvironmentDepthPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEnvironmentDepthPropertiesMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
18211pub struct SystemEnvironmentDepthPropertiesMETA {
18212 pub ty: StructureType,
18213 pub next: *mut c_void,
18214 pub supports_environment_depth: Bool32,
18215 pub supports_hand_removal: Bool32,
18216}
18217impl SystemEnvironmentDepthPropertiesMETA {
18218 pub const TYPE: StructureType = StructureType::SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META;
18219 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18220 #[inline]
18221 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18222 let mut x = MaybeUninit::<Self>::uninit();
18223 unsafe {
18224 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18225 ty: Self::TYPE,
18226 next,
18227 });
18228 }
18229 x
18230 }
18231}
18232#[repr(C)]
18233#[derive(Copy, Clone, Debug)]
18234#[doc = "See [XrSpacesLocateInfo](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpacesLocateInfo)"]
18235pub struct SpacesLocateInfo {
18236 pub ty: StructureType,
18237 pub next: *const c_void,
18238 pub base_space: Space,
18239 pub time: Time,
18240 pub space_count: u32,
18241 pub spaces: *const Space,
18242}
18243impl SpacesLocateInfo {
18244 pub const TYPE: StructureType = StructureType::SPACES_LOCATE_INFO;
18245}
18246pub type SpacesLocateInfoKHR = SpacesLocateInfo;
18247#[repr(C)]
18248#[derive(Copy, Clone, Debug)]
18249#[doc = "See [XrSpaceLocations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocations)"]
18250pub struct SpaceLocations {
18251 pub ty: StructureType,
18252 pub next: *mut c_void,
18253 pub location_count: u32,
18254 pub locations: *mut SpaceLocationData,
18255}
18256impl SpaceLocations {
18257 pub const TYPE: StructureType = StructureType::SPACE_LOCATIONS;
18258 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18259 #[inline]
18260 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18261 let mut x = MaybeUninit::<Self>::uninit();
18262 unsafe {
18263 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18264 ty: Self::TYPE,
18265 next,
18266 });
18267 }
18268 x
18269 }
18270}
18271pub type SpaceLocationsKHR = SpaceLocations;
18272#[repr(C)]
18273#[derive(Copy, Clone, Debug, Default, PartialEq)]
18274#[doc = "See [XrSpaceLocationData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceLocationData)"]
18275pub struct SpaceLocationData {
18276 pub location_flags: SpaceLocationFlags,
18277 pub pose: Posef,
18278}
18279pub type SpaceLocationDataKHR = SpaceLocationData;
18280#[repr(C)]
18281#[derive(Copy, Clone, Debug)]
18282#[doc = "See [XrSpaceVelocities](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocities)"]
18283pub struct SpaceVelocities {
18284 pub ty: StructureType,
18285 pub next: *mut c_void,
18286 pub velocity_count: u32,
18287 pub velocities: *mut SpaceVelocityData,
18288}
18289impl SpaceVelocities {
18290 pub const TYPE: StructureType = StructureType::SPACE_VELOCITIES;
18291 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18292 #[inline]
18293 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18294 let mut x = MaybeUninit::<Self>::uninit();
18295 unsafe {
18296 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18297 ty: Self::TYPE,
18298 next,
18299 });
18300 }
18301 x
18302 }
18303}
18304pub type SpaceVelocitiesKHR = SpaceVelocities;
18305#[repr(C)]
18306#[derive(Copy, Clone, Debug, Default, PartialEq)]
18307#[doc = "See [XrSpaceVelocityData](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpaceVelocityData)"]
18308pub struct SpaceVelocityData {
18309 pub velocity_flags: SpaceVelocityFlags,
18310 pub linear_velocity: Vector3f,
18311 pub angular_velocity: Vector3f,
18312}
18313pub type SpaceVelocityDataKHR = SpaceVelocityData;
18314#[repr(C)]
18315#[derive(Copy, Clone, Debug)]
18316#[doc = "See [XrSpatialCapabilityComponentTypesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityComponentTypesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18317pub struct SpatialCapabilityComponentTypesEXT {
18318 pub ty: StructureType,
18319 pub next: *mut c_void,
18320 pub component_type_capacity_input: u32,
18321 pub component_type_count_output: u32,
18322 pub component_types: *mut SpatialComponentTypeEXT,
18323}
18324impl SpatialCapabilityComponentTypesEXT {
18325 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT;
18326 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18327 #[inline]
18328 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18329 let mut x = MaybeUninit::<Self>::uninit();
18330 unsafe {
18331 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18332 ty: Self::TYPE,
18333 next,
18334 });
18335 }
18336 x
18337 }
18338}
18339#[repr(C)]
18340#[derive(Copy, Clone, Debug)]
18341#[doc = "See [XrSpatialCapabilityConfigurationBaseHeaderEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationBaseHeaderEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18342pub struct SpatialCapabilityConfigurationBaseHeaderEXT {
18343 pub ty: StructureType,
18344 pub next: *const c_void,
18345 pub capability: SpatialCapabilityEXT,
18346 pub enabled_component_count: u32,
18347 pub enabled_components: *const SpatialComponentTypeEXT,
18348}
18349#[repr(C)]
18350#[derive(Copy, Clone, Debug)]
18351#[doc = "See [XrSpatialContextCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18352pub struct SpatialContextCreateInfoEXT {
18353 pub ty: StructureType,
18354 pub next: *const c_void,
18355 pub capability_config_count: u32,
18356 pub capability_configs: *const *const SpatialCapabilityConfigurationBaseHeaderEXT,
18357}
18358impl SpatialContextCreateInfoEXT {
18359 pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_CREATE_INFO_EXT;
18360}
18361#[repr(C)]
18362#[derive(Copy, Clone, Debug)]
18363#[doc = "See [XrCreateSpatialContextCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialContextCompletionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18364pub struct CreateSpatialContextCompletionEXT {
18365 pub ty: StructureType,
18366 pub next: *mut c_void,
18367 pub future_result: Result,
18368 pub spatial_context: SpatialContextEXT,
18369}
18370impl CreateSpatialContextCompletionEXT {
18371 pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_CONTEXT_COMPLETION_EXT;
18372 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18373 #[inline]
18374 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18375 let mut x = MaybeUninit::<Self>::uninit();
18376 unsafe {
18377 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18378 ty: Self::TYPE,
18379 next,
18380 });
18381 }
18382 x
18383 }
18384}
18385#[repr(C)]
18386#[derive(Copy, Clone, Debug)]
18387#[doc = "See [XrSpatialDiscoverySnapshotCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoverySnapshotCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18388pub struct SpatialDiscoverySnapshotCreateInfoEXT {
18389 pub ty: StructureType,
18390 pub next: *const c_void,
18391 pub component_type_count: u32,
18392 pub component_types: *const SpatialComponentTypeEXT,
18393}
18394impl SpatialDiscoverySnapshotCreateInfoEXT {
18395 pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT;
18396}
18397#[repr(C)]
18398#[derive(Copy, Clone, Debug)]
18399#[doc = "See [XrCreateSpatialDiscoverySnapshotCompletionInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialDiscoverySnapshotCompletionInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18400pub struct CreateSpatialDiscoverySnapshotCompletionInfoEXT {
18401 pub ty: StructureType,
18402 pub next: *const c_void,
18403 pub base_space: Space,
18404 pub time: Time,
18405 pub future: FutureEXT,
18406}
18407impl CreateSpatialDiscoverySnapshotCompletionInfoEXT {
18408 pub const TYPE: StructureType =
18409 StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT;
18410}
18411#[repr(C)]
18412#[derive(Copy, Clone, Debug)]
18413#[doc = "See [XrCreateSpatialDiscoverySnapshotCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialDiscoverySnapshotCompletionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18414pub struct CreateSpatialDiscoverySnapshotCompletionEXT {
18415 pub ty: StructureType,
18416 pub next: *mut c_void,
18417 pub future_result: Result,
18418 pub snapshot: SpatialSnapshotEXT,
18419}
18420impl CreateSpatialDiscoverySnapshotCompletionEXT {
18421 pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT;
18422 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18423 #[inline]
18424 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18425 let mut x = MaybeUninit::<Self>::uninit();
18426 unsafe {
18427 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18428 ty: Self::TYPE,
18429 next,
18430 });
18431 }
18432 x
18433 }
18434}
18435#[repr(C)]
18436#[derive(Copy, Clone, Debug)]
18437#[doc = "See [XrSpatialComponentDataQueryConditionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentDataQueryConditionEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18438pub struct SpatialComponentDataQueryConditionEXT {
18439 pub ty: StructureType,
18440 pub next: *const c_void,
18441 pub component_type_count: u32,
18442 pub component_types: *const SpatialComponentTypeEXT,
18443}
18444impl SpatialComponentDataQueryConditionEXT {
18445 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT;
18446}
18447#[repr(C)]
18448#[derive(Copy, Clone, Debug)]
18449#[doc = "See [XrSpatialComponentDataQueryResultEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentDataQueryResultEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18450pub struct SpatialComponentDataQueryResultEXT {
18451 pub ty: StructureType,
18452 pub next: *mut c_void,
18453 pub entity_id_capacity_input: u32,
18454 pub entity_id_count_output: u32,
18455 pub entity_ids: *mut SpatialEntityIdEXT,
18456 pub entity_state_capacity_input: u32,
18457 pub entity_state_count_output: u32,
18458 pub entity_states: *mut SpatialEntityTrackingStateEXT,
18459}
18460impl SpatialComponentDataQueryResultEXT {
18461 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT;
18462 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18463 #[inline]
18464 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18465 let mut x = MaybeUninit::<Self>::uninit();
18466 unsafe {
18467 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18468 ty: Self::TYPE,
18469 next,
18470 });
18471 }
18472 x
18473 }
18474}
18475#[repr(C)]
18476#[derive(Copy, Clone, Debug, Default, PartialEq)]
18477#[doc = "See [XrSpatialBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18478pub struct SpatialBufferEXT {
18479 pub buffer_id: SpatialBufferIdEXT,
18480 pub buffer_type: SpatialBufferTypeEXT,
18481}
18482#[repr(C)]
18483#[derive(Copy, Clone, Debug)]
18484#[doc = "See [XrSpatialBufferGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBufferGetInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18485pub struct SpatialBufferGetInfoEXT {
18486 pub ty: StructureType,
18487 pub next: *const c_void,
18488 pub buffer_id: SpatialBufferIdEXT,
18489}
18490impl SpatialBufferGetInfoEXT {
18491 pub const TYPE: StructureType = StructureType::SPATIAL_BUFFER_GET_INFO_EXT;
18492}
18493#[repr(C)]
18494#[derive(Copy, Clone, Debug, Default, PartialEq)]
18495#[doc = "See [XrSpatialBounded2DDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialBounded2DDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18496pub struct SpatialBounded2DDataEXT {
18497 pub center: Posef,
18498 pub extents: Extent2Df,
18499}
18500#[repr(C)]
18501#[derive(Copy, Clone, Debug)]
18502#[doc = "See [XrSpatialComponentBounded2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentBounded2DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18503pub struct SpatialComponentBounded2DListEXT {
18504 pub ty: StructureType,
18505 pub next: *mut c_void,
18506 pub bound_count: u32,
18507 pub bounds: *mut SpatialBounded2DDataEXT,
18508}
18509impl SpatialComponentBounded2DListEXT {
18510 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT;
18511 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18512 #[inline]
18513 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18514 let mut x = MaybeUninit::<Self>::uninit();
18515 unsafe {
18516 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18517 ty: Self::TYPE,
18518 next,
18519 });
18520 }
18521 x
18522 }
18523}
18524#[repr(C)]
18525#[derive(Copy, Clone, Debug)]
18526#[doc = "See [XrSpatialComponentBounded3DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentBounded3DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18527#[cfg(windows)]
18528pub struct SpatialComponentBounded3DListEXT {
18529 pub ty: StructureType,
18530 pub next: *mut c_void,
18531 pub bound_count: u32,
18532 pub bounds: *mut Boxf,
18533}
18534#[cfg(windows)]
18535impl SpatialComponentBounded3DListEXT {
18536 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT;
18537 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18538 #[inline]
18539 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18540 let mut x = MaybeUninit::<Self>::uninit();
18541 unsafe {
18542 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18543 ty: Self::TYPE,
18544 next,
18545 });
18546 }
18547 x
18548 }
18549}
18550#[repr(C)]
18551#[derive(Copy, Clone, Debug)]
18552#[doc = "See [XrSpatialComponentParentListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentParentListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18553pub struct SpatialComponentParentListEXT {
18554 pub ty: StructureType,
18555 pub next: *mut c_void,
18556 pub parent_count: u32,
18557 pub parents: *mut SpatialEntityIdEXT,
18558}
18559impl SpatialComponentParentListEXT {
18560 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PARENT_LIST_EXT;
18561 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18562 #[inline]
18563 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18564 let mut x = MaybeUninit::<Self>::uninit();
18565 unsafe {
18566 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18567 ty: Self::TYPE,
18568 next,
18569 });
18570 }
18571 x
18572 }
18573}
18574#[repr(C)]
18575#[derive(Copy, Clone, Debug, Default, PartialEq)]
18576#[doc = "See [XrSpatialMeshDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMeshDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18577pub struct SpatialMeshDataEXT {
18578 pub origin: Posef,
18579 pub vertex_buffer: SpatialBufferEXT,
18580 pub index_buffer: SpatialBufferEXT,
18581}
18582#[repr(C)]
18583#[derive(Copy, Clone, Debug)]
18584#[doc = "See [XrSpatialComponentMesh3DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMesh3DListEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18585pub struct SpatialComponentMesh3DListEXT {
18586 pub ty: StructureType,
18587 pub next: *mut c_void,
18588 pub mesh_count: u32,
18589 pub meshes: *mut SpatialMeshDataEXT,
18590}
18591impl SpatialComponentMesh3DListEXT {
18592 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_3D_LIST_EXT;
18593 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18594 #[inline]
18595 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18596 let mut x = MaybeUninit::<Self>::uninit();
18597 unsafe {
18598 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18599 ty: Self::TYPE,
18600 next,
18601 });
18602 }
18603 x
18604 }
18605}
18606#[repr(C)]
18607#[derive(Copy, Clone, Debug)]
18608#[doc = "See [XrSpatialEntityFromIdCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityFromIdCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18609pub struct SpatialEntityFromIdCreateInfoEXT {
18610 pub ty: StructureType,
18611 pub next: *const c_void,
18612 pub entity_id: SpatialEntityIdEXT,
18613}
18614impl SpatialEntityFromIdCreateInfoEXT {
18615 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT;
18616}
18617#[repr(C)]
18618#[derive(Copy, Clone, Debug)]
18619#[doc = "See [XrSpatialUpdateSnapshotCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialUpdateSnapshotCreateInfoEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18620pub struct SpatialUpdateSnapshotCreateInfoEXT {
18621 pub ty: StructureType,
18622 pub next: *const c_void,
18623 pub entity_count: u32,
18624 pub entities: *const SpatialEntityEXT,
18625 pub component_type_count: u32,
18626 pub component_types: *const SpatialComponentTypeEXT,
18627 pub base_space: Space,
18628 pub time: Time,
18629}
18630impl SpatialUpdateSnapshotCreateInfoEXT {
18631 pub const TYPE: StructureType = StructureType::SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT;
18632}
18633#[repr(C)]
18634#[derive(Copy, Clone, Debug)]
18635#[doc = "See [XrEventDataSpatialDiscoveryRecommendedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSpatialDiscoveryRecommendedEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18636pub struct EventDataSpatialDiscoveryRecommendedEXT {
18637 pub ty: StructureType,
18638 pub next: *const c_void,
18639 pub spatial_context: SpatialContextEXT,
18640}
18641impl EventDataSpatialDiscoveryRecommendedEXT {
18642 pub const TYPE: StructureType = StructureType::EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT;
18643}
18644#[repr(C)]
18645#[derive(Copy, Clone, Debug)]
18646#[doc = "See [XrSpatialFilterTrackingStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialFilterTrackingStateEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
18647pub struct SpatialFilterTrackingStateEXT {
18648 pub ty: StructureType,
18649 pub next: *const c_void,
18650 pub tracking_state: SpatialEntityTrackingStateEXT,
18651}
18652impl SpatialFilterTrackingStateEXT {
18653 pub const TYPE: StructureType = StructureType::SPATIAL_FILTER_TRACKING_STATE_EXT;
18654}
18655#[repr(C)]
18656#[derive(Copy, Clone, Debug)]
18657#[doc = "See [XrSpatialCapabilityConfigurationAnchorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationAnchorEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
18658pub struct SpatialCapabilityConfigurationAnchorEXT {
18659 pub ty: StructureType,
18660 pub next: *const c_void,
18661 pub capability: SpatialCapabilityEXT,
18662 pub enabled_component_count: u32,
18663 pub enabled_components: *const SpatialComponentTypeEXT,
18664}
18665impl SpatialCapabilityConfigurationAnchorEXT {
18666 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT;
18667}
18668#[repr(C)]
18669#[derive(Copy, Clone, Debug)]
18670#[doc = "See [XrSpatialComponentAnchorListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentAnchorListEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
18671pub struct SpatialComponentAnchorListEXT {
18672 pub ty: StructureType,
18673 pub next: *mut c_void,
18674 pub location_count: u32,
18675 pub locations: *mut Posef,
18676}
18677impl SpatialComponentAnchorListEXT {
18678 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_ANCHOR_LIST_EXT;
18679 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18680 #[inline]
18681 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18682 let mut x = MaybeUninit::<Self>::uninit();
18683 unsafe {
18684 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18685 ty: Self::TYPE,
18686 next,
18687 });
18688 }
18689 x
18690 }
18691}
18692#[repr(C)]
18693#[derive(Copy, Clone, Debug)]
18694#[doc = "See [XrSpatialAnchorCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
18695pub struct SpatialAnchorCreateInfoEXT {
18696 pub ty: StructureType,
18697 pub next: *const c_void,
18698 pub base_space: Space,
18699 pub time: Time,
18700 pub pose: Posef,
18701}
18702impl SpatialAnchorCreateInfoEXT {
18703 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_EXT;
18704}
18705#[repr(C)]
18706#[derive(Copy, Clone, Debug)]
18707#[doc = "See [XrSpatialPersistenceContextCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceContextCreateInfoEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
18708pub struct SpatialPersistenceContextCreateInfoEXT {
18709 pub ty: StructureType,
18710 pub next: *const c_void,
18711 pub scope: SpatialPersistenceScopeEXT,
18712}
18713impl SpatialPersistenceContextCreateInfoEXT {
18714 pub const TYPE: StructureType = StructureType::SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT;
18715}
18716#[repr(C)]
18717#[derive(Copy, Clone, Debug)]
18718#[doc = "See [XrCreateSpatialPersistenceContextCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialPersistenceContextCompletionEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
18719pub struct CreateSpatialPersistenceContextCompletionEXT {
18720 pub ty: StructureType,
18721 pub next: *mut c_void,
18722 pub future_result: Result,
18723 pub create_result: SpatialPersistenceContextResultEXT,
18724 pub persistence_context: SpatialPersistenceContextEXT,
18725}
18726impl CreateSpatialPersistenceContextCompletionEXT {
18727 pub const TYPE: StructureType =
18728 StructureType::CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT;
18729 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18730 #[inline]
18731 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18732 let mut x = MaybeUninit::<Self>::uninit();
18733 unsafe {
18734 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18735 ty: Self::TYPE,
18736 next,
18737 });
18738 }
18739 x
18740 }
18741}
18742#[repr(C)]
18743#[derive(Copy, Clone, Debug)]
18744#[doc = "See [XrSpatialContextPersistenceConfigEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialContextPersistenceConfigEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
18745pub struct SpatialContextPersistenceConfigEXT {
18746 pub ty: StructureType,
18747 pub next: *const c_void,
18748 pub persistence_context_count: u32,
18749 pub persistence_contexts: *const SpatialPersistenceContextEXT,
18750}
18751impl SpatialContextPersistenceConfigEXT {
18752 pub const TYPE: StructureType = StructureType::SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT;
18753}
18754#[repr(C)]
18755#[derive(Copy, Clone, Debug)]
18756#[doc = "See [XrSpatialDiscoveryPersistenceUuidFilterEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoveryPersistenceUuidFilterEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
18757pub struct SpatialDiscoveryPersistenceUuidFilterEXT {
18758 pub ty: StructureType,
18759 pub next: *const c_void,
18760 pub persisted_uuid_count: u32,
18761 pub persisted_uuids: *const Uuid,
18762}
18763impl SpatialDiscoveryPersistenceUuidFilterEXT {
18764 pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT;
18765}
18766#[repr(C)]
18767#[derive(Copy, Clone, Debug)]
18768#[doc = "See [XrSpatialPersistenceDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPersistenceDataEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
18769pub struct SpatialPersistenceDataEXT {
18770 pub persist_uuid: Uuid,
18771 pub persist_state: SpatialPersistenceStateEXT,
18772}
18773#[repr(C)]
18774#[derive(Copy, Clone, Debug)]
18775#[doc = "See [XrSpatialComponentPersistenceListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPersistenceListEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
18776pub struct SpatialComponentPersistenceListEXT {
18777 pub ty: StructureType,
18778 pub next: *mut c_void,
18779 pub persist_data_count: u32,
18780 pub persist_data: *mut SpatialPersistenceDataEXT,
18781}
18782impl SpatialComponentPersistenceListEXT {
18783 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT;
18784 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18785 #[inline]
18786 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18787 let mut x = MaybeUninit::<Self>::uninit();
18788 unsafe {
18789 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18790 ty: Self::TYPE,
18791 next,
18792 });
18793 }
18794 x
18795 }
18796}
18797#[repr(C)]
18798#[derive(Copy, Clone, Debug)]
18799#[doc = "See [XrSpatialEntityPersistInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityPersistInfoEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
18800pub struct SpatialEntityPersistInfoEXT {
18801 pub ty: StructureType,
18802 pub next: *const c_void,
18803 pub spatial_context: SpatialContextEXT,
18804 pub spatial_entity_id: SpatialEntityIdEXT,
18805}
18806impl SpatialEntityPersistInfoEXT {
18807 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_PERSIST_INFO_EXT;
18808}
18809#[repr(C)]
18810#[derive(Copy, Clone, Debug)]
18811#[doc = "See [XrPersistSpatialEntityCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrPersistSpatialEntityCompletionEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
18812pub struct PersistSpatialEntityCompletionEXT {
18813 pub ty: StructureType,
18814 pub next: *mut c_void,
18815 pub future_result: Result,
18816 pub persist_result: SpatialPersistenceContextResultEXT,
18817 pub persist_uuid: Uuid,
18818}
18819impl PersistSpatialEntityCompletionEXT {
18820 pub const TYPE: StructureType = StructureType::PERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
18821 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18822 #[inline]
18823 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18824 let mut x = MaybeUninit::<Self>::uninit();
18825 unsafe {
18826 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18827 ty: Self::TYPE,
18828 next,
18829 });
18830 }
18831 x
18832 }
18833}
18834#[repr(C)]
18835#[derive(Copy, Clone, Debug)]
18836#[doc = "See [XrSpatialEntityUnpersistInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityUnpersistInfoEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
18837pub struct SpatialEntityUnpersistInfoEXT {
18838 pub ty: StructureType,
18839 pub next: *const c_void,
18840 pub persist_uuid: Uuid,
18841}
18842impl SpatialEntityUnpersistInfoEXT {
18843 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_UNPERSIST_INFO_EXT;
18844}
18845#[repr(C)]
18846#[derive(Copy, Clone, Debug)]
18847#[doc = "See [XrUnpersistSpatialEntityCompletionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrUnpersistSpatialEntityCompletionEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
18848pub struct UnpersistSpatialEntityCompletionEXT {
18849 pub ty: StructureType,
18850 pub next: *mut c_void,
18851 pub future_result: Result,
18852 pub unpersist_result: SpatialPersistenceContextResultEXT,
18853}
18854impl UnpersistSpatialEntityCompletionEXT {
18855 pub const TYPE: StructureType = StructureType::UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT;
18856 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18857 #[inline]
18858 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18859 let mut x = MaybeUninit::<Self>::uninit();
18860 unsafe {
18861 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18862 ty: Self::TYPE,
18863 next,
18864 });
18865 }
18866 x
18867 }
18868}
18869#[repr(C)]
18870#[derive(Copy, Clone, Debug)]
18871#[doc = "See [XrSpatialCapabilityConfigurationPlaneTrackingEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationPlaneTrackingEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
18872pub struct SpatialCapabilityConfigurationPlaneTrackingEXT {
18873 pub ty: StructureType,
18874 pub next: *const c_void,
18875 pub capability: SpatialCapabilityEXT,
18876 pub enabled_component_count: u32,
18877 pub enabled_components: *const SpatialComponentTypeEXT,
18878}
18879impl SpatialCapabilityConfigurationPlaneTrackingEXT {
18880 pub const TYPE: StructureType =
18881 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT;
18882}
18883#[repr(C)]
18884#[derive(Copy, Clone, Debug)]
18885#[doc = "See [XrSpatialComponentPlaneAlignmentListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPlaneAlignmentListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
18886pub struct SpatialComponentPlaneAlignmentListEXT {
18887 pub ty: StructureType,
18888 pub next: *mut c_void,
18889 pub plane_alignment_count: u32,
18890 pub plane_alignments: *mut SpatialPlaneAlignmentEXT,
18891}
18892impl SpatialComponentPlaneAlignmentListEXT {
18893 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT;
18894 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18895 #[inline]
18896 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18897 let mut x = MaybeUninit::<Self>::uninit();
18898 unsafe {
18899 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18900 ty: Self::TYPE,
18901 next,
18902 });
18903 }
18904 x
18905 }
18906}
18907#[repr(C)]
18908#[derive(Copy, Clone, Debug)]
18909#[doc = "See [XrSpatialComponentMesh2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMesh2DListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
18910pub struct SpatialComponentMesh2DListEXT {
18911 pub ty: StructureType,
18912 pub next: *mut c_void,
18913 pub mesh_count: u32,
18914 pub meshes: *mut SpatialMeshDataEXT,
18915}
18916impl SpatialComponentMesh2DListEXT {
18917 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MESH_2D_LIST_EXT;
18918 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18919 #[inline]
18920 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18921 let mut x = MaybeUninit::<Self>::uninit();
18922 unsafe {
18923 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18924 ty: Self::TYPE,
18925 next,
18926 });
18927 }
18928 x
18929 }
18930}
18931#[repr(C)]
18932#[derive(Copy, Clone, Debug, Default, PartialEq)]
18933#[doc = "See [XrSpatialPolygon2DDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialPolygon2DDataEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
18934pub struct SpatialPolygon2DDataEXT {
18935 pub origin: Posef,
18936 pub vertex_buffer: SpatialBufferEXT,
18937}
18938#[repr(C)]
18939#[derive(Copy, Clone, Debug)]
18940#[doc = "See [XrSpatialComponentPolygon2DListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPolygon2DListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
18941pub struct SpatialComponentPolygon2DListEXT {
18942 pub ty: StructureType,
18943 pub next: *mut c_void,
18944 pub polygon_count: u32,
18945 pub polygons: *mut SpatialPolygon2DDataEXT,
18946}
18947impl SpatialComponentPolygon2DListEXT {
18948 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT;
18949 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18950 #[inline]
18951 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18952 let mut x = MaybeUninit::<Self>::uninit();
18953 unsafe {
18954 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18955 ty: Self::TYPE,
18956 next,
18957 });
18958 }
18959 x
18960 }
18961}
18962#[repr(C)]
18963#[derive(Copy, Clone, Debug)]
18964#[doc = "See [XrSpatialComponentPlaneSemanticLabelListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentPlaneSemanticLabelListEXT) - defined by [XR_EXT_spatial_plane_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_plane_tracking)"]
18965pub struct SpatialComponentPlaneSemanticLabelListEXT {
18966 pub ty: StructureType,
18967 pub next: *mut c_void,
18968 pub semantic_label_count: u32,
18969 pub semantic_labels: *mut SpatialPlaneSemanticLabelEXT,
18970}
18971impl SpatialComponentPlaneSemanticLabelListEXT {
18972 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT;
18973 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
18974 #[inline]
18975 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
18976 let mut x = MaybeUninit::<Self>::uninit();
18977 unsafe {
18978 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
18979 ty: Self::TYPE,
18980 next,
18981 });
18982 }
18983 x
18984 }
18985}
18986#[repr(C)]
18987#[derive(Copy, Clone, Debug)]
18988#[doc = "See [XrSystemNotificationsSetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemNotificationsSetInfoML) - defined by [XR_ML_system_notifications](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_system_notifications)"]
18989pub struct SystemNotificationsSetInfoML {
18990 pub ty: StructureType,
18991 pub next: *const c_void,
18992 pub suppress_notifications: Bool32,
18993}
18994impl SystemNotificationsSetInfoML {
18995 pub const TYPE: StructureType = StructureType::SYSTEM_NOTIFICATIONS_SET_INFO_ML;
18996}
18997#[repr(C)]
18998#[derive(Copy, Clone, Debug)]
18999#[doc = "See [XrSpatialAudioRendererCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAudioRendererCreateInfoBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19000pub struct SpatialAudioRendererCreateInfoBD {
19001 pub ty: StructureType,
19002 pub next: *const c_void,
19003 pub frames_per_buffer: u32,
19004 pub sample_rate: AudioSampleRateBD,
19005}
19006impl SpatialAudioRendererCreateInfoBD {
19007 pub const TYPE: StructureType = StructureType::SPATIAL_AUDIO_RENDERER_CREATE_INFO_BD;
19008}
19009#[repr(C)]
19010#[derive(Copy, Clone, Debug)]
19011#[doc = "See [XrAudioBufferBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAudioBufferBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19012pub struct AudioBufferBD {
19013 pub ty: StructureType,
19014 pub next: *const c_void,
19015 pub channel_layout: AudioBufferChannelLayoutBD,
19016 pub buffer_channels: u32,
19017 pub buffer_length: u32,
19018 pub buffer: *mut f32,
19019}
19020impl AudioBufferBD {
19021 pub const TYPE: StructureType = StructureType::AUDIO_BUFFER_BD;
19022}
19023#[repr(C)]
19024#[derive(Copy, Clone, Debug)]
19025#[doc = "See [XrSoundObjectDirectivityCardioidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDirectivityCardioidBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19026pub struct SoundObjectDirectivityCardioidBD {
19027 pub ty: StructureType,
19028 pub next: *const c_void,
19029 pub alpha: f32,
19030 pub order: f32,
19031}
19032impl SoundObjectDirectivityCardioidBD {
19033 pub const TYPE: StructureType = StructureType::SOUND_OBJECT_DIRECTIVITY_CARDIOID_BD;
19034}
19035#[repr(C)]
19036#[derive(Copy, Clone, Debug)]
19037#[doc = "See [XrSoundObjectShapeSphereBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectShapeSphereBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19038pub struct SoundObjectShapeSphereBD {
19039 pub ty: StructureType,
19040 pub next: *const c_void,
19041 pub radius: f32,
19042}
19043impl SoundObjectShapeSphereBD {
19044 pub const TYPE: StructureType = StructureType::SOUND_OBJECT_SHAPE_SPHERE_BD;
19045}
19046#[repr(C)]
19047#[derive(Copy, Clone, Debug)]
19048#[doc = "See [XrSoundObjectDistanceAttenuationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDistanceAttenuationBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19049pub struct SoundObjectDistanceAttenuationBD {
19050 pub ty: StructureType,
19051 pub next: *const c_void,
19052 pub distance_attenuation_type: SoundObjectDistanceAttenuationTypeBD,
19053 pub min_attenuation_range: f32,
19054 pub max_attenuation_range: f32,
19055 pub reference_distance: f32,
19056 pub rolloff_factor: f32,
19057 pub custom_distance_attenuation_curve: *mut SoundObjectDistanceAttenuationCurveBD,
19058}
19059impl SoundObjectDistanceAttenuationBD {
19060 pub const TYPE: StructureType = StructureType::SOUND_OBJECT_DISTANCE_ATTENUATION_BD;
19061}
19062#[repr(C)]
19063#[derive(Copy, Clone, Debug, Default, PartialEq)]
19064#[doc = "See [XrAttenuationCurvePointBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAttenuationCurvePointBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19065pub struct AttenuationCurvePointBD {
19066 pub distance: f32,
19067 pub gain: f32,
19068}
19069#[repr(C)]
19070#[derive(Copy, Clone, Debug)]
19071#[doc = "See [XrSoundObjectDistanceAttenuationCurveBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectDistanceAttenuationCurveBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19072pub struct SoundObjectDistanceAttenuationCurveBD {
19073 pub ty: StructureType,
19074 pub next: *const c_void,
19075 pub curve_point_count: u32,
19076 pub curve_points: *mut AttenuationCurvePointBD,
19077}
19078impl SoundObjectDistanceAttenuationCurveBD {
19079 pub const TYPE: StructureType = StructureType::SOUND_OBJECT_DISTANCE_ATTENUATION_CURVE_BD;
19080}
19081#[repr(C)]
19082#[derive(Copy, Clone, Debug)]
19083#[doc = "See [XrSoundObjectConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObjectConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19084pub struct SoundObjectConfigBD {
19085 pub ty: StructureType,
19086 pub next: *const c_void,
19087 pub enabled: Bool32,
19088 pub pose: Posef,
19089 pub base_space: Space,
19090 pub main_volume: f32,
19091 pub reflection_gain: f32,
19092 pub enable_doppler: Bool32,
19093 pub direct_sound_attenuation: *const SoundObjectDistanceAttenuationBD,
19094 pub indirect_sound_attenuation: *const SoundObjectDistanceAttenuationBD,
19095}
19096impl SoundObjectConfigBD {
19097 pub const TYPE: StructureType = StructureType::SOUND_OBJECT_CONFIG_BD;
19098}
19099#[repr(C)]
19100#[derive(Copy, Clone, Debug)]
19101#[doc = "See [XrSoundFieldConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19102pub struct SoundFieldConfigBD {
19103 pub ty: StructureType,
19104 pub next: *const c_void,
19105 pub enabled: Bool32,
19106 pub orientation: Quaternionf,
19107 pub base_space: Space,
19108 pub main_volume: f32,
19109 pub lfe_gain: f32,
19110}
19111impl SoundFieldConfigBD {
19112 pub const TYPE: StructureType = StructureType::SOUND_FIELD_CONFIG_BD;
19113}
19114#[repr(C)]
19115#[derive(Copy, Clone, Debug)]
19116#[doc = "See [XrSoundFieldChannelDefinitionSurroundBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelDefinitionSurroundBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19117pub struct SoundFieldChannelDefinitionSurroundBD {
19118 pub ty: StructureType,
19119 pub next: *const c_void,
19120 pub channel_mask: SoundFieldChannelMaskSurroundBD,
19121}
19122impl SoundFieldChannelDefinitionSurroundBD {
19123 pub const TYPE: StructureType = StructureType::SOUND_FIELD_CHANNEL_DEFINITION_SURROUND_BD;
19124}
19125#[repr(C)]
19126#[derive(Copy, Clone, Debug)]
19127#[doc = "See [XrSoundFieldChannelDefinitionAmbixBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelDefinitionAmbixBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19128pub struct SoundFieldChannelDefinitionAmbixBD {
19129 pub ty: StructureType,
19130 pub next: *const c_void,
19131 pub channel_mask: SoundFieldChannelMaskAmbixBD,
19132}
19133impl SoundFieldChannelDefinitionAmbixBD {
19134 pub const TYPE: StructureType = StructureType::SOUND_FIELD_CHANNEL_DEFINITION_AMBIX_BD;
19135}
19136#[repr(C)]
19137#[derive(Copy, Clone, Debug)]
19138#[doc = "See [XrSoundFieldChannelDefinitionFumaBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundFieldChannelDefinitionFumaBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19139pub struct SoundFieldChannelDefinitionFumaBD {
19140 pub ty: StructureType,
19141 pub next: *const c_void,
19142 pub channel_mask: SoundFieldChannelMaskFumaBD,
19143}
19144impl SoundFieldChannelDefinitionFumaBD {
19145 pub const TYPE: StructureType = StructureType::SOUND_FIELD_CHANNEL_DEFINITION_FUMA_BD;
19146}
19147#[repr(C)]
19148#[derive(Copy, Clone, Debug)]
19149#[doc = "See [XrSoundTriangleMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundTriangleMeshBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19150pub struct SoundTriangleMeshBD {
19151 pub ty: StructureType,
19152 pub next: *const c_void,
19153 pub vertex_count: u32,
19154 pub vertices: *mut Vector3f,
19155 pub index_count: u32,
19156 pub indices: *mut u32,
19157}
19158impl SoundTriangleMeshBD {
19159 pub const TYPE: StructureType = StructureType::SOUND_TRIANGLE_MESH_BD;
19160}
19161#[repr(C)]
19162#[derive(Copy, Clone, Debug)]
19163#[doc = "See [XrSoundObstacleConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19164pub struct SoundObstacleConfigBD {
19165 pub ty: StructureType,
19166 pub next: *const c_void,
19167 pub enabled: Bool32,
19168 pub pose: Posef,
19169 pub base_space: Space,
19170 pub material_count: u32,
19171 pub materials: *mut SoundObstacleMaterialBD,
19172}
19173impl SoundObstacleConfigBD {
19174 pub const TYPE: StructureType = StructureType::SOUND_OBSTACLE_CONFIG_BD;
19175}
19176#[repr(C)]
19177#[derive(Copy, Clone, Debug)]
19178#[doc = "See [XrSoundObstacleMaterialConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSoundObstacleMaterialConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
19179pub struct SoundObstacleMaterialConfigBD {
19180 pub ty: StructureType,
19181 pub next: *const c_void,
19182 pub material_type: SoundObstacleMaterialTypeBD,
19183 pub band_count: u32,
19184 pub band_frequencies: *mut f32,
19185 pub band_absorptions: *mut f32,
19186 pub band_scatterings: *mut f32,
19187 pub band_transmissions: *mut f32,
19188}
19189impl SoundObstacleMaterialConfigBD {
19190 pub const TYPE: StructureType = StructureType::SOUND_OBSTACLE_MATERIAL_CONFIG_BD;
19191}
19192#[repr(C)]
19193#[derive(Copy, Clone, Debug)]
19194#[doc = "See [XrSpatialAnchorsCreateInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoBaseHeaderML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
19195pub struct SpatialAnchorsCreateInfoBaseHeaderML {
19196 pub ty: StructureType,
19197 pub next: *const c_void,
19198}
19199#[repr(C)]
19200#[derive(Copy, Clone, Debug)]
19201#[doc = "See [XrSpatialAnchorsCreateInfoFromPoseML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoFromPoseML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
19202pub struct SpatialAnchorsCreateInfoFromPoseML {
19203 pub ty: StructureType,
19204 pub next: *const c_void,
19205 pub base_space: Space,
19206 pub pose_in_base_space: Posef,
19207 pub time: Time,
19208}
19209impl SpatialAnchorsCreateInfoFromPoseML {
19210 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML;
19211}
19212#[repr(C)]
19213#[derive(Copy, Clone, Debug)]
19214#[doc = "See [XrCreateSpatialAnchorsCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateSpatialAnchorsCompletionML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
19215pub struct CreateSpatialAnchorsCompletionML {
19216 pub ty: StructureType,
19217 pub next: *mut c_void,
19218 pub future_result: Result,
19219 pub space_count: u32,
19220 pub spaces: *mut Space,
19221}
19222impl CreateSpatialAnchorsCompletionML {
19223 pub const TYPE: StructureType = StructureType::CREATE_SPATIAL_ANCHORS_COMPLETION_ML;
19224 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19225 #[inline]
19226 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19227 let mut x = MaybeUninit::<Self>::uninit();
19228 unsafe {
19229 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19230 ty: Self::TYPE,
19231 next,
19232 });
19233 }
19234 x
19235 }
19236}
19237#[repr(C)]
19238#[derive(Copy, Clone, Debug)]
19239#[doc = "See [XrSpatialAnchorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorStateML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
19240pub struct SpatialAnchorStateML {
19241 pub ty: StructureType,
19242 pub next: *mut c_void,
19243 pub confidence: SpatialAnchorConfidenceML,
19244}
19245impl SpatialAnchorStateML {
19246 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_STATE_ML;
19247 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19248 #[inline]
19249 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19250 let mut x = MaybeUninit::<Self>::uninit();
19251 unsafe {
19252 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19253 ty: Self::TYPE,
19254 next,
19255 });
19256 }
19257 x
19258 }
19259}
19260#[repr(C)]
19261#[derive(Copy, Clone, Debug)]
19262#[doc = "See [XrSpatialAnchorsCreateStorageInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateStorageInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19263pub struct SpatialAnchorsCreateStorageInfoML {
19264 pub ty: StructureType,
19265 pub next: *const c_void,
19266}
19267impl SpatialAnchorsCreateStorageInfoML {
19268 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML;
19269}
19270#[repr(C)]
19271#[derive(Copy, Clone, Debug)]
19272#[doc = "See [XrSpatialAnchorsQueryInfoBaseHeaderML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryInfoBaseHeaderML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19273pub struct SpatialAnchorsQueryInfoBaseHeaderML {
19274 pub ty: StructureType,
19275 pub next: *const c_void,
19276}
19277#[repr(C)]
19278#[derive(Copy, Clone, Debug)]
19279#[doc = "See [XrSpatialAnchorsQueryInfoRadiusML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryInfoRadiusML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19280pub struct SpatialAnchorsQueryInfoRadiusML {
19281 pub ty: StructureType,
19282 pub next: *const c_void,
19283 pub base_space: Space,
19284 pub center: Vector3f,
19285 pub time: Time,
19286 pub radius: f32,
19287}
19288impl SpatialAnchorsQueryInfoRadiusML {
19289 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML;
19290}
19291#[repr(C)]
19292#[derive(Copy, Clone, Debug)]
19293#[doc = "See [XrSpatialAnchorsQueryCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsQueryCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19294pub struct SpatialAnchorsQueryCompletionML {
19295 pub ty: StructureType,
19296 pub next: *mut c_void,
19297 pub future_result: Result,
19298 pub uuid_capacity_input: u32,
19299 pub uuid_count_output: u32,
19300 pub uuids: *mut UuidEXT,
19301}
19302impl SpatialAnchorsQueryCompletionML {
19303 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_QUERY_COMPLETION_ML;
19304 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19305 #[inline]
19306 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19307 let mut x = MaybeUninit::<Self>::uninit();
19308 unsafe {
19309 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19310 ty: Self::TYPE,
19311 next,
19312 });
19313 }
19314 x
19315 }
19316}
19317#[repr(C)]
19318#[derive(Copy, Clone, Debug)]
19319#[doc = "See [XrSpatialAnchorsCreateInfoFromUuidsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsCreateInfoFromUuidsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19320pub struct SpatialAnchorsCreateInfoFromUuidsML {
19321 pub ty: StructureType,
19322 pub next: *const c_void,
19323 pub storage: SpatialAnchorsStorageML,
19324 pub uuid_count: u32,
19325 pub uuids: *const UuidEXT,
19326}
19327impl SpatialAnchorsCreateInfoFromUuidsML {
19328 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML;
19329}
19330#[repr(C)]
19331#[derive(Copy, Clone, Debug)]
19332#[doc = "See [XrSpatialAnchorsPublishInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19333pub struct SpatialAnchorsPublishInfoML {
19334 pub ty: StructureType,
19335 pub next: *const c_void,
19336 pub anchor_count: u32,
19337 pub anchors: *const Space,
19338 pub expiration: u64,
19339}
19340impl SpatialAnchorsPublishInfoML {
19341 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_INFO_ML;
19342}
19343#[repr(C)]
19344#[derive(Copy, Clone, Debug)]
19345#[doc = "See [XrSpatialAnchorsPublishCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19346pub struct SpatialAnchorsPublishCompletionML {
19347 pub ty: StructureType,
19348 pub next: *mut c_void,
19349 pub future_result: Result,
19350 pub uuid_count: u32,
19351 pub uuids: *mut UuidEXT,
19352}
19353impl SpatialAnchorsPublishCompletionML {
19354 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML;
19355 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19356 #[inline]
19357 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19358 let mut x = MaybeUninit::<Self>::uninit();
19359 unsafe {
19360 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19361 ty: Self::TYPE,
19362 next,
19363 });
19364 }
19365 x
19366 }
19367}
19368#[repr(C)]
19369#[derive(Copy, Clone, Debug)]
19370#[doc = "See [XrSpatialAnchorsDeleteInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19371pub struct SpatialAnchorsDeleteInfoML {
19372 pub ty: StructureType,
19373 pub next: *const c_void,
19374 pub uuid_count: u32,
19375 pub uuids: *const UuidEXT,
19376}
19377impl SpatialAnchorsDeleteInfoML {
19378 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_INFO_ML;
19379}
19380#[repr(C)]
19381#[derive(Copy, Clone, Debug)]
19382#[doc = "See [XrSpatialAnchorsDeleteCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19383pub struct SpatialAnchorsDeleteCompletionML {
19384 pub ty: StructureType,
19385 pub next: *mut c_void,
19386 pub future_result: Result,
19387}
19388impl SpatialAnchorsDeleteCompletionML {
19389 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_ML;
19390 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19391 #[inline]
19392 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19393 let mut x = MaybeUninit::<Self>::uninit();
19394 unsafe {
19395 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19396 ty: Self::TYPE,
19397 next,
19398 });
19399 }
19400 x
19401 }
19402}
19403#[repr(C)]
19404#[derive(Copy, Clone, Debug)]
19405#[doc = "See [XrSpatialAnchorsUpdateExpirationInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationInfoML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19406pub struct SpatialAnchorsUpdateExpirationInfoML {
19407 pub ty: StructureType,
19408 pub next: *const c_void,
19409 pub uuid_count: u32,
19410 pub uuids: *const UuidEXT,
19411 pub expiration: u64,
19412}
19413impl SpatialAnchorsUpdateExpirationInfoML {
19414 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML;
19415}
19416#[repr(C)]
19417#[derive(Copy, Clone, Debug)]
19418#[doc = "See [XrSpatialAnchorsUpdateExpirationCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationCompletionML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19419pub struct SpatialAnchorsUpdateExpirationCompletionML {
19420 pub ty: StructureType,
19421 pub next: *mut c_void,
19422 pub future_result: Result,
19423}
19424impl SpatialAnchorsUpdateExpirationCompletionML {
19425 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML;
19426 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19427 #[inline]
19428 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19429 let mut x = MaybeUninit::<Self>::uninit();
19430 unsafe {
19431 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19432 ty: Self::TYPE,
19433 next,
19434 });
19435 }
19436 x
19437 }
19438}
19439#[repr(C)]
19440#[derive(Copy, Clone, Debug, Default, PartialEq)]
19441#[doc = "See [XrSpatialAnchorCompletionResultML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCompletionResultML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19442pub struct SpatialAnchorCompletionResultML {
19443 pub uuid: UuidEXT,
19444 pub result: Result,
19445}
19446#[repr(C)]
19447#[derive(Copy, Clone, Debug)]
19448#[doc = "See [XrSpatialAnchorsPublishCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsPublishCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19449pub struct SpatialAnchorsPublishCompletionDetailsML {
19450 pub ty: StructureType,
19451 pub next: *mut c_void,
19452 pub result_count: u32,
19453 pub results: *mut SpatialAnchorCompletionResultML,
19454}
19455impl SpatialAnchorsPublishCompletionDetailsML {
19456 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML;
19457 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19458 #[inline]
19459 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19460 let mut x = MaybeUninit::<Self>::uninit();
19461 unsafe {
19462 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19463 ty: Self::TYPE,
19464 next,
19465 });
19466 }
19467 x
19468 }
19469}
19470#[repr(C)]
19471#[derive(Copy, Clone, Debug)]
19472#[doc = "See [XrSpatialAnchorsDeleteCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsDeleteCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19473pub struct SpatialAnchorsDeleteCompletionDetailsML {
19474 pub ty: StructureType,
19475 pub next: *mut c_void,
19476 pub result_count: u32,
19477 pub results: *mut SpatialAnchorCompletionResultML,
19478}
19479impl SpatialAnchorsDeleteCompletionDetailsML {
19480 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML;
19481 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19482 #[inline]
19483 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19484 let mut x = MaybeUninit::<Self>::uninit();
19485 unsafe {
19486 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19487 ty: Self::TYPE,
19488 next,
19489 });
19490 }
19491 x
19492 }
19493}
19494#[repr(C)]
19495#[derive(Copy, Clone, Debug)]
19496#[doc = "See [XrSpatialAnchorsUpdateExpirationCompletionDetailsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorsUpdateExpirationCompletionDetailsML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
19497pub struct SpatialAnchorsUpdateExpirationCompletionDetailsML {
19498 pub ty: StructureType,
19499 pub next: *mut c_void,
19500 pub result_count: u32,
19501 pub results: *mut SpatialAnchorCompletionResultML,
19502}
19503impl SpatialAnchorsUpdateExpirationCompletionDetailsML {
19504 pub const TYPE: StructureType =
19505 StructureType::SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML;
19506 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19507 #[inline]
19508 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19509 let mut x = MaybeUninit::<Self>::uninit();
19510 unsafe {
19511 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19512 ty: Self::TYPE,
19513 next,
19514 });
19515 }
19516 x
19517 }
19518}
19519#[repr(C)]
19520#[derive(Copy, Clone, Debug)]
19521#[doc = "See [XrWorldMeshDetectorCreateInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshDetectorCreateInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19522pub struct WorldMeshDetectorCreateInfoML {
19523 pub ty: StructureType,
19524 pub next: *const c_void,
19525}
19526impl WorldMeshDetectorCreateInfoML {
19527 pub const TYPE: StructureType = StructureType::WORLD_MESH_DETECTOR_CREATE_INFO_ML;
19528}
19529#[repr(C)]
19530#[derive(Copy, Clone, Debug)]
19531#[doc = "See [XrWorldMeshStateRequestInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshStateRequestInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19532pub struct WorldMeshStateRequestInfoML {
19533 pub ty: StructureType,
19534 pub next: *const c_void,
19535 pub base_space: Space,
19536 pub time: Time,
19537 pub bounding_box_center: Posef,
19538 pub bounding_box_extents: Extent3DfEXT,
19539}
19540impl WorldMeshStateRequestInfoML {
19541 pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_INFO_ML;
19542}
19543#[repr(C)]
19544#[derive(Copy, Clone, Debug)]
19545#[doc = "See [XrWorldMeshBlockStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockStateML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19546pub struct WorldMeshBlockStateML {
19547 pub ty: StructureType,
19548 pub next: *mut c_void,
19549 pub uuid: UuidEXT,
19550 pub mesh_bounding_box_center: Posef,
19551 pub mesh_bounding_box_extents: Extent3DfEXT,
19552 pub last_update_time: Time,
19553 pub status: WorldMeshBlockStatusML,
19554}
19555impl WorldMeshBlockStateML {
19556 pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_STATE_ML;
19557 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19558 #[inline]
19559 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19560 let mut x = MaybeUninit::<Self>::uninit();
19561 unsafe {
19562 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19563 ty: Self::TYPE,
19564 next,
19565 });
19566 }
19567 x
19568 }
19569}
19570#[repr(C)]
19571#[derive(Copy, Clone, Debug)]
19572#[doc = "See [XrWorldMeshStateRequestCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshStateRequestCompletionML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19573pub struct WorldMeshStateRequestCompletionML {
19574 pub ty: StructureType,
19575 pub next: *mut c_void,
19576 pub future_result: Result,
19577 pub timestamp: Time,
19578 pub mesh_block_state_capacity_input: u32,
19579 pub mesh_block_state_count_output: u32,
19580 pub mesh_block_states: *mut WorldMeshBlockStateML,
19581}
19582impl WorldMeshStateRequestCompletionML {
19583 pub const TYPE: StructureType = StructureType::WORLD_MESH_STATE_REQUEST_COMPLETION_ML;
19584 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19585 #[inline]
19586 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19587 let mut x = MaybeUninit::<Self>::uninit();
19588 unsafe {
19589 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19590 ty: Self::TYPE,
19591 next,
19592 });
19593 }
19594 x
19595 }
19596}
19597#[repr(C)]
19598#[derive(Copy, Clone, Debug)]
19599#[doc = "See [XrWorldMeshBufferRecommendedSizeInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferRecommendedSizeInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19600pub struct WorldMeshBufferRecommendedSizeInfoML {
19601 pub ty: StructureType,
19602 pub next: *const c_void,
19603 pub max_block_count: u32,
19604}
19605impl WorldMeshBufferRecommendedSizeInfoML {
19606 pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML;
19607}
19608#[repr(C)]
19609#[derive(Copy, Clone, Debug)]
19610#[doc = "See [XrWorldMeshBufferSizeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferSizeML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19611pub struct WorldMeshBufferSizeML {
19612 pub ty: StructureType,
19613 pub next: *mut c_void,
19614 pub size: u32,
19615}
19616impl WorldMeshBufferSizeML {
19617 pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_SIZE_ML;
19618 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19619 #[inline]
19620 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19621 let mut x = MaybeUninit::<Self>::uninit();
19622 unsafe {
19623 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19624 ty: Self::TYPE,
19625 next,
19626 });
19627 }
19628 x
19629 }
19630}
19631#[repr(C)]
19632#[derive(Copy, Clone, Debug)]
19633#[doc = "See [XrWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19634pub struct WorldMeshBufferML {
19635 pub ty: StructureType,
19636 pub next: *mut c_void,
19637 pub buffer_size: u32,
19638 pub buffer: *mut c_void,
19639}
19640impl WorldMeshBufferML {
19641 pub const TYPE: StructureType = StructureType::WORLD_MESH_BUFFER_ML;
19642 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19643 #[inline]
19644 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19645 let mut x = MaybeUninit::<Self>::uninit();
19646 unsafe {
19647 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19648 ty: Self::TYPE,
19649 next,
19650 });
19651 }
19652 x
19653 }
19654}
19655#[repr(C)]
19656#[derive(Copy, Clone, Debug)]
19657#[doc = "See [XrWorldMeshBlockRequestML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockRequestML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19658pub struct WorldMeshBlockRequestML {
19659 pub ty: StructureType,
19660 pub next: *mut c_void,
19661 pub uuid: UuidEXT,
19662 pub lod: WorldMeshDetectorLodML,
19663}
19664impl WorldMeshBlockRequestML {
19665 pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_REQUEST_ML;
19666 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19667 #[inline]
19668 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19669 let mut x = MaybeUninit::<Self>::uninit();
19670 unsafe {
19671 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19672 ty: Self::TYPE,
19673 next,
19674 });
19675 }
19676 x
19677 }
19678}
19679#[repr(C)]
19680#[derive(Copy, Clone, Debug)]
19681#[doc = "See [XrWorldMeshGetInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshGetInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19682pub struct WorldMeshGetInfoML {
19683 pub ty: StructureType,
19684 pub next: *const c_void,
19685 pub flags: WorldMeshDetectorFlagsML,
19686 pub fill_hole_length: f32,
19687 pub disconnected_component_area: f32,
19688 pub block_count: u32,
19689 pub blocks: *mut WorldMeshBlockRequestML,
19690}
19691impl WorldMeshGetInfoML {
19692 pub const TYPE: StructureType = StructureType::WORLD_MESH_GET_INFO_ML;
19693}
19694#[repr(C)]
19695#[derive(Copy, Clone, Debug)]
19696#[doc = "See [XrWorldMeshBlockML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshBlockML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19697pub struct WorldMeshBlockML {
19698 pub ty: StructureType,
19699 pub next: *mut c_void,
19700 pub uuid: UuidEXT,
19701 pub block_result: WorldMeshBlockResultML,
19702 pub lod: WorldMeshDetectorLodML,
19703 pub flags: WorldMeshDetectorFlagsML,
19704 pub index_count: u32,
19705 pub index_buffer: *mut u16,
19706 pub vertex_count: u32,
19707 pub vertex_buffer: *mut Vector3f,
19708 pub normal_count: u32,
19709 pub normal_buffer: *mut Vector3f,
19710 pub confidence_count: u32,
19711 pub confidence_buffer: *mut f32,
19712}
19713impl WorldMeshBlockML {
19714 pub const TYPE: StructureType = StructureType::WORLD_MESH_BLOCK_ML;
19715 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19716 #[inline]
19717 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19718 let mut x = MaybeUninit::<Self>::uninit();
19719 unsafe {
19720 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19721 ty: Self::TYPE,
19722 next,
19723 });
19724 }
19725 x
19726 }
19727}
19728#[repr(C)]
19729#[derive(Copy, Clone, Debug)]
19730#[doc = "See [XrWorldMeshRequestCompletionInfoML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshRequestCompletionInfoML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19731pub struct WorldMeshRequestCompletionInfoML {
19732 pub ty: StructureType,
19733 pub next: *const c_void,
19734 pub mesh_space: Space,
19735 pub mesh_space_locate_time: Time,
19736}
19737impl WorldMeshRequestCompletionInfoML {
19738 pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_INFO_ML;
19739}
19740#[repr(C)]
19741#[derive(Copy, Clone, Debug)]
19742#[doc = "See [XrWorldMeshRequestCompletionML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrWorldMeshRequestCompletionML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
19743pub struct WorldMeshRequestCompletionML {
19744 pub ty: StructureType,
19745 pub next: *mut c_void,
19746 pub future_result: Result,
19747 pub block_count: u32,
19748 pub blocks: *mut WorldMeshBlockML,
19749}
19750impl WorldMeshRequestCompletionML {
19751 pub const TYPE: StructureType = StructureType::WORLD_MESH_REQUEST_COMPLETION_ML;
19752 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19753 #[inline]
19754 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19755 let mut x = MaybeUninit::<Self>::uninit();
19756 unsafe {
19757 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19758 ty: Self::TYPE,
19759 next,
19760 });
19761 }
19762 x
19763 }
19764}
19765#[repr(C)]
19766#[derive(Copy, Clone, Debug)]
19767#[doc = "See [XrEventDataPassthroughLayerResumedMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataPassthroughLayerResumedMETA) - defined by [XR_META_passthrough_layer_resumed_event](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_layer_resumed_event)"]
19768pub struct EventDataPassthroughLayerResumedMETA {
19769 pub ty: StructureType,
19770 pub next: *const c_void,
19771 pub layer: PassthroughLayerFB,
19772}
19773impl EventDataPassthroughLayerResumedMETA {
19774 pub const TYPE: StructureType = StructureType::EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META;
19775}
19776#[repr(C)]
19777#[derive(Copy, Clone, Debug)]
19778#[doc = "See [XrRenderModelCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19779pub struct RenderModelCreateInfoEXT {
19780 pub ty: StructureType,
19781 pub next: *const c_void,
19782 pub render_model_id: RenderModelIdEXT,
19783 pub gltf_extension_count: u32,
19784 pub gltf_extensions: *const *const c_char,
19785}
19786impl RenderModelCreateInfoEXT {
19787 pub const TYPE: StructureType = StructureType::RENDER_MODEL_CREATE_INFO_EXT;
19788}
19789#[repr(C)]
19790#[derive(Copy, Clone, Debug)]
19791#[doc = "See [XrRenderModelPropertiesGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19792pub struct RenderModelPropertiesGetInfoEXT {
19793 pub ty: StructureType,
19794 pub next: *const c_void,
19795}
19796impl RenderModelPropertiesGetInfoEXT {
19797 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_GET_INFO_EXT;
19798}
19799#[repr(C)]
19800#[derive(Copy, Clone, Debug)]
19801#[doc = "See [XrRenderModelPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19802pub struct RenderModelPropertiesEXT {
19803 pub ty: StructureType,
19804 pub next: *mut c_void,
19805 pub cache_id: UuidEXT,
19806 pub animatable_node_count: u32,
19807}
19808impl RenderModelPropertiesEXT {
19809 pub const TYPE: StructureType = StructureType::RENDER_MODEL_PROPERTIES_EXT;
19810 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19811 #[inline]
19812 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19813 let mut x = MaybeUninit::<Self>::uninit();
19814 unsafe {
19815 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19816 ty: Self::TYPE,
19817 next,
19818 });
19819 }
19820 x
19821 }
19822}
19823#[repr(C)]
19824#[derive(Copy, Clone, Debug)]
19825#[doc = "See [XrRenderModelSpaceCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelSpaceCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19826pub struct RenderModelSpaceCreateInfoEXT {
19827 pub ty: StructureType,
19828 pub next: *const c_void,
19829 pub render_model: RenderModelEXT,
19830}
19831impl RenderModelSpaceCreateInfoEXT {
19832 pub const TYPE: StructureType = StructureType::RENDER_MODEL_SPACE_CREATE_INFO_EXT;
19833}
19834#[repr(C)]
19835#[derive(Copy, Clone, Debug)]
19836#[doc = "See [XrRenderModelAssetCreateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetCreateInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19837pub struct RenderModelAssetCreateInfoEXT {
19838 pub ty: StructureType,
19839 pub next: *const c_void,
19840 pub cache_id: UuidEXT,
19841}
19842impl RenderModelAssetCreateInfoEXT {
19843 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_CREATE_INFO_EXT;
19844}
19845#[repr(C)]
19846#[derive(Copy, Clone, Debug)]
19847#[doc = "See [XrRenderModelAssetDataGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetDataGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19848pub struct RenderModelAssetDataGetInfoEXT {
19849 pub ty: StructureType,
19850 pub next: *const c_void,
19851}
19852impl RenderModelAssetDataGetInfoEXT {
19853 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_GET_INFO_EXT;
19854}
19855#[repr(C)]
19856#[derive(Copy, Clone, Debug)]
19857#[doc = "See [XrRenderModelAssetDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetDataEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19858pub struct RenderModelAssetDataEXT {
19859 pub ty: StructureType,
19860 pub next: *mut c_void,
19861 pub buffer_capacity_input: u32,
19862 pub buffer_count_output: u32,
19863 pub buffer: *mut u8,
19864}
19865impl RenderModelAssetDataEXT {
19866 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_DATA_EXT;
19867 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19868 #[inline]
19869 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19870 let mut x = MaybeUninit::<Self>::uninit();
19871 unsafe {
19872 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19873 ty: Self::TYPE,
19874 next,
19875 });
19876 }
19877 x
19878 }
19879}
19880#[repr(C)]
19881#[derive(Copy, Clone, Debug)]
19882#[doc = "See [XrRenderModelAssetPropertiesGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetPropertiesGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19883pub struct RenderModelAssetPropertiesGetInfoEXT {
19884 pub ty: StructureType,
19885 pub next: *const c_void,
19886}
19887impl RenderModelAssetPropertiesGetInfoEXT {
19888 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT;
19889}
19890#[repr(C)]
19891#[derive(Copy, Clone, Debug)]
19892#[doc = "See [XrRenderModelAssetNodePropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetNodePropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19893pub struct RenderModelAssetNodePropertiesEXT {
19894 pub unique_name: [c_char; MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT],
19895}
19896#[repr(C)]
19897#[derive(Copy, Clone, Debug)]
19898#[doc = "See [XrRenderModelAssetPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelAssetPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19899pub struct RenderModelAssetPropertiesEXT {
19900 pub ty: StructureType,
19901 pub next: *mut c_void,
19902 pub node_property_count: u32,
19903 pub node_properties: *mut RenderModelAssetNodePropertiesEXT,
19904}
19905impl RenderModelAssetPropertiesEXT {
19906 pub const TYPE: StructureType = StructureType::RENDER_MODEL_ASSET_PROPERTIES_EXT;
19907 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19908 #[inline]
19909 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19910 let mut x = MaybeUninit::<Self>::uninit();
19911 unsafe {
19912 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19913 ty: Self::TYPE,
19914 next,
19915 });
19916 }
19917 x
19918 }
19919}
19920#[repr(C)]
19921#[derive(Copy, Clone, Debug)]
19922#[doc = "See [XrRenderModelStateGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelStateGetInfoEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19923pub struct RenderModelStateGetInfoEXT {
19924 pub ty: StructureType,
19925 pub next: *const c_void,
19926 pub display_time: Time,
19927}
19928impl RenderModelStateGetInfoEXT {
19929 pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_GET_INFO_EXT;
19930}
19931#[repr(C)]
19932#[derive(Copy, Clone, Debug, Default, PartialEq)]
19933#[doc = "See [XrRenderModelNodeStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelNodeStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19934pub struct RenderModelNodeStateEXT {
19935 pub node_pose: Posef,
19936 pub is_visible: Bool32,
19937}
19938#[repr(C)]
19939#[derive(Copy, Clone, Debug)]
19940#[doc = "See [XrRenderModelStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrRenderModelStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
19941pub struct RenderModelStateEXT {
19942 pub ty: StructureType,
19943 pub next: *mut c_void,
19944 pub node_state_count: u32,
19945 pub node_states: *mut RenderModelNodeStateEXT,
19946}
19947impl RenderModelStateEXT {
19948 pub const TYPE: StructureType = StructureType::RENDER_MODEL_STATE_EXT;
19949 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
19950 #[inline]
19951 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
19952 let mut x = MaybeUninit::<Self>::uninit();
19953 unsafe {
19954 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
19955 ty: Self::TYPE,
19956 next,
19957 });
19958 }
19959 x
19960 }
19961}
19962#[repr(C)]
19963#[derive(Copy, Clone, Debug)]
19964#[doc = "See [XrInteractionRenderModelIdsEnumerateInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelIdsEnumerateInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
19965pub struct InteractionRenderModelIdsEnumerateInfoEXT {
19966 pub ty: StructureType,
19967 pub next: *const c_void,
19968}
19969impl InteractionRenderModelIdsEnumerateInfoEXT {
19970 pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT;
19971}
19972#[repr(C)]
19973#[derive(Copy, Clone, Debug)]
19974#[doc = "See [XrInteractionRenderModelSubactionPathInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelSubactionPathInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
19975pub struct InteractionRenderModelSubactionPathInfoEXT {
19976 pub ty: StructureType,
19977 pub next: *const c_void,
19978}
19979impl InteractionRenderModelSubactionPathInfoEXT {
19980 pub const TYPE: StructureType = StructureType::INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT;
19981}
19982#[repr(C)]
19983#[derive(Copy, Clone, Debug)]
19984#[doc = "See [XrInteractionRenderModelTopLevelUserPathGetInfoEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrInteractionRenderModelTopLevelUserPathGetInfoEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
19985pub struct InteractionRenderModelTopLevelUserPathGetInfoEXT {
19986 pub ty: StructureType,
19987 pub next: *const c_void,
19988 pub top_level_user_path_count: u32,
19989 pub top_level_user_paths: *const Path,
19990}
19991impl InteractionRenderModelTopLevelUserPathGetInfoEXT {
19992 pub const TYPE: StructureType =
19993 StructureType::INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT;
19994}
19995#[repr(C)]
19996#[derive(Copy, Clone, Debug)]
19997#[doc = "See [XrEventDataInteractionRenderModelsChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataInteractionRenderModelsChangedEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
19998pub struct EventDataInteractionRenderModelsChangedEXT {
19999 pub ty: StructureType,
20000 pub next: *const c_void,
20001}
20002impl EventDataInteractionRenderModelsChangedEXT {
20003 pub const TYPE: StructureType = StructureType::EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT;
20004}
20005#[repr(C)]
20006#[derive(Copy, Clone, Debug)]
20007#[doc = "See [XrSystemSpatialSensingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialSensingPropertiesBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20008pub struct SystemSpatialSensingPropertiesBD {
20009 pub ty: StructureType,
20010 pub next: *mut c_void,
20011 pub supports_spatial_sensing: Bool32,
20012}
20013impl SystemSpatialSensingPropertiesBD {
20014 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SENSING_PROPERTIES_BD;
20015 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20016 #[inline]
20017 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20018 let mut x = MaybeUninit::<Self>::uninit();
20019 unsafe {
20020 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20021 ty: Self::TYPE,
20022 next,
20023 });
20024 }
20025 x
20026 }
20027}
20028#[repr(C)]
20029#[derive(Copy, Clone, Debug)]
20030#[doc = "See [XrSpatialEntityComponentGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20031pub struct SpatialEntityComponentGetInfoBD {
20032 pub ty: StructureType,
20033 pub next: *const c_void,
20034 pub entity_id: SpatialEntityIdBD,
20035 pub component_type: SpatialEntityComponentTypeBD,
20036}
20037impl SpatialEntityComponentGetInfoBD {
20038 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_GET_INFO_BD;
20039}
20040#[repr(C)]
20041#[derive(Copy, Clone, Debug)]
20042#[doc = "See [XrSpatialEntityComponentDataBaseHeaderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBaseHeaderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20043pub struct SpatialEntityComponentDataBaseHeaderBD {
20044 pub ty: StructureType,
20045 pub next: *mut c_void,
20046}
20047#[repr(C)]
20048#[derive(Copy, Clone, Debug)]
20049#[doc = "See [XrSpatialEntityLocationGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityLocationGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20050pub struct SpatialEntityLocationGetInfoBD {
20051 pub ty: StructureType,
20052 pub next: *const c_void,
20053 pub base_space: Space,
20054}
20055impl SpatialEntityLocationGetInfoBD {
20056 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_LOCATION_GET_INFO_BD;
20057}
20058#[repr(C)]
20059#[derive(Copy, Clone, Debug)]
20060#[doc = "See [XrSpatialEntityComponentDataLocationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataLocationBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20061pub struct SpatialEntityComponentDataLocationBD {
20062 pub ty: StructureType,
20063 pub next: *mut c_void,
20064 pub location: SpaceLocation,
20065}
20066impl SpatialEntityComponentDataLocationBD {
20067 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD;
20068 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20069 #[inline]
20070 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20071 let mut x = MaybeUninit::<Self>::uninit();
20072 unsafe {
20073 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20074 ty: Self::TYPE,
20075 next,
20076 });
20077 }
20078 x
20079 }
20080}
20081#[repr(C)]
20082#[derive(Copy, Clone, Debug)]
20083#[doc = "See [XrSpatialEntityComponentDataSemanticBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataSemanticBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20084pub struct SpatialEntityComponentDataSemanticBD {
20085 pub ty: StructureType,
20086 pub next: *mut c_void,
20087 pub label_capacity_input: u32,
20088 pub label_count_output: u32,
20089 pub labels: *mut SemanticLabelBD,
20090}
20091impl SpatialEntityComponentDataSemanticBD {
20092 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD;
20093 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20094 #[inline]
20095 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20096 let mut x = MaybeUninit::<Self>::uninit();
20097 unsafe {
20098 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20099 ty: Self::TYPE,
20100 next,
20101 });
20102 }
20103 x
20104 }
20105}
20106#[repr(C)]
20107#[derive(Copy, Clone, Debug)]
20108#[doc = "See [XrSpatialEntityComponentDataBoundingBox2DBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBoundingBox2DBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20109pub struct SpatialEntityComponentDataBoundingBox2DBD {
20110 pub ty: StructureType,
20111 pub next: *mut c_void,
20112 pub bounding_box2_d: Rect2Df,
20113}
20114impl SpatialEntityComponentDataBoundingBox2DBD {
20115 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD;
20116 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20117 #[inline]
20118 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20119 let mut x = MaybeUninit::<Self>::uninit();
20120 unsafe {
20121 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20122 ty: Self::TYPE,
20123 next,
20124 });
20125 }
20126 x
20127 }
20128}
20129#[repr(C)]
20130#[derive(Copy, Clone, Debug)]
20131#[doc = "See [XrSpatialEntityComponentDataPolygonBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataPolygonBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20132pub struct SpatialEntityComponentDataPolygonBD {
20133 pub ty: StructureType,
20134 pub next: *mut c_void,
20135 pub vertex_capacity_input: u32,
20136 pub vertex_count_output: u32,
20137 pub vertices: *mut Vector2f,
20138}
20139impl SpatialEntityComponentDataPolygonBD {
20140 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD;
20141 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20142 #[inline]
20143 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20144 let mut x = MaybeUninit::<Self>::uninit();
20145 unsafe {
20146 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20147 ty: Self::TYPE,
20148 next,
20149 });
20150 }
20151 x
20152 }
20153}
20154#[repr(C)]
20155#[derive(Copy, Clone, Debug)]
20156#[doc = "See [XrSpatialEntityComponentDataBoundingBox3DBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataBoundingBox3DBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20157pub struct SpatialEntityComponentDataBoundingBox3DBD {
20158 pub ty: StructureType,
20159 pub next: *mut c_void,
20160 pub bounding_box3_d: Boxf,
20161}
20162impl SpatialEntityComponentDataBoundingBox3DBD {
20163 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD;
20164 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20165 #[inline]
20166 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20167 let mut x = MaybeUninit::<Self>::uninit();
20168 unsafe {
20169 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20170 ty: Self::TYPE,
20171 next,
20172 });
20173 }
20174 x
20175 }
20176}
20177#[repr(C)]
20178#[derive(Copy, Clone, Debug)]
20179#[doc = "See [XrSpatialEntityComponentDataTriangleMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataTriangleMeshBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20180pub struct SpatialEntityComponentDataTriangleMeshBD {
20181 pub ty: StructureType,
20182 pub next: *mut c_void,
20183 pub vertex_capacity_input: u32,
20184 pub vertex_count_output: u32,
20185 pub vertices: *mut Vector3f,
20186 pub index_capacity_input: u32,
20187 pub index_count_output: u32,
20188 pub indices: *mut u16,
20189}
20190impl SpatialEntityComponentDataTriangleMeshBD {
20191 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD;
20192 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20193 #[inline]
20194 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20195 let mut x = MaybeUninit::<Self>::uninit();
20196 unsafe {
20197 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20198 ty: Self::TYPE,
20199 next,
20200 });
20201 }
20202 x
20203 }
20204}
20205#[repr(C)]
20206#[derive(Copy, Clone, Debug)]
20207#[doc = "See [XrSenseDataProviderCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20208pub struct SenseDataProviderCreateInfoBD {
20209 pub ty: StructureType,
20210 pub next: *const c_void,
20211 pub provider_type: SenseDataProviderTypeBD,
20212}
20213impl SenseDataProviderCreateInfoBD {
20214 pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_BD;
20215}
20216#[repr(C)]
20217#[derive(Copy, Clone, Debug)]
20218#[doc = "See [XrSenseDataProviderStartInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderStartInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20219pub struct SenseDataProviderStartInfoBD {
20220 pub ty: StructureType,
20221 pub next: *const c_void,
20222}
20223impl SenseDataProviderStartInfoBD {
20224 pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_START_INFO_BD;
20225}
20226#[repr(C)]
20227#[derive(Copy, Clone, Debug)]
20228#[doc = "See [XrEventDataSenseDataProviderStateChangedBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSenseDataProviderStateChangedBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20229pub struct EventDataSenseDataProviderStateChangedBD {
20230 pub ty: StructureType,
20231 pub next: *const c_void,
20232 pub provider: SenseDataProviderBD,
20233 pub new_state: SenseDataProviderStateBD,
20234}
20235impl EventDataSenseDataProviderStateChangedBD {
20236 pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD;
20237}
20238#[repr(C)]
20239#[derive(Copy, Clone, Debug)]
20240#[doc = "See [XrEventDataSenseDataUpdatedBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataSenseDataUpdatedBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20241pub struct EventDataSenseDataUpdatedBD {
20242 pub ty: StructureType,
20243 pub next: *const c_void,
20244 pub provider: SenseDataProviderBD,
20245}
20246impl EventDataSenseDataUpdatedBD {
20247 pub const TYPE: StructureType = StructureType::EVENT_DATA_SENSE_DATA_UPDATED_BD;
20248}
20249#[repr(C)]
20250#[derive(Copy, Clone, Debug)]
20251#[doc = "See [XrSenseDataQueryInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataQueryInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20252pub struct SenseDataQueryInfoBD {
20253 pub ty: StructureType,
20254 pub next: *const c_void,
20255}
20256impl SenseDataQueryInfoBD {
20257 pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_INFO_BD;
20258}
20259#[repr(C)]
20260#[derive(Copy, Clone, Debug)]
20261#[doc = "See [XrSenseDataFilterUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20262pub struct SenseDataFilterUuidBD {
20263 pub ty: StructureType,
20264 pub next: *const c_void,
20265 pub uuid_count: u32,
20266 pub uuids: *const UuidEXT,
20267}
20268impl SenseDataFilterUuidBD {
20269 pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_UUID_BD;
20270}
20271#[repr(C)]
20272#[derive(Copy, Clone, Debug)]
20273#[doc = "See [XrSenseDataFilterSemanticBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterSemanticBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20274pub struct SenseDataFilterSemanticBD {
20275 pub ty: StructureType,
20276 pub next: *const c_void,
20277 pub label_count: u32,
20278 pub labels: *const SemanticLabelBD,
20279}
20280impl SenseDataFilterSemanticBD {
20281 pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_SEMANTIC_BD;
20282}
20283#[repr(C)]
20284#[derive(Copy, Clone, Debug)]
20285#[doc = "See [XrSenseDataQueryCompletionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataQueryCompletionBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20286pub struct SenseDataQueryCompletionBD {
20287 pub ty: StructureType,
20288 pub next: *mut c_void,
20289 pub future_result: Result,
20290 pub snapshot: SenseDataSnapshotBD,
20291}
20292impl SenseDataQueryCompletionBD {
20293 pub const TYPE: StructureType = StructureType::SENSE_DATA_QUERY_COMPLETION_BD;
20294 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20295 #[inline]
20296 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20297 let mut x = MaybeUninit::<Self>::uninit();
20298 unsafe {
20299 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20300 ty: Self::TYPE,
20301 next,
20302 });
20303 }
20304 x
20305 }
20306}
20307#[repr(C)]
20308#[derive(Copy, Clone, Debug)]
20309#[doc = "See [XrQueriedSenseDataGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQueriedSenseDataGetInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20310pub struct QueriedSenseDataGetInfoBD {
20311 pub ty: StructureType,
20312 pub next: *const c_void,
20313}
20314impl QueriedSenseDataGetInfoBD {
20315 pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_GET_INFO_BD;
20316}
20317#[repr(C)]
20318#[derive(Copy, Clone, Debug)]
20319#[doc = "See [XrQueriedSenseDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrQueriedSenseDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20320pub struct QueriedSenseDataBD {
20321 pub ty: StructureType,
20322 pub next: *mut c_void,
20323 pub state_capacity_input: u32,
20324 pub state_count_output: u32,
20325 pub states: *mut SpatialEntityStateBD,
20326}
20327impl QueriedSenseDataBD {
20328 pub const TYPE: StructureType = StructureType::QUERIED_SENSE_DATA_BD;
20329 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20330 #[inline]
20331 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20332 let mut x = MaybeUninit::<Self>::uninit();
20333 unsafe {
20334 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20335 ty: Self::TYPE,
20336 next,
20337 });
20338 }
20339 x
20340 }
20341}
20342#[repr(C)]
20343#[derive(Copy, Clone, Debug)]
20344#[doc = "See [XrSpatialEntityStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityStateBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20345pub struct SpatialEntityStateBD {
20346 pub ty: StructureType,
20347 pub next: *mut c_void,
20348 pub entity_id: SpatialEntityIdBD,
20349 pub last_update_time: Time,
20350 pub uuid: UuidEXT,
20351}
20352impl SpatialEntityStateBD {
20353 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_STATE_BD;
20354 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20355 #[inline]
20356 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20357 let mut x = MaybeUninit::<Self>::uninit();
20358 unsafe {
20359 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20360 ty: Self::TYPE,
20361 next,
20362 });
20363 }
20364 x
20365 }
20366}
20367#[repr(C)]
20368#[derive(Copy, Clone, Debug)]
20369#[doc = "See [XrSpatialEntityAnchorCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityAnchorCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20370pub struct SpatialEntityAnchorCreateInfoBD {
20371 pub ty: StructureType,
20372 pub next: *const c_void,
20373 pub snapshot: SenseDataSnapshotBD,
20374 pub entity_id: SpatialEntityIdBD,
20375}
20376impl SpatialEntityAnchorCreateInfoBD {
20377 pub const TYPE: StructureType = StructureType::SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD;
20378}
20379#[repr(C)]
20380#[derive(Copy, Clone, Debug)]
20381#[doc = "See [XrAnchorSpaceCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrAnchorSpaceCreateInfoBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
20382pub struct AnchorSpaceCreateInfoBD {
20383 pub ty: StructureType,
20384 pub next: *const c_void,
20385 pub anchor: AnchorBD,
20386 pub pose_in_anchor_space: Posef,
20387}
20388impl AnchorSpaceCreateInfoBD {
20389 pub const TYPE: StructureType = StructureType::ANCHOR_SPACE_CREATE_INFO_BD;
20390}
20391#[repr(C)]
20392#[derive(Copy, Clone, Debug)]
20393#[doc = "See [XrSystemSpatialAnchorPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialAnchorPropertiesBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
20394pub struct SystemSpatialAnchorPropertiesBD {
20395 pub ty: StructureType,
20396 pub next: *mut c_void,
20397 pub supports_spatial_anchor: Bool32,
20398}
20399impl SystemSpatialAnchorPropertiesBD {
20400 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD;
20401 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20402 #[inline]
20403 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20404 let mut x = MaybeUninit::<Self>::uninit();
20405 unsafe {
20406 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20407 ty: Self::TYPE,
20408 next,
20409 });
20410 }
20411 x
20412 }
20413}
20414#[repr(C)]
20415#[derive(Copy, Clone, Debug)]
20416#[doc = "See [XrSpatialAnchorCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
20417pub struct SpatialAnchorCreateInfoBD {
20418 pub ty: StructureType,
20419 pub next: *const c_void,
20420 pub space: Space,
20421 pub pose: Posef,
20422 pub time: Time,
20423}
20424impl SpatialAnchorCreateInfoBD {
20425 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_INFO_BD;
20426}
20427#[repr(C)]
20428#[derive(Copy, Clone, Debug)]
20429#[doc = "See [XrSpatialAnchorCreateCompletionBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorCreateCompletionBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
20430pub struct SpatialAnchorCreateCompletionBD {
20431 pub ty: StructureType,
20432 pub next: *mut c_void,
20433 pub future_result: Result,
20434 pub uuid: UuidEXT,
20435 pub anchor: AnchorBD,
20436}
20437impl SpatialAnchorCreateCompletionBD {
20438 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_CREATE_COMPLETION_BD;
20439 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20440 #[inline]
20441 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20442 let mut x = MaybeUninit::<Self>::uninit();
20443 unsafe {
20444 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20445 ty: Self::TYPE,
20446 next,
20447 });
20448 }
20449 x
20450 }
20451}
20452#[repr(C)]
20453#[derive(Copy, Clone, Debug)]
20454#[doc = "See [XrSpatialAnchorPersistInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorPersistInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
20455pub struct SpatialAnchorPersistInfoBD {
20456 pub ty: StructureType,
20457 pub next: *const c_void,
20458 pub location: PersistenceLocationBD,
20459 pub anchor: AnchorBD,
20460}
20461impl SpatialAnchorPersistInfoBD {
20462 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PERSIST_INFO_BD;
20463}
20464#[repr(C)]
20465#[derive(Copy, Clone, Debug)]
20466#[doc = "See [XrSpatialAnchorUnpersistInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorUnpersistInfoBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
20467pub struct SpatialAnchorUnpersistInfoBD {
20468 pub ty: StructureType,
20469 pub next: *const c_void,
20470 pub location: PersistenceLocationBD,
20471 pub anchor: AnchorBD,
20472}
20473impl SpatialAnchorUnpersistInfoBD {
20474 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_UNPERSIST_INFO_BD;
20475}
20476#[repr(C)]
20477#[derive(Copy, Clone, Debug)]
20478#[doc = "See [XrSystemSpatialAnchorSharingPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialAnchorSharingPropertiesBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
20479pub struct SystemSpatialAnchorSharingPropertiesBD {
20480 pub ty: StructureType,
20481 pub next: *mut c_void,
20482 pub supports_spatial_anchor_sharing: Bool32,
20483}
20484impl SystemSpatialAnchorSharingPropertiesBD {
20485 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD;
20486 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20487 #[inline]
20488 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20489 let mut x = MaybeUninit::<Self>::uninit();
20490 unsafe {
20491 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20492 ty: Self::TYPE,
20493 next,
20494 });
20495 }
20496 x
20497 }
20498}
20499#[repr(C)]
20500#[derive(Copy, Clone, Debug)]
20501#[doc = "See [XrSpatialAnchorShareInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorShareInfoBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
20502pub struct SpatialAnchorShareInfoBD {
20503 pub ty: StructureType,
20504 pub next: *const c_void,
20505 pub anchor: AnchorBD,
20506}
20507impl SpatialAnchorShareInfoBD {
20508 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SHARE_INFO_BD;
20509}
20510#[repr(C)]
20511#[derive(Copy, Clone, Debug)]
20512#[doc = "See [XrSharedSpatialAnchorDownloadInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSharedSpatialAnchorDownloadInfoBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
20513pub struct SharedSpatialAnchorDownloadInfoBD {
20514 pub ty: StructureType,
20515 pub next: *const c_void,
20516 pub uuid: UuidEXT,
20517}
20518impl SharedSpatialAnchorDownloadInfoBD {
20519 pub const TYPE: StructureType = StructureType::SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD;
20520}
20521#[repr(C)]
20522#[derive(Copy, Clone, Debug)]
20523#[doc = "See [XrSystemSpatialMeshPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialMeshPropertiesBD) - defined by [XR_BD_spatial_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_mesh)"]
20524pub struct SystemSpatialMeshPropertiesBD {
20525 pub ty: StructureType,
20526 pub next: *mut c_void,
20527 pub supports_spatial_mesh: Bool32,
20528}
20529impl SystemSpatialMeshPropertiesBD {
20530 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_MESH_PROPERTIES_BD;
20531 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20532 #[inline]
20533 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20534 let mut x = MaybeUninit::<Self>::uninit();
20535 unsafe {
20536 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20537 ty: Self::TYPE,
20538 next,
20539 });
20540 }
20541 x
20542 }
20543}
20544#[repr(C)]
20545#[derive(Copy, Clone, Debug)]
20546#[doc = "See [XrSenseDataProviderCreateInfoSpatialMeshBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataProviderCreateInfoSpatialMeshBD) - defined by [XR_BD_spatial_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_mesh)"]
20547pub struct SenseDataProviderCreateInfoSpatialMeshBD {
20548 pub ty: StructureType,
20549 pub next: *const c_void,
20550 pub config_flags: SpatialMeshConfigFlagsBD,
20551 pub lod: SpatialMeshLodBD,
20552}
20553impl SenseDataProviderCreateInfoSpatialMeshBD {
20554 pub const TYPE: StructureType = StructureType::SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD;
20555}
20556#[repr(C)]
20557#[derive(Copy, Clone, Debug)]
20558#[doc = "See [XrSystemSpatialScenePropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialScenePropertiesBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
20559pub struct SystemSpatialScenePropertiesBD {
20560 pub ty: StructureType,
20561 pub next: *mut c_void,
20562 pub supports_spatial_scene: Bool32,
20563}
20564impl SystemSpatialScenePropertiesBD {
20565 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_SCENE_PROPERTIES_BD;
20566 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20567 #[inline]
20568 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20569 let mut x = MaybeUninit::<Self>::uninit();
20570 unsafe {
20571 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20572 ty: Self::TYPE,
20573 next,
20574 });
20575 }
20576 x
20577 }
20578}
20579#[repr(C)]
20580#[derive(Copy, Clone, Debug)]
20581#[doc = "See [XrSceneCaptureInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSceneCaptureInfoBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
20582pub struct SceneCaptureInfoBD {
20583 pub ty: StructureType,
20584 pub next: *const c_void,
20585}
20586impl SceneCaptureInfoBD {
20587 pub const TYPE: StructureType = StructureType::SCENE_CAPTURE_INFO_BD;
20588}
20589#[repr(C)]
20590#[derive(Copy, Clone, Debug)]
20591#[doc = "See [XrSystemSpatialPlanePropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSpatialPlanePropertiesBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
20592pub struct SystemSpatialPlanePropertiesBD {
20593 pub ty: StructureType,
20594 pub next: *mut c_void,
20595 pub supports_spatial_plane: Bool32,
20596}
20597impl SystemSpatialPlanePropertiesBD {
20598 pub const TYPE: StructureType = StructureType::SYSTEM_SPATIAL_PLANE_PROPERTIES_BD;
20599 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20600 #[inline]
20601 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20602 let mut x = MaybeUninit::<Self>::uninit();
20603 unsafe {
20604 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20605 ty: Self::TYPE,
20606 next,
20607 });
20608 }
20609 x
20610 }
20611}
20612#[repr(C)]
20613#[derive(Copy, Clone, Debug)]
20614#[doc = "See [XrSpatialEntityComponentDataPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialEntityComponentDataPlaneOrientationBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
20615pub struct SpatialEntityComponentDataPlaneOrientationBD {
20616 pub ty: StructureType,
20617 pub next: *mut c_void,
20618 pub orientation: PlaneOrientationBD,
20619}
20620impl SpatialEntityComponentDataPlaneOrientationBD {
20621 pub const TYPE: StructureType =
20622 StructureType::SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD;
20623 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20624 #[inline]
20625 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20626 let mut x = MaybeUninit::<Self>::uninit();
20627 unsafe {
20628 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20629 ty: Self::TYPE,
20630 next,
20631 });
20632 }
20633 x
20634 }
20635}
20636#[repr(C)]
20637#[derive(Copy, Clone, Debug)]
20638#[doc = "See [XrSenseDataFilterPlaneOrientationBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSenseDataFilterPlaneOrientationBD) - defined by [XR_BD_spatial_plane](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_plane)"]
20639pub struct SenseDataFilterPlaneOrientationBD {
20640 pub ty: StructureType,
20641 pub next: *const c_void,
20642 pub orientation_count: u32,
20643 pub orientations: *mut PlaneOrientationBD,
20644}
20645impl SenseDataFilterPlaneOrientationBD {
20646 pub const TYPE: StructureType = StructureType::SENSE_DATA_FILTER_PLANE_ORIENTATION_BD;
20647}
20648#[repr(C)]
20649#[derive(Copy, Clone, Debug)]
20650#[doc = "See [XrSystemSimultaneousHandsAndControllersPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemSimultaneousHandsAndControllersPropertiesMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
20651pub struct SystemSimultaneousHandsAndControllersPropertiesMETA {
20652 pub ty: StructureType,
20653 pub next: *mut c_void,
20654 pub supports_simultaneous_hands_and_controllers: Bool32,
20655}
20656impl SystemSimultaneousHandsAndControllersPropertiesMETA {
20657 pub const TYPE: StructureType =
20658 StructureType::SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META;
20659 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20660 #[inline]
20661 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20662 let mut x = MaybeUninit::<Self>::uninit();
20663 unsafe {
20664 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20665 ty: Self::TYPE,
20666 next,
20667 });
20668 }
20669 x
20670 }
20671}
20672#[repr(C)]
20673#[derive(Copy, Clone, Debug)]
20674#[doc = "See [XrSimultaneousHandsAndControllersTrackingResumeInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSimultaneousHandsAndControllersTrackingResumeInfoMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
20675pub struct SimultaneousHandsAndControllersTrackingResumeInfoMETA {
20676 pub ty: StructureType,
20677 pub next: *const c_void,
20678}
20679impl SimultaneousHandsAndControllersTrackingResumeInfoMETA {
20680 pub const TYPE: StructureType =
20681 StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META;
20682}
20683#[repr(C)]
20684#[derive(Copy, Clone, Debug)]
20685#[doc = "See [XrSimultaneousHandsAndControllersTrackingPauseInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSimultaneousHandsAndControllersTrackingPauseInfoMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
20686pub struct SimultaneousHandsAndControllersTrackingPauseInfoMETA {
20687 pub ty: StructureType,
20688 pub next: *const c_void,
20689}
20690impl SimultaneousHandsAndControllersTrackingPauseInfoMETA {
20691 pub const TYPE: StructureType =
20692 StructureType::SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META;
20693}
20694#[repr(C)]
20695#[derive(Copy, Clone, Debug)]
20696#[doc = "See [XrLoaderInitInfoPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitInfoPropertiesEXT) - defined by [XR_EXT_loader_init_properties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_loader_init_properties)"]
20697pub struct LoaderInitInfoPropertiesEXT {
20698 pub ty: StructureType,
20699 pub next: *const c_void,
20700 pub property_value_count: u32,
20701 pub property_values: *const LoaderInitPropertyValueEXT,
20702}
20703impl LoaderInitInfoPropertiesEXT {
20704 pub const TYPE: StructureType = StructureType::LOADER_INIT_INFO_PROPERTIES_EXT;
20705}
20706#[repr(C)]
20707#[derive(Copy, Clone, Debug)]
20708#[doc = "See [XrLoaderInitPropertyValueEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLoaderInitPropertyValueEXT)"]
20709pub struct LoaderInitPropertyValueEXT {
20710 pub name: *const c_char,
20711 pub value: *const c_char,
20712}
20713#[repr(C)]
20714#[derive(Copy, Clone, Debug)]
20715#[doc = "See [XrSpatialCapabilityConfigurationDepthRaycastANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationDepthRaycastANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20716#[cfg(target_os = "android")]
20717pub struct SpatialCapabilityConfigurationDepthRaycastANDROID {
20718 pub ty: StructureType,
20719 pub next: *const c_void,
20720 pub capability: SpatialCapabilityEXT,
20721 pub enabled_component_count: u32,
20722 pub enabled_components: *const SpatialComponentTypeEXT,
20723}
20724#[cfg(target_os = "android")]
20725impl SpatialCapabilityConfigurationDepthRaycastANDROID {
20726 pub const TYPE: StructureType =
20727 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_DEPTH_RAYCAST_ANDROID;
20728}
20729#[repr(C)]
20730#[derive(Copy, Clone, Debug)]
20731#[doc = "See [XrSpatialRaycastInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialRaycastInfoANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20732#[cfg(target_os = "android")]
20733pub struct SpatialRaycastInfoANDROID {
20734 pub ty: StructureType,
20735 pub next: *const c_void,
20736 pub space: Space,
20737 pub time: Time,
20738 pub origin: Vector3f,
20739 pub direction: Vector3f,
20740 pub max_distance: f32,
20741}
20742#[cfg(target_os = "android")]
20743impl SpatialRaycastInfoANDROID {
20744 pub const TYPE: StructureType = StructureType::SPATIAL_RAYCAST_INFO_ANDROID;
20745}
20746#[repr(C)]
20747#[derive(Copy, Clone, Debug, Default, PartialEq)]
20748#[doc = "See [XrSpatialRaycastResultDataANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialRaycastResultDataANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20749#[cfg(target_os = "android")]
20750pub struct SpatialRaycastResultDataANDROID {
20751 pub hit_pose: Posef,
20752 pub distance_squared: f32,
20753}
20754#[repr(C)]
20755#[derive(Copy, Clone, Debug)]
20756#[doc = "See [XrSpatialComponentRaycastResultListANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentRaycastResultListANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20757#[cfg(target_os = "android")]
20758pub struct SpatialComponentRaycastResultListANDROID {
20759 pub ty: StructureType,
20760 pub next: *mut c_void,
20761 pub raycast_result_count: u32,
20762 pub raycast_results: *mut SpatialRaycastResultDataANDROID,
20763}
20764#[cfg(target_os = "android")]
20765impl SpatialComponentRaycastResultListANDROID {
20766 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_RAYCAST_RESULT_LIST_ANDROID;
20767 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20768 #[inline]
20769 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20770 let mut x = MaybeUninit::<Self>::uninit();
20771 unsafe {
20772 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20773 ty: Self::TYPE,
20774 next,
20775 });
20776 }
20777 x
20778 }
20779}
20780#[repr(C)]
20781#[derive(Copy, Clone, Debug)]
20782#[doc = "See [XrSpatialRaycastSnapshotCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialRaycastSnapshotCreateInfoANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
20783#[cfg(target_os = "android")]
20784pub struct SpatialRaycastSnapshotCreateInfoANDROID {
20785 pub ty: StructureType,
20786 pub next: *const c_void,
20787 pub component_type_count: u32,
20788 pub component_types: *const SpatialComponentTypeEXT,
20789 pub raycast_info: *const SpatialRaycastInfoANDROID,
20790}
20791#[cfg(target_os = "android")]
20792impl SpatialRaycastSnapshotCreateInfoANDROID {
20793 pub const TYPE: StructureType = StructureType::SPATIAL_RAYCAST_SNAPSHOT_CREATE_INFO_ANDROID;
20794}
20795#[repr(C)]
20796#[derive(Copy, Clone, Debug)]
20797#[doc = "See [XrSpatialCapabilityConfigurationArucoMarkerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationArucoMarkerEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20798pub struct SpatialCapabilityConfigurationArucoMarkerEXT {
20799 pub ty: StructureType,
20800 pub next: *const c_void,
20801 pub capability: SpatialCapabilityEXT,
20802 pub enabled_component_count: u32,
20803 pub enabled_components: *const SpatialComponentTypeEXT,
20804 pub ar_uco_dict: SpatialMarkerArucoDictEXT,
20805}
20806impl SpatialCapabilityConfigurationArucoMarkerEXT {
20807 pub const TYPE: StructureType =
20808 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT;
20809}
20810#[repr(C)]
20811#[derive(Copy, Clone, Debug)]
20812#[doc = "See [XrSpatialCapabilityConfigurationAprilTagEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationAprilTagEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20813pub struct SpatialCapabilityConfigurationAprilTagEXT {
20814 pub ty: StructureType,
20815 pub next: *const c_void,
20816 pub capability: SpatialCapabilityEXT,
20817 pub enabled_component_count: u32,
20818 pub enabled_components: *const SpatialComponentTypeEXT,
20819 pub april_dict: SpatialMarkerAprilTagDictEXT,
20820}
20821impl SpatialCapabilityConfigurationAprilTagEXT {
20822 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT;
20823}
20824#[repr(C)]
20825#[derive(Copy, Clone, Debug)]
20826#[doc = "See [XrSpatialCapabilityConfigurationQrCodeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationQrCodeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20827pub struct SpatialCapabilityConfigurationQrCodeEXT {
20828 pub ty: StructureType,
20829 pub next: *const c_void,
20830 pub capability: SpatialCapabilityEXT,
20831 pub enabled_component_count: u32,
20832 pub enabled_components: *const SpatialComponentTypeEXT,
20833}
20834impl SpatialCapabilityConfigurationQrCodeEXT {
20835 pub const TYPE: StructureType = StructureType::SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT;
20836}
20837#[repr(C)]
20838#[derive(Copy, Clone, Debug)]
20839#[doc = "See [XrSpatialCapabilityConfigurationMicroQrCodeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationMicroQrCodeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20840pub struct SpatialCapabilityConfigurationMicroQrCodeEXT {
20841 pub ty: StructureType,
20842 pub next: *const c_void,
20843 pub capability: SpatialCapabilityEXT,
20844 pub enabled_component_count: u32,
20845 pub enabled_components: *const SpatialComponentTypeEXT,
20846}
20847impl SpatialCapabilityConfigurationMicroQrCodeEXT {
20848 pub const TYPE: StructureType =
20849 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT;
20850}
20851#[repr(C)]
20852#[derive(Copy, Clone, Debug)]
20853#[doc = "See [XrSpatialMarkerSizeEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerSizeEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20854pub struct SpatialMarkerSizeEXT {
20855 pub ty: StructureType,
20856 pub next: *const c_void,
20857 pub marker_side_length: f32,
20858}
20859impl SpatialMarkerSizeEXT {
20860 pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_SIZE_EXT;
20861}
20862#[repr(C)]
20863#[derive(Copy, Clone, Debug)]
20864#[doc = "See [XrSpatialMarkerStaticOptimizationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerStaticOptimizationEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20865pub struct SpatialMarkerStaticOptimizationEXT {
20866 pub ty: StructureType,
20867 pub next: *const c_void,
20868 pub optimize_for_static_marker: Bool32,
20869}
20870impl SpatialMarkerStaticOptimizationEXT {
20871 pub const TYPE: StructureType = StructureType::SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT;
20872}
20873#[repr(C)]
20874#[derive(Copy, Clone, Debug, PartialEq)]
20875#[doc = "See [XrSpatialMarkerDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialMarkerDataEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20876pub struct SpatialMarkerDataEXT {
20877 pub capability: SpatialCapabilityEXT,
20878 pub marker_id: u32,
20879 pub data: SpatialBufferEXT,
20880}
20881#[repr(C)]
20882#[derive(Copy, Clone, Debug)]
20883#[doc = "See [XrSpatialComponentMarkerListEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentMarkerListEXT) - defined by [XR_EXT_spatial_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_marker_tracking)"]
20884pub struct SpatialComponentMarkerListEXT {
20885 pub ty: StructureType,
20886 pub next: *mut c_void,
20887 pub marker_count: u32,
20888 pub markers: *mut SpatialMarkerDataEXT,
20889}
20890impl SpatialComponentMarkerListEXT {
20891 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_MARKER_LIST_EXT;
20892 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20893 #[inline]
20894 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20895 let mut x = MaybeUninit::<Self>::uninit();
20896 unsafe {
20897 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20898 ty: Self::TYPE,
20899 next,
20900 });
20901 }
20902 x
20903 }
20904}
20905#[repr(C)]
20906#[derive(Copy, Clone, Debug, Default, PartialEq)]
20907#[doc = "See [XrExtent3DiMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrExtent3DiMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
20908pub struct Extent3DiMETA {
20909 pub width: i32,
20910 pub height: i32,
20911 pub depth: i32,
20912}
20913#[repr(C)]
20914#[derive(Copy, Clone, Debug)]
20915#[doc = "See [XrTilePropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTilePropertiesMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
20916pub struct TilePropertiesMETA {
20917 pub ty: StructureType,
20918 pub next: *mut c_void,
20919 pub tile_dimensions: Extent3DiMETA,
20920 pub apron_dimensions: Extent2Di,
20921 pub origin: Offset2Di,
20922}
20923impl TilePropertiesMETA {
20924 pub const TYPE: StructureType = StructureType::TILE_PROPERTIES_META;
20925 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20926 #[inline]
20927 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20928 let mut x = MaybeUninit::<Self>::uninit();
20929 unsafe {
20930 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20931 ty: Self::TYPE,
20932 next,
20933 });
20934 }
20935 x
20936 }
20937}
20938#[repr(C)]
20939#[derive(Copy, Clone, Debug)]
20940#[doc = "See [XrTilePropertiesHintMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTilePropertiesHintMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
20941pub struct TilePropertiesHintMETA {
20942 pub ty: StructureType,
20943 pub next: *mut c_void,
20944 pub properties_count: u32,
20945 pub properties: *const TilePropertiesMETA,
20946}
20947impl TilePropertiesHintMETA {
20948 pub const TYPE: StructureType = StructureType::TILE_PROPERTIES_HINT_META;
20949 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20950 #[inline]
20951 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20952 let mut x = MaybeUninit::<Self>::uninit();
20953 unsafe {
20954 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20955 ty: Self::TYPE,
20956 next,
20957 });
20958 }
20959 x
20960 }
20961}
20962#[repr(C)]
20963#[derive(Copy, Clone, Debug)]
20964#[doc = "See [XrSystemFacialSimulationPropertiesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemFacialSimulationPropertiesBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
20965pub struct SystemFacialSimulationPropertiesBD {
20966 pub ty: StructureType,
20967 pub next: *mut c_void,
20968 pub supports_face_tracking: Bool32,
20969}
20970impl SystemFacialSimulationPropertiesBD {
20971 pub const TYPE: StructureType = StructureType::SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD;
20972 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
20973 #[inline]
20974 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
20975 let mut x = MaybeUninit::<Self>::uninit();
20976 unsafe {
20977 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
20978 ty: Self::TYPE,
20979 next,
20980 });
20981 }
20982 x
20983 }
20984}
20985#[repr(C)]
20986#[derive(Copy, Clone, Debug)]
20987#[doc = "See [XrFaceTrackerCreateInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFaceTrackerCreateInfoBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
20988pub struct FaceTrackerCreateInfoBD {
20989 pub ty: StructureType,
20990 pub next: *const c_void,
20991 pub mode: FacialSimulationModeBD,
20992}
20993impl FaceTrackerCreateInfoBD {
20994 pub const TYPE: StructureType = StructureType::FACE_TRACKER_CREATE_INFO_BD;
20995}
20996#[repr(C)]
20997#[derive(Copy, Clone, Debug)]
20998#[doc = "See [XrFacialSimulationDataGetInfoBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationDataGetInfoBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
20999pub struct FacialSimulationDataGetInfoBD {
21000 pub ty: StructureType,
21001 pub next: *const c_void,
21002 pub time: Time,
21003}
21004impl FacialSimulationDataGetInfoBD {
21005 pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_GET_INFO_BD;
21006}
21007#[repr(C)]
21008#[derive(Copy, Clone, Debug)]
21009#[doc = "See [XrFacialSimulationDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrFacialSimulationDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21010pub struct FacialSimulationDataBD {
21011 pub ty: StructureType,
21012 pub next: *mut c_void,
21013 pub face_expression_weight_count: u32,
21014 pub face_expression_weights: *mut f32,
21015 pub is_upper_face_data_valid: Bool32,
21016 pub is_lower_face_data_valid: Bool32,
21017 pub time: Time,
21018}
21019impl FacialSimulationDataBD {
21020 pub const TYPE: StructureType = StructureType::FACIAL_SIMULATION_DATA_BD;
21021 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21022 #[inline]
21023 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21024 let mut x = MaybeUninit::<Self>::uninit();
21025 unsafe {
21026 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21027 ty: Self::TYPE,
21028 next,
21029 });
21030 }
21031 x
21032 }
21033}
21034#[repr(C)]
21035#[derive(Copy, Clone, Debug)]
21036#[doc = "See [XrLipExpressionDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrLipExpressionDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
21037pub struct LipExpressionDataBD {
21038 pub ty: StructureType,
21039 pub next: *mut c_void,
21040 pub lipsync_expression_weight_count: u32,
21041 pub lipsync_expression_weights: *mut f32,
21042}
21043impl LipExpressionDataBD {
21044 pub const TYPE: StructureType = StructureType::LIP_EXPRESSION_DATA_BD;
21045 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21046 #[inline]
21047 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21048 let mut x = MaybeUninit::<Self>::uninit();
21049 unsafe {
21050 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21051 ty: Self::TYPE,
21052 next,
21053 });
21054 }
21055 x
21056 }
21057}
21058#[repr(C)]
21059#[derive(Copy, Clone, Debug)]
21060#[doc = "See [XrSystemImageTrackingPropertiesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemImageTrackingPropertiesANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21061#[cfg(target_os = "android")]
21062pub struct SystemImageTrackingPropertiesANDROID {
21063 pub ty: StructureType,
21064 pub next: *mut c_void,
21065 pub supports_image_tracking: Bool32,
21066 pub supports_physical_size_estimation: Bool32,
21067 pub max_tracked_image_count: u32,
21068 pub max_loaded_image_count: u32,
21069}
21070#[cfg(target_os = "android")]
21071impl SystemImageTrackingPropertiesANDROID {
21072 pub const TYPE: StructureType = StructureType::SYSTEM_IMAGE_TRACKING_PROPERTIES_ANDROID;
21073 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21074 #[inline]
21075 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21076 let mut x = MaybeUninit::<Self>::uninit();
21077 unsafe {
21078 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21079 ty: Self::TYPE,
21080 next,
21081 });
21082 }
21083 x
21084 }
21085}
21086#[repr(C)]
21087#[derive(Copy, Clone, Debug)]
21088#[doc = "See [XrTrackableImageDatabaseEntryANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageDatabaseEntryANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21089#[cfg(target_os = "android")]
21090pub struct TrackableImageDatabaseEntryANDROID {
21091 pub ty: StructureType,
21092 pub next: *const c_void,
21093 pub tracking_mode: TrackableImageTrackingModeANDROID,
21094 pub physical_width: f32,
21095 pub image_width: u32,
21096 pub image_height: u32,
21097 pub format: TrackableImageFormatANDROID,
21098 pub buffer_size: u32,
21099 pub buffer: *const u8,
21100}
21101#[cfg(target_os = "android")]
21102impl TrackableImageDatabaseEntryANDROID {
21103 pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_DATABASE_ENTRY_ANDROID;
21104}
21105#[repr(C)]
21106#[derive(Copy, Clone, Debug)]
21107#[doc = "See [XrTrackableImageDatabaseCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageDatabaseCreateInfoANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21108#[cfg(target_os = "android")]
21109pub struct TrackableImageDatabaseCreateInfoANDROID {
21110 pub ty: StructureType,
21111 pub next: *const c_void,
21112 pub entry_count: u32,
21113 pub entries: *const TrackableImageDatabaseEntryANDROID,
21114}
21115#[cfg(target_os = "android")]
21116impl TrackableImageDatabaseCreateInfoANDROID {
21117 pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_DATABASE_CREATE_INFO_ANDROID;
21118}
21119#[repr(C)]
21120#[derive(Copy, Clone, Debug)]
21121#[doc = "See [XrCreateTrackableImageDatabaseCompletionANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrCreateTrackableImageDatabaseCompletionANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21122#[cfg(target_os = "android")]
21123pub struct CreateTrackableImageDatabaseCompletionANDROID {
21124 pub ty: StructureType,
21125 pub next: *mut c_void,
21126 pub future_result: Result,
21127 pub database: TrackableImageDatabaseANDROID,
21128}
21129#[cfg(target_os = "android")]
21130impl CreateTrackableImageDatabaseCompletionANDROID {
21131 pub const TYPE: StructureType =
21132 StructureType::CREATE_TRACKABLE_IMAGE_DATABASE_COMPLETION_ANDROID;
21133 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21134 #[inline]
21135 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21136 let mut x = MaybeUninit::<Self>::uninit();
21137 unsafe {
21138 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21139 ty: Self::TYPE,
21140 next,
21141 });
21142 }
21143 x
21144 }
21145}
21146#[repr(C)]
21147#[derive(Copy, Clone, Debug)]
21148#[doc = "See [XrTrackableImageConfigurationANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageConfigurationANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21149#[cfg(target_os = "android")]
21150pub struct TrackableImageConfigurationANDROID {
21151 pub ty: StructureType,
21152 pub next: *const c_void,
21153 pub database_count: u32,
21154 pub databases: *const TrackableImageDatabaseANDROID,
21155}
21156#[cfg(target_os = "android")]
21157impl TrackableImageConfigurationANDROID {
21158 pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_CONFIGURATION_ANDROID;
21159}
21160#[repr(C)]
21161#[derive(Copy, Clone, Debug)]
21162#[doc = "See [XrTrackableImageANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrTrackableImageANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21163#[cfg(target_os = "android")]
21164pub struct TrackableImageANDROID {
21165 pub ty: StructureType,
21166 pub next: *const c_void,
21167 pub tracking_state: TrackingStateANDROID,
21168 pub last_updated_time: Time,
21169 pub database: TrackableImageDatabaseANDROID,
21170 pub database_entry_index: u32,
21171 pub center_pose: Posef,
21172 pub extents: Extent2Df,
21173}
21174#[cfg(target_os = "android")]
21175impl TrackableImageANDROID {
21176 pub const TYPE: StructureType = StructureType::TRACKABLE_IMAGE_ANDROID;
21177}
21178#[repr(C)]
21179#[derive(Copy, Clone, Debug)]
21180#[doc = "See [XrEventDataImageTrackingLostANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataImageTrackingLostANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
21181#[cfg(target_os = "android")]
21182pub struct EventDataImageTrackingLostANDROID {
21183 pub ty: StructureType,
21184 pub next: *const c_void,
21185 pub time: Time,
21186}
21187#[cfg(target_os = "android")]
21188impl EventDataImageTrackingLostANDROID {
21189 pub const TYPE: StructureType = StructureType::EVENT_DATA_IMAGE_TRACKING_LOST_ANDROID;
21190}
21191#[repr(C)]
21192#[derive(Copy, Clone, Debug)]
21193#[doc = "See [XrSpatialCapabilityConfigurationObjectTrackingANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialCapabilityConfigurationObjectTrackingANDROID) - defined by [XR_ANDROID_spatial_object_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_object_tracking)"]
21194#[cfg(target_os = "android")]
21195pub struct SpatialCapabilityConfigurationObjectTrackingANDROID {
21196 pub ty: StructureType,
21197 pub next: *const c_void,
21198 pub capability: SpatialCapabilityEXT,
21199 pub enabled_component_count: u32,
21200 pub enabled_components: *const SpatialComponentTypeEXT,
21201 pub active_semantic_label_count: u32,
21202 pub active_semantic_labels: *const SpatialObjectSemanticLabelANDROID,
21203}
21204#[cfg(target_os = "android")]
21205impl SpatialCapabilityConfigurationObjectTrackingANDROID {
21206 pub const TYPE: StructureType =
21207 StructureType::SPATIAL_CAPABILITY_CONFIGURATION_OBJECT_TRACKING_ANDROID;
21208}
21209#[repr(C)]
21210#[derive(Copy, Clone, Debug)]
21211#[doc = "See [XrSpatialComponentObjectSemanticLabelListANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentObjectSemanticLabelListANDROID) - defined by [XR_ANDROID_spatial_object_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_object_tracking)"]
21212#[cfg(target_os = "android")]
21213pub struct SpatialComponentObjectSemanticLabelListANDROID {
21214 pub ty: StructureType,
21215 pub next: *mut c_void,
21216 pub semantic_label_count: u32,
21217 pub semantic_labels: *mut SpatialObjectSemanticLabelANDROID,
21218}
21219#[cfg(target_os = "android")]
21220impl SpatialComponentObjectSemanticLabelListANDROID {
21221 pub const TYPE: StructureType =
21222 StructureType::SPATIAL_COMPONENT_OBJECT_SEMANTIC_LABEL_LIST_ANDROID;
21223 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21224 #[inline]
21225 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21226 let mut x = MaybeUninit::<Self>::uninit();
21227 unsafe {
21228 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21229 ty: Self::TYPE,
21230 next,
21231 });
21232 }
21233 x
21234 }
21235}
21236#[repr(C)]
21237#[derive(Copy, Clone, Debug)]
21238#[doc = "See [XrSpatialAnchorParentANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorParentANDROID) - defined by [XR_ANDROID_spatial_entity_bound_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_entity_bound_anchor)"]
21239#[cfg(target_os = "android")]
21240pub struct SpatialAnchorParentANDROID {
21241 pub ty: StructureType,
21242 pub next: *const c_void,
21243 pub parent_id: SpatialEntityIdEXT,
21244}
21245#[cfg(target_os = "android")]
21246impl SpatialAnchorParentANDROID {
21247 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_PARENT_ANDROID;
21248}
21249#[repr(C)]
21250#[derive(Copy, Clone, Debug)]
21251#[doc = "See [XrSpatialAnchorSpaceFromIdCreateInfoANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialAnchorSpaceFromIdCreateInfoANDROID) - defined by [XR_ANDROID_spatial_anchor_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_anchor_space)"]
21252#[cfg(target_os = "android")]
21253pub struct SpatialAnchorSpaceFromIdCreateInfoANDROID {
21254 pub ty: StructureType,
21255 pub next: *const c_void,
21256 pub anchor_entity_id: SpatialEntityIdEXT,
21257}
21258#[cfg(target_os = "android")]
21259impl SpatialAnchorSpaceFromIdCreateInfoANDROID {
21260 pub const TYPE: StructureType = StructureType::SPATIAL_ANCHOR_SPACE_FROM_ID_CREATE_INFO_ANDROID;
21261}
21262#[repr(C)]
21263#[derive(Copy, Clone, Debug)]
21264#[doc = "See [XrSpatialDiscoveryUniqueEntitiesFilterANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialDiscoveryUniqueEntitiesFilterANDROID) - defined by [XR_ANDROID_spatial_component_subsumed_by](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_component_subsumed_by)"]
21265#[cfg(target_os = "android")]
21266pub struct SpatialDiscoveryUniqueEntitiesFilterANDROID {
21267 pub ty: StructureType,
21268 pub next: *const c_void,
21269}
21270#[cfg(target_os = "android")]
21271impl SpatialDiscoveryUniqueEntitiesFilterANDROID {
21272 pub const TYPE: StructureType = StructureType::SPATIAL_DISCOVERY_UNIQUE_ENTITIES_FILTER_ANDROID;
21273}
21274#[repr(C)]
21275#[derive(Copy, Clone, Debug)]
21276#[doc = "See [XrSpatialComponentSubsumedByListANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSpatialComponentSubsumedByListANDROID) - defined by [XR_ANDROID_spatial_component_subsumed_by](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_component_subsumed_by)"]
21277#[cfg(target_os = "android")]
21278pub struct SpatialComponentSubsumedByListANDROID {
21279 pub ty: StructureType,
21280 pub next: *mut c_void,
21281 pub subsumed_unique_id_count: u32,
21282 pub subsumed_unique_ids: *mut SpatialEntityIdEXT,
21283}
21284#[cfg(target_os = "android")]
21285impl SpatialComponentSubsumedByListANDROID {
21286 pub const TYPE: StructureType = StructureType::SPATIAL_COMPONENT_SUBSUMED_BY_LIST_ANDROID;
21287 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21288 #[inline]
21289 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21290 let mut x = MaybeUninit::<Self>::uninit();
21291 unsafe {
21292 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21293 ty: Self::TYPE,
21294 next,
21295 });
21296 }
21297 x
21298 }
21299}
21300#[repr(C)]
21301#[derive(Copy, Clone, Debug)]
21302#[doc = "See [XrEventDataViewConfigurationViewsChangedEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEventDataViewConfigurationViewsChangedEXT) - defined by [XR_EXT_view_configuration_views_change](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_view_configuration_views_change)"]
21303pub struct EventDataViewConfigurationViewsChangedEXT {
21304 pub ty: StructureType,
21305 pub next: *const c_void,
21306 pub system_id: SystemId,
21307 pub view_configuration_type: ViewConfigurationType,
21308}
21309impl EventDataViewConfigurationViewsChangedEXT {
21310 pub const TYPE: StructureType = StructureType::EVENT_DATA_VIEW_CONFIGURATION_VIEWS_CHANGED_EXT;
21311}
21312#[repr(C)]
21313#[derive(Copy, Clone, Debug)]
21314#[doc = "See [XrBatteryStateDisplayEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrBatteryStateDisplayEXT) - defined by [XR_EXT_interaction_profile_battery_state_display](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_profile_battery_state_display)"]
21315pub struct BatteryStateDisplayEXT {
21316 pub ty: StructureType,
21317 pub next: *mut c_void,
21318 pub state_flags: BatteryStateDisplayStateFlagsEXT,
21319 pub battery_level: f32,
21320}
21321impl BatteryStateDisplayEXT {
21322 pub const TYPE: StructureType = StructureType::BATTERY_STATE_DISPLAY_EXT;
21323 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21324 #[inline]
21325 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21326 let mut x = MaybeUninit::<Self>::uninit();
21327 unsafe {
21328 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21329 ty: Self::TYPE,
21330 next,
21331 });
21332 }
21333 x
21334 }
21335}
21336#[repr(C)]
21337#[derive(Copy, Clone, Debug)]
21338#[doc = "See [XrSystemEnvironmentRaycastPropertiesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrSystemEnvironmentRaycastPropertiesMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21339pub struct SystemEnvironmentRaycastPropertiesMETA {
21340 pub ty: StructureType,
21341 pub next: *mut c_void,
21342 pub supports_environment_raycast: Bool32,
21343}
21344impl SystemEnvironmentRaycastPropertiesMETA {
21345 pub const TYPE: StructureType = StructureType::SYSTEM_ENVIRONMENT_RAYCAST_PROPERTIES_META;
21346 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21347 #[inline]
21348 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21349 let mut x = MaybeUninit::<Self>::uninit();
21350 unsafe {
21351 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21352 ty: Self::TYPE,
21353 next,
21354 });
21355 }
21356 x
21357 }
21358}
21359#[repr(C)]
21360#[derive(Copy, Clone, Debug)]
21361#[doc = "See [XrEnvironmentRaycasterCreateInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycasterCreateInfoMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21362pub struct EnvironmentRaycasterCreateInfoMETA {
21363 pub ty: StructureType,
21364 pub next: *const c_void,
21365}
21366impl EnvironmentRaycasterCreateInfoMETA {
21367 pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCASTER_CREATE_INFO_META;
21368}
21369#[repr(C)]
21370#[derive(Copy, Clone, Debug)]
21371#[doc = "See [XrEnvironmentRaycasterCreateCompletionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycasterCreateCompletionMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21372pub struct EnvironmentRaycasterCreateCompletionMETA {
21373 pub ty: StructureType,
21374 pub next: *mut c_void,
21375 pub future_result: Result,
21376 pub environment_raycaster: EnvironmentRaycasterMETA,
21377}
21378impl EnvironmentRaycasterCreateCompletionMETA {
21379 pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCASTER_CREATE_COMPLETION_META;
21380 #[doc = r" Construct a partially-initialized value suitable for passing to OpenXR"]
21381 #[inline]
21382 pub fn out(next: *mut BaseOutStructure) -> MaybeUninit<Self> {
21383 let mut x = MaybeUninit::<Self>::uninit();
21384 unsafe {
21385 (x.as_mut_ptr() as *mut BaseOutStructure).write(BaseOutStructure {
21386 ty: Self::TYPE,
21387 next,
21388 });
21389 }
21390 x
21391 }
21392}
21393#[repr(C)]
21394#[derive(Copy, Clone, Debug)]
21395#[doc = "See [XrEnvironmentRaycastFilterBaseHeaderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastFilterBaseHeaderMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21396pub struct EnvironmentRaycastFilterBaseHeaderMETA {
21397 pub ty: StructureType,
21398 pub next: *const c_void,
21399}
21400#[repr(C)]
21401#[derive(Copy, Clone, Debug)]
21402#[doc = "See [XrEnvironmentRaycastFilterDistanceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastFilterDistanceMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21403pub struct EnvironmentRaycastFilterDistanceMETA {
21404 pub ty: StructureType,
21405 pub next: *const c_void,
21406 pub max_distance: f32,
21407}
21408impl EnvironmentRaycastFilterDistanceMETA {
21409 pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCAST_FILTER_DISTANCE_META;
21410}
21411#[repr(C)]
21412#[derive(Copy, Clone, Debug)]
21413#[doc = "See [XrEnvironmentRaycastHitGetInfoMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastHitGetInfoMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21414pub struct EnvironmentRaycastHitGetInfoMETA {
21415 pub ty: StructureType,
21416 pub next: *const c_void,
21417 pub base_space: Space,
21418 pub time: Time,
21419 pub origin: Vector3f,
21420 pub direction: Vector3f,
21421 pub filter_count: u32,
21422 pub filters: *const *const EnvironmentRaycastFilterBaseHeaderMETA,
21423}
21424impl EnvironmentRaycastHitGetInfoMETA {
21425 pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCAST_HIT_GET_INFO_META;
21426}
21427#[repr(C)]
21428#[derive(Copy, Clone, Debug)]
21429#[doc = "See [XrEnvironmentRaycastHitMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrEnvironmentRaycastHitMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
21430pub struct EnvironmentRaycastHitMETA {
21431 pub ty: StructureType,
21432 pub next: *const c_void,
21433 pub status: EnvironmentRaycastHitStatusMETA,
21434 pub pose: Posef,
21435}
21436impl EnvironmentRaycastHitMETA {
21437 pub const TYPE: StructureType = StructureType::ENVIRONMENT_RAYCAST_HIT_META;
21438}
21439#[repr(C)]
21440#[derive(Copy, Clone, Debug, Default, PartialEq)]
21441#[doc = "See [XrHandGestureQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XrHandGestureQCOM) - defined by [XR_QCOM_hand_tracking_gesture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_QCOM_hand_tracking_gesture)"]
21442pub struct HandGestureQCOM {
21443 pub gesture: HandGestureTypeQCOM,
21444 pub gesture_ratio: f32,
21445 pub flip_ratio: f32,
21446}
21447#[doc = r" Function pointer prototypes"]
21448pub mod pfn {
21449 use super::*;
21450 pub use crate::platform::EglGetProcAddressMNDX;
21451 pub type VoidFunction = unsafe extern "system" fn();
21452 pub type DebugUtilsMessengerCallbackEXT = unsafe extern "system" fn(
21453 DebugUtilsMessageSeverityFlagsEXT,
21454 DebugUtilsMessageTypeFlagsEXT,
21455 *const DebugUtilsMessengerCallbackDataEXT,
21456 *mut c_void,
21457 ) -> Bool32;
21458 #[doc = "See [xrNegotiateLoaderRuntimeInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderRuntimeInterface)"]
21459 pub type NegotiateLoaderRuntimeInterface = unsafe extern "system" fn(
21460 loader_info: *const NegotiateLoaderInfo,
21461 runtime_request: *mut NegotiateRuntimeRequest,
21462 ) -> Result;
21463 #[doc = "See [xrNegotiateLoaderApiLayerInterface](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrNegotiateLoaderApiLayerInterface)"]
21464 pub type NegotiateLoaderApiLayerInterface = unsafe extern "system" fn(
21465 loader_info: *const NegotiateLoaderInfo,
21466 layer_name: *const c_char,
21467 api_layer_request: *mut NegotiateApiLayerRequest,
21468 ) -> Result;
21469 #[doc = "See [xrCreateApiLayerInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateApiLayerInstance)"]
21470 pub type CreateApiLayerInstance = unsafe extern "system" fn(
21471 info: *const InstanceCreateInfo,
21472 layer_info: *const ApiLayerCreateInfo,
21473 instance: *mut Instance,
21474 ) -> Result;
21475 #[doc = "See [xrGetInstanceProcAddr](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProcAddr)"]
21476 pub type GetInstanceProcAddr = unsafe extern "system" fn(
21477 instance: Instance,
21478 name: *const c_char,
21479 function: *mut Option<pfn::VoidFunction>,
21480 ) -> Result;
21481 #[doc = "See [xrEnumerateApiLayerProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateApiLayerProperties)"]
21482 pub type EnumerateApiLayerProperties = unsafe extern "system" fn(
21483 property_capacity_input: u32,
21484 property_count_output: *mut u32,
21485 properties: *mut ApiLayerProperties,
21486 ) -> Result;
21487 #[doc = "See [xrEnumerateInstanceExtensionProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateInstanceExtensionProperties)"]
21488 pub type EnumerateInstanceExtensionProperties = unsafe extern "system" fn(
21489 layer_name: *const c_char,
21490 property_capacity_input: u32,
21491 property_count_output: *mut u32,
21492 properties: *mut ExtensionProperties,
21493 ) -> Result;
21494 #[doc = "See [xrCreateInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateInstance)"]
21495 pub type CreateInstance = unsafe extern "system" fn(
21496 create_info: *const InstanceCreateInfo,
21497 instance: *mut Instance,
21498 ) -> Result;
21499 #[doc = "See [xrDestroyInstance](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyInstance)"]
21500 pub type DestroyInstance = unsafe extern "system" fn(instance: Instance) -> Result;
21501 #[doc = "See [xrResultToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResultToString)"]
21502 pub type ResultToString =
21503 unsafe extern "system" fn(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
21504 #[doc = "See [xrStructureTypeToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStructureTypeToString)"]
21505 pub type StructureTypeToString = unsafe extern "system" fn(
21506 instance: Instance,
21507 value: StructureType,
21508 buffer: *mut c_char,
21509 ) -> Result;
21510 #[doc = "See [xrStructureTypeToString2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStructureTypeToString2KHR) - defined by [XR_KHR_extended_struct_name_lengths](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_extended_struct_name_lengths)"]
21511 pub type StructureTypeToString2KHR = unsafe extern "system" fn(
21512 instance: Instance,
21513 value: StructureType,
21514 buffer: *mut c_char,
21515 ) -> Result;
21516 #[doc = "See [xrGetInstanceProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInstanceProperties)"]
21517 pub type GetInstanceProperties = unsafe extern "system" fn(
21518 instance: Instance,
21519 instance_properties: *mut InstanceProperties,
21520 ) -> Result;
21521 #[doc = "See [xrGetSystem](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystem)"]
21522 pub type GetSystem = unsafe extern "system" fn(
21523 instance: Instance,
21524 get_info: *const SystemGetInfo,
21525 system_id: *mut SystemId,
21526 ) -> Result;
21527 #[doc = "See [xrGetSystemProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSystemProperties)"]
21528 pub type GetSystemProperties = unsafe extern "system" fn(
21529 instance: Instance,
21530 system_id: SystemId,
21531 properties: *mut SystemProperties,
21532 ) -> Result;
21533 #[doc = "See [xrCreateSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSession)"]
21534 pub type CreateSession = unsafe extern "system" fn(
21535 instance: Instance,
21536 create_info: *const SessionCreateInfo,
21537 session: *mut Session,
21538 ) -> Result;
21539 #[doc = "See [xrDestroySession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySession)"]
21540 pub type DestroySession = unsafe extern "system" fn(session: Session) -> Result;
21541 #[doc = "See [xrDestroySpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpace)"]
21542 pub type DestroySpace = unsafe extern "system" fn(space: Space) -> Result;
21543 #[doc = "See [xrEnumerateSwapchainFormats](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainFormats)"]
21544 pub type EnumerateSwapchainFormats = unsafe extern "system" fn(
21545 session: Session,
21546 format_capacity_input: u32,
21547 format_count_output: *mut u32,
21548 formats: *mut i64,
21549 ) -> Result;
21550 #[doc = "See [xrCreateSwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSwapchain)"]
21551 pub type CreateSwapchain = unsafe extern "system" fn(
21552 session: Session,
21553 create_info: *const SwapchainCreateInfo,
21554 swapchain: *mut Swapchain,
21555 ) -> Result;
21556 #[doc = "See [xrDestroySwapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySwapchain)"]
21557 pub type DestroySwapchain = unsafe extern "system" fn(swapchain: Swapchain) -> Result;
21558 #[doc = "See [xrEnumerateSwapchainImages](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSwapchainImages)"]
21559 pub type EnumerateSwapchainImages = unsafe extern "system" fn(
21560 swapchain: Swapchain,
21561 image_capacity_input: u32,
21562 image_count_output: *mut u32,
21563 images: *mut SwapchainImageBaseHeader,
21564 ) -> Result;
21565 #[doc = "See [xrAcquireSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAcquireSwapchainImage)"]
21566 pub type AcquireSwapchainImage = unsafe extern "system" fn(
21567 swapchain: Swapchain,
21568 acquire_info: *const SwapchainImageAcquireInfo,
21569 index: *mut u32,
21570 ) -> Result;
21571 #[doc = "See [xrWaitSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitSwapchainImage)"]
21572 pub type WaitSwapchainImage = unsafe extern "system" fn(
21573 swapchain: Swapchain,
21574 wait_info: *const SwapchainImageWaitInfo,
21575 ) -> Result;
21576 #[doc = "See [xrReleaseSwapchainImage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrReleaseSwapchainImage)"]
21577 pub type ReleaseSwapchainImage = unsafe extern "system" fn(
21578 swapchain: Swapchain,
21579 release_info: *const SwapchainImageReleaseInfo,
21580 ) -> Result;
21581 #[doc = "See [xrBeginSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginSession)"]
21582 pub type BeginSession =
21583 unsafe extern "system" fn(session: Session, begin_info: *const SessionBeginInfo) -> Result;
21584 #[doc = "See [xrEndSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndSession)"]
21585 pub type EndSession = unsafe extern "system" fn(session: Session) -> Result;
21586 #[doc = "See [xrRequestExitSession](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestExitSession)"]
21587 pub type RequestExitSession = unsafe extern "system" fn(session: Session) -> Result;
21588 #[doc = "See [xrEnumerateReferenceSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateReferenceSpaces)"]
21589 pub type EnumerateReferenceSpaces = unsafe extern "system" fn(
21590 session: Session,
21591 space_capacity_input: u32,
21592 space_count_output: *mut u32,
21593 spaces: *mut ReferenceSpaceType,
21594 ) -> Result;
21595 #[doc = "See [xrCreateReferenceSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateReferenceSpace)"]
21596 pub type CreateReferenceSpace = unsafe extern "system" fn(
21597 session: Session,
21598 create_info: *const ReferenceSpaceCreateInfo,
21599 space: *mut Space,
21600 ) -> Result;
21601 #[doc = "See [xrCreateActionSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSpace)"]
21602 pub type CreateActionSpace = unsafe extern "system" fn(
21603 session: Session,
21604 create_info: *const ActionSpaceCreateInfo,
21605 space: *mut Space,
21606 ) -> Result;
21607 #[doc = "See [xrLocateSpace](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpace)"]
21608 pub type LocateSpace = unsafe extern "system" fn(
21609 space: Space,
21610 base_space: Space,
21611 time: Time,
21612 location: *mut SpaceLocation,
21613 ) -> Result;
21614 #[doc = "See [xrEnumerateViewConfigurations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurations)"]
21615 pub type EnumerateViewConfigurations = unsafe extern "system" fn(
21616 instance: Instance,
21617 system_id: SystemId,
21618 view_configuration_type_capacity_input: u32,
21619 view_configuration_type_count_output: *mut u32,
21620 view_configuration_types: *mut ViewConfigurationType,
21621 ) -> Result;
21622 #[doc = "See [xrEnumerateEnvironmentBlendModes](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateEnvironmentBlendModes)"]
21623 pub type EnumerateEnvironmentBlendModes = unsafe extern "system" fn(
21624 instance: Instance,
21625 system_id: SystemId,
21626 view_configuration_type: ViewConfigurationType,
21627 environment_blend_mode_capacity_input: u32,
21628 environment_blend_mode_count_output: *mut u32,
21629 environment_blend_modes: *mut EnvironmentBlendMode,
21630 ) -> Result;
21631 #[doc = "See [xrGetViewConfigurationProperties](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetViewConfigurationProperties)"]
21632 pub type GetViewConfigurationProperties = unsafe extern "system" fn(
21633 instance: Instance,
21634 system_id: SystemId,
21635 view_configuration_type: ViewConfigurationType,
21636 configuration_properties: *mut ViewConfigurationProperties,
21637 ) -> Result;
21638 #[doc = "See [xrEnumerateViewConfigurationViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViewConfigurationViews)"]
21639 pub type EnumerateViewConfigurationViews = unsafe extern "system" fn(
21640 instance: Instance,
21641 system_id: SystemId,
21642 view_configuration_type: ViewConfigurationType,
21643 view_capacity_input: u32,
21644 view_count_output: *mut u32,
21645 views: *mut ViewConfigurationView,
21646 ) -> Result;
21647 #[doc = "See [xrBeginFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginFrame)"]
21648 pub type BeginFrame = unsafe extern "system" fn(
21649 session: Session,
21650 frame_begin_info: *const FrameBeginInfo,
21651 ) -> Result;
21652 #[doc = "See [xrLocateViews](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateViews)"]
21653 pub type LocateViews = unsafe extern "system" fn(
21654 session: Session,
21655 view_locate_info: *const ViewLocateInfo,
21656 view_state: *mut ViewState,
21657 view_capacity_input: u32,
21658 view_count_output: *mut u32,
21659 views: *mut View,
21660 ) -> Result;
21661 #[doc = "See [xrEndFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndFrame)"]
21662 pub type EndFrame =
21663 unsafe extern "system" fn(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
21664 #[doc = "See [xrWaitFrame](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitFrame)"]
21665 pub type WaitFrame = unsafe extern "system" fn(
21666 session: Session,
21667 frame_wait_info: *const FrameWaitInfo,
21668 frame_state: *mut FrameState,
21669 ) -> Result;
21670 #[doc = "See [xrApplyHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyHapticFeedback)"]
21671 pub type ApplyHapticFeedback = unsafe extern "system" fn(
21672 session: Session,
21673 haptic_action_info: *const HapticActionInfo,
21674 haptic_feedback: *const HapticBaseHeader,
21675 ) -> Result;
21676 #[doc = "See [xrStopHapticFeedback](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopHapticFeedback)"]
21677 pub type StopHapticFeedback = unsafe extern "system" fn(
21678 session: Session,
21679 haptic_action_info: *const HapticActionInfo,
21680 ) -> Result;
21681 #[doc = "See [xrPollEvent](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPollEvent)"]
21682 pub type PollEvent =
21683 unsafe extern "system" fn(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
21684 #[doc = "See [xrStringToPath](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStringToPath)"]
21685 pub type StringToPath = unsafe extern "system" fn(
21686 instance: Instance,
21687 path_string: *const c_char,
21688 path: *mut Path,
21689 ) -> Result;
21690 #[doc = "See [xrPathToString](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPathToString)"]
21691 pub type PathToString = unsafe extern "system" fn(
21692 instance: Instance,
21693 path: Path,
21694 buffer_capacity_input: u32,
21695 buffer_count_output: *mut u32,
21696 buffer: *mut c_char,
21697 ) -> Result;
21698 #[doc = "See [xrGetReferenceSpaceBoundsRect](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetReferenceSpaceBoundsRect)"]
21699 pub type GetReferenceSpaceBoundsRect = unsafe extern "system" fn(
21700 session: Session,
21701 reference_space_type: ReferenceSpaceType,
21702 bounds: *mut Extent2Df,
21703 ) -> Result;
21704 #[cfg(target_os = "android")]
21705 #[doc = "See [xrSetAndroidApplicationThreadKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetAndroidApplicationThreadKHR) - defined by [XR_KHR_android_thread_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_thread_settings)"]
21706 pub type SetAndroidApplicationThreadKHR = unsafe extern "system" fn(
21707 session: Session,
21708 thread_type: AndroidThreadTypeKHR,
21709 thread_id: u32,
21710 ) -> Result;
21711 #[cfg(target_os = "android")]
21712 #[doc = "See [xrCreateSwapchainAndroidSurfaceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSwapchainAndroidSurfaceKHR) - defined by [XR_KHR_android_surface_swapchain](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_android_surface_swapchain)"]
21713 pub type CreateSwapchainAndroidSurfaceKHR = unsafe extern "system" fn(
21714 session: Session,
21715 info: *const SwapchainCreateInfo,
21716 swapchain: *mut Swapchain,
21717 surface: *mut jobject,
21718 ) -> Result;
21719 #[doc = "See [xrGetActionStateBoolean](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateBoolean)"]
21720 pub type GetActionStateBoolean = unsafe extern "system" fn(
21721 session: Session,
21722 get_info: *const ActionStateGetInfo,
21723 state: *mut ActionStateBoolean,
21724 ) -> Result;
21725 #[doc = "See [xrGetActionStateFloat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateFloat)"]
21726 pub type GetActionStateFloat = unsafe extern "system" fn(
21727 session: Session,
21728 get_info: *const ActionStateGetInfo,
21729 state: *mut ActionStateFloat,
21730 ) -> Result;
21731 #[doc = "See [xrGetActionStateVector2f](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStateVector2f)"]
21732 pub type GetActionStateVector2f = unsafe extern "system" fn(
21733 session: Session,
21734 get_info: *const ActionStateGetInfo,
21735 state: *mut ActionStateVector2f,
21736 ) -> Result;
21737 #[doc = "See [xrGetActionStatePose](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetActionStatePose)"]
21738 pub type GetActionStatePose = unsafe extern "system" fn(
21739 session: Session,
21740 get_info: *const ActionStateGetInfo,
21741 state: *mut ActionStatePose,
21742 ) -> Result;
21743 #[doc = "See [xrCreateActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateActionSet)"]
21744 pub type CreateActionSet = unsafe extern "system" fn(
21745 instance: Instance,
21746 create_info: *const ActionSetCreateInfo,
21747 action_set: *mut ActionSet,
21748 ) -> Result;
21749 #[doc = "See [xrDestroyActionSet](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyActionSet)"]
21750 pub type DestroyActionSet = unsafe extern "system" fn(action_set: ActionSet) -> Result;
21751 #[doc = "See [xrCreateAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAction)"]
21752 pub type CreateAction = unsafe extern "system" fn(
21753 action_set: ActionSet,
21754 create_info: *const ActionCreateInfo,
21755 action: *mut Action,
21756 ) -> Result;
21757 #[doc = "See [xrDestroyAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyAction)"]
21758 pub type DestroyAction = unsafe extern "system" fn(action: Action) -> Result;
21759 #[doc = "See [xrSuggestInteractionProfileBindings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestInteractionProfileBindings)"]
21760 pub type SuggestInteractionProfileBindings = unsafe extern "system" fn(
21761 instance: Instance,
21762 suggested_bindings: *const InteractionProfileSuggestedBinding,
21763 ) -> Result;
21764 #[doc = "See [xrAttachSessionActionSets](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAttachSessionActionSets)"]
21765 pub type AttachSessionActionSets = unsafe extern "system" fn(
21766 session: Session,
21767 attach_info: *const SessionActionSetsAttachInfo,
21768 ) -> Result;
21769 #[doc = "See [xrGetCurrentInteractionProfile](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetCurrentInteractionProfile)"]
21770 pub type GetCurrentInteractionProfile = unsafe extern "system" fn(
21771 session: Session,
21772 top_level_user_path: Path,
21773 interaction_profile: *mut InteractionProfileState,
21774 ) -> Result;
21775 #[doc = "See [xrSyncActions](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSyncActions)"]
21776 pub type SyncActions =
21777 unsafe extern "system" fn(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
21778 #[doc = "See [xrEnumerateBoundSourcesForAction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateBoundSourcesForAction)"]
21779 pub type EnumerateBoundSourcesForAction = unsafe extern "system" fn(
21780 session: Session,
21781 enumerate_info: *const BoundSourcesForActionEnumerateInfo,
21782 source_capacity_input: u32,
21783 source_count_output: *mut u32,
21784 sources: *mut Path,
21785 ) -> Result;
21786 #[doc = "See [xrGetInputSourceLocalizedName](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetInputSourceLocalizedName)"]
21787 pub type GetInputSourceLocalizedName = unsafe extern "system" fn(
21788 session: Session,
21789 get_info: *const InputSourceLocalizedNameGetInfo,
21790 buffer_capacity_input: u32,
21791 buffer_count_output: *mut u32,
21792 buffer: *mut c_char,
21793 ) -> Result;
21794 #[doc = "See [xrGetVulkanInstanceExtensionsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanInstanceExtensionsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
21795 pub type GetVulkanInstanceExtensionsKHR = unsafe extern "system" fn(
21796 instance: Instance,
21797 system_id: SystemId,
21798 buffer_capacity_input: u32,
21799 buffer_count_output: *mut u32,
21800 buffer: *mut c_char,
21801 ) -> Result;
21802 #[doc = "See [xrGetVulkanDeviceExtensionsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanDeviceExtensionsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
21803 pub type GetVulkanDeviceExtensionsKHR = unsafe extern "system" fn(
21804 instance: Instance,
21805 system_id: SystemId,
21806 buffer_capacity_input: u32,
21807 buffer_count_output: *mut u32,
21808 buffer: *mut c_char,
21809 ) -> Result;
21810 #[doc = "See [xrGetVulkanGraphicsDeviceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsDeviceKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
21811 pub type GetVulkanGraphicsDeviceKHR = unsafe extern "system" fn(
21812 instance: Instance,
21813 system_id: SystemId,
21814 vk_instance: VkInstance,
21815 vk_physical_device: *mut VkPhysicalDevice,
21816 ) -> Result;
21817 #[doc = "See [xrGetOpenGLGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetOpenGLGraphicsRequirementsKHR) - defined by [XR_KHR_opengl_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_enable)"]
21818 pub type GetOpenGLGraphicsRequirementsKHR = unsafe extern "system" fn(
21819 instance: Instance,
21820 system_id: SystemId,
21821 graphics_requirements: *mut GraphicsRequirementsOpenGLKHR,
21822 ) -> Result;
21823 #[doc = "See [xrGetOpenGLESGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetOpenGLESGraphicsRequirementsKHR) - defined by [XR_KHR_opengl_es_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_opengl_es_enable)"]
21824 pub type GetOpenGLESGraphicsRequirementsKHR = unsafe extern "system" fn(
21825 instance: Instance,
21826 system_id: SystemId,
21827 graphics_requirements: *mut GraphicsRequirementsOpenGLESKHR,
21828 ) -> Result;
21829 #[doc = "See [xrGetVulkanGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsRequirementsKHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
21830 pub type GetVulkanGraphicsRequirementsKHR = unsafe extern "system" fn(
21831 instance: Instance,
21832 system_id: SystemId,
21833 graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
21834 ) -> Result;
21835 #[cfg(windows)]
21836 #[doc = "See [xrGetD3D11GraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetD3D11GraphicsRequirementsKHR) - defined by [XR_KHR_D3D11_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D11_enable)"]
21837 pub type GetD3D11GraphicsRequirementsKHR = unsafe extern "system" fn(
21838 instance: Instance,
21839 system_id: SystemId,
21840 graphics_requirements: *mut GraphicsRequirementsD3D11KHR,
21841 ) -> Result;
21842 #[cfg(windows)]
21843 #[doc = "See [xrGetD3D12GraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetD3D12GraphicsRequirementsKHR) - defined by [XR_KHR_D3D12_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_D3D12_enable)"]
21844 pub type GetD3D12GraphicsRequirementsKHR = unsafe extern "system" fn(
21845 instance: Instance,
21846 system_id: SystemId,
21847 graphics_requirements: *mut GraphicsRequirementsD3D12KHR,
21848 ) -> Result;
21849 #[cfg(target_vendor = "apple")]
21850 #[doc = "See [xrGetMetalGraphicsRequirementsKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMetalGraphicsRequirementsKHR) - defined by [XR_KHR_metal_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_metal_enable)"]
21851 pub type GetMetalGraphicsRequirementsKHR = unsafe extern "system" fn(
21852 instance: Instance,
21853 system_id: SystemId,
21854 graphics_requirements: *mut GraphicsRequirementsMetalKHR,
21855 ) -> Result;
21856 #[doc = "See [xrPerfSettingsSetPerformanceLevelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPerfSettingsSetPerformanceLevelEXT) - defined by [XR_EXT_performance_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_performance_settings)"]
21857 pub type PerfSettingsSetPerformanceLevelEXT = unsafe extern "system" fn(
21858 session: Session,
21859 domain: PerfSettingsDomainEXT,
21860 level: PerfSettingsLevelEXT,
21861 ) -> Result;
21862 #[doc = "See [xrThermalGetTemperatureTrendEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrThermalGetTemperatureTrendEXT) - defined by [XR_EXT_thermal_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_thermal_query)"]
21863 pub type ThermalGetTemperatureTrendEXT = unsafe extern "system" fn(
21864 session: Session,
21865 domain: PerfSettingsDomainEXT,
21866 notification_level: *mut PerfSettingsNotificationLevelEXT,
21867 temp_headroom: *mut f32,
21868 temp_slope: *mut f32,
21869 ) -> Result;
21870 #[doc = "See [xrSetDebugUtilsObjectNameEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetDebugUtilsObjectNameEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
21871 pub type SetDebugUtilsObjectNameEXT = unsafe extern "system" fn(
21872 instance: Instance,
21873 name_info: *const DebugUtilsObjectNameInfoEXT,
21874 ) -> Result;
21875 #[doc = "See [xrCreateDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateDebugUtilsMessengerEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
21876 pub type CreateDebugUtilsMessengerEXT = unsafe extern "system" fn(
21877 instance: Instance,
21878 create_info: *const DebugUtilsMessengerCreateInfoEXT,
21879 messenger: *mut DebugUtilsMessengerEXT,
21880 ) -> Result;
21881 #[doc = "See [xrDestroyDebugUtilsMessengerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyDebugUtilsMessengerEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
21882 pub type DestroyDebugUtilsMessengerEXT =
21883 unsafe extern "system" fn(messenger: DebugUtilsMessengerEXT) -> Result;
21884 #[doc = "See [xrSubmitDebugUtilsMessageEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSubmitDebugUtilsMessageEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
21885 pub type SubmitDebugUtilsMessageEXT = unsafe extern "system" fn(
21886 instance: Instance,
21887 message_severity: DebugUtilsMessageSeverityFlagsEXT,
21888 message_types: DebugUtilsMessageTypeFlagsEXT,
21889 callback_data: *const DebugUtilsMessengerCallbackDataEXT,
21890 ) -> Result;
21891 #[doc = "See [xrSessionBeginDebugUtilsLabelRegionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionBeginDebugUtilsLabelRegionEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
21892 pub type SessionBeginDebugUtilsLabelRegionEXT = unsafe extern "system" fn(
21893 session: Session,
21894 label_info: *const DebugUtilsLabelEXT,
21895 ) -> Result;
21896 #[doc = "See [xrSessionEndDebugUtilsLabelRegionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionEndDebugUtilsLabelRegionEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
21897 pub type SessionEndDebugUtilsLabelRegionEXT =
21898 unsafe extern "system" fn(session: Session) -> Result;
21899 #[doc = "See [xrSessionInsertDebugUtilsLabelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSessionInsertDebugUtilsLabelEXT) - defined by [XR_EXT_debug_utils](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_debug_utils)"]
21900 pub type SessionInsertDebugUtilsLabelEXT = unsafe extern "system" fn(
21901 session: Session,
21902 label_info: *const DebugUtilsLabelEXT,
21903 ) -> Result;
21904 #[cfg(windows)]
21905 #[doc = "See [xrConvertTimeToWin32PerformanceCounterKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimeToWin32PerformanceCounterKHR) - defined by [XR_KHR_win32_convert_performance_counter_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_win32_convert_performance_counter_time)"]
21906 pub type ConvertTimeToWin32PerformanceCounterKHR = unsafe extern "system" fn(
21907 instance: Instance,
21908 time: Time,
21909 performance_counter: *mut LARGE_INTEGER,
21910 ) -> Result;
21911 #[cfg(windows)]
21912 #[doc = "See [xrConvertWin32PerformanceCounterToTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertWin32PerformanceCounterToTimeKHR) - defined by [XR_KHR_win32_convert_performance_counter_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_win32_convert_performance_counter_time)"]
21913 pub type ConvertWin32PerformanceCounterToTimeKHR = unsafe extern "system" fn(
21914 instance: Instance,
21915 performance_counter: *const LARGE_INTEGER,
21916 time: *mut Time,
21917 ) -> Result;
21918 #[doc = "See [xrCreateVulkanInstanceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVulkanInstanceKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
21919 pub type CreateVulkanInstanceKHR = unsafe extern "system" fn(
21920 instance: Instance,
21921 create_info: *const VulkanInstanceCreateInfoKHR,
21922 vulkan_instance: *mut VkInstance,
21923 vulkan_result: *mut VkResult,
21924 ) -> Result;
21925 #[doc = "See [xrCreateVulkanDeviceKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVulkanDeviceKHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
21926 pub type CreateVulkanDeviceKHR = unsafe extern "system" fn(
21927 instance: Instance,
21928 create_info: *const VulkanDeviceCreateInfoKHR,
21929 vulkan_device: *mut VkDevice,
21930 vulkan_result: *mut VkResult,
21931 ) -> Result;
21932 #[doc = "See [xrGetVulkanGraphicsDevice2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsDevice2KHR) - defined by [XR_KHR_vulkan_enable2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable2)"]
21933 pub type GetVulkanGraphicsDevice2KHR = unsafe extern "system" fn(
21934 instance: Instance,
21935 get_info: *const VulkanGraphicsDeviceGetInfoKHR,
21936 vulkan_physical_device: *mut VkPhysicalDevice,
21937 ) -> Result;
21938 #[doc = "See [xrConvertTimeToTimespecTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimeToTimespecTimeKHR) - defined by [XR_KHR_convert_timespec_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_convert_timespec_time)"]
21939 pub type ConvertTimeToTimespecTimeKHR = unsafe extern "system" fn(
21940 instance: Instance,
21941 time: Time,
21942 timespec_time: *mut timespec,
21943 ) -> Result;
21944 #[doc = "See [xrConvertTimespecTimeToTimeKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrConvertTimespecTimeToTimeKHR) - defined by [XR_KHR_convert_timespec_time](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_convert_timespec_time)"]
21945 pub type ConvertTimespecTimeToTimeKHR = unsafe extern "system" fn(
21946 instance: Instance,
21947 timespec_time: *const timespec,
21948 time: *mut Time,
21949 ) -> Result;
21950 #[doc = "See [xrGetVisibilityMaskKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVisibilityMaskKHR) - defined by [XR_KHR_visibility_mask](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_visibility_mask)"]
21951 pub type GetVisibilityMaskKHR = unsafe extern "system" fn(
21952 session: Session,
21953 view_configuration_type: ViewConfigurationType,
21954 view_index: u32,
21955 visibility_mask_type: VisibilityMaskTypeKHR,
21956 visibility_mask: *mut VisibilityMaskKHR,
21957 ) -> Result;
21958 #[doc = "See [xrCreateSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
21959 pub type CreateSpatialAnchorMSFT = unsafe extern "system" fn(
21960 session: Session,
21961 create_info: *const SpatialAnchorCreateInfoMSFT,
21962 anchor: *mut SpatialAnchorMSFT,
21963 ) -> Result;
21964 #[doc = "See [xrCreateSpatialAnchorSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorSpaceMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
21965 pub type CreateSpatialAnchorSpaceMSFT = unsafe extern "system" fn(
21966 session: Session,
21967 create_info: *const SpatialAnchorSpaceCreateInfoMSFT,
21968 space: *mut Space,
21969 ) -> Result;
21970 #[doc = "See [xrDestroySpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor)"]
21971 pub type DestroySpatialAnchorMSFT =
21972 unsafe extern "system" fn(anchor: SpatialAnchorMSFT) -> Result;
21973 #[doc = "See [xrSetInputDeviceActiveEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceActiveEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
21974 pub type SetInputDeviceActiveEXT = unsafe extern "system" fn(
21975 session: Session,
21976 interaction_profile: Path,
21977 top_level_path: Path,
21978 is_active: Bool32,
21979 ) -> Result;
21980 #[doc = "See [xrSetInputDeviceStateBoolEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateBoolEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
21981 pub type SetInputDeviceStateBoolEXT = unsafe extern "system" fn(
21982 session: Session,
21983 top_level_path: Path,
21984 input_source_path: Path,
21985 state: Bool32,
21986 ) -> Result;
21987 #[doc = "See [xrSetInputDeviceStateFloatEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateFloatEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
21988 pub type SetInputDeviceStateFloatEXT = unsafe extern "system" fn(
21989 session: Session,
21990 top_level_path: Path,
21991 input_source_path: Path,
21992 state: f32,
21993 ) -> Result;
21994 #[doc = "See [xrSetInputDeviceStateVector2fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceStateVector2fEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
21995 pub type SetInputDeviceStateVector2fEXT = unsafe extern "system" fn(
21996 session: Session,
21997 top_level_path: Path,
21998 input_source_path: Path,
21999 state: Vector2f,
22000 ) -> Result;
22001 #[doc = "See [xrSetInputDeviceLocationEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetInputDeviceLocationEXT) - defined by [XR_EXT_conformance_automation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_conformance_automation)"]
22002 pub type SetInputDeviceLocationEXT = unsafe extern "system" fn(
22003 session: Session,
22004 top_level_path: Path,
22005 input_source_path: Path,
22006 space: Space,
22007 pose: Posef,
22008 ) -> Result;
22009 #[doc = "See [xrInitializeLoaderKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrInitializeLoaderKHR) - defined by [XR_KHR_loader_init](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_loader_init)"]
22010 pub type InitializeLoaderKHR =
22011 unsafe extern "system" fn(loader_init_info: *const LoaderInitInfoBaseHeaderKHR) -> Result;
22012 #[doc = "See [xrCreateSpatialGraphNodeSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialGraphNodeSpaceMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
22013 pub type CreateSpatialGraphNodeSpaceMSFT = unsafe extern "system" fn(
22014 session: Session,
22015 create_info: *const SpatialGraphNodeSpaceCreateInfoMSFT,
22016 space: *mut Space,
22017 ) -> Result;
22018 #[doc = "See [xrTryCreateSpatialGraphStaticNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTryCreateSpatialGraphStaticNodeBindingMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
22019 pub type TryCreateSpatialGraphStaticNodeBindingMSFT = unsafe extern "system" fn(
22020 session: Session,
22021 create_info: *const SpatialGraphStaticNodeBindingCreateInfoMSFT,
22022 node_binding: *mut SpatialGraphNodeBindingMSFT,
22023 ) -> Result;
22024 #[doc = "See [xrDestroySpatialGraphNodeBindingMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialGraphNodeBindingMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
22025 pub type DestroySpatialGraphNodeBindingMSFT =
22026 unsafe extern "system" fn(node_binding: SpatialGraphNodeBindingMSFT) -> Result;
22027 #[doc = "See [xrGetSpatialGraphNodeBindingPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialGraphNodeBindingPropertiesMSFT) - defined by [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_graph_bridge)"]
22028 pub type GetSpatialGraphNodeBindingPropertiesMSFT = unsafe extern "system" fn(
22029 node_binding: SpatialGraphNodeBindingMSFT,
22030 get_info: *const SpatialGraphNodeBindingPropertiesGetInfoMSFT,
22031 properties: *mut SpatialGraphNodeBindingPropertiesMSFT,
22032 ) -> Result;
22033 #[doc = "See [xrCreateHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateHandTrackerEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
22034 pub type CreateHandTrackerEXT = unsafe extern "system" fn(
22035 session: Session,
22036 create_info: *const HandTrackerCreateInfoEXT,
22037 hand_tracker: *mut HandTrackerEXT,
22038 ) -> Result;
22039 #[doc = "See [xrDestroyHandTrackerEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyHandTrackerEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
22040 pub type DestroyHandTrackerEXT =
22041 unsafe extern "system" fn(hand_tracker: HandTrackerEXT) -> Result;
22042 #[doc = "See [xrLocateHandJointsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateHandJointsEXT) - defined by [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_hand_tracking)"]
22043 pub type LocateHandJointsEXT = unsafe extern "system" fn(
22044 hand_tracker: HandTrackerEXT,
22045 locate_info: *const HandJointsLocateInfoEXT,
22046 locations: *mut HandJointLocationsEXT,
22047 ) -> Result;
22048 #[doc = "See [xrCreateFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
22049 pub type CreateFaceTrackerFB = unsafe extern "system" fn(
22050 session: Session,
22051 create_info: *const FaceTrackerCreateInfoFB,
22052 face_tracker: *mut FaceTrackerFB,
22053 ) -> Result;
22054 #[doc = "See [xrDestroyFaceTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
22055 pub type DestroyFaceTrackerFB =
22056 unsafe extern "system" fn(face_tracker: FaceTrackerFB) -> Result;
22057 #[doc = "See [xrGetFaceExpressionWeightsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceExpressionWeightsFB) - defined by [XR_FB_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking)"]
22058 pub type GetFaceExpressionWeightsFB = unsafe extern "system" fn(
22059 face_tracker: FaceTrackerFB,
22060 expression_info: *const FaceExpressionInfoFB,
22061 expression_weights: *mut FaceExpressionWeightsFB,
22062 ) -> Result;
22063 #[doc = "See [xrCreateFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTracker2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
22064 pub type CreateFaceTracker2FB = unsafe extern "system" fn(
22065 session: Session,
22066 create_info: *const FaceTrackerCreateInfo2FB,
22067 face_tracker: *mut FaceTracker2FB,
22068 ) -> Result;
22069 #[doc = "See [xrDestroyFaceTracker2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTracker2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
22070 pub type DestroyFaceTracker2FB =
22071 unsafe extern "system" fn(face_tracker: FaceTracker2FB) -> Result;
22072 #[doc = "See [xrGetFaceExpressionWeights2FB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceExpressionWeights2FB) - defined by [XR_FB_face_tracking2](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_face_tracking2)"]
22073 pub type GetFaceExpressionWeights2FB = unsafe extern "system" fn(
22074 face_tracker: FaceTracker2FB,
22075 expression_info: *const FaceExpressionInfo2FB,
22076 expression_weights: *mut FaceExpressionWeights2FB,
22077 ) -> Result;
22078 #[doc = "See [xrCreateBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
22079 pub type CreateBodyTrackerFB = unsafe extern "system" fn(
22080 session: Session,
22081 create_info: *const BodyTrackerCreateInfoFB,
22082 body_tracker: *mut BodyTrackerFB,
22083 ) -> Result;
22084 #[doc = "See [xrDestroyBodyTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
22085 pub type DestroyBodyTrackerFB =
22086 unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
22087 #[doc = "See [xrLocateBodyJointsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
22088 pub type LocateBodyJointsFB = unsafe extern "system" fn(
22089 body_tracker: BodyTrackerFB,
22090 locate_info: *const BodyJointsLocateInfoFB,
22091 locations: *mut BodyJointLocationsFB,
22092 ) -> Result;
22093 #[doc = "See [xrGetBodySkeletonFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetBodySkeletonFB) - defined by [XR_FB_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_body_tracking)"]
22094 pub type GetBodySkeletonFB = unsafe extern "system" fn(
22095 body_tracker: BodyTrackerFB,
22096 skeleton: *mut BodySkeletonFB,
22097 ) -> Result;
22098 #[doc = "See [xrSuggestBodyTrackingCalibrationOverrideMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestBodyTrackingCalibrationOverrideMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
22099 pub type SuggestBodyTrackingCalibrationOverrideMETA = unsafe extern "system" fn(
22100 body_tracker: BodyTrackerFB,
22101 calibration_info: *const BodyTrackingCalibrationInfoMETA,
22102 ) -> Result;
22103 #[doc = "See [xrResetBodyTrackingCalibrationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResetBodyTrackingCalibrationMETA) - defined by [XR_META_body_tracking_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_calibration)"]
22104 pub type ResetBodyTrackingCalibrationMETA =
22105 unsafe extern "system" fn(body_tracker: BodyTrackerFB) -> Result;
22106 #[doc = "See [xrCreateEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEyeTrackerFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
22107 pub type CreateEyeTrackerFB = unsafe extern "system" fn(
22108 session: Session,
22109 create_info: *const EyeTrackerCreateInfoFB,
22110 eye_tracker: *mut EyeTrackerFB,
22111 ) -> Result;
22112 #[doc = "See [xrDestroyEyeTrackerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEyeTrackerFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
22113 pub type DestroyEyeTrackerFB = unsafe extern "system" fn(eye_tracker: EyeTrackerFB) -> Result;
22114 #[doc = "See [xrGetEyeGazesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetEyeGazesFB) - defined by [XR_FB_eye_tracking_social](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_eye_tracking_social)"]
22115 pub type GetEyeGazesFB = unsafe extern "system" fn(
22116 eye_tracker: EyeTrackerFB,
22117 gaze_info: *const EyeGazesInfoFB,
22118 eye_gazes: *mut EyeGazesFB,
22119 ) -> Result;
22120 #[doc = "See [xrCreateHandMeshSpaceMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateHandMeshSpaceMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
22121 pub type CreateHandMeshSpaceMSFT = unsafe extern "system" fn(
22122 hand_tracker: HandTrackerEXT,
22123 create_info: *const HandMeshSpaceCreateInfoMSFT,
22124 space: *mut Space,
22125 ) -> Result;
22126 #[doc = "See [xrUpdateHandMeshMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateHandMeshMSFT) - defined by [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_hand_tracking_mesh)"]
22127 pub type UpdateHandMeshMSFT = unsafe extern "system" fn(
22128 hand_tracker: HandTrackerEXT,
22129 update_info: *const HandMeshUpdateInfoMSFT,
22130 hand_mesh: *mut HandMeshMSFT,
22131 ) -> Result;
22132 #[doc = "See [xrGetControllerModelKeyMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelKeyMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
22133 pub type GetControllerModelKeyMSFT = unsafe extern "system" fn(
22134 session: Session,
22135 top_level_user_path: Path,
22136 controller_model_key_state: *mut ControllerModelKeyStateMSFT,
22137 ) -> Result;
22138 #[doc = "See [xrLoadControllerModelMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLoadControllerModelMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
22139 pub type LoadControllerModelMSFT = unsafe extern "system" fn(
22140 session: Session,
22141 model_key: ControllerModelKeyMSFT,
22142 buffer_capacity_input: u32,
22143 buffer_count_output: *mut u32,
22144 buffer: *mut u8,
22145 ) -> Result;
22146 #[doc = "See [xrGetControllerModelPropertiesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelPropertiesMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
22147 pub type GetControllerModelPropertiesMSFT = unsafe extern "system" fn(
22148 session: Session,
22149 model_key: ControllerModelKeyMSFT,
22150 properties: *mut ControllerModelPropertiesMSFT,
22151 ) -> Result;
22152 #[doc = "See [xrGetControllerModelStateMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetControllerModelStateMSFT) - defined by [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_controller_model)"]
22153 pub type GetControllerModelStateMSFT = unsafe extern "system" fn(
22154 session: Session,
22155 model_key: ControllerModelKeyMSFT,
22156 state: *mut ControllerModelStateMSFT,
22157 ) -> Result;
22158 #[doc = "See [xrEnumerateDisplayRefreshRatesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateDisplayRefreshRatesFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
22159 pub type EnumerateDisplayRefreshRatesFB = unsafe extern "system" fn(
22160 session: Session,
22161 display_refresh_rate_capacity_input: u32,
22162 display_refresh_rate_count_output: *mut u32,
22163 display_refresh_rates: *mut f32,
22164 ) -> Result;
22165 #[doc = "See [xrGetDisplayRefreshRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetDisplayRefreshRateFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
22166 pub type GetDisplayRefreshRateFB =
22167 unsafe extern "system" fn(session: Session, display_refresh_rate: *mut f32) -> Result;
22168 #[doc = "See [xrRequestDisplayRefreshRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestDisplayRefreshRateFB) - defined by [XR_FB_display_refresh_rate](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_display_refresh_rate)"]
22169 pub type RequestDisplayRefreshRateFB =
22170 unsafe extern "system" fn(session: Session, display_refresh_rate: f32) -> Result;
22171 #[cfg(windows)]
22172 #[doc = "See [xrCreateSpatialAnchorFromPerceptionAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFromPerceptionAnchorMSFT) - defined by [XR_MSFT_perception_anchor_interop](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_perception_anchor_interop)"]
22173 pub type CreateSpatialAnchorFromPerceptionAnchorMSFT = unsafe extern "system" fn(
22174 session: Session,
22175 perception_anchor: *mut IUnknown,
22176 anchor: *mut SpatialAnchorMSFT,
22177 ) -> Result;
22178 #[cfg(windows)]
22179 #[doc = "See [xrTryGetPerceptionAnchorFromSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTryGetPerceptionAnchorFromSpatialAnchorMSFT) - defined by [XR_MSFT_perception_anchor_interop](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_perception_anchor_interop)"]
22180 pub type TryGetPerceptionAnchorFromSpatialAnchorMSFT = unsafe extern "system" fn(
22181 session: Session,
22182 anchor: SpatialAnchorMSFT,
22183 perception_anchor: *mut *mut IUnknown,
22184 ) -> Result;
22185 #[doc = "See [xrUpdateSwapchainFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSwapchainFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
22186 pub type UpdateSwapchainFB = unsafe extern "system" fn(
22187 swapchain: Swapchain,
22188 state: *const SwapchainStateBaseHeaderFB,
22189 ) -> Result;
22190 #[doc = "See [xrGetSwapchainStateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSwapchainStateFB) - defined by [XR_FB_swapchain_update_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_swapchain_update_state)"]
22191 pub type GetSwapchainStateFB = unsafe extern "system" fn(
22192 swapchain: Swapchain,
22193 state: *mut SwapchainStateBaseHeaderFB,
22194 ) -> Result;
22195 #[doc = "See [xrEnumerateColorSpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateColorSpacesFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
22196 pub type EnumerateColorSpacesFB = unsafe extern "system" fn(
22197 session: Session,
22198 color_space_capacity_input: u32,
22199 color_space_count_output: *mut u32,
22200 color_spaces: *mut ColorSpaceFB,
22201 ) -> Result;
22202 #[doc = "See [xrSetColorSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetColorSpaceFB) - defined by [XR_FB_color_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_color_space)"]
22203 pub type SetColorSpaceFB =
22204 unsafe extern "system" fn(session: Session, color_space: ColorSpaceFB) -> Result;
22205 #[doc = "See [xrCreateFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFoveationProfileFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
22206 pub type CreateFoveationProfileFB = unsafe extern "system" fn(
22207 session: Session,
22208 create_info: *const FoveationProfileCreateInfoFB,
22209 profile: *mut FoveationProfileFB,
22210 ) -> Result;
22211 #[doc = "See [xrDestroyFoveationProfileFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFoveationProfileFB) - defined by [XR_FB_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_foveation)"]
22212 pub type DestroyFoveationProfileFB =
22213 unsafe extern "system" fn(profile: FoveationProfileFB) -> Result;
22214 #[doc = "See [xrGetFoveationEyeTrackedStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFoveationEyeTrackedStateMETA) - defined by [XR_META_foveation_eye_tracked](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_foveation_eye_tracked)"]
22215 pub type GetFoveationEyeTrackedStateMETA = unsafe extern "system" fn(
22216 session: Session,
22217 foveation_state: *mut FoveationEyeTrackedStateMETA,
22218 ) -> Result;
22219 #[doc = "See [xrGetHandMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetHandMeshFB) - defined by [XR_FB_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_hand_tracking_mesh)"]
22220 pub type GetHandMeshFB = unsafe extern "system" fn(
22221 hand_tracker: HandTrackerEXT,
22222 mesh: *mut HandTrackingMeshFB,
22223 ) -> Result;
22224 #[doc = "See [xrEnumerateRenderModelPathsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRenderModelPathsFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
22225 pub type EnumerateRenderModelPathsFB = unsafe extern "system" fn(
22226 session: Session,
22227 path_capacity_input: u32,
22228 path_count_output: *mut u32,
22229 paths: *mut RenderModelPathInfoFB,
22230 ) -> Result;
22231 #[doc = "See [xrGetRenderModelPropertiesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPropertiesFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
22232 pub type GetRenderModelPropertiesFB = unsafe extern "system" fn(
22233 session: Session,
22234 path: Path,
22235 properties: *mut RenderModelPropertiesFB,
22236 ) -> Result;
22237 #[doc = "See [xrLoadRenderModelFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLoadRenderModelFB) - defined by [XR_FB_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_render_model)"]
22238 pub type LoadRenderModelFB = unsafe extern "system" fn(
22239 session: Session,
22240 info: *const RenderModelLoadInfoFB,
22241 buffer: *mut RenderModelBufferFB,
22242 ) -> Result;
22243 #[doc = "See [xrQuerySystemTrackedKeyboardFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySystemTrackedKeyboardFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
22244 pub type QuerySystemTrackedKeyboardFB = unsafe extern "system" fn(
22245 session: Session,
22246 query_info: *const KeyboardTrackingQueryFB,
22247 keyboard: *mut KeyboardTrackingDescriptionFB,
22248 ) -> Result;
22249 #[doc = "See [xrCreateKeyboardSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateKeyboardSpaceFB) - defined by [XR_FB_keyboard_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_keyboard_tracking)"]
22250 pub type CreateKeyboardSpaceFB = unsafe extern "system" fn(
22251 session: Session,
22252 create_info: *const KeyboardSpaceCreateInfoFB,
22253 keyboard_space: *mut Space,
22254 ) -> Result;
22255 #[doc = "See [xrSetEnvironmentDepthEstimationVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetEnvironmentDepthEstimationVARJO) - defined by [XR_VARJO_environment_depth_estimation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_environment_depth_estimation)"]
22256 pub type SetEnvironmentDepthEstimationVARJO =
22257 unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
22258 #[doc = "See [xrEnumerateReprojectionModesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateReprojectionModesMSFT) - defined by [XR_MSFT_composition_layer_reprojection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_composition_layer_reprojection)"]
22259 pub type EnumerateReprojectionModesMSFT = unsafe extern "system" fn(
22260 instance: Instance,
22261 system_id: SystemId,
22262 view_configuration_type: ViewConfigurationType,
22263 mode_capacity_input: u32,
22264 mode_count_output: *mut u32,
22265 modes: *mut ReprojectionModeMSFT,
22266 ) -> Result;
22267 #[doc = "See [xrGetAudioOutputDeviceGuidOculus](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAudioOutputDeviceGuidOculus) - defined by [XR_OCULUS_audio_device_guid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_audio_device_guid)"]
22268 pub type GetAudioOutputDeviceGuidOculus =
22269 unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
22270 #[doc = "See [xrGetAudioInputDeviceGuidOculus](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAudioInputDeviceGuidOculus) - defined by [XR_OCULUS_audio_device_guid](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_audio_device_guid)"]
22271 pub type GetAudioInputDeviceGuidOculus =
22272 unsafe extern "system" fn(instance: Instance, buffer: *mut wchar_t) -> Result;
22273 #[doc = "See [xrCreateSpatialAnchorFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
22274 pub type CreateSpatialAnchorFB = unsafe extern "system" fn(
22275 session: Session,
22276 info: *const SpatialAnchorCreateInfoFB,
22277 request_id: *mut AsyncRequestIdFB,
22278 ) -> Result;
22279 #[doc = "See [xrGetSpaceUuidFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceUuidFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
22280 pub type GetSpaceUuidFB = unsafe extern "system" fn(space: Space, uuid: *mut UuidEXT) -> Result;
22281 #[doc = "See [xrEnumerateSpaceSupportedComponentsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpaceSupportedComponentsFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
22282 pub type EnumerateSpaceSupportedComponentsFB = unsafe extern "system" fn(
22283 space: Space,
22284 component_type_capacity_input: u32,
22285 component_type_count_output: *mut u32,
22286 component_types: *mut SpaceComponentTypeFB,
22287 ) -> Result;
22288 #[doc = "See [xrSetSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
22289 pub type SetSpaceComponentStatusFB = unsafe extern "system" fn(
22290 space: Space,
22291 info: *const SpaceComponentStatusSetInfoFB,
22292 request_id: *mut AsyncRequestIdFB,
22293 ) -> Result;
22294 #[doc = "See [xrGetSpaceComponentStatusFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceComponentStatusFB) - defined by [XR_FB_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity)"]
22295 pub type GetSpaceComponentStatusFB = unsafe extern "system" fn(
22296 space: Space,
22297 component_type: SpaceComponentTypeFB,
22298 status: *mut SpaceComponentStatusFB,
22299 ) -> Result;
22300 #[doc = "See [xrCreateTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTriangleMeshFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22301 pub type CreateTriangleMeshFB = unsafe extern "system" fn(
22302 session: Session,
22303 create_info: *const TriangleMeshCreateInfoFB,
22304 out_triangle_mesh: *mut TriangleMeshFB,
22305 ) -> Result;
22306 #[doc = "See [xrDestroyTriangleMeshFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTriangleMeshFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22307 pub type DestroyTriangleMeshFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
22308 #[doc = "See [xrTriangleMeshGetVertexBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshGetVertexBufferFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22309 pub type TriangleMeshGetVertexBufferFB = unsafe extern "system" fn(
22310 mesh: TriangleMeshFB,
22311 out_vertex_buffer: *mut *mut Vector3f,
22312 ) -> Result;
22313 #[doc = "See [xrTriangleMeshGetIndexBufferFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshGetIndexBufferFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22314 pub type TriangleMeshGetIndexBufferFB =
22315 unsafe extern "system" fn(mesh: TriangleMeshFB, out_index_buffer: *mut *mut u32) -> Result;
22316 #[doc = "See [xrTriangleMeshBeginUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshBeginUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22317 pub type TriangleMeshBeginUpdateFB = unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
22318 #[doc = "See [xrTriangleMeshEndUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshEndUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22319 pub type TriangleMeshEndUpdateFB = unsafe extern "system" fn(
22320 mesh: TriangleMeshFB,
22321 vertex_count: u32,
22322 triangle_count: u32,
22323 ) -> Result;
22324 #[doc = "See [xrTriangleMeshBeginVertexBufferUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshBeginVertexBufferUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22325 pub type TriangleMeshBeginVertexBufferUpdateFB =
22326 unsafe extern "system" fn(mesh: TriangleMeshFB, out_vertex_count: *mut u32) -> Result;
22327 #[doc = "See [xrTriangleMeshEndVertexBufferUpdateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrTriangleMeshEndVertexBufferUpdateFB) - defined by [XR_FB_triangle_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_triangle_mesh)"]
22328 pub type TriangleMeshEndVertexBufferUpdateFB =
22329 unsafe extern "system" fn(mesh: TriangleMeshFB) -> Result;
22330 #[doc = "See [xrCreatePassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22331 pub type CreatePassthroughFB = unsafe extern "system" fn(
22332 session: Session,
22333 create_info: *const PassthroughCreateInfoFB,
22334 out_passthrough: *mut PassthroughFB,
22335 ) -> Result;
22336 #[doc = "See [xrDestroyPassthroughFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22337 pub type DestroyPassthroughFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
22338 #[doc = "See [xrPassthroughStartFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughStartFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22339 pub type PassthroughStartFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
22340 #[doc = "See [xrPassthroughPauseFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughPauseFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22341 pub type PassthroughPauseFB = unsafe extern "system" fn(passthrough: PassthroughFB) -> Result;
22342 #[doc = "See [xrCreatePassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughLayerFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22343 pub type CreatePassthroughLayerFB = unsafe extern "system" fn(
22344 session: Session,
22345 create_info: *const PassthroughLayerCreateInfoFB,
22346 out_layer: *mut PassthroughLayerFB,
22347 ) -> Result;
22348 #[doc = "See [xrDestroyPassthroughLayerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughLayerFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22349 pub type DestroyPassthroughLayerFB =
22350 unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
22351 #[doc = "See [xrPassthroughLayerPauseFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerPauseFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22352 pub type PassthroughLayerPauseFB =
22353 unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
22354 #[doc = "See [xrPassthroughLayerResumeFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerResumeFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22355 pub type PassthroughLayerResumeFB =
22356 unsafe extern "system" fn(layer: PassthroughLayerFB) -> Result;
22357 #[doc = "See [xrPassthroughLayerSetStyleFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerSetStyleFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22358 pub type PassthroughLayerSetStyleFB = unsafe extern "system" fn(
22359 layer: PassthroughLayerFB,
22360 style: *const PassthroughStyleFB,
22361 ) -> Result;
22362 #[doc = "See [xrCreateGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateGeometryInstanceFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22363 pub type CreateGeometryInstanceFB = unsafe extern "system" fn(
22364 session: Session,
22365 create_info: *const GeometryInstanceCreateInfoFB,
22366 out_geometry_instance: *mut GeometryInstanceFB,
22367 ) -> Result;
22368 #[doc = "See [xrDestroyGeometryInstanceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyGeometryInstanceFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22369 pub type DestroyGeometryInstanceFB =
22370 unsafe extern "system" fn(instance: GeometryInstanceFB) -> Result;
22371 #[doc = "See [xrGeometryInstanceSetTransformFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGeometryInstanceSetTransformFB) - defined by [XR_FB_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough)"]
22372 pub type GeometryInstanceSetTransformFB = unsafe extern "system" fn(
22373 instance: GeometryInstanceFB,
22374 transformation: *const GeometryInstanceTransformFB,
22375 ) -> Result;
22376 #[doc = "See [xrQuerySpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpacesFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
22377 pub type QuerySpacesFB = unsafe extern "system" fn(
22378 session: Session,
22379 info: *const SpaceQueryInfoBaseHeaderFB,
22380 request_id: *mut AsyncRequestIdFB,
22381 ) -> Result;
22382 #[doc = "See [xrRetrieveSpaceQueryResultsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRetrieveSpaceQueryResultsFB) - defined by [XR_FB_spatial_entity_query](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_query)"]
22383 pub type RetrieveSpaceQueryResultsFB = unsafe extern "system" fn(
22384 session: Session,
22385 request_id: AsyncRequestIdFB,
22386 results: *mut SpaceQueryResultsFB,
22387 ) -> Result;
22388 #[doc = "See [xrSaveSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpaceFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
22389 pub type SaveSpaceFB = unsafe extern "system" fn(
22390 session: Session,
22391 info: *const SpaceSaveInfoFB,
22392 request_id: *mut AsyncRequestIdFB,
22393 ) -> Result;
22394 #[doc = "See [xrEraseSpaceFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEraseSpaceFB) - defined by [XR_FB_spatial_entity_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage)"]
22395 pub type EraseSpaceFB = unsafe extern "system" fn(
22396 session: Session,
22397 info: *const SpaceEraseInfoFB,
22398 request_id: *mut AsyncRequestIdFB,
22399 ) -> Result;
22400 #[doc = "See [xrSaveSpaceListFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpaceListFB) - defined by [XR_FB_spatial_entity_storage_batch](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_storage_batch)"]
22401 pub type SaveSpaceListFB = unsafe extern "system" fn(
22402 session: Session,
22403 info: *const SpaceListSaveInfoFB,
22404 request_id: *mut AsyncRequestIdFB,
22405 ) -> Result;
22406 #[doc = "See [xrShareSpacesFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpacesFB) - defined by [XR_FB_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_sharing)"]
22407 pub type ShareSpacesFB = unsafe extern "system" fn(
22408 session: Session,
22409 info: *const SpaceShareInfoFB,
22410 request_id: *mut AsyncRequestIdFB,
22411 ) -> Result;
22412 #[doc = "See [xrGetSpaceContainerFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceContainerFB) - defined by [XR_FB_spatial_entity_container](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_container)"]
22413 pub type GetSpaceContainerFB = unsafe extern "system" fn(
22414 session: Session,
22415 space: Space,
22416 space_container_output: *mut SpaceContainerFB,
22417 ) -> Result;
22418 #[doc = "See [xrGetSpaceTriangleMeshMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceTriangleMeshMETA) - defined by [XR_META_spatial_entity_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_mesh)"]
22419 pub type GetSpaceTriangleMeshMETA = unsafe extern "system" fn(
22420 space: Space,
22421 get_info: *const SpaceTriangleMeshGetInfoMETA,
22422 triangle_mesh_output: *mut SpaceTriangleMeshMETA,
22423 ) -> Result;
22424 #[doc = "See [xrGetSpaceBoundingBox2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundingBox2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
22425 pub type GetSpaceBoundingBox2DFB = unsafe extern "system" fn(
22426 session: Session,
22427 space: Space,
22428 bounding_box2_d_output: *mut Rect2Df,
22429 ) -> Result;
22430 #[doc = "See [xrGetSpaceBoundingBox3DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundingBox3DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
22431 pub type GetSpaceBoundingBox3DFB = unsafe extern "system" fn(
22432 session: Session,
22433 space: Space,
22434 bounding_box3_d_output: *mut Rect3DfFB,
22435 ) -> Result;
22436 #[doc = "See [xrGetSpaceSemanticLabelsFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceSemanticLabelsFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
22437 pub type GetSpaceSemanticLabelsFB = unsafe extern "system" fn(
22438 session: Session,
22439 space: Space,
22440 semantic_labels_output: *mut SemanticLabelsFB,
22441 ) -> Result;
22442 #[doc = "See [xrGetSpaceBoundary2DFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceBoundary2DFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
22443 pub type GetSpaceBoundary2DFB = unsafe extern "system" fn(
22444 session: Session,
22445 space: Space,
22446 boundary2_d_output: *mut Boundary2DFB,
22447 ) -> Result;
22448 #[doc = "See [xrGetSpaceRoomLayoutFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceRoomLayoutFB) - defined by [XR_FB_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene)"]
22449 pub type GetSpaceRoomLayoutFB = unsafe extern "system" fn(
22450 session: Session,
22451 space: Space,
22452 room_layout_output: *mut RoomLayoutFB,
22453 ) -> Result;
22454 #[doc = "See [xrRequestSceneCaptureFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestSceneCaptureFB) - defined by [XR_FB_scene_capture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_scene_capture)"]
22455 pub type RequestSceneCaptureFB = unsafe extern "system" fn(
22456 session: Session,
22457 info: *const SceneCaptureRequestInfoFB,
22458 request_id: *mut AsyncRequestIdFB,
22459 ) -> Result;
22460 #[doc = "See [xrPassthroughLayerSetKeyboardHandsIntensityFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPassthroughLayerSetKeyboardHandsIntensityFB) - defined by [XR_FB_passthrough_keyboard_hands](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_passthrough_keyboard_hands)"]
22461 pub type PassthroughLayerSetKeyboardHandsIntensityFB = unsafe extern "system" fn(
22462 layer: PassthroughLayerFB,
22463 intensity: *const PassthroughKeyboardHandsIntensityFB,
22464 ) -> Result;
22465 #[doc = "See [xrStartColocationDiscoveryMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartColocationDiscoveryMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
22466 pub type StartColocationDiscoveryMETA = unsafe extern "system" fn(
22467 session: Session,
22468 info: *const ColocationDiscoveryStartInfoMETA,
22469 discovery_request_id: *mut AsyncRequestIdFB,
22470 ) -> Result;
22471 #[doc = "See [xrStopColocationDiscoveryMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopColocationDiscoveryMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
22472 pub type StopColocationDiscoveryMETA = unsafe extern "system" fn(
22473 session: Session,
22474 info: *const ColocationDiscoveryStopInfoMETA,
22475 request_id: *mut AsyncRequestIdFB,
22476 ) -> Result;
22477 #[doc = "See [xrStartColocationAdvertisementMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartColocationAdvertisementMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
22478 pub type StartColocationAdvertisementMETA = unsafe extern "system" fn(
22479 session: Session,
22480 info: *const ColocationAdvertisementStartInfoMETA,
22481 advertisement_request_id: *mut AsyncRequestIdFB,
22482 ) -> Result;
22483 #[doc = "See [xrStopColocationAdvertisementMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopColocationAdvertisementMETA) - defined by [XR_META_colocation_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_colocation_discovery)"]
22484 pub type StopColocationAdvertisementMETA = unsafe extern "system" fn(
22485 session: Session,
22486 info: *const ColocationAdvertisementStopInfoMETA,
22487 request_id: *mut AsyncRequestIdFB,
22488 ) -> Result;
22489 #[doc = "See [xrShareSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpacesMETA) - defined by [XR_META_spatial_entity_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_sharing)"]
22490 pub type ShareSpacesMETA = unsafe extern "system" fn(
22491 session: Session,
22492 info: *const ShareSpacesInfoMETA,
22493 request_id: *mut AsyncRequestIdFB,
22494 ) -> Result;
22495 #[doc = "See [xrCreateSpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorStoreConnectionMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
22496 pub type CreateSpatialAnchorStoreConnectionMSFT = unsafe extern "system" fn(
22497 session: Session,
22498 spatial_anchor_store: *mut SpatialAnchorStoreConnectionMSFT,
22499 ) -> Result;
22500 #[doc = "See [xrDestroySpatialAnchorStoreConnectionMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorStoreConnectionMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
22501 pub type DestroySpatialAnchorStoreConnectionMSFT =
22502 unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
22503 #[doc = "See [xrPersistSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
22504 pub type PersistSpatialAnchorMSFT = unsafe extern "system" fn(
22505 spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
22506 spatial_anchor_persistence_info: *const SpatialAnchorPersistenceInfoMSFT,
22507 ) -> Result;
22508 #[doc = "See [xrEnumeratePersistedSpatialAnchorNamesMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePersistedSpatialAnchorNamesMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
22509 pub type EnumeratePersistedSpatialAnchorNamesMSFT = unsafe extern "system" fn(
22510 spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
22511 spatial_anchor_name_capacity_input: u32,
22512 spatial_anchor_name_count_output: *mut u32,
22513 spatial_anchor_names: *mut SpatialAnchorPersistenceNameMSFT,
22514 ) -> Result;
22515 #[doc = "See [xrCreateSpatialAnchorFromPersistedNameMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorFromPersistedNameMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
22516 pub type CreateSpatialAnchorFromPersistedNameMSFT = unsafe extern "system" fn(
22517 session: Session,
22518 spatial_anchor_create_info: *const SpatialAnchorFromPersistedAnchorCreateInfoMSFT,
22519 spatial_anchor: *mut SpatialAnchorMSFT,
22520 ) -> Result;
22521 #[doc = "See [xrUnpersistSpatialAnchorMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
22522 pub type UnpersistSpatialAnchorMSFT = unsafe extern "system" fn(
22523 spatial_anchor_store: SpatialAnchorStoreConnectionMSFT,
22524 spatial_anchor_persistence_name: *const SpatialAnchorPersistenceNameMSFT,
22525 ) -> Result;
22526 #[doc = "See [xrClearSpatialAnchorStoreMSFT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrClearSpatialAnchorStoreMSFT) - defined by [XR_MSFT_spatial_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MSFT_spatial_anchor_persistence)"]
22527 pub type ClearSpatialAnchorStoreMSFT =
22528 unsafe extern "system" fn(spatial_anchor_store: SpatialAnchorStoreConnectionMSFT) -> Result;
22529 #[doc = "See [xrCreateBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
22530 pub type CreateBodyTrackerBD = unsafe extern "system" fn(
22531 session: Session,
22532 create_info: *const BodyTrackerCreateInfoBD,
22533 body_tracker: *mut BodyTrackerBD,
22534 ) -> Result;
22535 #[doc = "See [xrDestroyBodyTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
22536 pub type DestroyBodyTrackerBD =
22537 unsafe extern "system" fn(body_tracker: BodyTrackerBD) -> Result;
22538 #[doc = "See [xrLocateBodyJointsBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsBD) - defined by [XR_BD_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_body_tracking)"]
22539 pub type LocateBodyJointsBD = unsafe extern "system" fn(
22540 body_tracker: BodyTrackerBD,
22541 locate_info: *const BodyJointsLocateInfoBD,
22542 locations: *mut BodyJointLocationsBD,
22543 ) -> Result;
22544 #[doc = "See [xrCreateFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFacialTrackerHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
22545 pub type CreateFacialTrackerHTC = unsafe extern "system" fn(
22546 session: Session,
22547 create_info: *const FacialTrackerCreateInfoHTC,
22548 facial_tracker: *mut FacialTrackerHTC,
22549 ) -> Result;
22550 #[doc = "See [xrDestroyFacialTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFacialTrackerHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
22551 pub type DestroyFacialTrackerHTC =
22552 unsafe extern "system" fn(facial_tracker: FacialTrackerHTC) -> Result;
22553 #[doc = "See [xrGetFacialExpressionsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialExpressionsHTC) - defined by [XR_HTC_facial_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_facial_tracking)"]
22554 pub type GetFacialExpressionsHTC = unsafe extern "system" fn(
22555 facial_tracker: FacialTrackerHTC,
22556 facial_expressions: *mut FacialExpressionsHTC,
22557 ) -> Result;
22558 #[doc = "See [xrCreatePassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
22559 pub type CreatePassthroughHTC = unsafe extern "system" fn(
22560 session: Session,
22561 create_info: *const PassthroughCreateInfoHTC,
22562 passthrough: *mut PassthroughHTC,
22563 ) -> Result;
22564 #[doc = "See [xrDestroyPassthroughHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughHTC) - defined by [XR_HTC_passthrough](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_passthrough)"]
22565 pub type DestroyPassthroughHTC =
22566 unsafe extern "system" fn(passthrough: PassthroughHTC) -> Result;
22567 #[doc = "See [xrCreateSpatialAnchorHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
22568 pub type CreateSpatialAnchorHTC = unsafe extern "system" fn(
22569 session: Session,
22570 create_info: *const SpatialAnchorCreateInfoHTC,
22571 anchor: *mut Space,
22572 ) -> Result;
22573 #[doc = "See [xrGetSpatialAnchorNameHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialAnchorNameHTC) - defined by [XR_HTC_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_anchor)"]
22574 pub type GetSpatialAnchorNameHTC =
22575 unsafe extern "system" fn(anchor: Space, name: *mut SpatialAnchorNameHTC) -> Result;
22576 #[doc = "See [xrEnumerateViveTrackerPathsHTCX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateViveTrackerPathsHTCX) - defined by [XR_HTCX_vive_tracker_interaction](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTCX_vive_tracker_interaction)"]
22577 pub type EnumerateViveTrackerPathsHTCX = unsafe extern "system" fn(
22578 instance: Instance,
22579 path_capacity_input: u32,
22580 path_count_output: *mut u32,
22581 paths: *mut ViveTrackerPathsHTCX,
22582 ) -> Result;
22583 #[doc = "See [xrCreateBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateBodyTrackerHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
22584 pub type CreateBodyTrackerHTC = unsafe extern "system" fn(
22585 session: Session,
22586 create_info: *const BodyTrackerCreateInfoHTC,
22587 body_tracker: *mut BodyTrackerHTC,
22588 ) -> Result;
22589 #[doc = "See [xrDestroyBodyTrackerHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyBodyTrackerHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
22590 pub type DestroyBodyTrackerHTC =
22591 unsafe extern "system" fn(body_tracker: BodyTrackerHTC) -> Result;
22592 #[doc = "See [xrLocateBodyJointsHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateBodyJointsHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
22593 pub type LocateBodyJointsHTC = unsafe extern "system" fn(
22594 body_tracker: BodyTrackerHTC,
22595 locate_info: *const BodyJointsLocateInfoHTC,
22596 locations: *mut BodyJointLocationsHTC,
22597 ) -> Result;
22598 #[doc = "See [xrGetBodySkeletonHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetBodySkeletonHTC) - defined by [XR_HTC_body_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_body_tracking)"]
22599 pub type GetBodySkeletonHTC = unsafe extern "system" fn(
22600 body_tracker: BodyTrackerHTC,
22601 base_space: Space,
22602 skeleton_generation_id: u32,
22603 skeleton: *mut BodySkeletonHTC,
22604 ) -> Result;
22605 #[doc = "See [xrSetMarkerTrackingVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
22606 pub type SetMarkerTrackingVARJO =
22607 unsafe extern "system" fn(session: Session, enabled: Bool32) -> Result;
22608 #[doc = "See [xrSetMarkerTrackingTimeoutVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingTimeoutVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
22609 pub type SetMarkerTrackingTimeoutVARJO =
22610 unsafe extern "system" fn(session: Session, marker_id: u64, timeout: Duration) -> Result;
22611 #[doc = "See [xrSetMarkerTrackingPredictionVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetMarkerTrackingPredictionVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
22612 pub type SetMarkerTrackingPredictionVARJO =
22613 unsafe extern "system" fn(session: Session, marker_id: u64, enable: Bool32) -> Result;
22614 #[doc = "See [xrGetMarkerSizeVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerSizeVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
22615 pub type GetMarkerSizeVARJO =
22616 unsafe extern "system" fn(session: Session, marker_id: u64, size: *mut Extent2Df) -> Result;
22617 #[doc = "See [xrCreateMarkerSpaceVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerSpaceVARJO) - defined by [XR_VARJO_marker_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_marker_tracking)"]
22618 pub type CreateMarkerSpaceVARJO = unsafe extern "system" fn(
22619 session: Session,
22620 create_info: *const MarkerSpaceCreateInfoVARJO,
22621 space: *mut Space,
22622 ) -> Result;
22623 #[doc = "See [xrRequestBodyTrackingFidelityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestBodyTrackingFidelityMETA) - defined by [XR_META_body_tracking_fidelity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_body_tracking_fidelity)"]
22624 pub type RequestBodyTrackingFidelityMETA = unsafe extern "system" fn(
22625 body_tracker: BodyTrackerFB,
22626 fidelity: BodyTrackingFidelityMETA,
22627 ) -> Result;
22628 #[doc = "See [xrSetDigitalLensControlALMALENCE](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetDigitalLensControlALMALENCE) - defined by [XR_ALMALENCE_digital_lens_control](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ALMALENCE_digital_lens_control)"]
22629 pub type SetDigitalLensControlALMALENCE = unsafe extern "system" fn(
22630 session: Session,
22631 digital_lens_control: *const DigitalLensControlALMALENCE,
22632 ) -> Result;
22633 #[doc = "See [xrSetViewOffsetVARJO](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetViewOffsetVARJO) - defined by [XR_VARJO_view_offset](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_VARJO_view_offset)"]
22634 pub type SetViewOffsetVARJO =
22635 unsafe extern "system" fn(session: Session, offset: f32) -> Result;
22636 #[doc = "See [xrEnumerateExternalCamerasOCULUS](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateExternalCamerasOCULUS) - defined by [XR_OCULUS_external_camera](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_OCULUS_external_camera)"]
22637 pub type EnumerateExternalCamerasOCULUS = unsafe extern "system" fn(
22638 session: Session,
22639 camera_capacity_input: u32,
22640 camera_count_output: *mut u32,
22641 cameras: *mut ExternalCameraOCULUS,
22642 ) -> Result;
22643 #[doc = "See [xrCreatePassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
22644 pub type CreatePassthroughColorLutMETA = unsafe extern "system" fn(
22645 passthrough: PassthroughFB,
22646 create_info: *const PassthroughColorLutCreateInfoMETA,
22647 color_lut: *mut PassthroughColorLutMETA,
22648 ) -> Result;
22649 #[doc = "See [xrDestroyPassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
22650 pub type DestroyPassthroughColorLutMETA =
22651 unsafe extern "system" fn(color_lut: PassthroughColorLutMETA) -> Result;
22652 #[doc = "See [xrUpdatePassthroughColorLutMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdatePassthroughColorLutMETA) - defined by [XR_META_passthrough_color_lut](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_color_lut)"]
22653 pub type UpdatePassthroughColorLutMETA = unsafe extern "system" fn(
22654 color_lut: PassthroughColorLutMETA,
22655 update_info: *const PassthroughColorLutUpdateInfoMETA,
22656 ) -> Result;
22657 #[doc = "See [xrEnumeratePerformanceMetricsCounterPathsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePerformanceMetricsCounterPathsMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
22658 pub type EnumeratePerformanceMetricsCounterPathsMETA = unsafe extern "system" fn(
22659 instance: Instance,
22660 counter_path_capacity_input: u32,
22661 counter_path_count_output: *mut u32,
22662 counter_paths: *mut Path,
22663 ) -> Result;
22664 #[doc = "See [xrSetPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
22665 pub type SetPerformanceMetricsStateMETA = unsafe extern "system" fn(
22666 session: Session,
22667 state: *const PerformanceMetricsStateMETA,
22668 ) -> Result;
22669 #[doc = "See [xrGetPerformanceMetricsStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPerformanceMetricsStateMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
22670 pub type GetPerformanceMetricsStateMETA = unsafe extern "system" fn(
22671 session: Session,
22672 state: *mut PerformanceMetricsStateMETA,
22673 ) -> Result;
22674 #[doc = "See [xrQueryPerformanceMetricsCounterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryPerformanceMetricsCounterMETA) - defined by [XR_META_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_performance_metrics)"]
22675 pub type QueryPerformanceMetricsCounterMETA = unsafe extern "system" fn(
22676 session: Session,
22677 counter_path: Path,
22678 counter: *mut PerformanceMetricsCounterMETA,
22679 ) -> Result;
22680 #[doc = "See [xrGetPassthroughPreferencesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPassthroughPreferencesMETA) - defined by [XR_META_passthrough_preferences](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_passthrough_preferences)"]
22681 pub type GetPassthroughPreferencesMETA = unsafe extern "system" fn(
22682 session: Session,
22683 preferences: *mut PassthroughPreferencesMETA,
22684 ) -> Result;
22685 #[doc = "See [xrApplyFoveationHTC](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyFoveationHTC) - defined by [XR_HTC_foveation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_HTC_foveation)"]
22686 pub type ApplyFoveationHTC = unsafe extern "system" fn(
22687 session: Session,
22688 apply_info: *const FoveationApplyInfoHTC,
22689 ) -> Result;
22690 #[doc = "See [xrCreateSpaceFromCoordinateFrameUIDML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpaceFromCoordinateFrameUIDML) - defined by [XR_ML_compat](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_compat)"]
22691 pub type CreateSpaceFromCoordinateFrameUIDML = unsafe extern "system" fn(
22692 session: Session,
22693 create_info: *const CoordinateSpaceCreateInfoML,
22694 space: *mut Space,
22695 ) -> Result;
22696 #[doc = "See [xrGetDeviceSampleRateFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetDeviceSampleRateFB) - defined by [XR_FB_haptic_pcm](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_haptic_pcm)"]
22697 pub type GetDeviceSampleRateFB = unsafe extern "system" fn(
22698 session: Session,
22699 haptic_action_info: *const HapticActionInfo,
22700 device_sample_rate: *mut DevicePcmSampleRateGetInfoFB,
22701 ) -> Result;
22702 #[doc = "See [xrSetTrackingOptimizationSettingsHintQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetTrackingOptimizationSettingsHintQCOM) - defined by [XR_QCOM_tracking_optimization_settings](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_QCOM_tracking_optimization_settings)"]
22703 pub type SetTrackingOptimizationSettingsHintQCOM = unsafe extern "system" fn(
22704 session: Session,
22705 domain: TrackingOptimizationSettingsDomainQCOM,
22706 hint: TrackingOptimizationSettingsHintQCOM,
22707 ) -> Result;
22708 #[doc = "See [xrCreateSpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpaceUserFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
22709 pub type CreateSpaceUserFB = unsafe extern "system" fn(
22710 session: Session,
22711 info: *const SpaceUserCreateInfoFB,
22712 user: *mut SpaceUserFB,
22713 ) -> Result;
22714 #[doc = "See [xrGetSpaceUserIdFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpaceUserIdFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
22715 pub type GetSpaceUserIdFB =
22716 unsafe extern "system" fn(user: SpaceUserFB, user_id: *mut SpaceUserIdFB) -> Result;
22717 #[doc = "See [xrDestroySpaceUserFB](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpaceUserFB) - defined by [XR_FB_spatial_entity_user](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_FB_spatial_entity_user)"]
22718 pub type DestroySpaceUserFB = unsafe extern "system" fn(user: SpaceUserFB) -> Result;
22719 #[doc = "See [xrGetRecommendedLayerResolutionMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRecommendedLayerResolutionMETA) - defined by [XR_META_recommended_layer_resolution](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_recommended_layer_resolution)"]
22720 pub type GetRecommendedLayerResolutionMETA = unsafe extern "system" fn(
22721 session: Session,
22722 info: *const RecommendedLayerResolutionGetInfoMETA,
22723 resolution: *mut RecommendedLayerResolutionMETA,
22724 ) -> Result;
22725 #[doc = "See [xrSaveSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSaveSpacesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
22726 pub type SaveSpacesMETA = unsafe extern "system" fn(
22727 session: Session,
22728 info: *const SpacesSaveInfoMETA,
22729 request_id: *mut AsyncRequestIdFB,
22730 ) -> Result;
22731 #[doc = "See [xrEraseSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEraseSpacesMETA) - defined by [XR_META_spatial_entity_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_persistence)"]
22732 pub type EraseSpacesMETA = unsafe extern "system" fn(
22733 session: Session,
22734 info: *const SpacesEraseInfoMETA,
22735 request_id: *mut AsyncRequestIdFB,
22736 ) -> Result;
22737 #[doc = "See [xrDiscoverSpacesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDiscoverSpacesMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
22738 pub type DiscoverSpacesMETA = unsafe extern "system" fn(
22739 session: Session,
22740 info: *const SpaceDiscoveryInfoMETA,
22741 request_id: *mut AsyncRequestIdFB,
22742 ) -> Result;
22743 #[doc = "See [xrRetrieveSpaceDiscoveryResultsMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRetrieveSpaceDiscoveryResultsMETA) - defined by [XR_META_spatial_entity_discovery](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_spatial_entity_discovery)"]
22744 pub type RetrieveSpaceDiscoveryResultsMETA = unsafe extern "system" fn(
22745 session: Session,
22746 request_id: AsyncRequestIdFB,
22747 results: *mut SpaceDiscoveryResultsMETA,
22748 ) -> Result;
22749 #[doc = "See [xrApplyForceFeedbackCurlMNDX](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrApplyForceFeedbackCurlMNDX) - defined by [XR_MNDX_force_feedback_curl](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_MNDX_force_feedback_curl)"]
22750 pub type ApplyForceFeedbackCurlMNDX = unsafe extern "system" fn(
22751 hand_tracker: HandTrackerEXT,
22752 locations: *const ForceFeedbackCurlApplyLocationsMNDX,
22753 ) -> Result;
22754 #[cfg(target_os = "android")]
22755 #[doc = "See [xrCreateFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
22756 pub type CreateFaceTrackerANDROID = unsafe extern "system" fn(
22757 session: Session,
22758 create_info: *const FaceTrackerCreateInfoANDROID,
22759 face_tracker: *mut FaceTrackerANDROID,
22760 ) -> Result;
22761 #[cfg(target_os = "android")]
22762 #[doc = "See [xrDestroyFaceTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
22763 pub type DestroyFaceTrackerANDROID =
22764 unsafe extern "system" fn(face_tracker: FaceTrackerANDROID) -> Result;
22765 #[cfg(target_os = "android")]
22766 #[doc = "See [xrGetFaceStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
22767 pub type GetFaceStateANDROID = unsafe extern "system" fn(
22768 face_tracker: FaceTrackerANDROID,
22769 get_info: *const FaceStateGetInfoANDROID,
22770 face_state_output: *mut FaceStateANDROID,
22771 ) -> Result;
22772 #[cfg(target_os = "android")]
22773 #[doc = "See [xrGetFaceCalibrationStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFaceCalibrationStateANDROID) - defined by [XR_ANDROID_face_tracking](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_face_tracking)"]
22774 pub type GetFaceCalibrationStateANDROID = unsafe extern "system" fn(
22775 face_tracker: FaceTrackerANDROID,
22776 face_is_calibrated_output: *mut Bool32,
22777 ) -> Result;
22778 #[cfg(target_os = "android")]
22779 #[doc = "See [xrGetPassthroughCameraStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPassthroughCameraStateANDROID) - defined by [XR_ANDROID_passthrough_camera_state](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_passthrough_camera_state)"]
22780 pub type GetPassthroughCameraStateANDROID = unsafe extern "system" fn(
22781 session: Session,
22782 get_info: *const PassthroughCameraStateGetInfoANDROID,
22783 camera_state_output: *mut PassthroughCameraStateANDROID,
22784 ) -> Result;
22785 #[cfg(target_os = "android")]
22786 #[doc = "See [xrEnumerateSupportedTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedTrackableTypesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
22787 pub type EnumerateSupportedTrackableTypesANDROID = unsafe extern "system" fn(
22788 instance: Instance,
22789 system_id: SystemId,
22790 trackable_type_capacity_input: u32,
22791 trackable_type_count_output: *mut u32,
22792 trackable_types: *mut TrackableTypeANDROID,
22793 ) -> Result;
22794 #[cfg(target_os = "android")]
22795 #[doc = "See [xrEnumerateSupportedAnchorTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedAnchorTrackableTypesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
22796 pub type EnumerateSupportedAnchorTrackableTypesANDROID = unsafe extern "system" fn(
22797 instance: Instance,
22798 system_id: SystemId,
22799 trackable_type_capacity_input: u32,
22800 trackable_type_count_output: *mut u32,
22801 trackable_types: *mut TrackableTypeANDROID,
22802 )
22803 -> Result;
22804 #[cfg(target_os = "android")]
22805 #[doc = "See [xrCreateTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTrackableTrackerANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
22806 pub type CreateTrackableTrackerANDROID = unsafe extern "system" fn(
22807 session: Session,
22808 create_info: *const TrackableTrackerCreateInfoANDROID,
22809 trackable_tracker: *mut TrackableTrackerANDROID,
22810 ) -> Result;
22811 #[cfg(target_os = "android")]
22812 #[doc = "See [xrDestroyTrackableTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTrackableTrackerANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
22813 pub type DestroyTrackableTrackerANDROID =
22814 unsafe extern "system" fn(trackable_tracker: TrackableTrackerANDROID) -> Result;
22815 #[cfg(target_os = "android")]
22816 #[doc = "See [xrGetAllTrackablesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAllTrackablesANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
22817 pub type GetAllTrackablesANDROID = unsafe extern "system" fn(
22818 trackable_tracker: TrackableTrackerANDROID,
22819 trackable_capacity_input: u32,
22820 trackable_count_output: *mut u32,
22821 trackables: *mut TrackableANDROID,
22822 ) -> Result;
22823 #[cfg(target_os = "android")]
22824 #[doc = "See [xrGetTrackablePlaneANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackablePlaneANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
22825 pub type GetTrackablePlaneANDROID = unsafe extern "system" fn(
22826 trackable_tracker: TrackableTrackerANDROID,
22827 get_info: *const TrackableGetInfoANDROID,
22828 plane_output: *mut TrackablePlaneANDROID,
22829 ) -> Result;
22830 #[cfg(target_os = "android")]
22831 #[doc = "See [xrCreateAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAnchorSpaceANDROID) - defined by [XR_ANDROID_trackables](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables)"]
22832 pub type CreateAnchorSpaceANDROID = unsafe extern "system" fn(
22833 session: Session,
22834 create_info: *const AnchorSpaceCreateInfoANDROID,
22835 anchor_output: *mut Space,
22836 ) -> Result;
22837 #[cfg(target_os = "android")]
22838 #[doc = "See [xrShareAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareAnchorANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
22839 pub type ShareAnchorANDROID = unsafe extern "system" fn(
22840 session: Session,
22841 sharing_info: *const AnchorSharingInfoANDROID,
22842 anchor_token: *mut AnchorSharingTokenANDROID,
22843 ) -> Result;
22844 #[cfg(target_os = "android")]
22845 #[doc = "See [xrUnshareAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnshareAnchorANDROID) - defined by [XR_ANDROID_anchor_sharing_export](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_anchor_sharing_export)"]
22846 pub type UnshareAnchorANDROID =
22847 unsafe extern "system" fn(session: Session, anchor: Space) -> Result;
22848 #[cfg(target_os = "android")]
22849 #[doc = "See [xrGetTrackableObjectANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableObjectANDROID) - defined by [XR_ANDROID_trackables_object](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_object)"]
22850 pub type GetTrackableObjectANDROID = unsafe extern "system" fn(
22851 tracker: TrackableTrackerANDROID,
22852 get_info: *const TrackableGetInfoANDROID,
22853 object_output: *mut TrackableObjectANDROID,
22854 ) -> Result;
22855 #[cfg(target_os = "android")]
22856 #[doc = "See [xrEnumerateRaycastSupportedTrackableTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRaycastSupportedTrackableTypesANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
22857 pub type EnumerateRaycastSupportedTrackableTypesANDROID = unsafe extern "system" fn(
22858 instance: Instance,
22859 system_id: SystemId,
22860 trackable_type_capacity_input: u32,
22861 trackable_type_count_output: *mut u32,
22862 trackable_types: *mut TrackableTypeANDROID,
22863 )
22864 -> Result;
22865 #[cfg(target_os = "android")]
22866 #[doc = "See [xrRaycastANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRaycastANDROID) - defined by [XR_ANDROID_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_raycast)"]
22867 pub type RaycastANDROID = unsafe extern "system" fn(
22868 session: Session,
22869 ray_info: *const RaycastInfoANDROID,
22870 results: *mut RaycastHitResultsANDROID,
22871 ) -> Result;
22872 #[cfg(target_os = "android")]
22873 #[doc = "See [xrGetTrackableMarkerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableMarkerANDROID) - defined by [XR_ANDROID_trackables_marker](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_marker)"]
22874 pub type GetTrackableMarkerANDROID = unsafe extern "system" fn(
22875 tracker: TrackableTrackerANDROID,
22876 get_info: *const TrackableGetInfoANDROID,
22877 marker_output: *mut TrackableMarkerANDROID,
22878 ) -> Result;
22879 #[cfg(target_os = "android")]
22880 #[doc = "See [xrEnumerateSupportedPersistenceAnchorTypesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedPersistenceAnchorTypesANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22881 pub type EnumerateSupportedPersistenceAnchorTypesANDROID = unsafe extern "system" fn(
22882 instance: Instance,
22883 system_id: SystemId,
22884 trackable_type_capacity_input: u32,
22885 trackable_type_count_output: *mut u32,
22886 trackable_types: *mut TrackableTypeANDROID,
22887 )
22888 -> Result;
22889 #[cfg(target_os = "android")]
22890 #[doc = "See [xrCreateDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateDeviceAnchorPersistenceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22891 pub type CreateDeviceAnchorPersistenceANDROID = unsafe extern "system" fn(
22892 session: Session,
22893 create_info: *const DeviceAnchorPersistenceCreateInfoANDROID,
22894 out_handle: *mut DeviceAnchorPersistenceANDROID,
22895 ) -> Result;
22896 #[cfg(target_os = "android")]
22897 #[doc = "See [xrDestroyDeviceAnchorPersistenceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyDeviceAnchorPersistenceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22898 pub type DestroyDeviceAnchorPersistenceANDROID =
22899 unsafe extern "system" fn(handle: DeviceAnchorPersistenceANDROID) -> Result;
22900 #[cfg(target_os = "android")]
22901 #[doc = "See [xrPersistAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistAnchorANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22902 pub type PersistAnchorANDROID = unsafe extern "system" fn(
22903 handle: DeviceAnchorPersistenceANDROID,
22904 persisted_info: *const PersistedAnchorSpaceInfoANDROID,
22905 anchor_id_output: *mut UuidEXT,
22906 ) -> Result;
22907 #[cfg(target_os = "android")]
22908 #[doc = "See [xrGetAnchorPersistStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAnchorPersistStateANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22909 pub type GetAnchorPersistStateANDROID = unsafe extern "system" fn(
22910 handle: DeviceAnchorPersistenceANDROID,
22911 anchor_id: *const UuidEXT,
22912 persist_state: *mut AnchorPersistStateANDROID,
22913 ) -> Result;
22914 #[cfg(target_os = "android")]
22915 #[doc = "See [xrCreatePersistedAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePersistedAnchorSpaceANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22916 pub type CreatePersistedAnchorSpaceANDROID = unsafe extern "system" fn(
22917 handle: DeviceAnchorPersistenceANDROID,
22918 create_info: *const PersistedAnchorSpaceCreateInfoANDROID,
22919 anchor_output: *mut Space,
22920 ) -> Result;
22921 #[cfg(target_os = "android")]
22922 #[doc = "See [xrEnumeratePersistedAnchorsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePersistedAnchorsANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22923 pub type EnumeratePersistedAnchorsANDROID = unsafe extern "system" fn(
22924 handle: DeviceAnchorPersistenceANDROID,
22925 anchor_id_capacity_input: u32,
22926 anchor_id_count_output: *mut u32,
22927 anchor_ids: *mut UuidEXT,
22928 ) -> Result;
22929 #[cfg(target_os = "android")]
22930 #[doc = "See [xrUnpersistAnchorANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistAnchorANDROID) - defined by [XR_ANDROID_device_anchor_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_device_anchor_persistence)"]
22931 pub type UnpersistAnchorANDROID = unsafe extern "system" fn(
22932 handle: DeviceAnchorPersistenceANDROID,
22933 anchor_id: *const UuidEXT,
22934 ) -> Result;
22935 #[cfg(target_os = "android")]
22936 #[doc = "See [xrEnumeratePerformanceMetricsCounterPathsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumeratePerformanceMetricsCounterPathsANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22937 pub type EnumeratePerformanceMetricsCounterPathsANDROID = unsafe extern "system" fn(
22938 instance: Instance,
22939 counter_path_capacity_input: u32,
22940 counter_path_count_output: *mut u32,
22941 counter_paths: *mut Path,
22942 )
22943 -> Result;
22944 #[cfg(target_os = "android")]
22945 #[doc = "See [xrSetPerformanceMetricsStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetPerformanceMetricsStateANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22946 pub type SetPerformanceMetricsStateANDROID = unsafe extern "system" fn(
22947 session: Session,
22948 state: *const PerformanceMetricsStateANDROID,
22949 ) -> Result;
22950 #[cfg(target_os = "android")]
22951 #[doc = "See [xrGetPerformanceMetricsStateANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPerformanceMetricsStateANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22952 pub type GetPerformanceMetricsStateANDROID = unsafe extern "system" fn(
22953 session: Session,
22954 state: *mut PerformanceMetricsStateANDROID,
22955 ) -> Result;
22956 #[cfg(target_os = "android")]
22957 #[doc = "See [xrQueryPerformanceMetricsCounterANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryPerformanceMetricsCounterANDROID) - defined by [XR_ANDROID_performance_metrics](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_performance_metrics)"]
22958 pub type QueryPerformanceMetricsCounterANDROID = unsafe extern "system" fn(
22959 session: Session,
22960 counter_path: Path,
22961 counter: *mut PerformanceMetricsCounterANDROID,
22962 ) -> Result;
22963 #[cfg(target_os = "android")]
22964 #[doc = "See [xrGetTrackableQrCodeANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableQrCodeANDROID) - defined by [XR_ANDROID_trackables_qr_code](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_qr_code)"]
22965 pub type GetTrackableQrCodeANDROID = unsafe extern "system" fn(
22966 tracker: TrackableTrackerANDROID,
22967 get_info: *const TrackableGetInfoANDROID,
22968 qr_code_output: *mut TrackableQrCodeANDROID,
22969 ) -> Result;
22970 #[cfg(target_os = "android")]
22971 #[doc = "See [xrCreatePassthroughLayerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePassthroughLayerANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
22972 pub type CreatePassthroughLayerANDROID = unsafe extern "system" fn(
22973 session: Session,
22974 create_info: *const PassthroughLayerCreateInfoANDROID,
22975 layer: *mut PassthroughLayerANDROID,
22976 ) -> Result;
22977 #[cfg(target_os = "android")]
22978 #[doc = "See [xrDestroyPassthroughLayerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPassthroughLayerANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
22979 pub type DestroyPassthroughLayerANDROID =
22980 unsafe extern "system" fn(layer: PassthroughLayerANDROID) -> Result;
22981 #[cfg(target_os = "android")]
22982 #[doc = "See [xrSetPassthroughLayerMeshANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetPassthroughLayerMeshANDROID) - defined by [XR_ANDROID_composition_layer_passthrough_mesh](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_composition_layer_passthrough_mesh)"]
22983 pub type SetPassthroughLayerMeshANDROID = unsafe extern "system" fn(
22984 layer: PassthroughLayerANDROID,
22985 mesh: *const PassthroughLayerMeshANDROID,
22986 ) -> Result;
22987 #[cfg(target_os = "android")]
22988 #[doc = "See [xrEnumerateSupportedSemanticLabelSetsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedSemanticLabelSetsANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
22989 pub type EnumerateSupportedSemanticLabelSetsANDROID = unsafe extern "system" fn(
22990 instance: Instance,
22991 system_id: SystemId,
22992 supported_semantic_label_sets_input_capacity: u32,
22993 supported_semantic_label_sets_output_count: *mut u32,
22994 supported_semantic_label_sets: *mut SceneMeshSemanticLabelSetANDROID,
22995 ) -> Result;
22996 #[cfg(target_os = "android")]
22997 #[doc = "See [xrCreateSceneMeshingTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSceneMeshingTrackerANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
22998 pub type CreateSceneMeshingTrackerANDROID = unsafe extern "system" fn(
22999 session: Session,
23000 create_info: *const SceneMeshingTrackerCreateInfoANDROID,
23001 tracker: *mut SceneMeshingTrackerANDROID,
23002 ) -> Result;
23003 #[cfg(target_os = "android")]
23004 #[doc = "See [xrDestroySceneMeshingTrackerANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySceneMeshingTrackerANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23005 pub type DestroySceneMeshingTrackerANDROID =
23006 unsafe extern "system" fn(tracker: SceneMeshingTrackerANDROID) -> Result;
23007 #[cfg(target_os = "android")]
23008 #[doc = "See [xrCreateSceneMeshSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSceneMeshSnapshotANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23009 pub type CreateSceneMeshSnapshotANDROID = unsafe extern "system" fn(
23010 tracker: SceneMeshingTrackerANDROID,
23011 create_info: *const SceneMeshSnapshotCreateInfoANDROID,
23012 out_snapshot_creation_result: *mut SceneMeshSnapshotCreationResultANDROID,
23013 ) -> Result;
23014 #[cfg(target_os = "android")]
23015 #[doc = "See [xrDestroySceneMeshSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySceneMeshSnapshotANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23016 pub type DestroySceneMeshSnapshotANDROID =
23017 unsafe extern "system" fn(snapshot: SceneMeshSnapshotANDROID) -> Result;
23018 #[cfg(target_os = "android")]
23019 #[doc = "See [xrGetAllSubmeshStatesANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAllSubmeshStatesANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23020 pub type GetAllSubmeshStatesANDROID = unsafe extern "system" fn(
23021 snapshot: SceneMeshSnapshotANDROID,
23022 submesh_state_capacity_input: u32,
23023 submesh_state_count_output: *mut u32,
23024 submesh_states: *mut SceneSubmeshStateANDROID,
23025 ) -> Result;
23026 #[cfg(target_os = "android")]
23027 #[doc = "See [xrGetSubmeshDataANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSubmeshDataANDROID) - defined by [XR_ANDROID_scene_meshing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_scene_meshing)"]
23028 pub type GetSubmeshDataANDROID = unsafe extern "system" fn(
23029 snapshot: SceneMeshSnapshotANDROID,
23030 submesh_data_count: u32,
23031 inout_submesh_data: *mut SceneSubmeshDataANDROID,
23032 ) -> Result;
23033 #[doc = "See [xrCreatePlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreatePlaneDetectorEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
23034 pub type CreatePlaneDetectorEXT = unsafe extern "system" fn(
23035 session: Session,
23036 create_info: *const PlaneDetectorCreateInfoEXT,
23037 plane_detector: *mut PlaneDetectorEXT,
23038 ) -> Result;
23039 #[doc = "See [xrDestroyPlaneDetectorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyPlaneDetectorEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
23040 pub type DestroyPlaneDetectorEXT =
23041 unsafe extern "system" fn(plane_detector: PlaneDetectorEXT) -> Result;
23042 #[doc = "See [xrBeginPlaneDetectionEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrBeginPlaneDetectionEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
23043 pub type BeginPlaneDetectionEXT = unsafe extern "system" fn(
23044 plane_detector: PlaneDetectorEXT,
23045 begin_info: *const PlaneDetectorBeginInfoEXT,
23046 ) -> Result;
23047 #[doc = "See [xrGetPlaneDetectionStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlaneDetectionStateEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
23048 pub type GetPlaneDetectionStateEXT = unsafe extern "system" fn(
23049 plane_detector: PlaneDetectorEXT,
23050 state: *mut PlaneDetectionStateEXT,
23051 ) -> Result;
23052 #[doc = "See [xrGetPlaneDetectionsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlaneDetectionsEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
23053 pub type GetPlaneDetectionsEXT = unsafe extern "system" fn(
23054 plane_detector: PlaneDetectorEXT,
23055 info: *const PlaneDetectorGetInfoEXT,
23056 locations: *mut PlaneDetectorLocationsEXT,
23057 ) -> Result;
23058 #[doc = "See [xrGetPlanePolygonBufferEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetPlanePolygonBufferEXT) - defined by [XR_EXT_plane_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_plane_detection)"]
23059 pub type GetPlanePolygonBufferEXT = unsafe extern "system" fn(
23060 plane_detector: PlaneDetectorEXT,
23061 plane_id: u64,
23062 polygon_buffer_index: u32,
23063 polygon_buffer: *mut PlaneDetectorPolygonBufferEXT,
23064 ) -> Result;
23065 #[doc = "See [xrCreateVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVirtualKeyboardMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23066 pub type CreateVirtualKeyboardMETA = unsafe extern "system" fn(
23067 session: Session,
23068 create_info: *const VirtualKeyboardCreateInfoMETA,
23069 keyboard: *mut VirtualKeyboardMETA,
23070 ) -> Result;
23071 #[doc = "See [xrDestroyVirtualKeyboardMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyVirtualKeyboardMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23072 pub type DestroyVirtualKeyboardMETA =
23073 unsafe extern "system" fn(keyboard: VirtualKeyboardMETA) -> Result;
23074 #[doc = "See [xrCreateVirtualKeyboardSpaceMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateVirtualKeyboardSpaceMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23075 pub type CreateVirtualKeyboardSpaceMETA = unsafe extern "system" fn(
23076 session: Session,
23077 keyboard: VirtualKeyboardMETA,
23078 create_info: *const VirtualKeyboardSpaceCreateInfoMETA,
23079 keyboard_space: *mut Space,
23080 ) -> Result;
23081 #[doc = "See [xrSuggestVirtualKeyboardLocationMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSuggestVirtualKeyboardLocationMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23082 pub type SuggestVirtualKeyboardLocationMETA = unsafe extern "system" fn(
23083 keyboard: VirtualKeyboardMETA,
23084 location_info: *const VirtualKeyboardLocationInfoMETA,
23085 ) -> Result;
23086 #[doc = "See [xrGetVirtualKeyboardScaleMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardScaleMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23087 pub type GetVirtualKeyboardScaleMETA =
23088 unsafe extern "system" fn(keyboard: VirtualKeyboardMETA, scale: *mut f32) -> Result;
23089 #[doc = "See [xrSetVirtualKeyboardModelVisibilityMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetVirtualKeyboardModelVisibilityMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23090 pub type SetVirtualKeyboardModelVisibilityMETA = unsafe extern "system" fn(
23091 keyboard: VirtualKeyboardMETA,
23092 model_visibility: *const VirtualKeyboardModelVisibilitySetInfoMETA,
23093 ) -> Result;
23094 #[doc = "See [xrGetVirtualKeyboardModelAnimationStatesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardModelAnimationStatesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23095 pub type GetVirtualKeyboardModelAnimationStatesMETA = unsafe extern "system" fn(
23096 keyboard: VirtualKeyboardMETA,
23097 animation_states: *mut VirtualKeyboardModelAnimationStatesMETA,
23098 ) -> Result;
23099 #[doc = "See [xrGetVirtualKeyboardDirtyTexturesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardDirtyTexturesMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23100 pub type GetVirtualKeyboardDirtyTexturesMETA = unsafe extern "system" fn(
23101 keyboard: VirtualKeyboardMETA,
23102 texture_id_capacity_input: u32,
23103 texture_id_count_output: *mut u32,
23104 texture_ids: *mut u64,
23105 ) -> Result;
23106 #[doc = "See [xrGetVirtualKeyboardTextureDataMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVirtualKeyboardTextureDataMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23107 pub type GetVirtualKeyboardTextureDataMETA = unsafe extern "system" fn(
23108 keyboard: VirtualKeyboardMETA,
23109 texture_id: u64,
23110 texture_data: *mut VirtualKeyboardTextureDataMETA,
23111 ) -> Result;
23112 #[doc = "See [xrSendVirtualKeyboardInputMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSendVirtualKeyboardInputMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23113 pub type SendVirtualKeyboardInputMETA = unsafe extern "system" fn(
23114 keyboard: VirtualKeyboardMETA,
23115 info: *const VirtualKeyboardInputInfoMETA,
23116 interactor_root_pose: *mut Posef,
23117 ) -> Result;
23118 #[doc = "See [xrChangeVirtualKeyboardTextContextMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrChangeVirtualKeyboardTextContextMETA) - defined by [XR_META_virtual_keyboard](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_virtual_keyboard)"]
23119 pub type ChangeVirtualKeyboardTextContextMETA = unsafe extern "system" fn(
23120 keyboard: VirtualKeyboardMETA,
23121 change_info: *const VirtualKeyboardTextContextChangeInfoMETA,
23122 ) -> Result;
23123 #[doc = "See [xrEnableUserCalibrationEventsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnableUserCalibrationEventsML) - defined by [XR_ML_user_calibration](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_user_calibration)"]
23124 pub type EnableUserCalibrationEventsML = unsafe extern "system" fn(
23125 instance: Instance,
23126 enable_info: *const UserCalibrationEnableEventsInfoML,
23127 ) -> Result;
23128 #[doc = "See [xrEnableLocalizationEventsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnableLocalizationEventsML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
23129 pub type EnableLocalizationEventsML = unsafe extern "system" fn(
23130 session: Session,
23131 info: *const LocalizationEnableEventsInfoML,
23132 ) -> Result;
23133 #[doc = "See [xrQueryLocalizationMapsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryLocalizationMapsML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
23134 pub type QueryLocalizationMapsML = unsafe extern "system" fn(
23135 session: Session,
23136 query_info: *const LocalizationMapQueryInfoBaseHeaderML,
23137 map_capacity_input: u32,
23138 map_count_output: *mut u32,
23139 maps: *mut LocalizationMapML,
23140 ) -> Result;
23141 #[doc = "See [xrRequestMapLocalizationML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestMapLocalizationML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
23142 pub type RequestMapLocalizationML = unsafe extern "system" fn(
23143 session: Session,
23144 request_info: *const MapLocalizationRequestInfoML,
23145 ) -> Result;
23146 #[doc = "See [xrImportLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrImportLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
23147 pub type ImportLocalizationMapML = unsafe extern "system" fn(
23148 session: Session,
23149 import_info: *const LocalizationMapImportInfoML,
23150 map_uuid: *mut UuidEXT,
23151 ) -> Result;
23152 #[doc = "See [xrCreateExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateExportedLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
23153 pub type CreateExportedLocalizationMapML = unsafe extern "system" fn(
23154 session: Session,
23155 map_uuid: *const UuidEXT,
23156 map: *mut ExportedLocalizationMapML,
23157 ) -> Result;
23158 #[doc = "See [xrDestroyExportedLocalizationMapML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyExportedLocalizationMapML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
23159 pub type DestroyExportedLocalizationMapML =
23160 unsafe extern "system" fn(map: ExportedLocalizationMapML) -> Result;
23161 #[doc = "See [xrGetExportedLocalizationMapDataML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetExportedLocalizationMapDataML) - defined by [XR_ML_localization_map](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_localization_map)"]
23162 pub type GetExportedLocalizationMapDataML = unsafe extern "system" fn(
23163 map: ExportedLocalizationMapML,
23164 buffer_capacity_input: u32,
23165 buffer_count_output: *mut u32,
23166 buffer: *mut c_char,
23167 ) -> Result;
23168 #[doc = "See [xrCreateMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23169 pub type CreateMarkerDetectorML = unsafe extern "system" fn(
23170 session: Session,
23171 create_info: *const MarkerDetectorCreateInfoML,
23172 marker_detector: *mut MarkerDetectorML,
23173 ) -> Result;
23174 #[doc = "See [xrDestroyMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23175 pub type DestroyMarkerDetectorML =
23176 unsafe extern "system" fn(marker_detector: MarkerDetectorML) -> Result;
23177 #[doc = "See [xrSnapshotMarkerDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSnapshotMarkerDetectorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23178 pub type SnapshotMarkerDetectorML = unsafe extern "system" fn(
23179 marker_detector: MarkerDetectorML,
23180 snapshot_info: *mut MarkerDetectorSnapshotInfoML,
23181 ) -> Result;
23182 #[doc = "See [xrGetMarkerDetectorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerDetectorStateML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23183 pub type GetMarkerDetectorStateML = unsafe extern "system" fn(
23184 marker_detector: MarkerDetectorML,
23185 state: *mut MarkerDetectorStateML,
23186 ) -> Result;
23187 #[doc = "See [xrGetMarkersML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkersML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23188 pub type GetMarkersML = unsafe extern "system" fn(
23189 marker_detector: MarkerDetectorML,
23190 marker_capacity_input: u32,
23191 marker_count_output: *mut u32,
23192 markers: *mut MarkerML,
23193 ) -> Result;
23194 #[doc = "See [xrGetMarkerReprojectionErrorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerReprojectionErrorML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23195 pub type GetMarkerReprojectionErrorML = unsafe extern "system" fn(
23196 marker_detector: MarkerDetectorML,
23197 marker: MarkerML,
23198 reprojection_error_meters: *mut f32,
23199 ) -> Result;
23200 #[doc = "See [xrGetMarkerLengthML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerLengthML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23201 pub type GetMarkerLengthML = unsafe extern "system" fn(
23202 marker_detector: MarkerDetectorML,
23203 marker: MarkerML,
23204 meters: *mut f32,
23205 ) -> Result;
23206 #[doc = "See [xrGetMarkerNumberML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerNumberML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23207 pub type GetMarkerNumberML = unsafe extern "system" fn(
23208 marker_detector: MarkerDetectorML,
23209 marker: MarkerML,
23210 number: *mut u64,
23211 ) -> Result;
23212 #[doc = "See [xrGetMarkerStringML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetMarkerStringML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23213 pub type GetMarkerStringML = unsafe extern "system" fn(
23214 marker_detector: MarkerDetectorML,
23215 marker: MarkerML,
23216 buffer_capacity_input: u32,
23217 buffer_count_output: *mut u32,
23218 buffer: *mut c_char,
23219 ) -> Result;
23220 #[doc = "See [xrCreateMarkerSpaceML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateMarkerSpaceML) - defined by [XR_ML_marker_understanding](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_marker_understanding)"]
23221 pub type CreateMarkerSpaceML = unsafe extern "system" fn(
23222 session: Session,
23223 create_info: *const MarkerSpaceCreateInfoML,
23224 space: *mut Space,
23225 ) -> Result;
23226 #[doc = "See [xrPollFutureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPollFutureEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
23227 pub type PollFutureEXT = unsafe extern "system" fn(
23228 instance: Instance,
23229 poll_info: *const FuturePollInfoEXT,
23230 poll_result: *mut FuturePollResultEXT,
23231 ) -> Result;
23232 #[doc = "See [xrCancelFutureEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCancelFutureEXT) - defined by [XR_EXT_future](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_future)"]
23233 pub type CancelFutureEXT = unsafe extern "system" fn(
23234 instance: Instance,
23235 cancel_info: *const FutureCancelInfoEXT,
23236 ) -> Result;
23237 #[doc = "See [xrCreateEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23238 pub type CreateEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23239 session: Session,
23240 create_info: *const EnvironmentDepthProviderCreateInfoMETA,
23241 environment_depth_provider: *mut EnvironmentDepthProviderMETA,
23242 ) -> Result;
23243 #[doc = "See [xrDestroyEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23244 pub type DestroyEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23245 environment_depth_provider: EnvironmentDepthProviderMETA,
23246 ) -> Result;
23247 #[doc = "See [xrStartEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23248 pub type StartEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23249 environment_depth_provider: EnvironmentDepthProviderMETA,
23250 ) -> Result;
23251 #[doc = "See [xrStopEnvironmentDepthProviderMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopEnvironmentDepthProviderMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23252 pub type StopEnvironmentDepthProviderMETA = unsafe extern "system" fn(
23253 environment_depth_provider: EnvironmentDepthProviderMETA,
23254 ) -> Result;
23255 #[doc = "See [xrCreateEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentDepthSwapchainMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23256 pub type CreateEnvironmentDepthSwapchainMETA = unsafe extern "system" fn(
23257 environment_depth_provider: EnvironmentDepthProviderMETA,
23258 create_info: *const EnvironmentDepthSwapchainCreateInfoMETA,
23259 swapchain: *mut EnvironmentDepthSwapchainMETA,
23260 ) -> Result;
23261 #[doc = "See [xrDestroyEnvironmentDepthSwapchainMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentDepthSwapchainMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23262 pub type DestroyEnvironmentDepthSwapchainMETA =
23263 unsafe extern "system" fn(swapchain: EnvironmentDepthSwapchainMETA) -> Result;
23264 #[doc = "See [xrEnumerateEnvironmentDepthSwapchainImagesMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateEnvironmentDepthSwapchainImagesMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23265 pub type EnumerateEnvironmentDepthSwapchainImagesMETA = unsafe extern "system" fn(
23266 swapchain: EnvironmentDepthSwapchainMETA,
23267 image_capacity_input: u32,
23268 image_count_output: *mut u32,
23269 images: *mut SwapchainImageBaseHeader,
23270 )
23271 -> Result;
23272 #[doc = "See [xrGetEnvironmentDepthSwapchainStateMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetEnvironmentDepthSwapchainStateMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23273 pub type GetEnvironmentDepthSwapchainStateMETA = unsafe extern "system" fn(
23274 swapchain: EnvironmentDepthSwapchainMETA,
23275 state: *mut EnvironmentDepthSwapchainStateMETA,
23276 ) -> Result;
23277 #[doc = "See [xrAcquireEnvironmentDepthImageMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAcquireEnvironmentDepthImageMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23278 pub type AcquireEnvironmentDepthImageMETA = unsafe extern "system" fn(
23279 environment_depth_provider: EnvironmentDepthProviderMETA,
23280 acquire_info: *const EnvironmentDepthImageAcquireInfoMETA,
23281 environment_depth_image: *mut EnvironmentDepthImageMETA,
23282 ) -> Result;
23283 #[doc = "See [xrSetEnvironmentDepthHandRemovalMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetEnvironmentDepthHandRemovalMETA) - defined by [XR_META_environment_depth](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_depth)"]
23284 pub type SetEnvironmentDepthHandRemovalMETA = unsafe extern "system" fn(
23285 environment_depth_provider: EnvironmentDepthProviderMETA,
23286 set_info: *const EnvironmentDepthHandRemovalSetInfoMETA,
23287 ) -> Result;
23288 #[doc = "See [xrCreateFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFacialExpressionClientML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
23289 pub type CreateFacialExpressionClientML = unsafe extern "system" fn(
23290 session: Session,
23291 create_info: *const FacialExpressionClientCreateInfoML,
23292 facial_expression_client: *mut FacialExpressionClientML,
23293 ) -> Result;
23294 #[doc = "See [xrDestroyFacialExpressionClientML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFacialExpressionClientML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
23295 pub type DestroyFacialExpressionClientML =
23296 unsafe extern "system" fn(facial_expression_client: FacialExpressionClientML) -> Result;
23297 #[doc = "See [xrGetFacialExpressionBlendShapePropertiesML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialExpressionBlendShapePropertiesML) - defined by [XR_ML_facial_expression](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_facial_expression)"]
23298 pub type GetFacialExpressionBlendShapePropertiesML = unsafe extern "system" fn(
23299 facial_expression_client: FacialExpressionClientML,
23300 blend_shape_get_info: *const FacialExpressionBlendShapeGetInfoML,
23301 blend_shape_count: u32,
23302 blend_shapes: *mut FacialExpressionBlendShapePropertiesML,
23303 ) -> Result;
23304 #[doc = "See [xrLocateSpaces](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpaces)"]
23305 pub type LocateSpaces = unsafe extern "system" fn(
23306 session: Session,
23307 locate_info: *const SpacesLocateInfo,
23308 space_locations: *mut SpaceLocations,
23309 ) -> Result;
23310 #[doc = "See [xrEnumerateSpatialCapabilitiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilitiesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23311 pub type EnumerateSpatialCapabilitiesEXT = unsafe extern "system" fn(
23312 instance: Instance,
23313 system_id: SystemId,
23314 capability_capacity_input: u32,
23315 capability_count_output: *mut u32,
23316 capabilities: *mut SpatialCapabilityEXT,
23317 ) -> Result;
23318 #[doc = "See [xrEnumerateSpatialCapabilityComponentTypesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilityComponentTypesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23319 pub type EnumerateSpatialCapabilityComponentTypesEXT = unsafe extern "system" fn(
23320 instance: Instance,
23321 system_id: SystemId,
23322 capability: SpatialCapabilityEXT,
23323 capability_components: *mut SpatialCapabilityComponentTypesEXT,
23324 ) -> Result;
23325 #[doc = "See [xrEnumerateSpatialCapabilityFeaturesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialCapabilityFeaturesEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23326 pub type EnumerateSpatialCapabilityFeaturesEXT = unsafe extern "system" fn(
23327 instance: Instance,
23328 system_id: SystemId,
23329 capability: SpatialCapabilityEXT,
23330 capability_feature_capacity_input: u32,
23331 capability_feature_count_output: *mut u32,
23332 capability_features: *mut SpatialCapabilityFeatureEXT,
23333 ) -> Result;
23334 #[doc = "See [xrCreateSpatialContextAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialContextAsyncEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23335 pub type CreateSpatialContextAsyncEXT = unsafe extern "system" fn(
23336 session: Session,
23337 create_info: *const SpatialContextCreateInfoEXT,
23338 future: *mut FutureEXT,
23339 ) -> Result;
23340 #[doc = "See [xrCreateSpatialContextCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialContextCompleteEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23341 pub type CreateSpatialContextCompleteEXT = unsafe extern "system" fn(
23342 session: Session,
23343 future: FutureEXT,
23344 completion: *mut CreateSpatialContextCompletionEXT,
23345 ) -> Result;
23346 #[doc = "See [xrDestroySpatialContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialContextEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23347 pub type DestroySpatialContextEXT =
23348 unsafe extern "system" fn(spatial_context: SpatialContextEXT) -> Result;
23349 #[doc = "See [xrCreateSpatialDiscoverySnapshotAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialDiscoverySnapshotAsyncEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23350 pub type CreateSpatialDiscoverySnapshotAsyncEXT = unsafe extern "system" fn(
23351 spatial_context: SpatialContextEXT,
23352 create_info: *const SpatialDiscoverySnapshotCreateInfoEXT,
23353 future: *mut FutureEXT,
23354 ) -> Result;
23355 #[doc = "See [xrCreateSpatialDiscoverySnapshotCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialDiscoverySnapshotCompleteEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23356 pub type CreateSpatialDiscoverySnapshotCompleteEXT = unsafe extern "system" fn(
23357 spatial_context: SpatialContextEXT,
23358 create_snapshot_completion_info: *const CreateSpatialDiscoverySnapshotCompletionInfoEXT,
23359 completion: *mut CreateSpatialDiscoverySnapshotCompletionEXT,
23360 ) -> Result;
23361 #[doc = "See [xrQuerySpatialComponentDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialComponentDataEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23362 pub type QuerySpatialComponentDataEXT = unsafe extern "system" fn(
23363 snapshot: SpatialSnapshotEXT,
23364 query_condition: *const SpatialComponentDataQueryConditionEXT,
23365 query_result: *mut SpatialComponentDataQueryResultEXT,
23366 ) -> Result;
23367 #[doc = "See [xrDestroySpatialSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialSnapshotEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23368 pub type DestroySpatialSnapshotEXT =
23369 unsafe extern "system" fn(snapshot: SpatialSnapshotEXT) -> Result;
23370 #[doc = "See [xrCreateSpatialEntityFromIdEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialEntityFromIdEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23371 pub type CreateSpatialEntityFromIdEXT = unsafe extern "system" fn(
23372 spatial_context: SpatialContextEXT,
23373 create_info: *const SpatialEntityFromIdCreateInfoEXT,
23374 spatial_entity: *mut SpatialEntityEXT,
23375 ) -> Result;
23376 #[doc = "See [xrDestroySpatialEntityEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialEntityEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23377 pub type DestroySpatialEntityEXT =
23378 unsafe extern "system" fn(spatial_entity: SpatialEntityEXT) -> Result;
23379 #[doc = "See [xrCreateSpatialUpdateSnapshotEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialUpdateSnapshotEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23380 pub type CreateSpatialUpdateSnapshotEXT = unsafe extern "system" fn(
23381 spatial_context: SpatialContextEXT,
23382 create_info: *const SpatialUpdateSnapshotCreateInfoEXT,
23383 snapshot: *mut SpatialSnapshotEXT,
23384 ) -> Result;
23385 #[doc = "See [xrGetSpatialBufferStringEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferStringEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23386 pub type GetSpatialBufferStringEXT = unsafe extern "system" fn(
23387 snapshot: SpatialSnapshotEXT,
23388 info: *const SpatialBufferGetInfoEXT,
23389 buffer_capacity_input: u32,
23390 buffer_count_output: *mut u32,
23391 buffer: *mut c_char,
23392 ) -> Result;
23393 #[doc = "See [xrGetSpatialBufferUint8EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint8EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23394 pub type GetSpatialBufferUint8EXT = unsafe extern "system" fn(
23395 snapshot: SpatialSnapshotEXT,
23396 info: *const SpatialBufferGetInfoEXT,
23397 buffer_capacity_input: u32,
23398 buffer_count_output: *mut u32,
23399 buffer: *mut u8,
23400 ) -> Result;
23401 #[doc = "See [xrGetSpatialBufferUint16EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint16EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23402 pub type GetSpatialBufferUint16EXT = unsafe extern "system" fn(
23403 snapshot: SpatialSnapshotEXT,
23404 info: *const SpatialBufferGetInfoEXT,
23405 buffer_capacity_input: u32,
23406 buffer_count_output: *mut u32,
23407 buffer: *mut u16,
23408 ) -> Result;
23409 #[doc = "See [xrGetSpatialBufferUint32EXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferUint32EXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23410 pub type GetSpatialBufferUint32EXT = unsafe extern "system" fn(
23411 snapshot: SpatialSnapshotEXT,
23412 info: *const SpatialBufferGetInfoEXT,
23413 buffer_capacity_input: u32,
23414 buffer_count_output: *mut u32,
23415 buffer: *mut u32,
23416 ) -> Result;
23417 #[doc = "See [xrGetSpatialBufferFloatEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferFloatEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23418 pub type GetSpatialBufferFloatEXT = unsafe extern "system" fn(
23419 snapshot: SpatialSnapshotEXT,
23420 info: *const SpatialBufferGetInfoEXT,
23421 buffer_capacity_input: u32,
23422 buffer_count_output: *mut u32,
23423 buffer: *mut f32,
23424 ) -> Result;
23425 #[doc = "See [xrGetSpatialBufferVector2fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferVector2fEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23426 pub type GetSpatialBufferVector2fEXT = unsafe extern "system" fn(
23427 snapshot: SpatialSnapshotEXT,
23428 info: *const SpatialBufferGetInfoEXT,
23429 buffer_capacity_input: u32,
23430 buffer_count_output: *mut u32,
23431 buffer: *mut Vector2f,
23432 ) -> Result;
23433 #[doc = "See [xrGetSpatialBufferVector3fEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialBufferVector3fEXT) - defined by [XR_EXT_spatial_entity](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_entity)"]
23434 pub type GetSpatialBufferVector3fEXT = unsafe extern "system" fn(
23435 snapshot: SpatialSnapshotEXT,
23436 info: *const SpatialBufferGetInfoEXT,
23437 buffer_capacity_input: u32,
23438 buffer_count_output: *mut u32,
23439 buffer: *mut Vector3f,
23440 ) -> Result;
23441 #[doc = "See [xrCreateSpatialAnchorEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorEXT) - defined by [XR_EXT_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_anchor)"]
23442 pub type CreateSpatialAnchorEXT = unsafe extern "system" fn(
23443 spatial_context: SpatialContextEXT,
23444 create_info: *const SpatialAnchorCreateInfoEXT,
23445 anchor_entity_id: *mut SpatialEntityIdEXT,
23446 anchor_entity: *mut SpatialEntityEXT,
23447 ) -> Result;
23448 #[doc = "See [xrEnumerateSpatialPersistenceScopesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialPersistenceScopesEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
23449 pub type EnumerateSpatialPersistenceScopesEXT = unsafe extern "system" fn(
23450 instance: Instance,
23451 system_id: SystemId,
23452 persistence_scope_capacity_input: u32,
23453 persistence_scope_count_output: *mut u32,
23454 persistence_scopes: *mut SpatialPersistenceScopeEXT,
23455 ) -> Result;
23456 #[doc = "See [xrCreateSpatialPersistenceContextAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialPersistenceContextAsyncEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
23457 pub type CreateSpatialPersistenceContextAsyncEXT = unsafe extern "system" fn(
23458 session: Session,
23459 create_info: *const SpatialPersistenceContextCreateInfoEXT,
23460 future: *mut FutureEXT,
23461 ) -> Result;
23462 #[doc = "See [xrCreateSpatialPersistenceContextCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialPersistenceContextCompleteEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
23463 pub type CreateSpatialPersistenceContextCompleteEXT = unsafe extern "system" fn(
23464 session: Session,
23465 future: FutureEXT,
23466 completion: *mut CreateSpatialPersistenceContextCompletionEXT,
23467 ) -> Result;
23468 #[doc = "See [xrDestroySpatialPersistenceContextEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialPersistenceContextEXT) - defined by [XR_EXT_spatial_persistence](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence)"]
23469 pub type DestroySpatialPersistenceContextEXT =
23470 unsafe extern "system" fn(persistence_context: SpatialPersistenceContextEXT) -> Result;
23471 #[doc = "See [xrPersistSpatialEntityAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialEntityAsyncEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
23472 pub type PersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
23473 persistence_context: SpatialPersistenceContextEXT,
23474 persist_info: *const SpatialEntityPersistInfoEXT,
23475 future: *mut FutureEXT,
23476 ) -> Result;
23477 #[doc = "See [xrPersistSpatialEntityCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialEntityCompleteEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
23478 pub type PersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
23479 persistence_context: SpatialPersistenceContextEXT,
23480 future: FutureEXT,
23481 completion: *mut PersistSpatialEntityCompletionEXT,
23482 ) -> Result;
23483 #[doc = "See [xrUnpersistSpatialEntityAsyncEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialEntityAsyncEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
23484 pub type UnpersistSpatialEntityAsyncEXT = unsafe extern "system" fn(
23485 persistence_context: SpatialPersistenceContextEXT,
23486 unpersist_info: *const SpatialEntityUnpersistInfoEXT,
23487 future: *mut FutureEXT,
23488 ) -> Result;
23489 #[doc = "See [xrUnpersistSpatialEntityCompleteEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialEntityCompleteEXT) - defined by [XR_EXT_spatial_persistence_operations](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_spatial_persistence_operations)"]
23490 pub type UnpersistSpatialEntityCompleteEXT = unsafe extern "system" fn(
23491 persistence_context: SpatialPersistenceContextEXT,
23492 future: FutureEXT,
23493 completion: *mut UnpersistSpatialEntityCompletionEXT,
23494 ) -> Result;
23495 #[doc = "See [xrSetSystemNotificationsML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetSystemNotificationsML) - defined by [XR_ML_system_notifications](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_system_notifications)"]
23496 pub type SetSystemNotificationsML = unsafe extern "system" fn(
23497 instance: Instance,
23498 info: *const SystemNotificationsSetInfoML,
23499 ) -> Result;
23500 #[doc = "See [xrCreateSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
23501 pub type CreateSpatialAnchorsAsyncML = unsafe extern "system" fn(
23502 session: Session,
23503 create_info: *const SpatialAnchorsCreateInfoBaseHeaderML,
23504 future: *mut FutureEXT,
23505 ) -> Result;
23506 #[doc = "See [xrCreateSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
23507 pub type CreateSpatialAnchorsCompleteML = unsafe extern "system" fn(
23508 session: Session,
23509 future: FutureEXT,
23510 completion: *mut CreateSpatialAnchorsCompletionML,
23511 ) -> Result;
23512 #[doc = "See [xrGetSpatialAnchorStateML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialAnchorStateML) - defined by [XR_ML_spatial_anchors](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors)"]
23513 pub type GetSpatialAnchorStateML =
23514 unsafe extern "system" fn(anchor: Space, state: *mut SpatialAnchorStateML) -> Result;
23515 #[doc = "See [xrCreateSpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorsStorageML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23516 pub type CreateSpatialAnchorsStorageML = unsafe extern "system" fn(
23517 session: Session,
23518 create_info: *const SpatialAnchorsCreateStorageInfoML,
23519 storage: *mut SpatialAnchorsStorageML,
23520 ) -> Result;
23521 #[doc = "See [xrDestroySpatialAnchorsStorageML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAnchorsStorageML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23522 pub type DestroySpatialAnchorsStorageML =
23523 unsafe extern "system" fn(storage: SpatialAnchorsStorageML) -> Result;
23524 #[doc = "See [xrQuerySpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23525 pub type QuerySpatialAnchorsAsyncML = unsafe extern "system" fn(
23526 storage: SpatialAnchorsStorageML,
23527 query_info: *const SpatialAnchorsQueryInfoBaseHeaderML,
23528 future: *mut FutureEXT,
23529 ) -> Result;
23530 #[doc = "See [xrQuerySpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23531 pub type QuerySpatialAnchorsCompleteML = unsafe extern "system" fn(
23532 storage: SpatialAnchorsStorageML,
23533 future: FutureEXT,
23534 completion: *mut SpatialAnchorsQueryCompletionML,
23535 ) -> Result;
23536 #[doc = "See [xrPublishSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPublishSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23537 pub type PublishSpatialAnchorsAsyncML = unsafe extern "system" fn(
23538 storage: SpatialAnchorsStorageML,
23539 publish_info: *const SpatialAnchorsPublishInfoML,
23540 future: *mut FutureEXT,
23541 ) -> Result;
23542 #[doc = "See [xrPublishSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPublishSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23543 pub type PublishSpatialAnchorsCompleteML = unsafe extern "system" fn(
23544 storage: SpatialAnchorsStorageML,
23545 future: FutureEXT,
23546 completion: *mut SpatialAnchorsPublishCompletionML,
23547 ) -> Result;
23548 #[doc = "See [xrDeleteSpatialAnchorsAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDeleteSpatialAnchorsAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23549 pub type DeleteSpatialAnchorsAsyncML = unsafe extern "system" fn(
23550 storage: SpatialAnchorsStorageML,
23551 delete_info: *const SpatialAnchorsDeleteInfoML,
23552 future: *mut FutureEXT,
23553 ) -> Result;
23554 #[doc = "See [xrDeleteSpatialAnchorsCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDeleteSpatialAnchorsCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23555 pub type DeleteSpatialAnchorsCompleteML = unsafe extern "system" fn(
23556 storage: SpatialAnchorsStorageML,
23557 future: FutureEXT,
23558 completion: *mut SpatialAnchorsDeleteCompletionML,
23559 ) -> Result;
23560 #[doc = "See [xrUpdateSpatialAnchorsExpirationAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSpatialAnchorsExpirationAsyncML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23561 pub type UpdateSpatialAnchorsExpirationAsyncML = unsafe extern "system" fn(
23562 storage: SpatialAnchorsStorageML,
23563 update_info: *const SpatialAnchorsUpdateExpirationInfoML,
23564 future: *mut FutureEXT,
23565 ) -> Result;
23566 #[doc = "See [xrUpdateSpatialAnchorsExpirationCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSpatialAnchorsExpirationCompleteML) - defined by [XR_ML_spatial_anchors_storage](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_spatial_anchors_storage)"]
23567 pub type UpdateSpatialAnchorsExpirationCompleteML = unsafe extern "system" fn(
23568 storage: SpatialAnchorsStorageML,
23569 future: FutureEXT,
23570 completion: *mut SpatialAnchorsUpdateExpirationCompletionML,
23571 ) -> Result;
23572 #[doc = "See [xrCreateWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateWorldMeshDetectorML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23573 pub type CreateWorldMeshDetectorML = unsafe extern "system" fn(
23574 session: Session,
23575 create_info: *const WorldMeshDetectorCreateInfoML,
23576 detector: *mut WorldMeshDetectorML,
23577 ) -> Result;
23578 #[doc = "See [xrDestroyWorldMeshDetectorML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyWorldMeshDetectorML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23579 pub type DestroyWorldMeshDetectorML =
23580 unsafe extern "system" fn(detector: WorldMeshDetectorML) -> Result;
23581 #[doc = "See [xrRequestWorldMeshStateAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshStateAsyncML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23582 pub type RequestWorldMeshStateAsyncML = unsafe extern "system" fn(
23583 detector: WorldMeshDetectorML,
23584 state_request: *const WorldMeshStateRequestInfoML,
23585 future: *mut FutureEXT,
23586 ) -> Result;
23587 #[doc = "See [xrRequestWorldMeshStateCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshStateCompleteML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23588 pub type RequestWorldMeshStateCompleteML = unsafe extern "system" fn(
23589 detector: WorldMeshDetectorML,
23590 future: FutureEXT,
23591 completion: *mut WorldMeshStateRequestCompletionML,
23592 ) -> Result;
23593 #[doc = "See [xrGetWorldMeshBufferRecommendSizeML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetWorldMeshBufferRecommendSizeML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23594 pub type GetWorldMeshBufferRecommendSizeML = unsafe extern "system" fn(
23595 detector: WorldMeshDetectorML,
23596 size_info: *const WorldMeshBufferRecommendedSizeInfoML,
23597 size: *mut WorldMeshBufferSizeML,
23598 ) -> Result;
23599 #[doc = "See [xrAllocateWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAllocateWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23600 pub type AllocateWorldMeshBufferML = unsafe extern "system" fn(
23601 detector: WorldMeshDetectorML,
23602 size: *const WorldMeshBufferSizeML,
23603 buffer: *mut WorldMeshBufferML,
23604 ) -> Result;
23605 #[doc = "See [xrFreeWorldMeshBufferML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrFreeWorldMeshBufferML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23606 pub type FreeWorldMeshBufferML = unsafe extern "system" fn(
23607 detector: WorldMeshDetectorML,
23608 buffer: *const WorldMeshBufferML,
23609 ) -> Result;
23610 #[doc = "See [xrRequestWorldMeshAsyncML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshAsyncML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23611 pub type RequestWorldMeshAsyncML = unsafe extern "system" fn(
23612 detector: WorldMeshDetectorML,
23613 get_info: *const WorldMeshGetInfoML,
23614 buffer: *mut WorldMeshBufferML,
23615 future: *mut FutureEXT,
23616 ) -> Result;
23617 #[doc = "See [xrRequestWorldMeshCompleteML](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRequestWorldMeshCompleteML) - defined by [XR_ML_world_mesh_detection](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ML_world_mesh_detection)"]
23618 pub type RequestWorldMeshCompleteML = unsafe extern "system" fn(
23619 detector: WorldMeshDetectorML,
23620 completion_info: *const WorldMeshRequestCompletionInfoML,
23621 future: FutureEXT,
23622 completion: *mut WorldMeshRequestCompletionML,
23623 ) -> Result;
23624 #[doc = "See [xrCreateRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23625 pub type CreateRenderModelEXT = unsafe extern "system" fn(
23626 session: Session,
23627 create_info: *const RenderModelCreateInfoEXT,
23628 render_model: *mut RenderModelEXT,
23629 ) -> Result;
23630 #[doc = "See [xrDestroyRenderModelEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyRenderModelEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23631 pub type DestroyRenderModelEXT =
23632 unsafe extern "system" fn(render_model: RenderModelEXT) -> Result;
23633 #[doc = "See [xrGetRenderModelPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23634 pub type GetRenderModelPropertiesEXT = unsafe extern "system" fn(
23635 render_model: RenderModelEXT,
23636 get_info: *const RenderModelPropertiesGetInfoEXT,
23637 properties: *mut RenderModelPropertiesEXT,
23638 ) -> Result;
23639 #[doc = "See [xrCreateRenderModelSpaceEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelSpaceEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23640 pub type CreateRenderModelSpaceEXT = unsafe extern "system" fn(
23641 session: Session,
23642 create_info: *const RenderModelSpaceCreateInfoEXT,
23643 space: *mut Space,
23644 ) -> Result;
23645 #[doc = "See [xrCreateRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateRenderModelAssetEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23646 pub type CreateRenderModelAssetEXT = unsafe extern "system" fn(
23647 session: Session,
23648 create_info: *const RenderModelAssetCreateInfoEXT,
23649 asset: *mut RenderModelAssetEXT,
23650 ) -> Result;
23651 #[doc = "See [xrDestroyRenderModelAssetEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyRenderModelAssetEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23652 pub type DestroyRenderModelAssetEXT =
23653 unsafe extern "system" fn(asset: RenderModelAssetEXT) -> Result;
23654 #[doc = "See [xrGetRenderModelAssetDataEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelAssetDataEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23655 pub type GetRenderModelAssetDataEXT = unsafe extern "system" fn(
23656 asset: RenderModelAssetEXT,
23657 get_info: *const RenderModelAssetDataGetInfoEXT,
23658 buffer: *mut RenderModelAssetDataEXT,
23659 ) -> Result;
23660 #[doc = "See [xrGetRenderModelAssetPropertiesEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelAssetPropertiesEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23661 pub type GetRenderModelAssetPropertiesEXT = unsafe extern "system" fn(
23662 asset: RenderModelAssetEXT,
23663 get_info: *const RenderModelAssetPropertiesGetInfoEXT,
23664 properties: *mut RenderModelAssetPropertiesEXT,
23665 ) -> Result;
23666 #[doc = "See [xrGetRenderModelStateEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelStateEXT) - defined by [XR_EXT_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_render_model)"]
23667 pub type GetRenderModelStateEXT = unsafe extern "system" fn(
23668 render_model: RenderModelEXT,
23669 get_info: *const RenderModelStateGetInfoEXT,
23670 state: *mut RenderModelStateEXT,
23671 ) -> Result;
23672 #[doc = "See [xrEnumerateInteractionRenderModelIdsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateInteractionRenderModelIdsEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
23673 pub type EnumerateInteractionRenderModelIdsEXT = unsafe extern "system" fn(
23674 session: Session,
23675 get_info: *const InteractionRenderModelIdsEnumerateInfoEXT,
23676 render_model_id_capacity_input: u32,
23677 render_model_id_count_output: *mut u32,
23678 render_model_ids: *mut RenderModelIdEXT,
23679 ) -> Result;
23680 #[doc = "See [xrEnumerateRenderModelSubactionPathsEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateRenderModelSubactionPathsEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
23681 pub type EnumerateRenderModelSubactionPathsEXT = unsafe extern "system" fn(
23682 render_model: RenderModelEXT,
23683 info: *const InteractionRenderModelSubactionPathInfoEXT,
23684 path_capacity_input: u32,
23685 path_count_output: *mut u32,
23686 paths: *mut Path,
23687 ) -> Result;
23688 #[doc = "See [xrGetRenderModelPoseTopLevelUserPathEXT](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetRenderModelPoseTopLevelUserPathEXT) - defined by [XR_EXT_interaction_render_model](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_EXT_interaction_render_model)"]
23689 pub type GetRenderModelPoseTopLevelUserPathEXT = unsafe extern "system" fn(
23690 render_model: RenderModelEXT,
23691 info: *const InteractionRenderModelTopLevelUserPathGetInfoEXT,
23692 top_level_user_path: *mut Path,
23693 ) -> Result;
23694 #[doc = "See [xrEnumerateSupportedAudioSampleRateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSupportedAudioSampleRateBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23695 pub type EnumerateSupportedAudioSampleRateBD = unsafe extern "system" fn(
23696 session: Session,
23697 sample_rate_capacity_input: u32,
23698 sample_rate_count_output: *mut u32,
23699 sample_rates: *mut AudioSampleRateBD,
23700 ) -> Result;
23701 #[doc = "See [xrQueryFramesPerBufferRangeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQueryFramesPerBufferRangeBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23702 pub type QueryFramesPerBufferRangeBD = unsafe extern "system" fn(
23703 session: Session,
23704 sample_rate: AudioSampleRateBD,
23705 min: *mut u32,
23706 max: *mut u32,
23707 ) -> Result;
23708 #[doc = "See [xrCreateSpatialAudioRendererBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAudioRendererBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23709 pub type CreateSpatialAudioRendererBD = unsafe extern "system" fn(
23710 session: Session,
23711 create_info: *const SpatialAudioRendererCreateInfoBD,
23712 renderer: *mut SpatialAudioRendererBD,
23713 ) -> Result;
23714 #[doc = "See [xrDestroySpatialAudioRendererBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySpatialAudioRendererBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23715 pub type DestroySpatialAudioRendererBD =
23716 unsafe extern "system" fn(renderer: SpatialAudioRendererBD) -> Result;
23717 #[doc = "See [xrCreateSoundObstacleMaterialBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundObstacleMaterialBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23718 pub type CreateSoundObstacleMaterialBD = unsafe extern "system" fn(
23719 renderer: SpatialAudioRendererBD,
23720 config: *const SoundObstacleMaterialConfigBD,
23721 material: *mut SoundObstacleMaterialBD,
23722 ) -> Result;
23723 #[doc = "See [xrUpdateSoundObstacleMaterialConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundObstacleMaterialConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23724 pub type UpdateSoundObstacleMaterialConfigBD = unsafe extern "system" fn(
23725 material: SoundObstacleMaterialBD,
23726 config: *const SoundObstacleMaterialConfigBD,
23727 ) -> Result;
23728 #[doc = "See [xrDestroySoundObstacleMaterialBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundObstacleMaterialBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23729 pub type DestroySoundObstacleMaterialBD =
23730 unsafe extern "system" fn(material: SoundObstacleMaterialBD) -> Result;
23731 #[doc = "See [xrCreateSoundObstacleBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundObstacleBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23732 pub type CreateSoundObstacleBD = unsafe extern "system" fn(
23733 renderer: SpatialAudioRendererBD,
23734 config: *const SoundObstacleConfigBD,
23735 mesh: *const SoundTriangleMeshBD,
23736 sound_obstacle: *mut SoundObstacleBD,
23737 ) -> Result;
23738 #[doc = "See [xrUpdateSoundObstacleConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundObstacleConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23739 pub type UpdateSoundObstacleConfigBD = unsafe extern "system" fn(
23740 sound_obstacle: SoundObstacleBD,
23741 config: *const SoundObstacleConfigBD,
23742 mesh: *const SoundTriangleMeshBD,
23743 flags: SoundObstacleFlagsBD,
23744 ) -> Result;
23745 #[doc = "See [xrDestroySoundObstacleBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundObstacleBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23746 pub type DestroySoundObstacleBD =
23747 unsafe extern "system" fn(sound_obstacle: SoundObstacleBD) -> Result;
23748 #[doc = "See [xrCreateSoundObjectBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundObjectBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23749 pub type CreateSoundObjectBD = unsafe extern "system" fn(
23750 renderer: SpatialAudioRendererBD,
23751 config: *const SoundObjectConfigBD,
23752 sound_object: *mut SoundObjectBD,
23753 ) -> Result;
23754 #[doc = "See [xrUpdateSoundObjectConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundObjectConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23755 pub type UpdateSoundObjectConfigBD = unsafe extern "system" fn(
23756 sound_object: SoundObjectBD,
23757 config: *const SoundObjectConfigBD,
23758 flags: SoundObjectFlagsBD,
23759 ) -> Result;
23760 #[doc = "See [xrSubmitSoundObjectBufferBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSubmitSoundObjectBufferBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23761 pub type SubmitSoundObjectBufferBD = unsafe extern "system" fn(
23762 sound_object: SoundObjectBD,
23763 buffer: *const AudioBufferBD,
23764 ) -> Result;
23765 #[doc = "See [xrDestroySoundObjectBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundObjectBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23766 pub type DestroySoundObjectBD =
23767 unsafe extern "system" fn(sound_object: SoundObjectBD) -> Result;
23768 #[doc = "See [xrCreateSoundFieldBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSoundFieldBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23769 pub type CreateSoundFieldBD = unsafe extern "system" fn(
23770 renderer: SpatialAudioRendererBD,
23771 config: *const SoundFieldConfigBD,
23772 sound_field: *mut SoundFieldBD,
23773 ) -> Result;
23774 #[doc = "See [xrUpdateSoundFieldConfigBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUpdateSoundFieldConfigBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23775 pub type UpdateSoundFieldConfigBD = unsafe extern "system" fn(
23776 sound_field: SoundFieldBD,
23777 config: *const SoundFieldConfigBD,
23778 flags: SoundFieldFlagsBD,
23779 ) -> Result;
23780 #[doc = "See [xrSubmitSoundFieldBufferBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSubmitSoundFieldBufferBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23781 pub type SubmitSoundFieldBufferBD = unsafe extern "system" fn(
23782 sound_field: SoundFieldBD,
23783 buffer: *const AudioBufferBD,
23784 ) -> Result;
23785 #[doc = "See [xrDestroySoundFieldBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySoundFieldBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23786 pub type DestroySoundFieldBD = unsafe extern "system" fn(sound_field: SoundFieldBD) -> Result;
23787 #[doc = "See [xrWaitAudioPeriodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrWaitAudioPeriodBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23788 pub type WaitAudioPeriodBD =
23789 unsafe extern "system" fn(renderer: SpatialAudioRendererBD, timeout: Duration) -> Result;
23790 #[doc = "See [xrEndAudioPeriodBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEndAudioPeriodBD) - defined by [XR_BD_spatial_audio_rendering](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_audio_rendering)"]
23791 pub type EndAudioPeriodBD =
23792 unsafe extern "system" fn(renderer: SpatialAudioRendererBD) -> Result;
23793 #[doc = "See [xrGetSpatialEntityUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialEntityUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23794 pub type GetSpatialEntityUuidBD = unsafe extern "system" fn(
23795 snapshot: SenseDataSnapshotBD,
23796 entity_id: SpatialEntityIdBD,
23797 uuid: *mut UuidEXT,
23798 ) -> Result;
23799 #[doc = "See [xrEnumerateSpatialEntityComponentTypesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialEntityComponentTypesBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23800 pub type EnumerateSpatialEntityComponentTypesBD = unsafe extern "system" fn(
23801 snapshot: SenseDataSnapshotBD,
23802 entity_id: SpatialEntityIdBD,
23803 component_type_capacity_input: u32,
23804 component_type_count_output: *mut u32,
23805 component_types: *mut SpatialEntityComponentTypeBD,
23806 ) -> Result;
23807 #[doc = "See [xrGetSpatialEntityComponentDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSpatialEntityComponentDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23808 pub type GetSpatialEntityComponentDataBD = unsafe extern "system" fn(
23809 snapshot: SenseDataSnapshotBD,
23810 get_info: *const SpatialEntityComponentGetInfoBD,
23811 component_data: *mut SpatialEntityComponentDataBaseHeaderBD,
23812 ) -> Result;
23813 #[doc = "See [xrCreateSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23814 pub type CreateSenseDataProviderBD = unsafe extern "system" fn(
23815 session: Session,
23816 create_info: *const SenseDataProviderCreateInfoBD,
23817 provider: *mut SenseDataProviderBD,
23818 ) -> Result;
23819 #[doc = "See [xrStartSenseDataProviderAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartSenseDataProviderAsyncBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23820 pub type StartSenseDataProviderAsyncBD = unsafe extern "system" fn(
23821 provider: SenseDataProviderBD,
23822 start_info: *const SenseDataProviderStartInfoBD,
23823 future: *mut FutureEXT,
23824 ) -> Result;
23825 #[doc = "See [xrStartSenseDataProviderCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStartSenseDataProviderCompleteBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23826 pub type StartSenseDataProviderCompleteBD = unsafe extern "system" fn(
23827 session: Session,
23828 future: FutureEXT,
23829 completion: *mut FutureCompletionEXT,
23830 ) -> Result;
23831 #[doc = "See [xrGetSenseDataProviderStateBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetSenseDataProviderStateBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23832 pub type GetSenseDataProviderStateBD = unsafe extern "system" fn(
23833 provider: SenseDataProviderBD,
23834 state: *mut SenseDataProviderStateBD,
23835 ) -> Result;
23836 #[doc = "See [xrQuerySenseDataAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySenseDataAsyncBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23837 pub type QuerySenseDataAsyncBD = unsafe extern "system" fn(
23838 provider: SenseDataProviderBD,
23839 query_info: *const SenseDataQueryInfoBD,
23840 future: *mut FutureEXT,
23841 ) -> Result;
23842 #[doc = "See [xrQuerySenseDataCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrQuerySenseDataCompleteBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23843 pub type QuerySenseDataCompleteBD = unsafe extern "system" fn(
23844 provider: SenseDataProviderBD,
23845 future: FutureEXT,
23846 completion: *mut SenseDataQueryCompletionBD,
23847 ) -> Result;
23848 #[doc = "See [xrDestroySenseDataSnapshotBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySenseDataSnapshotBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23849 pub type DestroySenseDataSnapshotBD =
23850 unsafe extern "system" fn(snapshot: SenseDataSnapshotBD) -> Result;
23851 #[doc = "See [xrGetQueriedSenseDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetQueriedSenseDataBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23852 pub type GetQueriedSenseDataBD = unsafe extern "system" fn(
23853 snapshot: SenseDataSnapshotBD,
23854 get_info: *mut QueriedSenseDataGetInfoBD,
23855 queried_sense_data: *mut QueriedSenseDataBD,
23856 ) -> Result;
23857 #[doc = "See [xrStopSenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrStopSenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23858 pub type StopSenseDataProviderBD =
23859 unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
23860 #[doc = "See [xrDestroySenseDataProviderBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroySenseDataProviderBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23861 pub type DestroySenseDataProviderBD =
23862 unsafe extern "system" fn(provider: SenseDataProviderBD) -> Result;
23863 #[doc = "See [xrCreateSpatialEntityAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialEntityAnchorBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23864 pub type CreateSpatialEntityAnchorBD = unsafe extern "system" fn(
23865 provider: SenseDataProviderBD,
23866 create_info: *const SpatialEntityAnchorCreateInfoBD,
23867 anchor: *mut AnchorBD,
23868 ) -> Result;
23869 #[doc = "See [xrDestroyAnchorBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyAnchorBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23870 pub type DestroyAnchorBD = unsafe extern "system" fn(anchor: AnchorBD) -> Result;
23871 #[doc = "See [xrGetAnchorUuidBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetAnchorUuidBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23872 pub type GetAnchorUuidBD =
23873 unsafe extern "system" fn(anchor: AnchorBD, uuid: *mut UuidEXT) -> Result;
23874 #[doc = "See [xrCreateAnchorSpaceBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateAnchorSpaceBD) - defined by [XR_BD_spatial_sensing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_sensing)"]
23875 pub type CreateAnchorSpaceBD = unsafe extern "system" fn(
23876 session: Session,
23877 create_info: *const AnchorSpaceCreateInfoBD,
23878 space: *mut Space,
23879 ) -> Result;
23880 #[doc = "See [xrCreateSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
23881 pub type CreateSpatialAnchorAsyncBD = unsafe extern "system" fn(
23882 provider: SenseDataProviderBD,
23883 info: *const SpatialAnchorCreateInfoBD,
23884 future: *mut FutureEXT,
23885 ) -> Result;
23886 #[doc = "See [xrCreateSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
23887 pub type CreateSpatialAnchorCompleteBD = unsafe extern "system" fn(
23888 provider: SenseDataProviderBD,
23889 future: FutureEXT,
23890 completion: *mut SpatialAnchorCreateCompletionBD,
23891 ) -> Result;
23892 #[doc = "See [xrPersistSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
23893 pub type PersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
23894 provider: SenseDataProviderBD,
23895 info: *const SpatialAnchorPersistInfoBD,
23896 future: *mut FutureEXT,
23897 ) -> Result;
23898 #[doc = "See [xrPersistSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPersistSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
23899 pub type PersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
23900 provider: SenseDataProviderBD,
23901 future: FutureEXT,
23902 completion: *mut FutureCompletionEXT,
23903 ) -> Result;
23904 #[doc = "See [xrUnpersistSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
23905 pub type UnpersistSpatialAnchorAsyncBD = unsafe extern "system" fn(
23906 provider: SenseDataProviderBD,
23907 info: *const SpatialAnchorUnpersistInfoBD,
23908 future: *mut FutureEXT,
23909 ) -> Result;
23910 #[doc = "See [xrUnpersistSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrUnpersistSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor)"]
23911 pub type UnpersistSpatialAnchorCompleteBD = unsafe extern "system" fn(
23912 provider: SenseDataProviderBD,
23913 future: FutureEXT,
23914 completion: *mut FutureCompletionEXT,
23915 ) -> Result;
23916 #[doc = "See [xrShareSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
23917 pub type ShareSpatialAnchorAsyncBD = unsafe extern "system" fn(
23918 provider: SenseDataProviderBD,
23919 info: *const SpatialAnchorShareInfoBD,
23920 future: *mut FutureEXT,
23921 ) -> Result;
23922 #[doc = "See [xrShareSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrShareSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
23923 pub type ShareSpatialAnchorCompleteBD = unsafe extern "system" fn(
23924 provider: SenseDataProviderBD,
23925 future: FutureEXT,
23926 completion: *mut FutureCompletionEXT,
23927 ) -> Result;
23928 #[doc = "See [xrDownloadSharedSpatialAnchorAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDownloadSharedSpatialAnchorAsyncBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
23929 pub type DownloadSharedSpatialAnchorAsyncBD = unsafe extern "system" fn(
23930 provider: SenseDataProviderBD,
23931 info: *const SharedSpatialAnchorDownloadInfoBD,
23932 future: *mut FutureEXT,
23933 ) -> Result;
23934 #[doc = "See [xrDownloadSharedSpatialAnchorCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDownloadSharedSpatialAnchorCompleteBD) - defined by [XR_BD_spatial_anchor_sharing](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_anchor_sharing)"]
23935 pub type DownloadSharedSpatialAnchorCompleteBD = unsafe extern "system" fn(
23936 provider: SenseDataProviderBD,
23937 future: FutureEXT,
23938 completion: *mut FutureCompletionEXT,
23939 ) -> Result;
23940 #[doc = "See [xrCaptureSceneAsyncBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCaptureSceneAsyncBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
23941 pub type CaptureSceneAsyncBD = unsafe extern "system" fn(
23942 provider: SenseDataProviderBD,
23943 info: *const SceneCaptureInfoBD,
23944 future: *mut FutureEXT,
23945 ) -> Result;
23946 #[doc = "See [xrCaptureSceneCompleteBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCaptureSceneCompleteBD) - defined by [XR_BD_spatial_scene](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_spatial_scene)"]
23947 pub type CaptureSceneCompleteBD = unsafe extern "system" fn(
23948 provider: SenseDataProviderBD,
23949 future: FutureEXT,
23950 completion: *mut FutureCompletionEXT,
23951 ) -> Result;
23952 #[doc = "See [xrResumeSimultaneousHandsAndControllersTrackingMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrResumeSimultaneousHandsAndControllersTrackingMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
23953 pub type ResumeSimultaneousHandsAndControllersTrackingMETA =
23954 unsafe extern "system" fn(
23955 session: Session,
23956 resume_info: *const SimultaneousHandsAndControllersTrackingResumeInfoMETA,
23957 ) -> Result;
23958 #[doc = "See [xrPauseSimultaneousHandsAndControllersTrackingMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPauseSimultaneousHandsAndControllersTrackingMETA) - defined by [XR_META_simultaneous_hands_and_controllers](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_simultaneous_hands_and_controllers)"]
23959 pub type PauseSimultaneousHandsAndControllersTrackingMETA = unsafe extern "system" fn(
23960 session: Session,
23961 pause_info: *const SimultaneousHandsAndControllersTrackingPauseInfoMETA,
23962 )
23963 -> Result;
23964 #[doc = "See [xrEnumerateFacialSimulationModesBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateFacialSimulationModesBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
23965 pub type EnumerateFacialSimulationModesBD = unsafe extern "system" fn(
23966 session: Session,
23967 mode_capacity_input: u32,
23968 mode_count_output: *mut u32,
23969 modes: *mut FacialSimulationModeBD,
23970 ) -> Result;
23971 #[doc = "See [xrCreateFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateFaceTrackerBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
23972 pub type CreateFaceTrackerBD = unsafe extern "system" fn(
23973 session: Session,
23974 create_info: *const FaceTrackerCreateInfoBD,
23975 tracker: *mut FaceTrackerBD,
23976 ) -> Result;
23977 #[doc = "See [xrDestroyFaceTrackerBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyFaceTrackerBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
23978 pub type DestroyFaceTrackerBD = unsafe extern "system" fn(tracker: FaceTrackerBD) -> Result;
23979 #[doc = "See [xrGetFacialSimulationDataBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialSimulationDataBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
23980 pub type GetFacialSimulationDataBD = unsafe extern "system" fn(
23981 tracker: FaceTrackerBD,
23982 info: *const FacialSimulationDataGetInfoBD,
23983 facial_data: *mut FacialSimulationDataBD,
23984 ) -> Result;
23985 #[doc = "See [xrSetFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetFacialSimulationModeBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
23986 pub type SetFacialSimulationModeBD =
23987 unsafe extern "system" fn(tracker: FaceTrackerBD, mode: FacialSimulationModeBD) -> Result;
23988 #[doc = "See [xrGetFacialSimulationModeBD](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetFacialSimulationModeBD) - defined by [XR_BD_facial_simulation](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_BD_facial_simulation)"]
23989 pub type GetFacialSimulationModeBD = unsafe extern "system" fn(
23990 tracker: FaceTrackerBD,
23991 mode: *mut FacialSimulationModeBD,
23992 ) -> Result;
23993 #[cfg(target_os = "android")]
23994 #[doc = "See [xrCreateTrackableImageDatabaseAsyncANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTrackableImageDatabaseAsyncANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
23995 pub type CreateTrackableImageDatabaseAsyncANDROID = unsafe extern "system" fn(
23996 session: Session,
23997 create_info: *const TrackableImageDatabaseCreateInfoANDROID,
23998 future: *mut FutureEXT,
23999 ) -> Result;
24000 #[cfg(target_os = "android")]
24001 #[doc = "See [xrCreateTrackableImageDatabaseCompleteANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateTrackableImageDatabaseCompleteANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24002 pub type CreateTrackableImageDatabaseCompleteANDROID = unsafe extern "system" fn(
24003 session: Session,
24004 future: FutureEXT,
24005 completion: *mut CreateTrackableImageDatabaseCompletionANDROID,
24006 ) -> Result;
24007 #[cfg(target_os = "android")]
24008 #[doc = "See [xrDestroyTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyTrackableImageDatabaseANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24009 pub type DestroyTrackableImageDatabaseANDROID =
24010 unsafe extern "system" fn(database: TrackableImageDatabaseANDROID) -> Result;
24011 #[cfg(target_os = "android")]
24012 #[doc = "See [xrAddTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrAddTrackableImageDatabaseANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24013 pub type AddTrackableImageDatabaseANDROID = unsafe extern "system" fn(
24014 tracker: TrackableTrackerANDROID,
24015 database: TrackableImageDatabaseANDROID,
24016 ) -> Result;
24017 #[cfg(target_os = "android")]
24018 #[doc = "See [xrRemoveTrackableImageDatabaseANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrRemoveTrackableImageDatabaseANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24019 pub type RemoveTrackableImageDatabaseANDROID = unsafe extern "system" fn(
24020 tracker: TrackableTrackerANDROID,
24021 database: TrackableImageDatabaseANDROID,
24022 ) -> Result;
24023 #[cfg(target_os = "android")]
24024 #[doc = "See [xrGetTrackableImageANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetTrackableImageANDROID) - defined by [XR_ANDROID_trackables_image](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_trackables_image)"]
24025 pub type GetTrackableImageANDROID = unsafe extern "system" fn(
24026 tracker: TrackableTrackerANDROID,
24027 get_info: *const TrackableGetInfoANDROID,
24028 trackable: *mut TrackableImageANDROID,
24029 ) -> Result;
24030 #[cfg(target_os = "android")]
24031 #[doc = "See [xrEnumerateSpatialAnchorAttachableComponentsANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrEnumerateSpatialAnchorAttachableComponentsANDROID) - defined by [XR_ANDROID_spatial_entity_bound_anchor](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_entity_bound_anchor)"]
24032 pub type EnumerateSpatialAnchorAttachableComponentsANDROID =
24033 unsafe extern "system" fn(
24034 instance: Instance,
24035 system_id: SystemId,
24036 attachable_component_capacity_input: u32,
24037 attachable_component_count_output: *mut u32,
24038 attachable_components: *mut SpatialComponentTypeEXT,
24039 ) -> Result;
24040 #[cfg(target_os = "android")]
24041 #[doc = "See [xrCreateSpatialAnchorSpaceANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorSpaceANDROID) - defined by [XR_ANDROID_spatial_anchor_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_anchor_space)"]
24042 pub type CreateSpatialAnchorSpaceANDROID = unsafe extern "system" fn(
24043 session: Session,
24044 spatial_context: SpatialContextEXT,
24045 create_info: *const SpatialAnchorCreateInfoEXT,
24046 anchor_entity_id: *mut SpatialEntityIdEXT,
24047 anchor_space: *mut Space,
24048 ) -> Result;
24049 #[cfg(target_os = "android")]
24050 #[doc = "See [xrCreateSpatialAnchorSpaceFromIdANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialAnchorSpaceFromIdANDROID) - defined by [XR_ANDROID_spatial_anchor_space](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_anchor_space)"]
24051 pub type CreateSpatialAnchorSpaceFromIdANDROID = unsafe extern "system" fn(
24052 session: Session,
24053 spatial_context: SpatialContextEXT,
24054 create_info: *const SpatialAnchorSpaceFromIdCreateInfoANDROID,
24055 anchor_space: *mut Space,
24056 ) -> Result;
24057 #[doc = "See [xrSetTilePropertiesHintMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrSetTilePropertiesHintMETA) - defined by [XR_META_tile_properties_hint](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_tile_properties_hint)"]
24058 pub type SetTilePropertiesHintMETA = unsafe extern "system" fn(
24059 session: Session,
24060 properties: *const TilePropertiesHintMETA,
24061 ) -> Result;
24062 #[doc = "See [xrCreateEnvironmentRaycasterAsyncMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentRaycasterAsyncMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24063 pub type CreateEnvironmentRaycasterAsyncMETA = unsafe extern "system" fn(
24064 session: Session,
24065 info: *const EnvironmentRaycasterCreateInfoMETA,
24066 future: *mut FutureEXT,
24067 ) -> Result;
24068 #[doc = "See [xrCreateEnvironmentRaycasterCompleteMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateEnvironmentRaycasterCompleteMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24069 pub type CreateEnvironmentRaycasterCompleteMETA = unsafe extern "system" fn(
24070 session: Session,
24071 future: FutureEXT,
24072 completion: *mut EnvironmentRaycasterCreateCompletionMETA,
24073 ) -> Result;
24074 #[doc = "See [xrDestroyEnvironmentRaycasterMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrDestroyEnvironmentRaycasterMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24075 pub type DestroyEnvironmentRaycasterMETA =
24076 unsafe extern "system" fn(environment_raycaster: EnvironmentRaycasterMETA) -> Result;
24077 #[doc = "See [xrPerformEnvironmentRaycastMETA](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrPerformEnvironmentRaycastMETA) - defined by [XR_META_environment_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_META_environment_raycast)"]
24078 pub type PerformEnvironmentRaycastMETA = unsafe extern "system" fn(
24079 environment_raycaster: EnvironmentRaycasterMETA,
24080 info: *const EnvironmentRaycastHitGetInfoMETA,
24081 hit_point: *mut EnvironmentRaycastHitMETA,
24082 ) -> Result;
24083 #[cfg(target_os = "android")]
24084 #[doc = "See [xrCreateSpatialRaycastSnapshotANDROID](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrCreateSpatialRaycastSnapshotANDROID) - defined by [XR_ANDROID_spatial_discovery_raycast](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_ANDROID_spatial_discovery_raycast)"]
24085 pub type CreateSpatialRaycastSnapshotANDROID = unsafe extern "system" fn(
24086 spatial_context: SpatialContextEXT,
24087 create_info: *const SpatialRaycastSnapshotCreateInfoANDROID,
24088 snapshot: *mut SpatialSnapshotEXT,
24089 ) -> Result;
24090 #[doc = "See [xrGetHandGestureQCOM](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetHandGestureQCOM) - defined by [XR_QCOM_hand_tracking_gesture](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_QCOM_hand_tracking_gesture)"]
24091 pub type GetHandGestureQCOM = unsafe extern "system" fn(
24092 hand_tracker: HandTrackerEXT,
24093 time: Time,
24094 hand_gesture: *mut HandGestureQCOM,
24095 ) -> Result;
24096 #[doc = "See [xrGetVulkanGraphicsRequirements2KHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrGetVulkanGraphicsRequirements2KHR) - defined by [XR_KHR_vulkan_enable](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#XR_KHR_vulkan_enable)"]
24097 pub type GetVulkanGraphicsRequirements2KHR = unsafe extern "system" fn(
24098 instance: Instance,
24099 system_id: SystemId,
24100 graphics_requirements: *mut GraphicsRequirementsVulkanKHR,
24101 ) -> Result;
24102 #[doc = "See [xrLocateSpacesKHR](https://www.khronos.org/registry/OpenXR/specs/1.1/html/xrspec.html#xrLocateSpacesKHR)"]
24103 pub type LocateSpacesKHR = unsafe extern "system" fn(
24104 session: Session,
24105 locate_info: *const SpacesLocateInfo,
24106 space_locations: *mut SpaceLocations,
24107 ) -> Result;
24108}
24109pub const ALMALENCE_digital_lens_control_SPEC_VERSION: u32 = 1u32;
24110pub const ALMALENCE_DIGITAL_LENS_CONTROL_EXTENSION_NAME: &[u8] =
24111 b"XR_ALMALENCE_digital_lens_control\0";
24112#[cfg(target_os = "android")]
24113pub const ANDROID_trackables_SPEC_VERSION: u32 = 2u32;
24114#[cfg(target_os = "android")]
24115pub const ANDROID_TRACKABLES_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables\0";
24116#[cfg(target_os = "android")]
24117pub const ANDROID_device_anchor_persistence_SPEC_VERSION: u32 = 1u32;
24118#[cfg(target_os = "android")]
24119pub const ANDROID_DEVICE_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
24120 b"XR_ANDROID_device_anchor_persistence\0";
24121#[cfg(target_os = "android")]
24122pub const ANDROID_face_tracking_SPEC_VERSION: u32 = 1u32;
24123#[cfg(target_os = "android")]
24124pub const ANDROID_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_ANDROID_face_tracking\0";
24125#[cfg(target_os = "android")]
24126pub const ANDROID_passthrough_camera_state_SPEC_VERSION: u32 = 1u32;
24127#[cfg(target_os = "android")]
24128pub const ANDROID_PASSTHROUGH_CAMERA_STATE_EXTENSION_NAME: &[u8] =
24129 b"XR_ANDROID_passthrough_camera_state\0";
24130#[cfg(target_os = "android")]
24131pub const ANDROID_composition_layer_passthrough_mesh_SPEC_VERSION: u32 = 1u32;
24132#[cfg(target_os = "android")]
24133pub const ANDROID_COMPOSITION_LAYER_PASSTHROUGH_MESH_EXTENSION_NAME: &[u8] =
24134 b"XR_ANDROID_composition_layer_passthrough_mesh\0";
24135#[cfg(target_os = "android")]
24136pub const ANDROID_raycast_SPEC_VERSION: u32 = 1u32;
24137#[cfg(target_os = "android")]
24138pub const ANDROID_RAYCAST_EXTENSION_NAME: &[u8] = b"XR_ANDROID_raycast\0";
24139#[cfg(target_os = "android")]
24140pub const ANDROID_performance_metrics_SPEC_VERSION: u32 = 1u32;
24141#[cfg(target_os = "android")]
24142pub const ANDROID_PERFORMANCE_METRICS_EXTENSION_NAME: &[u8] = b"XR_ANDROID_performance_metrics\0";
24143#[cfg(target_os = "android")]
24144pub const ANDROID_trackables_object_SPEC_VERSION: u32 = 2u32;
24145#[cfg(target_os = "android")]
24146pub const ANDROID_TRACKABLES_OBJECT_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_object\0";
24147#[cfg(target_os = "android")]
24148pub const ANDROID_unbounded_reference_space_SPEC_VERSION: u32 = 1u32;
24149#[cfg(target_os = "android")]
24150pub const ANDROID_UNBOUNDED_REFERENCE_SPACE_EXTENSION_NAME: &[u8] =
24151 b"XR_ANDROID_unbounded_reference_space\0";
24152#[cfg(target_os = "android")]
24153pub const ANDROID_anchor_sharing_export_SPEC_VERSION: u32 = 1u32;
24154#[cfg(target_os = "android")]
24155pub const ANDROID_ANCHOR_SHARING_EXPORT_EXTENSION_NAME: &[u8] =
24156 b"XR_ANDROID_anchor_sharing_export\0";
24157#[cfg(target_os = "android")]
24158pub const ANDROID_mouse_interaction_SPEC_VERSION: u32 = 1u32;
24159#[cfg(target_os = "android")]
24160pub const ANDROID_MOUSE_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_ANDROID_mouse_interaction\0";
24161#[cfg(target_os = "android")]
24162pub const ANDROID_trackables_marker_SPEC_VERSION: u32 = 1u32;
24163#[cfg(target_os = "android")]
24164pub const ANDROID_TRACKABLES_MARKER_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_marker\0";
24165#[cfg(target_os = "android")]
24166pub const ANDROID_trackables_qr_code_SPEC_VERSION: u32 = 1u32;
24167#[cfg(target_os = "android")]
24168pub const ANDROID_TRACKABLES_QR_CODE_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_qr_code\0";
24169#[cfg(target_os = "android")]
24170pub const ANDROID_trackables_image_SPEC_VERSION: u32 = 1u32;
24171#[cfg(target_os = "android")]
24172pub const ANDROID_TRACKABLES_IMAGE_EXTENSION_NAME: &[u8] = b"XR_ANDROID_trackables_image\0";
24173#[cfg(target_os = "android")]
24174pub const ANDROID_scene_meshing_SPEC_VERSION: u32 = 3u32;
24175#[cfg(target_os = "android")]
24176pub const ANDROID_SCENE_MESHING_EXTENSION_NAME: &[u8] = b"XR_ANDROID_scene_meshing\0";
24177#[cfg(target_os = "android")]
24178pub const ANDROID_spatial_object_tracking_SPEC_VERSION: u32 = 2u32;
24179#[cfg(target_os = "android")]
24180pub const ANDROID_SPATIAL_OBJECT_TRACKING_EXTENSION_NAME: &[u8] =
24181 b"XR_ANDROID_spatial_object_tracking\0";
24182#[cfg(target_os = "android")]
24183pub const ANDROID_spatial_discovery_raycast_SPEC_VERSION: u32 = 1u32;
24184#[cfg(target_os = "android")]
24185pub const ANDROID_SPATIAL_DISCOVERY_RAYCAST_EXTENSION_NAME: &[u8] =
24186 b"XR_ANDROID_spatial_discovery_raycast\0";
24187#[cfg(target_os = "android")]
24188pub const ANDROID_spatial_entity_bound_anchor_SPEC_VERSION: u32 = 2u32;
24189#[cfg(target_os = "android")]
24190pub const ANDROID_SPATIAL_ENTITY_BOUND_ANCHOR_EXTENSION_NAME: &[u8] =
24191 b"XR_ANDROID_spatial_entity_bound_anchor\0";
24192#[cfg(target_os = "android")]
24193pub const ANDROID_spatial_component_subsumed_by_SPEC_VERSION: u32 = 1u32;
24194#[cfg(target_os = "android")]
24195pub const ANDROID_SPATIAL_COMPONENT_SUBSUMED_BY_EXTENSION_NAME: &[u8] =
24196 b"XR_ANDROID_spatial_component_subsumed_by\0";
24197#[cfg(target_os = "android")]
24198pub const ANDROID_spatial_anchor_space_SPEC_VERSION: u32 = 1u32;
24199#[cfg(target_os = "android")]
24200pub const ANDROID_SPATIAL_ANCHOR_SPACE_EXTENSION_NAME: &[u8] = b"XR_ANDROID_spatial_anchor_space\0";
24201pub const BD_controller_interaction_SPEC_VERSION: u32 = 2u32;
24202pub const BD_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_BD_controller_interaction\0";
24203pub const BD_body_tracking_SPEC_VERSION: u32 = 1u32;
24204pub const BD_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_BD_body_tracking\0";
24205pub const BD_facial_simulation_SPEC_VERSION: u32 = 1u32;
24206pub const BD_FACIAL_SIMULATION_EXTENSION_NAME: &[u8] = b"XR_BD_facial_simulation\0";
24207pub const BD_spatial_sensing_SPEC_VERSION: u32 = 1u32;
24208pub const BD_SPATIAL_SENSING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_sensing\0";
24209pub const BD_spatial_anchor_SPEC_VERSION: u32 = 2u32;
24210pub const BD_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor\0";
24211pub const BD_spatial_anchor_sharing_SPEC_VERSION: u32 = 2u32;
24212pub const BD_SPATIAL_ANCHOR_SHARING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_anchor_sharing\0";
24213pub const BD_spatial_scene_SPEC_VERSION: u32 = 1u32;
24214pub const BD_SPATIAL_SCENE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_scene\0";
24215pub const BD_spatial_mesh_SPEC_VERSION: u32 = 1u32;
24216pub const BD_SPATIAL_MESH_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_mesh\0";
24217pub const BD_future_progress_SPEC_VERSION: u32 = 1u32;
24218pub const BD_FUTURE_PROGRESS_EXTENSION_NAME: &[u8] = b"XR_BD_future_progress\0";
24219pub const BD_spatial_plane_SPEC_VERSION: u32 = 1u32;
24220pub const BD_SPATIAL_PLANE_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_plane\0";
24221pub const BD_ultra_controller_interaction_SPEC_VERSION: u32 = 1u32;
24222pub const BD_ULTRA_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24223 b"XR_BD_ultra_controller_interaction\0";
24224pub const BD_spatial_audio_rendering_SPEC_VERSION: u32 = 1u32;
24225pub const BD_SPATIAL_AUDIO_RENDERING_EXTENSION_NAME: &[u8] = b"XR_BD_spatial_audio_rendering\0";
24226pub const EPIC_view_configuration_fov_SPEC_VERSION: u32 = 2u32;
24227pub const EPIC_VIEW_CONFIGURATION_FOV_EXTENSION_NAME: &[u8] = b"XR_EPIC_view_configuration_fov\0";
24228pub const EXT_performance_settings_SPEC_VERSION: u32 = 4u32;
24229pub const EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_EXT_performance_settings\0";
24230pub const EXT_thermal_query_SPEC_VERSION: u32 = 2u32;
24231pub const EXT_THERMAL_QUERY_EXTENSION_NAME: &[u8] = b"XR_EXT_thermal_query\0";
24232pub const EXT_debug_utils_SPEC_VERSION: u32 = 5u32;
24233pub const EXT_DEBUG_UTILS_EXTENSION_NAME: &[u8] = b"XR_EXT_debug_utils\0";
24234pub const EXT_eye_gaze_interaction_SPEC_VERSION: u32 = 2u32;
24235pub const EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_eye_gaze_interaction\0";
24236pub const EXT_view_configuration_depth_range_SPEC_VERSION: u32 = 1u32;
24237pub const EXT_VIEW_CONFIGURATION_DEPTH_RANGE_EXTENSION_NAME: &[u8] =
24238 b"XR_EXT_view_configuration_depth_range\0";
24239pub const EXT_conformance_automation_SPEC_VERSION: u32 = 3u32;
24240pub const EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME: &[u8] = b"XR_EXT_conformance_automation\0";
24241pub const EXT_hand_tracking_SPEC_VERSION: u32 = 4u32;
24242pub const EXT_HAND_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_tracking\0";
24243#[cfg(windows)]
24244pub const EXT_win32_appcontainer_compatible_SPEC_VERSION: u32 = 1u32;
24245#[cfg(windows)]
24246pub const EXT_WIN32_APPCONTAINER_COMPATIBLE_EXTENSION_NAME: &[u8] =
24247 b"XR_EXT_win32_appcontainer_compatible\0";
24248pub const EXT_dpad_binding_SPEC_VERSION: u32 = 1u32;
24249pub const EXT_DPAD_BINDING_EXTENSION_NAME: &[u8] = b"XR_EXT_dpad_binding\0";
24250pub const EXT_hand_joints_motion_range_SPEC_VERSION: u32 = 1u32;
24251pub const EXT_HAND_JOINTS_MOTION_RANGE_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_joints_motion_range\0";
24252pub const EXT_samsung_odyssey_controller_SPEC_VERSION: u32 = 1u32;
24253pub const EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME: &[u8] =
24254 b"XR_EXT_samsung_odyssey_controller\0";
24255pub const EXT_hp_mixed_reality_controller_SPEC_VERSION: u32 = 1u32;
24256pub const EXT_HP_MIXED_REALITY_CONTROLLER_EXTENSION_NAME: &[u8] =
24257 b"XR_EXT_hp_mixed_reality_controller\0";
24258pub const EXT_palm_pose_SPEC_VERSION: u32 = 3u32;
24259pub const EXT_PALM_POSE_EXTENSION_NAME: &[u8] = b"XR_EXT_palm_pose\0";
24260pub const EXT_frame_synthesis_SPEC_VERSION: u32 = 1u32;
24261pub const EXT_FRAME_SYNTHESIS_EXTENSION_NAME: &[u8] = b"XR_EXT_frame_synthesis\0";
24262pub const EXT_uuid_SPEC_VERSION: u32 = 1u32;
24263pub const EXT_UUID_EXTENSION_NAME: &[u8] = b"XR_EXT_uuid\0";
24264pub const EXT_render_model_SPEC_VERSION: u32 = 1u32;
24265pub const EXT_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_render_model\0";
24266pub const EXT_interaction_render_model_SPEC_VERSION: u32 = 1u32;
24267pub const EXT_INTERACTION_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_EXT_interaction_render_model\0";
24268pub const EXT_hand_interaction_SPEC_VERSION: u32 = 2u32;
24269pub const EXT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_EXT_hand_interaction\0";
24270pub const EXT_active_action_set_priority_SPEC_VERSION: u32 = 1u32;
24271pub const EXT_ACTIVE_ACTION_SET_PRIORITY_EXTENSION_NAME: &[u8] =
24272 b"XR_EXT_active_action_set_priority\0";
24273pub const EXT_local_floor_SPEC_VERSION: u32 = 1u32;
24274pub const EXT_LOCAL_FLOOR_EXTENSION_NAME: &[u8] = b"XR_EXT_local_floor\0";
24275pub const EXT_hand_tracking_data_source_SPEC_VERSION: u32 = 1u32;
24276pub const EXT_HAND_TRACKING_DATA_SOURCE_EXTENSION_NAME: &[u8] =
24277 b"XR_EXT_hand_tracking_data_source\0";
24278pub const EXT_plane_detection_SPEC_VERSION: u32 = 2u32;
24279pub const EXT_PLANE_DETECTION_EXTENSION_NAME: &[u8] = b"XR_EXT_plane_detection\0";
24280pub const EXT_future_SPEC_VERSION: u32 = 2u32;
24281pub const EXT_FUTURE_EXTENSION_NAME: &[u8] = b"XR_EXT_future\0";
24282pub const EXT_user_presence_SPEC_VERSION: u32 = 1u32;
24283pub const EXT_USER_PRESENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_user_presence\0";
24284pub const EXT_composition_layer_inverted_alpha_SPEC_VERSION: u32 = 1u32;
24285pub const EXT_COMPOSITION_LAYER_INVERTED_ALPHA_EXTENSION_NAME: &[u8] =
24286 b"XR_EXT_composition_layer_inverted_alpha\0";
24287pub const EXT_spatial_entity_SPEC_VERSION: u32 = 1u32;
24288pub const EXT_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_entity\0";
24289pub const EXT_spatial_plane_tracking_SPEC_VERSION: u32 = 1u32;
24290pub const EXT_SPATIAL_PLANE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_plane_tracking\0";
24291pub const EXT_spatial_marker_tracking_SPEC_VERSION: u32 = 1u32;
24292pub const EXT_SPATIAL_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_marker_tracking\0";
24293pub const EXT_spatial_anchor_SPEC_VERSION: u32 = 1u32;
24294pub const EXT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_anchor\0";
24295pub const EXT_spatial_persistence_SPEC_VERSION: u32 = 1u32;
24296pub const EXT_SPATIAL_PERSISTENCE_EXTENSION_NAME: &[u8] = b"XR_EXT_spatial_persistence\0";
24297pub const EXT_spatial_persistence_operations_SPEC_VERSION: u32 = 1u32;
24298pub const EXT_SPATIAL_PERSISTENCE_OPERATIONS_EXTENSION_NAME: &[u8] =
24299 b"XR_EXT_spatial_persistence_operations\0";
24300pub const EXT_interaction_profile_battery_state_display_SPEC_VERSION: u32 = 1u32;
24301pub const EXT_INTERACTION_PROFILE_BATTERY_STATE_DISPLAY_EXTENSION_NAME: &[u8] =
24302 b"XR_EXT_interaction_profile_battery_state_display\0";
24303pub const EXT_loader_init_properties_SPEC_VERSION: u32 = 1u32;
24304pub const EXT_LOADER_INIT_PROPERTIES_EXTENSION_NAME: &[u8] = b"XR_EXT_loader_init_properties\0";
24305pub const EXT_view_configuration_views_change_SPEC_VERSION: u32 = 1u32;
24306pub const EXT_VIEW_CONFIGURATION_VIEWS_CHANGE_EXTENSION_NAME: &[u8] =
24307 b"XR_EXT_view_configuration_views_change\0";
24308pub const FB_composition_layer_image_layout_SPEC_VERSION: u32 = 1u32;
24309pub const FB_COMPOSITION_LAYER_IMAGE_LAYOUT_EXTENSION_NAME: &[u8] =
24310 b"XR_FB_composition_layer_image_layout\0";
24311pub const FB_composition_layer_alpha_blend_SPEC_VERSION: u32 = 3u32;
24312pub const FB_COMPOSITION_LAYER_ALPHA_BLEND_EXTENSION_NAME: &[u8] =
24313 b"XR_FB_composition_layer_alpha_blend\0";
24314#[cfg(target_os = "android")]
24315pub const FB_android_surface_swapchain_create_SPEC_VERSION: u32 = 1u32;
24316#[cfg(target_os = "android")]
24317pub const FB_ANDROID_SURFACE_SWAPCHAIN_CREATE_EXTENSION_NAME: &[u8] =
24318 b"XR_FB_android_surface_swapchain_create\0";
24319pub const FB_swapchain_update_state_SPEC_VERSION: u32 = 3u32;
24320pub const FB_SWAPCHAIN_UPDATE_STATE_EXTENSION_NAME: &[u8] = b"XR_FB_swapchain_update_state\0";
24321pub const FB_composition_layer_secure_content_SPEC_VERSION: u32 = 1u32;
24322pub const FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME: &[u8] =
24323 b"XR_FB_composition_layer_secure_content\0";
24324pub const FB_body_tracking_SPEC_VERSION: u32 = 1u32;
24325pub const FB_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_body_tracking\0";
24326pub const FB_display_refresh_rate_SPEC_VERSION: u32 = 1u32;
24327pub const FB_DISPLAY_REFRESH_RATE_EXTENSION_NAME: &[u8] = b"XR_FB_display_refresh_rate\0";
24328pub const FB_color_space_SPEC_VERSION: u32 = 3u32;
24329pub const FB_COLOR_SPACE_EXTENSION_NAME: &[u8] = b"XR_FB_color_space\0";
24330pub const FB_hand_tracking_mesh_SPEC_VERSION: u32 = 3u32;
24331pub const FB_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_mesh\0";
24332pub const FB_hand_tracking_aim_SPEC_VERSION: u32 = 2u32;
24333pub const FB_HAND_TRACKING_AIM_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_aim\0";
24334pub const FB_hand_tracking_capsules_SPEC_VERSION: u32 = 3u32;
24335pub const FB_HAND_TRACKING_CAPSULES_EXTENSION_NAME: &[u8] = b"XR_FB_hand_tracking_capsules\0";
24336pub const FB_spatial_entity_SPEC_VERSION: u32 = 3u32;
24337pub const FB_SPATIAL_ENTITY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity\0";
24338pub const FB_foveation_SPEC_VERSION: u32 = 1u32;
24339pub const FB_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation\0";
24340pub const FB_foveation_configuration_SPEC_VERSION: u32 = 1u32;
24341pub const FB_FOVEATION_CONFIGURATION_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_configuration\0";
24342pub const FB_keyboard_tracking_SPEC_VERSION: u32 = 1u32;
24343pub const FB_KEYBOARD_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_keyboard_tracking\0";
24344pub const FB_triangle_mesh_SPEC_VERSION: u32 = 2u32;
24345pub const FB_TRIANGLE_MESH_EXTENSION_NAME: &[u8] = b"XR_FB_triangle_mesh\0";
24346pub const FB_passthrough_SPEC_VERSION: u32 = 4u32;
24347pub const FB_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_FB_passthrough\0";
24348pub const FB_render_model_SPEC_VERSION: u32 = 4u32;
24349pub const FB_RENDER_MODEL_EXTENSION_NAME: &[u8] = b"XR_FB_render_model\0";
24350pub const FB_spatial_entity_query_SPEC_VERSION: u32 = 1u32;
24351pub const FB_SPATIAL_ENTITY_QUERY_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_query\0";
24352pub const FB_spatial_entity_storage_SPEC_VERSION: u32 = 1u32;
24353pub const FB_SPATIAL_ENTITY_STORAGE_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_storage\0";
24354pub const FB_foveation_vulkan_SPEC_VERSION: u32 = 1u32;
24355pub const FB_FOVEATION_VULKAN_EXTENSION_NAME: &[u8] = b"XR_FB_foveation_vulkan\0";
24356#[cfg(target_os = "android")]
24357pub const FB_swapchain_update_state_android_surface_SPEC_VERSION: u32 = 1u32;
24358#[cfg(target_os = "android")]
24359pub const FB_SWAPCHAIN_UPDATE_STATE_ANDROID_SURFACE_EXTENSION_NAME: &[u8] =
24360 b"XR_FB_swapchain_update_state_android_surface\0";
24361pub const FB_swapchain_update_state_opengl_es_SPEC_VERSION: u32 = 1u32;
24362pub const FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME: &[u8] =
24363 b"XR_FB_swapchain_update_state_opengl_es\0";
24364pub const FB_swapchain_update_state_vulkan_SPEC_VERSION: u32 = 1u32;
24365pub const FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME: &[u8] =
24366 b"XR_FB_swapchain_update_state_vulkan\0";
24367pub const FB_touch_controller_pro_SPEC_VERSION: u32 = 1u32;
24368pub const FB_TOUCH_CONTROLLER_PRO_EXTENSION_NAME: &[u8] = b"XR_FB_touch_controller_pro\0";
24369pub const FB_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
24370pub const FB_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_sharing\0";
24371pub const FB_space_warp_SPEC_VERSION: u32 = 2u32;
24372pub const FB_SPACE_WARP_EXTENSION_NAME: &[u8] = b"XR_FB_space_warp\0";
24373pub const FB_haptic_amplitude_envelope_SPEC_VERSION: u32 = 1u32;
24374pub const FB_HAPTIC_AMPLITUDE_ENVELOPE_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_amplitude_envelope\0";
24375pub const FB_scene_SPEC_VERSION: u32 = 4u32;
24376pub const FB_SCENE_EXTENSION_NAME: &[u8] = b"XR_FB_scene\0";
24377pub const FB_scene_capture_SPEC_VERSION: u32 = 1u32;
24378pub const FB_SCENE_CAPTURE_EXTENSION_NAME: &[u8] = b"XR_FB_scene_capture\0";
24379pub const FB_spatial_entity_container_SPEC_VERSION: u32 = 2u32;
24380pub const FB_SPATIAL_ENTITY_CONTAINER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_container\0";
24381pub const FB_face_tracking_SPEC_VERSION: u32 = 1u32;
24382pub const FB_FACE_TRACKING_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking\0";
24383pub const FB_eye_tracking_social_SPEC_VERSION: u32 = 1u32;
24384pub const FB_EYE_TRACKING_SOCIAL_EXTENSION_NAME: &[u8] = b"XR_FB_eye_tracking_social\0";
24385pub const FB_passthrough_keyboard_hands_SPEC_VERSION: u32 = 2u32;
24386pub const FB_PASSTHROUGH_KEYBOARD_HANDS_EXTENSION_NAME: &[u8] =
24387 b"XR_FB_passthrough_keyboard_hands\0";
24388pub const FB_composition_layer_settings_SPEC_VERSION: u32 = 1u32;
24389pub const FB_COMPOSITION_LAYER_SETTINGS_EXTENSION_NAME: &[u8] =
24390 b"XR_FB_composition_layer_settings\0";
24391pub const FB_touch_controller_proximity_SPEC_VERSION: u32 = 1u32;
24392pub const FB_TOUCH_CONTROLLER_PROXIMITY_EXTENSION_NAME: &[u8] =
24393 b"XR_FB_touch_controller_proximity\0";
24394pub const FB_haptic_pcm_SPEC_VERSION: u32 = 1u32;
24395pub const FB_HAPTIC_PCM_EXTENSION_NAME: &[u8] = b"XR_FB_haptic_pcm\0";
24396pub const FB_composition_layer_depth_test_SPEC_VERSION: u32 = 1u32;
24397pub const FB_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
24398 b"XR_FB_composition_layer_depth_test\0";
24399pub const FB_spatial_entity_storage_batch_SPEC_VERSION: u32 = 1u32;
24400pub const FB_SPATIAL_ENTITY_STORAGE_BATCH_EXTENSION_NAME: &[u8] =
24401 b"XR_FB_spatial_entity_storage_batch\0";
24402pub const FB_spatial_entity_user_SPEC_VERSION: u32 = 1u32;
24403pub const FB_SPATIAL_ENTITY_USER_EXTENSION_NAME: &[u8] = b"XR_FB_spatial_entity_user\0";
24404pub const FB_face_tracking2_SPEC_VERSION: u32 = 1u32;
24405pub const FB_FACE_TRACKING2_EXTENSION_NAME: &[u8] = b"XR_FB_face_tracking2\0";
24406pub const HTC_vive_cosmos_controller_interaction_SPEC_VERSION: u32 = 1u32;
24407pub const HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24408 b"XR_HTC_vive_cosmos_controller_interaction\0";
24409pub const HTC_facial_tracking_SPEC_VERSION: u32 = 3u32;
24410pub const HTC_FACIAL_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_facial_tracking\0";
24411pub const HTC_vive_focus3_controller_interaction_SPEC_VERSION: u32 = 2u32;
24412pub const HTC_VIVE_FOCUS3_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24413 b"XR_HTC_vive_focus3_controller_interaction\0";
24414pub const HTC_hand_interaction_SPEC_VERSION: u32 = 1u32;
24415pub const HTC_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_HTC_hand_interaction\0";
24416pub const HTC_vive_wrist_tracker_interaction_SPEC_VERSION: u32 = 1u32;
24417pub const HTC_VIVE_WRIST_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
24418 b"XR_HTC_vive_wrist_tracker_interaction\0";
24419pub const HTC_passthrough_SPEC_VERSION: u32 = 1u32;
24420pub const HTC_PASSTHROUGH_EXTENSION_NAME: &[u8] = b"XR_HTC_passthrough\0";
24421pub const HTC_foveation_SPEC_VERSION: u32 = 1u32;
24422pub const HTC_FOVEATION_EXTENSION_NAME: &[u8] = b"XR_HTC_foveation\0";
24423pub const HTC_anchor_SPEC_VERSION: u32 = 1u32;
24424pub const HTC_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_HTC_anchor\0";
24425pub const HTC_body_tracking_SPEC_VERSION: u32 = 1u32;
24426pub const HTC_BODY_TRACKING_EXTENSION_NAME: &[u8] = b"XR_HTC_body_tracking\0";
24427pub const HUAWEI_controller_interaction_SPEC_VERSION: u32 = 1u32;
24428pub const HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24429 b"XR_HUAWEI_controller_interaction\0";
24430#[cfg(target_os = "android")]
24431pub const KHR_android_thread_settings_SPEC_VERSION: u32 = 6u32;
24432#[cfg(target_os = "android")]
24433pub const KHR_ANDROID_THREAD_SETTINGS_EXTENSION_NAME: &[u8] = b"XR_KHR_android_thread_settings\0";
24434#[cfg(target_os = "android")]
24435pub const KHR_android_surface_swapchain_SPEC_VERSION: u32 = 4u32;
24436#[cfg(target_os = "android")]
24437pub const KHR_ANDROID_SURFACE_SWAPCHAIN_EXTENSION_NAME: &[u8] =
24438 b"XR_KHR_android_surface_swapchain\0";
24439pub const KHR_composition_layer_cube_SPEC_VERSION: u32 = 8u32;
24440pub const KHR_COMPOSITION_LAYER_CUBE_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_cube\0";
24441#[cfg(target_os = "android")]
24442pub const KHR_android_create_instance_SPEC_VERSION: u32 = 3u32;
24443#[cfg(target_os = "android")]
24444pub const KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME: &[u8] = b"XR_KHR_android_create_instance\0";
24445pub const KHR_composition_layer_depth_SPEC_VERSION: u32 = 6u32;
24446pub const KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME: &[u8] = b"XR_KHR_composition_layer_depth\0";
24447pub const KHR_vulkan_swapchain_format_list_SPEC_VERSION: u32 = 5u32;
24448pub const KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME: &[u8] =
24449 b"XR_KHR_vulkan_swapchain_format_list\0";
24450pub const KHR_composition_layer_cylinder_SPEC_VERSION: u32 = 4u32;
24451pub const KHR_COMPOSITION_LAYER_CYLINDER_EXTENSION_NAME: &[u8] =
24452 b"XR_KHR_composition_layer_cylinder\0";
24453pub const KHR_composition_layer_equirect_SPEC_VERSION: u32 = 3u32;
24454pub const KHR_COMPOSITION_LAYER_EQUIRECT_EXTENSION_NAME: &[u8] =
24455 b"XR_KHR_composition_layer_equirect\0";
24456pub const KHR_opengl_enable_SPEC_VERSION: u32 = 12u32;
24457pub const KHR_OPENGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_enable\0";
24458pub const KHR_opengl_es_enable_SPEC_VERSION: u32 = 10u32;
24459pub const KHR_OPENGL_ES_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_opengl_es_enable\0";
24460pub const KHR_vulkan_enable_SPEC_VERSION: u32 = 10u32;
24461pub const KHR_VULKAN_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable\0";
24462#[cfg(windows)]
24463pub const KHR_D3D11_enable_SPEC_VERSION: u32 = 11u32;
24464#[cfg(windows)]
24465pub const KHR_D3D11_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D11_enable\0";
24466#[cfg(windows)]
24467pub const KHR_D3D12_enable_SPEC_VERSION: u32 = 11u32;
24468#[cfg(windows)]
24469pub const KHR_D3D12_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_D3D12_enable\0";
24470#[cfg(target_vendor = "apple")]
24471pub const KHR_metal_enable_SPEC_VERSION: u32 = 3u32;
24472#[cfg(target_vendor = "apple")]
24473pub const KHR_METAL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_KHR_metal_enable\0";
24474pub const KHR_visibility_mask_SPEC_VERSION: u32 = 2u32;
24475pub const KHR_VISIBILITY_MASK_EXTENSION_NAME: &[u8] = b"XR_KHR_visibility_mask\0";
24476pub const KHR_composition_layer_color_scale_bias_SPEC_VERSION: u32 = 5u32;
24477pub const KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME: &[u8] =
24478 b"XR_KHR_composition_layer_color_scale_bias\0";
24479#[cfg(windows)]
24480pub const KHR_win32_convert_performance_counter_time_SPEC_VERSION: u32 = 1u32;
24481#[cfg(windows)]
24482pub const KHR_WIN32_CONVERT_PERFORMANCE_COUNTER_TIME_EXTENSION_NAME: &[u8] =
24483 b"XR_KHR_win32_convert_performance_counter_time\0";
24484pub const KHR_convert_timespec_time_SPEC_VERSION: u32 = 1u32;
24485pub const KHR_CONVERT_TIMESPEC_TIME_EXTENSION_NAME: &[u8] = b"XR_KHR_convert_timespec_time\0";
24486pub const KHR_loader_init_SPEC_VERSION: u32 = 2u32;
24487pub const KHR_LOADER_INIT_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init\0";
24488#[cfg(target_os = "android")]
24489pub const KHR_loader_init_android_SPEC_VERSION: u32 = 1u32;
24490#[cfg(target_os = "android")]
24491pub const KHR_LOADER_INIT_ANDROID_EXTENSION_NAME: &[u8] = b"XR_KHR_loader_init_android\0";
24492pub const KHR_vulkan_enable2_SPEC_VERSION: u32 = 4u32;
24493pub const KHR_VULKAN_ENABLE2_EXTENSION_NAME: &[u8] = b"XR_KHR_vulkan_enable2\0";
24494pub const KHR_composition_layer_equirect2_SPEC_VERSION: u32 = 1u32;
24495pub const KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME: &[u8] =
24496 b"XR_KHR_composition_layer_equirect2\0";
24497pub const KHR_binding_modification_SPEC_VERSION: u32 = 1u32;
24498pub const KHR_BINDING_MODIFICATION_EXTENSION_NAME: &[u8] = b"XR_KHR_binding_modification\0";
24499pub const KHR_extended_struct_name_lengths_SPEC_VERSION: u32 = 2u32;
24500pub const KHR_EXTENDED_STRUCT_NAME_LENGTHS_EXTENSION_NAME: &[u8] =
24501 b"XR_KHR_extended_struct_name_lengths\0";
24502pub const KHR_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 3u32;
24503pub const KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
24504 b"XR_KHR_swapchain_usage_input_attachment_bit\0";
24505pub const KHR_locate_spaces_SPEC_VERSION: u32 = 1u32;
24506pub const KHR_LOCATE_SPACES_EXTENSION_NAME: &[u8] = b"XR_KHR_locate_spaces\0";
24507pub const KHR_maintenance1_SPEC_VERSION: u32 = 1u32;
24508pub const KHR_MAINTENANCE1_EXTENSION_NAME: &[u8] = b"XR_KHR_maintenance1\0";
24509pub const KHR_generic_controller_SPEC_VERSION: u32 = 1u32;
24510pub const KHR_GENERIC_CONTROLLER_EXTENSION_NAME: &[u8] = b"XR_KHR_generic_controller\0";
24511pub const LOGITECH_mx_ink_stylus_interaction_SPEC_VERSION: u32 = 1u32;
24512pub const LOGITECH_MX_INK_STYLUS_INTERACTION_EXTENSION_NAME: &[u8] =
24513 b"XR_LOGITECH_mx_ink_stylus_interaction\0";
24514pub const META_foveation_eye_tracked_SPEC_VERSION: u32 = 1u32;
24515pub const META_FOVEATION_EYE_TRACKED_EXTENSION_NAME: &[u8] = b"XR_META_foveation_eye_tracked\0";
24516pub const META_local_dimming_SPEC_VERSION: u32 = 1u32;
24517pub const META_LOCAL_DIMMING_EXTENSION_NAME: &[u8] = b"XR_META_local_dimming\0";
24518pub const META_passthrough_preferences_SPEC_VERSION: u32 = 1u32;
24519pub const META_PASSTHROUGH_PREFERENCES_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_preferences\0";
24520pub const META_virtual_keyboard_SPEC_VERSION: u32 = 1u32;
24521pub const META_VIRTUAL_KEYBOARD_EXTENSION_NAME: &[u8] = b"XR_META_virtual_keyboard\0";
24522pub const META_vulkan_swapchain_create_info_SPEC_VERSION: u32 = 1u32;
24523pub const META_VULKAN_SWAPCHAIN_CREATE_INFO_EXTENSION_NAME: &[u8] =
24524 b"XR_META_vulkan_swapchain_create_info\0";
24525pub const META_performance_metrics_SPEC_VERSION: u32 = 2u32;
24526pub const META_PERFORMANCE_METRICS_EXTENSION_NAME: &[u8] = b"XR_META_performance_metrics\0";
24527pub const META_detached_controllers_SPEC_VERSION: u32 = 1u32;
24528pub const META_DETACHED_CONTROLLERS_EXTENSION_NAME: &[u8] = b"XR_META_detached_controllers\0";
24529pub const META_headset_id_SPEC_VERSION: u32 = 2u32;
24530pub const META_HEADSET_ID_EXTENSION_NAME: &[u8] = b"XR_META_headset_id\0";
24531pub const META_spatial_entity_discovery_SPEC_VERSION: u32 = 1u32;
24532pub const META_SPATIAL_ENTITY_DISCOVERY_EXTENSION_NAME: &[u8] =
24533 b"XR_META_spatial_entity_discovery\0";
24534pub const META_hand_tracking_microgestures_SPEC_VERSION: u32 = 1u32;
24535pub const META_HAND_TRACKING_MICROGESTURES_EXTENSION_NAME: &[u8] =
24536 b"XR_META_hand_tracking_microgestures\0";
24537pub const META_recommended_layer_resolution_SPEC_VERSION: u32 = 1u32;
24538pub const META_RECOMMENDED_LAYER_RESOLUTION_EXTENSION_NAME: &[u8] =
24539 b"XR_META_recommended_layer_resolution\0";
24540pub const META_spatial_entity_persistence_SPEC_VERSION: u32 = 1u32;
24541pub const META_SPATIAL_ENTITY_PERSISTENCE_EXTENSION_NAME: &[u8] =
24542 b"XR_META_spatial_entity_persistence\0";
24543pub const META_passthrough_color_lut_SPEC_VERSION: u32 = 1u32;
24544pub const META_PASSTHROUGH_COLOR_LUT_EXTENSION_NAME: &[u8] = b"XR_META_passthrough_color_lut\0";
24545pub const META_spatial_entity_mesh_SPEC_VERSION: u32 = 1u32;
24546pub const META_SPATIAL_ENTITY_MESH_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_mesh\0";
24547pub const META_automatic_layer_filter_SPEC_VERSION: u32 = 1u32;
24548pub const META_AUTOMATIC_LAYER_FILTER_EXTENSION_NAME: &[u8] = b"XR_META_automatic_layer_filter\0";
24549pub const META_body_tracking_full_body_SPEC_VERSION: u32 = 1u32;
24550pub const META_BODY_TRACKING_FULL_BODY_EXTENSION_NAME: &[u8] = b"XR_META_body_tracking_full_body\0";
24551pub const META_touch_controller_plus_SPEC_VERSION: u32 = 1u32;
24552pub const META_TOUCH_CONTROLLER_PLUS_EXTENSION_NAME: &[u8] = b"XR_META_touch_controller_plus\0";
24553pub const META_passthrough_layer_resumed_event_SPEC_VERSION: u32 = 1u32;
24554pub const META_PASSTHROUGH_LAYER_RESUMED_EVENT_EXTENSION_NAME: &[u8] =
24555 b"XR_META_passthrough_layer_resumed_event\0";
24556pub const META_body_tracking_calibration_SPEC_VERSION: u32 = 1u32;
24557pub const META_BODY_TRACKING_CALIBRATION_EXTENSION_NAME: &[u8] =
24558 b"XR_META_body_tracking_calibration\0";
24559pub const META_body_tracking_fidelity_SPEC_VERSION: u32 = 1u32;
24560pub const META_BODY_TRACKING_FIDELITY_EXTENSION_NAME: &[u8] = b"XR_META_body_tracking_fidelity\0";
24561pub const META_spatial_entity_sharing_SPEC_VERSION: u32 = 1u32;
24562pub const META_SPATIAL_ENTITY_SHARING_EXTENSION_NAME: &[u8] = b"XR_META_spatial_entity_sharing\0";
24563pub const META_environment_depth_SPEC_VERSION: u32 = 2u32;
24564pub const META_ENVIRONMENT_DEPTH_EXTENSION_NAME: &[u8] = b"XR_META_environment_depth\0";
24565pub const META_simultaneous_hands_and_controllers_SPEC_VERSION: u32 = 1u32;
24566pub const META_SIMULTANEOUS_HANDS_AND_CONTROLLERS_EXTENSION_NAME: &[u8] =
24567 b"XR_META_simultaneous_hands_and_controllers\0";
24568pub const META_spatial_entity_semantic_label_SPEC_VERSION: u32 = 1u32;
24569pub const META_SPATIAL_ENTITY_SEMANTIC_LABEL_EXTENSION_NAME: &[u8] =
24570 b"XR_META_spatial_entity_semantic_label\0";
24571pub const META_colocation_discovery_SPEC_VERSION: u32 = 1u32;
24572pub const META_COLOCATION_DISCOVERY_EXTENSION_NAME: &[u8] = b"XR_META_colocation_discovery\0";
24573pub const META_spatial_entity_group_sharing_SPEC_VERSION: u32 = 1u32;
24574pub const META_SPATIAL_ENTITY_GROUP_SHARING_EXTENSION_NAME: &[u8] =
24575 b"XR_META_spatial_entity_group_sharing\0";
24576pub const META_environment_raycast_SPEC_VERSION: u32 = 1u32;
24577pub const META_ENVIRONMENT_RAYCAST_EXTENSION_NAME: &[u8] = b"XR_META_environment_raycast\0";
24578pub const META_tile_properties_hint_SPEC_VERSION: u32 = 1u32;
24579pub const META_TILE_PROPERTIES_HINT_EXTENSION_NAME: &[u8] = b"XR_META_tile_properties_hint\0";
24580pub const ML_ml2_controller_interaction_SPEC_VERSION: u32 = 1u32;
24581pub const ML_ML2_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24582 b"XR_ML_ml2_controller_interaction\0";
24583pub const ML_frame_end_info_SPEC_VERSION: u32 = 1u32;
24584pub const ML_FRAME_END_INFO_EXTENSION_NAME: &[u8] = b"XR_ML_frame_end_info\0";
24585pub const ML_global_dimmer_SPEC_VERSION: u32 = 1u32;
24586pub const ML_GLOBAL_DIMMER_EXTENSION_NAME: &[u8] = b"XR_ML_global_dimmer\0";
24587pub const ML_compat_SPEC_VERSION: u32 = 1u32;
24588pub const ML_COMPAT_EXTENSION_NAME: &[u8] = b"XR_ML_compat\0";
24589pub const ML_marker_understanding_SPEC_VERSION: u32 = 1u32;
24590pub const ML_MARKER_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_ML_marker_understanding\0";
24591pub const ML_localization_map_SPEC_VERSION: u32 = 1u32;
24592pub const ML_LOCALIZATION_MAP_EXTENSION_NAME: &[u8] = b"XR_ML_localization_map\0";
24593pub const ML_spatial_anchors_SPEC_VERSION: u32 = 1u32;
24594pub const ML_SPATIAL_ANCHORS_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors\0";
24595pub const ML_spatial_anchors_storage_SPEC_VERSION: u32 = 1u32;
24596pub const ML_SPATIAL_ANCHORS_STORAGE_EXTENSION_NAME: &[u8] = b"XR_ML_spatial_anchors_storage\0";
24597pub const ML_user_calibration_SPEC_VERSION: u32 = 1u32;
24598pub const ML_USER_CALIBRATION_EXTENSION_NAME: &[u8] = b"XR_ML_user_calibration\0";
24599pub const ML_system_notifications_SPEC_VERSION: u32 = 1u32;
24600pub const ML_SYSTEM_NOTIFICATIONS_EXTENSION_NAME: &[u8] = b"XR_ML_system_notifications\0";
24601pub const ML_world_mesh_detection_SPEC_VERSION: u32 = 1u32;
24602pub const ML_WORLD_MESH_DETECTION_EXTENSION_NAME: &[u8] = b"XR_ML_world_mesh_detection\0";
24603pub const ML_facial_expression_SPEC_VERSION: u32 = 1u32;
24604pub const ML_FACIAL_EXPRESSION_EXTENSION_NAME: &[u8] = b"XR_ML_facial_expression\0";
24605pub const ML_view_configuration_depth_range_change_SPEC_VERSION: u32 = 1u32;
24606pub const ML_VIEW_CONFIGURATION_DEPTH_RANGE_CHANGE_EXTENSION_NAME: &[u8] =
24607 b"XR_ML_view_configuration_depth_range_change\0";
24608pub const MND_headless_SPEC_VERSION: u32 = 3u32;
24609pub const MND_HEADLESS_EXTENSION_NAME: &[u8] = b"XR_MND_headless\0";
24610pub const MND_swapchain_usage_input_attachment_bit_SPEC_VERSION: u32 = 2u32;
24611pub const MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME: &[u8] =
24612 b"XR_MND_swapchain_usage_input_attachment_bit\0";
24613pub const MSFT_unbounded_reference_space_SPEC_VERSION: u32 = 1u32;
24614pub const MSFT_UNBOUNDED_REFERENCE_SPACE_EXTENSION_NAME: &[u8] =
24615 b"XR_MSFT_unbounded_reference_space\0";
24616pub const MSFT_spatial_anchor_SPEC_VERSION: u32 = 2u32;
24617pub const MSFT_SPATIAL_ANCHOR_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_anchor\0";
24618pub const MSFT_spatial_graph_bridge_SPEC_VERSION: u32 = 2u32;
24619pub const MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME: &[u8] = b"XR_MSFT_spatial_graph_bridge\0";
24620pub const MSFT_hand_interaction_SPEC_VERSION: u32 = 1u32;
24621pub const MSFT_HAND_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_interaction\0";
24622pub const MSFT_hand_tracking_mesh_SPEC_VERSION: u32 = 4u32;
24623pub const MSFT_HAND_TRACKING_MESH_EXTENSION_NAME: &[u8] = b"XR_MSFT_hand_tracking_mesh\0";
24624pub const MSFT_secondary_view_configuration_SPEC_VERSION: u32 = 1u32;
24625pub const MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME: &[u8] =
24626 b"XR_MSFT_secondary_view_configuration\0";
24627pub const MSFT_first_person_observer_SPEC_VERSION: u32 = 1u32;
24628pub const MSFT_FIRST_PERSON_OBSERVER_EXTENSION_NAME: &[u8] = b"XR_MSFT_first_person_observer\0";
24629pub const MSFT_controller_model_SPEC_VERSION: u32 = 2u32;
24630pub const MSFT_CONTROLLER_MODEL_EXTENSION_NAME: &[u8] = b"XR_MSFT_controller_model\0";
24631#[cfg(windows)]
24632pub const MSFT_perception_anchor_interop_SPEC_VERSION: u32 = 1u32;
24633#[cfg(windows)]
24634pub const MSFT_PERCEPTION_ANCHOR_INTEROP_EXTENSION_NAME: &[u8] =
24635 b"XR_MSFT_perception_anchor_interop\0";
24636#[cfg(windows)]
24637pub const MSFT_holographic_window_attachment_SPEC_VERSION: u32 = 1u32;
24638#[cfg(windows)]
24639pub const MSFT_HOLOGRAPHIC_WINDOW_ATTACHMENT_EXTENSION_NAME: &[u8] =
24640 b"XR_MSFT_holographic_window_attachment\0";
24641pub const MSFT_composition_layer_reprojection_SPEC_VERSION: u32 = 1u32;
24642pub const MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAME: &[u8] =
24643 b"XR_MSFT_composition_layer_reprojection\0";
24644pub const MSFT_scene_understanding_SPEC_VERSION: u32 = 2u32;
24645pub const MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_understanding\0";
24646pub const MSFT_scene_understanding_serialization_SPEC_VERSION: u32 = 2u32;
24647pub const MSFT_SCENE_UNDERSTANDING_SERIALIZATION_EXTENSION_NAME: &[u8] =
24648 b"XR_MSFT_scene_understanding_serialization\0";
24649pub const MSFT_spatial_anchor_persistence_SPEC_VERSION: u32 = 2u32;
24650pub const MSFT_SPATIAL_ANCHOR_PERSISTENCE_EXTENSION_NAME: &[u8] =
24651 b"XR_MSFT_spatial_anchor_persistence\0";
24652pub const MSFT_scene_marker_SPEC_VERSION: u32 = 1u32;
24653pub const MSFT_SCENE_MARKER_EXTENSION_NAME: &[u8] = b"XR_MSFT_scene_marker\0";
24654#[cfg(target_os = "android")]
24655pub const OCULUS_android_session_state_enable_SPEC_VERSION: u32 = 1u32;
24656#[cfg(target_os = "android")]
24657pub const OCULUS_ANDROID_SESSION_STATE_ENABLE_EXTENSION_NAME: &[u8] =
24658 b"XR_OCULUS_android_session_state_enable\0";
24659pub const OCULUS_audio_device_guid_SPEC_VERSION: u32 = 1u32;
24660pub const OCULUS_AUDIO_DEVICE_GUID_EXTENSION_NAME: &[u8] = b"XR_OCULUS_audio_device_guid\0";
24661pub const OCULUS_external_camera_SPEC_VERSION: u32 = 1u32;
24662pub const OCULUS_EXTERNAL_CAMERA_EXTENSION_NAME: &[u8] = b"XR_OCULUS_external_camera\0";
24663pub const OPPO_controller_interaction_SPEC_VERSION: u32 = 1u32;
24664pub const OPPO_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_OPPO_controller_interaction\0";
24665pub const QCOM_tracking_optimization_settings_SPEC_VERSION: u32 = 1u32;
24666pub const QCOM_TRACKING_OPTIMIZATION_SETTINGS_EXTENSION_NAME: &[u8] =
24667 b"XR_QCOM_tracking_optimization_settings\0";
24668pub const QCOM_hand_tracking_gesture_SPEC_VERSION: u32 = 1u32;
24669pub const QCOM_HAND_TRACKING_GESTURE_EXTENSION_NAME: &[u8] = b"XR_QCOM_hand_tracking_gesture\0";
24670pub const ULTRALEAP_hand_tracking_forearm_SPEC_VERSION: u32 = 1u32;
24671pub const ULTRALEAP_HAND_TRACKING_FOREARM_EXTENSION_NAME: &[u8] =
24672 b"XR_ULTRALEAP_hand_tracking_forearm\0";
24673pub const VALVE_analog_threshold_SPEC_VERSION: u32 = 2u32;
24674pub const VALVE_ANALOG_THRESHOLD_EXTENSION_NAME: &[u8] = b"XR_VALVE_analog_threshold\0";
24675pub const VARJO_quad_views_SPEC_VERSION: u32 = 2u32;
24676pub const VARJO_QUAD_VIEWS_EXTENSION_NAME: &[u8] = b"XR_VARJO_quad_views\0";
24677pub const VARJO_foveated_rendering_SPEC_VERSION: u32 = 3u32;
24678pub const VARJO_FOVEATED_RENDERING_EXTENSION_NAME: &[u8] = b"XR_VARJO_foveated_rendering\0";
24679pub const VARJO_composition_layer_depth_test_SPEC_VERSION: u32 = 2u32;
24680pub const VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME: &[u8] =
24681 b"XR_VARJO_composition_layer_depth_test\0";
24682pub const VARJO_environment_depth_estimation_SPEC_VERSION: u32 = 1u32;
24683pub const VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME: &[u8] =
24684 b"XR_VARJO_environment_depth_estimation\0";
24685pub const VARJO_marker_tracking_SPEC_VERSION: u32 = 1u32;
24686pub const VARJO_MARKER_TRACKING_EXTENSION_NAME: &[u8] = b"XR_VARJO_marker_tracking\0";
24687pub const VARJO_view_offset_SPEC_VERSION: u32 = 1u32;
24688pub const VARJO_VIEW_OFFSET_EXTENSION_NAME: &[u8] = b"XR_VARJO_view_offset\0";
24689pub const VARJO_xr4_controller_interaction_SPEC_VERSION: u32 = 2u32;
24690pub const VARJO_XR4_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] =
24691 b"XR_VARJO_xr4_controller_interaction\0";
24692pub const YVR_controller_interaction_SPEC_VERSION: u32 = 1u32;
24693pub const YVR_CONTROLLER_INTERACTION_EXTENSION_NAME: &[u8] = b"XR_YVR_controller_interaction\0";
24694pub const EXTX_overlay_SPEC_VERSION: u32 = 5u32;
24695pub const EXTX_OVERLAY_EXTENSION_NAME: &[u8] = b"XR_EXTX_overlay\0";
24696pub const MNDX_egl_enable_SPEC_VERSION: u32 = 2u32;
24697pub const MNDX_EGL_ENABLE_EXTENSION_NAME: &[u8] = b"XR_MNDX_egl_enable\0";
24698pub const MNDX_force_feedback_curl_SPEC_VERSION: u32 = 1u32;
24699pub const MNDX_FORCE_FEEDBACK_CURL_EXTENSION_NAME: &[u8] = b"XR_MNDX_force_feedback_curl\0";
24700pub const HTCX_vive_tracker_interaction_SPEC_VERSION: u32 = 3u32;
24701pub const HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME: &[u8] =
24702 b"XR_HTCX_vive_tracker_interaction\0";
24703#[cfg(feature = "linked")]
24704unsafe extern "system" {
24705 #[link_name = "xrNegotiateLoaderRuntimeInterface"]
24706 pub fn negotiate_loader_runtime_interface(
24707 loader_info: *const NegotiateLoaderInfo,
24708 runtime_request: *mut NegotiateRuntimeRequest,
24709 ) -> Result;
24710 #[link_name = "xrNegotiateLoaderApiLayerInterface"]
24711 pub fn negotiate_loader_api_layer_interface(
24712 loader_info: *const NegotiateLoaderInfo,
24713 layer_name: *const c_char,
24714 api_layer_request: *mut NegotiateApiLayerRequest,
24715 ) -> Result;
24716 #[link_name = "xrCreateApiLayerInstance"]
24717 pub fn create_api_layer_instance(
24718 info: *const InstanceCreateInfo,
24719 layer_info: *const ApiLayerCreateInfo,
24720 instance: *mut Instance,
24721 ) -> Result;
24722 #[link_name = "xrGetInstanceProcAddr"]
24723 pub fn get_instance_proc_addr(
24724 instance: Instance,
24725 name: *const c_char,
24726 function: *mut Option<pfn::VoidFunction>,
24727 ) -> Result;
24728 #[link_name = "xrEnumerateApiLayerProperties"]
24729 pub fn enumerate_api_layer_properties(
24730 property_capacity_input: u32,
24731 property_count_output: *mut u32,
24732 properties: *mut ApiLayerProperties,
24733 ) -> Result;
24734 #[link_name = "xrEnumerateInstanceExtensionProperties"]
24735 pub fn enumerate_instance_extension_properties(
24736 layer_name: *const c_char,
24737 property_capacity_input: u32,
24738 property_count_output: *mut u32,
24739 properties: *mut ExtensionProperties,
24740 ) -> Result;
24741 #[link_name = "xrCreateInstance"]
24742 pub fn create_instance(
24743 create_info: *const InstanceCreateInfo,
24744 instance: *mut Instance,
24745 ) -> Result;
24746 #[link_name = "xrDestroyInstance"]
24747 pub fn destroy_instance(instance: Instance) -> Result;
24748 #[link_name = "xrResultToString"]
24749 pub fn result_to_string(instance: Instance, value: Result, buffer: *mut c_char) -> Result;
24750 #[link_name = "xrStructureTypeToString"]
24751 pub fn structure_type_to_string(
24752 instance: Instance,
24753 value: StructureType,
24754 buffer: *mut c_char,
24755 ) -> Result;
24756 #[link_name = "xrGetInstanceProperties"]
24757 pub fn get_instance_properties(
24758 instance: Instance,
24759 instance_properties: *mut InstanceProperties,
24760 ) -> Result;
24761 #[link_name = "xrGetSystem"]
24762 pub fn get_system(
24763 instance: Instance,
24764 get_info: *const SystemGetInfo,
24765 system_id: *mut SystemId,
24766 ) -> Result;
24767 #[link_name = "xrGetSystemProperties"]
24768 pub fn get_system_properties(
24769 instance: Instance,
24770 system_id: SystemId,
24771 properties: *mut SystemProperties,
24772 ) -> Result;
24773 #[link_name = "xrCreateSession"]
24774 pub fn create_session(
24775 instance: Instance,
24776 create_info: *const SessionCreateInfo,
24777 session: *mut Session,
24778 ) -> Result;
24779 #[link_name = "xrDestroySession"]
24780 pub fn destroy_session(session: Session) -> Result;
24781 #[link_name = "xrDestroySpace"]
24782 pub fn destroy_space(space: Space) -> Result;
24783 #[link_name = "xrEnumerateSwapchainFormats"]
24784 pub fn enumerate_swapchain_formats(
24785 session: Session,
24786 format_capacity_input: u32,
24787 format_count_output: *mut u32,
24788 formats: *mut i64,
24789 ) -> Result;
24790 #[link_name = "xrCreateSwapchain"]
24791 pub fn create_swapchain(
24792 session: Session,
24793 create_info: *const SwapchainCreateInfo,
24794 swapchain: *mut Swapchain,
24795 ) -> Result;
24796 #[link_name = "xrDestroySwapchain"]
24797 pub fn destroy_swapchain(swapchain: Swapchain) -> Result;
24798 #[link_name = "xrEnumerateSwapchainImages"]
24799 pub fn enumerate_swapchain_images(
24800 swapchain: Swapchain,
24801 image_capacity_input: u32,
24802 image_count_output: *mut u32,
24803 images: *mut SwapchainImageBaseHeader,
24804 ) -> Result;
24805 #[link_name = "xrAcquireSwapchainImage"]
24806 pub fn acquire_swapchain_image(
24807 swapchain: Swapchain,
24808 acquire_info: *const SwapchainImageAcquireInfo,
24809 index: *mut u32,
24810 ) -> Result;
24811 #[link_name = "xrWaitSwapchainImage"]
24812 pub fn wait_swapchain_image(
24813 swapchain: Swapchain,
24814 wait_info: *const SwapchainImageWaitInfo,
24815 ) -> Result;
24816 #[link_name = "xrReleaseSwapchainImage"]
24817 pub fn release_swapchain_image(
24818 swapchain: Swapchain,
24819 release_info: *const SwapchainImageReleaseInfo,
24820 ) -> Result;
24821 #[link_name = "xrBeginSession"]
24822 pub fn begin_session(session: Session, begin_info: *const SessionBeginInfo) -> Result;
24823 #[link_name = "xrEndSession"]
24824 pub fn end_session(session: Session) -> Result;
24825 #[link_name = "xrRequestExitSession"]
24826 pub fn request_exit_session(session: Session) -> Result;
24827 #[link_name = "xrEnumerateReferenceSpaces"]
24828 pub fn enumerate_reference_spaces(
24829 session: Session,
24830 space_capacity_input: u32,
24831 space_count_output: *mut u32,
24832 spaces: *mut ReferenceSpaceType,
24833 ) -> Result;
24834 #[link_name = "xrCreateReferenceSpace"]
24835 pub fn create_reference_space(
24836 session: Session,
24837 create_info: *const ReferenceSpaceCreateInfo,
24838 space: *mut Space,
24839 ) -> Result;
24840 #[link_name = "xrCreateActionSpace"]
24841 pub fn create_action_space(
24842 session: Session,
24843 create_info: *const ActionSpaceCreateInfo,
24844 space: *mut Space,
24845 ) -> Result;
24846 #[link_name = "xrLocateSpace"]
24847 pub fn locate_space(
24848 space: Space,
24849 base_space: Space,
24850 time: Time,
24851 location: *mut SpaceLocation,
24852 ) -> Result;
24853 #[link_name = "xrEnumerateViewConfigurations"]
24854 pub fn enumerate_view_configurations(
24855 instance: Instance,
24856 system_id: SystemId,
24857 view_configuration_type_capacity_input: u32,
24858 view_configuration_type_count_output: *mut u32,
24859 view_configuration_types: *mut ViewConfigurationType,
24860 ) -> Result;
24861 #[link_name = "xrEnumerateEnvironmentBlendModes"]
24862 pub fn enumerate_environment_blend_modes(
24863 instance: Instance,
24864 system_id: SystemId,
24865 view_configuration_type: ViewConfigurationType,
24866 environment_blend_mode_capacity_input: u32,
24867 environment_blend_mode_count_output: *mut u32,
24868 environment_blend_modes: *mut EnvironmentBlendMode,
24869 ) -> Result;
24870 #[link_name = "xrGetViewConfigurationProperties"]
24871 pub fn get_view_configuration_properties(
24872 instance: Instance,
24873 system_id: SystemId,
24874 view_configuration_type: ViewConfigurationType,
24875 configuration_properties: *mut ViewConfigurationProperties,
24876 ) -> Result;
24877 #[link_name = "xrEnumerateViewConfigurationViews"]
24878 pub fn enumerate_view_configuration_views(
24879 instance: Instance,
24880 system_id: SystemId,
24881 view_configuration_type: ViewConfigurationType,
24882 view_capacity_input: u32,
24883 view_count_output: *mut u32,
24884 views: *mut ViewConfigurationView,
24885 ) -> Result;
24886 #[link_name = "xrBeginFrame"]
24887 pub fn begin_frame(session: Session, frame_begin_info: *const FrameBeginInfo) -> Result;
24888 #[link_name = "xrLocateViews"]
24889 pub fn locate_views(
24890 session: Session,
24891 view_locate_info: *const ViewLocateInfo,
24892 view_state: *mut ViewState,
24893 view_capacity_input: u32,
24894 view_count_output: *mut u32,
24895 views: *mut View,
24896 ) -> Result;
24897 #[link_name = "xrEndFrame"]
24898 pub fn end_frame(session: Session, frame_end_info: *const FrameEndInfo) -> Result;
24899 #[link_name = "xrWaitFrame"]
24900 pub fn wait_frame(
24901 session: Session,
24902 frame_wait_info: *const FrameWaitInfo,
24903 frame_state: *mut FrameState,
24904 ) -> Result;
24905 #[link_name = "xrApplyHapticFeedback"]
24906 pub fn apply_haptic_feedback(
24907 session: Session,
24908 haptic_action_info: *const HapticActionInfo,
24909 haptic_feedback: *const HapticBaseHeader,
24910 ) -> Result;
24911 #[link_name = "xrStopHapticFeedback"]
24912 pub fn stop_haptic_feedback(
24913 session: Session,
24914 haptic_action_info: *const HapticActionInfo,
24915 ) -> Result;
24916 #[link_name = "xrPollEvent"]
24917 pub fn poll_event(instance: Instance, event_data: *mut EventDataBuffer) -> Result;
24918 #[link_name = "xrStringToPath"]
24919 pub fn string_to_path(
24920 instance: Instance,
24921 path_string: *const c_char,
24922 path: *mut Path,
24923 ) -> Result;
24924 #[link_name = "xrPathToString"]
24925 pub fn path_to_string(
24926 instance: Instance,
24927 path: Path,
24928 buffer_capacity_input: u32,
24929 buffer_count_output: *mut u32,
24930 buffer: *mut c_char,
24931 ) -> Result;
24932 #[link_name = "xrGetReferenceSpaceBoundsRect"]
24933 pub fn get_reference_space_bounds_rect(
24934 session: Session,
24935 reference_space_type: ReferenceSpaceType,
24936 bounds: *mut Extent2Df,
24937 ) -> Result;
24938 #[link_name = "xrGetActionStateBoolean"]
24939 pub fn get_action_state_boolean(
24940 session: Session,
24941 get_info: *const ActionStateGetInfo,
24942 state: *mut ActionStateBoolean,
24943 ) -> Result;
24944 #[link_name = "xrGetActionStateFloat"]
24945 pub fn get_action_state_float(
24946 session: Session,
24947 get_info: *const ActionStateGetInfo,
24948 state: *mut ActionStateFloat,
24949 ) -> Result;
24950 #[link_name = "xrGetActionStateVector2f"]
24951 pub fn get_action_state_vector2f(
24952 session: Session,
24953 get_info: *const ActionStateGetInfo,
24954 state: *mut ActionStateVector2f,
24955 ) -> Result;
24956 #[link_name = "xrGetActionStatePose"]
24957 pub fn get_action_state_pose(
24958 session: Session,
24959 get_info: *const ActionStateGetInfo,
24960 state: *mut ActionStatePose,
24961 ) -> Result;
24962 #[link_name = "xrCreateActionSet"]
24963 pub fn create_action_set(
24964 instance: Instance,
24965 create_info: *const ActionSetCreateInfo,
24966 action_set: *mut ActionSet,
24967 ) -> Result;
24968 #[link_name = "xrDestroyActionSet"]
24969 pub fn destroy_action_set(action_set: ActionSet) -> Result;
24970 #[link_name = "xrCreateAction"]
24971 pub fn create_action(
24972 action_set: ActionSet,
24973 create_info: *const ActionCreateInfo,
24974 action: *mut Action,
24975 ) -> Result;
24976 #[link_name = "xrDestroyAction"]
24977 pub fn destroy_action(action: Action) -> Result;
24978 #[link_name = "xrSuggestInteractionProfileBindings"]
24979 pub fn suggest_interaction_profile_bindings(
24980 instance: Instance,
24981 suggested_bindings: *const InteractionProfileSuggestedBinding,
24982 ) -> Result;
24983 #[link_name = "xrAttachSessionActionSets"]
24984 pub fn attach_session_action_sets(
24985 session: Session,
24986 attach_info: *const SessionActionSetsAttachInfo,
24987 ) -> Result;
24988 #[link_name = "xrGetCurrentInteractionProfile"]
24989 pub fn get_current_interaction_profile(
24990 session: Session,
24991 top_level_user_path: Path,
24992 interaction_profile: *mut InteractionProfileState,
24993 ) -> Result;
24994 #[link_name = "xrSyncActions"]
24995 pub fn sync_actions(session: Session, sync_info: *const ActionsSyncInfo) -> Result;
24996 #[link_name = "xrEnumerateBoundSourcesForAction"]
24997 pub fn enumerate_bound_sources_for_action(
24998 session: Session,
24999 enumerate_info: *const BoundSourcesForActionEnumerateInfo,
25000 source_capacity_input: u32,
25001 source_count_output: *mut u32,
25002 sources: *mut Path,
25003 ) -> Result;
25004 #[link_name = "xrGetInputSourceLocalizedName"]
25005 pub fn get_input_source_localized_name(
25006 session: Session,
25007 get_info: *const InputSourceLocalizedNameGetInfo,
25008 buffer_capacity_input: u32,
25009 buffer_count_output: *mut u32,
25010 buffer: *mut c_char,
25011 ) -> Result;
25012 #[link_name = "xrLocateSpaces"]
25013 pub fn locate_spaces(
25014 session: Session,
25015 locate_info: *const SpacesLocateInfo,
25016 space_locations: *mut SpaceLocations,
25017 ) -> Result;
25018 #[link_name = "xrLocateSpacesKHR"]
25019 pub fn locate_spaces_khr(
25020 session: Session,
25021 locate_info: *const SpacesLocateInfo,
25022 space_locations: *mut SpaceLocations,
25023 ) -> Result;
25024}