| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
| |
The GPU in question supports GL 2 but not framebuffer objects. Since we
anyway have a font rendering path that doesn't use FBOs we might as well
not require framebuffer objects in order to use the GL 2 engine.
Task-number: QTBUG-22483
Change-Id: I2a80343fedda276e73e603ffe54edff58801af5b
Reviewed-by: Kim M. Kalland <kim.kalland@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>
|
|
|
|
|
|
|
|
|
|
| |
Under some rare circumstances EGL context creation
fails on Symbian leading to application crash. However,
Qt is able to recover from this if context pointers
are guarded by null pointer checks in QtOpenGL.
Task-number: QT-5334
Reviewed-by: Samuel Rødal
|
|\
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GL_EXT_framebuffer_sRGB expects linear RGB as input color, thus we
need to convert sRGB based input color into linear RGB first before
using glBlendColor with it.
Task-number: QTBUG-20574
Reviewed-by: Samuel Rødal
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When rasterizing two adjacent QRectFs it's important that the shared x
or y-edges have the exact same coordinates, or there might be a hole or
an overlapping pixel when they are rasterized. Since the
drawPixmapFragments API was based on a center position and a scale, it
can not be used for this purpose, as the in the situation of two
horizontally adjacent rectangles the right edge of the left-most rect
and the left edge of the right-most edge are computed differently. Thus
rounding errors can cause them to not be equal, especially when there's
also a scaling / translating painter transform involved.
Thus, to not sacrifice performance, we need to introduce a new
drawPixmapFragments API that's simply takes an array of target
rectangles and an array of source rectangles. It should give a slight
performance boost for the border pixmap use case as well, since there
are less floating point multiplications / divisions involved.
Task-number: QTBUG-19079
Reviewed-by: Kim
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We already handle NPOT textures correctly by calling fract() on the
texture coordinates in the fragment shader, but we also need to make
sure not to set GL_REPEAT as the wrap mode, because the GLES2 spec says
that the driver should return (0, 0, 0, 1) if an NPOT texture has wrap
mode different from GL_CLAMP_TO_EDGE. Previous GLES2-implementations
we've tested on have thus not been GLES2-compliant (or supported
GL_OES_texture_npot).
Partial back-port / modification of
c5a377e944f9a87c372ff8371c66b03d861803a6 in 4.8.
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This works as a band-aid and optimization for QT-5104, because in the
text in the example, which contains latin text and has a latin default
font set, will think of all spaces between the cyrillic characters as
latin characters, hence it will make separate text items for them and
issue separate glDrawElements() calls. By cutting off if there are no
glyphs to draw, we can avoid hitting the actual bug for this and several
other use cases, making it less likely to happen.
Task-number: QT-5104
Reviewed-by: Samuel
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/qgl.cpp
src/opengl/qpixmapdata_symbiangl.cpp
src/opengl/qwindowsurface_gl.cpp
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Fixing OpenGL module build error on Solaris
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Even though the code was correct, the CC 5.9 compiler was producing
an error.
Task-number: QTBUG-19641
Reviewed by: Kim Motoyoshi Kalland
Reviewed by: Samuel Rødal
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When rendering fonts that are so large the Freetype engine will fall
back to outline rendering, we would sometimes lose glyphs that were
at the edge of the texture, because the width of the image returned
by QFontEngine::alphaMapForGlyph() includes a margin (which the other
font engines do not) and thus it would sometimes be wider than the
available area in the cache's texture. This would in turn cause the
GL call to copy the glyph into the cache to fail.
The correct fix would probably be to make the algorithm used to
calculate the width in QFontEngine::alphaMapForGlyph() the same as
the algorithm used by the glyph cache (which would mean to remove
the margin there), but to minimize the impact in a patch release,
we fix the symptom and move the correct fix to next minor release
instead.
Task-number: QT-4876
Reviewed-by: Jørgen
|
| |
| |
| |
| |
| |
| | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move paintEngineSupportsTransformations logic from QPainter to paint
engine subclasses. Simplify and consolidate checks for cached drawing
(pretransformed) and path drawing (untransformed) in raster paint
engine. Fix unnecessary transform when paint engines actually take
the path drawing track. Fix scaling and rotation transform in raster
engine for Mac.
Task-number: QTBUG-19086
Change-Id: I1c0c1800a5173d3db765b9fccfd0e7a3628e3815
Reviewed-on: http://codereview.qt.nokia.com/298
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit 43c0e08ba2e3487840b4063b2099bc17cdd4dce2)
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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:
mkspecs/qws/macx-nacl-g++/qplatformdefs.h
|
| |\ \ \
| | |/ /
| |/| /
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging:
Fix static text item positioning GL2 paint engine
Fix combining marks handling in Core Text shaper
Fix PBuffer example to work again
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Eskil
|
| |/ /
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
(cherry picked from commit 774a3536b00c4d6e4c4c10b708e31b4373a338e3)
|
|\ \ \
| |/ / |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
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
...
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | |
| | | | |
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
|
| | | | |
|
| |_|/
|/| |
| | |
| | | |
Reviewed-by: sroedal
|
|\ \ \
| |/ / |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|