diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2011-08-22 16:46:13 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-22 16:46:13 -0700 |
commit | 377f79007646131d8b91f685c89cb49abec5a996 (patch) | |
tree | 3dcc1b1c8c94096bf5477216b578aa8b5a2cabc0 /Source | |
parent | ed38269b68d46d6aaa137dea8c022bc7f9c4996d (diff) | |
parent | 99722bcc8d0f9fcde19f6dfaab330c44326e4638 (diff) | |
download | external_webkit-377f79007646131d8b91f685c89cb49abec5a996.zip external_webkit-377f79007646131d8b91f685c89cb49abec5a996.tar.gz external_webkit-377f79007646131d8b91f685c89cb49abec5a996.tar.bz2 |
Merge "Avoid the lock when dealing with Surface Texture"
Diffstat (limited to 'Source')
-rw-r--r-- | Source/WebCore/platform/graphics/android/TransferQueue.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/WebCore/platform/graphics/android/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/TransferQueue.cpp index 00c9e68..851d02c 100644 --- a/Source/WebCore/platform/graphics/android/TransferQueue.cpp +++ b/Source/WebCore/platform/graphics/android/TransferQueue.cpp @@ -288,10 +288,9 @@ void TransferQueue::updateDirtyBaseTiles() void TransferQueue::updateQueueWithBitmap(const TileRenderInfo* renderInfo, int x, int y, const SkBitmap& bitmap) { - android::Mutex::Autolock lock(m_transferQueueItemLocks); - + m_transferQueueItemLocks.lock(); bool ready = readyForUpdate(); - + m_transferQueueItemLocks.unlock(); if (!ready) { XLOG("Quit bitmap update: not ready! for tile x y %d %d", renderInfo->x, renderInfo->y); @@ -333,9 +332,10 @@ void TransferQueue::updateQueueWithBitmap(const TileRenderInfo* renderInfo, } ANativeWindow_unlockAndPost(m_ANW.get()); - + m_transferQueueItemLocks.lock(); // b) After update the Surface Texture, now udpate the transfer queue info. addItemInTransferQueue(renderInfo); + m_transferQueueItemLocks.unlock(); XLOG("Bitmap updated x, y %d %d, baseTile %p", renderInfo->x, renderInfo->y, renderInfo->baseTile); } |