diff options
Diffstat (limited to 'services/surfaceflinger/EventThread.cpp')
-rw-r--r-- | services/surfaceflinger/EventThread.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/services/surfaceflinger/EventThread.cpp b/services/surfaceflinger/EventThread.cpp index 7c1aebe..9b61fa9 100644 --- a/services/surfaceflinger/EventThread.cpp +++ b/services/surfaceflinger/EventThread.cpp @@ -24,31 +24,26 @@ #include <gui/DisplayEventReceiver.h> #include <utils/Errors.h> +#include <utils/String8.h> #include <utils/Trace.h> -#include "DisplayHardware/DisplayHardware.h" #include "EventThread.h" #include "SurfaceFlinger.h" // --------------------------------------------------------------------------- - namespace android { - // --------------------------------------------------------------------------- EventThread::EventThread(const sp<SurfaceFlinger>& flinger) : mFlinger(flinger), - mHw(flinger->graphicPlane(0).editDisplayHardware()), mLastVSyncTimestamp(0), mVSyncTimestamp(0), mUseSoftwareVSync(false), mDeliveredEvents(0), - mDebugVsyncEnabled(false) -{ + mDebugVsyncEnabled(false) { } void EventThread::onFirstRef() { - mHw.setVSyncHandler(this); run("EventThread", PRIORITY_URGENT_DISPLAY + PRIORITY_MORE_FAVORABLE); } @@ -254,13 +249,15 @@ bool EventThread::threadLoop() { void EventThread::enableVSyncLocked() { if (!mUseSoftwareVSync) { // never enable h/w VSYNC when screen is off - mHw.eventControl(DisplayHardware::EVENT_VSYNC, true); + mFlinger->eventControl(SurfaceFlinger::EVENT_VSYNC, true); + mPowerHAL.vsyncHint(true); } mDebugVsyncEnabled = true; } void EventThread::disableVSyncLocked() { - mHw.eventControl(DisplayHardware::EVENT_VSYNC, false); + mFlinger->eventControl(SurfaceFlinger::EVENT_VSYNC, false); + mPowerHAL.vsyncHint(false); mDebugVsyncEnabled = false; } |