summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase-git/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-qt/qt5/qtbase-git/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch')
-rw-r--r--recipes-qt/qt5/qtbase-git/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch48
1 files changed, 0 insertions, 48 deletions
diff --git a/recipes-qt/qt5/qtbase-git/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch b/recipes-qt/qt5/qtbase-git/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch
deleted file mode 100644
index 96b0a71a..00000000
--- a/recipes-qt/qt5/qtbase-git/0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From dd2a427857612798071d3f8c23286322654669d6 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] 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---
20 src/gui/opengl/qopengltextureglyphcache.cpp | 5 ++++-
21 1 file changed, 4 insertions(+), 1 deletion(-)
22
23diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp
24index 4e20f6a..3e66bad 100644
25--- a/src/gui/opengl/qopengltextureglyphcache.cpp
26+++ b/src/gui/opengl/qopengltextureglyphcache.cpp
27@@ -147,6 +147,9 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
28 return;
29 }
30
31+ GLuint saveFbo;
32+ glGetIntegerv(GL_FRAMEBUFFER_BINDING, &saveFbo);
33+
34 int oldWidth = m_textureResource->m_width;
35 int oldHeight = m_textureResource->m_height;
36
37@@ -265,7 +268,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
38 glDeleteTextures(1, &tmp_texture);
39 glDeleteTextures(1, &oldTexture);
40
41- funcs.glBindFramebuffer(GL_FRAMEBUFFER, ctx->d_func()->current_fbo);
42+ funcs.glBindFramebuffer(GL_FRAMEBUFFER, saveFbo);
43
44 if (pex != 0) {
45 glViewport(0, 0, pex->width, pex->height);
46--
471.7.9.5
48