st/oxr: submit layers with os monotonic timestamp, not XrTime

The compositor does not know about XrTime, only os monotonic timestamps.
This commit is contained in:
Christoph Haag 2020-11-05 20:07:05 +01:00 committed by Jakob Bornecrantz
parent 3c13dbce43
commit 2e2a62ce1a

View file

@ -2012,39 +2012,42 @@ oxr_session_frame_end(struct oxr_logger *log,
frameEndInfo->layers[i];
assert(layer != NULL);
int64_t timestamp = time_state_ts_to_monotonic_ns(
sess->sys->inst->timekeeping, frameEndInfo->displayTime);
switch (layer->type) {
case XR_TYPE_COMPOSITION_LAYER_PROJECTION:
submit_projection_layer(
xc, log, (XrCompositionLayerProjection *)layer,
xdev, &inv_offset, frameEndInfo->displayTime);
xdev, &inv_offset, timestamp);
break;
case XR_TYPE_COMPOSITION_LAYER_QUAD:
submit_quad_layer(
sess, xc, log, (XrCompositionLayerQuad *)layer,
xdev, &inv_offset, frameEndInfo->displayTime);
submit_quad_layer(sess, xc, log,
(XrCompositionLayerQuad *)layer, xdev,
&inv_offset, timestamp);
break;
case XR_TYPE_COMPOSITION_LAYER_CUBE_KHR:
submit_cube_layer(
sess, xc, log, (XrCompositionLayerCubeKHR *)layer,
xdev, &inv_offset, frameEndInfo->displayTime);
submit_cube_layer(sess, xc, log,
(XrCompositionLayerCubeKHR *)layer,
xdev, &inv_offset, timestamp);
break;
case XR_TYPE_COMPOSITION_LAYER_CYLINDER_KHR:
submit_cylinder_layer(
sess, xc, log,
(XrCompositionLayerCylinderKHR *)layer, xdev,
&inv_offset, frameEndInfo->displayTime);
&inv_offset, timestamp);
break;
case XR_TYPE_COMPOSITION_LAYER_EQUIRECT_KHR:
submit_equirect_layer(
sess, xc, log,
(XrCompositionLayerEquirectKHR *)layer, xdev,
&inv_offset, frameEndInfo->displayTime);
&inv_offset, timestamp);
break;
case XR_TYPE_COMPOSITION_LAYER_EQUIRECT2_KHR:
submit_equirect2_layer(
sess, xc, log,
(XrCompositionLayerEquirect2KHR *)layer, xdev,
&inv_offset, frameEndInfo->displayTime);
&inv_offset, timestamp);
break;
default: assert(false && "invalid layer type");
}