summaryrefslogtreecommitdiffstats
path: root/tests/auto
Commit message (Collapse)AuthorAgeFilesLines
* Correct license for test filesLucie Gérard11 days288-288/+288
| | | | | | | | | | | | According to QUIP-18 [1], all test files should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I966d4033a73aacabb39f582270f2f1c18e2bcecd Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Mark the whole repo with QT_NO_CONTEXTLESS_CONNECTAhmad Samir2024-02-282-9/+9
| | | | | | | | | | By adding it to the default build flags via .cmake.conf. This amends commit f981367f365686e6c6bf99d0416d8fd6efb87f32. Task-number: QTBUG-116296 Change-Id: Ie1c95f4245694ea7bee17da2d32becc08132cb20 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add CMake autotestJoerg Bornemann2024-01-252-4/+5
| | | | | | | Task-number: QTBUG-84884 Change-Id: I21d27b35108c9d7aa1941e4fbc5850455b2099e2 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix deprecation warningsMike Krus2024-01-152-3/+3
| | | | | Change-Id: I62b13867eb0b5a0aff974b34df714bfeba776d4b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* tst_qmesh: fix heap-use-after-free read errors due to wrong destruction orderPaul Lemire2023-11-161-6/+7
| | | | | | | Pick-to: 6.6 6.5 Task-number: QTBUG-119137 Change-Id: Ia4e23cb6fa3a16160a70f5beb6963a39bdd5e80b Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix Race Condition in NodePostConstructorInit::processNodesPhilip Schuchardt2023-10-101-4/+5
| | | | | | | | | | | | | This fixes QTBUG-116770. This moves m_aspectEngine to the correct thread when it's created in Scene3DItem. And prevents processNodes from being called on the wrong thread. [ChangeLog] Fix Race Condition in NodePostConstructorInit::processNodes Fixes: QTBUG-116770 Pick-to: 6.6 6.5 Change-Id: Iaf47ffd99ab6f920559b596a9baa8c253c135e40 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* CMake: Make qt3d tests standalone projectsAlexandru Croitor2023-07-06229-0/+1373
| | | | | | | | | | | | | | | | | | | Add the boilerplate standalone test prelude to each test, so that they can be opened with an IDE without the qt-cmake-standalone-test script, but directly with qt-cmake or cmake. Boilerplate was added using the following scripts: https://git.qt.io/alcroito/cmake_refactor Manual adjustments were made where the code was inserted in the wrong location. render/opengl tests were omitted because they include other files that make the tests non-standalone. Task-number: QTBUG-93020 Change-Id: I3c7e2ca8dafc15acfe909aad3fa60300ac9db525 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Disable the graphicshelpergl tests on AndroidVille Voutilainen2023-05-091-1/+3
| | | | | | | | | | They don't build on NDK 25, if anywhere, since Android uses GLES or Vulkan. Change-Id: I64a207a3543aa2274c28617241f9e278dd7b9aa2 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove qmake build filesMike Krus2023-03-17266-3315/+0
| | | | | | | | Except in examples Pick-to: 6.5 Change-Id: I31b06ddfc79f14dde3369518a76d57606daf939f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QDistanceFieldCache: fix QTextureAtlas dangling pointerPaul Lemire2023-02-141-1/+1
| | | | | | | | | Note: already merged in 5.15 Pick-to: 6.5 6.4 6.2 Change-Id: If968714f1ca4869e9c607224b537e355b4a6f0dd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove Qt6 QT_VERSION checks from the code basePaul Lemire2023-02-107-49/+0
| | | | | | | | | | Those are left overs from the Qt 5.15 to Qt 6 port. Now that both code based have diverged, there's no much point in keeping those checks. Pick-to: 6.5 Change-Id: I4e83876b6b4cb18b181af32e376f4411054a1183 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* tst_QAspectJob: fix -Wsign-compareMarc Mutz2023-01-261-2/+2
| | | | | | | | | | | | | | | | | | | | | std::vector::size_type is unsigned, while decltype(2) is signed. Found by Clang 15: qtestcase.h:585:34: warning: comparison of integers of different signs: 'const unsigned long' and 'const int' [-Wsign-compare] return compare_helper(t1 == t2, "Compared values are not the same", ~~ ^ ~~ tst_qaspectjob.cpp:36:9: note: in instantiation of function template specialization 'QTest::qCompare<unsigned long, int>' requested here QCOMPARE(job1->dependencies().size(), 2); ^ Make the RHS unsigned, too. Amends b70f7af20550f55e9546ff5a2192f53d6ccb62cb. Pick-to: 6.5 6.4 6.2 Change-Id: Ia7e612de97de86946c42c104081957fbdcc67d7f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Retire the qt_parse_all_argumentsAmir Masoud Abdol2023-01-202-2/+2
| | | | | | Task-number: QTBUG-99238 Change-Id: I5287ffb82104feb44fdf58383bf0a4766b066a6c Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* 3DCore: rip away the configure option and static choice of SIMDThiago Macieira2023-01-1912-672/+16
| | | | | | | | | | | | Instead, simply use whatever is available from the compiler. This also does away with the separation between Matrix4x4_SSE and Matrix4x4_AVX2. The two classes store the data the same way and are source-compatible; they just operate differently. This also allows for an AVX2-enabled Qt3DRenderer to link to and run with a non-AVX Qt3DCore. Change-Id: I76216ced393445a4ae2dfffd172a512266b2414d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Compare size() to unsigned numeric literalsEdward Welbourne2023-01-101-1/+1
| | | | | | | | | The STL containers used in some types return size_t as their size(), which gets signed/unsigned comparison warnings. Use unsigned literals for the constants to compare against. Change-Id: I91887a1dbd3eb95655c86add2e9f589f0c970def Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove qsizetype to int narrowing conversionsAurélien Brooke2022-12-211-73/+73
| | | | | | | | Change the variable type from int to qsizetype when receiving qsizetype values. Change-Id: I2adf71e1d2f26b1452fee28890c0f68300f54224 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Skip tst_raycasting on QNXVille Voutilainen2022-12-191-0/+8
| | | | | | | Task-number: QTBUG-107694 Change-Id: I4028dc107427c955342903239d4d80674e7109e4 Pick-to: 6.5 6.4 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* tst_pickboundingvolumejob: fix signed/unsigned mismatchMarc Mutz2022-12-151-2/+2
| | | | | | | | Amends fd7536a6e4cfaee8e52c9c6411601aed745fe5f6. Pick-to: 6.5 6.4 6.2 Change-Id: Ib2aed78b798ea163125593319f65b123bcc4f895 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* tst_renderviews: fix signed/unsigned mismatchMarc Mutz2022-12-151-4/+4
| | | | | | | | Amends f672753556cf28d44f864457dc6338a55e2e0ed4. Pick-to: 6.5 6.4 6.2 Change-Id: I5c3e99a033cead91a03ab468b4c44b687422baac Reviewed-by: Mike Krus <mike.krus@kdab.com>
* tst_filtercompatibletechniquejob: fix signed/unsigned mismatchMarc Mutz2022-12-151-1/+1
| | | | | | | | Amends 914752257634dede18cc5079f2a506b699744058. Pick-to: 6.5 6.4 6.2 Change-Id: I0320fb3b5e44e10e6ee106bbcb79322323cc3d12 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Disable qresourcemanager test on QEMUMike Krus2022-12-131-1/+5
| | | | | | | | | It's flaky ... Task-number: QTBUG-107693 Change-Id: I67cbb5ef8800f5c29e33ae17241b04b3af0ed067 Pick-to: 6.4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix "Assigning instead of Comparing" in tst_QResourceManagerAurélien Brooke2022-11-301-1/+1
| | | | | | | | | | Fix "Assigning instead of Comparing" in tst_QResourceManager::heavyDutyMultiThreadedAccess() Task-number: QTBUG-107693 Pick-to: 6.4 Change-Id: I018bf83dc7a3cc9d6faa654a73b2d460c3e4498a Reviewed-by: Mike Krus <mike.krus@kdab.com>
* ShaderParameterPack: check we only store a single UBO/SSBO per BlockBindingPaul Lemire2022-11-021-0/+62
| | | | | | | | | | | | | Since we cache ShaderParameterPacks over multiple frames, we need to ensure that we check that when setting a UBO/SSBO we don't already have an entry matching the block index. If that's the case we should simply replace the entry rather than append a new entry. Failing to do so results in appending a growing number of UBO entries for the same block. Pick-to: 6.4 6.2 5.15 Change-Id: Ie7535a80b9426ce2fd5ab6ebe16ea71bd7447750 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Quick3DNodeInstantiator: fix crash when using asyncPaul Lemire2022-10-272-0/+58
| | | | | | | | | | | | | | | | Something in the asynchronous creation of elements in QtQuick has been changed leading to elements of the instantiator being created out of order. QQmlInstantiator and friends had been updated at the time when the QtQuick changes were made but Quick3DNodeInstantiator was left out. This patch incorporate changes that have been made into QQmlInstantiator to correct out of order node creation. Task-number: QTBUG-56368 Pick-to: 6.4 6.2 5.15 Change-Id: I2aa7499e6dc08be329cd42ded7377acd4088e0c7 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-204-11/+11
| | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I1b3c7c4058726c55199fd8ba74b6d6890ad8dd93 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from container::count() and length() to size() - V4Marc Mutz2022-10-2066-644/+644
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); a.k.a qt-port-to-std-compatible-api V4 with config Scope: 'Container'. Change-Id: I3b040fa72968753048fd669c073ae80c3ba1bdad Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Use SPDX license identifiersLucie Gérard2022-10-121-27/+2
| | | | | | | | | Amends commit 2f1bc82b35209aacd8d214a3c7e8e725bee85de6. Some files were still missing. Task-number: QTBUG-67283 Change-Id: Ia16185d82a339fb83939a1d91ecacd717c19eb6e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-24262-262/+262
| | | | | | | Task-number: QTBUG-105718 Change-Id: I97fa27f60a8546ea3d73cc7daf1b728c615a1ab0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Don't use PUBLIC_LIBRARIES for tests and test helpersAlexandru Croitor2022-07-27228-228/+228
| | | | | Change-Id: I393161c3adef90f776572c41d03305d2aa3979f8 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* tst_Matrix4x4_AVX2: add a placement operator newThiago Macieira2022-07-181-0/+2
| | | | | | | | | Fixes a build error for me with upcoming changes: qmetatype.h:2350:65: error: no matching function for call to ‘tst_Matrix4x4_AVX2::operator new(sizetype, void*&)’ Change-Id: I36b24183fbd041179f2ffffd17026a5a0a10f312 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* tests: fix a bunch of -Wsign-compareMarc Mutz2022-07-1220-105/+107
| | | | | | Pick-to: 6.4 6.3 Change-Id: I603612ecd55c8ac92fc28152a3cc0e192b8b67f1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add license headers to cmake filesLucie Gérard2022-07-08262-0/+786
| | | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I141f5077ae0c11e1058de64d573ca33e2a308ccd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Qt3D Tests: includemocsMike Krus2022-06-2327-1/+64
| | | | | | | Task-number: QTBUG-103286 Pick-to: 6.3 6.2 5.15 Change-Id: I8e97b8d7f997fa42a791d0daebe5987e99c97b30 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use SPDX license identifiersLucie Gérard2022-06-22289-8564/+580
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I8105424281eed871037fa6c463871ca8829876b5 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix some compile warningsMike Krus2022-06-034-65/+67
| | | | | | | | | | Mostly unsafe type conversions, and replacing deprecated APIs. Still can't remove the not-clean-build flags because of bug in qtbase. Pick-to: 6.3 Change-Id: I1e305be2cdf52ccd62949c023c999be347810dd5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix missing includesVille Voutilainen2022-05-171-0/+1
| | | | | | | | | | | These popped up on a developer build of the newest dev branch. I don't know whether there's been header refactoring churn or whether the devs and CI use pch, but I certainly couldn't build without these fixes, on Linux with GCC 11. Pick-to: 6.3 6.2 Change-Id: Ic3529a33f4bc5c339b22c523d0be811ffb977c06 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Enable RHI backend by defaultMike Krus2022-03-231-0/+2
| | | | | | | | | | License for qtshadertools has been "fixed" to include LGPL so can now safely use it by default. Pick-to: 6.3 Change-Id: I6750458819405ee89653c1b1471eaba32b4170b6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove .prev_CMakeLists.txtKai Köhne2022-03-229-174/+0
| | | | | | | | These are leftovers from the qmake conversion. Pick-to: 6.3 Change-Id: Id80e21ed99bd67b1d05586f596a9585526d47e7e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Skip QScene2D unit tests following changes of behavior introduced in qtbasePaul Lemire2022-03-221-0/+4
| | | | | | | | | | | | The test is crashing as a result of the changes made by commit ba6c1d2785ca6d8a8b162abcd9d978ab0c52ea2d in qtbase (QProperty: fix threading issues) Will investigate a real fix later. Change-Id: If7d77bae00edbb16d3a1cd11f5969f1bc540ac81 Task-number: QTBUG-101949 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* QGeometryFactory: don't make op== virtualMarc Mutz2021-11-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | That's too clever, and it backfires with compilation errors in C++20 mode: qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:129:29: error: ambiguous overload for ‘operator==’ (operand types are ‘MeshFunctorA’ and ‘MeshFunctorB’) 129 | QVERIFY(!(*functorA == *functorB)); | ~~~~~~~~~ ^~ ~~~~~~~~~ | | | | MeshFunctorA MeshFunctorB qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:72:10: note: candidate: ‘virtual bool MeshFunctorB::operator==(const Qt3DCore::QGeometryFactory&) const’ (reversed) 72 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override | ^~~~~~~~ qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:50:10: note: candidate: ‘virtual bool MeshFunctorA::operator==(const Qt3DCore::QGeometryFactory&) const’ 50 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override | ^~~~~~~~ Fix by providing a symmetric operator== for QGeometryFactory that delegates to a virtual equals() method. Pick-to: 6.2 5.15 Change-Id: I23d29ad1b16075629132f2b4757c5810d5615a36 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* ComputeCommand: call markDirty(ComputeDirty) when enabled changesPaul Lemire2021-11-031-0/+16
| | | | | | | | | | | | | | | | | | | | | | | When using Manual run mode on a QComputeCommand, we rely on the enabled property changing to enable/disable the backend ComputeCommand for a given set of frames. Since we weren't setting any dirty flag when the enabled property changed, Qt 3D was not rebuilding the list of active compute commands but rather using the one stored in its cache. This resulted in the ComputeCommand, now disabled, to still be called for execution until something else triggered a command rebuild. The renderer calls ComputeDirty after it has executed a compute call. This explains why eventually we only had 2 calls (and not a perpetual loop) when calling trigger(1). One was the valid call, followed by the invalid one (and then the command list got rebuilt because of the ComputeDirty flag set by the renderer). Task-number: QTBUG-86493 Change-Id: I7b31606a03609dc13294256b1dac89ee86730ba1 Pick-to: 6.2 5.15 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* CMake: Bump almost all cmake_minimum_required calls to 3.16Alexandru Croitor2021-09-221-1/+1
| | | | | | | | | | | | | Needed for subsequent change that will check and error out if the version is lower than 3.16. We do that to ensure all policies introduced by CMake up to version 3.16 have their behavior set to NEW. Pick-to: 6.2 Task-number: QTBUG-95018 Change-Id: I29beb4b263c915d3ff5312a3b1ceb45e8fdc34e0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CMake: Ensure standalone tests are builtAlexandru Croitor2021-08-233-5/+15
| | | | | | | | | | | | | | | | | When Qt's CI configures standalone tests with qt-internal-configure-tests the value of QT_FEATURE_qt3d_extra is not available before actually calling qt_build_tests. Move the check into each test subdirectory. Although it's likely the check was too coarse-grained in the first place and should be changed into something more specific that doesn't exclude tests that shouldn't be excluded. Pick-to: 6.2 Change-Id: Ic267b3a9c7f078c60699b709591a3d0ae8bb3018 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Replace QT_BEGIN_LICENSE:LGPL3 headerKai Köhne2021-08-105-50/+65
| | | | | | | | | | Replace outdated LGPL3 with LGPL header in src, and GPL3-EXCEPT in tests. Task-number: QTBUG-90321 Pick-to: 6.2 Change-Id: I3f6491cb402a993a4341a983c780337e8658c256 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Picking: reuse LayerFilterJob to perform layer filteringPaul Lemire2021-08-095-0/+528
| | | | | | | | | | This fixes picking for cases where multiple LayerFilters using different filter modes are present in the FrameGraph. This also reduces code duplication. Pick-to: 6.2 6.1 5.15 Change-Id: I19d0c2c5777930820ab950cbf2bfe08ef7d2484f Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix tests that have to run with opengl backendPaul Lemire2021-07-292-0/+10
| | | | | | Pick-to: 6.2 6.1 Change-Id: Ia7e3b84667d78f45195702fc131f0d3d88d1c7e7 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix for QShaderNode fix that selected highest version number of a rulePaul Lemire2021-07-291-2/+2
| | | | | | | | | | | The rule selection still has to be made from last added rule to first so that format.support works correctly. - Update QShaderNode unit tests Pick-to: 6.2 6.1 5.15 Change-Id: I47af898ee0d82e91009efccf1dca9937feaca717 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix tst_aspect following rerun of BV jobs when entity enabled changedPaul Lemire2021-07-291-0/+4
| | | | | | Change-Id: I067f5861767a7d2cdf078d9a1c04e8721e5f7008 Pick-to: 6.2 6.1 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix BV tests following changes in BV propagationPaul Lemire2021-07-293-18/+27
| | | | | | Pick-to: 6.2 6.1 Change-Id: Ifa53378c930b071231dab3d293e8bb1ed4c71b46 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Partially Revert "Remove custom gltf tool"Mike Krus2021-06-204-0/+308
| | | | | | | | | In b9994cd88925ca012d66e52d033cc9a3a909fc7a, we removed the tool and the parser. This restores the parser, but the tool was unmaintained. Pick-to: 6.1 6.2 Change-Id: I168e720b7fdf65aafebb9652933d8093f5449bdc Reviewed-by: Paul Lemire <paul.lemire@kdab.com>