summaryrefslogtreecommitdiffstats
path: root/src/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'staging-master' of scm.dev.nokia.troll.no:qt/qt-lighthouse ↵Qt Continuous Integration System2011-01-278-69/+124
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into master-integration * 'staging-master' of scm.dev.nokia.troll.no:qt/qt-lighthouse: (69 commits) Lighthouse: License headers to new files in testlite Make sure we blit the fbo on flush in QGLWindowSurface Lighthouse: Wayland. Make the wayland integration closer to Lighthosue Lighthouse: Wayland, only make one fbo for the WaylandPaintDevice Making clearer separation between responsibility of different classes Make it possible to vertically mirror gl painting Lighthouse:Wayland Moving some logic into files Fix Wayland plugin to work with Wayland after some interfaces changed Make QGLContext::fromPlatformGLContext show correct sharing Remove Lighthouse specific code from QGLWindowSurface Fix X11 clipboard bug. Fix for uninitialized member in QWaylandCursor wayland: use pkgconfig for libdrm in wayland.pro wayland: remove non-public header from config.tests wayland: fix SOURCES to point to wayland.cpp in config.tests Wayland: request rbg and premultiplied argb visuals as needed Wayland: clamp window resizes to screen size Wayland: split GL code into separate files Wayland: use correct viewport for swapBuffers and correct coords Wayland: fix geometry of swapBuffers ...
| * Merge branch 'master' into lighthouse-masterJørgen Lind2011-01-2674-90/+110
| |\
| * | Make sure we blit the fbo on flush in QGLWindowSurfaceJørgen Lind2011-01-261-2/+2
| | | | | | | | | | | | Reviewed-by: sroedal
| * | Make it possible to vertically mirror gl paintingJørgen Lind2011-01-263-5/+23
| | | | | | | | | | | | | | | | | | | | | The GLPaintDevice gets a flip property. If this is set, the pvr matrix is altered to paint "upside down" Reviewed-by: sroedal
| * | Make QGLContext::fromPlatformGLContext show correct sharingJørgen Lind2011-01-252-16/+15
| | | | | | | | | | | | | | | | | | | | | information. Prior to this, if a context was created with QGLWidget it would setup the sharing correct, but all sharing actually created on a QPlatformGLContext level was ignored by the QGLContext, thus indicating that it wasnt sharing with any other context.
| * | Remove Lighthouse specific code from QGLWindowSurfaceJørgen Lind2011-01-251-7/+1
| | |
| * | Remove Lighthouse specific code in QGLWidget constructorJørgen Lind2011-01-043-39/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | truth to be told, I can't remember why I decided that it was a good idea to have the code there. But clearly now I don't think so anymore. Such initialisation should happen in qgl_qpa.cpp chooseContext. If we tear down the window and the context then that has to be solved elsewhere.
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-256-12/+12
|\ \ \ | |_|/ |/| | | | | | | | | | | Conflicts: configure src/network/bearer/bearer.pri
| * | Fix static build on Windows with MinGW.Mark Brand2011-01-176-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_DECL_IMPORT is still __declspec(dllimport), which is unsuitable for static code. Commit edbc656b changed Q_DECL_IMPORT_IMPORT to Q_CORE_EXPORT when declaring QtCore functions in svg. Now we change Q_DECL_IMPORT to Q_GUI_EXPORT when declaring QtGui functions into opengl and openvg. Also removed the redundant keyword "extern" from the function declarations. Merge-request: 2540 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: mariusSO
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-1772-77/+73
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webkit/imageanalyzer/imageanalyzer.h examples/webkit/imageanalyzer/mainwindow.h mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h src/corelib/io/qfsfileengine_iterator_unix.cpp src/corelib/io/qfsfileengine_iterator_win.cpp src/corelib/kernel/qcoreapplication.cpp src/network/access/qnetworkaccessdatabackend.cpp src/plugins/bearer/connman/qconnmanservice_linux.cpp src/plugins/platforms/openvglite/qwindowsurface_vglite.h src/s60installs/bwins/QtCoreu.def src/s60installs/eabi/QtCoreu.def src/s60installs/s60installs.pro tools/assistant/tools/assistant/helpviewer_qwv.h tools/qdoc3/test/qt-html-templates.qdocconf
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-01-1072-73/+73
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: QFont/Windows: restrict the pixel size accuracy Update copyright year to 2011. For non-developer builds, skip test that requires private API tst_qhttpnetworkconnection: Compile fix Change QHostInfoCache to use QElapsedTime instead of QTime. Fix for qtdemo bug
| | * | Update copyright year to 2011.Jason McDonald2011-01-1072-73/+73
| | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| * | | Merge branch 'graphics-team-text-4.7' into 4.7Eskil Abrahamsen Blomfeldt2011-01-101-4/+0
| |\ \ \ | | |/ / | |/| |
| | * | Fix regression in text rendering in OpenGL2 engineEskil Abrahamsen Blomfeldt2011-01-051-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 532115bcaa370af827a5cbad017b272842c5aacf introduced a regression by fixing a typo in the QT_OPENGL_ES_2 macro. This caused a broken and untested code path to be used in the GLES2 case. Since the QImage scanlines are 32 bit aligned, QImage::width() cannot be used when copying the data. Rather than pass in bytesPerLine() to the GL function, I opted to revert to the proven behavior, where the pad bytes are never read by GL but each scanline is copied separately, to avoid further regressions on different hardware. This also seems like the more correct approach, as the pad bytes should ideally not be copied into the cache texture. Reviewed-by: Samuel
* | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-01-111-8/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Compile when qreal != double Make application font family names locale sensitive in X11 Rename QTextBlockFormat::AtLeastHeight -> MinimumHeight Add line spacing to QTextBlockFormat, get/set functions, CSS support Optimize texture glyph cache Disable certain GPOS features by default Move advances for control character in Indic syllable shaping
| * \ \ \ Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2Eskil Abrahamsen Blomfeldt2011-01-103-4/+24
| |\ \ \ \
| * \ \ \ \ Merge branch 'qt-graphics-team-text-master'Eskil Abrahamsen Blomfeldt2011-01-101-8/+12
| |\ \ \ \ \ | | |_|_|_|/ | |/| | | |
| | * | | | Optimize texture glyph cacheEskil Abrahamsen Blomfeldt2010-12-211-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid calling the bounding box function for the same non-printable characters in every call, we cache them as empty in the coords table and bail out before painting them. This patch also fixes some possible reads of uninitialized memory (reference to return value) and reference to a default constructed object consisting of uninitialized pods. Reviewed-by: Samuel
* | | | | | qt project files: create pkg-config files for mingwMark Brand2011-01-101-1/+1
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly the same as for unix. Merge-request: 2543 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | | | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-01-071-3/+4
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | Restored old flushing behavior in -graphicssystem opengl on desktop.Samuel Rødal2011-01-071-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 284211ccbd2cbd recently introduced a fix for EGL, to prevent flushing when nothing has been rendered into the back buffer. However, the skip should only be done when there's no partial update support in the window surface. If there is partial update support we can still flush as usual. Reviewed-by: Gunnar Sletta
* | | | | Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2011-01-052-1/+15
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: Fix outdated tests Fix def file names for libinfixed testlib Generate freeze targets in Symbian QMeeGoGraphicsSystemHelper::setSwapBehavior implementation. Support for swap modes in QGLWindowSurface. Pre-create the GL share widget before window surface creation. QMeeGoSwitchEvent exported and static. Fixed first element being a LineToElement in QPainterPath::connectPath() Update visual tests Ignore static_and_shared in Symbian builds.
| * \ \ \ \ Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-01-052-1/+15
| |\ \ \ \ \ | | |/ / / / | | | / / / | | |/ / / | |/| | |
| | * | | Support for swap modes in QGLWindowSurface.Michael Dominic K2011-01-042-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AlwaysFull and AlwaysPartial implemented in ES only for now. By default do automatic. Merge-request: 993 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | | | Added warning if <QGLFunctions> is included when GLEW is present.Samuel Rødal2011-01-051-0/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | GLEW can not be used in combination with <QGLFunctions>. Reviewed-by: Eskil Abrahamsen Blomfeldt
* | | | add missing license headerHarald Fernengel2010-12-221-0/+41
| | | |
* | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-12-216-137/+771
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (33 commits) Add inter-process binary shader cache for MeeGo Track average wait times under our maximum spin time threshold Store and track spin times in nanosecond resolution Optimize adaptive spinning mutex code Improve QMutex contention performance on Linux Improve QMutex contention performance on Mac OS X Disable spinning under lock contention on single CPU machines Remove unnecessary testAndSetAcquire from QMutex::lockInternal() Move contender count maintenance to QMutexPrivate test contention when using 2 mutexes Ensure that every thread does contend in the contention tests Add baseline test data to measure test overhead Test contention performance for long (10ms) critical sections Add a benchmark for contended and uncontended QMutex performance Removed QMutexPrivate::self() declaration Add QElapsedTimer::nsecsElapsed() const Delay creation of the process manager Make the QRasterPaintEngineState copy constructor cheaper. Micro-optimization for QSpanData::setup() define FSCTL_SET_REPARSE_POINT in test header ...
| * | | | Add inter-process binary shader cache for MeeGoHarald Fernengel2010-12-216-137/+771
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | This patch significantly reduces MeeGo app startup times by caching binary shaders in a shared memory segment. Reviewed-by: Robert Griebl Reviewed-by: Samuel Rødal
* | | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-207-5/+69
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | | | | | | | | | | Conflicts: demos/declarative/minehunt/minehunt.pro src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/plugins/phonon/mmf/mmf.pro src/s60installs/s60installs.pro tests/auto/qapplication/test/test.pro tests/auto/qgraphicsview/tst_qgraphicsview.cpp
| * | Add work around for bug when painting w/glTexSubImage into large textureEskil Abrahamsen Blomfeldt2010-12-164-1/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that copying small rectangles from glTexSubImage2D into a texture which is 2048x2048 is busted on some SGX drivers, even though the driver reports 2048 as the maximum texture size. This caused text to turn into flickering garbage once the texture glyph cache had grown to its max size (e.g. when painting very many Chinese glyphs.) To work around the problem, we hardcore the maximum texture height to 1024 on this driver so that the texture glyph cache is reset whenever that size is exceeded. Task-number: QT-3971 Done-with: Samuel
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-12-151-4/+7
| |\ | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Don't delete FBO when resetting glyph cache
| | * Don't delete FBO when resetting glyph cacheEskil Abrahamsen Blomfeldt2010-12-141-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the glyph cache is cleared because the max texture size has been exceeded, we shouldn't delete the fbo as this is only created in setContext() and will thus not be recreated. All subsequent resizing of the cache will fail. Task-number: QT-3971 Reviewed-by: Samuel
| * | Trivial: Fix coding styleHarald Fernengel2010-12-141-1/+1
| | | | | | | | | | | | Fix coding style of merge request
| * | Prevent ::flush from being called on QGLWindowSurface if no painting happened.Michael Dominic K2010-12-141-0/+13
| |/ | | | | | | | | | | Merge-request: 2527 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com> Reviewed-by: Samuel Rødal
| * Fixed GL 2 engine rendering of images / pixmaps above max texture size.Samuel Rødal2010-12-132-5/+49
| | | | | | | | | | | | | | | | Down-scale images or pixmaps that are above the max texture size. Not optimal performance-wise, but better than failing. Task-number: QTBUG-16033 Reviewed-by: Eskil Abrahamsen Blomfeldt
* | Fixed stroke / fill inconsistencies in GL 2 paint engine.Samuel Rødal2010-12-142-42/+0
| | | | | | | | | | | | | | | | Get rid of the aliased coordinate delta, like we already did in the raster paint engine. Task-number: QTBUG-16043 Reviewed-by: Gunnar Sletta
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-133-14/+42
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/gui/graphicsview/qgraphicslayout.cpp src/gui/text/qfontengine_s60.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qwindowsurface_gl.cpp src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
| * Missing glyphs in GL when scaling QStaticText and QML text itemsEskil Abrahamsen Blomfeldt2010-12-101-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Since scaled text is backed by an A8 glyph cache, it needs to repopulate even if it has previously populated the cache for the unscaled text. This means that we need to record in the userData that the type of the cache is not the same as the last time. Otherwise the A8 version of the cache will only be updated when it's created and when the text actually changes, leading to glyphs missing on screen when zooming text using a scale. Task-number: QTBUG-16012 Reviewed-by: Gunnar
| * Try using pure scissor clip in GL 2 engine for rotations.Samuel Rødal2010-12-091-1/+5
| | | | | | | | | | | | | | | | As long as the final clip area is rectangular and axis aligned we can use a scissor clip. This prevents performance problems when doing 90-degree rotated rectangle clips. Reviewed-by: Bjørn Erik Nilsen
| * Fixed missing text in GL 2 engine after recreating a context.Samuel Rødal2010-12-091-1/+3
| | | | | | | | | | | | If we recreate the texture glyph cache, we also need to repopulate. Reviewed-by: Eskil Abrahamsen Blomfeldt
| * Check Qt::WA_TranslucentBackground instead of custom widget property.Michael Dominic K2010-12-081-12/+5
| | | | | | | | | | Merge-request: 2523 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Support for 'qglTranslucent' in QGLWindowSurface.Michael Dominic K2010-12-081-1/+19
| | | | | | | | | | Merge-request: 2523 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Fix text disappearing on GL when RGB-path is taken (no transformation)Eskil Abrahamsen Blomfeldt2010-12-071-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | When there is no transformation on a glyph in the GL texture glyph cache, it will take the RGB code path to support subpixel antialiasing. In this code path we would ask glTextImage2D() to convert from a GL_ALPHA buffer to an internal format of GL_RGBA. This is not supported on OpenGL ES 2, and would cause missing text for some drivers. The change also fixes a typo in an #ifdef. Task-number: QTBUG-15789 Reviewed-by: Kim
* | Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2010-12-083-2/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: (101 commits) Fix QTextEdit::selectAll crash from textChanged() Fix proxy reading from gconf so that it is only done once / session. rebuild configure fix misleading uppercasing deprecation warning Enable Phonon on Symbian by default. Disable OpenGL on Symbian only by default instead of always VFP type on ARM option in Linux configure script Adding -dont-process option to Unix configure script Synchronized configure.exe OpenGL options with Unix configure build lrelease as part of the "libs" part. purge vestiges of imageformat-plugins Unify epocroot usage in createpackage and patch_capabilities scripts Update visual tests for the recent qmlviewer change Do not use openGL on Mac OS X for QML visual tests Give qmlviewer a minimum size if root object has no size. Add 'Writing New Components' docs, and document the connect() function. Mention that image providers should be added before loading QML files Update QML visual tests Cleaned up sis_targets.prf Append qml import path individually for each available drive on Symbian ...
| * \ Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2010-12-073-2/+5
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: (100 commits) Fix proxy reading from gconf so that it is only done once / session. rebuild configure fix misleading uppercasing deprecation warning Enable Phonon on Symbian by default. Disable OpenGL on Symbian only by default instead of always VFP type on ARM option in Linux configure script Adding -dont-process option to Unix configure script Synchronized configure.exe OpenGL options with Unix configure build lrelease as part of the "libs" part. purge vestiges of imageformat-plugins Unify epocroot usage in createpackage and patch_capabilities scripts Update visual tests for the recent qmlviewer change Do not use openGL on Mac OS X for QML visual tests Give qmlviewer a minimum size if root object has no size. Add 'Writing New Components' docs, and document the connect() function. Mention that image providers should be added before loading QML files Update QML visual tests Cleaned up sis_targets.prf Append qml import path individually for each available drive on Symbian Update TextInput when echoMode changes. ...
| | * \ Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-063-2/+5
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/win32/msbuild_objectmodel.cpp src/gui/image/qpnghandler.cpp src/network/access/qnetworkaccessdatabackend.cpp src/opengl/qgl_x11egl.cpp tests/auto/qnetworkreply/tst_qnetworkreply.cpp
| | | * Fix warning about %x parameter type mismatch in EGLThiago Macieira2010-11-261-1/+1
| | | |
| | | * Fix warning about address of a function being constant.Thiago Macieira2010-11-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | In OpenGL ES 2, these functions are always expected to be present, so the address can never be zero. So only test for the function being found if we tried to find it dynamicaly.
| | | * Fix warnings related to unused variables.Thiago Macieira2010-11-262-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Just add some Q_UNUSED for parameters or remove the variable we don't need for the others. Reviewed-by: Trust Me
* | | | Optimize behavior of QGLTextureCacheHarald Fernengel2010-12-071-12/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we iterate over the cache to figure out which objects to remove, we would change the internal order of the cache, leading to a suboptimal caching behavior. Instead, let QCache decide which objects to remove when the cache overflows, based on its internal last-recently-used algorithm. Reviewed-by: Samuel Rødal