The open source OpenXR runtime

comp: handle xrt_device_get_view_poses returned result

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

+13 -2
+8 -1
src/xrt/compositor/main/comp_renderer.c
··· 311 struct xrt_fov xdev_fovs[XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 312 struct xrt_pose xdev_poses[XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 313 314 - xrt_device_get_view_poses( // 315 r->c->xdev, // 316 &default_eye_relation, // 317 r->c->frame.rendering.predicted_display_time_ns, // at_timestamp_ns ··· 319 &head_relation, // out_head_relation 320 xdev_fovs, // out_fovs 321 xdev_poses); // out_poses 322 323 struct xrt_fov dist_fov[XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 324 for (uint32_t i = 0; i < view_count; i++) {
··· 311 struct xrt_fov xdev_fovs[XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 312 struct xrt_pose xdev_poses[XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 313 314 + xrt_result_t xret = xrt_device_get_view_poses( // 315 r->c->xdev, // 316 &default_eye_relation, // 317 r->c->frame.rendering.predicted_display_time_ns, // at_timestamp_ns ··· 319 &head_relation, // out_head_relation 320 xdev_fovs, // out_fovs 321 xdev_poses); // out_poses 322 + if (xret != XRT_SUCCESS) { 323 + struct u_pp_sink_stack_only sink; 324 + u_pp_delegate_t dg = u_pp_sink_stack_only_init(&sink); 325 + u_pp_xrt_result(dg, xret); 326 + U_LOG_E("xrt_device_get_view_poses failed: %s", sink.buffer); 327 + return; 328 + } 329 330 struct xrt_fov dist_fov[XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 331 for (uint32_t i = 0; i < view_count; i++) {
+5 -1
src/xrt/compositor/null/null_compositor.c
··· 436 437 struct xrt_fov fovs[2] = {0}; 438 struct xrt_pose poses[2] = {0}; 439 - xrt_device_get_view_poses(c->xdev, &default_eye_relation, display_time_ns, 2, &head_relation, fovs, poses); 440 441 442 /*
··· 436 437 struct xrt_fov fovs[2] = {0}; 438 struct xrt_pose poses[2] = {0}; 439 + xrt_result_t xret = 440 + xrt_device_get_view_poses(c->xdev, &default_eye_relation, display_time_ns, 2, &head_relation, fovs, poses); 441 + if (xret != XRT_SUCCESS) { 442 + return xret; 443 + } 444 445 446 /*