diff options
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.patch | 47 |
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 @@ | |||
1 | From edea45b25b50932c8c072679d36e97b3cc3c1326 Mon Sep 17 00:00:00 2001 | ||
2 | From: Valery Volgutov <valery.volgutov@lge.com> | ||
3 | Date: Tue, 21 May 2013 12:02:19 -0700 | ||
4 | Subject: [PATCH 19/22] Fix FBO restoring in QOpenGLTextureGlyphCache | ||
5 | |||
6 | QOpenGLTextureGlyphCache::restoreTextureData restores FBO which | ||
7 | was binded before restoreTextureData call. More specifically, | ||
8 | it restores QOpenGLContextPrivate's current_fbo member. This works | ||
9 | if FBO was binded by QOpenGLFramebufferObject but not if FBO was | ||
10 | binded using glBindFramebufferObject and rendering done via | ||
11 | QOpenGLPaintDevice. | ||
12 | |||
13 | This patch fixes it by querying current FBO using | ||
14 | GL_FRAMEBUFFER_BINDING query and restoring it. | ||
15 | |||
16 | Upstream-Status: Backport | ||
17 | https://codereview.qt-project.org/#change,56608 | ||
18 | --- | ||
19 | src/gui/opengl/qopengltextureglyphcache.cpp | 5 ++++- | ||
20 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp | ||
23 | index 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 | -- | ||
46 | 1.8.3.2 | ||
47 | |||