| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-By: TrustMe
|
|
|
|
| |
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Still not ideal, but this should do for now.
Reviewed-By: TrustMe
|
|
|
|
|
|
|
| |
Note: This changes QX11PixmapData::gl_surface to a void* to enable
build on 64-bit systems where EGLSurface is a pointer.
Reviewed-By: TrustMe
|
|
|
|
| |
Reviewed-By: TrustMe
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-By: Aleksandar Sasha Babic
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
mkspecs/common/symbian/symbian.conf
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tools/assistant/tools/assistant/helpviewer.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
| |
Task-number: QTBUG-7683
Reviewed-by: Tom Cooksey
|
|
|
|
|
| |
Task-number: QTBUG-7399
Reviewed-By: TrustMe
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
| |
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
|
|
Enable it by setting QT_USE_X11GL_PIXMAPS environment variable while
using the -graphicssystem opengl
|