summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Add support for building with CMakeMike Krus2020-05-22359-15/+12053
| | | | | Change-Id: If6c887c6356a160a5f3fb906d38a341fff0c7b29 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix compilation of manual tests using QOpenGLWidgetsPaul Lemire2020-05-203-4/+4
| | | | | Change-Id: I4c4d02fae44eef45b28e04b2369642b1cee6ad0c Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QResourcesManager: switch to std::vectorPaul Lemire2020-05-204-7/+7
| | | | | | | | | Given QVector is potentially slower for this use case and the fact that QVector might become QList in Qt6, we're better of using the std. Change-Id: If2c403439ddb856b60f8bfd5ae7c6ec1cb2c892a Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Silence a few warningsMike Krus2020-05-193-2/+4
| | | | | | | | Missing override, unused variables and functions. Also fixes qHash API in QNodeID. Change-Id: Ieb223eb2464780f79050372040f418bb2360c8d5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QShaderGraph: disable edges connected to disabled nodesNicolas Guichard2020-05-111-0/+44
| | | | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit 5e16aa067ac6a8b5f031ffcefc356777a0da34ad) Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix build for Qt6Mike Krus2020-05-0614-22/+33
| | | | | | | | | | | | | - updated dependencies, excluding qtgamepad for now - fixed issues with Q_PROPERTY not supporting forward declarations - fixed for changes in QtQuick private API - fixed for changes in QtOpenGLVersionFunctions API - fixed for removal of QT_OPENGL_ES* macros - fixed for changes in QtConcurrent API - fixed RHI based build Change-Id: I42ccd2f101b7f0a78e2860c6d551722bf6710a11 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge remote-tracking branch 'origin/5.15' into devMike Krus2020-04-2738-87/+5220
|\ | | | | | | Change-Id: Id669d5c1aab29965eac0dabd1cb497e908dac23e
| * rhi: Port most of Qt3DExtras materials to RHIJean-Michaël Celerier2020-04-221-0/+2
| | | | | | | | | | Change-Id: Iba20f047404b20c1e5b9bdcef917b3c2a1000d59 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * rhi: Handle RHI-required information in QShaderGraphJean-Michaël Celerier2020-04-211-1/+1
| | | | | | | | | | 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-219-0/+564
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Allow for when a Scene3D item switches screensAndy Shaw2020-03-139-0/+564
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Revert "Allow for when a Scene3D item switches screens"Paul Lemire2020-02-185-300/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 648b7459e8a6ce8ce1f115a14da63d546b743439. Reason for revert: Introduces QTBUG-82275 Change-Id: I5514ad58707c086eaaab3203773614c939e461e8 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Destroy FBOs when RenderTarget node is destroyedPaul Lemire2020-02-131-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Allow for when a Scene3D item switches screensAndy Shaw2020-02-075-0/+300
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Adjust number of jobs based on number of render pathsMike Krus2020-04-142-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renderer currently creates a large number of jobs, most of them doing nothing, this quickly adds up when we have lots of branches. To keep those down, we adjust the number based as estimate of branches that have work to do (no draw detection will fail if it's not the leaf node). Also make RenderViewCommandBuilder and MaterialParameterGathererJob only run if necessary (and reset instance counter on each frame). Finally, only create the right number of MaterialParameterGathererJobs for the amount of updates required. Change-Id: I2d38c72589a38445d0110fc22a472fb9482d1a03 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | bigscene-cpp: add debug overlayPaul Lemire2020-04-141-0/+3
| | | | | | | | | | | | | | | Change-Id: Ie5c5bc56e194a2d31bc7217d023c9d94c3c92748 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Make bigscene-cpp multiviewportPaul Lemire2020-04-141-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is now testing with more than a single Framegraph branch which should allow to check how well it scales horizontally, given FG branch are processed in parallel. Increasing the number of entities only allows to check how well it scales vertically. Change-Id: Ic039a0d198cb7ae9bbe7f2d24be833a04a60d74a Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Add benchmark for ShaderParameterPackPaul Lemire2020-04-145-1/+136
| | | | | | | | | | | | | | | Change-Id: I05e42f7fdfb6b54c30299b7e6664a48f61116b28 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Properly stop running animations when using a negative playratePaul Lemire2020-03-301-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | When reaching a normalized time of 0 they would otherwise continue to run Change-Id: Idaea755d3a12f9c9da9c25732c2221e9b3f9f4c7 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Add ability to dump filter statesMike Krus2020-03-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add button in overlay UI to dump: - the details of technique and render pass filters in the render views - the details of technique and render pass keys in the scene graph This is useful to understand why some objects are not rendered. Change-Id: I57a284081ec986e49e90c979042cc0c17ee0d1cf Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Fix crash in rendercapture-cpp manual testPaul Lemire2020-03-231-1/+1
| | | | | | | | | | | | | | | Change-Id: Id4ad6552fc1a254bd9414bab63400d624e902442 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Move shadergraph to Qt3DJean-Michaël Celerier2020-03-1912-1/+3787
| | | | | | | | | | | | | | | Change-Id: I3ed10747175a58513933b29eac66ddf92fe87d07 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Initial creation of RHI plug-in and refactoringJean-Michaël Celerier2020-03-164-1/+453
| | | | | | | | | | | | | | | Change-Id: Ifbb51003e15f798798040597b5f7224641e8147c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Split examples so that build works without qtdeclarativeJean-Michaël Celerier2020-03-115-77/+105
| | | | | | | | | | | | | | | Change-Id: I98507808b43b116b1950fd60df54704562a234ce Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Allow Qt3DWindow to choose which graphics API to use on constructionJean-Michaël Celerier2020-03-111-1/+1
| | | | | | | | | | | | | | | Change-Id: Id3ff72a2eaa7f85844a546ef55dc3e1b71a14659 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Introduce QPickingProxyMike Krus2020-04-231-1/+56
| | | | | | | | | | | | | | | | | | | | | Lets user provide a separate mesh for picking. Change-Id: I30a61920e1673d8bc3473ca85046b236bad0a2af Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Add ability to override bounding data and trigger calculationMike Krus2020-04-236-1/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this, can set min and max extents of a geometry renderer which will avoid calculating it from the real geometry. Can also trigger the computation from user code (via public API) if user doesn't want to wait for next frame to get the data. Change-Id: I821bfb7c9d710a77a2b87ec607b4ed35a0c7f236 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Pull bounding volume info from front endMike Krus2020-04-235-26/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an entity has a bounding QBoundingVolume component AND that has a QGeometryView, the bounding volume can be computed by the core aspect and the results get pulled to the render backend. Otherwise, we use the old code which computes the bounding volume in the render aspect. This means we have 2 jobs to compute bounding volumes and that the core version must complete before the render aspect runs. Change-Id: I4de45e48fa0c4d40d3d5084f387abfed5ea1a2f8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Introduce QCoreAspectMike Krus2020-04-091-2/+4
| | | | | | | | | | | | | | | | | | | | | Does nothing for now Change-Id: I94310a893c3be430aa3d36948c07e0d50efe6c8a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devMike Krus2020-03-1013-90/+263
|\| | | | | | | | | | | Change-Id: Ida354e9c302ef968fbae78edd60a1ad1fabef477
| * | Merge gatherer and caching jobsMike Krus2020-03-062-7/+2
| | | | | | | | | | | | | | | | | | | | | Avoid extra thread sync just for copying data around Change-Id: Ib119115bbb3a7a8a2aa99a3e271595caecc371f7 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Move common job handling out of RendererMike Krus2020-03-0612-84/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | Should be done in aspect as it's independent of the backend. Moved some tests to separate test using an empty renderer as other backends are likely to have different jobs. Change-Id: I2bec0939045acea7b91ecb1622ba18bf9f5db3c6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Remove unused test lib which is causing CI to failMike Krus2020-03-104-159/+0
| | | | | | | | | | | | | | | Change-Id: I17f30741fe539d02f8d225ef36303f38730f8794 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Add support for aspects depending on other aspectsMike Krus2020-03-021-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aspect can define a list of aspect names it depends one. When it is registered, these will be automatically created if they don't exist already. Change-Id: I12852751a6646ad09d09a6958d059ccf2b2e324d Caveat: this only works with named aspects. Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Add public API for working with jobsMike Krus2020-03-022-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Existing jobs used private API for doing work after jobs were run or controlling if running was required or not. Make this public so that new jobs in custom aspects don't need to use private API. Unfortunately, this requires changing the signature of one public method that mistakenly was using a private class as a parameter. Change-Id: Ie8315a0f98ec48f84650163b4ac713e7e6845a92 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Remove useless jobMike Krus2020-02-289-498/+0
| | | | | | | | | | | | | | | Change-Id: Id17bfec0c6618ae0849df935f34322788f02aae3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Make default geometries viewsMike Krus2020-02-2798-320/+528
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Extras, make QTorusMesh and others a QGeometryView rather than a QGeometryRenderer. Requires changes to scene graphs here and there but going forward there simple shapes could be used as proxies for picking or collision detection, etc. Change-Id: Id488e064080dfd303e448aba11e6b242236b81d4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Geometry refactoringMike Krus2020-02-2735-610/+590
| | | | | | | | | | | | | | | | | | | | | Move QBuffer, QAttribute, QGeometry to Qt3DCore. Change-Id: I59dfd091eefadcada93350b3aba955f40b304385 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Fix C++17 buildMike Krus2020-02-251-9/+15
| | | | | | | | | | | | | | | Change-Id: Iaf4749da34871e0d6d0f1e7672a236f790c57b42 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 5.15 into devMike Krus2020-02-174-10/+188
|\| | | | | | | | | | | Change-Id: I2777f6a40b9029ef5569a84e04f9e18a914504e7
| * | Add ability to dump job graph to dot fileMike Krus2020-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Destroy FBOs when RenderTarget node is destroyedPaul Lemire2020-02-131-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | It appears we never destroyed FBOs which lead to bugs when destroying and recreating a RenderTarget Change-Id: I507b045d9b9e1088ff49f719c8846cc43c4fc8f2 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Shader fixesPaul Lemire2020-02-131-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Make sure that shaders marked for destruction are un marked from destruction if recreated before having been destroyed. - When loading shaders, make sure the shader wasn't already loaded when loading it. This can happen is a shader is abandoned and then re adopted. Change-Id: I04597479d782bc6d31e4c7f78425c02c31217c7e Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Animations: handle colors as vec3 or vec4Paul Lemire2020-02-121-9/+105
| | | | | | | | | | | | | | | Change-Id: If450816fadce4adad4881938ecaea9c4000afe16 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | Remove QBuffer::syncData propertyMike Krus2020-02-122-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | Wasn't doing anything since 5.14, now pointless since there's no longer a loading functor Change-Id: I90d8884cf87b492cf966f99ef8d339f25a1fc35e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Hide deprecated functor APIMike Krus2020-02-124-98/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now private for QTextureGenerator and QGeometryFactory updates. QTextureImageDataGenerator remains for now as it was not previously deprecated and, mainly, it's the only API to get data into an image. Consequently, QAbstractFunctor has been un-deprecated. Change-Id: Ie6691bc402ad603d63abcf1ec9fc3513091f5740 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Remove buffer functor APIMike Krus2020-02-119-167/+0
| | | | | | | | | | | | | | | Change-Id: I78cc60ff634f909111b891d5b9716e19cae35f3b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Remove old dead codeMike Krus2020-02-116-458/+0
| | | | | | | | | | | | | | | | | | | | | No more dubious agricultural jokes Change-Id: If293ed080fc31c51f71d8632383eb7b5bb68ffb1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Remove deprecated classes and functionsPaul Lemire2020-02-11153-8649/+1460
| | | | | | | | | | | | | | | | | | | | | Mostly old messaging API Change-Id: I17eb2206b2ede56d2f7d36375d5e711d6149019f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 5.15 into devMike Krus2020-02-07160-1594/+3620
|\| | | | | | | | | | | Change-Id: I731aa986e1cc45b3af920db1a23f256927beecf7