summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase-5.0.2/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-qt/qt5/qtbase-5.0.2/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch')
-rw-r--r--recipes-qt/qt5/qtbase-5.0.2/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch47
1 files changed, 0 insertions, 47 deletions
diff --git a/recipes-qt/qt5/qtbase-5.0.2/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch b/recipes-qt/qt5/qtbase-5.0.2/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch
deleted file mode 100644
index e47c7b6d..00000000
--- a/recipes-qt/qt5/qtbase-5.0.2/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From edea45b25b50932c8c072679d36e97b3cc3c1326 Mon Sep 17 00:00:00 2001
2From: Valery Volgutov <valery.volgutov@lge.com>
3Date: Tue, 21 May 2013 12:02:19 -0700
4Subject: [PATCH 19/22] Fix FBO restoring in QOpenGLTextureGlyphCache
5
6QOpenGLTextureGlyphCache::restoreTextureData restores FBO which
7was binded before restoreTextureData call. More specifically,
8it restores QOpenGLContextPrivate's current_fbo member. This works
9if FBO was binded by QOpenGLFramebufferObject but not if FBO was
10binded using glBindFramebufferObject and rendering done via
11QOpenGLPaintDevice.
12
13This patch fixes it by querying current FBO using
14GL_FRAMEBUFFER_BINDING query and restoring it.
15
16Upstream-Status: Backport
17https://codereview.qt-project.org/#change,56608
18---
19 src/gui/opengl/qopengltextureglyphcache.cpp | 5 ++++-
20 1 file changed, 4 insertions(+), 1 deletion(-)
21
22diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp
23index 8822faf..022356a 100644
24--- a/src/gui/opengl/qopengltextureglyphcache.cpp
25+++ b/src/gui/opengl/qopengltextureglyphcache.cpp
26@@ -147,6 +147,9 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
27 return;
28 }
29
30+ GLuint saveFbo;
31+ glGetIntegerv(GL_FRAMEBUFFER_BINDING, &saveFbo);
32+
33 int oldWidth = m_textureResource->m_width;
34 int oldHeight = m_textureResource->m_height;
35
36@@ -265,7 +268,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
37 glDeleteTextures(1, &tmp_texture);
38 glDeleteTextures(1, &oldTexture);
39
40- funcs.glBindFramebuffer(GL_FRAMEBUFFER, ctx->d_func()->current_fbo);
41+ funcs.glBindFramebuffer(GL_FRAMEBUFFER, saveFbo);
42
43 if (pex != 0) {
44 glViewport(pex->x, pex->y, pex->width, pex->height);
45--
461.8.3.2
47