From 931bda1c472ba8c8e965bdba6757ff94154df903 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Wed, 28 Aug 2013 18:11:46 -0700 Subject: [PATCH] reset the gl viewport at each frame for each display Bug: 10097128, 9506003 Change-Id: Ie0403a631e339a9134216224f3366f46ece58b53 --- services/surfaceflinger/DisplayDevice.cpp | 2 +- services/surfaceflinger/SurfaceFlinger.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp index 9708ee330..61a936157 100644 --- a/services/surfaceflinger/DisplayDevice.cpp +++ b/services/surfaceflinger/DisplayDevice.cpp @@ -271,9 +271,9 @@ EGLBoolean DisplayDevice::makeCurrent(EGLDisplay dpy, EGLContext ctx) const { if (result == EGL_TRUE) { if (mType >= DisplayDevice::DISPLAY_VIRTUAL) eglSwapInterval(dpy, 0); - setViewportAndProjection(); } } + setViewportAndProjection(); return result; } diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 9fd3f25fe..0323cb73a 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -2726,6 +2726,7 @@ void SurfaceFlinger::renderScreenImplLocked( // compositionComplete is needed for older driver hw->compositionComplete(); + hw->setViewportAndProjection(); } @@ -2805,8 +2806,6 @@ status_t SurfaceFlinger::captureScreenImplLocked( native_window_api_disconnect(window, NATIVE_WINDOW_API_EGL); } - hw->setViewportAndProjection(); - return result; }