diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-06-13 23:10:03 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-06-13 23:10:03 +0200 |
commit | 9932617582470d717c97f8161a65133293c185c5 (patch) | |
tree | 1df48d67c6e5ca4aa8b7810fc9e717083b4199e3 /src/quick/scenegraph | |
parent | 7fde8a8d20da7fa00d974286fa903b3fee76d466 (diff) | |
parent | 17ee404f2678684674b9c5c0c523602953146e37 (diff) |
Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
src/quickwidgets/qquickwidget.cpp
Change-Id: Id4b080aea713df68608847bb82570231e37ce536
Diffstat (limited to 'src/quick/scenegraph')
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 4 | ||||
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp | 4 | ||||
-rw-r--r-- | src/quick/scenegraph/qsgthreadedrenderloop.cpp | 2 | ||||
-rw-r--r-- | src/quick/scenegraph/shaders/visualization.vert | 2 | ||||
-rw-r--r-- | src/quick/scenegraph/util/qsgpainternode.cpp | 5 |
5 files changed, 11 insertions, 6 deletions
diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index d6e2487a89..b3342be5ce 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -418,7 +418,7 @@ void Updater::visitTransformNode(Node *n) // The only change in this subtree is ourselves and we are a batch root, so // only update subroots and return, saving tons of child-processing (flickable-panning) - if (!n->becameBatchRoot && m_added == 0 && m_force_update == 0 && dirty && (n->dirtyState & ~QSGNode::DirtyMatrix) == 0) { + if (!n->becameBatchRoot && m_added == 0 && m_force_update == 0 && m_opacityChange == 0 && dirty && (n->dirtyState & ~QSGNode::DirtyMatrix) == 0) { BatchRootInfo *info = renderer->batchRootInfo(n); for (QSet<Node *>::const_iterator it = info->subRoots.constBegin(); it != info->subRoots.constEnd(); ++it) { @@ -2020,6 +2020,8 @@ void Renderer::renderMergedBatch(const Batch *batch) << " root:" << batch->root; if (batch->drawSets.size() > 1) debug << "sets:" << batch->drawSets.size(); + if (!batch->isOpaque) + debug << "opacity:" << e->node->inheritedOpacity(); batch->uploadedThisFrame = false; } diff --git a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp index 9ff0971774..bffdf40bc1 100644 --- a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp +++ b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp @@ -52,7 +52,6 @@ namespace QSGShaderRewriter { struct Tokenizer { enum Token { - Token_Invalid, Token_Void, Token_OpenBrace, Token_CloseBrace, @@ -75,7 +74,6 @@ struct Tokenizer { }; const char *Tokenizer::NAMES[] = { - "Invalid", "Void", "OpenBrace", "CloseBrace", @@ -167,7 +165,7 @@ Tokenizer::Token Tokenizer::next() } } - return Token_Invalid; + return Token_EOF; } } diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp index 1ba54ea19e..e4d61eb0ae 100644 --- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp +++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp @@ -1199,6 +1199,8 @@ bool QSGThreadedRenderLoop::event(QEvent *e) Window *w = windowForTimer(te->timerId()); if (w) polishAndSync(w); + else + killTimer(te->timerId()); } return true; } diff --git a/src/quick/scenegraph/shaders/visualization.vert b/src/quick/scenegraph/shaders/visualization.vert index f1892b71da..591eb12ed6 100644 --- a/src/quick/scenegraph/shaders/visualization.vert +++ b/src/quick/scenegraph/shaders/visualization.vert @@ -3,7 +3,7 @@ uniform highp mat4 matrix; uniform highp mat4 rotation; // w -> apply 3d rotation and projection -uniform lowp vec4 tweak; +uniform mediump vec4 tweak; varying mediump vec2 pos; diff --git a/src/quick/scenegraph/util/qsgpainternode.cpp b/src/quick/scenegraph/util/qsgpainternode.cpp index b454f666ac..8ccb9d2ffb 100644 --- a/src/quick/scenegraph/util/qsgpainternode.cpp +++ b/src/quick/scenegraph/util/qsgpainternode.cpp @@ -96,7 +96,6 @@ QSGPainterNode::QSGPainterNode(QQuickPaintedItem *item) , m_geometry(QSGGeometry::defaultAttributes_TexturedPoint2D(), 4) , m_texture(0) , m_gl_device(0) - , m_size(1, 1) , m_dirtyContents(false) , m_opaquePainting(false) , m_linear_filtering(false) @@ -116,6 +115,10 @@ QSGPainterNode::QSGPainterNode(QQuickPaintedItem *item) setMaterial(&m_materialO); setOpaqueMaterial(&m_material); setGeometry(&m_geometry); + +#ifdef QSG_RUNTIME_DESCRIPTION + qsgnode_set_description(this, QString::fromLatin1("QQuickPaintedItem(%1):%2").arg(QString::fromLatin1(item->metaObject()->className())).arg(item->objectName())); +#endif } QSGPainterNode::~QSGPainterNode() |