19#include "xrt/xrt_config_build.h"
27#if defined(XR_KHR_android_create_instance) && defined(XR_USE_PLATFORM_ANDROID)
28#define OXR_HAVE_KHR_android_create_instance
29#define OXR_EXTENSION_SUPPORT_KHR_android_create_instance(_) _(KHR_android_create_instance, KHR_ANDROID_CREATE_INSTANCE)
31#define OXR_EXTENSION_SUPPORT_KHR_android_create_instance(_)
38#if defined(XR_KHR_android_thread_settings) && defined(XR_USE_PLATFORM_ANDROID)
39#define OXR_HAVE_KHR_android_thread_settings
40#define OXR_EXTENSION_SUPPORT_KHR_android_thread_settings(_) _(KHR_android_thread_settings, KHR_ANDROID_THREAD_SETTINGS)
42#define OXR_EXTENSION_SUPPORT_KHR_android_thread_settings(_)
49#if defined(XR_KHR_binding_modification)
50#define OXR_HAVE_KHR_binding_modification
51#define OXR_EXTENSION_SUPPORT_KHR_binding_modification(_) _(KHR_binding_modification, KHR_BINDING_MODIFICATION)
53#define OXR_EXTENSION_SUPPORT_KHR_binding_modification(_)
60#if defined(XR_KHR_composition_layer_color_scale_bias) && defined(XRT_FEATURE_OPENXR_LAYER_COLOR_SCALE_BIAS)
61#define OXR_HAVE_KHR_composition_layer_color_scale_bias
62#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_color_scale_bias(_) \
63 _(KHR_composition_layer_color_scale_bias, KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS)
65#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_color_scale_bias(_)
72#if defined(XR_KHR_composition_layer_cube) && defined(XRT_FEATURE_OPENXR_LAYER_CUBE)
73#define OXR_HAVE_KHR_composition_layer_cube
74#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_cube(_) _(KHR_composition_layer_cube, KHR_COMPOSITION_LAYER_CUBE)
76#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_cube(_)
83#if defined(XR_KHR_composition_layer_cylinder) && defined(XRT_FEATURE_OPENXR_LAYER_CYLINDER)
84#define OXR_HAVE_KHR_composition_layer_cylinder
85#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_cylinder(_) \
86 _(KHR_composition_layer_cylinder, KHR_COMPOSITION_LAYER_CYLINDER)
88#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_cylinder(_)
95#if defined(XR_KHR_composition_layer_depth) && defined(XRT_FEATURE_OPENXR_LAYER_DEPTH)
96#define OXR_HAVE_KHR_composition_layer_depth
97#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_depth(_) _(KHR_composition_layer_depth, KHR_COMPOSITION_LAYER_DEPTH)
99#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_depth(_)
106#if defined(XR_KHR_composition_layer_equirect) && defined(XRT_FEATURE_OPENXR_LAYER_EQUIRECT1)
107#define OXR_HAVE_KHR_composition_layer_equirect
108#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_equirect(_) \
109 _(KHR_composition_layer_equirect, KHR_COMPOSITION_LAYER_EQUIRECT)
111#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_equirect(_)
118#if defined(XR_KHR_composition_layer_equirect2) && defined(XRT_FEATURE_OPENXR_LAYER_EQUIRECT2)
119#define OXR_HAVE_KHR_composition_layer_equirect2
120#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_equirect2(_) \
121 _(KHR_composition_layer_equirect2, KHR_COMPOSITION_LAYER_EQUIRECT2)
123#define OXR_EXTENSION_SUPPORT_KHR_composition_layer_equirect2(_)
130#if defined(XR_KHR_convert_timespec_time) && defined(XR_USE_TIMESPEC) && (!defined(XR_USE_PLATFORM_WIN32))
131#define OXR_HAVE_KHR_convert_timespec_time
132#define OXR_EXTENSION_SUPPORT_KHR_convert_timespec_time(_) _(KHR_convert_timespec_time, KHR_CONVERT_TIMESPEC_TIME)
134#define OXR_EXTENSION_SUPPORT_KHR_convert_timespec_time(_)
141#if defined(XR_KHR_D3D11_enable) && defined(XR_USE_GRAPHICS_API_D3D11)
142#define OXR_HAVE_KHR_D3D11_enable
143#define OXR_EXTENSION_SUPPORT_KHR_D3D11_enable(_) _(KHR_D3D11_enable, KHR_D3D11_ENABLE)
145#define OXR_EXTENSION_SUPPORT_KHR_D3D11_enable(_)
152#if defined(XR_KHR_D3D12_enable) && defined(XR_USE_GRAPHICS_API_D3D12)
153#define OXR_HAVE_KHR_D3D12_enable
154#define OXR_EXTENSION_SUPPORT_KHR_D3D12_enable(_) _(KHR_D3D12_enable, KHR_D3D12_ENABLE)
156#define OXR_EXTENSION_SUPPORT_KHR_D3D12_enable(_)
163#if defined(XR_KHR_extended_struct_name_lengths)
164#define OXR_HAVE_KHR_extended_struct_name_lengths
165#define OXR_EXTENSION_SUPPORT_KHR_extended_struct_name_lengths(_) \
166 _(KHR_extended_struct_name_lengths, KHR_EXTENDED_STRUCT_NAME_LENGTHS)
168#define OXR_EXTENSION_SUPPORT_KHR_extended_struct_name_lengths(_)
175#if defined(XR_KHR_loader_init) && defined(XR_USE_PLATFORM_ANDROID)
176#define OXR_HAVE_KHR_loader_init
177#define OXR_EXTENSION_SUPPORT_KHR_loader_init(_) _(KHR_loader_init, KHR_LOADER_INIT)
179#define OXR_EXTENSION_SUPPORT_KHR_loader_init(_)
186#if defined(XR_KHR_loader_init_android) && defined(OXR_HAVE_KHR_loader_init) && defined(XR_USE_PLATFORM_ANDROID)
187#define OXR_HAVE_KHR_loader_init_android
188#define OXR_EXTENSION_SUPPORT_KHR_loader_init_android(_) _(KHR_loader_init_android, KHR_LOADER_INIT_ANDROID)
190#define OXR_EXTENSION_SUPPORT_KHR_loader_init_android(_)
197#if defined(XR_KHR_locate_spaces)
198#define OXR_HAVE_KHR_locate_spaces
199#define OXR_EXTENSION_SUPPORT_KHR_locate_spaces(_) _(KHR_locate_spaces, KHR_LOCATE_SPACES)
201#define OXR_EXTENSION_SUPPORT_KHR_locate_spaces(_)
208#if defined(XR_KHR_maintenance1)
209#define OXR_HAVE_KHR_maintenance1
210#define OXR_EXTENSION_SUPPORT_KHR_maintenance1(_) _(KHR_maintenance1, KHR_MAINTENANCE1)
212#define OXR_EXTENSION_SUPPORT_KHR_maintenance1(_)
219#if defined(XR_KHR_opengl_enable) && defined(XR_USE_GRAPHICS_API_OPENGL)
220#define OXR_HAVE_KHR_opengl_enable
221#define OXR_EXTENSION_SUPPORT_KHR_opengl_enable(_) _(KHR_opengl_enable, KHR_OPENGL_ENABLE)
223#define OXR_EXTENSION_SUPPORT_KHR_opengl_enable(_)
230#if defined(XR_KHR_opengl_es_enable) && defined(XR_USE_GRAPHICS_API_OPENGL_ES)
231#define OXR_HAVE_KHR_opengl_es_enable
232#define OXR_EXTENSION_SUPPORT_KHR_opengl_es_enable(_) _(KHR_opengl_es_enable, KHR_OPENGL_ES_ENABLE)
234#define OXR_EXTENSION_SUPPORT_KHR_opengl_es_enable(_)
241#if defined(XR_KHR_swapchain_usage_input_attachment_bit)
242#define OXR_HAVE_KHR_swapchain_usage_input_attachment_bit
243#define OXR_EXTENSION_SUPPORT_KHR_swapchain_usage_input_attachment_bit(_) \
244 _(KHR_swapchain_usage_input_attachment_bit, KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT)
246#define OXR_EXTENSION_SUPPORT_KHR_swapchain_usage_input_attachment_bit(_)
253#if defined(XR_KHR_visibility_mask) && defined(XRT_FEATURE_OPENXR_VISIBILITY_MASK)
254#define OXR_HAVE_KHR_visibility_mask
255#define OXR_EXTENSION_SUPPORT_KHR_visibility_mask(_) _(KHR_visibility_mask, KHR_VISIBILITY_MASK)
257#define OXR_EXTENSION_SUPPORT_KHR_visibility_mask(_)
264#if defined(XR_KHR_vulkan_enable) && defined(XR_USE_GRAPHICS_API_VULKAN)
265#define OXR_HAVE_KHR_vulkan_enable
266#define OXR_EXTENSION_SUPPORT_KHR_vulkan_enable(_) _(KHR_vulkan_enable, KHR_VULKAN_ENABLE)
268#define OXR_EXTENSION_SUPPORT_KHR_vulkan_enable(_)
275#if defined(XR_KHR_vulkan_enable2) && defined(XR_USE_GRAPHICS_API_VULKAN)
276#define OXR_HAVE_KHR_vulkan_enable2
277#define OXR_EXTENSION_SUPPORT_KHR_vulkan_enable2(_) _(KHR_vulkan_enable2, KHR_VULKAN_ENABLE2)
279#define OXR_EXTENSION_SUPPORT_KHR_vulkan_enable2(_)
286#if defined(XR_KHR_vulkan_swapchain_format_list) && defined(XR_USE_GRAPHICS_API_VULKAN) && \
287 defined(XRT_FEATURE_OPENXR_VULKAN_SWAPCHAIN_FORMAT_LIST)
288#define OXR_HAVE_KHR_vulkan_swapchain_format_list
289#define OXR_EXTENSION_SUPPORT_KHR_vulkan_swapchain_format_list(_) \
290 _(KHR_vulkan_swapchain_format_list, KHR_VULKAN_SWAPCHAIN_FORMAT_LIST)
292#define OXR_EXTENSION_SUPPORT_KHR_vulkan_swapchain_format_list(_)
299#if defined(XR_KHR_win32_convert_performance_counter_time) && defined(XR_USE_PLATFORM_WIN32)
300#define OXR_HAVE_KHR_win32_convert_performance_counter_time
301#define OXR_EXTENSION_SUPPORT_KHR_win32_convert_performance_counter_time(_) \
302 _(KHR_win32_convert_performance_counter_time, KHR_WIN32_CONVERT_PERFORMANCE_COUNTER_TIME)
304#define OXR_EXTENSION_SUPPORT_KHR_win32_convert_performance_counter_time(_)
311#if defined(XR_EXT_active_action_set_priority) && defined(XRT_FEATURE_OPENXR_ACTIVE_ACTION_SET_PRIORITY)
312#define OXR_HAVE_EXT_active_action_set_priority
313#define OXR_EXTENSION_SUPPORT_EXT_active_action_set_priority(_) \
314 _(EXT_active_action_set_priority, EXT_ACTIVE_ACTION_SET_PRIORITY)
316#define OXR_EXTENSION_SUPPORT_EXT_active_action_set_priority(_)
323#if defined(XR_EXT_debug_utils) && defined(XRT_FEATURE_OPENXR_DEBUG_UTILS)
324#define OXR_HAVE_EXT_debug_utils
325#define OXR_EXTENSION_SUPPORT_EXT_debug_utils(_) _(EXT_debug_utils, EXT_DEBUG_UTILS)
327#define OXR_EXTENSION_SUPPORT_EXT_debug_utils(_)
334#if defined(XR_EXT_dpad_binding)
335#define OXR_HAVE_EXT_dpad_binding
336#define OXR_EXTENSION_SUPPORT_EXT_dpad_binding(_) _(EXT_dpad_binding, EXT_DPAD_BINDING)
338#define OXR_EXTENSION_SUPPORT_EXT_dpad_binding(_)
345#if defined(XR_EXT_eye_gaze_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE)
346#define OXR_HAVE_EXT_eye_gaze_interaction
347#define OXR_EXTENSION_SUPPORT_EXT_eye_gaze_interaction(_) _(EXT_eye_gaze_interaction, EXT_EYE_GAZE_INTERACTION)
349#define OXR_EXTENSION_SUPPORT_EXT_eye_gaze_interaction(_)
356#if defined(XR_EXT_future) && defined(XRT_FEATURE_OPENXR_FUTURE_EXT)
357#define OXR_HAVE_EXT_future
358#define OXR_EXTENSION_SUPPORT_EXT_future(_) _(EXT_future, EXT_FUTURE)
360#define OXR_EXTENSION_SUPPORT_EXT_future(_)
367#if defined(XR_EXT_hand_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_EXT_HAND)
368#define OXR_HAVE_EXT_hand_interaction
369#define OXR_EXTENSION_SUPPORT_EXT_hand_interaction(_) _(EXT_hand_interaction, EXT_HAND_INTERACTION)
371#define OXR_EXTENSION_SUPPORT_EXT_hand_interaction(_)
378#if defined(XR_EXT_hand_tracking) && defined(XRT_FEATURE_OPENXR_HAND_TRACKING_EXT)
379#define OXR_HAVE_EXT_hand_tracking
380#define OXR_EXTENSION_SUPPORT_EXT_hand_tracking(_) _(EXT_hand_tracking, EXT_HAND_TRACKING)
382#define OXR_EXTENSION_SUPPORT_EXT_hand_tracking(_)
389#if defined(XR_EXT_hand_tracking_data_source) && defined(XRT_FEATURE_OPENXR_HAND_TRACKING_DATA_SOURCE_EXT)
390#define OXR_HAVE_EXT_hand_tracking_data_source
391#define OXR_EXTENSION_SUPPORT_EXT_hand_tracking_data_source(_) \
392 _(EXT_hand_tracking_data_source, EXT_HAND_TRACKING_DATA_SOURCE)
394#define OXR_EXTENSION_SUPPORT_EXT_hand_tracking_data_source(_)
401#if defined(XR_EXT_hp_mixed_reality_controller) && defined(XRT_FEATURE_OPENXR_INTERACTION_WINMR)
402#define OXR_HAVE_EXT_hp_mixed_reality_controller
403#define OXR_EXTENSION_SUPPORT_EXT_hp_mixed_reality_controller(_) \
404 _(EXT_hp_mixed_reality_controller, EXT_HP_MIXED_REALITY_CONTROLLER)
406#define OXR_EXTENSION_SUPPORT_EXT_hp_mixed_reality_controller(_)
413#if defined(XR_EXT_local_floor) && defined(XRT_FEATURE_OPENXR_SPACE_LOCAL_FLOOR)
414#define OXR_HAVE_EXT_local_floor
415#define OXR_EXTENSION_SUPPORT_EXT_local_floor(_) _(EXT_local_floor, EXT_LOCAL_FLOOR)
417#define OXR_EXTENSION_SUPPORT_EXT_local_floor(_)
424#if defined(XR_EXT_palm_pose) && defined(XRT_FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE)
425#define OXR_HAVE_EXT_palm_pose
426#define OXR_EXTENSION_SUPPORT_EXT_palm_pose(_) _(EXT_palm_pose, EXT_PALM_POSE)
428#define OXR_EXTENSION_SUPPORT_EXT_palm_pose(_)
435#if defined(XR_EXT_performance_settings) && defined(XRT_FEATURE_OPENXR_PERFORMANCE_SETTINGS)
436#define OXR_HAVE_EXT_performance_settings
437#define OXR_EXTENSION_SUPPORT_EXT_performance_settings(_) _(EXT_performance_settings, EXT_PERFORMANCE_SETTINGS)
439#define OXR_EXTENSION_SUPPORT_EXT_performance_settings(_)
446#if defined(XR_EXT_plane_detection) && defined(XRT_FEATURE_OPENXR_PLANE_DETECTION)
447#define OXR_HAVE_EXT_plane_detection
448#define OXR_EXTENSION_SUPPORT_EXT_plane_detection(_) _(EXT_plane_detection, EXT_PLANE_DETECTION)
450#define OXR_EXTENSION_SUPPORT_EXT_plane_detection(_)
457#if defined(XR_EXT_samsung_odyssey_controller) && defined(XRT_FEATURE_OPENXR_INTERACTION_WINMR)
458#define OXR_HAVE_EXT_samsung_odyssey_controller
459#define OXR_EXTENSION_SUPPORT_EXT_samsung_odyssey_controller(_) \
460 _(EXT_samsung_odyssey_controller, EXT_SAMSUNG_ODYSSEY_CONTROLLER)
462#define OXR_EXTENSION_SUPPORT_EXT_samsung_odyssey_controller(_)
469#if defined(XR_EXT_user_presence) && defined(XRT_FEATURE_OPENXR_USER_PRESENCE)
470#define OXR_HAVE_EXT_user_presence
471#define OXR_EXTENSION_SUPPORT_EXT_user_presence(_) _(EXT_user_presence, EXT_USER_PRESENCE)
473#define OXR_EXTENSION_SUPPORT_EXT_user_presence(_)
480#if defined(XR_BD_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_BYTEDANCE)
481#define OXR_HAVE_BD_controller_interaction
482#define OXR_EXTENSION_SUPPORT_BD_controller_interaction(_) _(BD_controller_interaction, BD_CONTROLLER_INTERACTION)
484#define OXR_EXTENSION_SUPPORT_BD_controller_interaction(_)
491#if defined(XR_FB_body_tracking) && defined(XRT_FEATURE_OPENXR_BODY_TRACKING_FB)
492#define OXR_HAVE_FB_body_tracking
493#define OXR_EXTENSION_SUPPORT_FB_body_tracking(_) _(FB_body_tracking, FB_BODY_TRACKING)
495#define OXR_EXTENSION_SUPPORT_FB_body_tracking(_)
502#if defined(XR_FB_composition_layer_alpha_blend) && defined(XRT_FEATURE_OPENXR_LAYER_FB_ALPHA_BLEND)
503#define OXR_HAVE_FB_composition_layer_alpha_blend
504#define OXR_EXTENSION_SUPPORT_FB_composition_layer_alpha_blend(_) \
505 _(FB_composition_layer_alpha_blend, FB_COMPOSITION_LAYER_ALPHA_BLEND)
507#define OXR_EXTENSION_SUPPORT_FB_composition_layer_alpha_blend(_)
514#if defined(XR_FB_composition_layer_depth_test) && defined(XRT_FEATURE_OPENXR_LAYER_FB_DEPTH_TEST)
515#define OXR_HAVE_FB_composition_layer_depth_test
516#define OXR_EXTENSION_SUPPORT_FB_composition_layer_depth_test(_) \
517 _(FB_composition_layer_depth_test, FB_COMPOSITION_LAYER_DEPTH_TEST)
519#define OXR_EXTENSION_SUPPORT_FB_composition_layer_depth_test(_)
526#if defined(XR_FB_composition_layer_image_layout) && defined(XRT_FEATURE_OPENXR_LAYER_FB_IMAGE_LAYOUT)
527#define OXR_HAVE_FB_composition_layer_image_layout
528#define OXR_EXTENSION_SUPPORT_FB_composition_layer_image_layout(_) \
529 _(FB_composition_layer_image_layout, FB_COMPOSITION_LAYER_IMAGE_LAYOUT)
531#define OXR_EXTENSION_SUPPORT_FB_composition_layer_image_layout(_)
538#if defined(XR_FB_composition_layer_settings) && defined(XRT_FEATURE_OPENXR_LAYER_FB_SETTINGS)
539#define OXR_HAVE_FB_composition_layer_settings
540#define OXR_EXTENSION_SUPPORT_FB_composition_layer_settings(_) \
541 _(FB_composition_layer_settings, FB_COMPOSITION_LAYER_SETTINGS)
543#define OXR_EXTENSION_SUPPORT_FB_composition_layer_settings(_)
550#if defined(XR_FB_display_refresh_rate) && defined(XRT_FEATURE_OPENXR_DISPLAY_REFRESH_RATE)
551#define OXR_HAVE_FB_display_refresh_rate
552#define OXR_EXTENSION_SUPPORT_FB_display_refresh_rate(_) _(FB_display_refresh_rate, FB_DISPLAY_REFRESH_RATE)
554#define OXR_EXTENSION_SUPPORT_FB_display_refresh_rate(_)
561#if defined(XR_FB_face_tracking2) && defined(XRT_FEATURE_OPENXR_FACE_TRACKING2_FB)
562#define OXR_HAVE_FB_face_tracking2
563#define OXR_EXTENSION_SUPPORT_FB_face_tracking2(_) _(FB_face_tracking2, FB_FACE_TRACKING2)
565#define OXR_EXTENSION_SUPPORT_FB_face_tracking2(_)
572#if defined(XR_FB_haptic_pcm) && defined(XRT_FEATURE_OPENXR_HAPTIC_PCM)
573#define OXR_HAVE_FB_haptic_pcm
574#define OXR_EXTENSION_SUPPORT_FB_haptic_pcm(_) _(FB_haptic_pcm, FB_HAPTIC_PCM)
576#define OXR_EXTENSION_SUPPORT_FB_haptic_pcm(_)
583#if defined(XR_FB_passthrough) && defined(XRT_FEATURE_OPENXR_LAYER_FB_PASSTHROUGH)
584#define OXR_HAVE_FB_passthrough
585#define OXR_EXTENSION_SUPPORT_FB_passthrough(_) _(FB_passthrough, FB_PASSTHROUGH)
587#define OXR_EXTENSION_SUPPORT_FB_passthrough(_)
594#if defined(XR_FB_touch_controller_pro) && defined(XRT_FEATURE_OPENXR_INTERACTION_TOUCH_PRO)
595#define OXR_HAVE_FB_touch_controller_pro
596#define OXR_EXTENSION_SUPPORT_FB_touch_controller_pro(_) _(FB_touch_controller_pro, FB_TOUCH_CONTROLLER_PRO)
598#define OXR_EXTENSION_SUPPORT_FB_touch_controller_pro(_)
605#if defined(XR_FB_touch_controller_proximity) && defined(XRT_FEATURE_OPENXR_INTERACTION_FB_PROXIMITY)
606#define OXR_HAVE_FB_touch_controller_proximity
607#define OXR_EXTENSION_SUPPORT_FB_touch_controller_proximity(_) \
608 _(FB_touch_controller_proximity, FB_TOUCH_CONTROLLER_PROXIMITY)
610#define OXR_EXTENSION_SUPPORT_FB_touch_controller_proximity(_)
617#if defined(XR_HTC_facial_tracking) && defined(XRT_FEATURE_OPENXR_FACIAL_TRACKING_HTC)
618#define OXR_HAVE_HTC_facial_tracking
619#define OXR_EXTENSION_SUPPORT_HTC_facial_tracking(_) _(HTC_facial_tracking, HTC_FACIAL_TRACKING)
621#define OXR_EXTENSION_SUPPORT_HTC_facial_tracking(_)
628#if defined(XR_HTC_vive_cosmos_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_VIVE_COSMOS)
629#define OXR_HAVE_HTC_vive_cosmos_controller_interaction
630#define OXR_EXTENSION_SUPPORT_HTC_vive_cosmos_controller_interaction(_) \
631 _(HTC_vive_cosmos_controller_interaction, HTC_VIVE_COSMOS_CONTROLLER_INTERACTION)
633#define OXR_EXTENSION_SUPPORT_HTC_vive_cosmos_controller_interaction(_)
640#if defined(XR_HTC_vive_focus3_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_VIVE_FOCUS3)
641#define OXR_HAVE_HTC_vive_focus3_controller_interaction
642#define OXR_EXTENSION_SUPPORT_HTC_vive_focus3_controller_interaction(_) \
643 _(HTC_vive_focus3_controller_interaction, HTC_VIVE_FOCUS3_CONTROLLER_INTERACTION)
645#define OXR_EXTENSION_SUPPORT_HTC_vive_focus3_controller_interaction(_)
652#if defined(XR_META_body_tracking_calibration) && defined(XRT_FEATURE_OPENXR_BODY_TRACKING_CALIBRATION_META)
653#define OXR_HAVE_META_body_tracking_calibration
654#define OXR_EXTENSION_SUPPORT_META_body_tracking_calibration(_) \
655 _(META_body_tracking_calibration, META_BODY_TRACKING_CALIBRATION)
657#define OXR_EXTENSION_SUPPORT_META_body_tracking_calibration(_)
664#if defined(XR_META_body_tracking_full_body) && defined(XRT_FEATURE_OPENXR_BODY_TRACKING_FULL_BODY_META)
665#define OXR_HAVE_META_body_tracking_full_body
666#define OXR_EXTENSION_SUPPORT_META_body_tracking_full_body(_) \
667 _(META_body_tracking_full_body, META_BODY_TRACKING_FULL_BODY)
669#define OXR_EXTENSION_SUPPORT_META_body_tracking_full_body(_)
676#if defined(XR_META_touch_controller_plus) && defined(XRT_FEATURE_OPENXR_INTERACTION_TOUCH_PLUS)
677#define OXR_HAVE_META_touch_controller_plus
678#define OXR_EXTENSION_SUPPORT_META_touch_controller_plus(_) _(META_touch_controller_plus, META_TOUCH_CONTROLLER_PLUS)
680#define OXR_EXTENSION_SUPPORT_META_touch_controller_plus(_)
687#if defined(XR_ML_ml2_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_ML2)
688#define OXR_HAVE_ML_ml2_controller_interaction
689#define OXR_EXTENSION_SUPPORT_ML_ml2_controller_interaction(_) \
690 _(ML_ml2_controller_interaction, ML_ML2_CONTROLLER_INTERACTION)
692#define OXR_EXTENSION_SUPPORT_ML_ml2_controller_interaction(_)
699#if defined(XR_MND_headless) && defined(XRT_FEATURE_OPENXR_HEADLESS)
700#define OXR_HAVE_MND_headless
701#define OXR_EXTENSION_SUPPORT_MND_headless(_) _(MND_headless, MND_HEADLESS)
703#define OXR_EXTENSION_SUPPORT_MND_headless(_)
710#if defined(XR_MND_swapchain_usage_input_attachment_bit)
711#define OXR_HAVE_MND_swapchain_usage_input_attachment_bit
712#define OXR_EXTENSION_SUPPORT_MND_swapchain_usage_input_attachment_bit(_) \
713 _(MND_swapchain_usage_input_attachment_bit, MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT)
715#define OXR_EXTENSION_SUPPORT_MND_swapchain_usage_input_attachment_bit(_)
722#if defined(XR_MSFT_hand_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_MSFT_HAND)
723#define OXR_HAVE_MSFT_hand_interaction
724#define OXR_EXTENSION_SUPPORT_MSFT_hand_interaction(_) _(MSFT_hand_interaction, MSFT_HAND_INTERACTION)
726#define OXR_EXTENSION_SUPPORT_MSFT_hand_interaction(_)
733#if defined(XR_MSFT_unbounded_reference_space) && defined(XRT_FEATURE_OPENXR_SPACE_UNBOUNDED)
734#define OXR_HAVE_MSFT_unbounded_reference_space
735#define OXR_EXTENSION_SUPPORT_MSFT_unbounded_reference_space(_) \
736 _(MSFT_unbounded_reference_space, MSFT_UNBOUNDED_REFERENCE_SPACE)
738#define OXR_EXTENSION_SUPPORT_MSFT_unbounded_reference_space(_)
745#if defined(XR_OPPO_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_OPPO)
746#define OXR_HAVE_OPPO_controller_interaction
747#define OXR_EXTENSION_SUPPORT_OPPO_controller_interaction(_) _(OPPO_controller_interaction, OPPO_CONTROLLER_INTERACTION)
749#define OXR_EXTENSION_SUPPORT_OPPO_controller_interaction(_)
756#if defined(XR_EXTX_overlay) && defined(XRT_FEATURE_OPENXR_OVERLAY)
757#define OXR_HAVE_EXTX_overlay
758#define OXR_EXTENSION_SUPPORT_EXTX_overlay(_) _(EXTX_overlay, EXTX_OVERLAY)
760#define OXR_EXTENSION_SUPPORT_EXTX_overlay(_)
767#if defined(XR_HTCX_vive_tracker_interaction) && defined(ALWAYS_DISABLED)
768#define OXR_HAVE_HTCX_vive_tracker_interaction
769#define OXR_EXTENSION_SUPPORT_HTCX_vive_tracker_interaction(_) \
770 _(HTCX_vive_tracker_interaction, HTCX_VIVE_TRACKER_INTERACTION)
772#define OXR_EXTENSION_SUPPORT_HTCX_vive_tracker_interaction(_)
779#if defined(XR_MNDX_ball_on_a_stick_controller) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX)
780#define OXR_HAVE_MNDX_ball_on_a_stick_controller
781#define OXR_EXTENSION_SUPPORT_MNDX_ball_on_a_stick_controller(_) \
782 _(MNDX_ball_on_a_stick_controller, MNDX_BALL_ON_A_STICK_CONTROLLER)
784#define OXR_EXTENSION_SUPPORT_MNDX_ball_on_a_stick_controller(_)
791#if defined(XR_MNDX_blubur_s1) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX)
792#define OXR_HAVE_MNDX_blubur_s1
793#define OXR_EXTENSION_SUPPORT_MNDX_blubur_s1(_) _(MNDX_blubur_s1, MNDX_BLUBUR_S1)
795#define OXR_EXTENSION_SUPPORT_MNDX_blubur_s1(_)
802#if defined(XR_MNDX_oculus_remote) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX)
803#define OXR_HAVE_MNDX_oculus_remote
804#define OXR_EXTENSION_SUPPORT_MNDX_oculus_remote(_) _(MNDX_oculus_remote, MNDX_OCULUS_REMOTE)
806#define OXR_EXTENSION_SUPPORT_MNDX_oculus_remote(_)
813#if defined(XR_MNDX_egl_enable) && defined(XR_USE_PLATFORM_EGL)
814#define OXR_HAVE_MNDX_egl_enable
815#define OXR_EXTENSION_SUPPORT_MNDX_egl_enable(_) _(MNDX_egl_enable, MNDX_EGL_ENABLE)
817#define OXR_EXTENSION_SUPPORT_MNDX_egl_enable(_)
824#if defined(XR_MNDX_force_feedback_curl) && defined(XRT_FEATURE_OPENXR_FORCE_FEEDBACK_CURL)
825#define OXR_HAVE_MNDX_force_feedback_curl
826#define OXR_EXTENSION_SUPPORT_MNDX_force_feedback_curl(_) _(MNDX_force_feedback_curl, MNDX_FORCE_FEEDBACK_CURL)
828#define OXR_EXTENSION_SUPPORT_MNDX_force_feedback_curl(_)
835#if defined(XR_MNDX_hydra) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX)
836#define OXR_HAVE_MNDX_hydra
837#define OXR_EXTENSION_SUPPORT_MNDX_hydra(_) _(MNDX_hydra, MNDX_HYDRA)
839#define OXR_EXTENSION_SUPPORT_MNDX_hydra(_)
846#if defined(XR_MNDX_psvr2_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX)
847#define OXR_HAVE_MNDX_psvr2_interaction
848#define OXR_EXTENSION_SUPPORT_MNDX_psvr2_interaction(_) _(MNDX_psvr2_interaction, MNDX_PSVR2_INTERACTION)
850#define OXR_EXTENSION_SUPPORT_MNDX_psvr2_interaction(_)
857#if defined(XR_MNDX_system_buttons) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX)
858#define OXR_HAVE_MNDX_system_buttons
859#define OXR_EXTENSION_SUPPORT_MNDX_system_buttons(_) _(MNDX_system_buttons, MNDX_SYSTEM_BUTTONS)
861#define OXR_EXTENSION_SUPPORT_MNDX_system_buttons(_)
868#if defined(XR_MNDX_xdev_space) && defined(XRT_FEATURE_OPENXR_XDEV_SPACE)
869#define OXR_HAVE_MNDX_xdev_space
870#define OXR_EXTENSION_SUPPORT_MNDX_xdev_space(_) _(MNDX_xdev_space, MNDX_XDEV_SPACE)
872#define OXR_EXTENSION_SUPPORT_MNDX_xdev_space(_)
898#define OXR_EXTENSION_SUPPORT_GENERATE(_) \
899 OXR_EXTENSION_SUPPORT_KHR_android_create_instance(_) \
900 OXR_EXTENSION_SUPPORT_KHR_android_thread_settings(_) \
901 OXR_EXTENSION_SUPPORT_KHR_binding_modification(_) \
902 OXR_EXTENSION_SUPPORT_KHR_composition_layer_color_scale_bias(_) \
903 OXR_EXTENSION_SUPPORT_KHR_composition_layer_cube(_) \
904 OXR_EXTENSION_SUPPORT_KHR_composition_layer_cylinder(_) \
905 OXR_EXTENSION_SUPPORT_KHR_composition_layer_depth(_) \
906 OXR_EXTENSION_SUPPORT_KHR_composition_layer_equirect(_) \
907 OXR_EXTENSION_SUPPORT_KHR_composition_layer_equirect2(_) \
908 OXR_EXTENSION_SUPPORT_KHR_convert_timespec_time(_) \
909 OXR_EXTENSION_SUPPORT_KHR_D3D11_enable(_) \
910 OXR_EXTENSION_SUPPORT_KHR_D3D12_enable(_) \
911 OXR_EXTENSION_SUPPORT_KHR_extended_struct_name_lengths(_) \
912 OXR_EXTENSION_SUPPORT_KHR_loader_init(_) \
913 OXR_EXTENSION_SUPPORT_KHR_loader_init_android(_) \
914 OXR_EXTENSION_SUPPORT_KHR_locate_spaces(_) \
915 OXR_EXTENSION_SUPPORT_KHR_maintenance1(_) \
916 OXR_EXTENSION_SUPPORT_KHR_opengl_enable(_) \
917 OXR_EXTENSION_SUPPORT_KHR_opengl_es_enable(_) \
918 OXR_EXTENSION_SUPPORT_KHR_swapchain_usage_input_attachment_bit(_) \
919 OXR_EXTENSION_SUPPORT_KHR_visibility_mask(_) \
920 OXR_EXTENSION_SUPPORT_KHR_vulkan_enable(_) \
921 OXR_EXTENSION_SUPPORT_KHR_vulkan_enable2(_) \
922 OXR_EXTENSION_SUPPORT_KHR_vulkan_swapchain_format_list(_) \
923 OXR_EXTENSION_SUPPORT_KHR_win32_convert_performance_counter_time(_) \
924 OXR_EXTENSION_SUPPORT_EXT_active_action_set_priority(_) \
925 OXR_EXTENSION_SUPPORT_EXT_debug_utils(_) \
926 OXR_EXTENSION_SUPPORT_EXT_dpad_binding(_) \
927 OXR_EXTENSION_SUPPORT_EXT_eye_gaze_interaction(_) \
928 OXR_EXTENSION_SUPPORT_EXT_future(_) \
929 OXR_EXTENSION_SUPPORT_EXT_hand_interaction(_) \
930 OXR_EXTENSION_SUPPORT_EXT_hand_tracking(_) \
931 OXR_EXTENSION_SUPPORT_EXT_hand_tracking_data_source(_) \
932 OXR_EXTENSION_SUPPORT_EXT_hp_mixed_reality_controller(_) \
933 OXR_EXTENSION_SUPPORT_EXT_local_floor(_) \
934 OXR_EXTENSION_SUPPORT_EXT_palm_pose(_) \
935 OXR_EXTENSION_SUPPORT_EXT_performance_settings(_) \
936 OXR_EXTENSION_SUPPORT_EXT_plane_detection(_) \
937 OXR_EXTENSION_SUPPORT_EXT_samsung_odyssey_controller(_) \
938 OXR_EXTENSION_SUPPORT_EXT_user_presence(_) \
939 OXR_EXTENSION_SUPPORT_BD_controller_interaction(_) \
940 OXR_EXTENSION_SUPPORT_FB_body_tracking(_) \
941 OXR_EXTENSION_SUPPORT_FB_composition_layer_alpha_blend(_) \
942 OXR_EXTENSION_SUPPORT_FB_composition_layer_depth_test(_) \
943 OXR_EXTENSION_SUPPORT_FB_composition_layer_image_layout(_) \
944 OXR_EXTENSION_SUPPORT_FB_composition_layer_settings(_) \
945 OXR_EXTENSION_SUPPORT_FB_display_refresh_rate(_) \
946 OXR_EXTENSION_SUPPORT_FB_face_tracking2(_) \
947 OXR_EXTENSION_SUPPORT_FB_haptic_pcm(_) \
948 OXR_EXTENSION_SUPPORT_FB_passthrough(_) \
949 OXR_EXTENSION_SUPPORT_FB_touch_controller_pro(_) \
950 OXR_EXTENSION_SUPPORT_FB_touch_controller_proximity(_) \
951 OXR_EXTENSION_SUPPORT_HTC_facial_tracking(_) \
952 OXR_EXTENSION_SUPPORT_HTC_vive_cosmos_controller_interaction(_) \
953 OXR_EXTENSION_SUPPORT_HTC_vive_focus3_controller_interaction(_) \
954 OXR_EXTENSION_SUPPORT_META_body_tracking_calibration(_) \
955 OXR_EXTENSION_SUPPORT_META_body_tracking_full_body(_) \
956 OXR_EXTENSION_SUPPORT_META_touch_controller_plus(_) \
957 OXR_EXTENSION_SUPPORT_ML_ml2_controller_interaction(_) \
958 OXR_EXTENSION_SUPPORT_MND_headless(_) \
959 OXR_EXTENSION_SUPPORT_MND_swapchain_usage_input_attachment_bit(_) \
960 OXR_EXTENSION_SUPPORT_MSFT_hand_interaction(_) \
961 OXR_EXTENSION_SUPPORT_MSFT_unbounded_reference_space(_) \
962 OXR_EXTENSION_SUPPORT_OPPO_controller_interaction(_) \
963 OXR_EXTENSION_SUPPORT_EXTX_overlay(_) \
964 OXR_EXTENSION_SUPPORT_HTCX_vive_tracker_interaction(_) \
965 OXR_EXTENSION_SUPPORT_MNDX_ball_on_a_stick_controller(_) \
966 OXR_EXTENSION_SUPPORT_MNDX_blubur_s1(_) \
967 OXR_EXTENSION_SUPPORT_MNDX_oculus_remote(_) \
968 OXR_EXTENSION_SUPPORT_MNDX_egl_enable(_) \
969 OXR_EXTENSION_SUPPORT_MNDX_force_feedback_curl(_) \
970 OXR_EXTENSION_SUPPORT_MNDX_hydra(_) \
971 OXR_EXTENSION_SUPPORT_MNDX_psvr2_interaction(_) \
972 OXR_EXTENSION_SUPPORT_MNDX_system_buttons(_) \
973 OXR_EXTENSION_SUPPORT_MNDX_xdev_space(_)
Include all of the openxr headers in one place.