Commit Graph

47 Commits (a732576a66ff2bbd9c0b41cd5f3505a4d2fbf043)

Author SHA1 Message Date
Liang Qi 28628a5d5e Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	src/plugins/platforms/eglfs/qeglfshooks.cpp

Change-Id: I483f0dbd876943b184803f0fe65a0c686ad75db2
2016-10-22 21:19:57 +02:00
Kai Koehne f773ddd026 Fix when calling QSurfaceFormat::setDefaultFormat before Q*Application
Fixes a regression introduced in commit 51767affb.
QOpenGLContext::globalShareContext requires a QGuiApplication to exist.
This wasn't required so far.

Task-number: QTBUG-56614
Change-Id: I07bcf434fca536c4dc50feee7ea17eb541fd589a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2016-10-21 14:45:30 +00:00
Liang Qi d90b155c60 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	mkspecs/macx-ios-clang/features/resolve_config.prf
	src/testlib/qtestcase.qdoc

Change-Id: Icefa63056ffb37106f35299a8f19165535571799
2016-10-17 11:02:54 +02:00
hjk d71bb504a6 Fix QtGui compilation without OpenGL
Change-Id: I2a9f8bde7d2ba672e4e664ff731a3272a6def516
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-10-16 15:14:13 +00:00
Alexandru Croitor 51767affb3 Show warning when setting new default QSurfaceFormat
If a global shared context is created, and afterwards a new default
QSurfaceFormat with a different version or profile is set, it can
lead to issues with context sharing.
The documentation for QSurfaceFormat::setDefaultFormat mentions
this. It would be helpful to actually show a warning in case it
happens.

Change-Id: I71f7ce95496e1ecbfc6a0c7d7bed146ef8dc351e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-10-13 15:38:05 +00:00
Andre Somers 0df5c366e5 Use QFlags::setFlag where prudent in qtbase
QFlags::setFlag is most useful to replace explicit constructs like

if (condition) {
   someFlags |= TheConditionFlag;
} else {
   someFlags &= ~TheConditionFlag;
}

with

someFlags.setFlag(TheConditionFlag, condition);

Change-Id: Ie4586681c83e0af812d5bbf14965aad51941a960
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-02-12 19:32:05 +00:00
Jani Heikkinen 1a88b2f768 Updated license headers
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-15 12:25:24 +00:00
Friedemann Kleint 3203ac3f4e Use QDebugStateSaver to restore space setting in stream operators.
Returning dbg.space() breaks formatting on streams that already
have nospace() set.

Change-Id: I55e38b018679a67eb40be6b4664505483a3a7d8e
Reviewed-by: David Faure <david.faure@kdab.com>
2015-03-30 12:59:58 +00:00
Laszlo Agocs 975260503a Add a note about not requesting a profile
As per spec not requesting a profile on 3.2+ is same as requesting
core since the profile mask defaults to core.

Change-Id: I5d03ac08bcba20c273c1c32a51f6a105eba0629f
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-03-20 14:06:28 +00:00
Laszlo Agocs 9021639f41 Improve setDefaultFormat docs regarding AA_ShareOpenGLContexts
When using core profile contexts, sharing with the global share context
may not work if the global one is a non-core context. This can happen
when setDefaultFormat() is called only after Q(Gui)Application is
constructed. This is a typical issue on OS X, so document it.

Change-Id: I6a8dca442ffeb884faedb9c6346351bb6eef3cff
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-02-25 14:35:28 +00:00
Jani Heikkinen 83a5694dc2 Update copyright headers
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>
2015-02-11 06:49:51 +00:00
Laszlo Agocs e445fa45b1 WGL: support reset notifications via GL_ARB_robustness
Handling context losses is unavoidable with ANGLE. Introduce
some level of support for desktop GL too by making it possible
to opt in via a new flag.

Support is added for Windows (WGL, opengl32) only for now.
In case of Windows with ANGLE setting the flag is not necessary,
context losses will be reported regardless.

Change-Id: Ic354c1382e876566538c52a4381f7ff328b7477e
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-02-03 16:16:56 +00:00
Shawn Rutledge b9d98c10bd Deprecate implementations of functions deprecated in headers
If you build with configure -DQT_NO_DEPRECATED this will avoid some
build errors.

Change-Id: If2b2e57b6919091f3f077ebc2aeca0c3fd2421aa
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-11-27 04:16:22 +01:00
Matti Paaso 974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00
Laszlo Agocs 22e4391413 Add default format to QSurfaceFormat
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>
2014-08-08 07:29:29 +02:00
Friedemann Kleint 3ed2ec1487 Fix some documentation errors.
Correct links and fix typos, remove obsolete documentation,
fix some snippets, mark some classes as internal.

Change-Id: I9a3266605f060783413d32740057a57a820c8929
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-24 16:42:02 +01:00
Kurt Pattyn 3ff15f1e98 QOpenGLContext: Use color depth information from QSurfaceFormat
When a new QOpenGLContext is requested, the color depth
information is now also taken into account on OS X and WGL.

Task-number: QTBUG-37411
Change-Id: I69d04989a20de3ace041b009fbbdc03fa02cfdf8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-19 20:12:08 +01:00
Frederik Gladhorn 4a8273a6fc Merge remote-tracking branch 'origin/stable' into dev
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).

Conflicts:
	configure
	qmake/generators/win32/msvc_nmake.cpp
	src/3rdparty/angle/src/libEGL/Surface.cpp
	src/angle/src/common/common.pri
	src/corelib/global/qglobal.h
	src/corelib/io/qstandardpaths.cpp
	src/plugins/platforms/qnx/qqnxintegration.cpp
	src/plugins/platforms/qnx/qqnxscreeneventhandler.h
	src/plugins/platforms/xcb/qglxintegration.h
	src/widgets/kernel/win.pri
	tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
	tools/configure/configureapp.cpp

Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
2013-11-26 22:35:48 +01:00
Laszlo Agocs 5dd94b75e3 Add swapInterval to QSurfaceFormat
Implement swap interval support for EGL, GLX and WGL.

The environment variable QT_QPA_EGLFS_SWAPINTERVAL is renamed to
QT_QPA_EGL_SWAPINTERVAL and can be used to override the applications'
setting of the swap interval.

Task-number: QTBUG-31939

Change-Id: I644325d5d3306b7604bffd7efccda3c00ed37d36
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-13 09:47:34 +01:00
Giuseppe D'Angelo 560d33ad04 Introduce proper QSurfaceFormat's setters/testers for format options
Fixes several things

* setOption(options) has the wrong name (singular)
* setOption(options) doesn't set the current options to the argument, but
ORs the current options with the argument and sets the result
* testOption(options) has the wrong name

The old methods get deprecated, and new methods and overloads get
introduced here. Old code behavior is thereby preserved.

Change-Id: I51bba49f22810c80e6b4980892600d616503af6b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-07 18:00:28 +01:00
Sze Howe Koh 16198d963d Doc: Fix broken links
Task-number: QTBUG-33360

Change-Id: Ic944cb2f575c35ebad64852ef5fc44a50ac03571
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2013-11-05 00:29:01 +01:00
Sean Harmer 6d3e821349 Remove doc references to non-existing functions in QSurfaceFormat
Change-Id: I5a9de5b719e111e47a1ea7334609695f1db6149a
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-24 00:32:08 +02:00
Jerome Pasion 4533cc9944 Doc: Adding mark-up to boolean default values.
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".

src/3rdparty and non-documentation instances were ignored.

Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-08 00:46:27 +02:00
Mitch Curtis 37351bbecf Touch up QSurfaceFormat documentation.
Change-Id: I439ffa7632dbfe6d9e2c4e40447bfabfeac76f7b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-28 14:38:44 +02:00
Frederik Gladhorn e65cd6f379 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/concurrent/doc/qtconcurrent.qdocconf
	src/corelib/doc/qtcore.qdocconf
	src/corelib/global/qglobal.h
	src/dbus/doc/qtdbus.qdocconf
	src/dbus/qdbusmessage.h
	src/gui/doc/qtgui.qdocconf
	src/gui/image/qimagereader.cpp
	src/network/doc/qtnetwork.qdocconf
	src/opengl/doc/qtopengl.qdocconf
	src/opengl/qgl.h
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/printsupport/doc/qtprintsupport.qdocconf
	src/sql/doc/qtsql.qdocconf
	src/testlib/doc/qttestlib.qdocconf
	src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf
	src/widgets/doc/qtwidgets.qdocconf
	src/xml/doc/qtxml.qdocconf

Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
2013-02-14 14:24:57 +01:00
Samuel Rødal c76ec20e55 Fixed QSurfaceFormat documentation about DebugContext requiring GL3+.
GL_ARB_debug_output only requires OpenGL 1.1 and above.

Change-Id: Ib79d370fac36fa737817ea678f0dee25283dfa31
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-02-12 17:56:10 +01:00
Samuel Rødal bfa1584162 Added version() and setVersion() convenience API to QSurfaceFormat.
This lets you write code like format.version() >= qMakePair(3, 2), and
format.setVersion(4, 2) instead of format.setMajorVersion(4);
format.setMinorVersion(2);

Change-Id: Ib052091cc12865ea0d5db52e468ed6cd28f14840
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-02-08 20:00:00 +01:00
Sergio Ahumada 48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Iikka Eklund be15856f61 Change copyrights from Nokia to Digia
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>
2012-09-22 19:20:11 +02:00
Laszlo Agocs 562d6ff90f Do not refer to non-existant member in QSurfaceFormat docs
Sample buffers should be enabled automatically under the hood
when samples is > 0 and therefore the getter and setter are
gone.

Change-Id: I9cd6438e89060f901598a6aacacb99362fac4718
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-09-20 07:04:11 +02:00
Shawn Rutledge c0b3f90de4 Fixed qdoc complaints for qsurface and qsurfaceformat.
Also QTBUG-25231

Change-Id: I54e1f2d4ca9a52590b28e4d5ea04a8ae4a48d318
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-21 06:50:26 +02:00
Gunnar Sletta 50eed2d068 Get started with patching up the Qt GUI docs
Primary goal, make the front page of the Qt GUI module a bit more
clarifying and avoid downstream references inside the Qt GUI docs.

Change-Id: Icbcfbb64b93963add889bf83711daa9575885c02
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-28 06:21:46 +02:00
Samuel Rødal 6874a33a75 Fixed missing way of choosing EGL renderable type with QSurfaceFormat.
This has been long overdue, since EGL now lets you choose between
desktop and ES based OpenGL. We also add OpenVG for those who want to
use raw OpenVG with a QOpenGLContext. The underlying EGL API for using
OpenGL / OpenVG is the same, with eglMakeCurrent() and eglSwapBuffers().

Change-Id: Ib0146b3fde5fe632069ebf99e7712f496ee7ea4d
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-27 00:46:35 +02:00
Samuel Rødal 5728c8a8e7 Added missing \since 5.0 and tweaked some docs in QtGui.
Change-Id: I91564f7a61962f97b9fb78c96d94d5695a3924db
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-15 18:05:05 +01:00
Samuel Rødal 04652b9856 Added documentation for QSurfaceFormat.
Change-Id: I3b42b09e6e42092c098e4fc20c5ba7dd7e354116
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-23 11:57:00 +01:00
Jason McDonald 5635823e17 Remove "All rights reserved" line from license headers.
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>
2012-01-30 03:54:59 +01:00
Jason McDonald 629d6eda5c Update contact information in license headers.
Replace Nokia contact email address with Qt Project website.

Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:04:33 +01:00
Jason McDonald 1fdfc2abfe Update copyright year in license headers.
Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-05 06:36:56 +01:00
Samuel Rødal ba92fe9222 Re-added hellogl_es and ES 1 support for QOpenGLContext.
Change-Id: I576cf3595cdeeefb4ed840bb3b2b7097b3609cc7
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-10-31 12:37:51 +01:00
Bradley T. Hughes 6476ac738c Replace implicit QAtomic* casts with explicit load()/store()
Change-Id: Ia7ef1a8e01001f203e409c710c977d6f4686342e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-10-27 18:57:38 +02:00
Friedemann Kleint 08e2485860 QSurfaceFormat: Use version in comparison and debug, fix setter.
Change-Id: Id123ca9366b97a172e08a4608ccdffafb7caaf09
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-10-18 15:47:49 +02:00
Kent Hansen dea76f3496 Make qtbase build with Qt-in-namespace again
Change-Id: I5faa8690a05d6ec352fc69c0b69848539f2ed216
Reviewed-on: http://codereview.qt-project.org/5460
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-28 12:18:37 +02:00
Jason McDonald 0b788682d2 Fix stale license headers from refactor branch
Change-Id: I38cd941202641f50bf632af35165a944d03a20e3
Reviewed-on: http://codereview.qt-project.org/4848
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-09-15 03:27:45 +02:00
Samuel Rødal 6e28e8441b Copy core GL functionality to QtGui with QGL -> QOpenGL naming.
Change-Id: Ibc989afa4a30dd184d41d1a1cd89f97196e48855
Reviewed-on: http://codereview.qt.nokia.com/3710
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-29 10:25:24 +02:00
Friedemann Kleint e21f9e3f73 Fix comparison.
Change-Id: Id90a49e57d25d12936678fecfa9c4e0c6dbe676b
Reviewed-on: http://codereview.qt.nokia.com/3255
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-19 11:08:11 +02:00
Friedemann Kleint 984982c41f QSurfaceFormat: Add missing 'profile' accessors, fix detaching.
No longer initialize FormatOptions to SwapBehaviour::DoubleBuffer
in the constructor as it is a different enumeration.

Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>

Change-Id: Id69e0345d4395ee88532ac3ee0e89c35e6c5b083
Reviewed-on: http://codereview.qt.nokia.com/3254
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-19 11:05:26 +02:00
Samuel Rødal 176f30b137 OpenGL API refactor.
Rename QGuiGLFormat to QSurfaceFormat, and make QWindow sub-class of
QSurface and QPlatformWindow sub-class of QPlatformSurface, instead of
having QPlatformGLSurface accessor in QWindow.
2011-06-21 14:02:22 +02:00