| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some OpenVG GPU's have limitations on the amount of memory
available to create VGImage's. When the memory runs out,
vgCreateImage() will fail.
This change introduces QVGImagePool, which keeps track of all
QVGPixmapData image allocations and ejects least-recently-used
pixmaps when GPU memory is exhausted.
Task-number: QT-2554
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under S60, Qt will destroy the window surfaces of an application that
goes into the background, which frees up EGL surface objects. But the
VGImage's for pixmaps, and the EGLContext, were still using GPU memory.
This change keeps track of the number of widgets / window surfaces that
are in use and then calls hibernate() on all QVGPixmapData objects when
it goes to zero. Once all the VGImage's are destroyed, the EGLContext
should also be destroyed.
Task-number: QT-2555
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
| |
The QT_VG_SWAP_INTERVAL environment variable can be used to
specify a value for eglSwapInterval().
Task-number: QT-2409
Reviewed-by: trustme
|
|
|
|
|
|
|
|
| |
Rendering into a QImage as a window backing store isn't very efficient
and isn't needed by any of our current platforms. If a specific
graphics system needs it in the future, it can implement it directly.
Reviewed-by: trustme
|
|
|
|
|
|
|
|
| |
The EGL implementation used in S60/NGA for OpenVG does not
return a configuration with alpha masking unless it is
explicitly requested.
Reviewed-by: Julian de Bhal
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
The reference count was reducing down to zero during paint engine
cleanup when we weren't ready to destroy the context. Artificially
increase it to prevent the early context destroy.
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
| |
OpenVG window surfaces were leaking because the QVGEGLWindowSurfaceDirect
destructor was previously not cleaning up the EGLSurface object.
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
This change also moves the EGL support classes from QtOpenGL to QtGui
so they can be shared between OpenGL and OpenVG.
|