| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/core/resources/qframeallocator.cpp
src/plugins/sceneparsers/gltf/gltfparser.cpp
src/render/frontend/qrenderaspect.cpp
tests/auto/render/renderqueue/tst_renderqueue.cpp
Change-Id: Icdc2be2c80e7de6135a09e2f370ee004e395f514
|
| |
| |
| |
| |
| |
| |
| |
| | |
the CI obtains them from the qt5 super repo nowadays.
Change-Id: If4ad33246234c8d579e6c4f8c3acd9e5981de0ec
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The old code used indices to detect when it fell off the
end of m_chunks and needed to allocate a new chunk, but
this was opaque to Coverity, which saw the potential for
m_lastAllocatedChunk == nullptr at the end of the function,
and thus reported a nullptr deref there.
Fix by moving the scanning of m_chunks into a new method,
scan(), which more clearly communicates that it never
returns nullptr, not least because it returns by reference
instead of pointer.
Coverity-Id: 154279
Change-Id: I0cfe8fd819bbfc5b03a98b5e9354c0e98a521d34
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The check of d->m_renderer against nullptr follows an unconditional
deref of the same pointer with no intervening code. It must therefore
be always true.
Remove it.
That done, m_renderer _is_ nullptr after the ctor ran, and before
the dtor runs (there's a check), so maybe the code should at least
assert the existence of m_renderer before using it.
Coverity-Id: 156307
Change-Id: Iacf2c09db1c0a5a55a67cfb6ef2a00652e557d09
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The test is failing in 5.6 also.
Same as e8a691192d5646924453cd1c617eae1b3d2a93aa
Task-number: QTBUG-53915
Change-Id: I8075c65abc96536c3fafad912c07b73aa6e0b2d7
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We checked that the file exists prior to opening it, but
it could still be unreadable (due to permissions, e.g.),
so check with QFile::open() and emit QFile::errorString()
in case it goes wrong.
Coverity-Id: 161328
Change-Id: I3489488023bb697d6cb9eee6be07c0edd923c478
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
all .prf files that need the variables it sets actually load it by
themselves.
This reverts commit 3ec11e4d94d57678f4dd1162185beef62e43da12.
Change-Id: Ia662f252b8215f83e090391748947a8579566885
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\ \
| | |
| | |
| | | |
Change-Id: Idb141c715c7d06d2ecdce403d0f3740ee18b2b8f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, elements created by the NodeInstantiator are children of the
instantiator itself. Change that to parent them in the instantiator
parent instead.
Rationale for that is that it will behave similarly to Repeater this
way, and gives a chance of using NodeInstantiator in frame graphs.
Indeed, anything which is not a FrameGraphNode gets pruned in that
context that would include branches starting from NodeInstantiator.
Change-Id: I651a51471d92fcf466c9abd5dbbbfa2960ef1247
Task-Id: QTBUG-55908
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is convenient to allow creating (Q)FrameGraphNode and have them
take part in the tree traversal even though they don't change any state.
Allows for easy grouping of frame graph parts, and even needed in some
situations in conjunction with NodeInstantiator.
Change-Id: If33d48801781113a174971398b33c27d55fa1423
Task-Id: QTBUG-55908
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8fd9fde776b81b09b3d107f2ad95f90672a354ab
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
deferred-renderer-cpp example has been moved under tests/manual/,
but old example was not completely removed.
Task-number: QTBUG-55659
Change-Id: Ic8e934092879b05c4e04c5f70f0f3632cc8c3ec3
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1ce94b0c6d25c709cb9e4f2e0a37ec6c68217ef9
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I40379d4b20baf79657926a1cef5b29e83579b46c
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic6555d2900a4d6a10ea8ebf8da746c70915ae6f1
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id02bac23bd25574c872a3b44e40f7d454c454ad6
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update docs for QRenderTarget, QRenderTargetSelector and
QRenderTargetOutput
Change-Id: Iceff6605e4a5093e9af29718600534b9267f8c3d
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
statevariant_p.h:100:20: warning: destination for this 'memcpy' call is a pointer to class containing a dynamic class 'BlendEquationArguments'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
statevariant_p.h:100:20: note: explicitly cast the pointer to silence this warning
Change-Id: I149e0540c00745fe8119fffd146452409ca5c945
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Type info declaration must be before the struct Entry is used. Therefore
this patch moves the definition before the ByteArraySplitter.
Task-number: QTBUG-56789
Change-Id: I29e3ec35778778536c5e1de08b6b7133bb78c0f8
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The 2nd argument name in the documentation was different
from the actual name.
Change-Id: I626f2ab4258d977a4679bf1750dace3b23b65dd5
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The 'location' argument is checked for non-negativeness first thing
in the function, and is not modified in between, so the re-check in
the loop is both unneeded and misleading, as it suggests that the
variable may have changed from the previous test.
Fix by removing the second check.
Introduced by 8c1e1df4be02de8d64807d7abeccedc6becd3076, which means
only 5.7+ is affected.
Coverity-Id: 168546
Change-Id: I3adc0ace2eac234142ab856738e553b1a7e76e1f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This code is in the then-branch of an if (buttonInput),
and buttonInput is not modified in between, so the
check for buttonInput here is redundant.
So remove it.
Also declare 'buttonInput' as const to have the above
analysis checked at compile-time, too.
Introduced in 496d8b53b16bd0703ab06978f18fcbbb7d95e845,
so Qt 5.6 is unaffected.
Coverity-Id: 161331
Change-Id: I86e4d81e534d7906281fc36b70dc57ccb56184ca
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Fix the value for 3drender module
- Add 3dlogic and 3dextras
Change-Id: I27e41559d831ea03d473d5088fb4187d50d811d1
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I7b40b48d40b8c02e0ba59fcf53b4cf23063d1d95
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Due to 44f1a92338859f1cc043ec22e0142037b5f87936 we need to correct
the orientation of the textures applied to the plane meshes in this
example. There is a variety of ways to do this including:
* Adapting the texture coordinates
* Rotate plane other direction about x axis and swap face culling mode
* Flip textures on disk
This patch goes for the 3rd option. This can be reverted in 5.8 when we
get new API to control whether texture images are flipped upon loading.
None of these are ideal but is an intermediate step in getting to a
fully consistent usage with 5.8. This follows the same approach as was
used with the anaglph-rendering example skybox textures.
Change-Id: I7fda41204625d7b30ac295ef789b6dea6018c2b8
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Mika Salmela <mika.salmela@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also fix up some more problems with the torus. We were drawing some
triangles more than once due to problems in the indexing. Fixed this
by factoring out the calculations of number of vertices and
triangles and takign care about needing more vertices to handle the
texture coordinate wrapping at the seams but not more indices.
Also renamed some members in the functors to be more consistent.
Now the torus geometry should be perfect.
Change-Id: I1198469531a5fd5e4ec8b86d47c9e66850fe50c7
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
They will be needed to test other geometry convenience classes.
Change-Id: Ibece97c393e3b0239454f28e7862cfffd400a0e8
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I81634986b22871f2c0cb9175925ca6ac4714694f
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prevents interpolation from (1-dv) to 0 over the final ring of triangles
of the torus. Now we only reach v = 1 at the same point in space where
we began creating the torus.
Change-Id: I68630c623483bf2993ef24dbef98cca5a9ae26fd
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Needed for any kind of normal mapping.
Change-Id: Iddc6c648808622e472e6c7a5254aa6769c67f8c1
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
More common way to unwrap a torus as the seam is less visible.
Change-Id: I4778766ad613162986955de8623def5e1e33a8ec
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id41b28c19cba2997547931e2cddfe394c82b3fe3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I9d1d8cbdb966d6e697d28e2a216f1283593beae9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ib69bbf9967da831b9a069ddce1424b7946c7f369
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ie222eb59a9bcf53cfaf1b417241933961034d010
Task-number: QTBUG-53639
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |\ \
| |/ /
|/| |
| | | |
Change-Id: Ic6d5cf08de0765d1555ef4e41a404af4b818c5a0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QVariant::Type and QMetaType::Type are in sync, but static checkers
don't know this, so they complain about mixed-enum type conversions.
It turns out that the code is overly complicated. Instead of casting
QVariant::type()'s return value to QMetaType::Type and comparing it
against QMetaType::QVector3D, simply compare directly to QVariant::
Vector3D instead.
Introduced in 1e0fb6c74d81a5b6c17a7f127566e4fb8ed2f28b.
Coverity-Id: 168163
Change-Id: I563bebcf869555238db0135125e221ba12ed41ae
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It doesn't quite make sense to have a null scale by default. It basically
forces to always touch the property to get something moving. Use a scale of 1
instead by default.
Change-Id: I813997d23ffedf1a934f79868f1f71f886b0303f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently even disabled lights take part in the lighting. Just don't
have them in the uniforms if they are in fact disabled.
Change-Id: Id6c1da2132919c8bc1ec17a5949a2e32a85e0dbe
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... and mark qgltf as Q_FOREACH-free, using QT_NO_FOREACH.
In writeShaders(), also port two indexed loops to range-for.
Saves almost 6KiB in text size on optimized GCC 6.0 Linux
AMD64 builds.
Change-Id: Id281b077159f461c01c23600f6cb301a6aa34b9e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The first two lines are implicated in a compile error
in a follow-up commit that introduces C++11 ranged for
loops, so take another shot in the dark and remove the
lambda expression embedded in the QStringLiteral macro
by using QLatin1String instead, which, this being in a
QStringBuilder expression, is even a desirable change
in itself.
Change-Id: I1ccd8d2e3c23cefdd50e7bc71f3f95dbeac78b72
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifa2c7f3c33cb410938e484f023e965d5ca5220cb
Task-number: QTBUG-55908
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I2766466a0068a528e6ed2b2313f7a3104e583a7e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Needed so that QML and qmlplugindump process properly the type
information of this property
Change-Id: I8d4075f481176efa1a50d5d0e418529c893c49eb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia5a7dfb860317b3fa4b5a56ad6e9351ddb979b3b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Was sending the dynamic metaobject of the QComponent which (in the case of the
QComponent being destroyed while the change hasn't yet been processed) would
result in crashes.
Moved out the findStaticMetaObject function from QNodeCreatedChange and made it
a static function of QNodePrivate. Use QNodePrivate::findStaticMetaObject in
the QEntity::createNodeCreationChange.
Change-Id: I15a63251d7f3aae25191fa4440d864f0c8234a61
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The variables have to be declared in the for loop to be compliant with
OpenGL ES 2.0. The OpenGL 3 shader is cleaned up as well, to keep the
code similar.
Change-Id: I9127e9e536e4ec9036e078aaf99955113e81878f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ide125bd292f10d2363cd0928af2513efe9f25eaf
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I1209a4ec7c0775e16debbce864e965eb3df13771
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's in render module not in core.
Change-Id: Ic42b65c365308915e38a42561f167f81d30c3b72
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|