From af5cf402bf47991ac1bae50b814fad6524a47a13 Mon Sep 17 00:00:00 2001 From: Simon Zeni <simon.zeni@collabora.com> Date: Thu, 1 Aug 2024 15:23:28 -0400 Subject: [PATCH] xrt: use int64_t to represent timestamps Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2298> --- src/xrt/compositor/multi/comp_multi_compositor.c | 2 +- src/xrt/include/xrt/xrt_compositor.h | 4 ++-- src/xrt/include/xrt/xrt_defines.h | 4 ++-- src/xrt/include/xrt/xrt_frame.h | 4 ++-- src/xrt/include/xrt/xrt_instance.h | 2 +- src/xrt/include/xrt/xrt_session.h | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/xrt/compositor/multi/comp_multi_compositor.c b/src/xrt/compositor/multi/comp_multi_compositor.c index 063c27078..c3f43019c 100644 --- a/src/xrt/compositor/multi/comp_multi_compositor.c +++ b/src/xrt/compositor/multi/comp_multi_compositor.c @@ -179,7 +179,7 @@ wait_for_scheduled_free(struct multi_compositor *mc) // Block here if the scheduled slot is not clear. while (v_mc->scheduled.active) { - uint64_t now_ns = os_monotonic_get_ns(); + int64_t now_ns = os_monotonic_get_ns(); // This frame is for the next frame, drop the old one no matter what. if (time_is_within_half_ms(mc->progress.data.display_time_ns, mc->slot_next_frame_display)) { diff --git a/src/xrt/include/xrt/xrt_compositor.h b/src/xrt/include/xrt/xrt_compositor.h index 34be0b1af..0e6690b70 100644 --- a/src/xrt/include/xrt/xrt_compositor.h +++ b/src/xrt/include/xrt/xrt_compositor.h @@ -408,7 +408,7 @@ struct xrt_layer_data * The layer may be displayed after this point, but must never be * displayed before. */ - uint64_t timestamp; + int64_t timestamp; /*! * Composition flags @@ -477,7 +477,7 @@ struct xrt_layer_data struct xrt_layer_frame_data { int64_t frame_id; - uint64_t display_time_ns; + int64_t display_time_ns; enum xrt_blend_mode env_blend_mode; }; diff --git a/src/xrt/include/xrt/xrt_defines.h b/src/xrt/include/xrt/xrt_defines.h index 14f9004ad..fbf29d7f2 100644 --- a/src/xrt/include/xrt/xrt_defines.h +++ b/src/xrt/include/xrt/xrt_defines.h @@ -1614,7 +1614,7 @@ enum xrt_facial_tracking_type_htc struct xrt_facial_base_expression_set_htc { - uint64_t sample_time_ns; + int64_t sample_time_ns; bool is_active; }; @@ -1769,7 +1769,7 @@ struct xrt_body_joint_location_fb struct xrt_base_body_joint_set_meta { - uint64_t sample_time_ns; + int64_t sample_time_ns; float confidence; uint32_t skeleton_changed_count; bool is_active; diff --git a/src/xrt/include/xrt/xrt_frame.h b/src/xrt/include/xrt/xrt_frame.h index ed9f2606d..90c7645ba 100644 --- a/src/xrt/include/xrt/xrt_frame.h +++ b/src/xrt/include/xrt/xrt_frame.h @@ -36,8 +36,8 @@ struct xrt_frame enum xrt_format format; enum xrt_stereo_format stereo_format; - uint64_t timestamp; - uint64_t source_timestamp; + int64_t timestamp; + int64_t source_timestamp; uint64_t source_sequence; //!< sequence id uint64_t source_id; //!< Which @ref xrt_fs this frame originated from. }; diff --git a/src/xrt/include/xrt/xrt_instance.h b/src/xrt/include/xrt/xrt_instance.h index 187692198..c9ee28ab0 100644 --- a/src/xrt/include/xrt/xrt_instance.h +++ b/src/xrt/include/xrt/xrt_instance.h @@ -185,7 +185,7 @@ struct xrt_instance /*! * CLOCK_MONOTONIC timestamp of the instance startup. */ - uint64_t startup_timestamp; + int64_t startup_timestamp; /*! * An "aspect" of the xrt_instance interface, used only on Android. diff --git a/src/xrt/include/xrt/xrt_session.h b/src/xrt/include/xrt/xrt_session.h index 6ec998a91..554ecfab6 100644 --- a/src/xrt/include/xrt/xrt_session.h +++ b/src/xrt/include/xrt/xrt_session.h @@ -101,7 +101,7 @@ struct xrt_session_event_overlay struct xrt_session_event_loss_pending { enum xrt_session_event_type type; - uint64_t loss_time_ns; + int64_t loss_time_ns; }; /*! @@ -141,7 +141,7 @@ struct xrt_session_event_reference_space_change_pending { enum xrt_session_event_type event_type; enum xrt_reference_space_type ref_type; - uint64_t timestamp_ns; + int64_t timestamp_ns; struct xrt_pose pose_in_previous_space; bool pose_valid; };