+1
CMakeLists.txt
+1
CMakeLists.txt
···
368
368
option(XRT_FEATURE_OPENXR_ACTIVE_ACTION_SET_PRIORITY "Enable XR_EXT_active_action_set_priority" ON)
369
369
option(XRT_FEATURE_OPENXR_BODY_TRACKING_FB "Enable XR_FB_body_tracking" OFF)
370
370
option(XRT_FEATURE_OPENXR_DISPLAY_REFRESH_RATE "Enable XR_FB_display_refresh_rate" ON)
371
+
option(XRT_FEATURE_OPENXR_FACE_TRACKING_ANDROID "Enable XR_ANDROID_face_tracking" OFF)
371
372
option(XRT_FEATURE_OPENXR_FACE_TRACKING2_FB "Enable XR_FB_face_tracking2" OFF)
372
373
option(XRT_FEATURE_OPENXR_FACIAL_TRACKING_HTC "Enable XR_HTC_facial_tracking" OFF)
373
374
option(XRT_FEATURE_OPENXR_FORCE_FEEDBACK_CURL "Enable XR_MNDX_force_feedback_curl" ON)
+1
scripts/generate_oxr_ext_support.py
+1
scripts/generate_oxr_ext_support.py
···
76
76
['XR_EXT_samsung_odyssey_controller', 'XRT_FEATURE_OPENXR_INTERACTION_WINMR'],
77
77
['XR_EXT_user_presence', 'XRT_FEATURE_OPENXR_USER_PRESENCE'],
78
78
# Vendor extensions, sorted alphabetically.
79
+
['XR_ANDROID_face_tracking', 'XRT_FEATURE_OPENXR_FACE_TRACKING_ANDROID'],
79
80
['XR_BD_controller_interaction', 'XRT_FEATURE_OPENXR_INTERACTION_BYTEDANCE'],
80
81
['XR_FB_body_tracking', 'XRT_FEATURE_OPENXR_BODY_TRACKING_FB'],
81
82
['XR_FB_composition_layer_alpha_blend', 'XRT_FEATURE_OPENXR_LAYER_FB_ALPHA_BLEND'],
+1
scripts/mapping.imp
+1
scripts/mapping.imp
···
40
40
{ symbol: ["XRT_FEATURE_OPENXR_BODY_TRACKING_FULL_BODY_META", "public", "\"xrt/xrt_config_build.h\"", "public"] },
41
41
{ symbol: ["XRT_FEATURE_OPENXR_DEBUG_UTILS", "public", "\"xrt/xrt_config_build.h\"", "public"] },
42
42
{ symbol: ["XRT_FEATURE_OPENXR_DISPLAY_REFRESH_RATE", "public", "\"xrt/xrt_config_build.h\"", "public"] },
43
+
{ symbol: ["XRT_FEATURE_OPENXR_FACE_TRACKING_ANDROID", "public", "\"xrt/xrt_config_build.h\"", "public"] },
43
44
{ symbol: ["XRT_FEATURE_OPENXR_FACE_TRACKING2_FB", "public", "\"xrt/xrt_config_build.h\"", "public"] },
44
45
{ symbol: ["XRT_FEATURE_OPENXR_FACIAL_TRACKING_HTC", "public", "\"xrt/xrt_config_build.h\"", "public"] },
45
46
{ symbol: ["XRT_FEATURE_OPENXR_FORCE_FEEDBACK_CURL", "public", "\"xrt/xrt_config_build.h\"", "public"] },
+1
src/xrt/compositor/multi/comp_multi_system.c
+1
src/xrt/compositor/multi/comp_multi_system.c
+1
src/xrt/include/xrt/xrt_compositor.h
+1
src/xrt/include/xrt/xrt_compositor.h
+1
src/xrt/include/xrt/xrt_config_build.h.cmake_in
+1
src/xrt/include/xrt/xrt_config_build.h.cmake_in
···
37
37
#cmakedefine XRT_FEATURE_OPENXR_BODY_TRACKING_FULL_BODY_META
38
38
#cmakedefine XRT_FEATURE_OPENXR_DEBUG_UTILS
39
39
#cmakedefine XRT_FEATURE_OPENXR_DISPLAY_REFRESH_RATE
40
+
#cmakedefine XRT_FEATURE_OPENXR_FACE_TRACKING_ANDROID
40
41
#cmakedefine XRT_FEATURE_OPENXR_FACE_TRACKING2_FB
41
42
#cmakedefine XRT_FEATURE_OPENXR_FACIAL_TRACKING_HTC
42
43
#cmakedefine XRT_FEATURE_OPENXR_FORCE_FEEDBACK_CURL
+1
src/xrt/include/xrt/xrt_instance.h
+1
src/xrt/include/xrt/xrt_instance.h
+2
src/xrt/ipc/server/ipc_server_handler.c
+2
src/xrt/ipc/server/ipc_server_handler.c
···
388
388
EXT(meta_body_tracking_full_body_enabled);
389
389
EXT(meta_body_tracking_calibration_enabled);
390
390
EXT(fb_face_tracking2_enabled);
391
+
EXT(android_face_tracking_enabled);
391
392
392
393
#undef EXT
393
394
#undef PTT
···
505
506
.fb_face_tracking2_enabled = ics->client_state.info.fb_face_tracking2_enabled,
506
507
.meta_body_tracking_full_body_enabled = ics->client_state.info.meta_body_tracking_full_body_enabled,
507
508
.meta_body_tracking_calibration_enabled = ics->client_state.info.meta_body_tracking_calibration_enabled,
509
+
.android_face_tracking_enabled = ics->client_state.info.android_face_tracking_enabled,
508
510
};
509
511
510
512
return xrt_comp_begin_session(ics->xc, &begin_session_info);
+12
src/xrt/state_trackers/oxr/oxr_extension_support.h
+12
src/xrt/state_trackers/oxr/oxr_extension_support.h
···
475
475
476
476
477
477
/*
478
+
* XR_ANDROID_face_tracking
479
+
*/
480
+
#if defined(XR_ANDROID_face_tracking) && defined(XRT_FEATURE_OPENXR_FACE_TRACKING_ANDROID)
481
+
#define OXR_HAVE_ANDROID_face_tracking
482
+
#define OXR_EXTENSION_SUPPORT_ANDROID_face_tracking(_) _(ANDROID_face_tracking, ANDROID_FACE_TRACKING)
483
+
#else
484
+
#define OXR_EXTENSION_SUPPORT_ANDROID_face_tracking(_)
485
+
#endif
486
+
487
+
488
+
/*
478
489
* XR_BD_controller_interaction
479
490
*/
480
491
#if defined(XR_BD_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_BYTEDANCE)
···
936
947
OXR_EXTENSION_SUPPORT_EXT_plane_detection(_) \
937
948
OXR_EXTENSION_SUPPORT_EXT_samsung_odyssey_controller(_) \
938
949
OXR_EXTENSION_SUPPORT_EXT_user_presence(_) \
950
+
OXR_EXTENSION_SUPPORT_ANDROID_face_tracking(_) \
939
951
OXR_EXTENSION_SUPPORT_BD_controller_interaction(_) \
940
952
OXR_EXTENSION_SUPPORT_FB_body_tracking(_) \
941
953
OXR_EXTENSION_SUPPORT_FB_composition_layer_alpha_blend(_) \
+3
src/xrt/state_trackers/oxr/oxr_instance.c
+3
src/xrt/state_trackers/oxr/oxr_instance.c
···
341
341
#ifdef OXR_HAVE_META_body_tracking_calibration
342
342
.meta_body_tracking_calibration_enabled = extensions->META_body_tracking_calibration,
343
343
#endif
344
+
#ifdef OXR_HAVE_ANDROID_face_tracking
345
+
.android_face_tracking_enabled = extensions->ANDROID_face_tracking,
346
+
#endif
344
347
};
345
348
snprintf(i_info.app_info.application_name, sizeof(i_info.app_info.application_name), "%s",
346
349
createInfo->applicationInfo.applicationName);
+3
src/xrt/state_trackers/oxr/oxr_session.c
+3
src/xrt/state_trackers/oxr/oxr_session.c
···
317
317
#ifdef OXR_HAVE_META_body_tracking_calibration
318
318
.meta_body_tracking_calibration_enabled = extensions->META_body_tracking_calibration,
319
319
#endif
320
+
#ifdef OXR_HAVE_ANDROID_face_tracking
321
+
.android_face_tracking_enabled = extensions->ANDROID_face_tracking,
322
+
#endif
320
323
};
321
324
322
325
xrt_result_t xret = xrt_comp_begin_session(xc, &begin_session_info);