| // 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; |
| }; |