| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
src/multimedia/audio/qaudioformat.cpp
|
| |
| |
| |
| | |
Reviewed-by: TrustMe
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
| |
Exchanged the temporary QGLWidget with a lightweight internal class.
Measured on a device it can be upto 20 ms faster to construct.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
| |
If the QGLWidget's QGLFormat says it should have an alpha
channel, try to find an ARGB Visual.
Reviewed-By: Trond
Task-number: QT-2602
|
| |
|
|
|
|
|
|
|
| |
Also check for existing QEglContext before creating a new one and
leaking a context.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
| |
If we succeed in creating a shared context, then mark the original
as shared as well.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
|
| |
Context sharing was enabled on EGL systems, but QGLContext::isSharing()
was still returning false because the flag in QGLContextPrivate
was not updated.
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
| |
Better than having to befriend QPixmapData and setting is_cached
manually.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
|
|
|
|
|
| |
The error message come from the QGLContextPrivate::bindTexture.
But since OpenGl errors are retains until glGetError is called the
actual error was happening somewhere else.
After adding in all the gl* call a check for a gl error, I was able
to get the place where opengl fail with a GL_INVALID_ENUM.
This happen in the call of glEnable(GL_TEXTURE_2D) in the file
qgl_x11egl.cpp. This glEnable call does not need: removed.
Reviewed-by: Tom Cooksey
|
|
|
|
|
|
|
| |
QGLTextureCache installs pixmap cleanup hooks which are used to clean up
the EGL surfaces.
Reviewed-By: Trustme
|
|
|
|
|
| |
Enable it by setting QT_USE_X11GL_PIXMAPS environment variable while
using the -graphicssystem opengl
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need this in qwindowsurface_gl.cpp.
This patch was modified slightly by Tom, who stole it from another
branch. :-)
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| | |
This is needed to implement render-to-pixmap on x11/EGL, which will also
need to create an EGL surface for pixmaps.
|
|/
|
|
| |
Reviewed-by: Eskil
|
|
|
|
|
|
|
|
| |
There were several copies of the same stubbed functions in
qgl_wince.cpp, qgl_qws.cpp, and qgl_x11egl.cpp. Move them
all to a common location for easier maintainence.
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
|
|
|
| |
Also, move the EGL makeCurrent(), doneCurrent(), swapBuffers(),
and reset() functions into the common qgl_egl.cpp.
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Trustme
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The handling for the current QGLContext was looking up the same
TLS data several times per call (hasLocalData() and localData()
calls particularly).
This change also refactors the code a little so that the
setting of the QGLContext within makeCurrent() and doneCurrent()
is in one location in the code instead of six (one per platform).
Reviewed-by: Michael Brasser
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
| |
Reviewed-by: Tom
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
issues with flipped pixmaps on X11
|
| |
| |
| |
| |
| |
| |
| | |
QGLContextPrivate::bindTextureFromNativePixmap() needs to abort if it's
not allowed to return a y-inverted texture.
Reviewed-by: Trustme
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trustme
|
| |
| |
| |
| |
| | |
Added QGLContextPrivate::bindTextureFromNativePixmap() implementation
for X11/EGL.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make a clear seperation between the GL texture and the GLX pixmap. A
GLXPixmap is valid in any GL context and thus does not need to be
re-created every time the pixmap has changed.
Reviewed-By: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| | |
Don't just assume they're going to be ARGB just because the config has
an alpha channel. This makes QGLWidgets with WA_TranslucentBackground
set work again on the rx71 when running under xcompmgr.
Reviewed-By: Trustme
|
| |
| |
| |
| | |
Reviewed-By: Trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The patch tries to use texture_from_pixmap extentions on glX to properly
bind an X Pixmap to a texture in QGLContextPrivate::bindTexture(QPixmap,).
Because GL & X have different coordinate systems, the pixmap will be
inverted about the y-axis. The extension does however allow a
GLX_Y_INVERTED_EXT attribute to be set which will bind the pixmap the
correct way up. If the underlying driver doesn't support this,
texture_from_pixmap can't be used for QGLContext::bindTexture, because
that function expects the resulting texture to be the right way up.
However, it can still be used internally by the paint engine for
drawPixmap operations. For these cases, if the pixmap is inverted, the
paint engine can simply invert the texture coords to compensate. This is
why this patch also moves QGLTexture into qgl_p.h.
QGLContextPrivate::bindTexture(QPixmap,) now returns a QGLTexture which
the paint engine can inspect to see if it needs to invert the texture
coords.
Finally, it seems on some (probably all) drivers, deleting an X pixmap
which has been bound to a texture before calling glFinish/swapBuffers
renders garbage. Presumably this is because X deletes the pixmap behind
the driver's back before it's had a chance to use it. To fix this, we
reference all QPixmaps which have been bound to stop them being deleted
and only deref them after we swap the buffer, when they can be safely
deleted.
Reviewed-By: Kim
|
| |
| |
| |
| |
| | |
This change also moves the EGL support classes from QtOpenGL to QtGui
so they can be shared between OpenGL and OpenVG.
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
|
|
|
|
| |
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
|
| |
This patch is inspired by the "Fix ARGB visuals" patch in the Maemo
branch. Thanks go to the author of that patch (who isn't signed up to
Gitorious and thus can't be named - you know who you are! Thanks!!).
This patch should also fix ARGB visuals (even if they are supplied by
EGL) as such visuals require a colormap.
|
|
|
|
|
|
|
| |
EGL has an EGL_NATIVE_VISUAL_ID which can by used as the window's visual
ID. We now try to use this ID to avoid an XVisual <-> EGLConfig
mis-match. Of course this is usually broken in the EGL library, so we
fall back to trying to match outselves.
|
|
|