| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
Conflicts:
src/opengl/qgl_p.h
|
| |
| |
| |
| | |
Reviewed-by: kim
|
|\ \
| |/
|/|
| |
| | |
Conflicts:
src/gui/kernel/qapplication.h
|
| |
| |
| |
| |
| |
| |
| | |
(if extension available).
Merge-request: 712
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
| |
| |
| |
| |
| | |
Merge-request: 2422
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (24 commits)
Fix an assertion in comp_func_SourceOver_sse2() if const_alpha == 0
Add a manual test for regular widget interaction with the table.
New variant of ::createPixmapData with origin for QGraphicsSystem.
EGL plane levels are the same as all other GL backends.
Need to access extensionFuncs in subclasses too.
Export QGLWindowSurface too.
Export the QGLPixmapData so that we can override it in a custom graphics system.
Fixed autotest failure in QPathClipper on N900.
Fixed autotest failure in QPainter::setOpacity when NEON is used.
Fix compilation when configured with -no-xrender
Add a new (internal) flag QGraphicsItem::ItemStopsClickFocusPropagation.
Fixed some potential index-out-of-bounds issues in QImage.
Fixed autotest failure in fillRect_stretchToDeviceMode
Adding a known issue for VC2010 64 bit
Added a note to desupport VC2010 64-bit
Normalize integers when calling glVertexAttribPointer()
Add an implementation of comp_func_solid_SourceOver_neon() with Neon.
Fix the casts of qdrawhelper_sse2
Add a SSE2 implementation of comp_func_solid_SourceOver()
Add a SSE2 version of comp_func_SourceOver()
...
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 2422
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A DC returned by GetDC() is only valid within the context of the calling
thread, so we need to track which tread a DC belongs to.
Reviewed-by: Kim
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (24 commits)
QGLPixelBuffer should not rely on temporary QGLWidgets.
Initialize pex.
Remove warning.
Fix the tests for the internal GL resource system.
Rework how QGLTextureGlyphCache makes use of the resource system.
The group pointer should no longer be a part of the 64 bit int.
Enable glyph uploads from a thread in the X11 font engine.
Make qt_pixmap_serial thread-safe.
Clean up debug output.
Clarification regarding the WA_X11InitThreads flag.
Rework the internal GL resource system yet again.
Check Qt::AA_X11InitThreads to determine pixmap usage in threads.
Add an application attribute to control XInitThreads().
Unnecessary alloc + remove unused headers.
QGLPixelBuffer should manage its own paint engines.
Remove the DDS texture cache.
Make the GL texture cache share textures between shared contexts.
Redesigned how GL resource management works.
Don't use the QGLSignalProxy to clean up the thread-local shaders.
Simplify how the QGLEngineSharedShaders object is cleaned up.
...
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of having to sub-class QGLContextResource, we now have two
template classes:
1. 'QGLContextResource' to handle context specific resources that are
*not* shared in a group, even though the context itself is in a sharing
group
2. 'QGLContextGroupResource' to handle resources shared in a context
group.
Classes used as the template class type must have a constructor with
the following signature:
T(const QGLContext *);
The resources that the templates wrap are freed up when the context
or context group it is tied to is destroyed. The resource is also
freed when the QGLContext<Group>Resource object is destroyed, which
might lead to context switches, depending on where and in how many
non-sharing contexts the resource is used.
The templates wrap some boiler plate code that were common for all the
use cases.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
It has no practical use and is a leftover from when pixmap/image
textures and dds textures used the same cache.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The usage of QGLContextResource has changed: You're now have to
subclass QGLContextResource and reimplement the freeResource() function
and add your cleanup code there instead of using a plain callback
function. It's now also possible to delete a QGLContextResource
*before* the QGLContextGroup it refers to is destroyed, as the
resource will remove itself from the context groups it's a member of.
The QGLTextureGlyphCache is no longer a QObject, and it no longer
depends on the aboutToDestroyContext() signal. That concept doesn't
work in a threaded environment, as it relies on an eventloop to
dispatch the signal to the thread. It's common to *not* have an
eventloop running in a thread, which means the signal might never
be delivered. QGLTextureGlyphCache now inherits from
QGLContextResource, and gets cleaned up correctly when the group
context is destroyed. Note that up until now the glyph cache has never
been shared among sharing contexts for the GL 2 engine.
Made the gradient and pixmap blur caches use the new QGLContextResource
scheme.
Added a template that wraps the common init code for paintEngine()
function implementations for QGLWidget, QGLPixelBuffer and
QGLFramebufferObject.
Fixed a bug in QFontCache where the font caches weren't cleared
when a thread other than the main thread exited (backported to 4.6.3),
which caused resource leaks.
|
| | |
| | |
| | |
| | |
| | |
| | | |
After much back and forth I think we can use this approach for cleaning
up thread-local, shared resources. Main problem has been dealing with
dangling pointers and references, but they should be solved now.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Removed QObject inheritance from QGLEngineSharedShaders and
made it thread-local, so that paintengines in different threads
can use programs without clashing.
Lifted some restrictions on QPixmap so that they may be used in
threads when the GL2 engine is active. Made the QGLContextGroup
a part of the pixmap and image cache keys.
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty/phonon/qt7/mediaobject.mm
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/plugins/phonon/mmf/mmf.pro
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The defines that can be used are QT_NO_DEBUG_OUTPUT and
QT_NO_WARNING_OUTPUT in order to turn off qDebug and qWarning output.
Reviewed-by: cduclos
Reviewed-by: Markus Goetz
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a QGLWidget is left on the heap when the QApplication destructor is
called, it will leave the QGLWidget in a broken state.
The widget itself is released and set to a non-created state,
which the associated QGLContext doesn't get notified about.
With this patch the QGLWidget knows when QWidget::destroy() is called
and can act acordingly.
Task-number: QT-3498, QTBUG-10995
Reviewed-by: Paul
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you have two non-sharing GL contexts and try to draw the same
QPixmap in both of them, they will wind up competing for a spot in the
texture cache. Make the context group a part of the cache key to avoid
that.
Task-number: QT-3462
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The workaround flags are put into the platform independent section
for now, since there might be a general need for these as we expand
our GL and GL ES usage. The workaround_needsFullClearOnEveryFrame flag
covers the case where you get a performance penalty on PowerVR hw
if all rendering buffers are not cleared. The
workaround_brokenFBOReadBack flag covers the case where copying pixels
from a texture (e.g. via glCopyTexSubImage2d()) bound in an FBO doesn't
work.
Task-number: QTBUG-10670
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| |
| | |
If QGLWidgetPrivate::recreateEglSurface is called after a surface
has been deleted, it should always create a new surface and ignore
the fact that the window ID may not have changed.
Reviewed-By: Trond
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This mostly replaces lots of QT_OPENGL_ES defines with QT_NO_EGL
instead. It also switches off EGL auto-detection by default. This is
to make sure we default to using GLX on systems with both EGL and
desktop OpenGL. If -opengl es1|es2 or -openvg is specified, then
EGL auto-detection is switched back on (as a requirement. If
configure auto-detects OpenGL ES it also switches on EGL
auto-detection, but failue then just disables both EGL & OpenGL.
As a side effect, this patch also fixes building Qt when both EGL
and glx are avaliable, as they are in Mesa >= 7.8.0.
Reviewed-by: Trond
Task-number: QTBUG-9691
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
doc/src/modules.qdoc
mkspecs/common/symbian/symbian.conf
src/gui/graphicsview/qgraphicswidget.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
|
| |
| |
| |
| | |
Reviewed-By: TrustMe
|
| |
| |
| |
| | |
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Reviewed-by: Tom Cooksey
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The QGLContext only stores the EGLSurface for QWidgets & QGLWidgets,
other device types like QPixmap & QGLPixelBuffer store the surface
themsselves. With this patch it is possible to create a QGLContext
on a QPixmap, make it current and render GL to that QPixmap on X11.
Reviewed-By: TrustMe
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
configure.exe
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/qgl.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Make bindTexture threadsafe
- Document which areas of QGLWidget needs locking in order
to do out-of-gui thread rendering
- Testcases to prove that these cases work
Reviewed-by: Trond
|
| |\ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
mkspecs/common/symbian/symbian.conf
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tools/assistant/tools/assistant/helpviewer.cpp
|
| |\ \ \ |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/gui/kernel/qcocoapanel_mac.mm
src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-7683
Reviewed-by: Tom Cooksey
|
| |\ \ \ \ \ |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Conflicts:
bin/syncqt
doc/src/deployment/deployment.qdoc
src/corelib/io/qfsfileengine_win.cpp
src/corelib/xml/qxmlstream.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
tools/assistant/tools/assistant/centralwidget.cpp
tools/linguist/lupdate/main.cpp
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Conflicts:
src/corelib/io/qfsfileengine.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/opengl.pro
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Task-number: QTBUG-4438, QT-2662, QT-2663
Reviewed-by: Tom
|
| |_|_|_|_|_|_|/
|/| | | | | | | |
|
| |_|_|_|_|_|/
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | |
| | | | | | |
Reviewed-By: Trond
Autotest: tst_QGL::qglContextDefaultBindTexture
|
|\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/gui/kernel/qapplication_win.cpp
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget_p.h
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There were cases where the QGLWidget would not be fully
updated on screen on Windows Vista and Windows 7 with Aero
disabled.
Task-number: QTBUG-7865
Reviewed-by: Prasanth
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Reviewed-by: Trust Me
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This fixes quite a lot of issues:
* QtOpenGL only registered qpixmap destruction hooks on X11 and
those only cleanup the EGL/GLX surface, not the texture object.
* The QPixmap destruction hooks were only being called from the
QPixmap destructor. However, this means when a QPixmap is assigned
to another QPixmap, the hooks don't get called.
Task-number: QTBUG-7647
Reviewed-By: Samuel
Reviewed-By: Trond
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Qt used to store the GL extensions a particular implementation supported
in a global cache, which was initialized once and never updated.
This could cause problems because different types of context might
support different kinds of extensions (e.g. the difference between
sw and hw contexts). With this patch, the GL extensions are cached
and updated within each QGLContext. It also makes the extension
initialization lazy, which saves application initialization costs for
embedded platforms.
The patch introduces a internal cross platform QGLTemporaryContext
class that is used to create a light-weight GL context without going
via QGLWidget and friends (QWS and WinCE still have QGLWidget fallbacks
for now).
Reviewed-by: Kim
Reviewed-by: Samuel
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
QIODevice: Fix readAll()
Temporary hackiesh solution to prevent BOM in the xml data.
Fixed qxmlstream autotest when using shadow builds.
Attempt at readding the capital P headers for Phonon
Remove special Phonon processing from syncqt.
Use the lowercase/shortname.h headers for Phonon includes
Fixes a crash when setting focus on a widget with a focus proxy.
Update copyright year to 2010
doc: Clarified activeSubControls and subControls.
Remove warning "statement with no effect"
doc: Clarified that .lnk files are System files on Windows.
|