diff options
author | Tom Cooksey <thomas.cooksey@nokia.com> | 2009-08-21 15:29:41 (GMT) |
---|---|---|
committer | Tom Cooksey <thomas.cooksey@nokia.com> | 2009-08-21 15:33:12 (GMT) |
commit | 628e2c59dcb7c036bd7b40ff0a2fda0d89aa7155 (patch) | |
tree | 884e776090346787a9939b44bb250ce4d98b8d0f | |
parent | 2b568e018ea232fe6a919b8f0027012c8921b061 (diff) | |
download | Qt-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.cpp | 1 | ||||
-rw-r--r-- | src/opengl/qgl_x11egl.cpp | 4 |
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; |