diff options
author | Mathias Agopian <mathias@google.com> | 2010-12-15 14:41:59 -0800 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2011-01-25 14:18:29 -0800 |
commit | 84c6f5a44c431a36a9e4395a7e23ab26480ba689 (patch) | |
tree | 659eacdd03cc6e2b5d46c43db2333a4289faef43 | |
parent | 728d849fc92bbf9b3bfd8c3903344ff58f3d5d06 (diff) | |
download | frameworks_base-84c6f5a44c431a36a9e4395a7e23ab26480ba689.zip frameworks_base-84c6f5a44c431a36a9e4395a7e23ab26480ba689.tar.gz frameworks_base-84c6f5a44c431a36a9e4395a7e23ab26480ba689.tar.bz2 |
workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)
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
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index af0f95a..664e5ad 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -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; } |