Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(260)

Unified Diff: ui/gl/sync_control_vsync_provider.h

Issue 2411803003: Route DXGI Frame Statistics to VSyncProvider (Closed)
Patch Set: Build error fix Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gl/gl_surface_egl.cc ('k') | ui/gl/sync_control_vsync_provider.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gl/sync_control_vsync_provider.h
diff --git a/ui/gl/sync_control_vsync_provider.h b/ui/gl/sync_control_vsync_provider.h
index ea1681cf19de3c850801a7683ee23f12941b7f68..3b21e604bb8338fda65255fab7137564bdac1508 100644
--- a/ui/gl/sync_control_vsync_provider.h
+++ b/ui/gl/sync_control_vsync_provider.h
@@ -11,12 +11,13 @@
#include "base/macros.h"
#include "ui/gfx/vsync_provider.h"
+#include "ui/gl/gl_export.h"
namespace gl {
// Base class for providers based on extensions like GLX_OML_sync_control and
// EGL_CHROMIUM_sync_control.
-class SyncControlVSyncProvider : public gfx::VSyncProvider {
+class GL_EXPORT SyncControlVSyncProvider : public gfx::VSyncProvider {
public:
SyncControlVSyncProvider();
~SyncControlVSyncProvider() override;
@@ -31,18 +32,23 @@ class SyncControlVSyncProvider : public gfx::VSyncProvider {
virtual bool GetMscRate(int32_t* numerator, int32_t* denominator) = 0;
private:
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_WIN)
+ bool AdjustSyncValues(int64_t* system_time, int64_t* media_stream_counter);
+
base::TimeTicks last_timebase_;
uint64_t last_media_stream_counter_ = 0;
base::TimeDelta last_good_interval_;
- bool invalid_msc_ = false;
// A short history of the last few computed intervals.
// We use this to filter out the noise in the computation resulting
// from configuration change (monitor reconfiguration, moving windows
// between monitors, suspend and resume, etc.).
std::queue<base::TimeDelta> last_computed_intervals_;
-#endif
+#endif // defined(OS_LINUX) || defined(OS_WIN)
+
+#if defined(OS_LINUX)
+ bool invalid_msc_ = false;
+#endif // defined(OS_LINUX)
DISALLOW_COPY_AND_ASSIGN(SyncControlVSyncProvider);
};
« no previous file with comments | « ui/gl/gl_surface_egl.cc ('k') | ui/gl/sync_control_vsync_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698