summaryrefslogtreecommitdiffstats
path: root/tests/manual
Commit message (Collapse)AuthorAgeFilesLines
* Use jobsDone to sync render capture back to frontendMike Krus2019-12-131-1/+1
| | | | | | | | | | | Removes the jobs who's only purpose was to send a message to the frontend. Now added a jobsDone() call to render which is called from main thread when jobs are completed, so it's safe to sync data to frontend. Added a task trace for the backend to front end synching. Change-Id: I587462bea353c5d5a0065b542adcacef4dedb05f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* 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>
* Add manual test to check manual render loopPaul Lemire2019-10-253-1/+221
| | | | | | | | Shows that update are done before rendering takes place Change-Id: Ia3f5bcb497c023dad805609dcb1ffe9ce7947c06 Task-number: QTBUG-79375 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Scene3D: halt Qt3D simulation loop while not visiblePaul Lemire2019-10-255-1/+244
| | | | | Change-Id: I09d69fab7aaf3c2fa77da6eb30e505d9cb25c01f Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Add manual test for QSubtreeEnablerPaul Lemire2019-10-247-1/+380
| | | | | | Change-Id: Iff354956c831919cbb9d58f75014be0fa92b45c4 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Add manual test to check manual trigger mode on ComputeCommandsPaul Lemire2019-10-2411-0/+702
| | | | | Change-Id: I8048795277828ecba7d46dbc846685e606b2b8b9 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Add manual test for compressed_texturePaul Lemire2019-10-1637-1/+212
| | | | | Change-Id: I57111539631824f2b38f7a8e49d8ca80c189b376 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix compile warningsMike Krus2019-10-081-1/+1
| | | | | Change-Id: Iac24c13fa77bb0c6317af77f61016ee6fbf9a916 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix manual testMike Krus2019-09-161-0/+5
| | | | | | | Some settings were removed erroneously. Change-Id: Ib23b04e98e31b0357df401118c28bfb1d6f5623b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge dev into 5.14 (delayed final downmerge)Kari Oikarinen2019-09-041-1/+1
|\ | | | | | | | | | | | | | | This replicates the effects of the fast-forward merge that should have been pushed on 2019-08-27 as the final down-merge from dev to 5.14. Task-number: QTBUG-78019 Change-Id: I32e5320c8eb97005838f1982d1fa7953f1312548
| * Merge remote-tracking branch 'origin/5.13' into devPaul Lemire2019-08-201-1/+1
| |\ | | | | | | | | | Change-Id: I53aa6c3f61b1f624ec553079a9332c96486abf3f
| | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-131-1/+1
| | |\ | | | | | | | | | | | | Change-Id: I359b15d87622515ee4f05db1f01d4b476027378e
| | | * Fix download test after removal of assetsMike Krus2019-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Id7f37b014dec7f395bbf3d2c6c22ea59283257ec Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | | Use sync method when initializing new backend nodesMike Krus2019-08-293-17/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the node type supports syncing, use that rather than the creation message. The message is still needed since that is passed to the instantiation functor (none of qt3d's classes appear to use anything but the node id, but can't be sure no other classes do, and can't add other virtual method without breaking BC). Change-Id: Id99f448070b8722a7809b968798772c9eb3c8397 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | | Make Scene3D rendering use the Manual Qt3D drive modePaul Lemire2019-08-075-1/+257
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This now makes Scene3D rendering fully synchronous and blocking: - All Qt3D jobs have to be executed before we can render the GL commands This makes the blocking mode that could be activated with SCENE3D_BLOCKING_RENDERMODE the default behavior now and therefore we could remove references to it in the code. This now means that Qt3D and QtQuick will be rendering at the same refresh rate, which in most cases won't be noticeable and will ensure that content from Qt3D scenes matches content from QtQuick scenes. The only downside is if the Qt3D rendering takes longer than the time expected by QtQuick, the whole QtQuick rendering will be slowed down. Previously the QtQuick rendering might have still run at 60fps while the Qt3D rendering at a lower fps. Now the QtQuick fps would be the same as the Qt3D fps. That being said, the old behavior also meant that if Qt3D didn't catch up, the delay between QtQuick and Qt3D would only increase frame after frame. This change allow to simplify the internals by making Scene3D and regular Qt3D use the same code paths internally. Please note that Scene3D relies on QQuickWindow::afterAnimating being called each frame. When using a QQuickRenderControl this means you might have to call it manually as part of your rendering code. Task-number: QTBUG-72385 Change-Id: I887daf6df632e296a892b844e738a67e973fee7f Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-07-3114-0/+856
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/manual/manual.pro Change-Id: I15d497da84d3fe684c3a598831171d6aed7534ca
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-2314-1/+857
| |\| | | | | | | | | | Change-Id: I2a66e9344b72524431885bdf5f59fcaedb94c718
| | * RenderStates: fix override of nested RenderStatesPaul Lemire2019-07-1814-1/+857
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When merging states, make sure we don't add several states of the same types with possibly different values. We should only add states with type we don't already have. Since the FG traversal is done from leaf to root, we know that the states we already contain should override any state that may have been specified higher up in the FG branch. Change-Id: I9bd1eadd37e8addf740a4b85b2318f9be269fedb Task-number: QTBUG-76766 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Add shader-image-qml manual testPaul Lemire2019-06-056-1/+316
| | | | | | | | | | | | | | | | | | | | | Demonstrating and testing Shader Image support Change-Id: Id84df33b6d5d5c411a282c63b70bf0da3241a058 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Eradicate Q_FOREACH loops and mark the module cleanMarc Mutz2019-05-225-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.13' into devPaul Lemire2019-05-093-0/+253
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/render/backend/abstractrenderer_p.h src/render/renderers/opengl/renderer/renderer.cpp tests/auto/render/renderer/tst_renderer.cpp Change-Id: Ib6da858f10bec57bdb1002bd8fa4172304d118f2
| * | Merge remote-tracking branch 5.12 into 5.13Paul Lemire2019-04-263-0/+253
| |\| | | | | | | | | | Change-Id: I42affdd02bddb5205b9f2455f0c5e5efbd414dd8
| | * Fix Entity parenting hierarchyJim Albamont2019-04-043-0/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the initial Entity backend node hierarchy is created it skips over any non-entity nodes to ensure that Entities are only parented to other Entities. Calling QNode::setParent breaks this when reparenting Entities to non-entity nodes. Fix by sending a new "parentEntityUpdated" property update that backend Entity nodes listen for. They keep the id of their new parent and flag the need to rebuild the entity hierarchy. This triggers a new job to clear the children and parents of every backend Entity, then rebuilds the hierarchy using the stored parent ID in each Entity. This is much more forgiving of creation/parenting ordering issues and shouldn't be less performant because any Entity reparent was previously marking everything dirty anyway. Add a new test from QTBUG-73905 that creates 4 cylinders and manipulates the parents in different ways. Add a new test to tst_nodes to reparent a QEntity to a QNode and ensure the entity finds it's correct QEntity parent. Add a new test to tst_entity to ensure backend nodes correctly handle the new parenting events. Task-number: QTBUG-73905 Change-Id: Iab0203947d89bbed2868b3629fbde879675fe568 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch origin/5.13 into devPaul Lemire2019-04-153-1/+160
|\| | | | | | | | | | | Change-Id: Ib5c04e9941aeea1a4cd27519b94b9a53e8349ea3
| * | Merge branch '5.12' into 5.13Paul Lemire2019-04-023-1/+160
| |\| | | | | | | | | | Change-Id: If17511da64dd666a536408aa3cb3178ef6db0403
| | * Add manual test for backend node creation for componentsSvenn-Arne Dragly2019-02-223-1/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | This test triggers the case referenced in QTBUG-72236 and is added to avoid regressions. Task-number: QTBUG-72236 Change-Id: I797015dfe25a084e75183c02e07dddb224fbc738 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Make it possible to partially update a texturePaul Lemire2019-03-205-1/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Introduce QTextureDataUpdate which contains information about the update - QAbstractTexture::updateTexture function added - Add manual test texture-updates-cpp - Add unit tests for GLTexture and complete other texture tests Change-Id: I1b792f2075830ce05cc8e04cc68110141b5571d6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Add QRasterMode render stateJuan Jose Casafranca2019-02-127-1/+342
|/ / | | | | | | | | | | | | QRasterMode allows a user to change the raster mode from fill to lines or points Change-Id: If96848e38ac4b5a615040b3bae2dec38a03cb031 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-101-2/+24
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ie8a4bf768bffba61dca9e315151c035be7b48723
| * Picking: viewport contains check needs to use pos in GL coordinatePaul Lemire2019-01-071-2/+24
| | | | | | | | | | | | | | | | | | | | The viewport rect is computed in GL coordinates. Therefore we need to check if the mouse is contained with the position in GL coordinates. The error is not noticeable unless you are using non full height viewport. Change-Id: I1c39ff91da4a3649288826b939071a298c83c723 Task-number: QTBUG-72856 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-251-0/+2
|\| | | | | | | Change-Id: I13dfef5918cada019dfa29a28a8eee6a6efa7e27
| * texture_property_updates test: specify texture formatPaul Lemire2018-12-211-0/+2
| | | | | | | | | | | | | | | | | | It used to work before because it would default to RGBA_Unorm but that should be either deduced when using a QTextureLoader or specified when using a raw QTexture2D Change-Id: I930ce490a393f48b870d4e2c1f15e0551c468f2d Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Texture: update renderer to send handle and handle type on frontend texturesPaul Lemire2018-10-112-1/+5
| | | | | | | | | | | | Change-Id: I78047f354a9f7cdbb56bd2b5dee79cb77e6cb749 Task-number: QTBUG-70055 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Renderer: implement using OpenGL textures from a texture idPaul Lemire2018-10-119-0/+829
|/ | | | | | Change-Id: Ifc65966c50cb6fc8780206852f92bf1d4a6b4d5b Task-number: QTBUG-69918 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* EntityLoader: add sourceComponent propertyPaul Lemire2018-08-201-26/+49
| | | | | | | | | Now handles either loading from file or from a Component [ChangeLog] EntityLoader now also supports loading an Entity from a Component Change-Id: I1988f897071e5527b36e1b494bba57e9ab165bd8 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Properly update properties from Backend to Frontend texturesPaul Lemire2018-08-087-1/+308
| | | | | | | | | | | | | | | | | | | Taking into account we have texture sharing in the backend, we can only update frontend texture properties once we have created the shared backend texture. Code was adjusted to retrieve these properties when creating the GLTexture. Such changes are stored and sent on the next run loop from a job where they are distributed to all referenced frontend Texture. The status property handling has also been updated to send status changes to all shared textures instead of just the texture whose data generator is used to gather the data. A manual test checking texture property updates, sharing and remote url sharing has also been added. Change-Id: I8ed2449fe57c9d7337580b0f7561f974cbd5006d Task-number: QTBUG-65775 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for loading specific animations from glTF 2 filesSean Harmer2018-08-029-0/+586
| | | | | | | | | | | | | | Can now specify source urls to QAnimationClipLoader with query parameters for animationIndex or animationName. Add a new manual test to demonstrate/test this by loading the 2nd animation from the Rigged-Simple.gltf file. Will followup with the same support for Qt 3D native json animation files. Change-Id: Icb66073f29b8471fe06e2e2e9c43720567dc9ee5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix: Do not enforce TextureImage to be parented only by TexturePaul Lemire2018-07-186-1/+224
| | | | | | | | | | | | | | | | | | | | This behavior prevented using TextureImage not directly parented by the Texture that uses them (assert would be triggered). In turn, this also prevents sharing a TextureImage among several Texture instances which is counter productive since this is where the data is actually stored. This patch fixes this issue. It removes all direct coupling between Texture and TextureImages. Now Texture only contains the list of TextureImage ids it references. This allows to not make look-ups into the TextureImageManager to retrieve handles, which could be an issue if TextureImages have not yet had their backend created. TextureImage doesn't keep track of the referencing texture that uses it anymore. Instead, we let the renderer do the job of checking if any of the TextureImage referenced by a Texture has changed to trigger actual Texture update. Change-Id: I3c63379d0f4b314e9b53f225870eeaded0bb4aec Task-number: QTBUG-69407 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Add replacement materials examplev5.11.0-beta3Sean Harmer2018-04-042-2/+2
| | | | | | | | | | | | | | All texture assets were made by KDAB under the CLA. The material "sphere" mesh is from Allegorithmic and published under the Creative Commons 4 license. See paragraph 1.2 of https://www.allegorithmic.com/legal/substance-share Task-number: QTBUG-61415 Change-Id: I23d61723bbac561e22e11fa57105b29148c01699 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit 74c06c02f896c6aba408cfd0857d317378572736)
* Notify texture status changedMike Krus2018-03-161-2/+5
| | | | | Change-Id: Id8ef731d5f80648c19221c1d1b334bd8367188c3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Manual unit test for ray castingMike Krus2018-02-0112-1/+637
| | | | | | Change-Id: Icdd27b5ef6b50512e4af40d68d1ba7525f56b991 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add normalizedTime function to blendedlclip animatorsChristian Strømme2018-01-231-7/+9
| | | | | Change-Id: I19c1907371d9d131295558eb19c297d544ebef7d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Mesh loading: send status updatePaul Lemire2018-01-221-0/+1
| | | | | | Change-Id: Id4b73655ee30c3c225ee804f1e9244cc2b16aebf Task-number: QTBUG-60927 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix layer filter manual testPaul Lemire2017-11-161-2/+2
| | | | | Change-Id: I88eb9b0a88291a5152d5eded3c16d01c84a459fe Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix animation local time calculation when changing playbackRateJuan José Casafranca2017-10-062-4/+44
| | | | | | | | | | Animation local time was computed in absolute mode, as a scale of the global time that has passed since the start of the animation. Now is computed relative to the last local time, as the last local time + a scale of the elapsed global time. Change-Id: I5c29002602a5184174618ac7755ec94f5c7a328f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge branch '5.9' into 5.10Sean Harmer2017-10-053-29/+48
|\ | | | | | | | | | | | | Conflicts: src/animation/backend/animationutils.cpp Change-Id: I6bd0d1d15da00537a0bb064fc828b2460584b8e8
| * Share the effect from the phong materialSean Harmer2017-10-033-21/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only loads the shader source once instead of 1000 times. Reduces the time to first frame by a further 30% by massively reducing the work the main thread has to do at startup. The Qt3DExtras material classes are convenient but lead to bad practices like this. We should provide a way to allow them to share the effect easily but still use the provided materials for their API. Perhaps a new ctor overload that takes a QEffect pointer would work nicely. Also fixed some float vs double vs int precision warnings as a drive by. Change-Id: I181de8d95841eb88c91c29ef6f45d215da079b98 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Share the mesh in bigscene-cppSean Harmer2017-10-033-8/+12
| | | | | | | | | | | | | | | | No point loading the same data 1k times. Shaves 35% off the time from application start to first frame being complete. Change-Id: I8cd7c8a5aa377c0663c03e35d7a4c03f50b052f6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Use qFuzzyCompare for rotation anglesSean Harmer2017-10-031-2/+2
| | | | | | | | | | | | | | Fixes clang warning. Change-Id: I1831bd112c33cdd1fe9cc7ae169cfba05cb8a694 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Don't send change notifications for unneeded propertiesSean Harmer2017-10-031-0/+4
| | | | | | | | | | | | | | | | | | The backend doesn't need to know about the rotation angles used to update the transform. Saves about 3% of time on the main thread related to mallocing the property change notifications. Change-Id: I784baf705cdd697ba860dc7a0c2e0e1c9ee467ec Reviewed-by: Paul Lemire <paul.lemire@kdab.com>