diff options
-rw-r--r-- | include/gui/SurfaceTexture.h | 7 | ||||
-rw-r--r-- | libs/gui/SurfaceTexture.cpp | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/gui/SurfaceTexture.h b/include/gui/SurfaceTexture.h index ff92e08..cbc15d8 100644 --- a/include/gui/SurfaceTexture.h +++ b/include/gui/SurfaceTexture.h @@ -113,8 +113,11 @@ private: int mBufferCount; // mCurrentTexture is the buffer slot index of the buffer that is currently - // bound to the OpenGL texture. A value of INVALID_BUFFER_SLOT, indicating - // that no buffer is currently bound to the texture. + // bound to the OpenGL texture. It is initialized to INVALID_BUFFER_SLOT, + // indicating that no buffer slot is currently bound to the texture. Note, + // however, that a value of INVALID_BUFFER_SLOT does not necessarily mean + // that no buffer is bound to the texture. A call to setBufferCount will + // reset mCurrentTexture to INVALID_BUFFER_SLOT. int mCurrentTexture; // mLastQueued is the buffer slot index of the most recently enqueued buffer. diff --git a/libs/gui/SurfaceTexture.cpp b/libs/gui/SurfaceTexture.cpp index 10f309a..11a48d9 100644 --- a/libs/gui/SurfaceTexture.cpp +++ b/libs/gui/SurfaceTexture.cpp @@ -55,6 +55,8 @@ status_t SurfaceTexture::setBufferCount(int bufferCount) { Mutex::Autolock lock(mMutex); freeAllBuffers(); mBufferCount = bufferCount; + mCurrentTexture = INVALID_BUFFER_SLOT; + mLastQueued = INVALID_BUFFER_SLOT; return OK; } |