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

Unified Diff: ui/gl/gl_surface_egl.cc

Issue 2696203004: Revert of "Route DXGI Frame Statistics to VSyncProvider" (Closed)
Patch Set: Created 3 years, 10 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.h ('k') | ui/gl/sync_control_vsync_provider.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gl/gl_surface_egl.cc
diff --git a/ui/gl/gl_surface_egl.cc b/ui/gl/gl_surface_egl.cc
index c17892fb1274eadae8dcf0db4a6076173e38b328..e3ae102b6999c7337d8c5c4d482d4104d8c77809 100644
--- a/ui/gl/gl_surface_egl.cc
+++ b/ui/gl/gl_surface_egl.cc
@@ -31,6 +31,7 @@
#include "ui/gl/gl_surface_stub.h"
#include "ui/gl/gl_switches.h"
#include "ui/gl/scoped_make_current.h"
+#include "ui/gl/sync_control_vsync_provider.h"
#if defined(USE_X11) && !defined(OS_CHROMEOS)
extern "C" {
@@ -136,6 +137,41 @@ bool g_egl_surfaceless_context_supported = false;
bool g_egl_surface_orientation_supported = false;
bool g_use_direct_composition = false;
+class EGLSyncControlVSyncProvider : public SyncControlVSyncProvider {
+ public:
+ explicit EGLSyncControlVSyncProvider(EGLSurface surface)
+ : SyncControlVSyncProvider(),
+ surface_(surface) {
+ }
+
+ ~EGLSyncControlVSyncProvider() override {}
+
+ protected:
+ bool GetSyncValues(int64_t* system_time,
+ int64_t* media_stream_counter,
+ int64_t* swap_buffer_counter) override {
+ uint64_t u_system_time, u_media_stream_counter, u_swap_buffer_counter;
+ bool result = eglGetSyncValuesCHROMIUM(
+ g_display, surface_, &u_system_time,
+ &u_media_stream_counter, &u_swap_buffer_counter) == EGL_TRUE;
+ if (result) {
+ *system_time = static_cast<int64_t>(u_system_time);
+ *media_stream_counter = static_cast<int64_t>(u_media_stream_counter);
+ *swap_buffer_counter = static_cast<int64_t>(u_swap_buffer_counter);
+ }
+ return result;
+ }
+
+ bool GetMscRate(int32_t* numerator, int32_t* denominator) override {
+ return false;
+ }
+
+ private:
+ EGLSurface surface_;
+
+ DISALLOW_COPY_AND_ASSIGN(EGLSyncControlVSyncProvider);
+};
+
EGLDisplay GetPlatformANGLEDisplay(EGLNativeDisplayType native_display,
EGLenum platform_type,
bool warpDevice) {
@@ -431,31 +467,6 @@ void GetEGLInitDisplays(bool supports_angle_d3d,
}
}
-EGLSyncControlVSyncProvider::EGLSyncControlVSyncProvider(EGLSurface surface)
- : SyncControlVSyncProvider(), surface_(surface) {}
-
-EGLSyncControlVSyncProvider::~EGLSyncControlVSyncProvider() {}
-
-bool EGLSyncControlVSyncProvider::GetSyncValues(int64_t* system_time,
- int64_t* media_stream_counter,
- int64_t* swap_buffer_counter) {
- uint64_t u_system_time, u_media_stream_counter, u_swap_buffer_counter;
- bool result = eglGetSyncValuesCHROMIUM(g_display, surface_, &u_system_time,
- &u_media_stream_counter,
- &u_swap_buffer_counter) == EGL_TRUE;
- if (result) {
- *system_time = static_cast<int64_t>(u_system_time);
- *media_stream_counter = static_cast<int64_t>(u_media_stream_counter);
- *swap_buffer_counter = static_cast<int64_t>(u_swap_buffer_counter);
- }
- return result;
-}
-
-bool EGLSyncControlVSyncProvider::GetMscRate(int32_t* numerator,
- int32_t* denominator) {
- return false;
-}
-
GLSurfaceEGL::GLSurfaceEGL() {}
GLSurfaceFormat GLSurfaceEGL::GetFormat() {
« no previous file with comments | « ui/gl/gl_surface_egl.h ('k') | ui/gl/sync_control_vsync_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698