The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

st/oxr: Make interaction profiles a build time option

+64 -22
+34
CMakeLists.txt
··· 362 362 # Most users won't touch these. 363 363 mark_as_advanced(XRT_MODULE_COMPOSITOR_MAIN XRT_MODULE_COMPOSITOR_NULL XRT_FEATURE_OPENXR) 364 364 365 + # Interaction extension support. 366 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE) 367 + set(XRT_FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE ON) 368 + endif() 369 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_EXT_HAND) 370 + set(XRT_FEATURE_OPENXR_INTERACTION_EXT_HAND ON) 371 + endif() 372 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE) 373 + set(XRT_FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE OFF) 374 + endif() 375 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_ML2) 376 + set(XRT_FEATURE_OPENXR_INTERACTION_ML2 ON) 377 + endif() 378 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_MNDX) 379 + set(XRT_FEATURE_OPENXR_INTERACTION_MNDX ON) 380 + endif() 381 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_MSFT_HAND) 382 + set(XRT_FEATURE_OPENXR_INTERACTION_MSFT_HAND OFF) 383 + endif() 384 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_OPPO) 385 + set(XRT_FEATURE_OPENXR_INTERACTION_OPPO ON) 386 + endif() 387 + if(NOT DEFINED XRT_FEATURE_OPENXR_INTERACTION_WINMR) 388 + set(XRT_FEATURE_OPENXR_INTERACTION_WINMR ON) 389 + endif() 390 + 365 391 # Defaults for OpenXR layer support 366 392 if(NOT DEFINED XRT_FEATURE_OPENXR_LAYER_DEPTH) 367 393 set(XRT_FEATURE_OPENXR_LAYER_DEPTH ON) ··· 572 598 message(STATUS "# FEATURE_DEBUG_GUI: ${XRT_FEATURE_DEBUG_GUI}") 573 599 message(STATUS "# FEATURE_OPENXR: ${XRT_FEATURE_OPENXR}") 574 600 message(STATUS "# FEATURE_OPENXR_DEBUG_UTILS: ${XRT_FEATURE_OPENXR_DEBUG_UTILS}") 601 + message(STATUS "# FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE: ${XRT_FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE}") 602 + message(STATUS "# FEATURE_OPENXR_INTERACTION_EXT_HAND: ${XRT_FEATURE_OPENXR_INTERACTION_EXT_HAND}") 603 + message(STATUS "# FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE: ${XRT_FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE}") 604 + message(STATUS "# FEATURE_OPENXR_INTERACTION_ML2: ${XRT_FEATURE_OPENXR_INTERACTION_ML2}") 605 + message(STATUS "# FEATURE_OPENXR_INTERACTION_MNDX: ${XRT_FEATURE_OPENXR_INTERACTION_MNDX}") 606 + message(STATUS "# FEATURE_OPENXR_INTERACTION_MSFT_HAND: ${XRT_FEATURE_OPENXR_INTERACTION_MSFT_HAND}") 607 + message(STATUS "# FEATURE_OPENXR_INTERACTION_OPPO: ${XRT_FEATURE_OPENXR_INTERACTION_OPPO}") 608 + message(STATUS "# FEATURE_OPENXR_INTERACTION_WINMR: ${XRT_FEATURE_OPENXR_INTERACTION_WINMR}") 575 609 message(STATUS "# FEATURE_OPENXR_LAYER_CUBE: ${XRT_FEATURE_OPENXR_LAYER_CUBE}") 576 610 message(STATUS "# FEATURE_OPENXR_LAYER_CYLINDER: ${XRT_FEATURE_OPENXR_LAYER_CYLINDER}") 577 611 message(STATUS "# FEATURE_OPENXR_LAYER_DEPTH: ${XRT_FEATURE_OPENXR_LAYER_DEPTH}")
+11 -11
scripts/generate_oxr_ext_support.py
··· 55 55 ['XR_KHR_win32_convert_performance_counter_time', 'XR_USE_PLATFORM_WIN32'], 56 56 ['XR_EXT_debug_utils', 'XRT_FEATURE_OPENXR_DEBUG_UTILS'], 57 57 ['XR_EXT_dpad_binding'], 58 - ['XR_EXT_eye_gaze_interaction'], 59 - ['XR_EXT_hand_interaction'], 58 + ['XR_EXT_eye_gaze_interaction', 'XRT_FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE'], 59 + ['XR_EXT_hand_interaction', 'XRT_FEATURE_OPENXR_INTERACTION_EXT_HAND'], 60 60 ['XR_EXT_hand_tracking'], 61 - ['XR_EXT_hp_mixed_reality_controller'], 61 + ['XR_EXT_hp_mixed_reality_controller', 'XRT_FEATURE_OPENXR_INTERACTION_WINMR'], 62 62 ['XR_EXT_local_floor', 'XRT_FEATURE_OPENXR_SPACE_LOCAL_FLOOR'], 63 - ['XR_EXT_palm_pose', 'ALWAYS_DISABLED'], 64 - ['XR_EXT_samsung_odyssey_controller'], 63 + ['XR_EXT_palm_pose', 'XRT_FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE'], 64 + ['XR_EXT_samsung_odyssey_controller', 'XRT_FEATURE_OPENXR_INTERACTION_WINMR'], 65 65 ['XR_FB_display_refresh_rate'], 66 - ['XR_ML_ml2_controller_interaction'], 66 + ['XR_ML_ml2_controller_interaction', 'XRT_FEATURE_OPENXR_INTERACTION_ML2'], 67 67 ['XR_MND_headless'], 68 68 ['XR_MND_swapchain_usage_input_attachment_bit'], 69 - ['XR_MSFT_hand_interaction', 'ALWAYS_DISABLED'], 69 + ['XR_MSFT_hand_interaction', 'XRT_FEATURE_OPENXR_INTERACTION_MSFT_HAND'], 70 70 ['XR_MSFT_unbounded_reference_space', 'XRT_FEATURE_OPENXR_SPACE_UNBOUNDED'], 71 - ['XR_OPPO_controller_interaction'], 71 + ['XR_OPPO_controller_interaction', 'XRT_FEATURE_OPENXR_INTERACTION_OPPO'], 72 72 ['XR_EXTX_overlay'], 73 73 ['XR_HTCX_vive_tracker_interaction', 'ALWAYS_DISABLED'], 74 - ['XR_MNDX_ball_on_a_stick_controller'], 74 + ['XR_MNDX_ball_on_a_stick_controller', 'XRT_FEATURE_OPENXR_INTERACTION_MNDX'], 75 75 ['XR_MNDX_egl_enable', 'XR_USE_PLATFORM_EGL', 'XR_USE_GRAPHICS_API_OPENGL'], 76 76 ['XR_MNDX_force_feedback_curl'], 77 - ['XR_MNDX_hydra'], 78 - ['XR_MNDX_system_buttons'], 77 + ['XR_MNDX_hydra', 'XRT_FEATURE_OPENXR_INTERACTION_MNDX'], 78 + ['XR_MNDX_system_buttons', 'XRT_FEATURE_OPENXR_INTERACTION_MNDX'], 79 79 ) 80 80 81 81
+8
src/xrt/include/xrt/xrt_config_build.h.cmake_in
··· 29 29 #cmakedefine XRT_FEATURE_DEBUG_GUI 30 30 #cmakedefine XRT_FEATURE_OPENXR 31 31 #cmakedefine XRT_FEATURE_OPENXR_DEBUG_UTILS 32 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE 33 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_EXT_HAND 34 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE 35 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_ML2 36 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_MNDX 37 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_MSFT_HAND 38 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_OPPO 39 + #cmakedefine XRT_FEATURE_OPENXR_INTERACTION_WINMR 32 40 #cmakedefine XRT_FEATURE_OPENXR_LAYER_CUBE 33 41 #cmakedefine XRT_FEATURE_OPENXR_LAYER_CYLINDER 34 42 #cmakedefine XRT_FEATURE_OPENXR_LAYER_DEPTH
+11 -11
src/xrt/state_trackers/oxr/oxr_extension_support.h
··· 271 271 /* 272 272 * XR_EXT_eye_gaze_interaction 273 273 */ 274 - #if defined(XR_EXT_eye_gaze_interaction) 274 + #if defined(XR_EXT_eye_gaze_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_EXT_EYE_GAZE) 275 275 #define OXR_HAVE_EXT_eye_gaze_interaction 276 276 #define OXR_EXTENSION_SUPPORT_EXT_eye_gaze_interaction(_) _(EXT_eye_gaze_interaction, EXT_EYE_GAZE_INTERACTION) 277 277 #else ··· 282 282 /* 283 283 * XR_EXT_hand_interaction 284 284 */ 285 - #if defined(XR_EXT_hand_interaction) 285 + #if defined(XR_EXT_hand_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_EXT_HAND) 286 286 #define OXR_HAVE_EXT_hand_interaction 287 287 #define OXR_EXTENSION_SUPPORT_EXT_hand_interaction(_) _(EXT_hand_interaction, EXT_HAND_INTERACTION) 288 288 #else ··· 304 304 /* 305 305 * XR_EXT_hp_mixed_reality_controller 306 306 */ 307 - #if defined(XR_EXT_hp_mixed_reality_controller) 307 + #if defined(XR_EXT_hp_mixed_reality_controller) && defined(XRT_FEATURE_OPENXR_INTERACTION_WINMR) 308 308 #define OXR_HAVE_EXT_hp_mixed_reality_controller 309 309 #define OXR_EXTENSION_SUPPORT_EXT_hp_mixed_reality_controller(_) \ 310 310 _(EXT_hp_mixed_reality_controller, EXT_HP_MIXED_REALITY_CONTROLLER) ··· 327 327 /* 328 328 * XR_EXT_palm_pose 329 329 */ 330 - #if defined(XR_EXT_palm_pose) && defined(ALWAYS_DISABLED) 330 + #if defined(XR_EXT_palm_pose) && defined(XRT_FEATURE_OPENXR_INTERACTION_EXT_PALM_POSE) 331 331 #define OXR_HAVE_EXT_palm_pose 332 332 #define OXR_EXTENSION_SUPPORT_EXT_palm_pose(_) _(EXT_palm_pose, EXT_PALM_POSE) 333 333 #else ··· 338 338 /* 339 339 * XR_EXT_samsung_odyssey_controller 340 340 */ 341 - #if defined(XR_EXT_samsung_odyssey_controller) 341 + #if defined(XR_EXT_samsung_odyssey_controller) && defined(XRT_FEATURE_OPENXR_INTERACTION_WINMR) 342 342 #define OXR_HAVE_EXT_samsung_odyssey_controller 343 343 #define OXR_EXTENSION_SUPPORT_EXT_samsung_odyssey_controller(_) \ 344 344 _(EXT_samsung_odyssey_controller, EXT_SAMSUNG_ODYSSEY_CONTROLLER) ··· 361 361 /* 362 362 * XR_ML_ml2_controller_interaction 363 363 */ 364 - #if defined(XR_ML_ml2_controller_interaction) 364 + #if defined(XR_ML_ml2_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_ML2) 365 365 #define OXR_HAVE_ML_ml2_controller_interaction 366 366 #define OXR_EXTENSION_SUPPORT_ML_ml2_controller_interaction(_) \ 367 367 _(ML_ml2_controller_interaction, ML_ML2_CONTROLLER_INTERACTION) ··· 396 396 /* 397 397 * XR_MSFT_hand_interaction 398 398 */ 399 - #if defined(XR_MSFT_hand_interaction) && defined(ALWAYS_DISABLED) 399 + #if defined(XR_MSFT_hand_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_MSFT_HAND) 400 400 #define OXR_HAVE_MSFT_hand_interaction 401 401 #define OXR_EXTENSION_SUPPORT_MSFT_hand_interaction(_) _(MSFT_hand_interaction, MSFT_HAND_INTERACTION) 402 402 #else ··· 419 419 /* 420 420 * XR_OPPO_controller_interaction 421 421 */ 422 - #if defined(XR_OPPO_controller_interaction) 422 + #if defined(XR_OPPO_controller_interaction) && defined(XRT_FEATURE_OPENXR_INTERACTION_OPPO) 423 423 #define OXR_HAVE_OPPO_controller_interaction 424 424 #define OXR_EXTENSION_SUPPORT_OPPO_controller_interaction(_) _(OPPO_controller_interaction, OPPO_CONTROLLER_INTERACTION) 425 425 #else ··· 453 453 /* 454 454 * XR_MNDX_ball_on_a_stick_controller 455 455 */ 456 - #if defined(XR_MNDX_ball_on_a_stick_controller) 456 + #if defined(XR_MNDX_ball_on_a_stick_controller) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX) 457 457 #define OXR_HAVE_MNDX_ball_on_a_stick_controller 458 458 #define OXR_EXTENSION_SUPPORT_MNDX_ball_on_a_stick_controller(_) \ 459 459 _(MNDX_ball_on_a_stick_controller, MNDX_BALL_ON_A_STICK_CONTROLLER) ··· 487 487 /* 488 488 * XR_MNDX_hydra 489 489 */ 490 - #if defined(XR_MNDX_hydra) 490 + #if defined(XR_MNDX_hydra) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX) 491 491 #define OXR_HAVE_MNDX_hydra 492 492 #define OXR_EXTENSION_SUPPORT_MNDX_hydra(_) _(MNDX_hydra, MNDX_HYDRA) 493 493 #else ··· 498 498 /* 499 499 * XR_MNDX_system_buttons 500 500 */ 501 - #if defined(XR_MNDX_system_buttons) 501 + #if defined(XR_MNDX_system_buttons) && defined(XRT_FEATURE_OPENXR_INTERACTION_MNDX) 502 502 #define OXR_HAVE_MNDX_system_buttons 503 503 #define OXR_EXTENSION_SUPPORT_MNDX_system_buttons(_) _(MNDX_system_buttons, MNDX_SYSTEM_BUTTONS) 504 504 #else