summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl/qopengltextureuploader.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Introduce QImage::Format_BGR888Allan Sandfeld Jensen2019-08-231-0/+18
| | | | | | | | | Is pretty common on some architectures so we can avoid swizzling by supporting it. Fixes: QTBUG-45671 Change-Id: Ic7a21b5bfb374bf7496fd2b2b1252c2f1ed47705 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-091-15/+35
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qlocale_data_p.h (Regenerated by running the scripts in util/local_database/) src/gui/opengl/qopengltextureuploader.cpp Done-With: Edward Welbourne <edward.welbourne@qt.io> Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io> Change-Id: I12df7f066ed0a25eb109f61c4b8d8dea63b683e2
| * Fix swizzling when rendering QPainter on QOpenGLWidget with AngleDmitry Kazakov2019-05-071-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | OpenGLES specification does not support GL_TEXTURE_SWIZZLE_RGBA, it supports only per-channel calls. And since Qt supports QpenGLES, it should use the latter approach only. The regression was introduced in Qt 5.12 by commit ede3791df8330ed8daae6667d025ad40219a9f5f Task-number: QTBUG-74968 Change-Id: I9c531b248715992fb30df6af95dfa605e2ee2a25 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-03-061-18/+13
|\| | | | | | | | | | | | | Conflicts: src/network/access/http2/hpacktable_p.h Change-Id: Ie0c296667dfdebba84f4858056a1ac80c24ee7df
| * Prefer BGRA uploading to swizzlingAllan Sandfeld Jensen2019-03-021-18/+13
| | | | | | | | | | | | | | | | The older BGRA extension is more likely to have stable driver support. Fixes: QTBUG-74150 Change-Id: If321b3024fbdeb9e199880744b9ee915b3b2bf6c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Add Grayscale16 Image FormatAllan Sandfeld Jensen2018-12-121-4/+24
|/ | | | | | | | | | [ChangeLog][QtGui][QImage] Added support for 16-bit grayscale format. Together-with: Aaron Linville<aaron@linville.org> Task-number: QTBUG-41176 Change-Id: I5fe4f54a55ebe1413aa71b882c19627fe22362ac Reviewed-by: Nick D'Ademo <nickdademo@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Enable swizzlingAllan Sandfeld Jensen2018-11-051-1/+1
| | | | | | | | This part was accidently left disabling after testing the fallback still worked. Change-Id: Ic2df939753641a9771e68bc8857c570d356cff44 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Handle uploading of faked sub-imagesAllan Sandfeld Jensen2018-08-231-0/+5
| | | | | | | | | | | | One trick that is possible to do with QImage is to make it be sub image of its imagedata by manipulating the data start and bytes-per-line, we can not upload that directly and need to detect the case and create a clean copy to upload. Task-number: QTBUG-70105 Change-Id: I7ce184a0892fb4071b6dcc1a1fd3881a4e0703cd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix big-endian build of qopengltextureuploaderAllan Sandfeld Jensen2018-08-221-1/+4
| | | | | | | Badly placed endif and lacking a break statement. Change-Id: Id6a3fb13b40e8ae8029e74f7668bafb6e0b9dd06 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Implement support for 16bpc image formatsAllan Sandfeld Jensen2018-08-111-0/+17
| | | | | | | | | | | | | | Adds support for 16bit per color image formats in QImage. This makes it possible to read and write 16bpc PNGs, and take full advantage of the 16bpc paint engine. [ChangeLog][QtGui][QImage] QImage now supports 64bit image formats with 16 bits per color channel, compatible with 16bpc PNG or RGBA16 OpenGL formats. Task-number: QTBUG-45858 Change-Id: Icd28bd5868a6efcf65cb5bd56031d42941e04099 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move texture uploading out of QOpenGLTextureCacheAllan Sandfeld Jensen2018-07-271-0/+303
This way the logic can be reused elsewhere. At the same time a standard OpenGL ES/3 way of handling BGRA is added, so we don't depend on extensions, and handling of NPOT and max size which QSGTexture will need. Change-Id: I475bc7127f44be3964fdb482c9e86a20db1fbca5 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>