diff options
Diffstat (limited to 'libgralloc/framebuffer.cpp')
-rw-r--r-- | libgralloc/framebuffer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libgralloc/framebuffer.cpp b/libgralloc/framebuffer.cpp index 4f8401158..dd630d525 100644 --- a/libgralloc/framebuffer.cpp +++ b/libgralloc/framebuffer.cpp @@ -136,6 +136,13 @@ static int fb_post(struct framebuffer_device_t* dev, buffer_handle_t buffer) genlock_unlock_buffer(hnd); return -errno; } + + //Signals the composition thread to unblock and loop over if necessary + pthread_mutex_lock(&m->fbPanLock); + m->fbPanDone = true; + pthread_cond_signal(&m->fbPanCond); + pthread_mutex_unlock(&m->fbPanLock); + CALC_FPS(); m->currentBuffer = hnd; } @@ -365,6 +372,9 @@ int mapFrameBufferLocked(struct private_module_t* module) module->fbPostDone = false; pthread_mutex_init(&(module->fbPostLock), NULL); pthread_cond_init(&(module->fbPostCond), NULL); + module->fbPanDone = false; + pthread_mutex_init(&(module->fbPanLock), NULL); + pthread_cond_init(&(module->fbPanCond), NULL); return 0; } |