summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/EventControlThread.cpp
diff options
context:
space:
mode:
author Dan Stoza <stoza@google.com> 2015-11-02 13:00:03 -0800
committer Dan Stoza <stoza@google.com> 2016-02-29 08:24:14 -0800
commit9e56aa0fdb5f7121b9b975c6c16db103ea4d2fe9 (patch)
tree3c91c52815a2a0bb851b0280e8be70a49a638208 /services/surfaceflinger/EventControlThread.cpp
parentfc4e202b33d33b5e11181f09a2229d3ef7ae925a (diff)
Switch SurfaceFlinger to HWC 2.0
Enables SurfaceFlinger to speak to version 2.0 of the Hardware Composer HAL instead of version 1.x (also removing support for the framebuffer HAL). By default, however, this functionality is disabled. In order to enable it, USE_HWC2 must be set to true in Android.mk. Change-Id: I4589e02ac2165236b10ff2f7cb772f87e0d3daab
Diffstat (limited to 'services/surfaceflinger/EventControlThread.cpp')
-rw-r--r--services/surfaceflinger/EventControlThread.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/surfaceflinger/EventControlThread.cpp b/services/surfaceflinger/EventControlThread.cpp
index 65040913fa..ee6e886d12 100644
--- a/services/surfaceflinger/EventControlThread.cpp
+++ b/services/surfaceflinger/EventControlThread.cpp
@@ -35,8 +35,12 @@ bool EventControlThread::threadLoop() {
bool vsyncEnabled = mVsyncEnabled;
+#ifdef USE_HWC2
+ mFlinger->setVsyncEnabled(HWC_DISPLAY_PRIMARY, mVsyncEnabled);
+#else
mFlinger->eventControl(HWC_DISPLAY_PRIMARY, SurfaceFlinger::EVENT_VSYNC,
mVsyncEnabled);
+#endif
while (true) {
status_t err = mCond.wait(mMutex);
@@ -47,8 +51,12 @@ bool EventControlThread::threadLoop() {
}
if (vsyncEnabled != mVsyncEnabled) {
+#ifdef USE_HWC2
+ mFlinger->setVsyncEnabled(HWC_DISPLAY_PRIMARY, mVsyncEnabled);
+#else
mFlinger->eventControl(HWC_DISPLAY_PRIMARY,
SurfaceFlinger::EVENT_VSYNC, mVsyncEnabled);
+#endif
vsyncEnabled = mVsyncEnabled;
}
}