summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-11-22 10:30:24 +0000
committerGerrit Code Review <gerrit@betelgeuse.canonical.com>2012-11-22 10:30:24 +0000
commit57d398bd8214a14686bd69777b6e65cacae5e12c (patch)
treeb252c5eebb0a43a2a541e5bbb352c8fb4460cdac
parent51703d5dcf346ca25a7a8859ec965b98d45be753 (diff)
parentbd211f8c8f6ad1ed64e843049b97af244c2507be (diff)
downloadnative-linaro_android_4.2.tar.gz
Merge "surfaceflinger: Handle screen timeout on hw without vsync" into linaro_android_4.2linaro_android_4.2
-rw-r--r--services/surfaceflinger/EventThread.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/services/surfaceflinger/EventThread.cpp b/services/surfaceflinger/EventThread.cpp
index edb9fa5807..b56c3daada 100644
--- a/services/surfaceflinger/EventThread.cpp
+++ b/services/surfaceflinger/EventThread.cpp
@@ -20,6 +20,7 @@
#include <sys/types.h>
#include <cutils/compiler.h>
+#include <cutils/properties.h>
#include <gui/BitTube.h>
#include <gui/IDisplayEventConnection.h>
@@ -41,6 +42,11 @@ EventThread::EventThread(const sp<SurfaceFlinger>& flinger)
mUseSoftwareVSync(false),
mDebugVsyncEnabled(false) {
+ char value[PROPERTY_VALUE_MAX];
+ property_get("debug.sf.no_hw_vsync", value, "0");
+ if (1 == atoi(value))
+ mUseSoftwareVSync = true;
+
for (int32_t i=0 ; i<HWC_DISPLAY_TYPES_SUPPORTED ; i++) {
mVSyncEvent[i].header.type = DisplayEventReceiver::DISPLAY_EVENT_VSYNC;
mVSyncEvent[i].header.id = 0;
@@ -108,6 +114,11 @@ void EventThread::onScreenAcquired() {
mUseSoftwareVSync = false;
mCondition.broadcast();
}
+
+ char value[PROPERTY_VALUE_MAX];
+ property_get("debug.sf.no_hw_vsync", value, "0");
+ if (1 == atoi(value))
+ mUseSoftwareVSync = true;
}