| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
in the gl2 paintengine
Reviewed-by: Samuel
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/platforms/wayland/qwaylandclipboard.cpp
src/plugins/platforms/wayland/qwaylandclipboard.h
src/plugins/platforms/wayland/qwaylanddisplay.cpp
src/s60installs/eabi/QtOpenGLu.def
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QStaticText had an implicit risk which meant you had to make sure the
text size did not grow unreasonably large. This was intended to avoid
hiding the performance impact of using QStaticText for such a purpose,
but it's too inconvenient. Thus, the same fall back as in drawTextItem()
has been introduced. This will also fix a bug recently introduced when
we started using the FT cache to draw static text in the raster engine,
since this will fail for large fonts.
Task-number: QTBUG-19084, QTBUG-19370
Reviewed-by: Jiang Jiang
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 extended radial gradients conform to the radial gradient
specification in HTML 5 canvas.
Task-number: QTBUG-14075
Reviewed-by: Andreas Kling
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As the DPI of displays continues to rise, especially on mobile devices,
the maximum glyph size of 64 pixels for the glyph cache has become a
limitation. This problem is made worse by the fact that when the maximum
glyph size is exceeded, the OpenGL paint engine falls back to using
rasterized geometry for glyph rendering. This does not produce
acceptable quality if the OpenGL rendering surface lacks support for
multisampling.
This patch offers a solution to the problem by making the
cached glyph size configurable at build time. This way the limit can be
set according to the capabilities of the target hardware.
Signed-off-by: Sami Kyöstilä <sami.kyostila@nokia.com>
Merge-request: 1131
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Fix crash and infinite recursion caused by previous commits
Fix remaining regressions in QWS
Take Xft.hintstyle by default to match the behavior of GTK+
Fixed remaining issues in subpixel positioning with FreeType
Fix QTransform debug output
qFloor the decoration line width before painting
Let QTextLine decide its own x position in QPainter
Avoid repeatedly trying to load unloadable plugins, causing slowness
Reset GL glyph cache when texture limit is reached
unlockFace was put in the wrong place in previous patch
Implement subpixel positioning with FreeType
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| /
| |/
| | |
Conflicts:
src/opengl/qwindowsurface_gl.cpp
|
| |
| |
| |
| |
| |
| |
| |
| | |
Destroyed swap behaviour is a little bit faster than
preserved swap with heavily animated UIs like QML.
Task-number: QTBUG-18270
Reviewed-by: Samuel Rødal
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Reviewed-by: Eskil
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the context is destroyed and recreated, we end up with a new glyph
cache, but we only recreate the vertex arrays for the very first static
text item. We need to keep track of the glyph cache in each text item,
so that we can recreate the vertex arrays and re-populate the cache
accordingly. As the pointer might be the same after the glyph cache is
recreated, we need to use serial numbers instead.
We also need to re-create the cache when the context pointer has been
invalidated, so that the static text items also get invalidated, and
the texture glyph cache gets repopulated.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
into master-integration
* 'staging-master' of scm.dev.nokia.troll.no:qt/qt-lighthouse: (69 commits)
Lighthouse: License headers to new files in testlite
Make sure we blit the fbo on flush in QGLWindowSurface
Lighthouse: Wayland. Make the wayland integration closer to Lighthosue
Lighthouse: Wayland, only make one fbo for the WaylandPaintDevice
Making clearer separation between responsibility of different classes
Make it possible to vertically mirror gl painting
Lighthouse:Wayland Moving some logic into files
Fix Wayland plugin to work with Wayland after some interfaces changed
Make QGLContext::fromPlatformGLContext show correct sharing
Remove Lighthouse specific code from QGLWindowSurface
Fix X11 clipboard bug.
Fix for uninitialized member in QWaylandCursor
wayland: use pkgconfig for libdrm in wayland.pro
wayland: remove non-public header from config.tests
wayland: fix SOURCES to point to wayland.cpp in config.tests
Wayland: request rbg and premultiplied argb visuals as needed
Wayland: clamp window resizes to screen size
Wayland: split GL code into separate files
Wayland: use correct viewport for swapBuffers and correct coords
Wayland: fix geometry of swapBuffers
...
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The GLPaintDevice gets a flip property. If this is set, the pvr matrix
is altered to paint "upside down"
Reviewed-by: sroedal
|
|\ \ \ \
| |_|/ /
|/| | /
| | |/
| |/|
| | | |
Conflicts:
configure
src/network/bearer/bearer.pri
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Q_DECL_IMPORT is still __declspec(dllimport), which is unsuitable for
static code.
Commit edbc656b changed Q_DECL_IMPORT_IMPORT to Q_CORE_EXPORT when
declaring QtCore functions in svg.
Now we change Q_DECL_IMPORT to Q_GUI_EXPORT when declaring QtGui
functions into opengl and openvg.
Also removed the redundant keyword "extern" from the function declarations.
Merge-request: 2540
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: mariusSO
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To avoid calling the bounding box function for the same non-printable
characters in every call, we cache them as empty in the coords table
and bail out before painting them. This patch also fixes some possible
reads of uninitialized memory (reference to return value) and reference
to a default constructed object consisting of uninitialized pods.
Reviewed-by: Samuel
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
Down-scale images or pixmaps that are above the max texture size. Not
optimal performance-wise, but better than failing.
Task-number: QTBUG-16033
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
| |
| |
| |
| |
| |
| |
| |
| | |
Get rid of the aliased coordinate delta, like we already did in the
raster paint engine.
Task-number: QTBUG-16043
Reviewed-by: Gunnar Sletta
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure
src/gui/graphicsview/qgraphicslayout.cpp
src/gui/text/qfontengine_s60.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
src/opengl/qwindowsurface_gl.cpp
src/s60installs/bwins/QtGuiu.def
src/s60installs/eabi/QtGuiu.def
tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since scaled text is backed by an A8 glyph cache, it needs to repopulate
even if it has previously populated the cache for the unscaled text.
This means that we need to record in the userData that the type of the
cache is not the same as the last time. Otherwise the A8 version of the
cache will only be updated when it's created and when the text actually
changes, leading to glyphs missing on screen when zooming text using
a scale.
Task-number: QTBUG-16012
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| |
| | |
As long as the final clip area is rectangular and axis aligned we can
use a scissor clip. This prevents performance problems when doing
90-degree rotated rectangle clips.
Reviewed-by: Bjørn Erik Nilsen
|
| |
| |
| |
| |
| |
| | |
If we recreate the texture glyph cache, we also need to repopulate.
Reviewed-by: Eskil Abrahamsen Blomfeldt
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the OpenGL glyph cache filled up (the max texture size on the
hardware was exceeded) the characters would be drawn as black blocks
instead. As a work-around for this, the cache will now be cleared and
repopulated whenever this happens, meaning that once in a while (when
a lot of different glyphs have been drawn in a font) there will be a
performance hit. A more complete solution is described in QTBUG-13784,
but this requires so much refactoring that it was deemed too risky for
a patch release. This patch fixes the problem with a small penalty
and low risk.
Task-number: QT-3971
Reviewed-by: Samuel
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-15320
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If you create/destroy gl contexts a lot, you may sometimes get a new
context with the same pointer as a destroyed context. When you look up
the glyph cache in the font engine using the context pointer as a key,
you will then get a glyph cache which contains no valid data. We need
to reset the glyph cache completely in this case and set up bindings for
the new context so that the glyph cache can be repopulated and reused.
Note that there is a different solution for this in Qt 4.8, so this is
temporary solution for the Qt 4.7.x series.
Task-number: QT-4162
Reviewed-by: Fabien Freling
|
| |
| |
| |
| | |
Also fix a warning
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QStaticTextItem held an uncounted reference to QFontEngine. The
pointer would dangle in some cases where there was no font object
referencing the engine and the cache was cleaned out (e.g. when a
new application font is added.) Properly count the reference, and also
add reference counting to userData to make it harder to shoot yourself
in the foot, since the QStaticTextItem class is now being used in
different places,
Task-number: QTBUG-14446
Reviewed-by: Martin Jones
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
First iteration of the Lancelot graphics regression autotest system.
Reviewed-by: Trond
Reviewed-by: aavit
|
| | |
| | |
| | |
| | | |
Reviewed-by: eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Made the code added with commit 89cbb165 use ushort indices on
systems which don't support uint indices, like commit 207d9239
did with the rest of the GL paint engine.
Reviewed-by: Samuel
|
| | |
| | |
| | |
| | | |
This reverts commit 4035ec3e9ed5ef904dd6f22adaf5e9deb24e9455.
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
This is needed for RVCT4
Reviewed-by: Jason Barron
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|