summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash when a ShaderEffectSource is missing a sourceItemv5.6.05.6.0Gunnar Sletta2016-02-251-0/+2
| | | | | | | Task-number: QTBUG-51375 Change-Id: I98029d5a617c730a18897bebae27cf14c1d7b876 Reviewed-by: Thomas Senyk <thomas.senyk@pelagicore.com> Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Make Item::layer::effect: Effect {} work againv5.6.0-rc1Gunnar Sletta2016-01-112-11/+26
| | | | | | Task-number: QTBUG-49979 Change-Id: I7745b313194570b7ca0d086d41894a6d71f7610a Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Fix SourceProxy's method for determining when to activate.v5.6.0-beta1Gunnar Sletta2015-12-083-17/+44
| | | | | | | | | | The logic had several flaws, including not respecting sourceRect and wanted interpolation, so do it over. Change-Id: I40b147a0e18ef5f9f3a0086904f9e9f93463c7fc Task-number: QTBUG-47749 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Update tests results of QColor <=> QString conversion code updateJędrzej Nowacki2015-12-031-3/+3
| | | | | | | The tests was depending on a buggy behavior (QTBUG-37851) Change-Id: I238ff02a3ac4cdb4690b5233603f7cb4db3ef422 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* Use fallback blur shader for radius * 2 + 1 != sampleCount.Gunnar Sletta2015-11-053-16/+14
| | | | | | | | The faster code path looks a lot worse in this case, so fall back to use the generic arbitrary large blur size for this case. Change-Id: I3984b3bf48732a83dd112b7beb0fb4c3f8d38568 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Move QtGraphicalEffectsPlugin classname declaration to private qmldirMitch Curtis2015-11-032-1/+1
| | | | | | | | | | The public plugin is QML-only, and static builds of Qt require this information to be present in order to resolve module imports. Change-Id: I3ae6b92ab57df594e2778b4f19635bd353271acb Task-number: QTBUG-48830 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Clamp DropShadow's radius to [0, floor(samples/2)]Gunnar Sletta2015-10-191-1/+1
| | | | | | Change-Id: Ib92b7adf0c46aa6456797ba69c42f38fc67021bf Task-number: QTBUG-47749 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* changes file for 5.6Gunnar Sletta2015-10-191-0/+55
| | | | | Change-Id: I0cb28d78fecf027d19eca859a2e2b51f2fd9fb07 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Make DropShadow properties into 'real' again.Gunnar Sletta2015-10-192-9/+5
| | | | | | Change-Id: Icf416b5db2cf9dbb0be29fc0e3b9a855c58035e3 Task-number: QTBUG-48625 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Ensure GL_MAX_VARYING_VECTORS is definedSamuel Gaist2015-10-191-0/+4
| | | | | Change-Id: I8791c5879a5dc988249805d8e97b3a268e834380 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Correct value of GL_MAX_VARYING_FLOATSSamuel Gaist2015-10-191-1/+1
| | | | | | | | The constant value used for GL_MAX_VARYING_FLOATS is the value of GL_MAX_VARYING_VECTORS. Change-Id: I80c3bd8be34503bcc31cc040435248834fd811a1 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Test type of double propertiesMitch Curtis2015-10-091-4/+55
| | | | | | | | | | This allows us to sanity-check future changes. The newly added checks are expected to fail until QTBUG-48625 is fixed. Change-Id: I9d505ee83ce774a13334c9d2e3c03baea0862237 Task-number: QTBUG-48625 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* add requires() on quickOswald Buddenhagen2015-09-291-0/+2
| | | | | | | | | | quick may be missing even though declarative is built, as it has a conditional on opengl being enabled. consequently, we can't rely on the repo dependency in the top-level repo. Task-number: QTBUG-48498 Change-Id: Ie0e54b991fc5e875a2a51f7a36e95855f726c0c9 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* Purge spurious execute permissions.Edward Welbourne2015-09-2945-0/+0
| | | | | | | | Running graphics and QML files would just be asking for trouble. Change-Id: I36ae4d060d1794f572230b04d1b1d4de30ed80e8 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* Doc: minor link issuesNico Vertriest2015-09-0910-21/+21
| | | | | | | Change-Id: I61c44a8b5e8f72886e46d55f638b9fa392aaeec7 Task-number: QTBUG-43810 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* restore previous context in QGfxShaderBuilderJoerg Bornemann2015-09-071-1/+7
| | | | | | | | | | QGfxShaderBuilder can be called while we're in the process of rendering a window. We must restore the previous OpenGL context instead of making a null context current. Change-Id: I6d1158bbcee781a7850d5fc7bea9e7070d62c0f6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6v5.6.0-alpha1Liang Qi2015-08-282-0/+688
|\
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-212-0/+688
| |\ | | | | | | | | | Change-Id: I64fdd5f0c14e0f07aa499aad5a3fea50d0b83ab4
| | * Merge remote-tracking branch 'origin/5.4' into 5.5v5.5.15.5.15.5Liang Qi2015-08-190-0/+0
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I1d337a7aa19c3134ad784c726fc1055c06b3a3d2
| | | * Bump version5.4Oswald Buddenhagen2015-04-201-1/+1
| | | | | | | | | | | | | | | | Change-Id: I84d9e57d5f993d8641613c9ccc4c24860f07ff8f
| | * | Add the GPLv3 license textThiago Macieira2015-08-132-0/+688
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LGPLv3 refers to it but does not include it in its body. Change-Id: Ib056b47dde3341ef9a52ffff13eed18cf3504738 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | | Rename uniform step->dirstep to avoid conflicts with built-inGunnar Sletta2015-08-282-6/+6
|/ / / | | | | | | | | | | | | Change-Id: Ifcffcaf3d057162bb6eb8af9cd3c2277bc5bf206 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | | Change the default DropShadow offset back to 0.Gunnar Sletta2015-08-172-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Though this makes DropShadows work out of the box and be less confusing to users, it also ends up breaking code that uses DropShadow as a glow effect. Change-Id: Id65dc85d2877709f3bd8d036f06c7b8fc2886777 Task-number: QTBUG-47749 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-093-67/+124
|\ \ \ | |/ / | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iaee160172f27e36a8fa7c46a9f2154c6864d93de
| * | Doc: rearrang tables with overflowNico Vertriest2015-07-153-67/+124
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-46475 Change-Id: I6f3256255089e40180af72d73b4c1d86ca505292 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * | Bump versionOswald Buddenhagen2015-06-291-1/+1
| | | | | | | | | | | | Change-Id: I87ae8ef991682e812f9e3c09d5d28170a8d9e505
* | | Fix warnings in gradients.Gunnar Sletta2015-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | We're assigning 'undefined' to it, so implement a resetter. Change-Id: Ie43282043b250f2e9cd247d4819b1827ab7e9e97 Task-number: QTBUG-46774 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Adapt QtGraphicalEffects autotest to check for the new values.Gunnar Sletta2015-03-241-15/+11
| | | | | | | | | | | | | | | Change-Id: Iff577c9400cf2b3de9b97c8b898b4c971a2b9514 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Implement MaskedBlur in terms of the new GaussianBlur.Gunnar Sletta2015-03-244-127/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mask code uses the fallback shader which is equivalent, performance wise, to what we have in Qt 5.4, but in the interest of keeping one codebase for all the blurring, we'll replace it anyway. 'transparentBorder' doesn't do anything anymore because it never really worked to begin with and it doesn't make sense. See comment in code. 'fast' codepath has been removed because it isn't really all that fast. [ChangeLog] MaskedBlur has a new blur implementation. The default values of properties has been updated such that 'layer.effect: MaskedBlur { maskSource: myMask }' works out of the box. The 'fast' and 'transparentBorder' properties no longer have any effect. Change-Id: Ibc05442914b563c50c95212fb0d4578f02990504 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Implement Glow using the new gaussian blur.Gunnar Sletta2015-03-245-122/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fast code path has been removed, same rationale as in the 'DropShadow' case. [ChangeLog] Glow has a new and faster blur implementation. Its default values have been updated so that 'layer.effect: Glow { }' produces sensibe output and 'fast' no longer has any effect. Change-Id: I88aa16baf294851531f414ec52095d46561dbea8 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | doc: fix linkageGunnar Sletta2015-03-241-3/+3
| | | | | | | | | | | | | | | Change-Id: I4cf539f61e372928d78116dca73ad2c9b5da66a7 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Implement DropShadow using the new gaussian blur.Gunnar Sletta2015-03-247-150/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'fast' path has been discarded because it fails to deliver on the fast promise. For radii less than 30-40 the normal blur is faster, so little point [ChangeLog] DropShadow uses the new gaussian blur implementation. 'fast' no longer has any effect. The default values have been updated so that 'layer.effect: DropShadow { }' works out of the box. Change-Id: I7e4ace4623613f0969a35e0c9bb873c18a158450 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Fix qdoc warnings in the new GaussianBlur implementation.Gunnar Sletta2015-03-131-12/+18
| | | | | | | | | | | | | | | Change-Id: Ia2e04f8d16fa90a56aad2eb65aa14eef34c7a3f0 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Adapt GaussianBlur autotest to the new default values.Gunnar Sletta2015-03-131-4/+3
| | | | | | | | | | | | | | | Change-Id: I27c405af55384b5ea9a5c823bfed9fb5e8ba2161 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Improve Gaussian Blur.Gunnar Sletta2015-03-136-59/+547
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shader source generation has been moved to C++ and the following improvements have been made to the algorithm: - Rely on linear sampling to roughly halve the number of samples required to perform blurring, while still mathmatically accurate. - Avoid dependent texture reads by calculating the sample positions in the vertex shader. This only works if the vec2 is used in texture2D() directly from the varying without any arithmetic and no swizzle mask applied. The fragment shader can then in many cases prefetch the texture value. - Implement a fallback shader which is used when samples exceed the maximum number of varyings. The old implementation supported 32 samples. The new one switches to the fallback when the required samples / 2 exceeds the number of available varying registers on the GPU. The fallback shader is equivalent to the old code performance wise, but supports an arbitrary high number of samples. [ChangeLog] Gaussian Blur has a new implementation. Faster for smaller kernels, similar for larger kernels but allows arbitrarily large kernels. The fast version will support at least 15x15 kernels on OpenGL ES and 59x59 kernels on Desktop GL. GaussianBlur.deviation is now a very costly parameter to change. Change-Id: I1ac44633ec6b3b667ebfab2211fa53e706804787 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Let sourceproxy auto-configure layers.Gunnar Sletta2015-03-102-14/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the old SourceProxy implementation, layer.enabled = true that the layer was used without a shader source in between. However, since effects like Blur and DropShadow requires updates to sourceRect and such, the effects would not work properly. Since the usecase for layers is primarily to combine it with layer.effect, we configure the layer. [ChangeLog] When applying an effect to Item::layer.effect, the effect will update the layer properties to make the effect work, such as 'smooth' to 'true' and changing 'sourceRect' to take 'transparentBorder' into account. Change-Id: Idd68b025ade46c0b84142b2afb244730bed863d2 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Exclude images from the textureProvider branch.Gunnar Sletta2015-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We already checked them just above, and since they are texture providers, they would falsely report true here leading to bugs.. Change-Id: I70e29f15333a00ca973c16f9f3396d216bc014df Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Move SourceProxy to C++ and introduce "private" module.Gunnar Sletta2015-03-1043-199/+766
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives us a bit better control in terms of what we want to check for. It should also fix some subtle bugs when layer and ShaderEffectSource is used as input. Change-Id: I29de13598811623c31563ac6e88f070aee0bab54 Task-number: QTBUG-40849 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Bump versionOswald Buddenhagen2015-02-241-1/+1
|/ / | | | | | | Change-Id: I014ff6de07dde25959e5590a36295d96cb7695cf
* | Update copyright headersv5.5.0-rc1v5.5.0-beta1v5.5.0-alpha1v5.5.05.5.0Antti Kokko2015-02-17124-524/+524
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I8983b05749d75b438a314e7f385a85c612a04f6f Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-191-1/+1
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I4f99c72926a0d0ac0b79f89a0f8f4234685b0ac3
| * Bump versionv5.4.25.4.2Oswald Buddenhagen2015-01-161-1/+1
| | | | | | | | Change-Id: I6e556cc4c1ac27c93711124fad3b77e177916ea4
| * Fix typo in Desaturate documentation.v5.4.15.4.1Mitch Curtis2015-01-051-1/+1
| | | | | | | | | | Change-Id: I048d6dbf54eff658b74f221af5faa1a517deb310 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-12-1725-25/+25
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ie64aa3089d47063e82f8d1cb77929deee86c62ea
| * Bump versionOswald Buddenhagen2014-12-121-1/+1
| | | | | | | | Change-Id: I1c61bf871b41c725416b4f17ee258177d95fdd8d
| * Remove unnecessary \inqmlmodule parameterAlejandro Exojo2014-12-0825-25/+25
| | | | | | | | | | Change-Id: Ib685e533a97bae865df5802c4f9e7399c8cfd078 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-202-3/+3
|\ \ | |/ | | | | Change-Id: I56d3c01f3ceffc318085a3cef8bd6cfe152f141e
| * Doc: Applied title case in section1 titlesv5.4.0-rc1v5.4.0-beta1v5.4.05.4.0Nico Vertriest2014-10-101-1/+1
| | | | | | | | | | | | Task-number: QTBUG-41250 Change-Id: Ic91b1db2bd27800a808cd4c997c1b606ea4bec10 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Correct grammar in DropShadow's detailed description.Mitch Curtis2014-10-101-2/+2
| | | | | | | | | | Change-Id: If77e25a80ed139c0903b511062ff6dd615df2c70 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-097-0/+208
|\ \ | |/ | | | | Change-Id: I259099e0d550e5a1f0d6846d6024876d06fa1b4c