summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Remove all non-const operator==Harald Fernengel2011-08-091-1/+1
| | | | | | | | | | | We had to leave the non-const operator== for binary compatibility. Remove them all, just leave the const version in there. 100% source compatible. Change-Id: Ib7a70fb441fe51d5164d9cbf495cbeda0f48fafe Reviewed-on: http://codereview.qt.nokia.com/2773 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Robert Griebl <robert.griebl@nokia.com>
* Changed QLibrary::resolve() to return a function pointer.Kim Motoyoshi Kalland2011-07-252-5/+5
| | | | | | | | | | | According to the C++ standard, there is no guarantee that you can cast between function pointers and void pointers without data loss (section 5.2.10-6). Change-Id: I27f4d835e4c8ca8ecca0d76cfea9ce34491956bd Reviewed-on: http://codereview.qt.nokia.com/1995 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Making cached glyphs drawing check clearerJiang Jiang2011-07-251-8/+2
| | | | | | | | | | | | Putting the logic inside supportsTransformation() is a bit confusing and that name is misleading. Also move the same check in GL2 paint engine to the same place. Change-Id: I182500a0ff375122e6be966b7ce2495c84d113d0 Reviewed-on: http://codereview.qt.nokia.com/2096 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Get rid of the evilness of Q_GLOBAL_STATIC_WITH_INITIALIZERThiago Macieira2011-07-211-5/+5
| | | | | | | | | | | | | | | | | | | That macro is a nightmare. It leads to writing code that is thread-unsafe or other problems. So rewrite the code that used this macro to use special-purpose classes with constructors. This commit does not introduce new errors. The FIXME in qicon.cpp (qtIconCache()) was a condition already present. It does fix the race conditions that were present in qbrush.cpp nullBrushInstance() and qfontengine.cpp qt_grayPalette(). Specialising QGlobalStatic is also evil. Change-Id: I039311f6a5ac9ea4ad7b310b870a2adf888da7e5 Merge-request: 10 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com> Reviewed-on: http://codereview.qt.nokia.com/1895 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
* Moved red-black tree from qtriangulator.cpp into its own file.Kim Motoyoshi Kalland2011-07-153-518/+577
| | | | | | | | | | Moved the red-black tree class so it can be used outside the triangulator as well. Change-Id: I1d63fc88502e8e6c390cac2820c0ce45721cda79 Reviewed-on: http://codereview.qt.nokia.com/1710 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Don't issue GL calls when the geometry is emptyEskil Abrahamsen Blomfeldt2011-07-051-0/+2
| | | | | | | | | | | | | | | | | | | This works as a band-aid and optimization for QT-5104, because in the text in the example, which contains latin text and has a latin default font set, will think of all spaces between the cyrillic characters as latin characters, hence it will make separate text items for them and issue separate glDrawElements() calls. By cutting off if there are no glyphs to draw, we can avoid hitting the actual bug for this and several other use cases, making it less likely to happen. Task-number: QT-5104 Reviewed-by: Samuel (cherry picked from commit f51b5fe09c63e4b3c2ab5a4d06e162c43d38207d) Change-Id: Id80f55ce403a7aa112c3abb314d080aa43c0078b Reviewed-on: http://codereview.qt.nokia.com/1158 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fixed compile of QtOpenGL on Mac & QPA.Rohan McGovern2011-07-051-4/+6
| | | | | | | | | | Replace a Q_WS_MAC test (which is not true for Mac & QPA) with Q_OS_MAC (which is always true on Mac). Change-Id: Ie3d12bae233d44b3607f4c57a0c65059d0d6ccb9 Reviewed-on: http://codereview.qt.nokia.com/1129 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Remove QPainter::UniteClipGunnar Sletta2011-06-282-40/+0
| | | | | | | Change-Id: I5413cb5e2cbb53998bb40f27b9bbc16342caafe6 Reviewed-on: http://codereview.qt.nokia.com/837 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix modules to load(qt_module) firstMarius Storm-Olsen2011-06-081-0/+2
| | | | | | | Change-Id: Iabdfffff09088243863a8661add73298ed8baaf3 Reviewed-on: http://codereview.qt.nokia.com/413 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Moved common module profiles to be feature profiles.axis2011-06-051-1/+1
| | | | | | | | | | This enables external modules to also make use of them without having access to the complete QtBase source code. Change-Id: I056e45cba6c6798b76670b8d238dadb2d9f9c092 Task: QTBUG-19585 Reviewed-on: http://codereview.qt.nokia.com/234 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Refactor glyph pretransform checkJiang Jiang2011-06-032-0/+2
| | | | | | | | | | | | | | | Move paintEngineSupportsTransformations logic from QPainter to paint engine subclasses. Simplify and consolidate checks for cached drawing (pretransformed) and path drawing (untransformed) in raster paint engine. Fix unnecessary transform when paint engines actually take the path drawing track. Fix scaling and rotation transform in raster engine for Mac. Task-number: QTBUG-19086 Change-Id: I1c0c1800a5173d3db765b9fccfd0e7a3628e3815 Reviewed-on: http://codereview.qt.nokia.com/298 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Export the qt_gl_read_framebuffer function for use in declarativeGunnar Sletta2011-05-303-3/+3
| | | | | | | Change-Id: Ia1dd186ca954774e1faaa4b2e606acac9333d9b0 Reviewed-on: http://codereview.qt.nokia.com/224 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-2482-1411/+1411
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Doc: Fixed qdoc warnings.David Boddie2011-05-231-0/+6
|
* Doc: Fixed qdoc warnings.David Boddie2011-05-234-8/+11
|
* Full translucent background support in xcb and xlib backend.Samuel Rødal2011-05-192-5/+15
| | | | | | | | | Make sure to pick an alpha visual also for non-GL surface types, and to ask for alpha in the window format if the WA_TranslucentBackground attribute is set. Reviewed-by: Janusz Lewandowski (cherry picked from commit 6241e39cff9311c943430ff2f31236b13618f2ac)
* Fall back to using paths for large fonts in drawStaticText()Eskil Abrahamsen Blomfeldt2011-05-181-11/+22
| | | | | | | | | | | | | | QStaticText had an implicit risk which meant you had to make sure the text size did not grow unreasonably large. This was intended to avoid hiding the performance impact of using QStaticText for such a purpose, but it's too inconvenient. Thus, the same fall back as in drawTextItem() has been introduced. This will also fix a bug recently introduced when we started using the FT cache to draw static text in the raster engine, since this will fail for large fonts. Task-number: QTBUG-19084, QTBUG-19370 Reviewed-by: Jiang Jiang (cherry picked from commit 0aa9b30432cec3b7f366983f451fc9a7f8f83243)
* Add ability to work around non-standard GLES implementationsPaul Olav Tvete2011-05-181-3/+3
| | | | Reviewed-by: Gunnar
* Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-stagingQt Continuous Integration System2011-05-111-0/+1
|\ | | | | | | | | * 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging: Fix to commit 7fce0a73cc9b099c4ca67b3bc2e8bbe3060230c6.
| * Fix to commit 7fce0a73cc9b099c4ca67b3bc2e8bbe3060230c6.Kim Motoyoshi Kalland2011-05-111-0/+1
| |
* | Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-stagingQt Continuous Integration System2011-05-111-13/+19
|\| | | | | | | | | * 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging: Check if OES_texture_npot is present on OpenGL ES 2.
| * Check if OES_texture_npot is present on OpenGL ES 2.Kim Motoyoshi Kalland2011-05-111-13/+19
| | | | | | | | | | | | | | Unless the OES_texture_npot extension is present, non-power- of-two textures have some restrictions on OpenGL ES 2. Reviewed-by: Samuel
* | Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-stagingQt Continuous Integration System2011-05-111-0/+2
|\ \ | |/ |/| | | | | * 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging: Add QT_xxx_VERSION macros for each library in qtbase
| * Add QT_xxx_VERSION macros for each library in qtbaseLiang Qi2011-05-101-0/+2
| | | | | | | | | | | | | | Provide version info for each library like QTCORE_VERSION and etc. Task-number: QTMODULARIZATION-44 Reviewed-by: axis
* | Only cleanup share widget if it has been created.Armin Berres2011-05-101-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Without this change a not yet created share widget is created once qt_destroy_gl_share_widget() is called. As creating the widget also triggers a call to qt_cleanup_gl_share_widget() once QApplication is destroyed a QApplication created afterwards cannot use a share widget anymore. This functionality is needed for Harmattan. Merge-request: 2609 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> (cherry picked from commit 8680d831fb7066feae07690a4a6bc8e908a84e5a)
* | Fix trailing whitespacesJani Hautakangas2011-05-101-1/+1
| | | | | | | | | | Reviewed-by: TRUSTME (cherry picked from commit d4fd21f746b536eaddbdd7a07f1d717ef18278e7)
* | Fix for native child widget performance issue.Jani Hautakangas2011-05-101-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Flushing native child widgets in VG and GL window surfaces caused performance downgrade because unnecessary swapBuffers calls. On Symbian we must not support flushing native child widgets in VG and GL window surfaces because it causes GPU memory overhead and performance issues. Symbian graphics architecture allows us to render native child widgets to TLW EGL surface correctly in most of the cases. Task-number: QTMOBILITY-1570 Reviewed-by: Samuel Rødal (cherry picked from commit 6a92de7c89764848f7a85b1aa412a07bedc72b1a)
* | Added support for six-parameter radial gradients.Samuel Rødal2011-05-105-55/+35
|/ | | | | | | | | The extended radial gradients conform to the radial gradient specification in HTML 5 canvas. Task-number: QTBUG-14075 Reviewed-by: Andreas Kling (cherry picked from commit da55c1ea92474e989e5582b02815936bbf584405)
* Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-stagingGunnar Sletta2011-05-041-1/+5
|\
| * Move private headers into versioned subdirectoryMarius Storm-Olsen2011-05-021-1/+1
| | | | | | | | | | | | | | This will allow us to expose private headers in a controlled manner, and ensure that they are not used by accident. This also means that we internally will have to enable the private headers for the modules we wish to use in the project.
| * Add module.prf, and install MODULE_PRI for each moduleMarius Storm-Olsen2011-05-021-0/+4
| | | | | | | | Output warning if not present
* | Support gamma correction of text on GLEskil Abrahamsen Blomfeldt2011-05-034-3/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the SRGB framebuffer extension in GL is available, we can support gamma correction of text with a gamma of 2.1. On Mac this is sufficient for gamma correcting subpixel antialiased text. Gray antialiasing should not be gamma corrected on Mac. On Windows, the user can potentially set the gamma value to anything between 1.0 and 2.2 (or something like that). We support anything that resembles 1.0 closely enough by pushing the text out without any correction (like before). We also support anything that resembles 2.1 (the gamma hardcoded in GL's SRGB extension) by turning on the extension before blending the text. In between the two, we'll use gray antialiasing to avoid differing too much from the raster engine (which is our reference in this.) For gray antialiasing on Windows, we use a constant gamma of 2.3 which has been determined by experimentation. Since this is close enough to 2.1 we do gamma correction with SRGB extension. The distance limit of 0.2 is determined by some experimentation. Reviewed-by: Samuel (cherry picked from commit 79ba7cceca5e4029876ace2121edd25b08ae14ce)
* | Initial import from qtquick2.Qt by Nokia2011-04-278-110/+173
|/ | | | | Branched from the monolithic repo, Qt qtquick2 branch, at commit a4a585d2ee907746682846ae6e8a48e19deef469
* Initial import from the monolithic Qt.Qt by Nokia2011-04-27114-0/+63044
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12