summaryrefslogtreecommitdiffstats
path: root/src/gui/egl
Commit message (Collapse)AuthorAgeFilesLines
* Detect context sharing on EGL systemsRhys Weatherley2009-11-092-0/+6
| | | | | | | | Context sharing was enabled on EGL systems, but QGLContext::isSharing() was still returning false because the flag in QGLContextPrivate was not updated. Reviewed-by: Sarah Smith
* Fixed compilation and linking of EGL on Windows CE.Trond Kjernåsen2009-11-041-8/+2
| | | | | | | | | Moved duplicated and broken code for setting up the include and library paths into the egl.prf feature file, which egl.pri and opengl.pro now includes using the qmake feature system. Task-number: QTBUG-5148 Reviewed-by: Tom Cooksey
* Compilation error due to undefined EGL_BIND_TO_TEXTURE_RGB for OpenGLKeith Isdale2009-11-021-0/+4
| | | | | | | | | ES enabled build of Qt for Windows CE Add #ifdef guards around EGL_BIND_TO_TEXTURE_RGB useage Task-number: QTBUG-5152 Reviewed-by: Trond Kjernåsen
* Compilation failure QtOpenGL when Opengl ES is used on Qt for Windows CEKeith Isdale2009-11-021-1/+1
| | | | | | | | Enable building egl/qegl_wince.cpp when a wince* mkspec is used Add "egl" to QT_CONFIG when any of the OpenGL ES variants is used Task-number: QTBUG-5073 Reviewed-by: Trond Kjernåsen
* Stop QEglContext destroying contexts it doesn't ownTom Cooksey2009-10-192-2/+4
| | | | Reviewed-By: Rhys Weatherley
* Recognize transformed screens when looking for a QGLScreenRhys Weatherley2009-10-161-1/+2
| | | | | | | | | | If the QWS_DISPLAY is specified as "Transformed:powervr:...", then we will encounter QScreen::TransformedClass rather than QScreen::ProxyClass when searching for the QGLScreen. This change makes the code search for both. Task-number: QT-2261 Reviewed-by: Sarah Smith
* Don't print EGL buffer size if it isn't set.Rhys Weatherley2009-10-081-2/+2
| | | | Reviewed-by: trustme
* Make QEglContext API a little more flexibleRhys Weatherley2009-09-252-12/+8
| | | | | | | | | | Allow higher layers in QtOpenGL and QtOpenVG to set the EGLConfig and EGLContext manually if they have some other way to determine what the values should be (e.g. constructing a special config for a specific platform). Also add a QEglProperties argument to createContext() to allow fine-tuning of the context parameters. Reviewed-by: Sarah Smith
* Remove the storage of the EGLSurface from QEglContextRhys Weatherley2009-09-256-79/+16
| | | | Reviewed-by: Sarah Smith
* Push the "lazy doneCurrent" logic down from QtOpenVG into QEglRhys Weatherley2009-09-242-3/+89
| | | | | | | | | | | | | | QtOpenVG was doing a lot of housekeeping to avoid having to switch EGL contexts if the same surface was used over and over. This housekeeping really belongs in the QEgl layer so that QtOpenGL could potentially use it as well. This change also adds some overrides for makeCurrent(), swapBuffers(), and destroySurface() that take an EGLSurface directly. This is the first step in separating EGL surface management from context management. Reviewed-by: Sarah Smith
* Adding support for symbian graphics resources.Aleksandar Sasha Babic2009-09-181-0/+3
| | | | | | | | | | | | | | This enables us to convert from and to new Symbian type of graphics resource, namely SgImage. This only supported with the OpenVG graphics system. On other graphics systems this will return null QPixmap. Conflicts: src/corelib/global/qglobal.h src/gui/image/qpixmap.h src/gui/image/qpixmap_s60.cpp Reviewed-by: Jason Barron
* Add a QMAKE_LFLAGS_EGL and QMAKE_LFLAGS_OPENGLTom Cooksey2009-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | When you link cross-compiled applications on Linux, the linker needs to be able to find not just the libraries the application links against (like libQtGui.so), but the libraries' dependencies. E.g. examples/widgets/wiggly links against QtGui. QtGui links against libEGL.so. Therefore, when you link wiggly, the linker has to be able to find libEGL.so, even though wiggly doesn't use EGL directly. To facilitate this, -Wl,rpath-link=/path/to/egl needs to be added to QMAKE_PRL_LIBS in libQtGui.prl and -Wl,rpath-link=/path/to/gl needs to be added to QMAKE_PRL_LIBS in libQtOpenGL.prl. This only needs to be done when the EGL/GL libs are not in the default search directories. As the paths will also change depending on the mkspec, two new variables have been added: QMAKE_LFLAGS_EGL & QMAKE_LFLAGS_OPENGL. These can be set in the mkspec and will be added to the relevent prls. E.g. QMAKE_LFLAGS_EGL += -Wl,-rpath-link=$${QMAKE_LIBDIR_EGL} QMAKE_LFLAGS_OPENGL += -Wl,-rpath-link=$${QMAKE_LIBDIR_OPENGL} Reviewed-by: Marius Storm-Olsen
* Make QtOpenGL link against EGL for OpenGL ESTom Cooksey2009-09-091-1/+1
| | | | | | | | | | Previously, QtOpenGL assumed that by linking against QtGui, it would automatically also be linked against EGL. However, this is no longer the case after 83940f25dba51a9942ab55ed8475fc7fc8a8da84 which makes sure only QtGui links against EGL and not other libs/apps linking against QtGui. Reviewed-by: Rhys Weatherley
* Update license headers again.Jason McDonald2009-09-098-32/+32
| | | | Reviewed-by: Trust Me
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-313-39/+39
| | | | Reviewed-by: Trust Me
* Merge branch '4.5' into 4.6Thiago Macieira2009-08-315-65/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h doc/src/desktop-integration.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/topics.qdoc src/corelib/tools/qdumper.cpp src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qwindowsurface_d3d.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/opengl/util/fragmentprograms_p.h src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/script/parser/qscript.g src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclassdata_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h tests/auto/linguist/lupdate/testdata/recursivescan/project.ui tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tools/linguist/shared/cpp.cpp
* Merge commit 'qt/master'Jason Barron2009-08-214-3/+19
|\
| * Make QEglContext::extensions() staticTom Cooksey2009-08-212-3/+3
| | | | | | | | | | | | This is private API Reviewed-By: Trustme
| * Add a static QEglProperties::dumpAllConfigs()Tom Cooksey2009-08-212-0/+16
| | | | | | | | | | | | This is private API Reviewed-By: Trustme
* | Merge commit 'qt/master'Jason Barron2009-08-181-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/examples.qdoc doc/src/plugins-howto.qdoc doc/src/topics.qdoc examples/phonon/musicplayer/mainwindow.cpp src/3rdparty/freetype/src/base/ftobjs.c src/corelib/global/qglobal.h src/corelib/tools/qalgorithms.h src/corelib/tools/qshareddata.cpp src/corelib/tools/qsharedpointer.cpp src/corelib/tools/tools.pri src/corelib/xml/qxmlstream.h src/gui/painting/painting.pri src/gui/widgets/qdatetimeedit.cpp tests/auto/qdesktopservices/qdesktopservices.pro tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp tests/auto/qtextcodec/test/test.pro
| * Use LIBS_PRIVATE on Mac and X11.Thiago Macieira2009-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the Mac, it means "-framework ApplicationServices -framework Carbon -framework AppKit" are no longer part of the default LIBS in Qt applications. This required a lot of fixes where we used Mac-specific code in Qt. On X11, it was very straightforward, because we apparently use very little of X11 outside QtGui. I haven't changed the Windows-specific LIBS paths, because I don't know how Windows behaves. Windows has DLLs, but it links to static "import" libraries. So is it static linking or dynamic linking? Reviewed-By: Marius Storm-Olsen
* | Merge commit 'qt/master'Jason Barron2009-08-138-9/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/samplebuffers/glwidget.cpp src/corelib/io/qfsfileengine_unix.cpp src/corelib/kernel/qobject.cpp src/corelib/tools/qsharedpointer.cpp src/gui/gui.pro tests/auto/qhttp/tst_qhttp.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp
| * Update contact URL in license headers.Jason McDonald2009-08-128-8/+8
| | | | | | | | Reviewed-by: Trust Me
| * Make chooseConfig work on some EGL implementationsHarald Fernengel2009-08-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | According to the spec, if we pass a 0 out pointer, EGL should tell us how many configurations are available. However, we pass a 0 out pointer, but say that it's 256 elements big, it confuses some implementations. Fix that by passing a 0 out pointer and saying that it has space for 0 elements. Now we correctly get the amount of available configs. Reviewed-by: Rhys Weatherley <rhys.weatherley@nokia.com>
* | Merge commit 'qt/master-stable'Jason Barron2009-08-061-4/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe doc/src/classes/qnamespace.qdoc examples/examples.pro src/corelib/kernel/qcoreevent.cpp src/corelib/kernel/qobject.cpp src/gui/kernel/qapplication.cpp src/gui/kernel/qstandardgestures.h src/gui/kernel/qwidget.cpp
| * Fix build on HarmattanTom Cooksey2009-08-041-4/+7
| |
* | Merge commit 'qt/master-stable'Jason Barron2009-08-045-2/+50
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/unix/openssl/openssl.pri demos/embedded/embedded.pro examples/itemviews/chart/chart.pro examples/network/network.pro examples/painting/painterpaths/painterpaths.pro examples/threads/mandelbrot/mandelbrot.pro qmake/project.cpp src/3rdparty/libtiff/libtiff/tif_config.h src/corelib/arch/arch.pri src/corelib/global/qglobal.cpp src/corelib/kernel/kernel.pri src/corelib/kernel/qcore_unix_p.h src/corelib/kernel/qobject.cpp src/corelib/thread/qthread_unix.cpp src/corelib/tools/qsharedpointer_impl.h src/corelib/tools/tools.pri src/gui/kernel/qaction.h src/gui/kernel/qapplication.cpp src/gui/painting/qregion.h src/gui/widgets/qlineedit.cpp src/gui/widgets/qlineedit_p.h src/network/socket/qnativesocketengine_unix.cpp tests/auto/qdir/tst_qdir.cpp tests/auto/qdiriterator/tst_qdiriterator.cpp tests/auto/qhttp/qhttp.pro tests/auto/qline/qline.pro tests/auto/qnetworkreply/tst_qnetworkreply.cpp tests/auto/qresourceengine/qresourceengine.pro tests/auto/qsharedpointer/qsharedpointer.pro tests/auto/qstring/qstring.pro tests/auto/qtcpsocket/qtcpsocket.pro tests/auto/qtcpsocket/tst_qtcpsocket.cpp
| * Add EGL_BIND_TO_TEXTURE_RGBA to QEglProperties::reduceConfiguration()Tom Cooksey2009-08-031-1/+10
| | | | | | | | | | Now reduceConfiguration will add a new step of reduction which removes EGL_BIND_TO_TEXTURE_RGBA and replaces it with EGL_BIND_TO_TEXTURE_RGB.
| * Add a constructor to QEglProperties which takes an EGLConfigTom Cooksey2009-08-032-0/+15
| | | | | | | | | | The constructor then extracts all the attributes from the config. Useful for dumping all the attributes for a particular config to qDebug().
| * Make QEglProperties::setVisualFormat() read alpha for visualTom Cooksey2009-08-031-1/+11
| | | | | | | | Reviewed-by: Trustme
| * Add a getter to QEglContext for the EGL extension stringTom Cooksey2009-07-292-0/+14
| | | | | | | | Reviewed-By: Rhys Weatherley
* | Change the inclusion method here to use system includes.Jason Barron2009-07-081-1/+1
|/ | | | | | | | | This is a workaround for a bug in the Symbian toolchain where user includes are included relative to the source file instead of to the header that actually included it. Making them system includes seems to work around the issue without introducing problems on other platforms (so far?). These particular files cause problems because they are included by modules other than QtGui such as QtOpenVG and QtSVG.
* Don't refer to non-existing QVGWidget in private header comments.Rhys Weatherley2009-06-242-2/+2
| | | | Reviewed-by: trustme
* Integrate the OpenVG graphics system into Qt 4.6Rhys Weatherley2009-06-229-0/+1685
This change also moves the EGL support classes from QtOpenGL to QtGui so they can be shared between OpenGL and OpenVG.