blob: 23f8ebdbb4a62e06926052e96b749f8cab19dd26 [file] [log] [blame]
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.images;
/// Information returned by methods such as `ImagePipe.PresentImage()` and
/// `Session.Present()`, when the consumer begins preparing the first frame
/// which includes the presented content.
struct PresentationInfo {
/// The actual time at which the enqueued operations are anticipated to take
/// visible effect, expressed in nanoseconds in the `CLOCK_MONOTONIC`
/// timebase.
///
/// This value increases monotonically with each new frame, typically in
/// increments of the `presentation_interval`.
uint64 presentation_time;
/// The nominal amount of time which is anticipated to elapse between
/// successively presented frames, expressed in nanoseconds. When rendering
/// to a display, the interval will typically be derived from the display
/// refresh rate.
///
/// This value is non-zero. It may vary from time to time, such as when
/// changing display modes.
uint64 presentation_interval;
};