diff options
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.patch | 48 |
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 @@ | |||
1 | From dd2a427857612798071d3f8c23286322654669d6 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] 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 | --- | ||
20 | src/gui/opengl/qopengltextureglyphcache.cpp | 5 ++++- | ||
21 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp | ||
24 | index 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 | -- | ||
47 | 1.7.9.5 | ||
48 | |||