The open source OpenXR runtime
0
fork

Configure Feed

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

xrt: Add xrt_application_info

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/1655>

authored by

Jarvis Huang and committed by
Rylie Pavlik
a86db130 31947810

+30 -14
+1
doc/changes/xrt/mr.1655.md
··· 1 + - Move `xrt_instance_info` members to nested `xrt_application_info` struct.
+16 -2
src/xrt/include/xrt/xrt_instance.h
··· 35 35 #define XRT_MAX_APPLICATION_NAME_SIZE 128 36 36 37 37 /*! 38 - * Information provided by the application at instance create time. 38 + * Non-process-specific information provided by the application at instance create time. 39 + * 40 + * This is transported between client and server over IPC. 41 + * 42 + * @see xrt_instance_info 39 43 */ 40 - struct xrt_instance_info 44 + struct xrt_application_info 41 45 { 42 46 char application_name[XRT_MAX_APPLICATION_NAME_SIZE]; 43 47 bool ext_hand_tracking_enabled; ··· 46 50 bool htc_facial_tracking_enabled; 47 51 bool fb_body_tracking_enabled; 48 52 bool fb_face_tracking2_enabled; 53 + }; 54 + 55 + /*! 56 + * Information provided by the application at instance create time. 57 + * 58 + * Some information may be process-specific. 59 + */ 60 + struct xrt_instance_info 61 + { 62 + struct xrt_application_info app_info; 49 63 }; 50 64 51 65 /*!
+4 -4
src/xrt/ipc/client/ipc_client_connection.c
··· 1 - // Copyright 2020-2023, Collabora, Ltd. 1 + // Copyright 2020-2024, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 /*! 4 4 * @file ··· 308 308 } 309 309 310 310 static xrt_result_t 311 - ipc_client_describe_client(struct ipc_connection *ipc_c, const struct xrt_instance_info *i_info) 311 + ipc_client_describe_client(struct ipc_connection *ipc_c, const struct xrt_application_info *a_info) 312 312 { 313 313 #ifdef XRT_OS_WINDOWS 314 314 DWORD pid = GetCurrentProcessId(); ··· 317 317 #endif 318 318 319 319 struct ipc_client_description desc = {0}; 320 - desc.info = *i_info; 320 + desc.info = *a_info; 321 321 desc.pid = pid; // Extra info. 322 322 323 323 xrt_result_t xret = ipc_call_instance_describe_client(ipc_c, &desc); ··· 385 385 } 386 386 387 387 // Do this last. 388 - xret = ipc_client_describe_client(ipc_c, i_info); 388 + xret = ipc_client_describe_client(ipc_c, &i_info->app_info); 389 389 if (xret != XRT_SUCCESS) { 390 390 goto err_fini; // Already logged. 391 391 }
+2 -2
src/xrt/ipc/shared/ipc_protocol.h
··· 288 288 struct ipc_client_description 289 289 { 290 290 pid_t pid; 291 - struct xrt_instance_info info; 291 + struct xrt_application_info info; 292 292 }; 293 293 294 294 struct ipc_client_list ··· 315 315 bool io_active; 316 316 uint32_t z_order; 317 317 pid_t pid; 318 - struct xrt_instance_info info; 318 + struct xrt_application_info info; 319 319 }; 320 320 321 321
+3 -2
src/xrt/state_trackers/oxr/oxr_instance.c
··· 264 264 // fill in our application info - @todo - replicate all createInfo 265 265 // fields? 266 266 267 - struct xrt_instance_info i_info = { 267 + struct xrt_instance_info i_info = {0}; 268 + i_info.app_info = (struct xrt_application_info){ 268 269 .ext_hand_tracking_enabled = extensions->EXT_hand_tracking, 269 270 #ifdef OXR_HAVE_EXT_eye_gaze_interaction 270 271 .ext_eye_gaze_interaction_enabled = extensions->EXT_eye_gaze_interaction, ··· 282 283 .fb_face_tracking2_enabled = extensions->FB_face_tracking2, 283 284 #endif 284 285 }; 285 - snprintf(i_info.application_name, sizeof(inst->xinst->instance_info.application_name), "%s", 286 + snprintf(i_info.app_info.application_name, sizeof(i_info.app_info.application_name), "%s", 286 287 createInfo->applicationInfo.applicationName); 287 288 288 289 #ifdef XRT_OS_ANDROID
+2 -2
src/xrt/targets/ctl/main.c
··· 1 - // Copyright 2020-2023, Collabora, Ltd. 1 + // Copyright 2020-2024, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 /*! 4 4 * @file ··· 189 189 struct ipc_connection ipc_c = {0}; 190 190 191 191 struct xrt_instance_info info = { 192 - .application_name = "monado-ctl", 192 + .app_info.application_name = "monado-ctl", 193 193 }; 194 194 195 195 xrt_result_t xret = ipc_client_connection_init(&ipc_c, U_LOGGING_INFO, &info);
+2 -2
src/xrt/targets/libmonado/monado.c
··· 1 - // Copyright 2019-2023, Collabora, Ltd. 1 + // Copyright 2019-2024, Collabora, Ltd. 2 2 // SPDX-License-Identifier: BSL-1.0 3 3 /*! 4 4 * @file ··· 128 128 mnd_root_t *r = U_TYPED_CALLOC(mnd_root_t); 129 129 130 130 struct xrt_instance_info info = {0}; 131 - snprintf(info.application_name, sizeof(info.application_name), "%s", "libmonado"); 131 + snprintf(info.app_info.application_name, sizeof(info.app_info.application_name), "%s", "libmonado"); 132 132 133 133 xrt_result_t xret = ipc_client_connection_init(&r->ipc_c, U_LOGGING_INFO, &info); 134 134 if (xret != XRT_SUCCESS) {