summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/EventControlThread.cpp
diff options
context:
space:
mode:
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;
}
}