| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Fix possible crash in glyph cache when deleting and creating contexts
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The freeResource(), used in the glyph cache as a notifier of when the
owner context of the cache disappears, is never called if the context
is in a group with other contexts that share its resources. This
implements a second notifier function instead which can be used to
invalidate the glyph cache when its context is destroyed.
Task-number: QTBUG-22324
Reviewed-by: Samuel
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/kernel/qeventdispatcher_symbian.cpp
src/declarative/qml/qdeclarativetypeloader.cpp
src/imports/gestures/gestures.pro
src/imports/particles/particles.pro
src/opengl/qgl.cpp
src/opengl/qgl_p.h
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro
tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro
tests/auto/qaudioinput/qaudioinput.pro
tests/auto/qaudiooutput/qaudiooutput.pro
tests/auto/qchar/qchar.pro
tests/auto/qclipboard/test/test.pro
tests/auto/qsound/qsound.pro
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some versions of VideoCore III drivers seem
to pollute and use stencil buffer when using
glScissors. Workaround is to clear stencil buffer
before disabling scissoring.
Task-number: QT-5308
Reviewed-by: Samuel Rødal
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGLWidget crashed due to regression
caused by fix to QTTH-1553. Crash only
occurred if application was locked to
landscape mode but started when device
was in portrait mode.
Task-number: QTTH-1597
Reviewed-by: Laszlo Agocs
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/qgl.cpp
src/opengl/qpixmapdata_symbiangl.cpp
src/opengl/qwindowsurface_gl.cpp
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-19180
Reviewed-by: TRUSTME
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the SRGB framebuffer extension in GL is available, we can support
gamma correction of text with a gamma of 2.1. On Mac this is
sufficient for gamma correcting subpixel antialiased text. Gray
antialiasing should not be gamma corrected on Mac.
On Windows, the user can potentially set the gamma value to anything
between 1.0 and 2.2 (or something like that). We support anything
that resembles 1.0 closely enough by pushing the text out without
any correction (like before). We also support anything that resembles
2.1 (the gamma hardcoded in GL's SRGB extension) by turning on the
extension before blending the text. In between the two, we'll use
gray antialiasing to avoid differing too much from the raster engine
(which is our reference in this.)
For gray antialiasing on Windows, we use a constant gamma of 2.3 which
has been determined by experimentation. Since this is close enough to
2.1 we do gamma correction with SRGB extension.
The distance limit of 0.2 is determined by some experimentation.
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Core profile was introduced in OpenGL 3.2 and if chosen removes
all deprecated functionality from the OpenGL API.
In the Core profile glGetString(GL_EXTENSIONS) is unsupported, so
instead we need to use glGetStringi(GL_EXTENSIONS, index) together with
glGetIntegerv(GL_NUM_EXTENSIONS). Also optimized the QGLExtensionMatcher
to not have to recompute the split positions all the time.
Preliminary support to prevent non-core-functions to be called in the GL
2 engine has also been added.
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
every window surface created.
Conflicts:
src/opengl/qgl_egl.cpp
src/opengl/qgl_p.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a port of 72f161739b270b01807f97cd853030440f0fd430 which was
reverted in integration to master, since it was incompatible with
the refactored glyph cache.
When the GL glyph cache reached its texture limit, we have to reset it
and start over. Added a new cleanup() function in
QGLContextGroupResourceBase which deletes the resource for a given
context and removes itself from that context group.
Task-number: QTBUG-13784
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| | |
Avoid doing a lot of glTexSubImage2D calls in favor of doing a single
call (even if it involves an additional image copy).
Reviewed-by: Eskil
|
|\ \ |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| | |
information. Prior to this, if a context was created with QGLWidget it
would setup the sharing correct, but all sharing actually created on a
QPlatformGLContext level was ignored by the QGLContext, thus indicating
that it wasnt sharing with any other context.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/declarative/minehunt/minehunt.pro
src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
src/plugins/phonon/mmf/mmf.pro
src/s60installs/s60installs.pro
tests/auto/qapplication/test/test.pro
tests/auto/qgraphicsview/tst_qgraphicsview.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It seems that copying small rectangles from glTexSubImage2D into a
texture which is 2048x2048 is busted on some SGX drivers, even though
the driver reports 2048 as the maximum texture size. This caused text to
turn into flickering garbage once the texture glyph cache had grown to
its max size (e.g. when painting very many Chinese glyphs.) To work
around the problem, we hardcore the maximum texture height to 1024 on
this driver so that the texture glyph cache is reset whenever that
size is exceeded.
Task-number: QT-3971
Done-with: Samuel
|
|\ \ |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
qmake/generators/symbian/symmake.cpp
src/corelib/global/qglobal.h
src/gui/kernel/qwidget_p.h
src/gui/painting/qtextureglyphcache.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
src/plugins/qpluginbase.pri
src/qbase.pri
tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
tests/auto/qthread/tst_qthread.cpp
tests/auto/selftests/expected_cmptest.txt
tests/auto/selftests/expected_crashes_3.txt
tests/auto/selftests/expected_longstring.txt
tests/auto/selftests/expected_maxwarnings.txt
tests/auto/selftests/expected_skip.txt
tools/assistant/tools/assistant/doc/assistant.qdocconf
tools/qdoc3/test/assistant.qdocconf
tools/qdoc3/test/designer.qdocconf
tools/qdoc3/test/linguist.qdocconf
tools/qdoc3/test/qdeclarative.qdocconf
tools/qdoc3/test/qmake.qdocconf
tools/qdoc3/test/qt-build-docs.qdocconf
tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
tools/qdoc3/test/qt.qdocconf
tools/qdoc3/test/qt_ja_JP.qdocconf
tools/qdoc3/test/qt_zh_CN.qdocconf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The QGLWidget destroys the QGLContext, which in turn destroys the
bound pixmap. When this happens there may not be a current QGLContext,
so check that before trying to restore it.
Done-with: Gunnar Sletta
Reviewed-by: Samuel
|
|/ / |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the last shallow copy of a QImage which is cached in the
QGLTextureCache is destroyed in a thread at the same time as the
QGLContext which the texture was initialized in is active in a different
thread, the QImage thread incorrectly tries to make the context active
in two threads at once. To prevent this from happening it's best to
always do the texture clean-up in the main thread.
Task-number: QT-4238
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
src/opengl/qwindowsurface_gl.cpp
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Support blitting by copying from the top-level window's back buffer to
a temporary texture and then blitting from the texture to the native
child widget. Performance suffers, but it's better than failing.
Reviewed-by: Gunnar Sletta
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
demos/declarative/snake/snake.qml
qmake/generators/symbian/symbiancommon.cpp
src/network/access/qnetworkaccessmanager.cpp
src/s60installs/s60installs.pro
tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp
tests/auto/qnetworkreply/tst_qnetworkreply.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
GL_OES_element_index_uint detection was not working because
EGL config wasn't yet resolved. In addition QFrameBufferObject
should use 24bit depth render buffer if extension is available.
Task-number: QTBUG-14542
Reviewed-by: Gunnar
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qapplication_win.cpp
src/gui/kernel/qwidget.cpp
src/gui/text/qfontengine_ft.cpp
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 6155050f68cc86c445552da61a5f240c16f5e2cd.
The GL_ARB_ES2_compatibility extension does not mention the lowp,
mediump or highp keywords.
Task-number: QTBUG-14384
Reviewed-by: Samuel
Reviewed-by: Prasanth
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We made a mistake of trying to make use of the texture_from_pixmap
extension by default when binding textures in Qt. The extension
have several limitation and using it produces crashes with certain
drivers/graphic card combos, but we can't change this now since
it will break existing apps using well behaved drivers.
We'll fix this for 4.8 with either a QGL::BindOption or configure
flag.
Revert "Don't try to use the texture_from_pixmap extension in
GL on desktop/X11."
This reverts commit 07c5429d5aacab932cd912e66287d66fb952e7c4.
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/painting/qrasterizer.cpp
src/network/access/qnetworkaccessmanager.cpp
tests/auto/qpainter/tst_qpainter.cpp
tools/assistant/tools/assistant/mainwindow.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There are far too many problems with this extension for it to be usable
on desktop at the moment, so disable on desktop GL for now. It's still
enabled for EGL, where it seems to have better driver support.
Task-number: related to QTBUG-11158
Reviewed-by: Samuel
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
configure
src/corelib/global/qglobal.h
src/corelib/tools/qsimd.cpp
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Conflicts:
qmake/generators/win32/msbuild_objectmodel.cpp
qmake/generators/win32/msvc_vcxproj.cpp
tests/auto/qnetworkreply/tst_qnetworkreply.cpp
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
bin/syncqt
src/opengl/qgl.cpp
tools/configure/configureapp.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
OpenGL 4.0 systems now have compatibility with ES2, including
support for the precision qualifiers. If the GL_ARB_ES2_compatibility
extension is present, then we don't define highp/mediump/lowp
to the empty string.
Task-number: QTBUG-12862
Reviewed-by: Sarah Smith
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/opengl/qgl_p.h
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/opengl/opengl.pro
src/opengl/qgl.cpp
src/opengl/qgl_p.h
|
|\ \ \ \ \
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/opengl/opengl.pro
src/opengl/qgl.cpp
src/opengl/qgl_p.h
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
qmake/generators/win32/msbuild_objectmodel.cpp
src/declarative/qml/qdeclarativexmlhttprequest.cpp
src/opengl/opengl.pro
src/opengl/qgl_p.h
src/plugins/bearer/connman/qconnmanservice_linux.cpp
tests/auto/qpainter/tst_qpainter.cpp
tools/assistant/tools/assistant/helpviewer_qwv.h
tools/assistant/tools/assistant/openpageswidget.h
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Task-number: QT-2139
Reviewed-by: Gunnar Sletta
|
|\ \ \ \ \
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/plugins/bearer/connman/qconnmanservice_linux.cpp
tests/auto/qpainter/tst_qpainter.cpp
|