summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/SurfaceFlinger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp14
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();
}