The open source OpenXR runtime
0
fork

Configure Feed

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

xrt: Switch scannout duration to int64_t

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

+5 -5
+1 -1
src/xrt/compositor/main/comp_renderer.c
··· 259 259 struct xrt_fov xdev_fovs[XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 260 260 struct xrt_pose xdev_poses[2][XRT_MAX_VIEWS] = XRT_STRUCT_INIT; 261 261 262 - uint64_t scanout_time_ns = 0; 262 + int64_t scanout_time_ns = 0; 263 263 if (r->c->xdev->hmd->screens[0].scanout_direction == XRT_SCANOUT_DIRECTION_TOP_TO_BOTTOM) { 264 264 scanout_time_ns = r->c->xdev->hmd->screens[0].scanout_time_ns; 265 265 } else if (r->c->xdev->hmd->screens[0].scanout_direction != XRT_SCANOUT_DIRECTION_NONE) {
+2 -2
src/xrt/drivers/steamvr_lh/device.cpp
··· 868 868 } 869 869 870 870 void 871 - HmdDevice::set_scanout_type(xrt_scanout_direction direction, uint64_t time_ns) 871 + HmdDevice::set_scanout_type(xrt_scanout_direction direction, int64_t time_ns) 872 872 { 873 873 auto set = [this, direction, time_ns] { 874 874 hmd_parts->base.screens[0].scanout_direction = direction; ··· 1047 1047 case vr::Prop_DisplayFrequency_Float: { 1048 1048 assert(prop.unBufferSize == sizeof(float)); 1049 1049 float freq = *static_cast<float *>(prop.pvBuffer); 1050 - uint64_t interval_ns = (1.f / freq) * 1e9f; 1050 + int64_t interval_ns = (1.f / freq) * 1e9f; 1051 1051 set_nominal_frame_interval(interval_ns); 1052 1052 if (variant == VIVE_VARIANT_PRO) { 1053 1053 set_scanout_type(XRT_SCANOUT_DIRECTION_TOP_TO_BOTTOM, interval_ns * 1600.0 / 1624.0);
+1 -1
src/xrt/drivers/steamvr_lh/device.hpp
··· 211 211 set_nominal_frame_interval(uint64_t interval_ns); 212 212 213 213 void 214 - set_scanout_type(enum xrt_scanout_direction direction, uint64_t time_ns); 214 + set_scanout_type(enum xrt_scanout_direction direction, int64_t time_ns); 215 215 216 216 std::condition_variable hmd_parts_cv; 217 217 std::mutex hmd_parts_mut;
+1 -1
src/xrt/include/xrt/xrt_device.h
··· 103 103 //! Nominal frame interval 104 104 uint64_t nominal_frame_interval_ns; 105 105 enum xrt_scanout_direction scanout_direction; 106 - uint64_t scanout_time_ns; 106 + int64_t scanout_time_ns; 107 107 } screens[1]; 108 108 109 109 /*!