summaryrefslogtreecommitdiffstats
path: root/src/core/jobs/qaspectjob_p.h
Commit message (Collapse)AuthorAgeFilesLines
* QAspectJob: switch to using std::vectorPaul Lemire2020-07-021-1/+1
| | | | | Change-Id: I1314bd4d37ad17442ebd6287f571e41bc5d25490 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Animations: fix race condition on running clip animators vectorPaul Lemire2020-04-201-0/+2
| | | | | | | | | | | Was caused by incorrect dependencies on the jobs. Introduced a clearDependencies on QAspectJobPrivate to clear all dependencies as removeDepencies(emptyVector) only removes null dependencies. Change-Id: I8119a9edaf841db6c5ab2a971dc5640da2192cba Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Make QAspectJobPrivate::isRequired() constPaul Lemire2020-03-171-1/+1
| | | | | Change-Id: I8747c5714b4a25523835d558fa96888ea0ebcfed Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Add ability to dump job graph to dot fileMike Krus2020-02-141-1/+13
| | | | | | | | | Can be triggered from the overlay API and using sending a "dump jobs" command to the aspect engine. Gets saved in the current working directory. Change-Id: I19fc94a1215187c1d7eb9d1f3b13b968939cc917 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add flag to jobs to indicate if they need to run or notMike Krus2020-02-141-0/+1
| | | | | | | | | | | | | | | | | | | Once aspect jobs are inserted in the queue, they will always run, but some of them don't actually have anything to do at every frame. Ideally, when building a graph of jobs, you would include only jobs that are required. However this makes building the graph more complicated. This introduces a method on the private job pimple which indicated if the job actually has something to do or not. When the scheduler is ready to run a job, it will call that method. If there's nothing to do, then the job will be skipped and the dependent jobs (if any) run instead. Change-Id: Iaa8d3d064f03d8c0bab407879a9acea292a06784 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Make tracing a runtime optionMike Krus2019-12-131-60/+7
| | | | | | | | | | | - 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>
* Revert "Update jobs to remove post FF changes"Mike Krus2019-12-031-4/+0
| | | | | | | d521b994450f0a4febbd789ba66701ba24fdbe22 Change-Id: Ibe6d608e8400e69b50775c0eb156e74e4e90b25c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update jobs to remove post FF changesMike Krus2019-10-221-0/+4
| | | | | | | Made the d_ptr private again. Change-Id: Ia5ba23b03cd22290d5c922e9a1c657a67ff98977 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add callback on aspect job when all jobs are completev5.14.0-beta1Mike Krus2019-10-011-0/+4
| | | | | | | | This gets called in the main so it's safe for jobs to propagate results from the run at this point. Change-Id: I7d2f31472ec1fcd1801dcb9ded735f9f1e5214f9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Switch export macros to standard formKai Koehne2019-04-021-1/+1
| | | | | | | | | | | | 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>
* Properly use QT_CONFIG for Qt3D profiling optionsPaul Lemire2017-08-031-3/+3
| | | | | | Change-Id: Id3bb7bb657f3d48c6c4cd3d5e86c43ad64dca791 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Qt3D: add configure option for jobs and GL profilingPaul Lemire2017-04-051-0/+1
| | | | | Change-Id: Idb1f54d231e469670b24b2b2aecedbfc1cd0f956 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fixes includes to comply with coding conventions for Src/CoreRobert Brock2017-03-311-1/+2
| | | | | | | | Reordering the header includes to comply with Qt coding conventions Task-number: QTBUG-56185 Change-Id: I3943678c183c4ef46d403e0fff878c3cad964dfa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove compile warnings when not defining QT3D_JOBS_RUN_STATSPaul Lemire2016-08-191-1/+4
| | | | | Change-Id: Ibccce418c750eada3a5bcabf7bd74f37b960b35a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Job Traces: add support for Submission framesPaul Lemire2016-07-171-1/+14
| | | | | | | | | We now have worker frames for jobs and submission frames for render command submissions. Since both can happen concurrently, slightly adjusted what needed to be. Change-Id: I355bb6540090b4f569d38f4989dc9911dc381974 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move SET_JOB_RUN_STAT_TYPE macro to qaspectjob_p.hPaul Lemire2016-06-281-0/+14
| | | | | | | This will allow each aspect to register their job types Change-Id: I7ab1036f2e05f01f3c4ec8efcc39b5c8ebfaad36 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Qt3D job run statsPaul Lemire2016-03-041-2/+35
| | | | | | | | | | | Add a way to write to a trace.qt3d file stats about the frame jobs Then use the qt3dprofiler tool to visualize the trace file This is enabled by defining QT3D_JOBS_RUN_STATS at compile time Change-Id: I4d2faaf5189cd91ecc88b7ca0ca3e3e1f2f60498 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Unify license header usageAntti Kokko2016-01-261-11/+14
| | | | | | | Update old header.LGPL3 to header.LGPL Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Move Qt3DCore into Qt3DCore namespaceSean Harmer2015-10-131-4/+4
| | | | | | | Update other aspects, tests and examples accordingly. Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add "We mean it" warnings to private headersSean Harmer2015-10-131-0/+11
| | | | | Change-Id: Ic4a69123255c33990765ea3601e01914c2d8cb70 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Properly initialize q_ptr (or avoid where it is not needed)Konstantin Ritt2015-05-201-3/+1
| | | | | | | Referencing a partially-constructed object is typically a bad design. Change-Id: I48ef92452202f6c8c0014e17efd20e2ee2ae7e40 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Copyright header change.Mika Salmela2015-02-091-19/+14
| | | | | | | | As for preparation for Qt5.5 release the copyright header is updated to correspond the current license requirements. Change-Id: I36632918b66f455539453b42c369689fb11298ec Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QJob: refactoredPaul Lemire2014-10-181-0/+68
*dpointer *renamed to QAspectJob *return QVector of dependencies instead of const QVector & Change-Id: I8324952102cba8407e63b78353ffbc23642e63a5 Task-number: QTBUG-41526 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>