Disable EGL hibernation due to jank
Hibernating EGL takes a long time (>100 ms) and blocks all other rendering. During window animations, the outgoing activity begins hibernation before the animation stops, causing visible stutter. Hibernation is still available by setting 'BOARD_ALLOW_EGL_HIBERNATION := true' in the devices BoardConfig.mk Change-Id: Iab4e00723a1adcd97481e81b2efdc821b3e9712f
This commit is contained in:
parent
5c8a608497
commit
201f3b2da5
@ -36,6 +36,10 @@ LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
|
||||
LOCAL_CFLAGS += -fvisibility=hidden
|
||||
LOCAL_CFLAGS += -DEGL_TRACE=1
|
||||
|
||||
ifeq ($(BOARD_ALLOW_EGL_HIBERNATION),true)
|
||||
LOCAL_CFLAGS += -DBOARD_ALLOW_EGL_HIBERNATION
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_BOARD_PLATFORM),msm7k)
|
||||
LOCAL_CFLAGS += -DADRENO130=1
|
||||
endif
|
||||
|
@ -420,7 +420,7 @@ void egl_display_t::HibernationMachine::decWakeCount(WakeRefStrength strength) {
|
||||
if (mWakeCount == 0 && CC_UNLIKELY(mAttemptHibernation)) {
|
||||
egl_connection_t* const cnx = &gEGLImpl;
|
||||
mAttemptHibernation = false;
|
||||
if (mDpyValid &&
|
||||
if (mAllowHibernation && mDpyValid &&
|
||||
cnx->egl.eglHibernateProcessIMG &&
|
||||
cnx->egl.eglAwakenProcessIMG) {
|
||||
ALOGV("Hibernating\n");
|
||||
|
@ -155,7 +155,12 @@ private:
|
||||
};
|
||||
|
||||
HibernationMachine(): mWakeCount(0), mHibernating(false),
|
||||
mAttemptHibernation(false), mDpyValid(false)
|
||||
mAttemptHibernation(false), mDpyValid(false),
|
||||
#if BOARD_ALLOW_EGL_HIBERNATION
|
||||
mAllowHibernation(true)
|
||||
#else
|
||||
mAllowHibernation(false)
|
||||
#endif
|
||||
{}
|
||||
~HibernationMachine() {}
|
||||
|
||||
@ -165,11 +170,12 @@ private:
|
||||
void setDisplayValid(bool valid);
|
||||
|
||||
private:
|
||||
Mutex mLock;
|
||||
int32_t mWakeCount;
|
||||
bool mHibernating;
|
||||
bool mAttemptHibernation;
|
||||
bool mDpyValid;
|
||||
Mutex mLock;
|
||||
int32_t mWakeCount;
|
||||
bool mHibernating;
|
||||
bool mAttemptHibernation;
|
||||
bool mDpyValid;
|
||||
const bool mAllowHibernation;
|
||||
};
|
||||
HibernationMachine mHibernation;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user