summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/qrenderpass.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update QRenderPass docsAntti Määttä2016-09-061-39/+73
| | | | | Change-Id: I62bcba620c3d222fc6d26151b21c0de1e196fc8d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* More doc for render-materialsystemColin Ogilvie2016-06-031-4/+4
| | | | | | Task-number: QTBUG-46037 Change-Id: I56e2f02992009d6ba1c094f46ad7c1e963fc9810 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Start of Skeletal Doc for render-materialsystemColin Ogilvie2016-05-251-4/+48
| | | | | | Task-number: QTBUG-46037 Change-Id: I8f2a2ed2068cbe7a4a9265a56c99845a0322df2c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Shared node bookkeepingPaul Lemire2016-05-231-8/+25
| | | | | | | | | | | | Any time a property references a QNode there is a risk that the node gets destroyed and then the property is left pointing to a dangling pointer. To handle such cases, setters of such properties are able to use a helper that internally connect QObject::destroyed signal to a setter removal method. Change-Id: I42428c851d0e3d2d88ab0cf6a5b75605334ec648 Task-number: QTBUG-53456 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* De-inline dtors of public polymorphic classesMarc Mutz2016-05-191-0/+5
| | | | | | | | | | | | | | By making the destructor (usually the first non-inline, non-pure, virtual function, and therefore the trigger for most compilers to emit the vtable and type_info structures for the class in that TU) out-of-line, vtables and, more importantly, type_info structures for the class are pinned to a single TU. This prevents false negative dynamic_cast and catch evaluation. It also allows to add code to them later, if necessary. Change-Id: I0da301cd788162abba6cdbbb21910090a22adb9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename QNodeRemovedPropertyChange -> QPropertyNodeRemovedChangeSean Harmer2016-05-101-5/+5
| | | | | | Task-number: QTBUG-51494 Change-Id: I1c7f1c680bc18c6201b790e96dc4023564837122 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QNodeAddedPropertyChange -> QPropertyNodeAddedChangeSean Harmer2016-05-101-5/+5
| | | | | | Task-number: QTBUG-51494 Change-Id: I7f59bad66eb086e2249c580be2fd9f4bad159eb3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNodePropertyChange -> QPropertyUpdatedChangeSean Harmer2016-05-101-1/+1
| | | | | | Task-number: QTBUG-51494 Change-Id: Ic326499f80b5a91b2d19c09770de926f220cc805 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove ChangeFlag from NodeUpdated change type ctorsSean Harmer2016-05-101-1/+0
| | | | | | | | | | | | ...and fix resulting compilation issues and tests. Had to temporarily allow QNode[Added|Removed] property change to be able to handle QVariant payloads too. This will be split out into a separate pair of classes in a future commit. Task-number: QTBUG-51494 Change-Id: I1748e3b8aa3c39fa171ee0c5af4204502826ba07 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename NodeAdded/NodeRemoved ChangeFlagsSean Harmer2016-05-101-1/+1
| | | | | | | | | | | | | | | | These are not just for adding/removing QNodes. They are more general in purpose and are used for adding/removing values to/from collection based properties e.g. QVector<MyValue>. The addition/removal of QNode pointers (which we translate to QNodeIds) is just the most common case. If Q_PROPERTY/QObject gains support for properties of collections and the typical operations on them, then we will be able to catch and handle most uses of these change types in QNodePrivate just like we do for setting a Q_PROPERTY. Task-number: QTBUG-51494 Change-Id: I707de1647554a61accf81dc79bfe58b289dbff7b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-011-9/+9
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNodeRemovedChange: contains QNodeIdTypePairPaul Lemire2016-05-011-4/+4
| | | | | Change-Id: I081f814c4d0a942e50c37cf30a5f731f67df5cb3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNodeAddedChange: contains a QNodeIdTypePairPaul Lemire2016-05-011-5/+5
| | | | | | | That allows to know what type of node was added Change-Id: I89829794655fac81bdc9840ae83473640b0a384a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Strip out cloning subsystemSean Harmer2016-04-291-14/+0
| | | | | Change-Id: I4def54a11de0f9c676ef6b2d7bd8e723ded25ab9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderPass use new added/removed change typesSean Harmer2016-04-271-22/+21
| | | | | | | | | Again, we should be able to avoid the NodeRemoved/NodeAdded changes for the QShaderProgram* property and rely upon the automatic handling. Leaving this for a followup round of changes. Change-Id: I8a9eb2b8471a47c84032191513d86b59e15a087e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNode: make cleanup a private slotPaul Lemire2016-04-231-5/+0
| | | | | | | | | | QT3D_CLONEABLE now implements a default dtor that calls _q_ cleanup QT3D_CLONEABLE_CUSTOM_DTOR is used for classes that really need to implement their own dtor but they need to invoke _q_cleanup manually Change-Id: I2937a3b9edeb5a763749f0044360d78ab4461a5e Task-number: QTBUG-51464 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename QScenePropertyChange -> QNodePropertyChangeSean Harmer2016-04-211-10/+10
| | | | | | | Trying to unify naming of change types. Change-Id: I0bfca0b7ba5adeaaa6145f75ddb41731f76adc09 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QVectorize materialsystem classesWieland Hagen2016-04-161-3/+3
| | | | | Change-Id: I262f3ab1136fcb60066d623c44aedb6791fc18af Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove unused attributes and uniforms from QRenderPassSean Harmer2016-03-301-12/+0
| | | | | Change-Id: I87e7cfda4ebd40b6bb94dc72b05c35740f98e08e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QRenderPass creates creation changesSean Harmer2016-03-301-0/+12
| | | | | Change-Id: Icec8d9bc2c597eeb9d4b2877f9665423a78fe65e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QAnnotation changesFranck Arrecot2016-03-171-16/+16
| | | | | | Task-number: QTBUG-51454 Change-Id: Iee08f6b1be39894c40926afb20e003d46bc735f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove ParameterMappingPaul Lemire2016-02-261-39/+2
| | | | | | | | | | | | | | * Bindings are now entirely deduced from shader introspection * Modified the BackendNodeDirtyFlags to remove the class at this prevents the operator~() to be called * Make the Renderer loop check for the ComputeDirty flag and don't unset it if set Note: uses a hack to reset m_changeSet in performCompute as right know we are sometimes missing the markDirty(ComputeDirty) set by the ComputeJob nodes. Will be sorted out later. Change-Id: Ic4fa71ecf01b625e885a58a66278387bf5b36339 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-261-4/+0
|\ | | | | | | | | | | | | | | | | Conflicts: src/doc/src/qt3dcollision-module.qdoc src/render/frontend/qcamera.cpp src/render/frontend/qcameralens.cpp Change-Id: I8a0ae250a6b8e065a1ef3c817968ebb7ef23b20d
| * Doc: Exclude private header files from the documentation buildTopi Reinio2016-01-251-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | In the documentation configuration, exclude all '_p.h' files from the documentation build. This prevents QDoc from generating documentation for private classes, and also allows removal of documentation that explicitly set the private classes \internal. Change-Id: I8fcf5c99a2a0b75e9ee5dcd928fa4a2b4b8cf34f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Unify license header usageAntti Kokko2016-01-261-12/+15
|/ | | | | | | Update old header.LGPL3 to header.LGPL Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Added parameters to signals and made setters Q_SLOTSTomi Korpipää2015-12-091-1/+1
| | | | | | Change-Id: Icec2f9f207221e35ffdeeb594bb9b4dc6ef890f1 Task-number: QTBUG-49797 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Fix QDoc warnings and do further cleanupTopi Reinio2015-11-231-1/+1
| | | | | | | | | Fix the documentation issues that still remained broken after renaming the namespaces/QML modules. Do further cleanup and minor doc editing. Change-Id: Iff38c8c1b99e7f712dc3f9ad07ecd37a747b3a26 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* Move Qt3DCore into Qt3DCore namespaceSean Harmer2015-10-131-4/+4
| | | | | | | Update other aspects, tests and examples accordingly. Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move material system into own directorySean Harmer2015-10-131-0/+319
Change-Id: Iddc3a5d41dc0aff858d8bc3c5b2f7982bd693d00 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>