diff options
author | Naseer Ahmed <naseer@codeaurora.org> | 2012-06-29 12:02:32 -0700 |
---|---|---|
committer | Iliyan Malchev <malchev@google.com> | 2012-07-09 22:04:19 -0700 |
commit | 0bc64be3f5198f8dda1ced21bbc957a1d76efbb7 (patch) | |
tree | 4fa7dd1ad90ea500c918122c63a5d9019aafe9c9 /libs/ui | |
parent | 07912f50930cf8cea2bc5f8f94e014c31af583b6 (diff) | |
download | frameworks_native-0bc64be3f5198f8dda1ced21bbc957a1d76efbb7.zip frameworks_native-0bc64be3f5198f8dda1ced21bbc957a1d76efbb7.tar.gz frameworks_native-0bc64be3f5198f8dda1ced21bbc957a1d76efbb7.tar.bz2 |
libs/ui: Add support for triple framebuffers
Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
Diffstat (limited to 'libs/ui')
-rw-r--r-- | libs/ui/FramebufferNativeWindow.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/libs/ui/FramebufferNativeWindow.cpp b/libs/ui/FramebufferNativeWindow.cpp index dec99b6..a1f204c 100644 --- a/libs/ui/FramebufferNativeWindow.cpp +++ b/libs/ui/FramebufferNativeWindow.cpp @@ -92,8 +92,13 @@ FramebufferNativeWindow::FramebufferNativeWindow() mUpdateOnDemand = (fbDev->setUpdateRect != 0); // initialize the buffer FIFO - mNumBuffers = NUM_FRAME_BUFFERS; - mNumFreeBuffers = NUM_FRAME_BUFFERS; + if(fbDev->numFramebuffers >= MIN_NUM_FRAME_BUFFERS && + fbDev->numFramebuffers <= MAX_NUM_FRAME_BUFFERS){ + mNumBuffers = fbDev->numFramebuffers; + } else { + mNumBuffers = MIN_NUM_FRAME_BUFFERS; + } + mNumFreeBuffers = mNumBuffers; mBufferHead = mNumBuffers-1; /* @@ -154,10 +159,11 @@ FramebufferNativeWindow::FramebufferNativeWindow() FramebufferNativeWindow::~FramebufferNativeWindow() { if (grDev) { - if (buffers[0] != NULL) - grDev->free(grDev, buffers[0]->handle); - if (buffers[1] != NULL) - grDev->free(grDev, buffers[1]->handle); + for(int i = 0; i < mNumBuffers; i++) { + if (buffers[i] != NULL) { + grDev->free(grDev, buffers[i]->handle); + } + } gralloc_close(grDev); } |