From 5dc7e7da9273a5b40a85f8f6177793a23669cf98 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Wed, 15 Dec 2010 14:41:59 -0800 Subject: [PATCH] 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 --- services/surfaceflinger/SurfaceFlinger.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index af0f95a25..664e5ad04 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; }