summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/qopengl
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Support Alpha8 and Grayscale8 natively in the OpenGL paint engineAllan Sandfeld Jensen2014-10-271-0/+64
| | | | | | | | | Adds special shaders for the Alpha8 and Grayscale8 formats so that they do not need to rely on the support of GL_ALPHA and GL_LUMINANCE that has been removed from core in recent OpenGL versions. Change-Id: Ie370379b458abf2a50e252bc5099aefc1b11fb1d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Add support for glMapBufferRange in the wrappers and resolversLaszlo Agocs2014-08-082-1/+69
| | | | | | | | | | | | | | QOpenGLBuffer::map() and related helpers are becoming useless in OpenGL ES 3.0 and up: instead of the old GL_OES_map_buffer, glMapBufferRange, but not glMapBuffer, is now part of the standard. On desktop GL_ARB_map_buffer_range is present by default in OpenGL 3.0 and newer. [ChangeLog][QtGui] Added QOpenGLBuffer::mapBufferRange(). Task-number: QTBUG-38168 Change-Id: I4e9bbe8ced9ee4d535ac32849a8c08c26d79cb49 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Add default format to QSurfaceFormatLaszlo Agocs2014-08-081-0/+18
| | | | | | | | | | | | | | | | | | | | | | Add defaultFormat() and setDefaultFormat() statics to QSurfaceFormat. These define the default values for the requestedFormat members of QOpenGLContext, QWindow and QOpenGLWidget (and implicitly QOpenGLWindow, QQuickWindow, etc.) This replaces QQuickWindow::setDefaultFormat() which can now be removed. The main inspiration here is not the convenience (avoiding setFormat() calls for all windows/widgets), but robustness: by setting the format once at the start of the application, all windows and contexts, including the internal share context used by QOpenGLWidget and QQuickWidget, will use the same format, eliminating the possibility of failing due to trying to share between incompatible contexts. Furthermore, since such a functionality is anyway mandatory for QQuickWindow (due to the possibility of creating windows from QML code), extending it to QSurfaceFormat and QOpenGLContext/QWindow is the next logical step. Change-Id: Ie94486adc489d17fecfcebb7050fecedffd2688b Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Support RGB30 formats in OpenGL framebuffers and paint engineAllan Sandfeld Jensen2014-07-301-1/+109
| | | | | | | | | | | | | | This patch adds support for binding RGB30 images as textures, and as internal format of framebuffer objects. Together with the QOpenGLPaintDevice this provides support for rendering to and from RGB30 in full precision. [ChangeLog][QtGui][QOpenGLFramebufferObject] Support 10-bit per color channels formats as the internal framebuffer format, making it possible to render in that precision. Change-Id: I06de2d12dfe1c1adc466d574fdffbc77f88f4f16 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Add context adoption support for WGLLaszlo Agocs2014-07-071-0/+63
| | | | | | | | | | | This is trickier than the GLX and EGL implementations due to the way pixel formats, windows and contexts work. Apart from some restrictions, it should be fully functional nonetheless. Add also some proper documentation. Change-Id: Ia6e3eb1ab2701e439b8621b9092c2b0934ff2151 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Make QOpenGLTextureCache::bindTexture upload efficientlyAllan Sandfeld Jensen2014-07-041-5/+15
| | | | | | | | | | | | | | | | | | | | Currently QOpenGLTextureCache::bindTexture always convert any uploaded image to RGBA8888 before uploading. This is quite inefficient when OpenGL natively supports uploading formats in the original format. This patch adds support for uploading a few native QImage formats. This also get the performance of QOpenGLTextureCache::bindTexture on par with QGLContext::bindTexture. The texture brush used by QOpenGLPaintEngine is also converted to QImage, since bindTexture will convert it to QImage anyway, and going over QPixmap may cause an unnecessary conversion. [ChangeLog][QtGui][QOpenGLTextureCache] Support uploading common QImage formats directly to OpenGL when supported. Change-Id: I828a763126441a98e4547c32ef52dddf7c129a32 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Use the standard functions in GLES3 builds in VAOsLaszlo Agocs2014-07-022-1/+25
| | | | | | | | | | | | | | | | There is no guarantee that the OES extension is present and the standard functions are not required to be dynamically resolvable on ES. By performing the ARB-style lookup for the suffixless function names we can also support ES3 compatible contexts on desktop GL. This also fixes the problem of picking up the APPLE extension functions instead of ARB when both are available. vaoFuncsType was set to ARB correctly but the helper has to take the preference of ARB into account too. Task-number: QTBUG-38168 Change-Id: If7402320e8f96891017674f3c43bc57c4b5d29f3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove direct OpenGL calls from QtOpenGLLaszlo Agocs2014-04-281-7/+7
| | | | | | Task-number: QTBUG-36483 Change-Id: I96dea5649c0a49a11cd2ff31da659cd2067e769d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add public and QPA APIs for adapting existing OpenGL contextsLaszlo Agocs2014-04-242-1/+53
| | | | | | | | | | | | | For now only xcb on GLX is supported. Other platforms will follow later. Add also some missing documentation for the platform OpenGL context factory functions. [ChangeLog] QOpenGLContext is now able to adopt existing native contexts. Task-number: QTBUG-37552 Change-Id: I5dd959f102df178f646b2df5989203b5dc6de376 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Make tst_qopengl more verbose.Friedemann Kleint2014-03-311-28/+45
| | | | | | | | | Add more checks, compare size of converted images. Task-number: QTBUG-31611 Change-Id: I995071f4be097c08aa2917be03fd7196882ae2c2 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fix the QOpenGL autotest's offscreen surface handlingLaszlo Agocs2014-03-271-0/+15
| | | | | | | Be more robust. Change-Id: I0e37612681140530c81cfd0082cca61f0f21958c Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Add sizeLessWindow test case.Morten Johan Sørvig2014-03-141-0/+38
| | | | | | | | | | | Verify that QOpenGLContext works with QWindows that do not have an explicit size set. Task-number: QTBUG-35342 Change-Id: I91be7beb0062c5825fc58273c701c396b6423256 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* tests: Remove superfluous gui additions to QTSergio Ahumada2014-02-281-1/+1
| | | | | | | by default QT contains both core and gui already Change-Id: I6f5b551104e40a024468e7cb62e302134e9472ec Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* QOpenGLTextureBlitter: add some autotestsJørgen Lind2014-02-161-0/+191
| | | | | Change-Id: I07a4847a19908c1a6d7fb02649b306dfa0148f49 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Add takeTexture() to QOpenGLFramebufferObjectLaszlo Agocs2014-01-071-0/+50
| | | | | | | | | | | | | Add an API that allows to retrieve and detach the texture from the framebuffer object. The next bind() call will then create and attach a new texture. [ChangeLog][QtGui][QOpenGLFramebufferObject] Added takeTexture() for retrieving and detaching the texture from the framebuffer object. Task-number: QTBUG-35881 Change-Id: I2cca37f5872c1685b1238047f8b912e6534ab781 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* OpenGL autotests: verify create()/makeCurrent()Andrew Knight2013-09-301-14/+14
| | | | | | | If create() or makeCurrent() calls fail, the test should fail fast. Change-Id: I025c541f94c8eee492cf0e1545bfbb8027eff2a7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* test: Mark tst_qopengl as insignificant on Win7 + AngleSergio Ahumada2013-06-071-0/+2
| | | | | | | | | | This only marks tst_qopengl as insignificant on Windows 7 32bit with the Angle configuration. Task-number: QTBUG-31611 Change-Id: I1876b6fdc32fef93edf34c2bd61d03cc9ba11135 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
* QtGui tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0Debao Zhang2013-03-271-1/+0
| | | | | Change-Id: I48c83fa0c5eccd86a5242fc8ed51ac6d7623f7f3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Added QOffscreenSurface class.Yoann Lopes2013-02-181-31/+81
| | | | | | | | | | | | Inherits QSurface and allows to use OpenGL from an arbitrary thread. Platform plugins can implement QPlatformOffscreenSurface, otherwise an invisible QWindow is used by QOffscreenSurface. This patch includes an implementation of QOffscreenSurface for XCB and EglFS platform plugins using pbuffers. Change-Id: I57b4fc1db417331f34826dcfa754b7698782fde4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-011-0/+1
| | | | | | | | | | | Qt 5.0 beta requires changing the default to the 5.0 API, disabling the deprecated code. However, tests should test (and often do) the compatibility API too, so turn it back on. Task-number: QTBUG-25053 Change-Id: I8129c3ef3cb58541c95a32d083850d9e7f768927 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix division by zero in triangulating stroker.Kim Motoyoshi Kalland2012-07-061-0/+75
| | | | | | | Task-number: QTBUG-15621 Change-Id: I10e0e39e57078507a01e1c2edb59fa52fd932f6c Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Add CONFIG+=parallel_test to suspected parallel-safe tests.Rohan McGovern2012-05-281-0/+1
| | | | | | | | | These tests have passed a parallel stress test on all three of Linux, Mac, Windows. Mark them with CONFIG+=parallel_test to allow CI to run them in parallel, saving time. Change-Id: I19fd333c3c645a67374ca998f6c8530dd236b0f8 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Remove insignification from tst_QOpenGLMiikka Heikkinen2012-05-041-2/+0
| | | | | | | | This test is passing for Windows now in CI due to recent fixes, so remove the insignification. Change-Id: Ib74aea443c4a66c9bf743d88e15d9f27f9ac2fe4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Skip tst_QOpenGL::openGLPaintDevice() if wrong openGL version.Miikka Heikkinen2012-05-031-0/+3
| | | | | | | | | | It seems that this case is failing on CI because OpenGL version, so skip if OpenGL is not recent enough. Task-number: QTBUG-24192 Change-Id: I543e7a092e5c107ee57cd9dce7dc5c890a0315cf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove insignification of QOpenGL test on Mac OS X.Jason McDonald2012-04-171-1/+0
| | | | | | | | | | The failure was fixed by commit e430ddfafcc6e8fa9fecb9c816908c3edce08d77 and the test has not failed again in the >500 CI builds that have occured since that commit was merged, Task-number: QTBUG-23061 Change-Id: I41063f9dbc6b6d7d6b99f1a0c20708b0842353d5 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix MSVC warnings in tests.Friedemann Kleint2012-04-021-0/+1
| | | | | | | | | - Unused variables - conversion truncations - Overflow in expressions like '-1 + sizeof()' Change-Id: Ibbd18497951e9e7e9dccaf596cb4e864b69ec02c Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Make "nmake check" pass for gui tests in Windows.Miikka Heikkinen2012-02-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Marked the following tests insignificant due to failures, these need to be fixed later and then re-enabled: tst_QPixmap tst_QClipboard tst_QWindow tst_QGuiApplication tst_QPainter tst_QPrinterInfo tst_QPrinter tst_QOpenGL tst_QFontDatabse tst_QFontMetrics tst_QGlyphRun tst_QRawFont Task-number: QTBUG-24128 Change-Id: I39ade8a693c4580b5cd618624e892cdcac21d78c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Improve QSurface / QWindow API a bit and use that to avoid errorsGunnar Sletta2012-02-021-0/+9
| | | | | Change-Id: Iadba1c3a7b8e6bc7f145455132cefed2a905c11d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Introduced QOpenGLContext::aboutToBeDestroyed() signal.Samuel Rødal2012-01-051-0/+22
| | | | | | | | | This signal can be used to clean up OpenGL resources in a safe way before the context is destroyed. Task-number: QTBUG-20083 Change-Id: I45a4be01b06af4ee7196fa502116f099d50afeab Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Re-enable 'check' target for tests/auto/gui on Mac OS XBradley T. Hughes2011-12-091-0/+2
| | | | | | | | | | Failing tests are marked with CONFIG+=insignificant_test. tst_QTextLayout currently asserts, so it has been disabled to prevent destabilization of the CI system. Change-Id: I7bd836ee14085689c8a0f0ce8e3c80d81a55eb94 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Call invalidateResource() on QOpenGLMultiGroupSharedResource-owned resourcesKent Hansen2011-11-171-3/+36
| | | | | | | | | Commit 202127f860208c21145e05685bc54219e1655dbd ensured that QOpenGLMultiGroupSharedResource-owned resources are deleted, but it was missing a call to invalidateResource(). Change-Id: I166ce8a7298772408081331fe1a91bd2cd88aebb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Ensure that QOpenGLMultiGroupSharedResources are cleaned upKent Hansen2011-11-151-0/+23
| | | | | | | | | | | | | | | | | When a GL context group is destroyed, all multi-group shared resources associated with the group should be cleaned up. Otherwise we could get a double deletion in the resource's destructor, because it still retained a pointer to the deleted group. The missing cleanup resulted in a crash when the global static qt_gl_functions_resource was destroyed, first seen in the tst_examples autotest in qtdeclarative. It possibly didn't manifest before because it's event loop-dependent (the contexts are deleted via deleteLater()). Change-Id: I6b1e0bfdfbbb2bff8e795f545e680fcdfa094768 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Re-enabled passing tests in tst_qopenglJo Asplin2011-11-092-2/+8
| | | | | | | | | | | To increase the effective test coverage, this patch re-enables the tst_qopengl test case as such, and instead disables only the test functions that are currently failing in CI. Task-number: QTBUG-22453 Change-Id: Ifa9ccab81efb1577767465c150fc64a9d9e3f8e0 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Moved tests into gui/kernel/ and gui/qopengl/Jo Asplin2011-11-042-0/+451
This commit moves tests from test/auto/ into more appropriate locations (i.e. matching the locations in the Qt source): - qscreen and qwindow are moved into gui/kernel/ - qopengl is moved into gui/qopengl/ Note: qscreen is disabled for now since it is broken on Linux (see QTBUG-22554). Change-Id: Idcc7a51e78d6d0955bddb9cb4091866659193cc8 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>