summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Cooksey <thomas.cooksey@nokia.com>2009-08-21 15:29:41 (GMT)
committerTom Cooksey <thomas.cooksey@nokia.com>2009-08-21 15:33:12 (GMT)
commit628e2c59dcb7c036bd7b40ff0a2fda0d89aa7155 (patch)
tree884e776090346787a9939b44bb250ce4d98b8d0f
parent2b568e018ea232fe6a919b8f0027012c8921b061 (diff)
downloadQt-628e2c59dcb7c036bd7b40ff0a2fda0d89aa7155.zip
Qt-628e2c59dcb7c036bd7b40ff0a2fda0d89aa7155.tar.gz
Qt-628e2c59dcb7c036bd7b40ff0a2fda0d89aa7155.tar.bz2
Fix drawTiledPixmap for texture_from_pixmap on X11/EGL
QGLContextPrivate::bindTextureFromNativePixmap() needs to abort if it's not allowed to return a y-inverted texture. Reviewed-by: Trustme
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp1
-rw-r--r--src/opengl/qgl_x11egl.cpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 7a3fa56..2901c1e 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -410,6 +410,7 @@ void QGL2PaintEngineExPrivate::updateBrushTexture()
const QPixmap& texPixmap = currentBrush->texture();
glActiveTexture(GL_TEXTURE0 + QT_BRUSH_TEXTURE_UNIT);
+ // TODO: Support y-inverted pixmaps as brushes
ctx->d_func()->bindTexture(texPixmap, GL_TEXTURE_2D, GL_RGBA, true);
updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, true);
}
diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp
index 7452c92..b982a19 100644
--- a/src/opengl/qgl_x11egl.cpp
+++ b/src/opengl/qgl_x11egl.cpp
@@ -494,6 +494,10 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons
{
Q_Q(QGLContext);
+ // The EGL texture_from_pixmap has no facility to invert the y coordinate
+ if (!canInvert)
+ return 0;
+
Q_ASSERT(pd->classId() == QPixmapData::X11Class);
static bool checkedForTFP = false;