summaryrefslogtreecommitdiffstats
path: root/src/render/backend/computecommand.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use SPDX license identifiersLucie Gérard2022-06-221-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I8105424281eed871037fa6c463871ca8829876b5 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* ComputeCommand: call markDirty(ComputeDirty) when enabled changesPaul Lemire2021-11-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | When using Manual run mode on a QComputeCommand, we rely on the enabled property changing to enable/disable the backend ComputeCommand for a given set of frames. Since we weren't setting any dirty flag when the enabled property changed, Qt 3D was not rebuilding the list of active compute commands but rather using the one stored in its cache. This resulted in the ComputeCommand, now disabled, to still be called for execution until something else triggered a command rebuild. The renderer calls ComputeDirty after it has executed a compute call. This explains why eventually we only had 2 calls (and not a perpetual loop) when calling trigger(1). One was the valid call, followed by the invalid one (and then the command list got rebuilt because of the ComputeDirty flag set by the renderer). Task-number: QTBUG-86493 Change-Id: I7b31606a03609dc13294256b1dac89ee86730ba1 Pick-to: 6.2 5.15 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove deprecated classes and functionsPaul Lemire2020-02-111-1/+0
| | | | | | | Mostly old messaging API Change-Id: I17eb2206b2ede56d2f7d36375d5e711d6149019f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* ComputeCommand: add unit tests for manual trigger modePaul Lemire2019-10-241-1/+4
| | | | | Change-Id: Ia106a235648df7232fbcaf4f61c880a9ab5491ef Reviewed-by: Mike Krus <mike.krus@kdab.com>
* ComputeCommand/SubtreeEnabler use direct sync job to update frontendPaul Lemire2019-10-221-8/+16
| | | | | Change-Id: I773955df33f0b4dcdaa0953633761ff82f3d0da4 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Mark compute command as dirty when createdPaul Lemire2019-10-071-0/+3
| | | | | | | | | It could be that when initialized all members match the default values. We still want to mark Compute as dirty when such a node is created to trigger the proper jobs later on. Change-Id: If744fa4a140e27a9880598231c6cdad4bfab1e20 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Update QComputeCommand to use direct syncPaul Lemire2019-09-251-25/+25
| | | | | Change-Id: I5e755bbc7e3a948f7f2356d7110ac817ae32616a Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Set renderer dirty flags in initialize from peerPaul Lemire2019-08-291-2/+1
| | | | | Change-Id: I90ae642d49af5f08fb828950bbdff8a30bc111b9 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QComputeCommand allow to control the run behaviorPaul Lemire2018-11-141-3/+27
| | | | | | | | | It can either be Continuous, like it was until now or Manual. When in manual mode, the compute shader will only be executed by calling trigger() Change-Id: Icaae24f4691ccd821297f967d564e7a883fa60b5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNodePropertyChange -> QPropertyUpdatedChangeSean Harmer2016-05-101-2/+2
| | | | | | Task-number: QTBUG-51494 Change-Id: Ic326499f80b5a91b2d19c09770de926f220cc805 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename NodeUpdated ChangeFlag to PropertyUpdatedSean Harmer2016-05-101-1/+1
| | | | | | | | This more correctly reflects the semantic meaning. Task-number: QTBUG-51494 Change-Id: I3a230e959ea007f1d19808eae73b5d95b6f06514 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove QBackendNode::updateFromPeer()Sean Harmer2016-05-031-5/+7
| | | | | | | | | | Implemented a few missing initializeFromPeer() implementations along with the corresponding frontend node creation change creation functions. Adapted unit tests. Change-Id: I571e53a7b68a5544bd0e308df0baf7e52533306e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-011-1/+1
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QScenePropertyChange -> QNodePropertyChangeSean Harmer2016-04-211-2/+2
| | | | | | | Trying to unify naming of change types. Change-Id: I0bfca0b7ba5adeaaa6145f75ddb41731f76adc09 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* ComputeCommand: use m_enabled member from QBackendNodePaul Lemire2016-04-151-6/+3
| | | | | | | | sceneChangeEvent calls BackendNode::sceneChangeEvent to handle updates on the enabled property plus some special markDirty handling that might come in later. Change-Id: I03631cbfe554a2c8790f6706b403b5bfa6f8262c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make the backend use workgroup sizes from ComputeCommandPaul Lemire2016-03-051-0/+17
| | | | | Change-Id: I8b68857adad2adf8baf7a58506cb16e2b3c84d01 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QComputeJob cleanupPaul Lemire2016-03-051-0/+87
* Renamed to QComputeCommand * Removed protected ctor * Added x,y,z workgroup properties * Renamed backend elements to match frontend Change-Id: I3959ec671a7d6e86239f72336f02452ea58919ee Task-number: QTBUG-51514 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>