summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-12-15 14:41:59 -0800
committerMathias Agopian <mathias@google.com>2011-01-25 14:18:29 -0800
commit84c6f5a44c431a36a9e4395a7e23ab26480ba689 (patch)
tree659eacdd03cc6e2b5d46c43db2333a4289faef43 /services
parent728d849fc92bbf9b3bfd8c3903344ff58f3d5d06 (diff)
downloadframeworks_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
Diffstat (limited to 'services')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp4
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;
}