| Commit message (Collapse) | Author | Age | Files | Lines |
| |\ |
|
| | |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/quick/qquicktext/tst_qquicktext.cpp
Change-Id: I241cd418bb7e7b95e0a0a2ee4c465d48be2a5582
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On some systems, glGetString returns null for some reason, which causes
a segfault here. Let's assume it's not one of the broken configurations
and hope for the best instead.
Task-number: QTCREATORBUG-15992
Task-number: QTBUG-56165
Change-Id: I83867e42f0fd8f576bf51ac0a2213e1348111ffd
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
Reviewed-by: Michael Brüning <[email protected]>
Reviewed-by: Laszlo Agocs <[email protected]>
|
| |/ /
| |
| |
| |
| |
| |
| |
| | |
Qt 5.7 only deploys to macOS 10.8, so this code is never executed. Also,
QSysInfo will be deprecated in Qt 5.9 so this will fix a warning.
Change-Id: Iecebdb2aed3b0e31b0540621b16aa958031a8e81
Reviewed-by: Thiago Macieira <[email protected]>
|
| |\|
| |
| |
| | |
Change-Id: Ib45654e3e79087da4754377f0d78b70c44ed4695
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using a FBO, the source rect should be the painted part
(m_textureSize) of the FBO.
Also, the texture size is now correctly set when using an Image
render target.
Task-number: QTBUG-52054
Change-Id: If5d7a9c0b02f16f5d4be2cdf8c3c4cb15cb0583e
Reviewed-by: Andy Shaw <[email protected]>
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
|
| |\|
| |
| |
| | |
Change-Id: I12efb77e812364052eca12ea35219ceff64d7cc3
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Doing it in QSG24BitTextMaskShader::initialize() assumed that the
FBO didn't change afterwards, but FBO can change (due to ShaderEffectSource
or item.grabToImage()), resulting in qt_sRGB_to_linear_RGB() getting called
for the case of the FBO not supporting sRGB.
The work done in 1e18a4f985f6ec is still a good idea (enabling sRGB for all FBOs),
and needed for exact rendering but this patch fixes an orthogonal issue.
Change-Id: I98b12347e9ef60f46d8bcb20ac5d0d2d7b0c6f57
Task-Id: QTBUG-52906
Reviewed-by: Laszlo Agocs <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/compiler/qv4isel_moth.cpp
src/qml/compiler/qv4ssa_p.h
tests/benchmarks/qml/qqmlimage/qqmlimage.pro
tests/benchmarks/qml/qqmlimage/tst_qqmlimage.cpp
Change-Id: Iad11ce7fdf0c6d200fdebc16a94081bd8069a87a
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The distancefield cache did not clear the textures before using
them. Hence, random values could leak through in the edges of the
distancefields, leading to random pixels at the edges of the rendered
glyphs.
This issue was rarely visible before, because of the way the glyphs
were stacked on the textures. That stacking was changed as a result of
7190aa26f65ab97b4f54c156a107ed7748a11df5, which made the issue happen
more often, so it was detected by lancelot.
Change-Id: Ibe7a20dd7ba557ab92966e714c25a100e218ed24
Reviewed-by: Yoann Lopes <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
tests/auto/quick/qquickitem/tst_qquickitem.cpp
Change-Id: If261f8eea84dfa5944bb55de999d1f70aba528fd
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 1e18a4f985f6ec4a0191a2e0cc087b13d29b1719.
It breaks a QtCanvas3D unit-test and I can't look at it now.
Will have another take at this soon.
Change-Id: I22acd55443783934596d25cc4c8774bd34609f6b
Reviewed-by: Liang Qi <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QSGRenderThread slept for up to one vsync interval before
the first frame was rendered. This happened when the QSGRenderContext
was not yet initialized and thus a sync could not result in changes.
With LTTNG and custom trace points this latency was easily visible
before the first frame swap. With perf it can also be checked, when
one does:
QSG_RENDER_LOOP=threaded perf trace record -m 10M \
-e syscalls:sys_enter_nanosleep,syscalls:sys_enter_ioctl \
--call-graph dwarf qml main.qml
...
[ perf record: Captured and wrote 116.731 MB perf.data (14309 samples) ]
Then afterwards have a look at the output of
perf script --comms QSGRenderThread
And you will notice the sleep directly at the start, followed by the
bulk of ioctl required to setup the OpenGL contexts:
QSGRenderThread 10875 [001] 13940.801449: syscalls:sys_enter_nanosleep: rqtp: 0x7f1ab954cd60, rmtp: 0x7f1ab954cd60
7f1ada3997fd __nanosleep+0x2d (/usr/lib/libpthread-2.23.so)
7f1ada9683ed qt_nanosleep+0x2d (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Core.so.5.7.0)
7f1ada8c73b8 QThread::msleep+0x38 (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Core.so.5.7.0)
7f1abb594320 QSGRenderThread::syncAndRender+0x320 (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Quick.so.5.7.0)
7f1abb598b0c QSGRenderThread::run+0x19c (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Quick.so.5.7.0)
7f1ada8c7f89 QThreadPrivate::start+0x149 (/home/milian/projects/compiled/qt5-5.7-opt/lib/libQt5Core.so.5.7.0)
7f1ada390484 start_thread+0xc4 (/usr/lib/libpthread-2.23.so)
7f1ad982e6dd __clone+0x6d (/usr/lib/libc-2.23.so)
... ioctl follow
This change here checks the validity of the render context before
sleeping, thereby removing the vsync latency before rendering the
first frame. Note that simply skipping the calls to `syncAndRender`
from `run` is not an option, as those also trigger the expose event
that is required for the initialization to happen eventually.
[ChangeLog][QtQuick] The threaded scene graph renderer does not
sleep up to one vsync interval before the first frame anymore.
Change-Id: If7474d5420e0d4a1d05ccb664c7c6932fa989127
Reviewed-by: Gunnar Sletta <[email protected]>
Reviewed-by: Ulf Hermann <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/quick/demos/photoviewer/deployment.pri
One side made it redundant; the other removed part of it; remove it all !
src/quick/scenegraph/util/qsgatlastexture.cpp
One side changed a preprocessor condition, the other a code condition,
on adjacent lines; keep both changes.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side changed a condition, the other the content of its block; keep both.
Change-Id: Idb8937f92a7edb28212449dfe0c5cfdb8e6de986
|
| | |
| |
| |
| |
| | |
Change-Id: Ice542d53c4eb9f34745e2d06dd03c32de7a9817e
Reviewed-by: Laszlo Agocs <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise text appears too dark.
A similar bug was fixed in the past for QQuickWidget (which also uses FBO).
Now this fixes it for ShaderEffectSource and QQuickItem::grabImage() too.
Change-Id: Ia0e176372b9ba8282972f8d60f87f02747291ffe
Task-Id: QTBUG-52906
Reviewed-by: Sean Harmer <[email protected]>
|
| |\|
| |
| |
| | |
Change-Id: I70c0c672708522f7157849365cc53ee271d8e460
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If configured with logging rules (QT_LOGGING_RULES=),
qt.scenegraph.info=true
will be interpreted as enabling QtInfoMsg for the qt.scenegraph
category and subcategories.
[ChangeLog][QtQuick] qt.scenegraph.info logging category
got renamed to qt.scenegraph.general.
Task-number: QTBUG-54238
Change-Id: I7601e522697c3b4b00b6e9866b803d91f72e76fc
Reviewed-by: Gunnar Sletta <[email protected]>
Reviewed-by: Shawn Rutledge <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/jit/qv4targetplatform_p.h
src/quick/accessible/qaccessiblequickitem_p.h
Change-Id: Ic95075a5fad81ec997a61561bd65979dfa3b9d4d
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was causing problems with the FrameBuffer render target when
displaying on a HiDpi display as it would end up with a size which was not
accounting for the devicePixelRatio.
Task-number: QTBUG-52901
Change-Id: I587e2578d670cfecb016aae92c4190a37e7412a1
Reviewed-by: Gunnar Sletta <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the distance field cache, we would assume a max height of glyphs
at 64 pixels when the pixel size was 54 (em square size is 54 and
then some margin). This is an arbitrary assumption which does not
necessarily hold true. Indeed, some fonts would be clipped at
the bottom when assuming this.
[ChangeLog][QtQuick][Text] Fixed clipping of glyphs that extend
beyond font's em square.
Task-number: QTBUG-52389
Change-Id: I5f6c9be235d38841e40d1bd60fb380e4712dd41a
Reviewed-by: Yoann Lopes <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Part of 0e053528 was reverted in the merge, about lastTimestamp. It
will be applied later in separate commit.
qmltest::shadersource-dynamic-sourceobject::test_endresult() was
blacklisted on linux.
Conflicts:
.qmake.conf
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
tests/auto/qmltest/BLACKLIST
tests/auto/qmltest/qmltest.pro
Task-number: QTBUG-53590
Task-number: QTBUG-53971
Change-Id: I48af90b49a3c7b29de16f4178a04807f8bc05130
|
| | |
| |
| |
| |
| | |
Change-Id: I9ece132b87a8de06924e71b6f5fc552a14dea336
Reviewed-by: Gunnar Sletta <[email protected]>
|
| |\|
| |
| |
| | |
Change-Id: I3c6a93917cb46868cdb9dd50566b90c70f67102e
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
There is no need for other classes to directly access the shader cache,
and if we ever want a way to invalidate pieces of it, we better prevent
such access.
Change-Id: I79949b375854445c46b9d8bf6072bb53030b8dac
Reviewed-by: Gunnar Sletta <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 26a230ee0ed68d39d4d13bfeaafd9839ee2a2a00.
This optimization breaks when we have a single material change
in the scene within a batch as the geometry node does not get
visited on the next render.
Task-number: QTBUG-52983
Change-Id: Ib385407a9fc35ca03ab18727d1e7b550431416f1
Reviewed-by: Michael Brasser <[email protected]>
Reviewed-by: Jocelyn Turcotte (Woboq GmbH) <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
The latter can be inlined.
Change-Id: I57747b84889390839a17faa1df6d359210ef4adf
Reviewed-by: Gunnar Sletta <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickimagebase.cpp
src/imports/layouts/plugin.cpp
Change-Id: I5f48474df4034a1347ec74795c85d369a55b6b21
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSG_ATLAS_TRANSIENT_IMAGE_THRESHOLD can be used to define a threshold
for retaining the QImage associated with an atlas texture. This gives
more control to the developer on platforms where removing a texture
from the atlas (e.g. for use in a ShaderEffect) can be prohibitively
expensive.
Change-Id: I13fd01ebbe94dd960fdcb3ee20b4ff40dcc5694f
Reviewed-by: Laszlo Agocs <[email protected]>
Reviewed-by: Brett Stottlemyer <[email protected]>
Reviewed-by: Robin Burchell <[email protected]>
Reviewed-by: Gunnar Sletta <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace substring functions that return QString with
corresponding functions that return QStringRef where
it's possible.
Create QString from QStringRef only where necessary.
While touching the code, also port loops to C++11 style.
Change-Id: I04c99b24ea6afd3715e3edf9ea00bfab838fd53c
Reviewed-by: Ulf Hermann <[email protected]>
Reviewed-by: Simon Hausmann <[email protected]>
Reviewed-by: Frank Meerkoetter <[email protected]>
Reviewed-by: Shawn Rutledge <[email protected]>
Reviewed-by: Robin Burchell <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
QGlyphs does not exist anywhere. It is the old name of QGlyphRun,
so this forward declaration is not needed.
Change-Id: I1394f3d7abf0a8bc58ff2295f41dd3779ed01901
Reviewed-by: Robin Burchell <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
src/qml/qml/ftw/qhashfield_p.h
tests/benchmarks/particles/affectors/tst_affectors.cpp
tests/benchmarks/particles/emission/tst_emission.cpp
tests/benchmarks/qml/pointers/pointers.pro
tests/benchmarks/qml/pointers/tst_pointers.cpp
tests/benchmarks/qml/qmltime/qmltime.pro
tests/benchmarks/qml/qquickwindow/qquickwindow.pro
Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
|
| | |
| |
| |
| |
| |
| | |
Change-Id: Ib1c2695f86837b02ba4aaf49184421cd464f7c20
Reviewed-by: Robin Burchell <[email protected]>
Reviewed-by: Laszlo Agocs <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Since all fields are now POD, and we want them all zero'd anyway.
Increases delegates_rect benchmark by maybe 40 or so instances per frame.
Change-Id: I1ca2da1e82edb70485b584cb52f4be2f5ffbcf08
Reviewed-by: Gunnar Sletta <[email protected]>
|
| | |
| |
| |
| |
| |
| | |
Change-Id: Ie734d6bfcb492c8aeeb18909650a27b1288f2b52
Reviewed-by: Robin Burchell <[email protected]>
Reviewed-by: Frank Meerkoetter <[email protected]>
|
| |\|
| |
| |
| | |
Change-Id: Icfa1d61fcc286c3418d4a625de11d2191336fa60
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Added explicit where it was missing. This is not a source-
incompatible change, because code that breaks by this is
a bug. Let's not have this sitting around in an LTS.
Change-Id: Ic198750717799126b4e37817845a8ee4684d631f
Reviewed-by: Lars Knoll <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... or equivalent.
QtBase 5.6 headers already compile that way, so let the other
modules follow suit.
Task-number: QTBUG-45291
Change-Id: Ied526fb2d7adc3a68946d6843a6bd6f475ebf864
Reviewed-by: Lars Knoll <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
Change-Id: I3ca8f0422828191b7e19539c25f31f2d048e9f18
|
| | |
| |
| |
| |
| |
| | |
Change-Id: I3eb57baf1812f831335429cc7d2b4424f3cfa785
Task-number: QTBUG-50929
Reviewed-by: Laszlo Agocs <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
... in string comparisons. It's more efficient.
Change-Id: I51b4f5dd79ddb8a448e59ebfc537b86b78730dfb
Reviewed-by: Lars Knoll <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implicit conversion from floating-point to int, which simply truncates
the number's fractional part, may have caused the rectangle fill
to be rendered in a color with some of its RGB components different
by ±1 from the specified value.
For example, the actual on-screen color of the following QML item was
#010101 on 32bit Intel (no antialiasing or alpha channel):
Rectangle {
width: 100
height: 100
color: '#020202'
}
This commit improves precision of the calculation by applying qRound()
before the conversion to integer.
Change-Id: Ia849c31ba9872e7a92608245406d178051b21917
Reviewed-by: Gunnar Sletta <[email protected]>
|
| |\|
| |
| |
| | |
Change-Id: I4af0bf8ec1569097d97f8ce0bb8bf1a0e4a989ec
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
QSGDefaultImageNode::preprocess() always sets the
geometry to dirty even if no new texture was grabbed.
Change-Id: Ifb6ce160854aa0a5b9e0f87fbf517b21e86e0ade
Task-number: QTBUG-49904
Reviewed-by: Gunnar Sletta <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12
Reviewed-by: Lars Knoll <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes: "** CID 156593: Control flow issues (DEADCODE)".
Child can not be null do to while (child) { ...
Change-Id: I46a4f23f24bf7e6b71e72b177249587eea57d5ce
Reviewed-by: Joerg Bornemann <[email protected]>
Reviewed-by: Simon Hausmann <[email protected]>
Reviewed-by: Robin Burchell <[email protected]>
|
| |\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.h
tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
tests/auto/quick/qquicktextedit/qquicktextedit.pro
tests/auto/quick/qquicktextinput/qquicktextinput.pro
Change-Id: I95d2c20a8619e5b8fa361c941a16dd8dce3e04e7
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
QSGTextureProvider::texture() was getting a warning from qdoc because
it didn't find an exact match for its signature: the doc lacked const.
Ditch some spurious semicolons while we're about it.
Change-Id: I785ae8b8d46c839a1e29339284834a8b8e44bffe
Reviewed-by: Topi Reiniö <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reduces transient allocations by 10mb on the Rectangle creation benchmark,
at the cost of an additional two pointers per shadow node (and just that pointer --
no additional allocation ala QList is required, so this will actually end up
around the same size if not better.)
Change-Id: I6c25c93fe31ed892e3c42ed66d6c6656e5d7b38a
Reviewed-by: Gunnar Sletta <[email protected]>
|
| | |
| |
| |
| |
| |
| | |
Change-Id: If48e8bcf55781d1148e15ce19e07cfbe35d829d2
Reviewed-by: Sean Harmer <[email protected]>
Reviewed-by: Jake Petroules <[email protected]>
|