aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * The cached objects can be deleted, so keep them in a QPointer.Gunnar Sletta2014-08-142-1/+104
| | | | | | | | | | | | | | | | | | Change-Id: Ieaebd2e7b9823cbe22efc331e42ceab8fbbda0e8 Task-number: QTBUG-40201 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fix potential deadlook in threaded renderloop.Gunnar Sletta2014-08-141-0/+12
| | | | | | | | | | | | | | | | | | Change-Id: I415e632aa4e584c8fca745581f25a676db0eae42 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| | * Added a signal handlerVenu2014-08-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without the onHeightChanged signal handler the transition of the NumberPad from left to right is incomplete especially on a mobile device where the window is scaled to fit the view. So the NumberPad ends up hidden behind the Display. Task-number: QTBUG-36086 Change-Id: Iab021c9f2572a4ac83bc393dddc24ddd31849cb4 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Fix typo in Context2D documentation.Mitch Curtis2014-08-141-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: Ib6e2436ba383a2caf78ac359883338016c2b7668 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | Added an example that shows how to consume texture providers from C++.Gunnar Sletta2014-08-2610-1/+610
| | | | | | | | | | | | | | | | | | | | | And how to use use two textures in the same material. Change-Id: Idcc618ed359422c2a104eeed105b7c4f5086ee4e Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | Clamp QQuickItem::opacity to [0,1].Gunnar Sletta2014-08-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was an oversight the the implementation of setOpacity. QSGOpacityNode already does the right thing. [ChangeLog][QtQuick][Item] When Item.opacity is set to a value outside the range of 0 to 1, it will be clamped. Change-Id: Ib7f23c5d8860c76e009a25e5ab2c36db20301faf Reviewed-by: Raine Mäkeläinen <raine.makelainen@gmail.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | | Mark custom node in textureinthread dirty after rendering textureTasuku Suzuki2014-08-261-0/+2
| | | | | | | | | | | | | | | Change-Id: I4401a6db18b1fcc69403062f3f4775d3b62dfd3e Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Fix QML2 hang on gcc 4.6.3 armhfPelle Johnsen2014-08-251-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With gcc 4.6.3 armhf (defualt for Ubuntu 12.04) some optimization bug results in QML2 v4 compiler hang during type inference. Task-number: QTBUG-40364 Change-Id: Iea1a8be3b5a7d9410304110d89dae3735339cb72 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | | QSM: Reintroduce guard argument evaluationSebastian Sauer2014-08-257-12/+340
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements the suggestion from Simon Hausmann (codereview 89716 from 08-05 14:46) to use QQmlScriptString rather then the previous used MetaObject-manipulation. This also introduces comparison operators for QQmlScriptString to be able to determinate if a QQmlScriptString changed what is needed cause there is otherwise no way to access (all) the needed details within QQmlScriptStringPrivate. Change-Id: I198479eac8fd37cbdd98a99aacdd8eebf7b75d21 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Remove references transforms have to items in QQuickItem's destructor.Mitch Curtis2014-08-253-0/+55
|/ / | | | | | | | | | | | | | | | | | | In case they try to remove themselves from our list of transforms when that list has already been destroyed after ~QQuickItem() has run. Task-number: QTBUG-40877 Change-Id: Ie57f5dd1e8b791846f08629183974c771553c4bf Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | Make QQuickPaintedItem a texture provider.Gunnar Sletta2014-08-264-1/+84
| | | | | | | | | | Change-Id: I605dc35fcc2284a890851c41946cf95537e92d2e Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Make use of QQuickWindowQObjectCleanup in QQuickImage.Gunnar Sletta2014-08-261-14/+5
| | | | | | | | | | | | | | Saves us a few lines.. Change-Id: I572f6fc44ede3b923208ce3563116d8fcc9bb922 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Make Canvas a texture provider.Gunnar Sletta2014-08-262-10/+76
| | | | | | | | | | Change-Id: I8b5c9d8a5ed9ef9079eafb30ef0cb73786204ee6 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Update license headers and add new licensesJani Heikkinen2014-08-251547-29871/+17318
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* | Add const & to argumentsAlbert Astals Cid2014-08-2414-28/+41
| | | | | | | | | | Change-Id: I1bcf69638fee32b6e6565b8ea828c0adcff48a67 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Mark QQuickFBO's node dirty after rendering the texture.Gunnar Sletta2014-08-241-0/+2
| | | | | | | | | | | | | | | | It is impossible to use in a shader effect otherwise. Change-Id: I489e6ae43cdc3fe8f54efa6d86ead4d21831b84d Task-number: QTBUG-40809 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Introduce QQuickWindowQObjectCleanupJob.Gunnar Sletta2014-08-241-0/+14
| | | | | | | | | | | | | | | | Convenience for cleaning up texture providers. Private class for now, we can maybe make it public in 5.5. Change-Id: I3489fde2a268bc988634a16f87ee558b9ac5dba2 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Improve the internal NodeVisitorEx APISimon Hausmann2014-08-232-21/+33
| | | | | | | | | | | | | | | | | | Allow the implementation of visit to control whether the children should be processed afterwards or not. This is modelled after the JS AST visitor in Qml. Change-Id: I5b1adf5e1aefd8899bf444e993ddfbf2c5c125c9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Downscale textures which exceed the GL texture limitGunnar Sletta2014-08-237-8/+106
| | | | | | | | | | | | | | | | | | | | This way they will at least render. [ChangeLog][QtQuick] Images exceeding GL_MAX_TEXTURE_SIZE will be downscaled to fit so they will still show. Change-Id: I169ecac768036812b8e14265ec1a0a8902655666 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Cleanup: Separate the sub-tree layering out of QtQuick into the scene graphSimon Hausmann2014-08-2315-516/+663
| | | | | | | | | | | | | | | | | | | | This basically renames QQuickShaderEffectTexture to QSGDefaultLayer and introduces QSGLayer as interface to be used. QQuickShaderEffectTexture is generic for the scene graph and has no QtQuick dependencies. The interface separation allows scene graph backends to customize layers. Change-Id: I9a7f37addaa4b80a34ff9a1456b0cb9b16d4e9f3 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Introspect qrc files in FolderListModel.Gatis Paeglis2014-08-227-12/+38
| | | | | | | | | | | | | | | | | | | | | | | | And don't use "file watchers" for resource file paths, otherwise it generates the following warning: QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory Change-Id: I6b75c9195fb2b2ba7b3e0bb7d146fc5cd343927e Task-number: QTBUG-40307 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Avoid creating fbo with zero size in QQuickWidgetLaszlo Agocs2014-08-221-0/+5
| | | | | | | | | | | | | | Get rid of incomplete attachment warnings on Android. Change-Id: I7da546861b1814677b0c8ae110416f69bbbb7edc Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Cleanup: Remove ShaderEffectSourceNodeSimon Hausmann2014-08-222-30/+34
| | | | | | | | | | | | | | | | We can simply use a standard image node and do the dirty marking also directly in the texture (both live in the same thread). Change-Id: I7345c702613782adec3c6a36a7705a2a54ed82ec Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | v4: Enable primitive conversation to QQmlScriptString in javascriptSebastian Sauer2014-08-226-2/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes following QML-code proper working: ParentChange { x: 0 Component.onCompleted: x = 10 } where x is a QQmlScriptString. Before this patch an error-message would be thrown that the bool/int/string/etc cannot be converted to a QQmlScriptString. With the patch primitive types including null and undefined are proper converted to a QQmlScriptString. The patch ignores (as in not implements) function/binding assignment. Unfortunately since commit aa25ad8d5f4 its not possible any longer to instanciate QQmlScriptString what means there is otherwise no (easy) way to inject a QQmlScriptString from within Javascript. Change-Id: I18aac6a6e9a57f3b7d0a2d66cdab2be6c3c153c5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix memory corruption in shader materials.Gunnar Sletta2014-08-191-2/+4
| | | | | | | | | | | | | | | | | | | | Change ee616b3905106a3eedef9ee964ab283ef45c7dbc accidentally removed the member variable used to refcount the attribute names. This resulted in the names being deleted and the stored const char *'s to become invalid. Add it back. Change-Id: Ie33f75cd76085283a5ee685602e023bb3c42c896 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | V4 IR: Add loop peeling.Erik Verbruggen2014-08-183-23/+243
| | | | | | | | | | | | | | | | | | | | | | | | By peeling the first iteration off of a loop and putting it in front of the loop, type inference can deduce more type information for esp. loop induction variables. To prevent increasing the code size too much, only the inner-most loops are peeled. This gives a 10% speed-up on crypto.js. Change-Id: I57f9611695bc8defc0bff84e440b8a20b2c8a34e Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* | V4 IR: add immediate dominator re-calculation.Erik Verbruggen2014-08-183-98/+276
| | | | | | | | | | | | | | | | | | When removing edges, the control-flow graph changes, so some immediate dominators might need to be updated. This change collects all candidates and processes them in a single batch. Change-Id: I928f42232427a84bcb9658e314dadd0bd021b12f Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* | Doc: Removing url variable from qdocconf file.Topi Reinio2014-08-162-2/+0
| | | | | | | | | | | | | | | | -url inherited from the url variable set in qtbase/doc/global Change-Id: I94a0da7aa98af1fdd6140168fe9feb27b11c0bdb Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Fix setContextObject to re-evaluate bindingsAlex Montgomery2014-08-152-0/+13
| | | | | | | | | | | | | | | | | | Fix QQmlContext::setContextObject to reevaluate bindings as the documentation says that it should. Task-number: QTBUG-40798 Change-Id: Ifbd97c7a07a5432f4948937da863370b05705206 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix cursorShape with QQuickWidgetLaszlo Agocs2014-08-152-6/+12
| | | | | | | | | | | | Task-number: QTBUG-40729 Change-Id: If3b2f8ca8795da1ac7c626db9c872f735d1e7b5d Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | CleanupSimon Hausmann2014-08-1524-208/+201
| | | | | | | | | | | | | | | | | | Merge QV4::CompiledData::QmlUnit into QV4::CompiledData::Unit. For pure JS units it means a slight increase of memory usage by a few bytes, but overall it makes the code a lot simpler. Change-Id: Ib48927749720b056f004aac0fe22cb8ec729e3f6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix flicker when showing QQuickWidgetLaszlo Agocs2014-08-141-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also reintroduces the change from commit 14b4747b17d522fe57f3a5f21738c5a89323b5e2. Due to some bizarre merge issue that change has disappeared from qquickwidget.cpp and its history. It is there in the main log, though. The new fix depends on this older one, so the combined one fixes the following three issues: 1. Polish and sync cannot be skipped when we are rendering for the first time. 2. Recreating the fbo twice when the widget is shown. Calling createFramebufferObject() is not necessary in this case since createContext() will trigger this anyhow due to scenegraphInitialized(). 3. Avoid recreating the fbo when the size is the same as before. Some platforms are keen on sending resize events with the same size. These should be ignored. What's worse, some platforms (cocoa) generate a resize on exitting (Cmd-Q) and not ignoring the resize at that stage is dangerous since the scenegraph is already invalidated. Task-number: QTBUG-40710 Task-number: QTBUG-40505 Change-Id: I2e897acc68fa68233563a1db63ffb6c5d0baad73 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | V4 JIT: fix int32 to double conversion codeErik Verbruggen2014-08-141-2/+4
| | | | | | | | | | | | | | Missing else: two (nearly identical) conversions would get generated. Change-Id: I745120f81d42bf28fbce7ab6a62da909a8e14458 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | V4 JIT: add d8-d15 as available FP registers on ARM.Erik Verbruggen2014-08-141-1/+8
| | | | | | | | | | | | | | | | | | | | VFP3-d16 is the minimum implementation available on ARMv7, so these registers are also always available. The big added bonus is that they are callee saved, so using them will result in less loads/stores for doubles. Change-Id: I0cab3fe24d8677315b4c7d9449d8619cbf9a2919 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | V4 JIT: support saving used callee saved FP registers.Erik Verbruggen2014-08-144-21/+46
| | | | | | | | | | | | | | | | This is not used yet by any platform/abi we support, because we do not define any callee-saved FP registers. Yet. Change-Id: I5857a452456175398c5e9681ff33800b9431b9da Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | V4 JIT: calculate used registers and only save those.Erik Verbruggen2014-08-143-2/+37
| | | | | | | | | | | | | | | | | | Instead of saving all possibly used ones. Note that floating point registers are not saved yet, as we don't support callee-saved FP registers yet. Change-Id: I1db2ba2513f7b466c64ec103eda0c464269247b0 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | V4 JIT: parameterize the prologue and epilogue generationErik Verbruggen2014-08-146-69/+84
| | | | | | | | | | | | | | | | | | ... with the regular (non-FP) registers that need to be saved. This patch shouldn't change any of the JIT generated code, because all regular callee saved registers are passed in. Change-Id: Id11b8f37f06d80e8015ac6f0d0ccefdfa3342cbe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Propagate the accepted flag back in QQuickWidget mouse handlersLaszlo Agocs2014-08-141-0/+4
| | | | | | | | | | | | Task-number: QTBUG-40784 Change-Id: Ieff4b38358f241aebeb16ec877e05179b01cc004 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | QQuickWidget: resolve samples also when rendering is triggered from resizeLaszlo Agocs2014-08-141-1/+6
| | | | | | | | | | | | | | | | The normal update path did the resolving properly. However when we re-render due to a resize, it was not done at all. Change-Id: I3d55be111a4338e8f3dbb1081972f47daca53b35 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Frederik Gladhorn2014-08-148-42/+20
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-148-42/+20
| |\| | | | | | | | | | Change-Id: I2e06c2fcd8aa9d5d090f0568be75272ec82f7b20
| | * Disable threaded FBO canvas drawing when not supported.Gunnar Sletta2014-08-141-0/+10
| | | | | | | | | | | | | | | | | | | | | Change-Id: I1e8300c61ba31a5400fc43f85a9c39d2245b4518 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * V4 JIT: fix JS stack frame size calculation.Erik Verbruggen2014-08-131-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | StackLayout::calculateJSStackFrameSize now returns the size in number of QV4::Value items, instead of bytes. The value is then multiplied in the assembler by sizeof(Value) to get the number of bytes. Previously, the return value was number of bytes, which also got multiplied. A direct effect is that the JS stack size will be ~87% smaller, with the nice effect that the GC will run faster (less roots on the stack). It also won't retain objects whose reference accidentally ended up on the stack below the used portion for the current function, so possibly freeing (more) objects (earlier) than before. Change-Id: Idd5a9c173e641c03e6b8a6fe743e403eda34dfe0 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| | * Correct strokeRect documentation.Mitch Curtis2014-08-121-1/+1
| | | | | | | | | | | | | | | Change-Id: I81c61f3b32819e45e15b2be472e71e48fac0c148 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Silence harmless compiler warning.Gunnar Sletta2014-08-121-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | AlignJustify is not a tested value, but the compiler warning can throw you off, so best to keep it quiet. Change-Id: I0b3d717dfe2c11fc4367e7eceb5b83009c4e0a30 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| | * benchmarks: Skip compilation of (and mark with FIXME) a few benchmarks that ↵Robin Burchell2014-08-122-2/+2
| | | | | | | | | | | | | | | | | | | | | don't build. Change-Id: I4d2e9bf3a520636c568a6b58e311994693446c97 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * benchmarks/particles: fix projects to actually buildRobin Burchell2014-08-122-2/+2
| | | | | | | | | | | | | | | Change-Id: I3edb05279119b921b50a0329dfd47f0ff2cdb9bc Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * Fix compilation of tst_compilation (:-P) benchmark.Robin Burchell2014-08-122-31/+1
| | | | | | | | | | | | | | | Change-Id: I7bbf24d816a356f100d7e2c5a8e7a81218f0f54d Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | Reinitialize in QQuickWidget properly after hide and showLaszlo Agocs2014-08-141-22/+29
|/ / | | | | | | | | | | | | | | | | hide() followed by a show() results in totally broken QQuickWidgets due to not initializing scenegraph again. Task-number: QTBUG-40710 Change-Id: Id3cded2917d20c165b5885f3f2195d5c4566de89 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Silence unused parameter warning in release builds.Erik Verbruggen2014-08-141-0/+1
| | | | | | | | | | Change-Id: I02e5dd0bf511056c876c4e418334cad96657703e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>