| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/qgl.cpp
src/opengl/qpixmapdata_symbiangl.cpp
src/opengl/qwindowsurface_gl.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove ugly TemporarilyCachedBindOption and use QGLTexture
objects as texture pool entries instead of QGLPixmapData.
Make texture pooling totally Symbian specific, remove
VG like texture pooling code and use common texture binding
path which is used on other platforms also on Symbian.
QGLPixmapData should be only used to bind SgImage based
textures (will be implemented by another commit).
Task-number: QTBUG-19180
Reviewed-by: Samuel Rødal
|
| |
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Author: Felix Geyer <debfx-pkg@fobos.de>
Merge-request: 1230
Reviewed-by: ossi
|
|/ /
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| | |
For QPA the unix tests are used to determine the availability of OpenGL
ES, so they need to compile even on Mac. Similarly the includes in the
OpenGL module have to be adapted on Mac.
Acked-by: Jørgen Lind
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure
mkspecs/symbian-gcce/qmake.conf
qmake/generators/metamakefile.cpp
qmake/generators/win32/mingw_make.cpp
src/corelib/global/global.pri
src/corelib/global/qglobal.h
src/opengl/qgl.cpp
src/opengl/qwindowsurface_gl.cpp
src/plugins/platforms/wayland/qwaylandbuffer.h
tests/auto/qnetworkreply/tst_qnetworkreply.cpp
tools/designer/src/components/formeditor/qdesigner_resource.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Keep the implementation in separate
qpixmapdata_poolgl.cpp file until the pooling has
been verified and confirmed to work ok.
Task-number: QTBUG-15253 QTBUG-17850
Reviewed-by: Samuel Rødal
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/webkit/imageanalyzer/imageanalyzer.h
examples/webkit/imageanalyzer/mainwindow.h
mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h
src/corelib/io/qfsfileengine_iterator_unix.cpp
src/corelib/io/qfsfileengine_iterator_win.cpp
src/corelib/kernel/qcoreapplication.cpp
src/network/access/qnetworkaccessdatabackend.cpp
src/plugins/bearer/connman/qconnmanservice_linux.cpp
src/plugins/platforms/openvglite/qwindowsurface_vglite.h
src/s60installs/bwins/QtCoreu.def
src/s60installs/eabi/QtCoreu.def
src/s60installs/s60installs.pro
tools/assistant/tools/assistant/helpviewer_qwv.h
tools/qdoc3/test/qt-html-templates.qdocconf
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
and ifdef the functions in qgl.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
resources. The example plugins EGLFS uses only 1 native
context. Make sure that we only use this 1 context, and that we dont
wrap it in many different QPlatformGLContexts or QGLContexts instanses.
This change also removes the QPlatformWindow link which was made in the
initial QPlatformGLContext change. Lighthouse has to support situations
where a context isnt bound to a QPlatformWindow.
Reviewed-by: gunnar
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This means the threading functionality has been delegated down to
QPlatformGLContext. However, it is still possible to use
QGLContext::currentContext to retrieve the QGLContext. This so that
QGLFunctions, QGLShaderProgram etc can be used without a QGLWidget.
Reviewed-by: paul
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure
doc/src/snippets/code/doc_src_qmake-manual.qdoc
mkspecs/features/symbian/application_icon.prf
mkspecs/features/symbian/default_post.prf
mkspecs/features/symbian/symbian_building.prf
qmake/generators/symbian/initprojectdeploy_symbian.cpp
src/multimedia/audio/audio.pri
src/network/access/qnetworkaccessmanager.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/qgl_p.h
src/plugins/bearer/corewlan/qcorewlanengine.mm
src/plugins/phonon/mmf/mmf.pro
tests/auto/qscriptvalue/tst_qscriptvalue.cpp
tests/auto/qscriptvalue/tst_qscriptvalue.h
tools/qdoc3/doc/qdoc-manual.qdocconf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When texture destruction was triggered from a different thread, we
posted a signal to the QGLSignalProxy. However, before the signal is
delivered the corresponding QGLContext might be destroyed in the main
thread. We need to post a signal to a QObject which is destroyed when
the QGLContext is destroyed instead, to prevent trying to access an
invalid QGLContext pointer.
Task-number: QT-4238
Reviewed-by: Gunnar Sletta
|
| |
| |
| |
| |
| |
| |
| |
| | |
GLU is not part of standard OpenGL and is not used internally in Qt,
so we should not depend on it.
Task-number: QT-12227
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.
...
|
| | |
|
| |
| |
| |
| |
| |
| | |
Separate out the GL objects (the texture and the fbo) that needs to
be tracked into a QGLGlyphTexture structure and make that accessible
via a QGLContextGroupResource object.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
| |
Very handy to trace GL issues on a device with broken gdb
Reviewed-by: Trond Kjernåsen <trond.kjernasen@nokia.com>
|
|
|
|
|
| |
Merge-request: 2404
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Task-number: QTBUG-7683
Reviewed-by: Tom Cooksey
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/corelib/io/qfsfileengine.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/opengl.pro
|
| | |
| | |
| | |
| | |
| | | |
Task-number: QT-2600
Reviewed-by: Samuel
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The GL2 engine (and probably Qt/3D) needs to track which vertex
attribute arrays are currently enabled and which are disabled. As
this is per-context state, the logical place to track this is in the
context and not in the paint engine.
This patch also makes the GL2 engine's shader manager enable/disable
the appropriate attribute arrays for a given shader program when it
is used.
Reviewed-By: Kim
|
|/
|
|
|
| |
Task-number: QTBUG-4438, QT-2662, QT-2663
Reviewed-by: Tom
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a QGLWidget is re-parented, it's native X11 window usually
gets destroyed and re-created. This also happens when you set a
window attribute or flag. On EGL, we must destroy the surface
for the window before destroying the window itself, otherwise
we can leak the surface. This also fixes lots of BadDrawable
errors when running the autotests (which were due to surface
leaks!).
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
|
| |
We add an internal cache which keeps four half-scaled versions of the
source pixmap at different blur radii, then we simply interpolate
between the two pixmaps around the desired blur radius, or between the
base source pixmap and the first blurred version.
Reviewed-by: Gunnar Sletta
|
|
|
|
|
| |
Enable it by setting QT_USE_X11GL_PIXMAPS environment variable while
using the -graphicssystem opengl
|
|
|
|
| |
Reviewed-by: Samuel
|
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QGLShader and QGLShaderProgram used to delete the GL object id
in the wrong context. But fixing this means we must keep track of
when contexts are destroyed so that we don't try to access a
context from a shader if it goes away. We also need to transfer
ownership from one context to another when they are shared.
This change introduces QGLSharedResourceGuard, which keeps track
of a context and a GL object identifier. When the context goes
away, ownership is passed to a shared context. When there are
no more shared contexts, the identifier automatically zeroes.
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
| |
This is the last patch in the QGLPaintDevice series. Although previous
patches have not been reviewed individually, Samuel's reviewed
QGLPaintDevice API and all the changes as the code stands with this
patch.
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch also refactors QGL2PaintEngineEx::ensureActive() and the
logic which handles multiple paint engines rendering to the same
QGLContext. In a nut-shell:
* QGLPaintDevice::beginPaint() stores the currently bound FBO
* QGLPaintDevice::ensureActiveTarget() makes sure that GL rendering will
end up in the paint device (I.e. the right context is current and the
right FBO is bound). If a different context or FBO was bound, it is
_not_ remembered.
* QGLPaintDevice::endPaint() restores whatever FBO was bound when
beginPaint() was called.
This logic allows interleaved painter rendering to multiple FBOs and
contexts to work as expected. It also allows a stacked begin/end to work
properly when it's mixed with native GL rendering (as far as current
render target is concerened. GL state clobbering is obviously a
different topic).
QGLPaintDevice::context() also had to be made virtual as there's no good
place to call setContext. This might be possible to change in the future
though.
Finally, to make this work, QGLFramebufferObjectPrivate had to be moved
into it's own private header.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a new abstract base class which inherits from
QPaintDevice called QGLPaintDevice. This base class will contain
everything the GL paint engines need to know about the surface they are
drawing onto. As such, new surfaces can be targeted by the GL paint
engines without having to modify QtOpenGL. This is very useful for
plugins, specifically QGraphicsSystem plugins.
To unify things a little, the GL paint engines will use the same
QGLPaintDevice API to render into existing target surfaces (QGLWidget,
QGLPixelBuffer & QGLFrameBufferObject). Ideally we'd make QGLPaintDevice
a common ancestor for these surfaces, but obviously that wil break B/C.
This patch only implements QGLWidget using the new interface. Rendering
to other surfaces will be fixed in following patches.
|
|
|
|
|
|
|
|
|
|
|
| |
Some applications that uses a mix of OpenGL and QPainter code may
not work correctly with the new GL 2 engine (e.g. the composition demo).
The same is most likely also true for user apps, therefore we need
a way to enforce the usage of the old GL 1 engine for the sake of
compatibility.
Task-number: 260872
Reviewed-by: Samuel
|