summaryrefslogtreecommitdiffstats
path: root/src/logic
Commit message (Collapse)AuthorAgeFilesLines
* Use QList instead of QVector in implementation and docsJarek Kobus2020-07-093-5/+5
| | | | | | | | | Fix some const correctness. Use list-initialization. Task-number: QTBUG-84469 Change-Id: I9c56742581f48f89a3b02e4121fae414117c7a25 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAspectJob: switch to using std::vectorPaul Lemire2020-07-022-5/+4
| | | | | Change-Id: I1314bd4d37ad17442ebd6287f571e41bc5d25490 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Mark CallbackJob as not required to runPaul Lemire2020-06-302-0/+6
| | | | | | | We only need it for the postFrame Change-Id: I94076933f2fb3a4afcea57e589ffb2d4bf2b27c5 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QLogicAspect: use QAspectJob::postFrame to drive FrameAction updatesPaul Lemire2020-06-256-59/+12
| | | | | | Change-Id: I0707d1f971084fc6671aeb4bd1264c77f6406061 Pick-to: 5.15 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Add ; to Q_UNUSEDLars Schmertmann2020-06-241-1/+1
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I2e126d0be8efa0aa89c4a91a681b549f38c8cec4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix handling of SSE/AVX sourceMike Krus2020-06-171-1/+2
| | | | | | | | | | | | | | | | QtBase has macro to enable SSE handling on specific source files. But Qt3D has some classes which use those specific instruction set in headers, so any file that includes those should also have the right command line options. This adds the right command line arguments to the 3DCorePrivate target so that anything that depends on that will have the right options. 3DCore is fine because it knows about the special headers files which were tagged. Change-Id: Ia061750121fb2ab5c93600c08a5464179ca2c228 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add missing overrideAlexander Volkov2020-05-252-2/+2
| | | | | Change-Id: I6a2a4577b4c45d7ac601d2693044c3817e245111 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add support for building with CMakeMike Krus2020-05-221-0/+47
| | | | | Change-Id: If6c887c6356a160a5f3fb906d38a341fff0c7b29 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Add QBackendNode::syncFromFrontEnd to public APIMike Krus2020-02-272-10/+0
| | | | | | | | | Removes need to per aspect overrides of QAbstractAspectPrivate::syncDirtyFrontEndNode which was required in Qt5 to preserve BC. Change-Id: Ib3b05af1c3ded1c985d35e4dec0fe203cdc907cb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove custom deprecation macroPaul Lemire2020-02-121-1/+0
| | | | | Change-Id: If9fdd63d58b2f9d41dc3a6c99d1dde2245506d15 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove deprecated classes and functionsPaul Lemire2020-02-115-18/+26
| | | | | | | Mostly old messaging API Change-Id: I17eb2206b2ede56d2f7d36375d5e711d6149019f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge remote-tracking branch '5.14' into 5.15Mike Krus2020-02-052-1/+4
|\ | | | | | | Change-Id: I76b7e29d240b89e27ef509b30cc3cd622f281fc9
| * Fix potential crash when logic aspect exitsMike Krus2020-01-272-1/+4
| | | | | | | | | | | | | | | | | | Logic aspect does work in response to posted event. By that time the aspect may be gone (due to normal shutdown) and the scene pointer be invalid. Change-Id: Ia9454532a7c95cd3c00e8b225b8d95c178471a67 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Fix deprecation handlingMike Krus2020-01-141-0/+1
| | | | | | | | | | | | Change-Id: If981333f7a3d78028d4f08c59867453d4192b955 Task-number: QTBUG-81058 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Make tracing a runtime optionMike Krus2019-12-131-1/+1
|/ | | | | | | | | | | - Moved most of the code QSystemInformationService (private class for now) - Tracing can be enabled by setting QT3D_TRACE_ENABLED or calling QSystemInformationService::setTraceEnabled(bool) - Introduced QTaskLogger class to easy logging (RAII) Change-Id: I2a3e08e4371fcee3e9ef3cf575725f13f57d1a94 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix Coverity warningsMike Krus2019-10-211-0/+2
| | | | | Change-Id: I00c875b48d838170fddf0b92f0ac5592828c6f0f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove the Aspect ThreadPaul Lemire2019-08-074-14/+1
| | | | | | | | | | | | | | | | | | This now makes the Qt3D simulation loop run in the Main Thread. In theory having the Aspect Thread allowed Qt3D to continue rendering even if the main thread got locked. In practice however this leads to a large amount of complexities in the Qt3D implementations and provides little value as in most cases blocking the main thread would block animations driven by frontend nodes. Removing the Aspect Thread will allow to remove the backend tree copies each aspect had to make which will allow to reduce memory. In addition, getting direct access to frontend nodes, will now be possible without introducing races which should allow to make more optimizations and reduce latencies on some operations. Change-Id: I80e4cd6427de06ddedfa1bb50d40710b91867b24 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-161-2/+2
|\ | | | | | | Change-Id: Ibc90d50504e250a6f90f1c6f179c41cafb7f908b
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-111-2/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iabe445fa892f2022aa1e58d1783a2d588d6b6a87
| | * Document unit for FrameAction::triggeredMichael Brasser2019-07-031-2/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-74165 Change-Id: I4d3de42cddd8f6e1e6729cc16a52e135ab7fa3b1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Eradicate Q_FOREACH loops and mark the module cleanMarc Mutz2019-05-221-3/+0
|/ / | | | | | | | | | | | | | | | | | | The only noteworth change is where a loop around spy.events modified the container using takeFirst(). There was no reason to do so, so it was changed to use the loop variable instead of the result of taking. Change-Id: I02c62a7c2efc5d042c6e669fe5daddd7da7e85d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Switch export macros to standard formKai Koehne2019-04-023-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Qt expects the export macros to have Q_ prefixes, otherwise the symbol versioning script won't find them and mark them. Also remove non-exising QT3DLOGIC_PRIVATE_EXPORT macro from src/doc/qt3d.qdocconf Task-number: QTBUG-74752 Change-Id: I71b9e85ff09c002fb283824aa51a5a8f50e937f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Fix GCC warning about cv qualifiers in castThiago Macieira2019-02-271-1/+1
|/ | | | | | | qinputaspect.cpp:226:56: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers] Change-Id: Id061f35c088044b69a15fffd15818f24191f9d72 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Fix various documentation warningsTopi Reinio2018-11-071-0/+1
| | | | | Change-Id: I3eecd06bba9438b5aa472f3ba7ecaecdeda985e2 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Doc: Add doc to undocumented methodsNico Vertriest2018-11-011-0/+5
| | | | | | | | | | | | | - qcomponent.cpp - qbackendnode.cpp - qjoint.cpp - qskeletonloader.cpp - qframeaction.cpp - qscene2d.h - qrenderaspect.cpp Change-Id: I25881dee19d2d01f948bfaf4a156a97f6caaea73 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Fix documentation warnings related to Clang QDoc parserTopi Reinio2018-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Since Qt 5.11, QDoc uses Clang to parse C++ documentation. Clang requires a module header, as well as proper include paths, to build a precompiled header and process the sources. To do this, add a custom module header that pulls in all Qt 3D modules - this way, we can continue using a single documentation project to covers all of Qt 3D. Fix all documentation warnings are caused by missing namespaces, QML module/type names and typos, as well as a number of linking problems and other minor issues. After this change, the remaining documentation issues consist of 'No documentation for ...' warnings. Task-number: QTBUG-67790 Change-Id: I38b91163c475a00cc1893e793240470c5409eb57 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Revert "Doc: Divide documentation into submodules"Topi Reinio2018-04-203-125/+0
| | | | | | | | | | | This reverts commit c8964b8f1cf56718a189b0f57bad446cec30a8b8. QDoc now supports documentation-specific custom module headers and include headers that allow us to keep using a single documentation project that covers multiple modules. Change-Id: I84706a7149097a6b03f0f266e55d6f712a6c773e Reviewed-by: Martin Smith <martin.smith@qt.io>
* Document state of the Qt 3D modulesKai Koehne2018-03-121-0/+4
| | | | | | | | | | | | | Do make it explicit which ones are still in development also in the landing page, and add \preliminary and \since tags (for released and TP modules, respectively). Note that the \preliminary, \since tags currently do not work for \qmlmodule, which hopefully gets fixed at one point: QTBUG-65963. Change-Id: I6648311c38f331286be37eefa60794984cd239b7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Divide documentation into submodulesTopi Reinio2018-02-093-0/+121
| | | | | | | | | | | | | | | | | QDoc in Qt 5.11 will use Clang (libclang) to parse C++ documentation. In order to do that, Clang needs to have the include paths available when parsing source; qmake provides that information to QDoc but only when the documentation project is located under the correct module (source) path. By having dedicated doc projects for Qt 3D Core, Render, Input, etc. the number of documentation warnings is signicantly reduced. A top-level 'Qt 3D' project is still kept, and contains the landing page, overview, examples, and top-level 'C++ classes' and 'QML types' pages that list all types documented across all Qt 3D submodules. Change-Id: Id5936de36f31c2a8764a64e1e9d7ae0d10e8ab14 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Merge branch '5.10' into devSean Harmer2018-01-172-3/+2
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I248aa369ba98659a61e563fd29cc811c76ea1e2d
| * Merge branch '5.9' into 5.10Sean Harmer2018-01-122-3/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/animation/backend/handle_types_p.h src/extras/defaults/qtexturematerial.h src/render/backend/entity_p.h src/render/backend/handle_types_p.h src/render/backend/renderview.cpp src/render/io/scenemanager.cpp Change-Id: Ic145062cc98360e9067fd60f0992c7a6b51e41bb
| | * Get rid of the INDEXBITS template argument for QHandleLars Knoll2017-12-132-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's not required anymore, as the resource manager can grow as needed. Change-Id: If509de7f2ef90e1af9729d8fc60d7ecb08ede687 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Remove hardcoded C++ version for MinGW/GCCKai Koehne2018-01-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was apparently needed for older MinGW-w64 headers that did not properly define some common system functions otherwise. Anyhow, it is not required anymore for newer MinGW-w64, and actually breaks compilation with gcc 6 and newer: There we enable shift-overflow=2, which also warns about shifting into the sign bit for C++11, but not for C++14. Task-number: QTBUG-60249 Change-Id: I53bc858c6f8baf9b60940904b3b28f7a49ab28e6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Replace Q_DECL_FINAL with finalKevin Funk2017-09-251-1/+1
| | | | | | | | | | | | | | | Change-Id: Ia80d1cb9cc96d76f8b367caa725c59a70ae0a4d5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-254-9/+9
|/ / | | | | | | | | Change-Id: I92c955068e233c50043ad7d06a32300dd386c24d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch '5.9' into 5.10Sean Harmer2017-09-121-2/+1
|\| | | | | | | Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
| * Get rid of the AllocationPolicy template argument in the ResourceManagerLars Knoll2017-09-111-2/+1
| | | | | | | | | | | | | | We always use the same policy anyway. Change-Id: I3349b8c19ce0e6239b140dfac7ba66f8dda1b9be Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Only execute QFrameAction job if there are actionsJan Marker2017-08-223-1/+10
|/ | | | | Change-Id: Ie90d686a1161d487777cbdf758a276e34134653f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Logic: only execute FrameActions which are enabledPaul Lemire2017-05-051-1/+1
| | | | | | Change-Id: Ib89f6a4eae1b875a17c124337e0e4283d5d62b9e Task-number: QTBUG-60584 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix spelling in comments and docsAndy Maloney2017-04-061-1/+1
| | | | | Change-Id: Ib93da3bc94ee43980d1190955c8c37e886c4b0fa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Coding convention fix for Src/logicRobert Brock2017-03-0210-22/+33
| | | | | | | | Reordering the header includes to comply with Qt coding conventions Task-number: QTBUG-56185 Change-Id: I900997e93ba0e25351e74a91d4d43c5123431b97 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove CONFIG+=static when gcov is enabledPaul Lemire2016-11-231-1/+0
| | | | | | | | Is actually counterproductive as we end up with almost no coverage data. Change-Id: Ib3beed103586cc68be90459de23818c2fbcb26c8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Update QFrameAction docsAntti Määttä2016-09-051-8/+18
| | | | | | Change-Id: I4bcde9ed1e1ab8a9d127dd1d4c75d30f8c342641 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* CallbackJob set profiling typePaul Lemire2016-06-281-0/+2
| | | | | Change-Id: I2939e9104040f946cfdcfea2829556abf8f9f210 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Logic: add job types for profilingPaul Lemire2016-06-282-1/+78
| | | | | Change-Id: I7e8a35def338b8fd2bbce6bf296cae1ce8cb296b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Missing Signal Doc for QFrameActionColin Ogilvie2016-05-282-1/+12
| | | | | | Task-number: QTBUG-46037 Change-Id: I4e99403ecd36619f92a2329d1db3e67bcd5ec057 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* added skeleton doc to logic moduleColin Ogilvie2016-05-281-0/+14
| | | | | | Task-number: QTBUG-46037 Change-Id: Id38721e9f0c4dd57aa1135253e30069ec9823bc9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Avoid changing access rights to virtual methodsMike Krus2016-05-231-3/+1
| | | | | | | | Added QRenderAspectTester as friend for testing Task-number: QTBUG-53569 Change-Id: Ia7adde188065a2ba02b7fd480fcfe545ccbf4720 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* De-inline dtors of public polymorphic classesMarc Mutz2016-05-192-0/+6
| | | | | | | | | | | | | | By making the destructor (usually the first non-inline, non-pure, virtual function, and therefore the trigger for most compilers to emit the vtable and type_info structures for the class in that TU) out-of-line, vtables and, more importantly, type_info structures for the class are pinned to a single TU. This prevents false negative dynamic_cast and catch evaluation. It also allows to add code to them later, if necessary. Change-Id: I0da301cd788162abba6cdbbb21910090a22adb9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Delegate to the correct ctor in QLogicAspectSean Harmer2016-05-151-1/+1
| | | | | Change-Id: I09a4be49c268a7f671242f23e497f6e41cf960cb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>