diff options
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 043b075..12f22a7 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -35,6 +35,7 @@ #include <binder/PermissionCache.h> #include <ui/DisplayInfo.h> +#include <ui/DisplayStatInfo.h> #include <gui/BitTube.h> #include <gui/BufferQueue.h> @@ -603,6 +604,19 @@ status_t SurfaceFlinger::getDisplayConfigs(const sp<IBinder>& display, return NO_ERROR; } +status_t SurfaceFlinger::getDisplayStats(const sp<IBinder>& display, + DisplayStatInfo* stats) { + if (stats == NULL) { + return BAD_VALUE; + } + + // FIXME for now we always return stats for the primary display + memset(stats, 0, sizeof(*stats)); + stats->vsyncTime = mPrimaryDispSync.computeNextRefresh(0); + stats->vsyncPeriod = mPrimaryDispSync.getPeriod(); + return NO_ERROR; +} + int SurfaceFlinger::getActiveConfig(const sp<IBinder>& display) { return getDisplayDevice(display)->getActiveConfig(); } |