1234567891011121314151617181920212223242526272829303132333435 |
- // Copyright (c) 2018 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef UI_GL_EGL_TIMESTAMPS_H_
- #define UI_GL_EGL_TIMESTAMPS_H_
- #include "base/time/time.h"
- #include "ui/gl/gl_export.h"
- namespace gl {
- // Interface to query EGL timestamps.
- class GL_EXPORT EGLTimestampClient {
- public:
- virtual ~EGLTimestampClient() {}
- // Returns whether EGL Timestamps are supported or not.
- virtual bool IsEGLTimestampSupported() const = 0;
- // Returns false if the egl timestamps are pending for the given frame id. If
- // timestamps are pending, it means the frame is not yet done. Also returns
- // the presentation time, composite interval and presentation flags for a
- // frame as out parameters.
- virtual bool GetFrameTimestampInfoIfAvailable(
- base::TimeTicks* presentation_time,
- base::TimeDelta* composite_interval,
- base::TimeTicks* writes_done_time,
- uint32_t* presentation_flags,
- int frame_id) = 0;
- };
- } // namespace gl
- #endif // UI_GL_EGL_TIMESTAMPS_H_
|