summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Fix compile warningsMike Krus2019-12-038-66/+19
| | | | | | | | | | | | | | | | | | | | Change-Id: Idb253d8cb42809ae21cfbbda70d6b6c75891070f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | | Revert "Fix post FF API changes"Mike Krus2019-12-0324-158/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 84766ed9098f10efc53e4e43a75eef38fce7fbf6 Change-Id: I12341ec1b7bc68a7586c6671aa7b8f21caed17e0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | | Revert "Update jobs to remove post FF changes"Mike Krus2019-12-0337-34/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-307-7/+14
| |\| | | | | | | | | | | | | | Change-Id: I106d44d52c45e4b6ef38dc4df9a0363a51d18b94
| | * | Restore default rendering behavior of Scene3DMike Krus2019-11-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent change in Scene3D was made to stop it rendering when it was hidden. However this means it no longer can be used as a hidden item in combination with an OpacityMask. Revert default behavior to always draw and introduce an environment variable to let the user stop rendering. 5.15 will add a property to control this properly. Change-Id: I30f95b2704cc7c1c0a4467677c8a9e4e1dbb9962 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Check nodes are enabled when update BVH and world transformsMike Krus2019-11-283-3/+8
| | | | | | | | | | | | | | | | | | | | Change-Id: I83f8083bd0759e596f7c51ad25bb076a208a81df Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Fix a crash in RenderView when the surface has no heightJean-Michaël Celerier2019-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ia675f81a3e58e6c4d6fd80be55ea7001aa5e1d10 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Fix a crash in Qt3DWindow when the window has no heightJean-Michaël Celerier2019-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Iaf09d3ada0db25794ec6e517301d054641cb41a0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Fix a crash in Qt3DQuickWindow when the window has no heightJean-Michaël Celerier2019-11-261-1/+1
| | |/ | | | | | | | | | | | | Change-Id: I74722f690b0b174b631e923f6760cbc1af396518 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Avoid initializing QFlags with 0 or nullptrFriedemann Kleint2019-11-256-15/+9
| | | | | | | | | | | | | | | | | | | | | It is being deprecated. Change-Id: Idb6e794be1a26a3ca7c1d19ac1f47e4a0125f11b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-1657-138/+293
| |\| | | | | | | | | | Change-Id: I3a0df1d21f3556afc9f26eab13fcc525cf584e7e
| | * Fix compile warning (again)Mike Krus2019-11-151-1/+1
| | | | | | | | | | | | | | | Change-Id: Ic20d37a8bf875247c1af31fa4ded757564f953fc Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Use builtin test to detect support for threaded GLMike Krus2019-11-151-58/+2
| | | | | | | | | | | | | | | Change-Id: Ie14d7ae597ec42e85befed87675388315edc3e6f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Disable threaded rendering macOS 10.14 and laterMike Krus2019-11-146-3/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-142-1/+21
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | | * Merge remote-tracking branch 'origin/5.13.2' into 5.13Qt Forward Merge Bot2019-10-302-1/+21
| | | |\ | | | | | | | | | | | | | | | Change-Id: Ifd9e962079e00edea328bce6c5d352d8272db946
| | | | * Add changes file for Qt 5.13.2v5.13.2Antti Kokko2019-10-211-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I94eb9efad7e331016b44d309feba62436a5bc4c3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | | | * Bump versionFrederik Gladhorn2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I6840c8f666991a2c29a5394069266de9e8c014e2
| | | * | Fix the way we compute light positionsPaul Lemire2019-10-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using worldBoundingVolume->center() but this has been changed recently and a null bounding volume now cannot be transformed. Instead just use the worldMatrix transform to compute the light position. Change-Id: I2d884a4a5a3808ff812eb581f6bb631bbe6ab4c1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | | PackUniformHash to QVectorPaul Lemire2019-11-147-28/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Surprisingly it's hard to notice its effect in the speed of execution, frame preparation looks to be more or less the same with the profiler. However with vtune, the profiling traces show a huge difference with QHash, mainly in time spent allocating memory. It shows a noticeable reduction in CPU usage. On bigscene-cpp with 600 entities QHash -> On a 158s run, CPU time is 112s (70%) free accounts for 26s (23%), malloc 24s (21%) QVector -> On a 190s run, CPU time is 110s (58%) free accounts for 5s (4.5%), malloc 4.7s (4.2%) Change-Id: I880d44b1acf7f051e479ed356864c3caf407f23f Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Remove redundant std::moveThiago Macieira2019-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iad959315ad374ef288f5fffd15d6d4716cb28052 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Doc: Fix documentation warningsTopi Reinio2019-11-1338-97/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
| | * | | FilterProximityJob: only run it if our RV requires proximity filteringPaul Lemire2019-11-133-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Which is only very rarely required by user applications. Avoid useless memory allocations every frame Change-Id: I69ea73ebfffdbe928f99333b4d1dd90cf4ada430 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Uniform: use QVarLengthArray<16 ,float> instead of <4, float>Paul Lemire2019-11-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This otherwise yield for lots of reallocations that could be avoided. The gains seem to be about 2/3% of cpu usage according the analysis with vTune. It does indeed mean that for smaller uniforms vec4, float, sampler we are wasting a bit of memory. The impact of this is likely to be unsignificant though. Change-Id: Id72c81a795bf9326ef48b170bb0806de9b430412 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | ShaderParameterPack: stop calling hash.clear() in dtorPaul Lemire2019-11-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can only make the overall destruction of the object longer Change-Id: Ic5033287fb770ed4a01ffd6b315310b74e8a3797 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-11-094-21/+40
| |\| | | | | | | | | | | | | | | | | | Change-Id: I33c8bbabb3f164b3e3d56ca8902222ed6d3a9647
| | * | | Reduce allocations when building stringsMike Krus2019-11-081-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We produce A LOT of these at every frame, reduces allocations by ~ 20% (also less CPU load at creating and concatenating temp strings). Change-Id: I342c16ed3b4b8d9e1c66ddf37cb9f60496eb9de5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | | Fix compile warningsMike Krus2019-11-082-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 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-0233-442/+552
| |\| | | | | | | | | | | | | | | | | | Change-Id: I8564907ed5efd7617be383017fe12ffa7cd3a0d1
| | * | | Fix SharedTexture manual testsPaul Lemire2019-10-314-32/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove VideoPlayer thread, not needed and could yield to asserts if QOpenGLContext::makeCurrent is called from another thread than the one it was created with, depending on platforms and QApplication flags being set. Change-Id: Ic5d1858e5356b16293ee6298558dd7c60f3c86dd Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Buffer: make sure we force allocate before doing partial updatesPaul Lemire2019-10-302-9/+75
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I229f9bcd21a10c0a4cff5c4f559cd285a3e50276 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Set Loading status on QMesh when functor changesMike Krus2019-10-301-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Will then be set to Ready or Error once the job runs Change-Id: I542fdce9aea08e6e49fdaec645216132a56e7474 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | | Fix status change on QTextureLoaderMike Krus2019-10-303-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now setting to Loading when the functor change is synced to the backend. Avoid creating a new functor when downloads have completed, just use the same one and mark the node as dirty. Avoid recreating the functor when the format change comes from the backend (which caused the image to be loaded again). Change-Id: Ifcbbf54db56b57a58b0b5d1ce5f1475b6587f697 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | | Scene3DView: don't forget to mark SGNode as visiblePaul Lemire2019-10-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I4e2c246f92ccd16034c67dc3aacf9375bf4f4ef4 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Convert EntityRenderCommandData to struct of vectorsPaul Lemire2019-10-298-43/+90
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib290491476b083e6aa4cff5c112a802c4e198987 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * | | Compute renderables/computables/lights once instead of once per RVPaul Lemire2019-10-298-289/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All RV end up using exactly the same vector before filtering it down on per RV specifics. No point in compute RV times the same thing. Change-Id: Ia674095627771c8e9ada090fa47623cbbbd8a3f8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | | Fix frame advance serviceMike Krus2019-10-282-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | | GLTexture: fix shared texture id handlingPaul Lemire2019-10-281-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returning early should only be done when not dealing with a shared texture id as all shared texture id will satisfy the early return condition initially. This must be the result of a bad manual merge. Change-Id: I475a608a942a8c178b10c2a49564aee3f464c379 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | LightGatherer: reset values before runningPaul Lemire2019-10-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise if job is run several times, we end up with duplicate values. Change-Id: Id31867ecce41e3b756623ef9c3a6e2c5b610d08d Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Fix the way we compute light positionsPaul Lemire2019-10-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using worldBoundingVolume->center() but this has been changed recently and a null bounding volume now cannot be transformed. Instead just use the worldMatrix transform to compute the light position. Change-Id: I55d5600cdf7c58a65c27bbe59c1a620c58dbb3a3 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | Scene3D: handle aspect ratio updates in Underlay modePaul Lemire2019-10-281-13/+33
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I05e5ef99cdd1d8d8866e724c5c25b31fea5d830f Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | | QNode::updateNode: ensure postConstructorInit of node is calledPaul Lemire2019-10-282-29/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-262-0/+43
| | |\| | | | | | | | | | | | | | | | | Change-Id: I450f2c8e7c9887b22c5a5781f70889e6ac4e915c
| | | * | Add documentation for PhongAlphaMaterial propertiesMats Honkamaa2019-10-171-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added documentation for the following PhongAlphaMaterial QML Type properties: blendFunctionArg, destinationAlphaArg, destinationRgbArg, sourceAlphaArg, and sourceRgbArg. Task-number: QTBUG-78480 Change-Id: I392480926f8803e82ad88ee9638130c6f9b74931 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | | * | Add BufferCapture QML documentationMats Honkamaa2019-10-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copied the very basic C++ docs. Task-number: QTBUG-79109 Change-Id: Ib5803dfc06d7d10001e31f9cb0c113509cc23f0f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | | | Temporarily disable binary JSON mode for qgltf in bootstrap modeUlf Hermann2019-10-311-14/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to update the bootstrap library in order to remove binary JSON support and add CBOR support. As we cannot use CBOR before and we cannot use binary JSON afterwards, we need to disable binary JSON in qgltf, then update the bootstrap library, and then add CBOR support to qgltf. Change-Id: I4d70b831cf1924d08c821c74f0c1b63fd0d21844 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | | Accept CBOR as optional format in gltf dataUlf Hermann2019-10-296-29/+90
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8e64f061147af10a0d017238664c483724047059 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>