summaryrefslogtreecommitdiffstats
path: root/src/render/framegraph
Commit message (Collapse)AuthorAgeFilesLines
* Fix parameter priorization documentationAntti Määttä2021-01-182-7/+12
| | | | | | | | Pick-to: 5.15 Fixes: QTBUG-64110 Change-Id: I09330ba29b0c120d6e7e0ae0b2bf8d4e388054e1 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Enable compiling non-QML API against Qt 5.15Mike Krus2021-01-051-3/+8
| | | | | | | | | | | | Built with QtQuick disabled. - C++17 required - minor issues with QList vs QVector - QMutexLocker templated vs not - moc forward declaration handling Change-Id: I5540625e74e2c009e528f56203e4b88be8d54599 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix deprecated API usage and compile warningsMike Krus2020-11-201-1/+1
| | | | | | | | | - QVariant::Type deprecated, use QMetaType related APIs - QNodeId not used as reference in for loops (nop but really noisy) - some unused code Change-Id: I291219207fcd1ad0bf89533b4e2bb5fa47a353bb Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Replace old Q_DECL statements with modern C++Allan Sandfeld Jensen2020-11-022-6/+6
| | | | | | | | Since we have long depended on C++11 now, all of these can go. Change-Id: I8808af2cd5ce192864c636b521dadd7de189563b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QFrameGraphNodePrivate: add private exportPaul Lemire2020-10-051-1/+2
| | | | | | Pick-to: 5.15 Change-Id: I7dbff87a1b7a00d4fb6d7b558c38fa6fe5d2cdd5 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Make DebugOverlay accessible from QMLMichael Brasser2020-10-021-0/+29
| | | | | | | | Register and document QDebugOverlay. Change-Id: I357918ce3448c451d796f88656ec287bf03ffcfd Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix compilation with newer qtbaseFabian Kosmale2020-08-252-0/+2
| | | | | Change-Id: Iaba2780c2ac28181cce15ae350fadd755a51999f Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* ClearBuffers: fix member initialization from uninitialized valuePaul Lemire2020-08-242-2/+2
| | | | | | | Change-Id: I7f1b2f3bca78f16abac49fa8686522aebf393d7c Pick-to: 5.15 Pick-to: 5.12 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QRenderTargetSelector: remove outputs/drawBuffers propertyPaul Lemire2020-08-134-47/+1
| | | | | | | | | | This cannot be handled with RHI and in practice nobody ever used that feature. [ChangeLog] QRenderTargetSelector remove outputs/drawBuffers property Change-Id: I6b02718733e5c05cee9074b0078ba2a544de95d6 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Use QList instead of QVector in renderJarek Kobus2020-07-0923-50/+48
| | | | | | | | | Use list-initialization. Task-number: QTBUG-84469 Change-Id: I826450646fc3c7118cae49c22a28058f47770e13 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use QList instead of QVectorJarek Kobus2020-07-0712-30/+30
| | | | | | Task-number: QTBUG-84469 Change-Id: Ic726ce85e01190dbc64426388fd454c54ae3c3e3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Renderer: move QVector to std::vector changesPaul Lemire2020-07-012-7/+7
| | | | | Change-Id: I99a55a52da55b9b8c32e0db8e47932a4eb2820fa Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix handling of SSE/AVX sourceMike Krus2020-06-171-1/+1
| | | | | | | | | | | | | | | | QtBase has macro to enable SSE handling on specific source files. But Qt3D has some classes which use those specific instruction set in headers, so any file that includes those should also have the right command line options. This adds the right command line arguments to the 3DCorePrivate target so that anything that depends on that will have the right options. 3DCore is fine because it knows about the special headers files which were tagged. Change-Id: Ia061750121fb2ab5c93600c08a5464179ca2c228 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix compile warnings related to deprecations or unused variablesPaul Lemire2020-06-081-2/+2
| | | | | Change-Id: I3d8fa0940a22f40bec3809b302cc59a40a5c3c52 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix build for Qt6Mike Krus2020-05-064-2/+4
| | | | | | | | | | | | | - 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-278-25/+98
|\ | | | | | | Change-Id: Id669d5c1aab29965eac0dabd1cb497e908dac23e
| * Merge remote-tracking branch 'origin/5.14' into 5.15Antti Määttä2020-04-214-6/+12
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Check we remove a valid node when removing from node propertiesPaul Lemire2020-02-104-6/+12
| | | | | | | | | | | | | | | Change-Id: Ibcc4d9bfd9d0a9d7697151915f24a6eecc149f6d Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Add ability to dump filter statesMike Krus2020-03-262-2/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-232-18/+20
| | | | | | | | | | | | | | | Change-Id: Id4ad6552fc1a254bd9414bab63400d624e902442 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | Make default geometries viewsMike Krus2020-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-271-1/+1
| | | | | | | | | | | | | | | | | | | | | Move QBuffer, QAttribute, QGeometry to Qt3DCore. Change-Id: I59dfd091eefadcada93350b3aba955f40b304385 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 5.15 into devMike Krus2020-02-171-15/+67
|\| | | | | | | | | | | Change-Id: I2777f6a40b9029ef5569a84e04f9e18a914504e7
| * | FrameGraph dumping: handle nesting of non FG childrenPaul Lemire2020-02-131-15/+67
| | | | | | | | | | | | | | | Change-Id: Ie48d5de80fc4f5cd007de1e3caa43c65ee3d7783 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | Remove unused data structuresMike Krus2020-02-1119-116/+10
| | | | | | | | | | | | | | | | | | | | | Was used by old node init API Change-Id: I7b68f25634ee7aaccefab6f499ac074fcfb9a7f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Remove deprecated classes and functionsPaul Lemire2020-02-1150-616/+21
| | | | | | | | | | | | | | | | | | | | | 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-0745-73/+489
|\| | | | | | | | | | | Change-Id: I731aa986e1cc45b3af920db1a23f256927beecf7
| * | Move classes in OpenGL renderer plugin into an OpenGL namespacePaul Lemire2020-02-051-0/+1
| | | | | | | | | | | | | | | Change-Id: I5314da1df7fbfd1b6db4412e7bc71231525d9de2 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Make the OpenGL renderer a pluginPaul Lemire2020-02-0527-27/+26
| | | | | | | | | | | | | | | | | | | | | | | | By default the QRenderAspect will try to load this plugin Change-Id: Ie55e207fb8e6d0b64f717bbb99699eb669eaa3f2 Task-number: QTBUG-61151 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Introduce a GLShader classPaul Lemire2020-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GLShader is renderer specific shader implementation for OpenGL. Shader now contains only backend information for a QShaderProgram frontend node. - Similar to the GLTexture handling, a generic adopt/abandon manager for shaders was introduced (regardless of the actually GraphicsAPIShader class). - The renderer and renderviews were adapted to the new changes. This was the last major thing preventing the modularisation of the QRenderAspect and renderers Change-Id: If671d60928b433977e9d6e5c58199827f9408a3f Task-number: QTBUG-61151 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Add Profiling OverlayMike Krus2020-01-177-3/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can be activated at adding a QDebugOverlay in the frame graph to identify which surface it should be renderer one (renders only once on first branch that contains such a node). Can be also activated on the forward renderer from Qt3DExtras. - Shows information about FPS and number of jobs/renderviews/commands/vertices/entities/geometries/textures... - Allows to toggle job and gl call tracing and open folder where trace files are stored - Windows to show and dump glinfo and renderview/command details to the console Change-Id: I286ff85760e8f8f0604a23458883ff22229bda94 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Add commands to dump frame graph and scene graphMike Krus2020-01-092-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | prints to the console, also dump the list of paths in the frame graph to help understand render views. Change-Id: Ic4756e09545971b224a239fafc6667b0ca3d4572 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | QSortPolicy: add Uniform sorting modePaul Lemire2019-12-202-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to perform uniform minization between adjacent render commands all the time. Since this can yield to a higher CPU usages (but more efficient rendering submission), we now make this step optional. [ChangeLog] QSortPolicy add Uniform mode (to control whether uniform minization should be performed) Change-Id: I5c0e0dba22400a9884ee1d75426fd76b073fdcb5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Use jobsDone to sync render capture back to frontendMike Krus2019-12-132-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Deprecate message APIMike Krus2019-12-092-4/+4
| |/ | | | | | | | | | | | | | | 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>
| * Doc: Fix documentation warningsTopi Reinio2019-11-133-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.13' into 5.14Qt Forward Merge Bot2019-10-261-0/+8
| |\ | | | | | | | | | Change-Id: I450f2c8e7c9887b22c5a5781f70889e6ac4e915c
| | * 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>
| * | ComputeCommand/SubtreeEnabler use direct sync job to update frontendPaul Lemire2019-10-221-18/+0
| | | | | | | | | | | | | | | Change-Id: I773955df33f0b4dcdaa0953633761ff82f3d0da4 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-266-13/+14
|\| | | | | | | | | | | Change-Id: I0a9fdfe15c620b8a0d58137ca22bab5e246aab2a
| * | FrameGraphNode: mark dirty on cleanupPaul Lemire2019-10-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise the FG cache is not rebuilt and we might have dangling pointers around. Change-Id: Id97de41092617acbf067fcac4cf7805c2eb715da Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | QSubtreeEnabler: fix doc typoPaul Lemire2019-10-171-1/+1
| | | | | | | | | | | | | | | Change-Id: I695ccc4ba4652cff114f519b7c0f9728b39729ec Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * | Restore use of Added/Removed messages for aspects not supporting syncMike Krus2019-10-144-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | If (third party) aspects don't support direct sync, restore use of PropertyValueAdded and PropertyValueRemoved messages so avoid breaking existing code Change-Id: Icac717583a8fe72acdb0cf599981251e310734bd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-1932-58/+13
|\| | | | | | | | | | | Change-Id: I45be7ae8399e3b27d1ac55ccfed2fa42a872ac23
| * | Fix compile warningsMike Krus2019-10-082-10/+10
| | | | | | | | | | | | | | | Change-Id: Iac24c13fa77bb0c6317af77f61016ee6fbf9a916 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | QSortPolicy: document Texture sortingPaul Lemire2019-10-071-0/+3
| | | | | | | | | | | | | | | Change-Id: Id3372bb01b84b5ac67e19b0f5dd0b605edb83f8f Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Clean up includesMike Krus2019-10-0131-48/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1210-12/+245
|\| | | | | | | | | | | Change-Id: Iccba3193d6b7064f0cc04124e495dd36a2f19bcb
| * | RenderSurfaceSelector: record window size instead of accessing itPaul Lemire2019-09-301-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | Avoids having to lock the window (which in case we are rendering in parallel can block for several ms) Change-Id: I9999cee52d8b07a9317d9761c546a08f98681924 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| * | Support transient enablement in QSubtreeEnablerMichael Brasser2019-09-248-6/+240
| | | | | | | | | | | | | | | Change-Id: I422cf0fb0991319b0f54e5a26b9b3694cb093454 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>