diff options
-rw-r--r-- | src/quick/items/qquickshadereffectnode.cpp | 3 | ||||
-rw-r--r-- | tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/quick/items/qquickshadereffectnode.cpp b/src/quick/items/qquickshadereffectnode.cpp index b81045518b..7d7955c92a 100644 --- a/src/quick/items/qquickshadereffectnode.cpp +++ b/src/quick/items/qquickshadereffectnode.cpp @@ -193,6 +193,9 @@ void QQuickCustomMaterialShader::updateState(const RenderState &state, QSGMateri case QMetaType::QVector4D: program()->setUniformValue(loc, qvariant_cast<QVector4D>(d.value)); break; + case QMetaType::QMatrix4x4: + program()->setUniformValue(loc, qvariant_cast<QMatrix4x4>(d.value)); + break; default: break; } diff --git a/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp b/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp index 909af209c9..f45f3dd23a 100644 --- a/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp +++ b/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp @@ -56,8 +56,10 @@ class TestShaderEffect : public QQuickShaderEffect Q_PROPERTY(QVariant _0aA9zZ READ dummyRead NOTIFY dummyChanged) Q_PROPERTY(QVariant x86 READ dummyRead NOTIFY dummyChanged) Q_PROPERTY(QVariant X READ dummyRead NOTIFY dummyChanged) + Q_PROPERTY(QMatrix4x4 mat4x4 READ mat4x4Read NOTIFY dummyChanged) public: + QMatrix4x4 mat4x4Read() const { return QMatrix4x4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1); } QVariant dummyRead() const { return QVariant(); } bool isConnected(const QMetaMethod &signal) const { return m_signals.contains(signal); } @@ -248,6 +250,11 @@ void tst_qquickshadereffect::lookThroughShaderCode_data() << QByteArray("uniform lowp float X;") << QByteArray(" ") << int(PropertyPresent); + + QTest::newRow("property name #4") + << QByteArray("uniform highp mat4 mat4x4;") + << QByteArray(" ") + << int(PropertyPresent); } void tst_qquickshadereffect::lookThroughShaderCode() |