Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1998615f authored by Dan Stoza's avatar Dan Stoza Committed by Gerrit Code Review
Browse files

Merge "sf: Initialize EventThread before creating HWC"

parents dd749506 f9481058
Loading
Loading
Loading
Loading
+9 −9
Original line number Original line Diff line number Diff line
@@ -438,6 +438,15 @@ void SurfaceFlinger::init() {
    mEGLDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
    mEGLDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
    eglInitialize(mEGLDisplay, NULL, NULL);
    eglInitialize(mEGLDisplay, NULL, NULL);


    // start the EventThread
    sp<VSyncSource> vsyncSrc = new DispSyncSource(&mPrimaryDispSync,
            vsyncPhaseOffsetNs, true, "app");
    mEventThread = new EventThread(vsyncSrc);
    sp<VSyncSource> sfVsyncSrc = new DispSyncSource(&mPrimaryDispSync,
            sfVsyncPhaseOffsetNs, true, "sf");
    mSFEventThread = new EventThread(sfVsyncSrc);
    mEventQueue.setEventThread(mSFEventThread);

    // Initialize the H/W composer object.  There may or may not be an
    // Initialize the H/W composer object.  There may or may not be an
    // actual hardware composer underneath.
    // actual hardware composer underneath.
    mHwc = new HWComposer(this,
    mHwc = new HWComposer(this,
@@ -489,15 +498,6 @@ void SurfaceFlinger::init() {
    // (which may happens before we render something)
    // (which may happens before we render something)
    getDefaultDisplayDevice()->makeCurrent(mEGLDisplay, mEGLContext);
    getDefaultDisplayDevice()->makeCurrent(mEGLDisplay, mEGLContext);


    // start the EventThread
    sp<VSyncSource> vsyncSrc = new DispSyncSource(&mPrimaryDispSync,
            vsyncPhaseOffsetNs, true, "app");
    mEventThread = new EventThread(vsyncSrc);
    sp<VSyncSource> sfVsyncSrc = new DispSyncSource(&mPrimaryDispSync,
            sfVsyncPhaseOffsetNs, true, "sf");
    mSFEventThread = new EventThread(sfVsyncSrc);
    mEventQueue.setEventThread(mSFEventThread);

    mEventControlThread = new EventControlThread(this);
    mEventControlThread = new EventControlThread(this);
    mEventControlThread->run("EventControl", PRIORITY_URGENT_DISPLAY);
    mEventControlThread->run("EventControl", PRIORITY_URGENT_DISPLAY);