summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QShaderGraph: disable edges connected to disabled nodesv5.15.0-rc2v5.15.0-rc1v5.15.0Nicolas Guichard2020-04-272-10/+56
| | | | | | | | | | | | | | | | | | | | This graph failed to generate statements with enabledLayers = {"0"}: _edge0i__ function0 __edge0o__ / \ input output \_edge1i__ function1 __edge1o__/ with function0 and edge0o on layer "0" only and function1 and edge1o on layer "1" only and all other nodes and edges on all layers. The issue was that when only layer "0" is enabled, edge1i didn't get properly discarded and Kahn's algorithm didn't ever schedule input. Task-number: QTBUG-83766 Change-Id: Idb8705d487c3748153e0c4b3330b9589e827139e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Reduce CommandBuilding/Update job spawning thresholdPaul Lemire2020-04-241-4/+4
| | | | | | | | | | | | | | | | | | Those jobs are usually the most expensive to run. It therefore makes sense we leverage parallelism as much as possible and not discard threads we could be using. In that sense, the minimum amount of elements to process per job is reduced from 100 to 10 which means that we will spawn threads if they can contain at least 10 element to process (instead of 100 previously). This now allows to benefit from more parallelism on smaller scenes (that have less than 100 entities) while still scaling similarly as previously on larger scenes. Change-Id: I91e97fc23185d02c2727d87bb7a4ea4991f5ff14 Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit 37735f11f9437b916b194cfd48c452c7c70682f8)
* Add missing private warningMike Krus2020-04-241-0/+14
| | | | | Change-Id: I2cfed2e2645a0b6ed0a7ba9362873436c7a66980 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Unregister the event filter when the render aspect is unregisteredAndy Shaw2020-04-241-0/+3
| | | | | | | | | This prevents a crash when an event filter was used and the render aspect was being deleted but the event filters were being accessed still later on. Change-Id: I56586061d85f569f0cc9ffd5ec6b83a5455dd207 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge 5.15 into 5.15.0Alexandru Croitor2020-04-2393-2677/+4174
|\ | | | | | | Change-Id: I5f7f6acf2ab3215e3c964a0d49ce7a680228df42
| * Add missing include to properly resolve QT_CONFIG(vulkan)Paul Lemire2020-04-221-0/+1
| | | | | | | | | | | | | | | | | | | | It will otherwise depending on your configuration result in the vulkan feature being undefined and that will break compilation Change-Id: I9ab5af09ffd59569253e9909b5a56cf3ed4d9b8a Reviewed-by: Jean-Michaël Celerier <jean-michael.celerier@kdab.com> Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: apply clang-format to the whole plug-inJean-Michaël Celerier2020-04-2238-2293/+2580
| | | | | | | | | | Change-Id: I764930b7a59a8e016d451964c14733a966a00ca7 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Rework uniform processingJean-Michaël Celerier2020-04-228-207/+246
| | | | | | | | | | Change-Id: I1dc305b727b148773f1d7dafa3ba8e2b74366aec Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: fix another memory leakJean-Michaël Celerier2020-04-221-1/+0
| | | | | | | | | | Change-Id: Ic69192398efc06e418f9d768a61a55e037041611 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Fix a memory leakJean-Michaël Celerier2020-04-221-0/+1
| | | | | | | | | | Change-Id: I54ebfa265bad8cd12681bc23ddf6e08696f620e1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Fix texture uploadJean-Michaël Celerier2020-04-221-89/+111
| | | | | | | | | | Change-Id: I129e28130037f5640ae7982f2cd846ea7cf22ab1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Fix upload of arrays of structuresJean-Michaël Celerier2020-04-221-3/+4
| | | | | | | | | | Change-Id: I924cec511487f4d91ecd33821d8da593e730742d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Better handling for GLSL version detectionJean-Michaël Celerier2020-04-221-13/+31
| | | | | | | | | | Change-Id: I80cee658da336566088a0b93c2953181424a4f0e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Make Qt3DQuickWindow work with RHIJean-Michaël Celerier2020-04-226-109/+79
| | | | | | | | | | Change-Id: Ic9bb79e780006e49d1baa13fd15f52344b81c86b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Work needed for PBR material support in RHIJean-Michaël Celerier2020-04-2214-157/+501
| | | | | | | | | | Change-Id: Id0e7d343083afcefd93f9d581917e14baa994b7f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Port most of Qt3DExtras materials to RHIJean-Michaël Celerier2020-04-2251-179/+994
| | | | | | | | | | Change-Id: Iba20f047404b20c1e5b9bdcef917b3c2a1000d59 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.15' into 5.15.0Qt Forward Merge Bot2020-04-2279-497/+2851
|\| | | | | | | Change-Id: I7eabf19598b9f23919ee803c2e784fcf653eb741
| * rhi: Handle RHI-required information in QShaderGraphJean-Michaël Celerier2020-04-2125-81/+1812
| | | | | | | | | | Change-Id: I705843bbb1f6928c2e36b327469882e11fb9613e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Merge remote-tracking branch 'origin/5.14' into 5.15Antti Määttä2020-04-2136-258/+789
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/renderers/opengl/graphicshelpers/submissioncontext.cpp src/plugins/renderers/opengl/graphicshelpers/submissioncontext_p.h src/plugins/renderers/opengl/renderer/renderer.cpp src/render/backend/attachmentpack_p.h src/render/frontend/qrenderaspect.cpp src/render/picking/qabstractraycaster.cpp tests/manual/manual.pro Change-Id: I617b7e34bf7e11b2921bfc15e1b99c3e81891ec7
| | * Merge remote-tracking branch 'origin/5.14.2' into 5.145.14Qt Forward Merge Bot2020-04-211-0/+20
| | |\ | | | | | | | | | | | | Change-Id: I141c31bbfbec3fec1e639cc1fe62b85adadbc1b7
| | | * Add changes file for Qt 5.14.2v5.14.2Antti Kokko2020-03-111-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 650d065d3b03825ff97600902c164d447cbb771a Fix potential crash when logic aspect exits + 32755ab5cca668c82b43bbe8b2e907e4f7dd7720 Fix stale Entity caches + d33c1630b09fcdad83f69bfd2530354584b2f42b Bump version + 648b7459e8a6ce8ce1f115a14da63d546b743439 Allow for when a Scene3D item switches screens + 547b0b00244f1535eab4456a02b75b46776eae51 Check we remove a valid node when removing from node properties + d046e7cc3e362e6cb45afd5ecae464d796c21079 QMetalRoughMaterial: only remove parameters if added + 294894610b02a2cd4682fafe139a60b2b96f3289 Destroy FBOs when RenderTarget node is destroyed + 42c0dbc377af4d307747a32ca1c1fd267ce4337f Add in a call to applyAspects() that accidently got missed + e52382023b85c435e9c1e3a37eeac65178ee54e0 Fix and improve FBO handling + 05cb6bb5f354ffd1094da4a45b315f955d7fd16f qgltf: Fix MSVC warning about narrowing conversion + ecca6d21fbb4a07dcfe6144cc5a4f20981491bd1 Revert "Add in a call to applyAspects() that accidently got missed" + c6fecd32f8dfe4d72a7f059f83d69e61d5ded64d Revert "Allow for when a Scene3D item switches screens" + b769deaf57645f533cccb352722ea7b79475a2ea Fix OnDemand rendering crash when using QQuickWidget + 597c9df33c2c8a9e91e3ad1de48b1200ebca6586 No need to register input aspect in basicshapes-cpp example Change-Id: Id6a03d886dabe073361317beb85dfd78ff92ee33 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Fix typo in phong.inc.frag100Michael Brasser2020-04-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-83336 Change-Id: I295036a932eba64479b4b1a7e03e676d56cae92f Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | Don't look up backend node if frontend not updated yetMike Krus2020-04-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If node parent / child or entity / component changes before the backend nodes where created, records might not be complete yet. Task-number: QTBUG-82269 Change-Id: Id8238410331626130bb71bb1653ac5cb5d5270d4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * | Revert "Move calculateBoundingVolumeJob dependency on updateTreeEnabledJob"Michael Brasser2020-04-061-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e1d1a59eb04f8b17582571275073a6cfa10e9e32. This change could lead to an explosion in job dependencies, and wasn't necessary, since only null jobs were cleared each frame. Change-Id: I2a4963f7edc9d3ad22531978c664fc05943b6483 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Disable sorting commands by textures on WindowsPaul Lemire2020-04-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it leads to a runtime assert based on the fact that the sorting predicate might return true for (a, b) and (b, a) This disables that part until it is rewritten properly. Change-Id: I0e90d02583d402599e7a38bf0c5cca6f2460a9a8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * | Fix potential crash in ShaderBuilder node syncingMichael Brasser2020-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I0446aefe54acd42a01974873d974f57ec48fb49e Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * | Implement Mouse Click and Double Click on MouseHandlerMike Krus2020-03-202-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looks like it actually never worked. Task-number: QTBUG-75219 Change-Id: I54e7c58be57c41461c95c48ec3e76aa45bf340a1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Allow for when a Scene3D item switches screensAndy Shaw2020-03-1316-217/+694
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Scene3D item switches screens then it will need to be reinitalized so that the supporting contexts, offscreen surfaces are set to use the same screen and not the original one. This ensures that the item is still rendered correctly on the new screen. This includes a manual test using QQuickWidget in separate windows that enables it going from one screen to the other. This is a fresh version after the previous version was found to have a bug shown in the scene3d-loader test which has now been resolved. Change-Id: I3c711e894018db52ec00a8a5d2e0fb0128743ab1 Done-with: Antti Kokko <antti.kokko@qt.io> Fixes: QTBUG-79192 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Workaround for some odd crashesJoni Poikelin2020-03-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes there seem to be null Geometry pointers that are somehow related to quickly swapping QGeometry. This can be worked around by skipping those null pointers. Change-Id: Id2ffbd0eb08f205a7739825932b6d3f0afeab4af Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * No need to register input aspect in basicshapes-cpp exampleMauro Persano2020-02-211-5/+0
| | | | | | | | | | | | | | | | | | | | | This is already done in Qt3DExtras::Qt3DWindow. Change-Id: Idf742b93fdc0d8d4226284d6d949758a07921dd5 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Fix OnDemand rendering crash when using QQuickWidgetMauro Persano2020-02-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Restore the original GL context when handling the QQuickWindow::beforeSynchronizing signal to prevent crashes. Fixes: QTBUG-82152 Change-Id: Ibcf3f7fbc1d9ec7b83a76fd617d7aa77ab82ba14 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Revert "Allow for when a Scene3D item switches screens"Paul Lemire2020-02-1812-424/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 648b7459e8a6ce8ce1f115a14da63d546b743439. Reason for revert: Introduces QTBUG-82275 Change-Id: I5514ad58707c086eaaab3203773614c939e461e8 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Revert "Add in a call to applyAspects() that accidently got missed"Paul Lemire2020-02-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 42c0dbc377af4d307747a32ca1c1fd267ce4337f. Reason for revert: Introduces QTBUG-82275 Change-Id: Ibf3cc3ea29260b57734517d984ef7a5d3244216a Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * qgltf: Fix MSVC warning about narrowing conversionFriedemann Kleint2020-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use int, fixing: qgltf.cpp(158): warning C4838: conversion from 'QFlags<QIODevice::OpenModeFlag>' to 'ushort' requires a narrowing conversion qgltf.cpp(159): warning C4838: conversion from 'QFlags<QIODevice::OpenModeFlag>' to 'ushort' requires a narrowing conversion qgltf.cpp(160): warning C4838: conversion from 'QFlags<QIODevice::OpenModeFlag>' to 'ushort' requires a narrowing conversion qgltf.cpp(161): warning C4838: conversion from 'QFlags<QIODevice::OpenModeFlag>' to 'ushort' requires a narrowing conversion qgltf.cpp(163): warning C4838: conversion from 'QFlags<QIODevice::OpenModeFlag>' to 'ushort' requires a narrowing conversion qgltf.cpp(165): warning C4838: conversion from 'QFlags<QIODevice::OpenModeFlag>' to 'ushort' requires a narrowing conversion Change-Id: I8fa5452b6485d32c8d86172497cf877d5bcaf0e2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Fix and improve FBO handlingPaul Lemire2020-02-175-29/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FBO need to be rebuild when one of the attachments directly or indirectly changes. By direct change we mean one of the FBO attachment texture being resized or the list of attachments changing. By indirect we mean when texture resource is recreated internally by the engine. Failure to handle this cases resulted in FBO referencing invalid attachments. Change-Id: I8dd4c08e464eed7fb0eeefd61a4158304ab4245f Task-number: QTBUG-64757 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Add in a call to applyAspects() that accidently got missedAndy Shaw2020-02-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This amends 648b7459e8a6ce8ce1f115a14da63d546b743439 which had moved the code into applyAspects() call but it was missed from the original setAspects() call. Change-Id: I431c07f260e6c91cbee155c052000d6e5081c4e7 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Destroy FBOs when RenderTarget node is destroyedPaul Lemire2020-02-138-1/+131
| | | | | | | | | | | | | | | | | | | | | | | | It appears we never destroyed FBOs which lead to bugs when destroying and recreating a RenderTarget Change-Id: I99b3df95b821670aa3bbd63209ff9bcc21afbf79 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * QMetalRoughMaterial: only remove parameters if addedPaul Lemire2020-02-101-8/+21
| | | | | | | | | | | | | | | Change-Id: I2542334d004ae389238cdb08dd9d41f4014efccf Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Check we remove a valid node when removing from node propertiesPaul Lemire2020-02-1013-22/+42
| | | | | | | | | | | | | | | Change-Id: Ibcc4d9bfd9d0a9d7697151915f24a6eecc149f6d Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Allow for when a Scene3D item switches screensAndy Shaw2020-02-0712-218/+424
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Scene3D item switches screens then it will need to be reinitalized so that the supporting contexts, offscreen surfaces are set to use the same screen and not the original one. This ensures that the item is still rendered correctly on the new screen. This includes a manual test using QQuickWidget in separate windows that enables it going from one screen to the other. Fixes: QTBUG-79192 Change-Id: Id5bbc0d30d04ea4a945463238868b68283df0543 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
| * | rhi: Remove unused light handlingJean-Michaël Celerier2020-04-211-22/+0
| | | | | | | | | | | | | | | Change-Id: Ifa33bb8f583c4e41e05db3bc90f0320e5decfdf2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | rhi: Fix projection matrix y directionJean-Michaël Celerier2020-04-211-4/+24
| | | | | | | | | | | | | | | Change-Id: Ieb6d2b97bd3ca126c09f7eb7241f333cd3abbffb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Fix compilation on Windows with -qt3d-simd avx2Paul Lemire2020-04-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_3DCORE_PRIVATE_EXPORT for operator* were removed by commit: fa6799f63f3211300705b814b97716ca689d4bfa for Vector3D_SSE and Matrix4x4_SSE. Unfortunately they weren't removed for Matrix4x4_AVX2 which lead to different linkage compile errors. Change-Id: I854fb0cb4409aea1d130e935091533d4e72d6d6e Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Uniform preparation: stop copying the ShaderUniforms aroundPaul Lemire2020-04-207-27/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those are static and expensive to copy (especially once per RenderCommand) as they contain several QStrings. Instead we sort them by nameIds when the shader is initialized and use indices to reference them. This avoids the copies and the sorting allows to be more efficient at finding the ShaderUniforms based on a nameId. Change-Id: I50008381f1d336ab182f5ac5a08500791e2871e9 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Perform the prepareUniform step when building the commandsPaul Lemire2020-04-203-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is something we might as well parallelize rather than only doing them in the single threaded blocking rendering step. This gives a me a 3fps gain on bigscene-cpp whose bottleneck is still the submission currently. Change-Id: I4d7f3bfd395eef9fef6dc18f30445cfa7d6145ee Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Cleanup setShaderAndUniformsPaul Lemire2020-04-208-79/+144
| | | | | | | | | | | | | | | | | | | | | Similar to what was done for the rhi plugin Change-Id: I266a3992e21faa2633036c809e884d91d4d892da Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Add missing job count to properly compute number of RenderViewCommandUpdaterPaul Lemire2020-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The job count was added as a recent refactoring. It defaults to 1 and therefore doesn't parallelize anything. Therefore make sure we override the value by the actual amount of jobs. Change-Id: Id2bc7ca0c10b292fa537c221ad4b90894d9b47fb Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Animations: fix race condition on running clip animators vectorPaul Lemire2020-04-202-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Clean up filter debug outputMike Krus2020-04-163-3/+28
| | | | | | | | | | | | | | | Change-Id: I01c9448aab2dcebab9a025b2248e491fd92fd0af Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Add changes file for Qt 5.15.0Antti Kokko2020-04-201-0/+24
|/ / | | | | | | | | Change-Id: Ia94fe9c20ed883e26e5c7ce368d7c3a675873777 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>