aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
Commit message (Collapse)AuthorAgeFilesLines
* Don't use reserved keyword "texture" as uniform variable nameSean Harmer2013-10-215-62/+62
| | | | | | | | | | The "texture" keyword is a function name in OpenGL core profile. This commit is in preparation for making the Qt Quick 2 renderer and materials work with a core profile context. Change-Id: Iad243e64ab8db739fc46b85bb626bdb8b9ceb208 Reviewed-by: James Turner <[email protected]> Reviewed-by: Gunnar Sletta <[email protected]>
* Prevent badly formed texture nodes in the scene graph.Gunnar Sletta2013-10-214-10/+10
| | | | | | | | | | | | | | | | | A texture based node without a valid texture is not allowed, as the material and the renderer will only tolerate well-formed nodes. If a node is missing any part of its material state it should not be in the scene graph in the first place. Because of an "optimization" in QSGDefaultImageNode::setTexture and QSGSimpleTextureNode::setTexture, we must temporarily set the texture to 0 to ensure that it gets updated properly. This temporarily puts the node into an invalid state which can lead to crashes when QSGNode::markDirty() reaches the renderer. Task-number: QTBUG-34062 Change-Id: Ic1735c9b974b90b3684262de9589133c961bac6e Reviewed-by: Laszlo Agocs <[email protected]>
* Avoid infinite loop with distance fields disabledLaszlo Agocs2013-10-161-1/+5
| | | | | | | | createGlyphNode() and createNativeGlyphNode() kept calling each other on GLES whenever QML_DISABLE_DISTANCEFIELD was set. Change-Id: Ic1c2cfe0c4c7301f82cbbcce1cb512bd515b52ef Reviewed-by: Gunnar Sletta <[email protected]>
* Initialize VariableLars Knoll2013-10-151-0/+1
| | | | | Change-Id: I60262620eab4b653108f431a4c64a745e4312177 Reviewed-by: Simon Hausmann <[email protected]>
* Don't use constructor function to initialize providersTor Arne Vestbø2013-10-153-4/+9
| | | | | | | It complicated static linking for no good reason. Change-Id: I8eb1548b799128bfab9451963cb80c72239b961c Reviewed-by: Simon Hausmann <[email protected]>
* Doc: Renamed links to "QML Applications".Jerome Pasion2013-10-151-3/+3
| | | | | | | | | | | "QML Application Developer Resources" is too long and the visible text is usually shortened to "QML Applications". The article in qt5/qtdoc changed title to "QML Applications". Change-Id: I301f3b4659bd87631269b912bcc36f6f00fdeb2c Reviewed-by: Mitch Curtis <[email protected]> Reviewed-by: Jerome Pasion <[email protected]>
* inline get_element callsLars Knoll2013-10-141-0/+1
| | | | | | | | | | | Inline calls to get_element if the base is an object with a simple array structure, and the index is an integer number. Implemented for 64bit only for now, saves ~25% on crypto.js Change-Id: I3e34a6409169d90d3937f62264707d52a6c2f9f7 Reviewed-by: Simon Hausmann <[email protected]>
* Don't leave a window current when removing itGiulio Camuffo2013-10-141-2/+6
| | | | | | | | The window may be deleted before any other window is make current, and that would lead to memory corruption with Mesa's EGL. Change-Id: I414b972fd517f60c28d194fa059bf7871e422872 Reviewed-by: Gunnar Sletta <[email protected]>
* Correct a small typo to QtQuick::Grid::horizontalItemAlignmentJan Arve Saether2013-10-111-1/+1
| | | | | Change-Id: I09d56b69d9d958e7ad4bebd78dd66316a84a50b6 Reviewed-by: Jerome Pasion <[email protected]>
* Fix the remaining objects against self destructionLars Knoll2013-10-111-0/+6
| | | | | | | | This makes pretty much all test cases pass with exact garbage collection. Change-Id: Ia874e3c17c3984afb7cfe370f9bd3ad8fe46699a Reviewed-by: Simon Hausmann <[email protected]>
* Be explicit about precision specifiers.Gunnar Sletta2013-10-081-1/+1
| | | | | | Task-number: QTBUG-33912 Change-Id: I4b6988e7385bcf9167e5f44d0bde7c80fbc1e117 Reviewed-by: Laszlo Agocs <[email protected]>
* All matrices in a batch need to be 2D safe when merging.Gunnar Sletta2013-10-082-3/+18
| | | | | | | | | | | | If we merge geometry nodes that make actual use of the z-coordinate, this information becomes lost when merging and the result is that we end up with an arbitrary wrongfully applied transformation to the merged element. Task-number: QTBUG-33897 Change-Id: I6129243e9bb890949023c35dc6b7bce30d31709a Reviewed-by: Andrew Knight <[email protected]> Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Several smaller fixes to Animators.Gunnar Sletta2013-10-083-2/+23
| | | | | | | | | | | | | | Backwards animations are not supported for animators as the animation system cannot handle uncontrolled backwards animations. Make sure we write back values only for the animators that have run at all. Clockwise rotation to 0 can easily end up on 360 as a result the _q_interpolateClockwise function not being entirely correct. Change-Id: If69b8555a1361f46600a40e80419b65438c18097 Reviewed-by: Michael Brasser <[email protected]>
* Fix qquickframebufferobject.h syncqt warningJ-P Nurmi2013-10-071-1/+1
| | | | | | | | QtQuick: WARNING: qquickframebuffe robject.h includes QQuickItem when it should include QtQuick/QQuickItem Change-Id: Ia702bab8881ade601693cbee495b1dc6a5e14abb Reviewed-by: Gunnar Sletta <[email protected]>
* Fix regression in pressDelay behavior.Michael Brasser2013-10-041-9/+0
| | | | | | | | | | | | | | | Don't deliver a press event when a Flickable is moved before the pressDelay expires. This prevents delegates flickering between pressed and unpressed states when beginning to flick a Flickable. Fixes regression introduced by 429af6244518172e19abf7fecd7112f26bac6b31/ d02131e743597b9bd3070d986c61a1c91ea8317a. Task-number: QTBUG-31168 Change-Id: Id4e853fabe99000837df3681acd8fc4e76d2e9b3 Reviewed-by: Martin Jones <[email protected]>
* Respect DirtyForceUpdate in QSGBatchRenderer.Gunnar Sletta2013-10-041-1/+9
| | | | | | | | | | | | | | There is a way this could have been done slightly more efficitently. If we moved all "combined" logic out of the scene graph and into the Node shadow tree, we could ignore the forceupdate all together. However, this is a quite large change for what is currently a non-common case. It would also increase overall memory consumption a bit as we would have superfluous combined matrix and opacity in the QSGNodes. Task-number: QTBUG-33838 Change-Id: I06c486ace2be15bef1f1dc72a8b41cb649d7c813 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Make sure to markDirty the node from UniformAnimator.Gunnar Sletta2013-10-031-0/+4
| | | | | | | | Failure to do so will not repaint scene graphs which only has changes from the animator. Change-Id: Id420775d704df17379ca9b0eecd543fd3829fd00 Reviewed-by: Michael Brasser <[email protected]>
* Make sure we apply the last transformation step.Gunnar Sletta2013-10-031-7/+6
| | | | | Change-Id: Ie9b9a04cf41033bb475875f419b16ce91f6a477d Reviewed-by: Michael Brasser <[email protected]>
* Make transform and opacity animators work when layer.enabled: trueGunnar Sletta2013-10-032-0/+15
| | | | | Change-Id: I6d9ece93a75782d524c211fc81a43f4311a38571 Reviewed-by: Michael Brasser <[email protected]>
* Remane private QQuickAction into QQuickStateActionGabriel de Dietrich2013-10-0316-130/+130
| | | | | | | | | | | This avoid symbol conflicts when statically linking with Qt Quick Controls, that has its own QQuickAction class and which may become public some day. (QQuickPropertyAction might be a more apt name, but it's already taken). Change-Id: Ia9514d63d38295603a89d8ec5a88815a651380f7 Reviewed-by: Frederik Gladhorn <[email protected]> Reviewed-by: Jens Bache-Wiig <[email protected]>
* A dynamically-created Window can have a parent Item and vice-versaShawn Rutledge2013-10-031-8/+28
| | | | | | | | | | | | There can be a QML-declared Item which uses Component.createObject to instantiate a Window; in that case the Window will be transient for the window containing the Item. There can also be a QML-declared Window which uses Component.createObject to instantiate an Item; in that case the Item's parent will be set to the Window's contentItem. Task-number: QTBUG-33644 Change-Id: I0b1fe2e98c862c100e52bd5952788af3a727d25e Reviewed-by: Alan Alpert (Personal) <[email protected]>
* A dynamically created Window can have a parent WindowShawn Rutledge2013-10-031-9/+17
| | | | | | | | | | | | | So far the parent relationship has existed only for Items. parent is still not exposed as a property of Window, but since it was possible to give a parent parameter to Component.createObject(), it makes sense to try to interpret it as a Window in that case. So now a Window can be created with another Window as its parent just as an Item can be created with a parent Item. Task-number: QTBUG-33644 Change-Id: I796198a38bd47253eef462c80f5098825451c59c Reviewed-by: Alan Alpert (Personal) <[email protected]>
* Invalidate the bounding rects when the roots change.Gunnar Sletta2013-10-031-1/+3
| | | | | | | | | When roots change, matrices are updated in the nodes, so we need to also invalidate the bounding rects for geometry nodes. Change-Id: I61f60ad069c3b1d018ce31c57310a1e5c4807684 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Animator overview docs and example.Gunnar Sletta2013-10-031-0/+19
| | | | | Change-Id: If0852e48dbbfea4fadca9c897ea0e62393763055 Reviewed-by: Jerome Pasion <[email protected]>
* Separate and fix 8/24-bit text mask materials.Gunnar Sletta2013-10-033-119/+189
| | | | | | | | | | | | | | | | | | The logic was a bit cluttered, trying to handle two rather different pieces of logic in one material shader. The 8-bit shader does not try to be fancy in any way, it just takes the alpha * color which gives similar intensities as the distance fields. The logic for 24-bit contains a tiny fix for opacity. The patch also includes a change from QColor -> QVector4D and QPointF -> QVector2D to simplify the conversion needed and be consistent with what kind of types we use. Task-number: QTBUG-33805 Task-number: QTBUG-33633 Task-number: QTCREATORBUG-10176 Change-Id: Ia8c464f98a1fc2c190a1d323fc21466a4d7b0dfd Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Remove QSGContext's precompilation step.Gunnar Sletta2013-10-032-77/+0
| | | | | | | | | Materials are managed solely inside the renderer now, so these are just wasting time. Task-number: QTBUG-33456 Change-Id: Ie320df20b7971633c257b1bd3a218e7d70e52c3d Reviewed-by: Yoann Lopes <[email protected]>
* Enable profiling of materials and atlas texturesGunnar Sletta2013-10-032-8/+60
| | | | | | | Task-number: QTBUG-33459 Change-Id: Ie9ea176fbb7ee46a128b4bf66a8f4475a5d4c90b Reviewed-by: Aurindam Jana <[email protected]>
* Mark DirtySubtreeBlocked correctly from OpacityNodeGunnar Sletta2013-10-031-2/+2
| | | | | | | | | In the edgecase where the opacity was exactly the OPACITY_THRESHOLD we would fail to mark the tree as dirty. This led to a crash in the renderer. Change-Id: I618910d0c792a215133598b6a87217be1f8729bc Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Respect Qt.vector2d as input to ShaderEffect uniforms.Gunnar Sletta2013-10-031-0/+3
| | | | | Change-Id: I7c24f822424d36cf16648d17df161f15083b0da5 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Use SafeValue instead of Value in ScopedValue methodsLars Knoll2013-10-021-8/+8
| | | | | Change-Id: Ie463efe600d498ce77d4b9e8b48abcfd61c1ab78 Reviewed-by: Simon Hausmann <[email protected]>
* Remove some more uses of QV4::ValueLars Knoll2013-10-021-4/+4
| | | | | | | All remaining uses should be GC safe now. Change-Id: I05c962de6ab896f108f70caa1bf937a24e67bfe1 Reviewed-by: Simon Hausmann <[email protected]>
* Don't delete scene-graph atlas manager if it hasn't been created yetTor Arne Vestbø2013-10-021-2/+4
| | | | | | | | | | | | QSGContext::invalidate() is called from the QSGContext destructor, but the atlas manager is only created if QSGContext::initialize() is called, which may not always happen. The result was a bunch of "QCoreApplication::postEvent: Unexpected null receiver" messages during testing. Change-Id: I11a294d48c06d687a9f82cf1ce825063cda8ecf6 Reviewed-by: Gunnar Sletta <[email protected]>
* qdoc: no longer recognizes the version nr in QML refsMartin Smith2013-10-0256-1160/+1160
| | | | | | | | | | All QML references of the form <QML-module-name><QML-module-version>::<QML-type>::<member-name> have had the <QML-module-version> removed i. Task-number: QTBUG-33776 Change-Id: Idde279e0f254cd24ea44f9841662dd81a2c5bbc6 Reviewed-by: Jerome Pasion <[email protected]>
* Fix compilation on Android with 4.8 toolchainLaszlo Agocs2013-10-011-1/+1
| | | | | Change-Id: I1ce4ec8c9c671f0130c1530c772c1dd74f1fb1f4 Reviewed-by: Simon Hausmann <[email protected]>
* Fix PathView stealing mouse grab from its child items.Andrew den Exter2013-10-011-11/+22
| | | | | | | | | | Apply the improvements that have been applied to Flickables handling of child items over time to PathView to bring its behavior back in line. Task-number: QTBUG-33699 Change-Id: I76a412d75c48f9cf2f12f5f6f1aa01ff62d06364 Reviewed-by: Joona Petrell <[email protected]> Reviewed-by: Alan Alpert (Personal) <[email protected]>
* Fix license headers of QtQuick sources.Gunnar Sletta2013-09-30247-247/+247
| | | | | Change-Id: I3750c47640bf21c3567c5fa1c4667e3e2552942e Reviewed-by: Lars Knoll <[email protected]>
* remove more uses of QV4::ValueLars Knoll2013-09-305-50/+49
| | | | | Change-Id: I11b0b2b7626297e2c98dc77784574da4b59ba8cf Reviewed-by: Simon Hausmann <[email protected]>
* Fix colorization of native rendered text...Gunnar Sletta2013-09-291-26/+43
| | | | | | | Task-number: QTBUG-33633 Change-Id: Ic7fabe36887fc19e28286ae6f4eb2f22b4211b4f Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
* Fix crash in tst_qmltest with the new animators.Gunnar Sletta2013-09-281-5/+14
| | | | | | | | | If the target of a job was deleted while it was running we need to avoid any operations on that job. Task-number: QTBUG-33723 Change-Id: Ia86856e7f32465f58e25c87f9c74c99b7cb0caea Reviewed-by: Lars Knoll <[email protected]>
* Remove Value::fromString()Lars Knoll2013-09-281-1/+1
| | | | | | | | replaced with call to the GC safe ExceutionEngine::newString() method. Change-Id: I7258296e75ca724ff42b94a0d147bc33a05f8f68 Reviewed-by: Simon Hausmann <[email protected]>
* Remove more direct QV4::Value usageLars Knoll2013-09-281-23/+23
| | | | | | | | Remove Value::fromString(String *), and make Encode safe against encoding raw Managed * pointers. Change-Id: Ibca4668e1cbeaf85c78169d14386281659d33ef6 Reviewed-by: Simon Hausmann <[email protected]>
* Move Value::fromBool, ... to a new Primitive classLars Knoll2013-09-284-16/+16
| | | | | | | | This will simplify finding the remaining direct usages of QV4::Value that need fixing. Change-Id: I223099727436d5748027c84c53d9dfc4028e38ed Reviewed-by: Simon Hausmann <[email protected]>
* Fix CallContext to not hold arguments on the C stack anymoreLars Knoll2013-09-281-300/+302
| | | | | Change-Id: I35f46cce4f243d4b8b2bac9244f8fc26836f413b Reviewed-by: Simon Hausmann <[email protected]>
* Allow animators to work properly with multiple windowsGunnar Sletta2013-09-265-51/+83
| | | | | Change-Id: I5ba663ba0fa089ea786cf43cb4dfa40cbc955342 Reviewed-by: Alan Alpert (Personal) <[email protected]>
* QSGRenderLoop: don't dereference gl pointer if it has been deletedDmitry Shachnev2013-09-261-1/+2
| | | | | Change-Id: Icd612b243cdfe1248d1b94964c53f5102f9558d2 Reviewed-by: Gunnar Sletta <[email protected]>
* Support looping for "uncontrolled animations".Gunnar Sletta2013-09-262-1/+1
| | | | | | | | | | The render thread animations rely heavily on uncontrolled animations, meaning animations with duration=-1. We support this by adding a m_currentLoopStartTime and incrementally counting the finish time of each uncontrolled animation. Change-Id: I1f2ccea09aff4c51b1a7f98a2ddb58636af50557 Reviewed-by: Jan Arve Sæther <[email protected]>
* Fix QQmlV4Function API to be GC safeLars Knoll2013-09-266-67/+82
| | | | | Change-Id: Id4f79c22fc48ada1c8a9a858e1b7b3d1cf14d120 Reviewed-by: Simon Hausmann <[email protected]>
* Fix API of QQmlV4HandleLars Knoll2013-09-265-17/+21
| | | | | Change-Id: Iac4a3fefebd33a5990408598486231a5add8e639 Reviewed-by: Simon Hausmann <[email protected]>
* Fix Persistent/WeakValue APILars Knoll2013-09-263-24/+37
| | | | | | | Don't use unprotected Values in the API anymore. Change-Id: I8851628227fca374de24701bc8ee0908b5ae3923 Reviewed-by: Simon Hausmann <[email protected]>
* Avoid out-of-bounds read.Gunnar Sletta2013-09-251-1/+1
| | | | | Change-Id: I28777806b13da1b0a9e1fecc2734de0614f2443c Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>