From b1e2f8deb38353e4bcc9d3ef06bc15bd5e417425 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Thu, 8 Jun 2017 15:43:59 -0700 Subject: Properly run window animations at vsync-sf (2/2) - Add new Choreographer instance that runs on vsync-sf - Use this new Choreographer for WindowAnimator, and remove all the hacks around it Test: Open apps and close apps, notice no stutter Test: Screen zoom animations Test: go/wm-smoke Bug: 36631902 Change-Id: I72a8b39709303a38fc077100229b8a81a153ba3e --- services/surfaceflinger/SurfaceFlinger.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'services/surfaceflinger/SurfaceFlinger.cpp') diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 801e8ddf4d..a49e8f4aa8 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -1024,8 +1024,13 @@ status_t SurfaceFlinger::injectVSync(nsecs_t when) { // ---------------------------------------------------------------------------- -sp SurfaceFlinger::createDisplayEventConnection() { - return mEventThread->createEventConnection(); +sp SurfaceFlinger::createDisplayEventConnection( + ISurfaceComposer::VsyncSource vsyncSource) { + if (vsyncSource == eVsyncSourceSurfaceFlinger) { + return mSFEventThread->createEventConnection(); + } else { + return mEventThread->createEventConnection(); + } } // ---------------------------------------------------------------------------- -- cgit v1.2.3-59-g8ed1b