summaryrefslogtreecommitdiffstats
path: root/src/opengl/qgl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into lighthouse-masterJørgen Lind2011-01-261-1/+1
|\
| * Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-171-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | | | | | | | | | Reviewed-by: Trust Me
* | | Remove Lighthouse specific code in QGLWidget constructorJørgen Lind2011-01-041-34/+0
|/ / | | | | | | | | | | | | | | | | 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 Goffart2010-12-201-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | 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-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'qt-master-from-4.7' of ↵Qt Continuous Integration System2010-12-081-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-061-0/+4
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | 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 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.
* | | 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
* | Make QtOpenGL use shared contextexts on LighthouseJørgen Lind2010-11-261-10/+14
| |
* | Move the Lighthouse specfic api into qpa_qpa.cppJørgen Lind2010-11-261-12/+0
| | | | | | | | and ifdef the functions in qgl.h
* | Lighthouse: Fix QGLContext::currentContext for systems with limitedJørgen Lind2010-11-241-9/+49
| | | | | | | | | | | | | | | | | | | | | | | | resources. The example plugins EGLFS uses only 1 native context. Make sure that we only use this 1 context, and that we dont wrap it in many different QPlatformGLContexts or QGLContexts instanses. This change also removes the QPlatformWindow link which was made in the initial QPlatformGLContext change. Lighthouse has to support situations where a context isnt bound to a QPlatformWindow. Reviewed-by: gunnar
* | Lighthouse: move the currentContext functionality to QPlatformGLContextJørgen Lind2010-11-221-0/+24
| | | | | | | | | | | | | | | | | | This means the threading functionality has been delegated down to QPlatformGLContext. However, it is still possible to use QGLContext::currentContext to retrieve the QGLContext. This so that QGLFunctions, QGLShaderProgram etc can be used without a QGLWidget. Reviewed-by: paul
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-11-121-1/+17
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure doc/src/snippets/code/doc_src_qmake-manual.qdoc mkspecs/features/symbian/application_icon.prf mkspecs/features/symbian/default_post.prf mkspecs/features/symbian/symbian_building.prf qmake/generators/symbian/initprojectdeploy_symbian.cpp src/multimedia/audio/audio.pri src/network/access/qnetworkaccessmanager.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl_p.h src/plugins/bearer/corewlan/qcorewlanengine.mm src/plugins/phonon/mmf/mmf.pro tests/auto/qscriptvalue/tst_qscriptvalue.cpp tests/auto/qscriptvalue/tst_qscriptvalue.h tools/qdoc3/doc/qdoc-manual.qdocconf
| * Prevented race condition on texture destruction.Samuel Rødal2010-11-081-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | When texture destruction was triggered from a different thread, we posted a signal to the QGLSignalProxy. However, before the signal is delivered the corresponding QGLContext might be destroyed in the main thread. We need to post a signal to a QObject which is destroyed when the QGLContext is destroyed instead, to prevent trying to access an invalid QGLContext pointer. Task-number: QT-4238 Reviewed-by: Gunnar Sletta
| * Prevented threading related crash in OpenGL module.Samuel Rødal2010-10-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | If the last shallow copy of a QImage which is cached in the QGLTextureCache is destroyed in a thread at the same time as the QGLContext which the texture was initialized in is active in a different thread, the QImage thread incorrectly tries to make the context active in two threads at once. To prevent this from happening it's best to always do the texture clean-up in the main thread. Task-number: QT-4238 Reviewed-by: Eskil Abrahamsen Blomfeldt
* | Merge remote branch 'qt/master' into lighthouse-masterPaul Olav Tvete2010-10-261-1/+7
|\ \ | | | | | | | | | | | | Conflicts: src/opengl/qwindowsurface_gl.cpp
| * \ Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-10-261-1/+1
| |\ \ | | |/
| | * Added support for blitting to native child widgets in GL window surface.Samuel Rødal2010-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Support blitting by copying from the top-level window's back buffer to a temporary texture and then blitting from the texture to the native child widget. Performance suffers, but it's better than failing. Reviewed-by: Gunnar Sletta
| * | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-10-251-0/+6
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/declarative/snake/snake.qml qmake/generators/symbian/symbiancommon.cpp src/network/access/qnetworkaccessmanager.cpp src/s60installs/s60installs.pro tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp tests/auto/qnetworkreply/tst_qnetworkreply.cpp
| | * Fix GL_OES_element_index_uint and add GL_OES_depth24 detection.Jani Hautakangas2010-10-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | GL_OES_element_index_uint detection was not working because EGL config wasn't yet resolved. In addition QFrameBufferObject should use 24bit depth render buffer if extension is available. Task-number: QTBUG-14542 Reviewed-by: Gunnar
* | | Merge remote branch 'qt/master' into lighthouse-masterPaul Olav Tvete2010-10-221-3/+0
|\ \ \ | |/ / | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qapplication_win.cpp src/gui/kernel/qwidget.cpp src/gui/text/qfontengine_ft.cpp
| * | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-10-121-3/+0
| |\ \ | | |/
| | * Revert "Don't define highp/mediump/lowp if desktop GL has them"Trond Kjernåsen2010-10-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6155050f68cc86c445552da61a5f240c16f5e2cd. The GL_ARB_ES2_compatibility extension does not mention the lowp, mediump or highp keywords. Task-number: QTBUG-14384 Reviewed-by: Samuel Reviewed-by: Prasanth
* | | Merge remote branch 'qt/master' into lighthouse-masterPaul Olav Tvete2010-10-051-0/+3
|\ \ \ | |/ / | | | | | | | | | Conflicts: src/gui/painting/qpdf.cpp
| * | Merge commit 'c1f9978c9d61bcbdb2f280185a3abdea13d7f532' into master-from-4.7Rohan McGovern2010-10-051-7/+29
| |\ \ | | |/
| | * Don't disable texture_from_pixmap on GLX/X11 by default.Trond Kjernåsen2010-09-271-7/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We made a mistake of trying to make use of the texture_from_pixmap extension by default when binding textures in Qt. The extension have several limitation and using it produces crashes with certain drivers/graphic card combos, but we can't change this now since it will break existing apps using well behaved drivers. We'll fix this for 4.8 with either a QGL::BindOption or configure flag. Revert "Don't try to use the texture_from_pixmap extension in GL on desktop/X11." This reverts commit 07c5429d5aacab932cd912e66287d66fb952e7c4.
| | * Don't pretend to support single buffered EGL surfaces.Trond Kjernåsen2010-09-241-0/+3
| | | | | | | | | | | | | | | Task-number: QTBUG-12865 Reviewed-by: Samuel
| * | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-09-281-26/+7
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qrasterizer.cpp src/network/access/qnetworkaccessmanager.cpp tests/auto/qpainter/tst_qpainter.cpp tools/assistant/tools/assistant/mainwindow.cpp
| | * Don't try to use the texture_from_pixmap extension in GL on desktop/X11.Trond Kjernåsen2010-09-231-26/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are far too many problems with this extension for it to be usable on desktop at the moment, so disable on desktop GL for now. It's still enabled for EGL, where it seems to have better driver support. Task-number: related to QTBUG-11158 Reviewed-by: Samuel
* | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtGunnar Sletta2010-09-271-3/+2
|\ \ \ | |/ / | | | | | | | | | | | | Conflicts: configure src/corelib/global/qglobal.h
| * | Fixes makeCurrent() failed messages on several systems.Trond Kjernåsen2010-09-161-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Small but important fix for threaded environments. If a thread exits without releasing the current context, it could cause the resource system to get confused. Particularly on Windows, where a DC can only be used in the thread it is retrieved in. We don't need the EGL specific fix anymore since it will have the same effect as a doneCurrent() call.
* | | Merge remote branch 'qt/master' into lighthouse-masterPaul Olav Tvete2010-09-131-11/+91
|\ \ \ | |/ / | | | | | | | | | | | | | | | Conflicts: configure src/corelib/global/qglobal.h src/corelib/tools/qsimd.cpp
| * | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-09-101-5/+4
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt demos/declarative/snake/content/snake.js demos/declarative/snake/snake.qml doc/src/development/qmake-manual.qdoc src/corelib/plugin/plugin.pri src/gui/kernel/qapplication_win.cpp src/gui/kernel/qdesktopwidget_win.cpp src/gui/painting/qdrawhelper.cpp tests/auto/qdir/tst_qdir.cpp tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf
| | * Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-09-071-0/+2
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/Makefile.win32 src/corelib/io/qfsfileengine_win.cpp src/corelib/kernel/qeventdispatcher_win.cpp src/gui/dialogs/qfiledialog_win.cpp src/gui/inputmethod/qcoefepinputcontext_s60.cpp src/gui/text/qfontdatabase_win.cpp src/gui/util/qsystemtrayicon_win.cpp src/script/utils/qscriptdate.cpp tests/auto/qinputcontext/tst_qinputcontext.cpp tests/auto/qscriptengine/tst_qscriptengine.cpp
| | | * Recognize GL_ARB_shader_objects as indicating shadersRhys Weatherley2010-08-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression introduced by bf5c25c4. Some OpenGL implementations don't have the GL_ARB_fragment_shader extension listed even though they do support shaders. Task-number: QTBUG-13179 Reviewed-by: Sarah Smith
| | * | Made QT_GL_SWAPBUFFER_PRESERVE=1 with the GL graphics system work.Samuel Rødal2010-08-311-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | On desktop, we should just do swapBuffers() in swapRegion(). Reviewed-by: Trond
| * | | Doc update regarding threaded painting with QPainter in the QGL module.Trond Kjernåsen2010-09-091-9/+83
| | | | | | | | | | | | | | | | Reviewed-by: Gunnar
| * | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-08-311-6/+10
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix compilation on mac. Doc update: Mention the Qt::AA_X11InitThreads application attribute. Fix incorrect include order Add missing QT_BEGIN_NAMESPACE Fix crash introduced with d34287af6fc1c7558e8ed15dbb29c0e6b58b7b00 find .rodata in qt plugins to optimize loading of plugins with no qt section fix missing include Optimize plugin loading on ELF platforms use QFile:map instead of ::mmap QAbstractItemView: optimize handling of editors for view with large numbers of editors.
| | * | | Doc update: Mention the Qt::AA_X11InitThreads application attribute.Trond Kjernåsen2010-08-301-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | You need to know this if you're going to make threaded GL apps under X11.
| * | | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-301-0/+3
| |\ \ \ \ | | |/ / / | |/| / / | | |/ / | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp tests/auto/qnetworkreply/tst_qnetworkreply.cpp
| | * | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-08-261-0/+3
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt src/opengl/qgl.cpp tools/configure/configureapp.cpp
| | | * Fix OpenGLVersionFlags on OpenGL 4.0 systemsRhys Weatherley2010-08-161-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the OpenGL version was 4.0 or higher, the flags for 1.1, 1.5, 2.0, and so on were not being set. This lead to the flags indicating that older OpenGL versions were not supported when they clearly were. Back port parts of 28659c21d12a267b10e5b441bf4c776e04d69bdc from Qt 4.7 to fix this in Qt 4.6. Task-number: QTBUG-12554 Reviewed-by: Sarah Smith
| | | * Don't define highp/mediump/lowp if desktop GL has themRhys Weatherley2010-08-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenGL 4.0 systems now have compatibility with ES2, including support for the precision qualifiers. If the GL_ARB_ES2_compatibility extension is present, then we don't define highp/mediump/lowp to the empty string. Task-number: QTBUG-12862 Reviewed-by: Sarah Smith
* | | | Compile fixPaul Olav Tvete2010-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | Note: the #ifdef matches the one around eglReleaseBuffer, but it may be that that should have checked for EGL instead of GL_ES
* | | | Merge remote branch 'qt/master' into lighthouse-masterPaul Olav Tvete2010-08-261-7/+58
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | Conflicts: src/opengl/opengl.pro src/opengl/qgl.cpp src/opengl/qgl_p.h
| * | | Merge branch 'qt-master-from-4.7' of ↵Qt Continuous Integration System2010-08-251-12/+78
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (168 commits) Remove enums from bitfield, since all compilers do not support them. Don't circumvent onDestruction handlers when clearing expression in delegate cleanup Fix responseText to check the charset encoding field and also to not Re-insert and emit the correct NOTIFY signals following the removal Fix poor flicking behavior with slower flicks. Alignment of shadow for rich text is broken when using text styles typo Setting one dimension of the sourceSize should set the other dimension. Document calling QObject methods from QML in Extending QML in C++ docs. Stabilize tst_qgraphicsscene QDeclarativeDebug: send a message when new object are added QDeclarativeEngineDebugServer: make it a singleton. Fixed compile error in runonphone. Fix mispositioned text with QStaticText and OpenVG graphics system Use binarysort to find items. Use QImage 'convertInPlace' versions in QVGPixmapData load functions. QGraphicsView: Fix assert that may occurs if there are 'empty' item to draw, and changed() signal connected Added an install target to runonphone. Fix tst_Collections::QTBUG13079_collectionInsideCollection Fix few declarative code issues discovered by static code analysis ...
| | * \ \ Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-251-12/+78
| | |\ \ \ | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp src/declarative/qml/qdeclarativexmlhttprequest.cpp src/opengl/opengl.pro src/opengl/qgl_p.h src/plugins/bearer/connman/qconnmanservice_linux.cpp tests/auto/qpainter/tst_qpainter.cpp tools/assistant/tools/assistant/helpviewer_qwv.h tools/assistant/tools/assistant/openpageswidget.h
| | | * | On Symbian QGLWidget::glDraw() must do nothing if widget isn't visible.Jani Hautakangas2010-08-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise application crashes because rendering to invisible window surface will panic eventually. Reviewed-by: Trond