diff options
author | 2010-05-18 17:06:55 -0700 | |
---|---|---|
committer | 2010-05-20 18:00:42 -0700 | |
commit | 898c4c91be8e11b6d5388c623ae80f12ac25fd27 (patch) | |
tree | 8f59a103707c25a05bcf4fa074e944e766c15503 /libs/surfaceflinger/TextureManager.cpp | |
parent | 66c46a6bd15422fe898d533d1350d6df748dd95b (diff) |
fix the threading issue for setBuffercount()
this change introduces R/W locks in the right places.
on the server-side, it guarantees that setBufferCount()
is synchronized with "retire" and "resize".
on the client-side, it guarantees that setBufferCount()
is synchronized with "dequeue", "lockbuffer" and "queue"
Diffstat (limited to 'libs/surfaceflinger/TextureManager.cpp')
-rw-r--r-- | libs/surfaceflinger/TextureManager.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libs/surfaceflinger/TextureManager.cpp b/libs/surfaceflinger/TextureManager.cpp index e5d5302b7d23..ee2159b3ffed 100644 --- a/libs/surfaceflinger/TextureManager.cpp +++ b/libs/surfaceflinger/TextureManager.cpp @@ -68,7 +68,7 @@ bool TextureManager::isSupportedYuvFormat(int format) return false; } -status_t TextureManager::initEglImage(Texture* texture, +status_t TextureManager::initEglImage(Image* texture, EGLDisplay dpy, const sp<GraphicBuffer>& buffer) { status_t err = NO_ERROR; @@ -108,7 +108,6 @@ status_t TextureManager::initEglImage(Texture* texture, err = INVALID_OPERATION; } else { // Everything went okay! - texture->NPOTAdjust = false; texture->dirty = false; texture->width = clientBuf->width; texture->height = clientBuf->height; |