aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickshadereffectnode.cpp3
-rw-r--r--tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp7
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()