blob: 8b2f464e975538d4c587e4bad223d4845d3781ea [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;
};