summaryrefslogtreecommitdiffstats
path: root/src/gui/egl
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Rohan McGovern2010-03-062-6/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe examples/multimedia/audioinput/audioinput.cpp src/corelib/io/qfsfileengine.cpp src/gui/egl/qegl_wince.cpp src/gui/egl/qeglproperties.cpp src/gui/egl/qeglproperties_p.h src/gui/embedded/directfb.pri src/gui/kernel/qapplication_win.cpp src/gui/painting/qdrawutil.cpp src/opengl/qgl_p.h src/sql/drivers/odbc/qsql_odbc.cpp src/sql/drivers/odbc/qsql_odbc.h tests/auto/auto.pro tests/auto/qgl/tst_qgl.cpp translations/assistant_adp_ru.ts
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-051-3/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Fix build with Mesa 7.8's EGL implementatioon Reset the byte order in the iconv codec after using it. fix "using namespace" recursion crash Fixed key mappings on X11 QDom: prevent infinite loop when cloning a DTD QPrintPreviewDialog number of pages is partially blocked from view in OSX Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( f3110d2f94c825477afac054ed448e45d47f5670 )
| | * Fix build with Mesa 7.8's EGL implementatioonBernhard Rosenkraenzer2010-03-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, when Mesa 7.8 is used, qtextstream.h (included by qdebug.h) complains that it has to be included before any header that defines Status Merge-request: 483 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
| * | Compile fix for Windows Mobile and OpenGLES2ninerider2010-03-051-3/+1
| |/ | | | | | | The native device is now the default screen device.
| * Preparation to enable OpenGLES 2.0 for Windows Mobile.ninerider2010-02-272-4/+11
| | | | | | | | | | | | As there are no SDKs available for our test device (HTC HD2) that support OpenGL, we had to construct the libraries by extracting them from the ROM image. This is still work in progress at this time.
* | Make QEgl::createSurface store the surface in the pixmapdata tooTom Cooksey2010-03-051-3/+5
| | | | | | | | | | | | | | This means the same surface can then later be used to bind the pixmap as a texture using eglBindTexImage2D. Reviewed-By: TrustMe
* | Make QEgl::ConfigOptions use QFlagsTom Cooksey2010-03-051-1/+8
| | | | | | | | Reviewed-By: Trustme
* | Compile fix for Windows Mobile and OpenGLES2ninerider2010-03-051-2/+1
| | | | | | | | The native device is now the default screen device.
* | Fix build when egl.h includes X11 headers & pollutes namespaceTom Cooksey2010-03-041-0/+2
| | | | | | | | | | | | | | At some point we should fix the include order in all the .cpp files, however #udef'ing the defines we use elsewhere seems to work for now. Reviewed-By: TrustMe
* | Fix build on EGL implementations where EGLConfig is a pointerTom Cooksey2010-03-041-8/+11
| | | | | | | | | | | | | | EGLConfig is an opaque type which we really shouldn't cast to an int. Instead, we get the config id for the EGLConfig. Reviewed-By: TrustMe
* | Fix & move QEgl::native* to platform-specific filesTom Cooksey2010-03-025-20/+49
| | | | | | | | | | | | This should fix build on Symbian & WinCE Reviewed-By: TrustMe
* | Make bindTextureFromNativePixmap use new QEgl APIsTom Cooksey2010-03-023-12/+25
| | | | | | | | | | | | | | The old qt_chooseEGLConfigForPixmap & qt_createEGLSurfaceForPixmap code will remain until QX11GLPixmapData can be re-written properly. Reviewed-By: TrustMe
* | Move QGLWidget::setContext logic into QEgl & QGLContextTom Cooksey2010-03-022-1/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QEgl::createSurface() on X11 will now check to see if the device's X11 Visual is compatible with the EGLConfig passed in. If it is not compatible, the function will re-create the QPaintDevice's native drawable with a different Visual (one which is compatable with the EGLConfig). This represented the bulk of the QGLWidget::setContext method which is now much simpler. As a consequense of this change, QWidgets with graphicssystem opengl will behave much more like QGLWidget as most of the code is re-used. So things like WA_TranslucentBackground should now work with opengl graphicssystem too. Reviewed-By: TrustMe
* | Move EGL surface type setting to new QEglProperties::setDeviceTypeTom Cooksey2010-03-022-2/+13
| | | | | | | | | | | | Also renamed qt_egl_set_format->qt_eglproperties_set_glformat Reviewed-By: TrustMe
* | Make QGLWidget use new QEgl::getCompatibleVisualId APITom Cooksey2010-03-021-2/+3
| | | | | | | | Reviewed-By: TrustMe
* | Add QEglContext::configAttrib(int name) helperTom Cooksey2010-03-022-0/+11
| | | | | | | | Reviewed-By: TrustMe
* | Add getCompatibleVisualId to QEgl on X11Tom Cooksey2010-03-022-0/+149
| | | | | | | | | | | | | | | | This method takes an EGLConfig and hands back an X11 VisualID which can be used to create native windows/pixmaps which will have an EGL surface created for them using the given EGL config. Reviewed-By: TrustMe
* | Add QEgl::defaultConfig method to select configs suitable for QtTom Cooksey2010-03-023-0/+188
| | | | | | | | Reviewed-By: TrustMe
* | Make QEgl::createSurface cross-platform and add native gettersTom Cooksey2010-03-026-123/+57
| | | | | | | | | | | | | | | | | | | | QEgl::createSurface was virtually identical for every platform apart from the line which returned the native window type. This patch just adds QEgl::nativePixmap and QEgl::nativeWindow which are platform specific (though the default widget->winId() works for everything apart from symbian). Reviewed-By: Aleksandar Sasha Babic
* | Move chooseConfig and createSurface logic to QEgl functionsTom Cooksey2010-03-026-12/+28
| | | | | | | | | | | | | | | | We keep the methods in QEglContext, but these are useful helpers which wrap the QEgl version of the functions, which is where the bulk of the logic is (for these functions anyway). Reviewed-By: Aleksandar Sasha Babic
* | Move static methods from QEglContext to QEgl namespaceTom Cooksey2010-03-026-64/+75
| | | | | | | | Reviewed-By: Aleksandar Sasha Babic
* | Move qegl_p.h -> qeglcontext_p.h and add a new qegl_p.hTom Cooksey2010-03-0210-110/+186
|/ | | | | | | | This puts the QEgl namespace in a single file which can be used by both qeglcontext and qeglproperties. Files which need QEglContext should now include qeglcontext_p.h. Reviewed-By: Aleksandar Sasha Babic
* use egl properties when creating surfaces on symbianLars Knoll2010-02-191-2/+2
| | | | | | | | We are currently getting non premultiplied surfaces on symbian since we do not forward the egl properties that we'd like to have to the driver. Reviewed-By: Jason Barron
* Always use display() in QEglContext, so initialization can occurTom Cooksey2010-02-181-12/+11
| | | | Reviewed-By: Trustme
* Fixed compile for maemo6.Rohan McGovern2010-02-132-2/+2
| | | | | Explicit EGLNativeDisplayType casts are needed since maemo6 defines EGL_DEFAULT_DISPLAY as ((void*)0).
* Cleanup QEglContext & EGLDisplaysTom Cooksey2010-02-127-68/+48
| | | | | | | | | This basicaly replaces display(), openDisplay() & defaultDisplay() methods with a single display() and nativeDisplay(), the latter being implemented in the platform-specific files and everything else being cross-platform code. Reviewed-By: Trond
* Update copyright year to 2010Jason McDonald2010-01-068-8/+8
| | | | Reviewed-by: Trust Me
* Add EGL_BUFFER_SIZE to QEglProperties::reduceConfiguration()Tom Cooksey2009-12-041-0/+9
| | | | Reviewed-by: Trustme
* Better check for EGL extension stringsRhys Weatherley2009-12-041-1/+4
| | | | | | | | | The previous code might have failed if the desired extension name was a prefix of another name: "EGL_foo" member of "EGL_foo_bar". This change introduces a more precise check. Task-number: QTBUG-6454 Reviewed-by: Sarah Smith
* Bind the EGL API type before calling eglMakeCurrent()Rhys Weatherley2009-11-251-0/+12
| | | | | | | | | | When mixing GL and VG in the same thread, some devices require that eglBindAPI() be called before eglMakeCurrent() when switching between context types. The EGL spec indicates that this shouldn't be required unless the context parameter is EGL_NO_CONTEXT, but it isn't a big deal to work around slightly non-compliant devices. Reviewed-by: Tom Cooksey
* 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