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