diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2012-04-12 09:26:59 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-12 09:26:59 -0700 |
commit | a35f2cdc8e1872f5e4baadbf3f177d88cde061ee (patch) | |
tree | 6979a03e6f3f8c930f4683d1b8c87fa8c0d916a2 /Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp | |
parent | e4605327e0596f5521c3ca0ae5a5c9ea9742b6ec (diff) | |
parent | 9b0332227d1f5d644e78f417c54ae1ec86ecaa1c (diff) | |
download | external_webkit-a35f2cdc8e1872f5e4baadbf3f177d88cde061ee.zip external_webkit-a35f2cdc8e1872f5e4baadbf3f177d88cde061ee.tar.gz external_webkit-a35f2cdc8e1872f5e4baadbf3f177d88cde061ee.tar.bz2 |
Merge "We shall restore the FBO id instead of setting it back to 0."
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp index af19f30..a330b41 100644 --- a/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp +++ b/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp @@ -203,7 +203,6 @@ void TransferQueue::blitTileFromQueue(GLuint fboID, TileTexture* destTex, GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); if (status != GL_FRAMEBUFFER_COMPLETE) { ALOGV("Error: glCheckFramebufferStatus failed"); - glBindFramebuffer(GL_FRAMEBUFFER, 0); return; } @@ -426,7 +425,6 @@ void TransferQueue::updateDirtyTiles() // dynamic switch possible. Moving this out from the loop can save some // milli-seconds. if (usedFboForUpload) { - glBindFramebuffer(GL_FRAMEBUFFER, 0); // rebind the standard FBO restoreGLState(); GLUtils::checkGlError("updateDirtyTiles"); } @@ -593,6 +591,7 @@ void TransferQueue::cleanupPendingDiscard() void TransferQueue::saveGLState() { + glGetIntegerv(GL_FRAMEBUFFER_BINDING, m_GLStateBeforeBlit.bufferId); glGetIntegerv(GL_VIEWPORT, m_GLStateBeforeBlit.viewport); glGetBooleanv(GL_SCISSOR_TEST, m_GLStateBeforeBlit.scissor); glGetBooleanv(GL_DEPTH_TEST, m_GLStateBeforeBlit.depth); @@ -616,6 +615,7 @@ void TransferQueue::setGLStateForCopy(int width, int height) void TransferQueue::restoreGLState() { + glBindFramebuffer(GL_FRAMEBUFFER, m_GLStateBeforeBlit.bufferId[0]); glViewport(m_GLStateBeforeBlit.viewport[0], m_GLStateBeforeBlit.viewport[1], m_GLStateBeforeBlit.viewport[2], |