summaryrefslogtreecommitdiffstats
path: root/src/render/frontend
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-203-177/+295
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/render/framegraph/qrendersurfaceselector.cpp src/render/frontend/qrendersettings.cpp src/render/jobs/renderviewjobutils_p.h tests/auto/render/render.pro Change-Id: Ibe9eb962e3990e07f01a5608a2d60c79bc4c160f
| * Fix QCameraLens moduleAntti Määttä2016-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | It's in render module not in core. Change-Id: Ic42b65c365308915e38a42561f167f81d30c3b72 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix documentation of QRenderSettings and QPickingSettingsMiikka Heikkinen2016-09-052-52/+133
| | | | | | | | | | | | | | Task-number: QTBUG-55697 Change-Id: I7a357f6f00b62c1ef2042f4088374dcd34005110 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Update QCameraLens docsAntti Määttä2016-09-051-125/+162
| | | | | | | | | | | | Change-Id: I3e2cd85d5c85b066fdcf7793adbc969092fc7736 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-052-81/+346
|\| | | | | | | | | | | | | Conflicts: tests/manual/manual.pro Change-Id: Ie1186d3465516d8d50b8261f72e64d8d454d377b
| * Update QTextureImage docsAntti Määttä2016-09-021-0/+36
| | | | | | | | | | | | | | | | Update QTextureImage docs and add documentation for QTextureImageDataGenerator and QAbstractFunctor Change-Id: Ia2067ee5ee9283727f4f37e342068a02eda4a901 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Update QCamera docsAntti Määttä2016-09-021-81/+310
| | | | | | | | | | | | | | Add missing docs Change-Id: I700e47f8e221034b12a165e9e5f0493d8e9d9960 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Silence 'no such slot' connect warning on startupAntti Määttä2016-09-023-3/+4
| | | | | | | | | | | | | | | | | | Add private slot for the function and use correct function name in the connect call. Change-Id: If27e3aa954ced1065fa8828efe156b6561c175ed Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Enable QRenderCapture usage in the backendAntti Määttä2016-08-291-1/+4
| | | | | | | | | | | | | | | | Add relevant changes to backend so that the render capture can be used. Change-Id: I0d4eaf0b1830c4a7c11a2ef1ec41167a429bfd1e Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | QRenderTargetOutput: use full type in the face Q_PROPERTYPaul Lemire2016-08-261-1/+1
| | | | | | | | | | | | | | | | Otherwise this results in QML errors. This is needed since the enum is defined on another QObject subclass and not QRenderTargetOuput directly. Change-Id: I3d4be0e64f21b3128ae67342d60f6d32c960e81c Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | Merge branch '5.7' into 5.8Sean Harmer2016-08-251-0/+1
|\| | | | | | | | | | | | | Conflicts: tests/auto/input/input.pro Change-Id: Ic89c7d9093c95bc1c5ca50f04ed34c00b5f261f4
| * Register the metatype for QFrameGraphNodeAndy Shaw2016-08-231-0/+1
| | | | | | | | | | | | | | | | Since QFrameGraphNode is used for the notifier signal then it needs to registered so that it can be passed across threads if necessary. Change-Id: Ia66b444bb18d02faa04883bba809cb14c3b3036b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-08-233-3/+39
|\| | | | | | | Change-Id: I2ba85f57eb5801d720b5a8f2e8477e8ca9abefec
| * QComputeCommand: fix was returning wrong dimensions for Y and ZPaul Lemire2016-08-161-2/+2
| | | | | | | | | | Change-Id: I96cf1aac80f6176235d45e82ee931e81cb21b4f4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QCameraLens: block notifications that shouldn't be sentPaul Lemire2016-08-161-0/+36
| | | | | | | | | | Change-Id: If2b8cf60aac69d800657073be12a7f3d6038c41e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QRenderTargetOuput: check texture is not null when setting parentPaul Lemire2016-08-161-1/+1
| | | | | | | | | | Change-Id: I666c8825582748ea1b9c582b41dacaf6e2d3a66e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch '5.7' into devSean Harmer2016-08-145-287/+77
|\| | | | | | | Change-Id: Id62e225062a030f4864fb7af2ed6f60d6be87460
| * QLayer: update the documentationPaul Lemire2016-08-101-2/+74
| | | | | | | | | | Change-Id: I9fb5af3c6ef748db961e52aed958c500fd233401 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QMaterial: fix warning about unregistered metatypePaul Lemire2016-08-101-0/+1
| | | | | | | | | | Change-Id: I5927beab2ff9208f3fd9e5addaf286cccb67aa10 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QAttribute: fix warning about unregistered metatypePaul Lemire2016-08-101-0/+2
| | | | | | | | | | Change-Id: Ibe8627a75676b181881dfb12b0278df3e30966a8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Remove qboundingvolumedebugSean Harmer2016-08-044-285/+0
| | | | | | | | | | | | | | | | | | | | | | Wasn't being built anyway which led to a warning with moc. We should rethink how we do such debug rendering so as to not hardwire a Layer component and make it work with other framegraphs not implementing a simple forward renderer. Can revert this in the future as a starting point if needed. Change-Id: I055310f440b49f144a5ab635122f2193b8c5ac12 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Enable picking of back facing trianglesMike Krus2016-08-135-0/+47
|/ | | | | | | | | | | | Added faceOrientationPickingMode to picking settings, and propagate to ray picking code. Enum can be set to front (default), back or both. Removed use of TriangleBoundingVolume and copied intersection code to avoid changing too much of a call chain that should IMHO be refactored out. Change-Id: I2834f3b1a4147f23e0f52453c8d50c146bc29e10 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Render: get rid of duplicate phong shadersPaul Lemire2016-07-191-7/+0
| | | | | | | These are already stored in extras like all the other default effects Change-Id: Ie31130adc1ecb36ef90fee40923eba774fe5b88b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderAspect: remove unused allocatorsPaul Lemire2016-07-051-4/+0
| | | | | | | | They may be reintroduced later if it appears to be a bottleneck, but it's clearly not at this point. Change-Id: I74009a9e75fba8e95b1d6c5cf562cfba3fc567f0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Make the Qt3D Renderer execute its first shell commandPaul Lemire2016-07-052-0/+8
| | | | | Change-Id: Iaf999f2091430223d12da323f8cb937d7fdefa7b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move jobs into RendererPaul Lemire2016-07-032-85/+9
| | | | | | | | Will make it easier to set dependencies between all the jobs in a RenderView since they have been split up in several. Change-Id: I88db66998eb359768e251596828057c40deba88f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Split RenderViewJobsPaul Lemire2016-07-031-0/+1
| | | | | Change-Id: I6c4f8970b14e39085480c029b8acdfcdbfc6fa8d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Unit tests for layer filtering jobPaul Lemire2016-07-021-0/+6
| | | | | Change-Id: I15f9d1105a08a72e03c89da7b2c61c0ab88ee880 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderAspect: remove assert in dtorPaul Lemire2016-07-011-1/+2
| | | | | | | | Replace by a warning as the assert trigger condition may be reached by some of the unit tests which cannot replicate the complicated shutdown procedure. Change-Id: I90c57c582a4e8b6cf98087ce78eeb198bf68c6ef Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Do not create OpenGL context until render aspect is registeredSean Harmer2016-07-012-21/+70
| | | | | | | | | | | | | | | | | | | | | | | This avoids a race where the renderer creates a context based on the default format when the render aspect is created. The alternative fix would have been to simply create the QRenderAspect after setting the default surface format. However, that would mean being careful to do that everywhere in the future too. This fixes it more neatly and completely by creating the renderer in the render aspect's onRegistered() function. Whilst in there, this also solves the previous asymmetry in the onRegistered() and onUnregistred() functions. We now also unregister backend types and re-register them in onRegistered. This is necessary because the mappers depend upon the renderer. Also added a todo to make the unregisterBackendType() functions public for 5.8. Task-number: QTBUG-54370 Task-number: QTBUG-53880 Change-Id: I09a774739df069d3210ed0efe6dd504d968b05f3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Texture loading improvementPaul Lemire2016-06-301-1/+1
| | | | | | | | | - use texture image data for hash generation - use std::move for pending texture clearing in TextureDataManager - do not add the texture to be loaded again when the status changes Change-Id: Ia0a2670211c890307eebaec6a125a5b4e928a1f8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Sphere: guard against empty points vector.Harald Vistnes2016-06-281-1/+2
| | | | | Change-Id: Ib3a8dc6c8880ea78d132f30bec772680d7cc29be Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge branch '5.7.0' into 5.7Sean Harmer2016-06-142-48/+178
|\ | | | | | | Change-Id: I6e7f3fded06f8295f33998196e826ac6d4b1513e
| * Fix broken connection due to API change in b1ace55v5.7.0Sean Harmer2016-06-122-3/+3
| | | | | | | | | | | | | | | | | | Fixed by also removing QMatrix4x4 argument in the camera's viewMatrixChanged() signal. Task-number: QTBUG-54039 Change-Id: Icf050aa73a684df824ed34584340911ec6b83f7f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Adding QDoc to QCameraRobert Brock2016-06-081-45/+175
| | | | | | | | | | | | | | | | | | Adding skeletal documentation to QCamera Task-number: QTBUG-46037 Change-Id: I7b130b4ccf8466e97a7467ede9d41e5f4a4099c6 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | Use fuzzy compare in qCameraMäättä Antti2016-06-071-3/+3
|/ | | | | | | | | Changed vector comparisons to use qFuzzyCompare Task-number: QTBUG-53670 Change-Id: I074ae099ac6897c5dd498950e5ef28ece3b4ffbc Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Adding QDoc to QRenderTargetOutputRobert Brock2016-06-011-0/+45
| | | | | | | | Adding skeletal documentation to QRenderTargetOutput Task-number: QTBUG-46037 Change-Id: I6d774c2b1bfcb5edb2e53b8a6d1363bc5b95f5d5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Adding QDoc to QRenderTargetRobert Brock2016-06-011-0/+24
| | | | | | | | Adding skeletal documentation to QRenderTarget Task-number: QTBUG-46037 Change-Id: If598a8a8dd093ae7ca436572edce93303bac3634 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Adding QDoc to QRenderSettingsRobert Brock2016-06-012-1/+37
| | | | | | | | Adding skeletal documentation to QRenderSettings Task-number: QTBUG-46037 Change-Id: I51ec35693ec4a740152274edbbd938f404df5de5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Adding QDoc to QRenderAspectRobert Brock2016-06-011-0/+22
| | | | | | | | Adding skeletal documentation to QRenderAspect Task-number: QTBUG-46037 Change-Id: I5c83c35d8df8d19cabb9530dc1ddf3f13f50c7c2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Adding QDoc to QPickingSettingsRobert Brock2016-06-011-0/+45
| | | | | | | | Adding skeletal documentation to QPickingSettings Task-number: QTBUG-46037 Change-Id: Id22f62211fc1824dbf01e2f42bc08a65015fb766 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Adding QDoc to QComputeCommandRobert Brock2016-06-011-0/+33
| | | | | | | | Adding skeletal documentation to QComputeCommand Task-number: QTBUG-46037 Change-Id: Iba99a70dc948fdff7506654feabc5582489e5aa3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Change default RenderPolicy to AlwaysMiikka Heikkinen2016-05-241-1/+1
| | | | | | | OnDemand policy doesn't work reliably in all cases yet. Change-Id: Id70e17a30f6600be988c28eedcd974eb1dcd3b3d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Avoid changing access rights to virtual methodsMike Krus2016-05-231-3/+10
| | | | | | | | Added QRenderAspectTester as friend for testing Task-number: QTBUG-53569 Change-Id: Ia7adde188065a2ba02b7fd480fcfe545ccbf4720 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Shared node bookkeepingPaul Lemire2016-05-233-1/+24
| | | | | | | | | | | | 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>
* Only try to create render jobs if we have a settings objectSean Harmer2016-05-201-2/+5
| | | | | | | Task-number: QTBUG-42353 Task-number: QTBUG-51035 Change-Id: Ic6ebaace64d314d23d85c38ed93029498167832f Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* De-inline dtors of public polymorphic classesMarc Mutz2016-05-1915-1/+43
| | | | | | | | | | | | | | 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>
* Use delegating ctor for QRenderSettingsSean Harmer2016-05-181-5/+1
| | | | | Change-Id: I358af7931fbf7831532921db2a8e01717581126a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* De-inline QRenderSettings dtorSean Harmer2016-05-182-0/+5
| | | | | Change-Id: Ia77c72948126e4034e3d8a5b701e822e886c6774 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Handle renderer shutdown request and assert in render aspect dtorSean Harmer2016-05-181-4/+16
| | | | | | | | | | | | | | | | | | | | | | If the render aspect is deleted without having been unregistered by the aspect engine, something has gone wrong. Assert on this in the dtor. Renderer::shutdown() just requests the render thread to exit. When using a threaded renderer we also have to wake up the render thread by releasing the renderview semaphore which it may be waiting to acquire in Renderer::isReadyToSubmit(). As shutdown() only requests renderer shutdown, we introduce a function specifically for performing OpenGL (or other graphics API) resource freeing. This is called when exiting the render thread in the case of threaded rendering, and directly in the case of synchronous rendering. Task-number: QTBUG-50044 Task-number: QTBUG-51035 Change-Id: Ie3a5b2aa9f64c7aeebecedd6a56c29816532f126 Reviewed-by: Janne Koskinen <janne.p.koskinen@theqtcompany.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>