- 05 Nov, 2014 - 1 commit
-
-
Friedemann Kleint authored
Fixes purify warning: [W] UMR: Uninitialized memory read in QSGAnimationDriver::advance(void) {1 occurrence} QSGAnimationDriver::advance(void) [qtdeclarative\src\quick\scenegraph\qsgcontext.cpp:221] Task-number: QTBUG-42213 Change-Id: Ide35830c60c5935644747da5cfbad1cdbd357232 Reviewed-by:
Gunnar Sletta <gunnar@sletta.org>
-
- 20 Oct, 2014 - 1 commit
-
-
Gunnar Sletta authored
We're removing the bad/reallyBad concept for the benefit of an accumulated lag. When the lag passes over a certain threshold, we switch to time based. The logic for switching back remains unchanged. We also fixed the switching so that elapsed() does not jump from the predicted time to the animation system's wall time, but rather continues from the predicted time with a walltime offset (this is how it was always intended to be). Task-number: QTBUG-42020 Change-Id: I7ee9181aca46cbc18a74fae5e8d513365906c017 Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
-
- 18 Sep, 2014 - 1 commit
-
-
Gunnar Sletta authored
I've wanted this for a long time, but the animation system didn't support it when mixed with timers/pauses. However, because of dfc8f8b5d4a02f33c7f9063c2a28450902a9d863 and 0db3ea4048fe572a256deb343ea5e64a55d98de9 to qtbase, it is now possible. Change-Id: Ic70c181ce49eae90276bd4f22a2d299061f96087 Reviewed-by:
Michael Brasser <michael.brasser@live.com>
-
- 27 Aug, 2014 - 2 commits
-
-
Gunnar Sletta authored
This problem existed on 10.6, but is not reproducible on newer MacBookPros, so disable it for 10.8 and up. Change-Id: I0ae216c8e2307df5f77a783ec2d2031bf12ccbf2 Task-number: QTBUG-20193 Reviewed-by:
Laszlo Agocs <laszlo.agocs@digia.com>
-
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
-
-
Gunnar Sletta authored
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>
-
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>
-
- 13 Aug, 2014 - 1 commit
-
-
Lars Knoll authored
Unfortunately we can't re-use the QSGSimpleRectNode, as it doesn't provide us with virtual methods to move it's creation into the context. But's since it's only 20 lines of code anyway, this is still a nice cleanup. And it also allows the re-use of any optimizations in the renderer for QSGRectangleNode. Change-Id: I957777fbbeb0a994a9c257baf3bfe87fce8cc9e8 Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
- 11 Aug, 2014 - 2 commits
-
-
Simon Hausmann authored
Change-Id: I5981190dd43082715a7159efd478469365caf3a6 Reviewed-by:
Gunnar Sletta <gunnar.sletta@jollamobile.com>
-
Laszlo Agocs authored
Replaced by QSurfaceFormat::setDefaultFormat(). Change-Id: If4e37b75ccb55d556d80b0079be89e5a521f6dbb 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
1) Don't fail the assertion in the animator jobs if we don't have a context 2) Delegate the opengl context check in QQuickWindow::createTextureFromImage to the QSGContext Change-Id: I1b248895dcd6db406f1af8866fd0052dd7564899 Reviewed-by:
Lars Knoll <lars.knoll@digia.com>
-
- 01 Aug, 2014 - 1 commit
-
-
Jocelyn Turcotte authored
This change wraps QSGRenderContext and QSGContext in a new QSGEngine class, and expose a public interface of QSGRenderer through a QSGAbstractRenderer to make it usable on a standalone window or FBO. Change-Id: I2d41187472424f5ea64650a006bcd61f2711f6b9 Reviewed-by:
Gunnar Sletta <gunnar.sletta@jollamobile.com>
-
- 01 Jul, 2014 - 1 commit
-
-
Gunnar Sletta authored
Change-Id: I865ee838b0fd6c257b7189f24130012b98206fd1 Reviewed-by:
Shawn Rutledge <shawn.rutledge@digia.com>
-
- 23 Jun, 2014 - 1 commit
-
-
Gunnar Sletta authored
Some implementations will use the initialization to set constant uniforms like texture locations, so bind the program before so this will work. Task-number: QTBUG-39472 Change-Id: I677c5aeefe68535bd4805e83b93308d0bd090030 Reviewed-by:
Laszlo Agocs <laszlo.agocs@digia.com>
-
- 03 Jun, 2014 - 1 commit
-
-
Yoann Lopes authored
QSGRenderContext was holding pointers to QFontEngines without increasing the font engine's ref count, allowing them to be deleted before QSGRenderContext could make use of them. Task-number: QTBUG-36573 Task-number: QTBUG-38313 Change-Id: I0ed28bb44882c55f330c27c23b533b7999d7e04b Reviewed-by:
Gunnar Sletta <gunnar.sletta@jollamobile.com>
-
- 23 May, 2014 - 1 commit
-
-
Laszlo Agocs authored
Change-Id: I9b8673fb3292c9d5ad2f9e8e63f56dc661699be6 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@digia.com>
-
- 25 Apr, 2014 - 1 commit
-
-
Laszlo Agocs authored
Task-number: QTBUG-38564 Change-Id: Ice1170339f7d650fcb6accfccf325471629343d6 Reviewed-by:
Sean Harmer <sean.harmer@kdab.com>
-
- 04 Apr, 2014 - 1 commit
-
-
Jocelyn Turcotte authored
This removes QSGContext::sharedOpenGLContext and replace its uses with QOpenGLContextPrivate::globalShareContext, which is also going to be used by QOpenGLWidget and QQuickWidget. Change-Id: I1e296c3e6832f717caaf31ba7d7b27c06249219b Reviewed-by:
Laszlo Agocs <laszlo.agocs@digia.com>
-
- 18 Mar, 2014 - 1 commit
-
-
Laszlo Agocs authored
The counterpart to I716fdebb. Implements the dynamic path in scenegraph. Task-number: QTBUG-36483 Change-Id: I2dc613ba84560b7b8e36d3cd1da61c050ab08db0 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by:
Jørgen Lind <jorgen.lind@digia.com>
-
- 03 Mar, 2014 - 1 commit
-
-
Sergio Ahumada authored
Change-Id: I9856c110399c4b6b1ea6aba2d92392cecff04656 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com> Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
- 19 Feb, 2014 - 1 commit
-
-
Michael Brasser authored
This reverts commit a8a90519 . The same functionality is now available in a more extensible way via the program binary support recently added. Change-Id: I07b1939611a76858e65605ce625da6c4cbca2114 Reviewed-by:
Gunnar Sletta <gunnar.sletta@jollamobile.com>
-
- 13 Feb, 2014 - 1 commit
-
-
Gunnar Sletta authored
Change-Id: I4eecff3c8a2c727d38d394305d248eddeef87e8e Reviewed-by:
Michael Brasser <michael.brasser@live.com>
-
- 06 Feb, 2014 - 1 commit
-
-
Michael Brasser authored
Without this change, it is not possible to implement a custom renderer (it has no way to compile or initialize material shaders). Change-Id: Ie8778f739f3551f88f0d44ccb9769063a87ff276 Reviewed-by:
Gunnar Sletta <gunnar.sletta@jollamobile.com>
-
- 04 Feb, 2014 - 1 commit
-
-
Gunnar Sletta authored
Without this change, it is not possible to implement a custom context without also implementing a renderloop. Change-Id: Iac2aa732251cdf7221b28f665394cdd336a3d846 Reviewed-by:
Michael Brasser <michael.brasser@live.com>
-
- 27 Jan, 2014 - 1 commit
-
-
Tor Arne Vestbø authored
Makes QSGContext::createGlyphNode() the central point of determining which glyph node to produce, instead of letting the caller call two different versions of the factory, each one calling the other in various cases and behind various ifdefs. Change-Id: I30fb17cceab45d9e13ddf3ece7a65f220c5e5acd Reviewed-by:
Gunnar Sletta <gunnar.sletta@jollamobile.com>
-
- 22 Jan, 2014 - 2 commits
-
-
Gunnar Sletta authored
This was ok for the threaded renderer, but for the single-threaded renderers where the event loop was spinning we could run the risk of scheduling a texture for deleteLater() and then cleaning it up before we got around to the sync phase. Task-number: QTBUG-35670 Change-Id: I92074294b427fd8ab2a1823ba79c7ac3b59094ec Reviewed-by:
Michael Brasser <michael.brasser@live.com>
-
Gunnar Sletta authored
Some GL implementations (especially on embedded) will give us an OpenGL context without a depth buffer. In low memory scenarios, it might also be feasible to request a non-depth buffer context to save the depth buffer memory. The renderer deals with this by treating all nodes as translucent, by not adjusting the shaders and by not creating the extra z-order vertex attribute for merged nodes. Change-Id: I8edc92d530daa3e2628df2ba52901b47d87eaf26 Reviewed-by:
Laszlo Agocs <laszlo.agocs@digia.com>
-
- 29 Nov, 2013 - 1 commit
-
-
Eskil Abrahamsen Blomfeldt authored
This GPU is on the Huawei Ascend D1 and exhibits crashes in glDrawElements() when rendering scenegraph when the workaround is not turned on. Change-Id: Ic601d34c01e34faaa091a631cfed74c3601c9c43 Reviewed-by:
Gunnar Sletta <gunnar.sletta@digia.com>
-
- 20 Nov, 2013 - 1 commit
-
-
Gunnar Sletta authored
When rendering multiple windows in parallel on llvmpipe we end up with crashes deep inside llvmpipe as multiple threads seem to access unprotected resources. Work around this bug by enforcing that scene graph rendering happens on one window at a time. Task-number: QTCREATORBUG-10666 Change-Id: I2f734e8f653b2a9b4108eb189280ab922581e2c0 Reviewed-by:
Kai Koehne <kai.koehne@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>
-
- 07 Nov, 2013 - 1 commit
-
-
Yoann Lopes authored
A pointer list was not cleared when invalidating the context, potentially holding dangling pointers after that. Change-Id: I0618c54ffa67b31b115901e8be3a6d3cd16dc844 Reviewed-by:
Gunnar Sletta <gunnar.sletta@digia.com>
-
- 05 Nov, 2013 - 1 commit
-
-
Gunnar Sletta authored
Change-Id: I12bc0bc475b3e99185aefcd58eef5a0fb5e9852e Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
-
- 01 Nov, 2013 - 1 commit
-
-
Gunnar Sletta authored
This API is primarily a hook which is needed by the Qt WebEngine to set up sharing with the scene graph's OpenGL contexts. Change-Id: I5bb03abd9ab99f502db8e413fe838a8b30365b8d Reviewed-by:
Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
- 30 Oct, 2013 - 2 commits
-
-
Gunnar Sletta authored
Change-Id: I25311a2bd88f41087352e0a43ba505f4e27b7e85 Reviewed-by:
Jørgen Lind <jorgen.lind@digia.com>
-
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>
-
- 16 Oct, 2013 - 1 commit
-
-
Laszlo Agocs authored
createGlyphNode() and createNativeGlyphNode() kept calling each other on GLES whenever QML_DISABLE_DISTANCEFIELD was set. Change-Id: Ic1c2cfe0c4c7301f82cbbcce1cb512bd515b52ef Reviewed-by:
Gunnar Sletta <gunnar.sletta@digia.com>
-
- 03 Oct, 2013 - 1 commit
-
-
Gunnar Sletta authored
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 <yoann.lopes@digia.com>
-
- 02 Oct, 2013 - 1 commit
-
-
Tor Arne Vestbø authored
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 <gunnar.sletta@digia.com>
-