- 10 Nov, 2014 - 1 commit
-
-
Eskil Abrahamsen Blomfeldt authored
This reverts commit a9238292. It also reverts follow-up commits: 87755d04 c2c710e5 cc8a76ce The new implementation is much too slow because it will cause each section of the border image to be uploaded to the atlas, and it will not be shared between different border images nor between different sizes of the border. The performance regression is so significant that it's not worth it for the original bug fix. We leave the tests around, so some of those might regress due to this. Change-Id: I3f56f4564255ebb77e6487881a6a11b19ad0234e Task-number: QTBUG-42288 Task-number: QTBUG-35838 Reviewed-by:
Michael Brasser <michael.brasser@live.com>
-
- 05 Nov, 2014 - 1 commit
-
-
Eskil Abrahamsen Blomfeldt authored
Just copy the one from QSGSharedDistanceFieldCache with some compile fixes to the superclass so we store the default cache as well. Change-Id: I1fcc390601eea58f8b7729c9cead418e4c94714c Reviewed-by:
Yoann Lopes <yoann.lopes@theqtcompany.com>
-
- 01 Oct, 2014 - 1 commit
-
-
Gunnar Sletta authored
This logic changed then timing for when the layer's m_dirtyTexture was set and unset, which had some side effects. Revert to the old and known-to-work behavior of using a connection. Change-Id: I4048e7ae70491afe36b2d766e6c506d9febc44ed Task-number: QTBUG-41451 Reviewed-by:
Mitch Curtis <mitch.curtis@digia.com> Reviewed-by:
Giulio Camuffo <giulio.camuffo@jollamobile.com> Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
- 10 Sep, 2014 - 1 commit
-
-
Eskil Abrahamsen Blomfeldt authored
Keeping all patches of the border image in the same texture with different sample points can cause parts of the border to bleed over to the center patch. To rectify this, we create a separate texture for each of the nine patches we need, and separate image nodes. To avoid applying antialiasing on the interior edges of the border image, we introduce new antialiasing flags which can be used to specify precisely which edges of the image should be antialiased. [ChangeLog][BorderImage] Fixed possible pixel bleed between border patches and center patch in BorderImage. Change-Id: Icc292b3969217320eecca99e79675316c42eab08 Task-number: QTBUG-35838 Reviewed-by:
Gunnar Sletta <gunnar@sletta.org>
-
- 27 Aug, 2014 - 1 commit
-
-
Andy Nichols authored
This allows the scenegraph backend to customize how QSGPainterNodes are rendered. Change-Id: I640dcf121d0be6bda615cf30591d502329fc89d0 Reviewed-by:
Lars Knoll <lars.knoll@digia.com> Reviewed-by:
Gunnar Sletta <gunnar@sletta.org>
-
- 25 Aug, 2014 - 1 commit
-
-
Jani Heikkinen authored
- 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>
-
- 23 Aug, 2014 - 2 commits
-
-
Simon Hausmann authored
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>
-
Simon Hausmann authored
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>
-
- 08 Aug, 2014 - 2 commits
-
-
Simon Hausmann authored
This allows a scene graph backend to customize the style rendering Change-Id: I6048df47ed3705d81140d63a21257f704a0e0a82 Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
Simon Hausmann authored
Added a new node visitor that allows easier traversal of the specialized node types such as the image or rectangle nodes. Change-Id: I45a7d3e1513b4a4db9d07998a6bcee9eba34044e Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
- 13 Nov, 2013 - 1 commit
-
-
Sean Harmer authored
The basic approach is to have the batched renderer create and bind a vertex array object if it detects we are using an OpenGL Core profile context. The VAO is bound for the duration of the QQ2 renderer's work cycle and unbound at the end so as to not interfere with any other VAO's a user may wish to use. All shaders have been copied and ported to be compliant with the GLSL 150 core specification which is the minimum for a Core profile context (OpenGL 3.2 Core). We are not using any newer features as yet so this will work anywhere we can get a Core profile context. The QSGShaderSourceBuilder class has been extended to resolve any requests for shaders to the same basefilename with "_core" appended prior to any file extension. This could be extended in the future to allow version, or GPU or platform specific shaders. The QSGShaderSourceBuilder has also been extended to allow it to insert #define definitions in the prologue of a shader. Any such definition is inserted: * After the last #extension directive (if any are found) * Otherwise after the #version directive (if found) * Otherwise at the start of the shader source This is required by the custom particle shaders which make extensive use of such #defines. In addition the mechanism used by the distance field glyph cache to extend the cache with new glyphs has been modified to work (and work more efficiently) when using a Core profile context. Rather than using a shader program and a buffer filling quad to blit the old texture into the new cache texture, we instead use the technique of framebuffer blitting. The existing fallback implementation using glTexSubImage2D() is still available if needed. The DECLARATIVE_EXAMPLE_MAIN macro has been extended to allow easy testing of any of the QtDeclarative examples with a core profile context. Just run the example with QT_QUICK_CORE_PROFILE=1 ./text for e.g. The only ones that may not work out of the box are those that provide GLSL shader source e.g. the customparticles or shader effect examples. These work fine if the shader source is adapted to GLSL 150 core. In the future it may be a good idea to expose some context property to QML that the user can use to determine what shader source variation to provide to Qt Quick. Along these lines it would also be very nice to allow the provision of shader source to ShaderEffect or CustomParticle from a separate source file just as we now do within Qt Quick. Task-number: QTBUG-32050 Change-Id: Ia6e9f06dbb8508af9ae03c6b60fb418b4cc9e41f Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
- 30 Oct, 2013 - 1 commit
-
-
Gunnar Sletta authored
See the task for the full reasoning behind this patch. The threaded renderloop has been refactored to have one window per thread. This is mostly a simplification of the current code path where for loops over multiple windows are turned into if (window). The QSGContext has been split into two classes, QSGRenderContext for which there is one per OpenGLContext. The rest of the patch is name changes and a couple of cleanups in the hopes of simplifying this change. Task-number: QTBUG-33993 Change-Id: I31c81f9694d7da7474a72333169be38de62613c4 Reviewed-by:
Sean Harmer <sean.harmer@kdab.com>
-
- 30 Sep, 2013 - 1 commit
-
-
Gunnar Sletta authored
Change-Id: I3750c47640bf21c3567c5fa1c4667e3e2552942e Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
- 27 Aug, 2013 - 1 commit
-
-
Yoann Lopes authored
Some OpenGL drivers assume alpha-only images are always tightly packed, regardless of what is set for GL_UNPACK_ALIGNMENT. We now use QDistanceField to store glyphs, which aligns scanlines on a 1-byte boundary, instead of QImage which uses a 4-byte boundary. A previous workaround uploaded scanlines one at a time, but this is also broken with some other drivers... Task-number: QTBUG-30908 Task-number: QTBUG-32861 Change-Id: I46527fb48de1e00116f776427c45baa752c6176d Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
-
- 26 Feb, 2013 - 1 commit
-
-
Gunnar Sletta authored
These include guards stem from the olden days before the QSG prefix and many of them are conflict prone, which can lead to pretty bisarrer errors for the user. Change-Id: I0e76c68a588404b6e82be9ecc2e7afa3b9a48e78 Reviewed-by:
Samuel Rødal <samuel.rodal@digia.com>
-
- 28 Jan, 2013 - 1 commit
-
-
Sergio Ahumada authored
The macro was made empty in qtbase/ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Ia07e99676e0134fde5e32880edb95e57c779a7ff Reviewed-by:
Laszlo Papp <lpapp@kde.org> Reviewed-by:
Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by:
Alan Alpert <aalpert@rim.com>
-
- 10 Jan, 2013 - 1 commit
-
-
Sergio Ahumada authored
Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by:
Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by:
Sergio Ahumada <sergio.ahumada@digia.com>
-
- 23 Sep, 2012 - 1 commit
-
-
Iikka Eklund authored
Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
- 13 Jul, 2012 - 1 commit
-
-
Kim Motoyoshi Kalland authored
Since multisampling can require a lot of memory, and might not be supported on some hardware, turn off multisampling and implement antialiasing in the vertex shader instead. The alternative method of antialiasing is implemented for Rectangle, Image, BorderImage and AnimatedImage, and must be explicitly enabled by setting the new antialiasing property. Task-number: QTBUG-26268 Change-Id: I39a93d978658a494bf51e9f0fd02d8414eb8be12 Reviewed-by:
Gunnar Sletta <gunnar.sletta@nokia.com>
-
- 08 Jun, 2012 - 1 commit
-
-
Yoann Lopes authored
The glyphs are not stored in a fixed 64x64px tile anymore. Glyphs are stored in area equal to <glyph_width> + 10 (margin) x 64px. Allocation is now done with QSGAreaAllocator. When glyph recycling is needed, unused glyphs are freed until the new glyph can fit in the cache. Change-Id: I179a8f17bfe35468bdb63bca5113ea4d0f06c414 Reviewed-by:
Yoann Lopes <yoann.lopes@nokia.com>
-
- 18 May, 2012 - 1 commit
-
-
Matthew Vogt authored
Reduce library load time by removing any exports which are not required by existing clients. Task-number: QTBUG-24768 Change-Id: Ia5754d6f97bb2ed46e290820a5b092f85a4bc5b0 Reviewed-by:
Martin Jones <martin.jones@nokia.com>
-
- 20 Mar, 2012 - 1 commit
-
-
Andrew den Exter authored
To implement a custom distance field glyph node currently it's necessary to also provide a duplicate implementation of QSGContext::createDistanceFieldGlyphCache() as the default implemention references the cache manager created by createGlyphNode(). By isolating references to the cache manager to just createDistanceFieldGlyph() cache it becomes possible to just overwrite createGlyphNode() and still use the default cache. Change-Id: I7261bdbf247966b55512d2671e2ee85239bcca05 Reviewed-by:
Yoann Lopes <yoann.lopes@nokia.com>
-
- 19 Mar, 2012 - 1 commit
-
-
Yoann Lopes authored
Previously we had a different cache instance for each font size, but they all shared the same textures and positions. Only the glyph metrics were specific to each font size. The metrics for each font sizes are now calculated by scaling the metrics of the distance-field size (54px). Change-Id: I0d9016990dedd93318893506afb1dba7a5249e2e Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
-
- 24 Feb, 2012 - 1 commit
-
-
Matthew Vogt authored
Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by:
Martin Jones <martin.jones@nokia.com>
-
- 30 Jan, 2012 - 1 commit
-
-
Jason McDonald authored
As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: If39bd256b0fa85eba17ea30f8ab87ea27d758908 Reviewed-by:
Rohan McGovern <rohan.mcgovern@nokia.com>
-
- 24 Jan, 2012 - 1 commit
-
-
Eskil Abrahamsen Blomfeldt authored
Use a shared graphics cache to back the distance fields if it is available. Change-Id: Id5e6e7a28e38e349d787e66016b2d0faebc791d7 Reviewed-by:
Jiang Jiang <jiang.jiang@nokia.com>
-
- 23 Jan, 2012 - 1 commit
-
-
Jason McDonald authored
Replace Nokia contact email address with Qt Project website. Change-Id: I6a730abc0c396fb545a48b2d6938abedac2e3f1c Reviewed-by:
Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by:
Alan Alpert <alan.alpert@nokia.com>
-
- 17 Jan, 2012 - 1 commit
-
-
Jason McDonald authored
Update copyright headers from before 2011, and a couple of new ones that were merged after the previous change to copyright headers. Change-Id: Ia76e08e2734afa4ef3f1207dbcda5ff3bc81b366 Reviewed-by:
Rohan McGovern <rohan.mcgovern@nokia.com>
-
- 21 Dec, 2011 - 1 commit
-
-
Yoann Lopes authored
This was previously done only in the default cache implementation. It has been moved to the base class. releaseGlyphs() is called when a glyph is not referenced anymore by any node. Added a virtual function referenceGlyphs() that is called everytime glyphs are being used in a node. This function is called just before requestGlyphs(). Change-Id: If90f86c328c18ae2a5977847a6adf50b99ea1241 Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
-
- 14 Dec, 2011 - 1 commit
-
-
Yoann Lopes authored
The distance field glyph node now uses preprocess(). The glyph cache is updated at that time, then when all the glyphs are ready the node's geometry is updated. addGlyphPositions and addGlyphTextures in QSGDistanceFieldGlyphCache have been renamed to setGlyphsPosition and setGlyphsTexture to reflect the fact that they can be used to update existing glyphs. For example when a glyph has moved to a different texture. When an existing glyph is updated, all nodes containing that glyph are invalidated and their geometries are reconstructed with the new values. Change-Id: I7758313155f48811e6027434e6c9a1c3df5dfab7 Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
-
- 02 Dec, 2011 - 1 commit
-
-
Kent Hansen authored
This change moves the QtQuick 2 types and C++ API (including SceneGraph) to a new module (AKA library), QtQuick. 99% of this change is moving files from src/declarative to src/quick, and from tests/auto/declarative to tests/auto/qtquick2. The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to a plugin, src/imports/qtquick2, just like it's done for QtQuick 1. All tools, examples, and tests that use QtQuick C++ API have gotten "QT += quick" or "QT += quick-private" added to their .pro file. A few additional internal QtDeclarative classes had to be exported (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the QtQuick 2 implementation. The old header locations (e.g. QtDeclarative/qquickitem.h) will still be supported for some time, but will produce compile-time warnings. (To avoid the QtQuick implementation using the compatibility headers (since QtDeclarative's includepath comes first), a few include statements were modified, e.g. from "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".) There's a change in qtbase that automatically adds QtQuick to the module list if QtDeclarative is used. Together with the compatibility headers, this should help reduce the migration pain for existing projects. In theory, simply getting an existing QtDeclarative-based project to compile and link shouldn't require any changes for now -- but porting to the new scheme is of course recommended, and will eventually become mandatory. Task-number: QTBUG-22889 Reviewed-by:
Lars Knoll <lars.knoll@nokia.com> Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7 Reviewed-by:
Kent Hansen <kent.hansen@nokia.com> Reviewed-by:
Sergio Ahumada <sergio.ahumada@nokia.com>
-
- 14 Nov, 2011 - 1 commit
-
-
Yoann Lopes authored
The distance field glyph cache is now an abstract class part of the adaptation layer. It can be implemented to define the way the glyphs are stored in graphics memory on a specific platform. The typical use case is for having a cross-process glyph cache. To implement a custom glyph cache, one has to override three pure virtual functions: requestGlyphs(), storeGlyphs() and releaseGlyphs(). The default implementation works the same way as before the refactoring (no cross-process cache). Change-Id: I6e231a119abbffbe36f5f0d690f0b8be0664ff4f Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
-
- 21 Oct, 2011 - 1 commit
-
-
Kent Hansen authored
The QSG (SceneGraph) prefix is too generic for Qt Quick(2)-specific classes. All the classes and files in the declarative/items directory have been renamed. In particular, for classes that are currently public, the renaming is as follows: QSGView --> QQuickView QSGCanvas --> QQuickCanvas QSGItem --> QQuickItem QSGPaintedItem --> QQuickPaintedItem The header files have been renamed accordingly (e.g. qsgview.h --> qquickview.h). Change-Id: Iac937fff81db20bb639486a793c3aeb5230b038c Reviewed-by:
Kent Hansen <kent.hansen@nokia.com>
-
- 29 Aug, 2011 - 1 commit
-
-
Samuel Rødal authored
Rename QGuiGLContext -> QOpenGLContext, QGL* -> QOpenGL*, etc. Change-Id: I08379029d756e28b20ae141ca30ed801626b513d Reviewed-on: http://codereview.qt.nokia.com/3711 Reviewed-by:
Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by:
Gunnar Sletta <gunnar.sletta@nokia.com>
-
- 19 Aug, 2011 - 1 commit
-
-
Eskil Abrahamsen Blomfeldt authored
Use the general QSGTextNode class as back-end for all text elements in QML to make all text elements look the same and use the same text rasterization back-end. This requires a few rewrites in the text node to support e.g. selections. Crashes seen with threaded renderer in TextEdit and TextInput on Mac are also fixed by this. Reviewed-by: Jiang Jiang Task-number: QTBUG-18019, QTBUG-20017 Change-Id: I4207faf180c83422e5f8b726741321af395bd724 Reviewed-on: http://codereview.qt.nokia.com/2865 Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
-
- 11 Aug, 2011 - 2 commits
-
-
Bjørn Erik Nilsen authored
Change-Id: I13f95b415b28467617c4ca804e706082150d253e Reviewed-on: http://codereview.qt.nokia.com/2870 Reviewed-by:
Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by:
Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
-
Yoann Lopes authored
Based on two texture samples instead of five. Can be enabled with qmlscene --text-subpixel-antialiasing-lowq Change-Id: I726f73d812b93aa9ca38ce142d1e97b9a40d200a Reviewed-on: http://codereview.qt.nokia.com/2861 Reviewed-by:
Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by:
Yoann Lopes <yoann.lopes@nokia.com>
-
- 10 Aug, 2011 - 1 commit
-
-
Yoann Lopes authored
The distance field glyph caches are now contained in the QSGContext. Change-Id: Ifc5d155917314b1cc5905ef86fdad0bbc5635c7d Reviewed-on: http://codereview.qt.nokia.com/2787 Reviewed-by:
Gunnar Sletta <gunnar.sletta@nokia.com>
-
- 20 Jul, 2011 - 1 commit
-
-
Yoann Lopes authored
Change-Id: Id2e8ccf6441ce7e7a2bcdd6f0d50745e7d9ba653 Reviewed-on: http://codereview.qt.nokia.com/1750 Reviewed-by:
Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by:
Yoann Lopes <yoann.lopes@nokia.com>
-
- 08 Jul, 2011 - 1 commit
-
-
Jyri Tahtela authored
Replace old license header with correct one. Change-Id: I492ddaaa0227b2c8faf11bdcd6e12e7231a54a10 Reviewed-on: http://codereview.qt.nokia.com/1312 Reviewed-by:
Jyri Tahtela <jyri.tahtela@nokia.com>
-