OSDN Git Service

workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)
authorMathias Agopian <mathias@google.com>
Wed, 15 Dec 2010 22:41:59 +0000 (14:41 -0800)
committerMathias Agopian <mathias@google.com>
Tue, 25 Jan 2011 22:18:29 +0000 (14:18 -0800)
we make sure to call compositionComplete after everytime we do
composition with the GPU (even for the screenshot case), which is
where the buffer locks are released.

Change-Id: I450430d1e4d1ee9ce1023970642378c42cdcfa4c

services/surfaceflinger/SurfaceFlinger.cpp

index af0f95a..664e5ad 100644 (file)
@@ -406,6 +406,7 @@ bool SurfaceFlinger::threadLoop()
         logger.log(GraphicLog::SF_REPAINT_DONE, index);
     } else {
         // pretend we did the post
+        hw.compositionComplete();
         unlockClients();
         usleep(16667); // 60 fps period
     }
@@ -2172,6 +2173,9 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
     glBindFramebufferOES(GL_FRAMEBUFFER_OES, 0);
     glDeleteRenderbuffersOES(1, &tname);
     glDeleteFramebuffersOES(1, &name);
+
+    hw.compositionComplete();
+
     return result;
 }