diff --git a/Test/120.frag b/Test/120.frag index f0c454ee..85fce22f 100644 --- a/Test/120.frag +++ b/Test/120.frag @@ -9,6 +9,9 @@ float precision; in vec4 i; out vec4 o; +uniform mat4x2 m; + void main() { + mat2x3 m23 = mat2x3(m); } diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 38db935e..9ead5dca 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -587,8 +587,8 @@ bool TParseContext::constructorErrorCheck(int line, TIntermNode* node, TFunction } if (matrixInMatrix && !type->isArray()) { - error(line, "constructing matrix from matrix", "constructor", "(reserved)"); - return true; + profileRequires(line, ENoProfile, 120, 0, "constructing matrix from matrix"); + return false; } if (overFull) {