summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Implement getting list of aspects from system information classMike Krus2019-12-138-27/+53
| | | | | | | | | | | | | | | Change-Id: I999dfbb5c139ff8af2b1de9255f76ac132ae2dc0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Fix deprecation syntaxMike Krus2019-12-133-3/+3
| | | | | | | | | | | | | | | Change-Id: I9fe77a56fdc754132cf5da0e3e2361f62dc9a857 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Make tracing a runtime optionMike Krus2019-12-1313-293/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
| * | Deprecate message APIMike Krus2019-12-0925-72/+86
| | | | | | | | | | | | | | | | | | | | | | | | Deprecates the message classes and the public APIs to send/receive them. (deprecates the constructors as deprecating classes breaks syncqt) Change-Id: I4908f15c3c5f1d63969a0f2e11f6ecb22e2e3748 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-072-6/+9
| |\| | | | | | | | | | Change-Id: I6682d27cc7c4f54158fa6813b1de6edce77bea33
| | * Make QThreadPooler use the global thread poolPaul Lemire2019-12-022-6/+9
| | | | | | | | | | | | | | | | | | | | | This should ensure we don't have too many idling threads Change-Id: Ia533fc07140a4944a1149aca1565b0d8ae3cda22 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Make NodeRelationshipChange struct privateMike Krus2019-12-067-27/+13
| | | | | | | | | | | | | | | | | | | | | Was private in 5.14, should remain so in 5.15 Change-Id: I74231d349e60f498d8ffb4ff39cc1e95fa3f0567 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Fix usages of text stream operatorsAlexandru Croitor2019-12-063-14/+14
| | | | | | | | | | | | | | | | | | Change-Id: I8f3fe9475749f10f33c8eb750befa8845ccc37d6 (cherry picked from commit 58db7d01e0d424fdf46baa70e2e41b8009429c78) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Add Q3D_DECL_DEPRECATED macroMike Krus2019-12-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This defines to empty when building Qt3D, and deprecated attribute otherwise. Change-Id: Ic36a020a7c43962ac4313efd72a941e5f74f4e99 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Revert "Fix post FF API changes"Mike Krus2019-12-0310-32/+54
| | | | | | | | | | | | | | | | | | | | | 84766ed9098f10efc53e4e43a75eef38fce7fbf6 Change-Id: I12341ec1b7bc68a7586c6671aa7b8f21caed17e0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Revert "Update jobs to remove post FF changes"Mike Krus2019-12-033-10/+1
| | | | | | | | | | | | | | | | | | | | | d521b994450f0a4febbd789ba66701ba24fdbe22 Change-Id: Ibe6d608e8400e69b50775c0eb156e74e4e90b25c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-165-1/+11
| |\| | | | | | | | | | Change-Id: I3a0df1d21f3556afc9f26eab13fcc525cf584e7e
| | * Fix compile warning (again)Mike Krus2019-11-151-1/+1
| | | | | | | | | | | | | | | Change-Id: Ic20d37a8bf875247c1af31fa4ded757564f953fc Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Disable threaded rendering macOS 10.14 and laterMike Krus2019-11-144-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Making context current from background thread crashes on Catalina. In this case, we disable threaded rendering. This implies changes in the order in which initialization and rendering happens. We can't just rely on rendering type since Scene3D is not threaded but has it's own initialization logic. Ideally 5.15 should introduce proper API since currently manually setting a QWindow based app to use Synchronous rendering will hang at initialization time. Task-number: QTBUG-80049 Change-Id: Ic346a44d8e0add8232a16129e878423f4cf2f4f1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Merge remote-tracking branch 'origin/5.13' into 5.14Liang Qi2019-11-141-1/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/nodes/qnode_p.h src/render/renderers/opengl/renderer/renderview.cpp Change-Id: I24483612f9f395e9ffc0bd6163bbfa092b13b7cb
| | | * QNode: stop using hash<node,connection> for bookkeeping5.13Paul Lemire2019-11-042-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is totally valid to have actually the same node used for 2 distinct connections (e.g setting 2 different node properties to the same node). With the hash, the second setter call would overwrite the first connection resulting in leaving a dangling connection around potentially resulting in crashes. Instead use a QVector<pair<node, connection>> and adjust code accordingly. Change-Id: I49870c409c3f7b629c8f1bdfcb8757a904db2490 Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit 906f8a62f89a7ce2343a155e6db62616e66dc14b) Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Doc: Fix documentation warningsTopi Reinio2019-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add (basic) documentation for Qt3DAnimation::QAnimationCallback. - Add missing namespace qualifiers for \class, \fn, \instantiates, \sa, and \property commands. - Remove linking to example file pages, as QDoc no longe treats them as linkable targets. - Fix function/QML method parameter documentation - Fix missing \qmlproperty types - Fix linking to QKeyEvent in QtGui. - Move Qt3DRender::Quick namespace documentation to where QDoc can see it. - Add enum documentation for Qt3DRender::QBlitFramebuffer::InterpolationMethod and Qt3DRender::QMesh::Status. - Other minor fixes This brings the current warning count to zero. Fixes: QTBUG-79822 Change-Id: I1154a7f9c34917a3f240e99da0e7a300be7d65a0 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-092-9/+17
| |\| | | | | | | | | | | | | | Change-Id: I33c8bbabb3f164b3e3d56ca8902222ed6d3a9647
| | * | Fix compile warningsMike Krus2019-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Iac18b5fddec79295dd9e4249fd16eb2f121fe771 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | QNode: stop using hash<node,connection> for bookkeepingv5.14.0-beta3Paul Lemire2019-11-042-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is totally valid to have actually the same node used for 2 distinct connections (e.g setting 2 different node properties to the same node). With the hash, the second setter call would overwrite the first connection resulting in leaving a dangling connection around potentially resulting in crashes. Instead use a QVector<pair<node, connection>> and adjust code accordingly. Change-Id: I49870c409c3f7b629c8f1bdfcb8757a904db2490 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | | Don't try to load binary json GLTF data if !QT_CONFIG(binaryjson)Ulf Hermann2019-11-071-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic42a59c1dfea50ba152922bf4edbddc64b2d0f73 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-022-1/+10
| |\| | | | | | | | | | | | | | Change-Id: I8564907ed5efd7617be383017fe12ffa7cd3a0d1
| | * | Fix frame advance serviceMike Krus2019-10-281-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on macOS, blocking the main thread waiting for current frame to finish can lead to events flooding the event queue. In particular, moving the mouse over the window causes the QBasicTimer used by the uniform timer that drives (qtquick) animations to no longer fire. Use tryAcquire to get the resources, waiting a short while to avoid busy main thread. Task-number: QTBUG-79379 Change-Id: I930aa8ad7d5a15600d7ac7af93e6e72321457089 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | QNode::updateNode: ensure postConstructorInit of node is calledPaul Lemire2019-10-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a QNode subclass is created doing Subclass(parent) with parent != nullptr QNodePrivate::_q_postContrustorInit is called through a queued invocation due to the fact that the QNode ctor is called before the subclass ctor is (and we need the class to be fully constructed to do proper initialization). When adding a QNode subclass created as described above, and immediately referencing it as a property of another QNode, we can end up in cases where the backend gets aware of the node being referenced in the relationship and tries to create its backend. Unfortunately due to the queued invocation of _q_postConstructorInit, the frontend node has yet to be fully initialized, resulting in the creation of the backend node to assert/crash. Therefore, when updateNode is called (whenever a subnode is referenced in a relationship) we now ensure that postConstructorInit gets (or has already been) called. Change-Id: Iea6e0b5a59c676f5db2946bec2f8c345accc32b0 Task-number: QTBUG-79350 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | | Accept CBOR as optional format in gltf dataUlf Hermann2019-10-292-0/+79
| |/ / | | | | | | | | | | | | Change-Id: I8e64f061147af10a0d017238664c483724047059 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Fix skeleton loadingMike Krus2019-10-252-16/+23
| | | | | | | | | | | | | | | | | | | | | | | | Set the nodes created on the backend properly (assigning parent) so that the backend nodes get created before the second round of updates. Change-Id: Ia8ac9aacfc6bdb8938d07dbf714d471b5ddc4999 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Revert removal of more sceneChanged methodsMike Krus2019-10-242-0/+9
| | | | | | | | | | | | | | | | | | | | | Removal breaks BC Change-Id: I8c324253c3a39c8fd74bf4cc14462f76cd2e4f5e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Update jobs to remove post FF changesMike Krus2019-10-223-1/+10
| | | | | | | | | | | | | | | | | | | | | Made the d_ptr private again. Change-Id: Ia5ba23b03cd22290d5c922e9a1c657a67ff98977 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Fix post FF API changesMike Krus2019-10-2210-54/+33
| | | | | | | | | | | | | | | Change-Id: I347f6df41c0a4f2295831e78248669b4a2d6b5ef Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Restore sceneChangeEvent overload that were removedPaul Lemire2019-10-222-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Not BIC compatible so they must stay until Qt6. Added TODO above them to make it easier to track for Qt6. Change-Id: Ia1adba25be5d55d3fa836727877c7c1f7346b668 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Remove remaining messaging code in QSkeletonLoaderMike Krus2019-10-221-12/+0
| | | | | | | | | | | | | | | | | | | | | And matching unit tests Change-Id: Iff0b13b2ad9ff07d08c767f4b20de2a1685a5570 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Remove old code from animation classes & update testsMike Krus2019-10-212-12/+0
| | | | | | | | | | | | | | | Change-Id: Ic91a4f168172d6f34d858488e6fc170e8ed875f9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Fix Coverity warningsMike Krus2019-10-216-1/+7
| | | | | | | | | | | | | | | Change-Id: I00c875b48d838170fddf0b92f0ac5592828c6f0f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Fix build and warningsMike Krus2020-01-289-2058/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - QOpenGLDebugLogger moved to separate module - QList == QVector - Removed circular buffer and frame allocator - Various warnings Change-Id: I7caf55779c34d66c9d075e5191872c0a2ac6ddce Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-261-1/+1
|\| | | | | | | | | | | Change-Id: I0a9fdfe15c620b8a0d58137ca22bab5e246aab2a
| * | Update QScene2D to use direct syncMike Krus2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: Iba2fa5ce9d295706fc50f904cac68f00bd8f02b7 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-1926-40/+256
|\| | | | | | | | | | | Change-Id: I45be7ae8399e3b27d1ac55ccfed2fa42a872ac23
| * | Clean QJoint message handlingMike Krus2019-10-111-3/+2
| | | | | | | | | | | | | | | Change-Id: Ib09024017a2d213e50b3acc89d7c411728eb1869 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Update LoadSkeletonJob to use direct syncMike Krus2019-10-081-0/+1
| | | | | | | | | | | | | | | Change-Id: I5622f9784628b7217f6e37c700ac314b7264f439 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Update animation evaluation jobs to use direct syncMike Krus2019-10-082-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Animation data is now stored in the job which propagates them to the frontend at the end of the frame. Animated properties are passed using Qt's property system. Animated poses are passed via the frontend skeleton node. Syncing on new frame will take care of propagating both for use in other aspects. Callbacks are called by the job directly or stored and invoked on the main thread depending on the callback setting. Change-Id: I78675715799300bc1b27f854f1a445c00a2ac734 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | QChangeArbiter: emit receivedChange when frontend node is dirtyPaul Lemire2019-10-071-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise when using Scene3D rendering, we might not renderer when using the OnDemand policy. Change-Id: I32b840751ed10661acef1fb37c827a9ad6f0ff49 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Remove use of node/components added/removed messagesMike Krus2019-10-0413-22/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce mechanism to notify backend nodes of changes in relationship between nodes. If a component is added or removed from an entity, or if a node is added or removed from a property of another node, then just rely on the node being marked as dirty when syncing takes place. For nodes that do not support syncing, messages are delivered as before but allocated on the stack rather than the heap. Change-Id: I06affac77e42a9998d9c7f44e231c7724c52b320 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Add accessor to retrieve frontend node from an idMike Krus2019-10-022-0/+22
| | | | | | | | | | | | | | | | | | | | | Useful later to sync backend changes back to the frontend. Change-Id: I874d140fc97462b8e186b66c882647db26d5678e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Fix missing exportsMike Krus2019-10-026-6/+6
| | | | | | | | | | | | | | | Change-Id: Ibf24099223bd35948f50a492e0d754f6f680a3db Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Add callback on aspect job when all jobs are completev5.14.0-beta1Mike Krus2019-10-014-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Clean up includesMike Krus2019-10-014-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove include statements for classes that are no longer used. Makes it easier to find remaining use cases that need addressed before complete removal in Qt 6. Change-Id: I60529ba1929ad64b162d3847d5df47cde2a60dad Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-121-0/+3
|\| | | | | | | | | | | Change-Id: Iccba3193d6b7064f0cc04124e495dd36a2f19bcb
| * | Update QCameraLens to use direct syncPaul Lemire2019-09-241-0/+3
| | | | | | | | | | | | | | | Change-Id: I5b1af685c640c218d3720d5339b14dfc913e01c5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 'origin/wip/qt6' into devSimon Hausmann2019-10-043-14/+14
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I374bd16216ab6aa9406125c8a0c084eb9cfedb61
| * | Merge remote-tracking branch 'origin/dev' into wip/qt6Alexandru Croitor2019-08-093-28/+24
| |\ \ | | | | | | | | | | | | Change-Id: Ia21242e692ef6f9ba1eb8d68b93e017a7439d73c