From e99cb6767b54aa9b082c4fd8bef93760c563da59 Mon Sep 17 00:00:00 2001 From: Andrew Knight Date: Wed, 12 Jun 2013 10:11:06 +0300 Subject: [PATCH] Support unaligned QImage strides in QSGTexture If a QImage has a different stride than its width, copy the image to relayout the memory for compatibility with glTexImage2D(). Change-Id: I74338da97d785ffb9e00820caff36466dfa46838 Reviewed-by: Gunnar Sletta --- src/quick/scenegraph/util/qsgtexture.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/quick/scenegraph/util/qsgtexture.cpp b/src/quick/scenegraph/util/qsgtexture.cpp index a104e4a..a69f43f 100644 --- a/src/quick/scenegraph/util/qsgtexture.cpp +++ b/src/quick/scenegraph/util/qsgtexture.cpp @@ -663,6 +663,8 @@ void QSGPlainTexture::bind() QImage tmp = (m_image.format() == QImage::Format_RGB32 || m_image.format() == QImage::Format_ARGB32_Premultiplied) ? m_image : m_image.convertToFormat(QImage::Format_ARGB32_Premultiplied); + if (tmp.width() * 4 != tmp.bytesPerLine()) + tmp = tmp.copy(); #ifndef QSG_NO_RENDER_TIMING qint64 convertTime = 0; -- 2.7.4