summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add debug support for SphereMike Krus2018-02-232-0/+17
| | | | | Change-Id: I8262ada29898df37c33855b9cb33aead419b02a6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Update QRay3D stream IOMike Krus2018-02-231-2/+7
| | | | | | | for debugging and streaming Change-Id: Id9924fa9a99c6412069e6907473d0dfe083e3107 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add a warning to texture loading mirrored propertyAdam Treat2018-02-222-4/+24
| | | | | | | | | | | | The default behavior for texture loading of uncompressed or CPU compressed images results in a performance price at runtime. Add a warning to the documentation describing this behavior and how to avoid it. Ideally, in the future we'll have an asset conditioning pipeline that will handle this in an optimal manner for the user of the 3D framework. Change-Id: I795d011adfedcbcf8d80224a36adbf9465140066 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix color scaling in copyGLFramebufferDataToImageAnders Hafreager2018-02-221-3/+3
| | | | | | | | | | | | | | | | | Previous implementation used a component conversion for QAbstractTexture::RGBA32F (when GL_TYPE is GL_FLOAT) which results in a non-linear mapping from [0,1] to [0,127]. A non-linear mapping should only be used for some GL_TYPE other than GL_FLOAT. See https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/ glReadPixels.xhtml for more. This change maps color linearly to the range [0,255] when QAbstractTexture::TextureFormat is QAbstractTexture::RGBA32F. Task-number: QTBUG-66514 Change-Id: I4aa36b59acd193c7342ba4b0577f132e0c19ef85 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-213-9/+21
|\ | | | | | | | | | | | | | | Conflicts: src/render/backend/renderer.cpp tests/auto/auto.pro Change-Id: Idc5bb088ae7f591809f8795124a3e44410bf4cf9
| * Fix OnDemand rendering by keeping ComputeDirty from being re-enabledSvenn-Arne Dragly2018-02-142-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation would reset ComputeDirty every frame if markDirty(AllDirty) had been called earlier. This would break the OnDemand rendering policy because every frame would be rendered even if there were no changes or no compute commands in the scene. This change removes the code that would re-enable the ComputeDirty flag every frame and documents that the user must either set the rendering policy to Always or trigger the rendering of a new frame if the rendering policy is set to OnDemand. Change-Id: Ide03a3a49ee1670fd9d67ed47454c6679219765d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Remove null pointer checkJesus Fernandez2018-02-121-2/+2
| | | | | | | | | | | | | | | | >>> CID 187918: Null pointer dereferences (REVERSE_INULL) >>> Null-checking "node" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. Change-Id: Ic799724e91d118a2c5b2715c5742a4184b09a217 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * ObjGeometryLoader: Fix out of bound errorPaul Lemire2018-02-081-7/+7
| | | | | | | | | | | | | | Apparently this was a major security issue reported to security.qt-project.org Change-Id: Id52f035134ca6111e24b5820eb1b64b99449e47f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QParameter: add bookkeeping of QNode valuesPaul Lemire2018-02-212-4/+26
| | | | | | | | | | Change-Id: I0a7334907e4b34df6955fb24832958b674d7b62b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Revert "CameraControllers: use the Camera's upVector"Sean Harmer2018-02-192-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 627167bd4a2e1dc12ffee813e82f9b33bff19a22. There was a reason to use the y axis as the up vector here which is to keep the camera controller oriented correctly. Without this restriction it's far too easy to end up with a twisted camera. If we want a fully free trackball type controller, let's add that as a new type, or perhaps as an option on these. Change-Id: I56c8708535d4ccd05ccb5f2ddea732bb27abda58 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Doc: Fix documentation warnings for Qt 3D CoreTopi Reinio2018-02-1616-53/+47
| | | | | | | | | | | | | | | | | | | | | | | | This change fixes multiple QDoc warnings for Qt 3D Core that are related to how Clang parses the source code and the \fn QDoc commands. We still have a number of 'No documentation for ...' warnings left - those are not addressed in this change. Change-Id: Ia6394f453d7bd959bc4d4cc9347ac0039b80f661 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | Merge remote-tracking branch 'origin/5.10' into 5.11Sean Harmer2018-02-15100-944/+1623
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/animation/doc/src/qt3danimation-module.qdoc src/render/backend/abstractrenderer_p.h src/render/backend/buffervisitor_p.h src/render/backend/renderer.cpp src/render/backend/renderer_p.h src/render/backend/triangleboundingvolume_p.h src/render/backend/trianglesextractor_p.h src/render/frontend/sphere_p.h src/render/jobs/calcboundingvolumejob.cpp src/render/jobs/job_common_p.h src/render/jobs/pickboundingvolumejob.cpp src/render/jobs/pickboundingvolumejob_p.h src/render/jobs/pickboundingvolumeutils.cpp src/render/jobs/renderviewjobutils_p.h tests/auto/render/boundingsphere/tst_boundingsphere.cpp tests/auto/render/commons/testrenderer.h tests/auto/render/raycasting/tst_raycasting.cpp tests/auto/render/render.pro tests/auto/render/renderer/tst_renderer.cpp Change-Id: I76633bc5a5a065e5f9ea62cc16563377e5c693a3
| * | Move calculateBoundingVolumeJob dependency on updateTreeEnabledJob5.10Svenn-Arne Dragly2018-02-091-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Move it to renderBinJobs because we clear all dependencies of calculateBoundingVolumeJob at the start of this function. Change-Id: Idebe10349181d95813e47e85b2e6f4f2ae39e615 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Proceed to the next frame even if we cannot lock the surfaceSvenn-Arne Dragly2018-02-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if the render surface could not be locked or makeCurrent failed, the aspect thread would be stuck waiting for the next frame and the render thread would be stuck waiting for the render jobs. This change makes sure both threads continue, which will allow changes to the surface to be synchronized and make the render thread try to lock the surface again. Task-number: QTBUG-66243 Change-Id: I01bbe4c2ca74961f363efbe87c0586edaad41c62 Reviewed-by: Harald Vistnes <harald.vistnes@gmail.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | QAbstractCameraController: Make struct InputState publicFriedemann Kleint2018-02-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For generating Python bindings, the struct InputState needs to be public since a Python binding needs to be created for it so that a wrapper of QAbstractCameraController can be generated that calls into Python for an implementation of moveCamera(). Task-number: PYSIDE-487 Change-Id: Ib410b19a9e886ad06335dac05fd56206a72220bf Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Doc: add doc to undocumented methods and properties qt3dNico Vertriest2018-02-064-3/+29
| | | | | | | | | | | | | | | | | | Change-Id: Ia498dd96a6d35997a3f493f26b376fb8fa146196 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Sean Harmer2018-02-063-39/+50
| |\| | | | | | | | | | Change-Id: I72fdfb9a20be2f819542243e888756818b03c28e
| | * Fix crash if sharecontext is requested before initailizationMäättä Antti2018-02-062-34/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scene2D can sometimes receive the render initialization event before the qt3d renderer has been initialized. This causes crash because the sharecontext hasn't been set yet. Add safeguard against this. Task-number: QT3DS-904 Change-Id: Ib50a60ed89c12ac54c9165266466d9804affe77c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * Fix crash in scene2d at shutdownMäättä Antti2018-02-061-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The resource manager policy for scene2d nodes has been changed so the scene2d constructor gets called multiple times at startup. That in turn increments render thread user counter every time. The cleanup code gets called for each instanciated QScene2D node so at shutdown the counter never reaches zero and the render thread is not closed properly. Change the implementation so that the counter gets incremented only when the render thread has been properly initialized. Task-number: QTBUG-66003 Change-Id: I33a5b1f407e65329776bcabe0b66ff049581a435 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Sean Harmer2018-02-0534-201/+417
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/render/backend/trianglesvisitor.cpp src/render/backend/uniform.cpp src/render/jobs/calcboundingvolumejob.cpp src/render/jobs/pickboundingvolumejob.cpp src/render/jobs/pickboundingvolumeutils.cpp Change-Id: Ib8305011c51710a3538c0b29f7022388f5244a38
| | * Fix array of textures in shader parameterMauro Persano2018-02-028-52/+94
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-61759 Change-Id: I2c61f9cf41124816d10da90783c7fb9ff6088fc4 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Ensure node creation changes are sent before using in list propertiesSean Harmer2018-02-023-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This completes the fix for out of order event delivery related to creation changes. We now ensure that QNodes used as values in singular and list properties are fully constructed on the backend before they are referenced in properties of other nodes. Also added a check to not recurse into sending too many changes when adding a child node. Written with Svenn-Arne Dragly. Task-number: Task-number: QTBUG-65956 Change-Id: I1470e0f685c81d1277ac04ad985ec1b76f1c27c0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Don't compute bounding volumes for patch-based geometryMauro Persano2018-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The actual geometry for patch-based geometry renderers is computed in tessellation shaders, so don't try to compute bounding volumes. Task-number: QTBUG-66073 Change-Id: I9ff13c526859020ff85ba84e6db7c4c4b7335974 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Cleanup AssimpImporterPaul Lemire2018-02-012-10/+10
| | | | | | | | | | | | | | | | | | | | | And improve error output Change-Id: I9364e0e610cc758ad322bf96b52f57989c7ed0df Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Compile failing shaders once only and avoid asserting on failureLaszlo Agocs2018-02-013-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way a material with a broken shader will fail once (and won't be retried unless the shader code gets changed), and the application will continue gracefully, without asserting. Task-number: QTBUG-65936 Change-Id: I7003e8c6f7d9094280d7757c1020b485f93e3b37 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Make PickBoundingVolumeJob depend on ExpandBoundingVolumeJobSvenn-Arne Dragly2018-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | PickBoundingVolumeJob uses QEntity::worldBoundingVolumeWithChildren(), which is set by ExpandBoundingVolumeJob. Change-Id: Ic03360a694254e45c9abfd6863a7b101910bb7fc Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Handle 0 stride vertex dataMike Krus2018-01-292-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All examples, even with packed data, set actual vertex size on the attribute. However, convention is to pass 0 for packed data, in which case GL will compute vertex size based on number of coordinates and component data size. Neither the buffer visitor nor the triangle visitor respected this convention and relied on the real size to be set. Now computing the actual stride if it's passed in as 0. Change-Id: I9a65fd7d8d56f181e31faa93389e3fdd1a973c17 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * Revise buffer traversal in bounding volume calculationLaszlo Agocs2018-01-292-65/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Take the index attribute (and buffer) into account, when present. Rely on QGeometryRenderer::vertexCount(), when set. Initially done on dev as: 1d874d33da9174a82fccc266c66a22af006ac8ef Task-number: QTBUG-65590 Change-Id: I98d1865e3581272471d6b93b9633da38dc77163d Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * Fix componentAdded/componentRemoved notifications dispatch to componentsMike Krus2018-01-265-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a component is added to an entity, two change notifications were sent but they both were directed to the entity. This makes sure one message is sent to the entity and one to the component, as was intended. Same for remove notifications. Fixed the unit tests which where incorrectly testing for the subject id of the change notification. Change-Id: Ic697c08e92e884abf28e675e4ae2b44a93ca45d5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * Doc: Fix grammar glitch in module descriptionsKai Koehne2018-01-262-2/+2
| | | | | | | | | | | | | | | Change-Id: I8b519e3d0c5389607be069c08215c921b63e5f07 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| | * Handle multiple surfaces properly for pickingMike Krus2018-01-2610-53/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes issues with picking when having multiple viewports and/or multiple windows. Now check that the mouse event actually hits inside the viewport extents. Also track the source of events and check that the surface matches the source of the event. Remaining issue is overlapping viewports within the same window Task-number: QTBUG-59567 Change-Id: I76a4ee2bec7300d893fef6040d89bf81f2109795 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | SIMD: disable on all x86 platformsPaul Lemire2018-02-021-2/+2
| | | | | | | | | | | | | | | | | | | | | Will be restored to compatible x86 platforms later Change-Id: Ide66dea099690682fd898bd0378b3d5614c40808 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Render: Use SIMD Vectors and Matrices in the backendPaul Lemire2018-02-0254-398/+646
| | | | | | | | | | | | | | | Change-Id: I19b3b2f8fcb06eb2bc600ebe370465dd15a8eabc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Keep rendering in sync with aspect jobs by adding barriersSvenn-Arne Dragly2018-02-0220-369/+651
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that jobs that depend on a specific state of the renderer (such as context being initialized) never run before this is the case. This reduces the number of possible race conditions and checks we need to do to ensure the jobs and the renderer are in the correct state. This way we no longer swap buffers when nothing has been rendered, which in turn makes sure that we only draw one frame when the render policy is OnDemand and there are no changes. This change also adds a number of assertions on pointers to resources to make it easier to detect missing job dependencies. Finally, this change overhauls the job dependencies in Renderer and RenderViewBuilder. Task-number: QTBUG-66024 Change-Id: I3e4e9dd0dd53b5c88f5c1b17d68df42f28eae794 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Handle primitive restart in buffer visitorLaszlo Agocs2018-02-152-25/+69
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-66407 Change-Id: Ic79851e94fcadee8f707cb2682938692db094aa7 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Merge "Merge remote-tracking branch 'origin/5.10.1' into 5.11" into ↵v5.11.0-alpha1Liang Qi2018-02-1415-201/+294
|\ \ \ | | | | | | | | | | | | refs/staging/5.11
| * \ \ Merge remote-tracking branch 'origin/5.10.1' into 5.11Liang Qi2018-02-1415-201/+294
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/render/backend/renderer.cpp src/render/backend/renderer_p.h tests/auto/render/renderer/tst_renderer.cpp Done-with: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Change-Id: I2ca9bac4777e51434579edf86030414734f533ac
| | * | | Fix crash in scene2d at shutdownv5.10.1Määttä Antti2018-02-081-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The resource manager policy for scene2d nodes has been changed so the scene2d constructor gets called multiple times at startup. That in turn increments render thread user counter every time. The cleanup code gets called for each instanciated QScene2D node so at shutdown the counter never reaches zero and the render thread is not closed properly. Change the implementation so that the counter gets incremented only when the render thread has been properly initialized. Task-number: QTBUG-66003 Change-Id: I33a5b1f407e65329776bcabe0b66ff049581a435 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> (cherry picked from commit 564dfd87c5b1317dcf9fbc4d1c8d858c72513421) Reviewed-by: Antti Määttä <antti.maatta@qt.io>
| | * | | Fix crash if sharecontext is requested before initailizationMäättä Antti2018-02-082-34/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scene2D can sometimes receive the render initialization event before the qt3d renderer has been initialized. This causes crash because the sharecontext hasn't been set yet. Add safeguard against this. Task-number: QT3DS-904 Change-Id: Ib50a60ed89c12ac54c9165266466d9804affe77c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> (cherry picked from commit 13f340c92bdf725d214ab4840fc2e071d12d6e00) Reviewed-by: Antti Määttä <antti.maatta@qt.io>
| | * | | Ensure node creation changes are sent before using in list propertiesSean Harmer2018-02-083-2/+29
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This completes the fix for out of order event delivery related to creation changes. We now ensure that QNodes used as values in singular and list properties are fully constructed on the backend before they are referenced in properties of other nodes. Also added a check to not recurse into sending too many changes when adding a child node. Written with Svenn-Arne Dragly. Task-number: Task-number: QTBUG-65956 Change-Id: I1470e0f685c81d1277ac04ad985ec1b76f1c27c0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> (cherry picked from commit 8fa23602cff47de6d19d05a8428a8e753bf73d61) Reviewed-by: Antti Määttä <antti.maatta@qt.io>
| | * | LoadSceneJob: refactored to minimize code duplicationPaul Lemire2018-02-014-41/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also improve error output Change-Id: Ibf4a4340c83dadd507f4f356682cc861930fe2fd Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * | Make PickBoundingVolumeJob depend on ExpandBoundingVolumeJobSvenn-Arne Dragly2018-02-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PickBoundingVolumeJob uses QEntity::worldBoundingVolumeWithChildren(), which is set by ExpandBoundingVolumeJob. Change-Id: Ic03360a694254e45c9abfd6863a7b101910bb7fc Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Fix OnDemand render policySvenn-Arne Dragly2018-02-014-95/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OnDemand render policy has no effect because the ShadersDirty and ComputeDirty flags are always set. This commit resets ShadersDirty so that ShaderGathererJob is only run when needed. It also introduces the TechniquesDirty flag so we know when to run FilterCompatibleTechniqueJob and makes sure the job is only run if the context has been initialized and the renderer is running. Task-number: QTBUG-65965 Change-Id: Icbcc03ed2dc6b14c6580cc794267b5a88e5f4ca2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Make ShaderGathererJob depend on FilterCompatibleTechniquesSvenn-Arne Dragly2018-02-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ShaderGathererJob will use Technique::isCompatibleWithRenderer() while looking for dirty shaders. This is set in the FilterCompatibleTechniquesJob, but it might run after (or, even worse, at the same time as) ShaderGathererJob. Task-number: QTBUG-66024 Change-Id: I929e87b9c67068b51f7d64c637b1741d743b1839 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Organize dirty bits in categoriesSvenn-Arne Dragly2018-02-013-25/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To get a better overview of which dirty bits changed at what time, this change organizes them in the following categories: - current: dirty bits at job building - marked: dirty bits marked since last job building - remaining: dirty bits set but not cleared in the previous frame Further, within renderBinJobs, we add a variable "notCleared" to keep track of which bits in "current" should be set in "remaining". Change-Id: I43a42a4fd495a6d9f794721d1f09381718dfa647 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Initialize the unused memberThiago Macieira2018-01-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 7 complains that it is used uninitialized. The line number points to the opening brace of the class, so I suppose it's the implicit copy constructor. Loading undefined floating point values is probably a bad idea. Could generate an FP exception. animationutils_p.h:126:8: error: ‘<anonymous>.Qt3DAnimation::Animation::ChannelNameAndType::pad’ may be used uninitialized in this function [-Werror=maybe-uninitialized] Change-Id: I11d489f37e7e424b971dfffd150e3268d4be9294 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * | Fix warning about unused variableThiago Macieira2018-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | assimpimporter.cpp:616:75: error: unused parameter ‘basePath’ [-Werror=unused-parameter] Change-Id: I8d96dea9955d4c749b99fffd14cd62dd3d0fa45f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | | Add private api to retrieve a vector of typed componentsJuan Jose Casafranca2018-02-141-0/+13
|/ / / | | | | | | | | | | | | Change-Id: If53d29902d786c3e8369e521582aee5ab0bdcf7a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Fix regression crash on Windows when ES2 is usedDavid Cremoux2018-02-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Using OpenGL ES 2.0 cause a division by zero due to a modification to GraphicsHelperES2: uniform.m_rawByteSize is not correctly initialized. Task-number: QTBUG-64964 Change-Id: Ib500b683b1402d0160a5e18236ac5b0a4cbf131a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Avoid duplicate animation job dependenciesKaj Grönholm2018-02-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When testing Qt3D Studio runtime 2.0, noticed slowing down and memory usage increasing which came from AspectTaskRunnable m_dependers growing. Located reason being multiple dependencies to m_findRunningClipAnimatorsJob, so make sure that each job has only single dependency to that and m_loadAnimationClipJob. Task-number: QT3DS-909 Change-Id: I0d3ebc3ea2ab17af51394c69bc32b8aa2db0913e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>