summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2012-04-12 09:26:59 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-04-12 09:26:59 -0700
commita35f2cdc8e1872f5e4baadbf3f177d88cde061ee (patch)
tree6979a03e6f3f8c930f4683d1b8c87fa8c0d916a2 /Source/WebCore/platform/graphics/android/rendering/TransferQueue.cpp
parente4605327e0596f5521c3ca0ae5a5c9ea9742b6ec (diff)
parent9b0332227d1f5d644e78f417c54ae1ec86ecaa1c (diff)
downloadexternal_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.cpp4
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],