summaryrefslogtreecommitdiffstats
path: root/src/opengl/qpixmapdata_x11gl_egl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year in Digia's license headersSergio Ahumada2013-01-131-1/+1
| | | | | | Change-Id: I52bf8ef0447b701b4ebf7d7d240013a72adb9425 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-291-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Update contact information in license headers.Sergio Ahumada2012-08-011-2/+2
| | | | | | | | | | | | | - Replace Nokia contact email address with Qt Project website. - 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: Ie7ba62011752fcb149b99b26317c54f2a0cfa931 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Update year in Nokia copyright messages.Jason McDonald2012-01-111-1/+1
| | | | | | | | | Simple search and replace. This commit doesn't touch 3rd-party files, nor translations (where the change is not so simple and will be handled in a separate commit). Change-Id: I4e48513b8078a44a8cd272326685b25338890148 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update licenseheader text in source files for qt4.8Jyri Tahtela2011-05-131-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | Reviewed-by: Trust Me
* Doc: Fixing typoSergio Ahumada2010-11-091-2/+2
|
* Don't leak objects if QX11GLSharedContexts is instanciated twiceTom Cooksey2010-04-261-3/+6
| | | | | | | | If two threads call the Q_GLOBAL_STATIC accessor at the same time, two QX11GLSharedContexts objects can be created with one being destroyed. Reviewed-By: TrustMe
* Enable QX11GLWindowSurface using "-graphicssystem x11gl" optionTom Cooksey2010-04-261-9/+7
| | | | | | | | | | | | | | | When the OpenGL graphics system is in X11GL mode, it will use the QX11GLWindowSurface for all widgets except QGraphicsViews with the FullViewportUpdate update mode set, where it will use the regular QGLWindowSurface, as this is probabbly faster. QX11GLWindowSurface differs from QGLWindowSurface because it allows accelerated scrolling and partial updates, while still being using opengl to do rendering. Task-number: QT-280 Task-number: QT-2625 Reviewed-By: Trond
* QX11GL: Move the shared context ownership into a seperate classTom Cooksey2010-04-221-97/+144
| | | | | | | | | | | | | This patch moves initialisation into a new QX11GLSharedContexts class which is created as a Q_GLOBAL_STATIC. This class owns both the RGB/ARGB EGL contexts and the QGLContext used for sharing. Finally, the shared QGLContext is make a valid context wrapping the RGB EGL context and a small pixmap surface. This makes the shared QGLContext the QGLContextGroup master, so when it is deleted, it can be made current to delete the GL resources. Among other benefits, this patch stops apps seg-faulting when they gracefully quit. Reviewed-By: TrustMe
* QX11GL: Don't do glFinish in endPaintTom Cooksey2010-04-221-6/+0
| | | | | | | | | | | | | | It's better to defer the synchronisation to just before the point it is actually needed. When used as a window surface, this is in flush and scroll. If the QX11GLPixmapData is used as the defaut backend for QPixmaps, it might need to be put back into endPaint. However, the GL driver will hopefully make sure rendering to the pixmap is complete before binding it as a texture via texture-from-pixmap. Also, it's probably better to use eglWaitClient rather than glFinish for synchronisation as it is potentially slightly more optimal. Reviewed-By: TrustMe
* QX11GL: Fix bug with pixmaps drawn on multiple top-levelsTom Cooksey2010-04-191-2/+17
| | | | Reviewed-By: TrustMe
* Make QX11GLPixmapData::scroll() return a valueTom Cooksey2010-03-171-1/+3
| | | | Reviewed-By: TrustMe
* Fix some rendering/scrolling artifacts with QX11GLWindowSurfaceTom Cooksey2010-03-171-0/+4
| | | | | | | | | | The GL2 paint engine sometimes adds a 0.49,0.49 offset when rendering into a multi-sampled QGLPaintDevice. The problem was that we weren't updating the QGLContext's QGLFormat with the EGLConfig so the paint engine thought it was rendering into an surface without multisampling and thus added the offset. Reviewed-By: TrustMe
* Add ultra-paranoid synchronization to QX11GLPixmapDataTom Cooksey2010-03-171-6/+60
| | | | | | | | | This is completely over the top and many of these synchronisation points should be removed before doing any serious benchmarking. However, it makes sure any remaining bugs are not due to GPU & CPU being out of sync. Reviewed-By: TrustMe
* Delete the QGLContext in ~QX11GLPixmapDataTom Cooksey2010-03-111-0/+3
| | | | | | | | This also includes changes which allow QGLContext to not own it's own QEglContext. With X11GL, the QEglContext gets reused by multiple QGLContexts so it is important QGLContext doesn't delete it. Reviewed-By: TrustMe
* Make the EGL contexts in QX11GLPixmapData Q_GLOBAL_STATICTom Cooksey2010-03-101-3/+13
| | | | | | Still not ideal, but this should do for now. Reviewed-By: TrustMe
* Handle EGLSurfaces better, including more error detectionTom Cooksey2010-03-101-2/+8
| | | | | | | Note: This changes QX11PixmapData::gl_surface to a void* to enable build on 64-bit systems where EGLSurface is a pointer. Reviewed-By: TrustMe
* Make sure pixmap hooks get installed so EGL surfaces are cleaned upTom Cooksey2010-03-101-0/+4
| | | | Reviewed-By: TrustMe
* Port QX11GLPixmapData & QX11GLWindowSurface to new QEgl APITom Cooksey2010-03-051-82/+56
| | | | | | | It's still just as buggy, but at least it allows us to remove a lot of crud from qgl_x11egl.cpp. Reviewed-By: TrustMe
* Move static methods from QEglContext to QEgl namespaceTom Cooksey2010-03-021-11/+9
| | | | Reviewed-By: Aleksandar Sasha Babic
* Move qegl_p.h -> qeglcontext_p.h and add a new qegl_p.hTom Cooksey2010-03-021-0/+1
| | | | | | | | 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
* Merge branch '4.6' into qt-master-from-4.6Thiago Macieira2010-02-171-8/+7
|\ | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tools/assistant/tools/assistant/helpviewer.cpp
| * Cleanup QEglContext & EGLDisplaysTom Cooksey2010-02-121-8/+7
| | | | | | | | | | | | | | | | | | 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
* | Remove obsolete OpenGL/ES CommonLite (fixed-point) supportRhys Weatherley2010-02-041-4/+4
|/ | | | | Task-number: QTBUG-7683 Reviewed-by: Tom Cooksey
* Fix X11/EGL builds using OpenGL ES 1.1Tom Cooksey2010-01-191-6/+45
| | | | | Task-number: QTBUG-7399 Reviewed-By: TrustMe
* Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | Reviewed-by: Trust Me
* Use different GL contexts for ARGB & RGB pixmapsTom Cooksey2009-10-191-31/+100
| | | | | | | | | On 16 bpp systems, RGB pixmaps are 16-bit whereas ARGB pixmaps are 32-bit. This means two different EGL configs are used which are incompatable with each other. As a result, we have to use 2 different EGL contexts - one for each config. Reviewed-By: Trustme
* Add a new QX11GLPixmapData which renders to X pixmaps using GLTom Cooksey2009-10-191-0/+183
Enable it by setting QT_USE_X11GL_PIXMAPS environment variable while using the -graphicssystem opengl