summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Enable QRenderCapture usage in the backendAntti Määttä2016-08-297-2/+37
| | | | | | | | 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>
* Add sendRenderCaptureJobAntti Määttä2016-08-296-3/+192
| | | | | | | Implement job for sending render capture images to frontend nodes Change-Id: I39e9cc2f059f7a7528538b3bd0279cf001ed01c6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputAspect: slightly simplify createPhysicalDevicePaul Lemire2016-08-271-3/+4
| | | | | Change-Id: Ibb21c59904bd7077e0e254fce5822241b2b9ee82 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* OrbitCameraController: disable logical device when disabledPaul Lemire2016-08-271-0/+1
| | | | | | Change-Id: I51705fc223388e608820de8544bf67677a431594 Task-number: QTBUG-55469 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* FirstPersonCameraController: disabled logical device when disabledPaul Lemire2016-08-271-0/+1
| | | | | | Change-Id: Ia720e3de334951eb64b6550fb078bcdda0995d69 Task-number: QTBUG-55469 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QOrbitCameraController: disable logical device when disabledPaul Lemire2016-08-271-0/+4
| | | | | | Change-Id: I924528efa760bed5c2d86e3a0233e1836ef003c0 Task-number: QTBUG-55469 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QFirstPersonCameraController: disable logical device when disabledPaul Lemire2016-08-271-0/+4
| | | | | | Change-Id: If5c9e381c4c07e3b2ce92a016cf6755ec799abf3 Task-number: QTBUG-55469 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* UpdateAxisActionJob: only perform job if device enabledPaul Lemire2016-08-271-0/+4
| | | | | | Change-Id: Ie5b29563f5e88df6cce14655a0e3fb35fc8de1fa Task-number: QTBUG-55469 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QAbstractTextureImage: Remove unneeded friend classWieland Hagen2016-08-271-5/+0
| | | | | Change-Id: I58030219da9cd7998cefef7bc0cfeb356ba0e166 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Calcboundingvolumejob: make run publicPaul Lemire2016-08-271-2/+0
| | | | | | | Needed for unit testing and there's no real reason to make it protected Change-Id: I638786b5a536066fb5bfe4d5eed0d5b6b2b37176 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* PickBoundingVolumeJob: only perform picking test when neededPaul Lemire2016-08-271-2/+32
| | | | | | | | | Sometimes, dragEnabled may be disabled on an ObjectPicker. If the only mouse events we get for a frame are of that type, then we can just skip picking for the frame. Change-Id: Ia24d1b165b0f6a8b2fc7e4d7a909dfe1c5c683aa Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* GraphicsHelper: export for tests + fix missing typesPaul Lemire2016-08-272-1/+8
| | | | | Change-Id: I72d48a24ac2388a93166416146f05eded0688559 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Improve robustness of QML plugin loadingSimon Hausmann2016-08-266-6/+6
| | | | | | | | | Use a variable that expands to the latest plugin version instead of hard-coding the string. Change-Id: Ia933f761c6f91bc1cedeba9f7d6e1fb2ecb810d5 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* LogicalDevice: make testablePaul Lemire2016-08-261-2/+1
| | | | | | | | By exporting it and making sceneChangeEvent public like in most other backend classes. Change-Id: I8d8a8c16c0ffebd79758f1021fb5ed5fe92e2571 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QAbstractTexture::CubeMapFace: add a new entry AllFacesPaul Lemire2016-08-262-1/+22
| | | | | | | | | | | | | When rendering a cube map to an FBO, we may want to specify that we want to render to all the faces rather than a single one. This is indeed possible with a geometry shader and using gl_Layer. For such a case we need to be able to specify that in the QRenderTargetOutput face property. Note: gl_Layer can also be used with texture arrays but a neat api to specify which layers to use on QRenderTargetOuput seems a bit more tricky in that case. Change-Id: I6abf8667fd0905d78c22ef8d5f1f792a5973bbbe 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>
* QSkyboxEntity: remove camera translation propertyPaul Lemire2016-08-266-49/+13
| | | | | | | | | | | | | | If we convert a mat4 matrix to a mat3 matrix, then back to a mat4, this removes the translation component from it. Making the skybox shaders use that property allows to remove references to the camera translation in QSkyboxEntity. This makes using a skybox neater as we don't need to care about the Camera position anymore. This also allows to render the same skybox with different cameras which required to have duplicate QSkyboxEntity previously. Change-Id: I1adddd17d151e4d26d0f19b048df88dbf738042b Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* ForwardRenderer: allow to disable frustum cullingPaul Lemire2016-08-261-0/+2
| | | | | Change-Id: I3e5ba52e5b42483cbf954c5ac40123c1ff896b29 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QForwardRenderer: use modern style connectPaul Lemire2016-08-261-5/+6
| | | | | | | So that we can benefit from compile time check Change-Id: Idefd4f59d498255162a09aae0e5db372d258b242 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* ExpandBoundingVolumeJob: make run publicPaul Lemire2016-08-261-2/+0
| | | | | Change-Id: I50a65956460ae6791df2fe09aff84c81a667e17a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* UpdateWorldBoundingVolume: make run publicPaul Lemire2016-08-261-2/+0
| | | | | Change-Id: Ifc4b934baf7b7baf673dfe4f27f048076ef434dc Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* UpdateWorldTransformJob: make run publicPaul Lemire2016-08-261-2/+0
| | | | | Change-Id: I0091f62cbcd7be787891099e0a7810e36907b49a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* CalcGeometryTriangleVolume: make run publicPaul Lemire2016-08-261-2/+0
| | | | | Change-Id: I95535083e1717f67c610efc1d2834b9937b0bcb7 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* LoadBufferJob: make testablePaul Lemire2016-08-261-2/+2
| | | | | Change-Id: Ic0b4aeb04a99747048f00c09dc18390c17849746 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Export RenderSettings for auto testsPaul Lemire2016-08-261-1/+1
| | | | | Change-Id: Idcf4532d4660241db835033ce8a366e368469318 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* GraphicsHelper: add glUniform* helper methodsPaul Lemire2016-08-2611-0/+677
| | | | | Change-Id: I2532fcbf712d4a2194569d11891f0f3a7d7f7ae1 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Implement render capture backend nodeAntti Määttä2016-08-264-3/+198
| | | | | | | | Implementation for the render capture backend node. Change-Id: I1a3153f4fac8c6d2809ed0ae701a95d456c78c20 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* PlatformSurfaceFilter: remove assertPaul Lemire2016-08-251-1/+0
| | | | | | | | | Needed so that we can have unit tests which unset the window before destruction. Otherwise we end up with crashed with the PlatformSurfaceFilter trying to unconnect itself for a destroyed window. Change-Id: If9fe61dea8e5e0e55401c67fcaabc3dd78c4284b Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* RenderViewInitializeJob: remove unused membersPaul Lemire2016-08-252-7/+0
| | | | | | | surfaceSize and devicePixelRatio aren't used Change-Id: Ieaa811e1aa463dfda90fab9656f3781929678b21 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QRenderSurfaceSelector: fix code style & indentationPaul Lemire2016-08-251-3/+2
| | | | | Change-Id: Id10633d705e407fbf7936896288300b088d93459 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QRenderSurfaceSelector: complete docPaul Lemire2016-08-251-0/+14
| | | | | | Change-Id: I66c6d7a2d6c171b34e63e1de5436ce299156734c Task-number: QTBUG-55333 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QRenderSurfaceSelector: fix externalRenderTargetSize propertyPaul Lemire2016-08-251-2/+2
| | | | | | | | | | | | Setter wasn't set on the Q_PROPERTY declaration fixed. Moved the setter to the Q_SLOT section to remain consistent with the rest of the setters. This should not affect binary compatibility. Change-Id: I63b7182b7dd6a00c78951f05e06ee86ea8e07d38 Task-number: QTBUG-55333 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Merge branch '5.7' into 5.8Sean Harmer2016-08-2523-104/+321
|\ | | | | | | | | | | | | Conflicts: tests/auto/input/input.pro Change-Id: Ic89c7d9093c95bc1c5ca50f04ed34c00b5f261f4
| * Frontend is in ms but backend in nsKevin Ottens2016-08-255-12/+14
| | | | | | | | | | Change-Id: Id57a69a80f9eddb28fd2e75ea55baf98dcac452c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix order handling in input sequencesKevin Ottens2016-08-241-0/+3
| | | | | | | | | | | | Change-Id: I79c159c70ed81345b58c6dabfd60437e20554e94 Task-Id: QTBUG-54585 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix spurious sequence trigger on first key pressKevin Ottens2016-08-241-0/+1
| | | | | | | | | | | | Change-Id: I2c8a34009d3bac400f5e156fe6321af744960de5 Task-Id: QTBUG-54585 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix timeout handling in input chordsKevin Ottens2016-08-241-9/+15
| | | | | | | | | | Change-Id: Ic4ab2d781403ada1206e7429ad1cd16ea2330aed Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix spurious chord trigger on first key pressKevin Ottens2016-08-241-0/+1
| | | | | | | | | | Change-Id: If5a28e670e8eef0a9b5a75dc3451ee584f22e72c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Move input, chord and sequence logic out of jobKevin Ottens2016-08-244-61/+62
| | | | | | | | | | | | | | | | | | | | The bookkeeping and activation logic of ActionInput, InputChord and InputSequence now move outside of the job, which make them testable properly. The tests already show bugs which will be fixed in following commits. Change-Id: I4e434118a6ba285d08632c43d487b17ee5b4cb66 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Add convenience to look for action inputs by idKevin Ottens2016-08-242-0/+14
| | | | | | | | | | | | | | | | It will look in all the possible resource managers for the corresponding id. Change-Id: I335099cd4d718cdebb9b9b3381f751f3001bfb1e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Action input nodes inherit from the abstract classKevin Ottens2016-08-246-15/+36
| | | | | | | | | | | | | | | | ActionInput, InputChord and InputSequence all inherit from AbstractActionInput now. Their process method does nothing yet though. Change-Id: I0e3aee41b2c41aa4ee16144fa1e67de95466ea63 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Add an AbstractActionInput base classKevin Ottens2016-08-243-0/+139
| | | | | | | | | | | | | | | | | | | | | | This is needed for the coming refactoring improving testability in the input aspect. Right now we got some of the action input logic done inside the job and some inside the class. This is in part due to the lack of common interface between the different action input backend node. This is a first step toward solving that. Change-Id: I803ecd1f114f635d2b275d5dadc493733fc580e8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * QInputAspect::jobToExcute: time is in fact usedKevin Ottens2016-08-241-1/+0
| | | | | | | | | | Change-Id: I63f19713c3c7b248b9e278f54201d6da2aba9d55 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * LoadTextureDataJob: No crash on null texture dataKevin Ottens2016-08-241-1/+2
| | | | | | | | | | | | | | | | This way we issue a warning but don't crash when a texture didn't load properly. Change-Id: Iec83fbfcdc77990a7350f1d2cbf75c69f8705fbe Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Use trilinear filtering for normal mapsKevin Ottens2016-08-242-2/+4
| | | | | | | | | | | | | | | | | | Porting over fixes from Sean which were only done in the QML variants of the default materials (1791e4b and 17d5edb). Change-Id: Id347066aa56b896c9e044850f55267e348f47db8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * SceneManager: small improvementsPaul Lemire2016-08-241-4/+3
| | | | | | | | | | Change-Id: I8e06a7f061d64a5d65e88663ea0974152775fd2f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * 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>
| * QSceneLoader: status is updated from the backendPaul Lemire2016-08-233-10/+25
| | | | | | | | | | | | Change-Id: I52159b0fa78ab915e73c2dc84bda9bccc3dbd0ef Task-number: QTBUG-54889 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Scene: add a setStatus methodPaul Lemire2016-08-232-0/+12
| | | | | | | | | | | | | | | | Will allow to set the status in the backend and update the frontend with it. Change-Id: Iac47e9960b8ef56c4e45ea31c616c4bc2a8f3444 Task-number: QTBUG-54889 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Implement QRenderCapture frame graph nodeAntti Määttä2016-08-254-2/+495
| | | | | | | | | | | | | | | | QRenderCapture frame graph node, frontend implementation. Change-Id: Iebeec7a7718e5adda9996ff481dfdefc1568a467 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>