diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2011-06-15 18:55:41 +1000 |
---|---|---|
committer | Alan Alpert <alan.alpert@nokia.com> | 2011-06-15 18:55:41 +1000 |
commit | 4c6e4cbe7d8a4d3e7d4cab8fb9787f4c781bed50 (patch) | |
tree | 02e454a5ea4c13ee98ff8dbb2ba541f0d6dac8d3 | |
parent | fab0da3853efc5ef2f1a507f7d054b8a0dd3b9ac (diff) | |
parent | 4c0f5e2da92e861228abc89e4b9b116803a761ce (diff) |
Merge branch 'qtquick2' of scm.dev.nokia.troll.no:qt/qtdeclarative-staging into qtquick2
-rw-r--r-- | src/declarative/items/qsgshadereffectitem.cpp | 1 | ||||
-rw-r--r-- | src/declarative/items/qsgshadereffectnode.cpp | 1 | ||||
-rw-r--r-- | src/declarative/scenegraph/coreapi/qsgrenderer.cpp | 15 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/declarative/items/qsgshadereffectitem.cpp b/src/declarative/items/qsgshadereffectitem.cpp index 44e075c6f7..3fae0f15fd 100644 --- a/src/declarative/items/qsgshadereffectitem.cpp +++ b/src/declarative/items/qsgshadereffectitem.cpp @@ -540,6 +540,7 @@ QSGNode *QSGShaderEffectItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeD s.fragmentCode = qt_default_fragment_code; if (s.vertexCode.isEmpty()) s.vertexCode = qt_default_vertex_code; + s.className = metaObject()->className(); m_material.setProgramSource(s); node->markDirty(QSGNode::DirtyMaterial); diff --git a/src/declarative/items/qsgshadereffectnode.cpp b/src/declarative/items/qsgshadereffectnode.cpp index 74cd995d0d..5d3efb934c 100644 --- a/src/declarative/items/qsgshadereffectnode.cpp +++ b/src/declarative/items/qsgshadereffectnode.cpp @@ -84,6 +84,7 @@ QSGCustomMaterialShader::QSGCustomMaterialShader(const QSGShaderEffectMaterialKe void QSGCustomMaterialShader::deactivate() { + QSGMaterialShader::deactivate(); glDisable(GL_CULL_FACE); } diff --git a/src/declarative/scenegraph/coreapi/qsgrenderer.cpp b/src/declarative/scenegraph/coreapi/qsgrenderer.cpp index dbf704b64a..cc24cc066b 100644 --- a/src/declarative/scenegraph/coreapi/qsgrenderer.cpp +++ b/src/declarative/scenegraph/coreapi/qsgrenderer.cpp @@ -229,6 +229,21 @@ void QSGRenderer::renderScene(const Bindable &bindable) int bindTime = frameTimer.elapsed(); #endif +#ifndef QT_NO_DEBUG + // Sanity check that attribute registers are disabled + { + GLint count; + glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &count); + GLint enabled; + for (int i=0; i<count; ++i) { + glGetVertexAttribiv(i, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &enabled); + if (enabled) { + qWarning("QSGRenderer: attribute %d is enabled, this can lead to memory corruption and crashes.", i); + } + } + } +#endif + render(); #ifdef QSG_RENDERER_TIMING int renderTime = frameTimer.elapsed(); |