Add missing matrix constructor test, and add a size() method for downstream consumers of constArrays.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26937 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
@@ -152,3 +152,22 @@ void foo123()
|
||||
mat3x2 rfoo1 = matrixCompMult(m23, m32); // ERROR
|
||||
mat3x4 rfoo2 = matrixCompMult(m34, m44); // ERROR
|
||||
}
|
||||
|
||||
void matConst()
|
||||
{
|
||||
vec2 v2;
|
||||
vec3 v3;
|
||||
mat4 m4b1 = mat4(v2, v3); // ERROR, not enough
|
||||
mat4 m4b2 = mat4(v2, v3, v3, v3, v3, v2, v2); // ERROR, too much
|
||||
mat4 m4g = mat4(v2, v3, v3, v3, v3, v3);
|
||||
mat4 m4 = mat4(v2, v3, v3, v3, v3, v2);
|
||||
mat3 m3 = mat3(m4);
|
||||
mat3 m3b1 = mat3(m4, v2); // ERROR, extra arg
|
||||
mat3 m3b2 = mat3(m4, m4); // ERROR, extra arg
|
||||
mat3x2 m32 = mat3x2(m4);
|
||||
mat4 m4c = mat4(m32);
|
||||
mat3 m3s = mat3(v2.x);
|
||||
|
||||
mat3 m3a1[2] = mat3[2](m3s, m3s);
|
||||
mat3 m3a2[2] = mat3[2](m3s, m3s, m3s); // ERROR, too many args
|
||||
}
|
||||
|
||||
@@ -34,7 +34,15 @@ ERROR: 0:152: 'matrixCompMult' : no matching overloaded function found
|
||||
ERROR: 0:152: '=' : cannot convert from 'const float' to '3X2 matrix of float'
|
||||
ERROR: 0:153: 'matrixCompMult' : no matching overloaded function found
|
||||
ERROR: 0:153: '=' : cannot convert from 'const float' to '3X4 matrix of float'
|
||||
ERROR: 35 compilation errors. No code generated.
|
||||
ERROR: 0:160: 'constructor' : not enough data provided for construction
|
||||
ERROR: 0:160: '=' : cannot convert from 'const float' to '4X4 matrix of float'
|
||||
ERROR: 0:161: 'constructor' : too many arguments
|
||||
ERROR: 0:161: '=' : cannot convert from 'const float' to '4X4 matrix of float'
|
||||
ERROR: 0:165: 'constructor' : matrix constructed from matrix can only have one argument
|
||||
ERROR: 0:166: 'constructor' : matrix constructed from matrix can only have one argument
|
||||
ERROR: 0:172: 'constructor' : array constructor needs one argument per array element
|
||||
ERROR: 0:172: '=' : cannot convert from 'const float' to '2-element array of 3X3 matrix of float'
|
||||
ERROR: 43 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 120
|
||||
@@ -365,6 +373,70 @@ ERROR: node is still EOpNull!
|
||||
0:150 component-wise multiply (4X3 matrix of float)
|
||||
0:150 'm43' (4X3 matrix of float)
|
||||
0:150 'm43' (4X3 matrix of float)
|
||||
0:156 Function Definition: matConst( (void)
|
||||
0:156 Function Parameters:
|
||||
0:? Sequence
|
||||
0:162 Sequence
|
||||
0:162 move second child to first child (4X4 matrix of float)
|
||||
0:162 'm4g' (4X4 matrix of float)
|
||||
0:162 Construct mat4 (4X4 matrix of float)
|
||||
0:162 'v2' (2-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:163 Sequence
|
||||
0:163 move second child to first child (4X4 matrix of float)
|
||||
0:163 'm4' (4X4 matrix of float)
|
||||
0:163 Construct mat4 (4X4 matrix of float)
|
||||
0:163 'v2' (2-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v2' (2-component vector of float)
|
||||
0:164 Sequence
|
||||
0:164 move second child to first child (3X3 matrix of float)
|
||||
0:164 'm3' (3X3 matrix of float)
|
||||
0:164 Construct mat3 (3X3 matrix of float)
|
||||
0:164 'm4' (4X4 matrix of float)
|
||||
0:165 Sequence
|
||||
0:165 move second child to first child (3X3 matrix of float)
|
||||
0:165 'm3b1' (3X3 matrix of float)
|
||||
0:165 Construct mat3 (3X3 matrix of float)
|
||||
0:165 'm4' (4X4 matrix of float)
|
||||
0:165 'v2' (2-component vector of float)
|
||||
0:166 Sequence
|
||||
0:166 move second child to first child (3X3 matrix of float)
|
||||
0:166 'm3b2' (3X3 matrix of float)
|
||||
0:166 Construct mat3 (3X3 matrix of float)
|
||||
0:166 'm4' (4X4 matrix of float)
|
||||
0:166 'm4' (4X4 matrix of float)
|
||||
0:167 Sequence
|
||||
0:167 move second child to first child (3X2 matrix of float)
|
||||
0:167 'm32' (3X2 matrix of float)
|
||||
0:167 Construct mat3x2 (3X2 matrix of float)
|
||||
0:167 'm4' (4X4 matrix of float)
|
||||
0:168 Sequence
|
||||
0:168 move second child to first child (4X4 matrix of float)
|
||||
0:168 'm4c' (4X4 matrix of float)
|
||||
0:168 Construct mat4 (4X4 matrix of float)
|
||||
0:168 'm32' (3X2 matrix of float)
|
||||
0:169 Sequence
|
||||
0:169 move second child to first child (3X3 matrix of float)
|
||||
0:169 'm3s' (3X3 matrix of float)
|
||||
0:169 Construct mat3 (3X3 matrix of float)
|
||||
0:169 direct index (float)
|
||||
0:169 'v2' (2-component vector of float)
|
||||
0:169 Constant:
|
||||
0:169 0 (const int)
|
||||
0:171 Sequence
|
||||
0:171 move second child to first child (2-element array of 3X3 matrix of float)
|
||||
0:171 'm3a1' (2-element array of 3X3 matrix of float)
|
||||
0:171 Construct mat3 (2-element array of 3X3 matrix of float)
|
||||
0:171 'm3s' (3X3 matrix of float)
|
||||
0:171 'm3s' (3X3 matrix of float)
|
||||
0:? Linker Objects
|
||||
0:? 'lowp' (float)
|
||||
0:? 'mediump' (float)
|
||||
@@ -723,6 +795,70 @@ ERROR: node is still EOpNull!
|
||||
0:150 component-wise multiply (4X3 matrix of float)
|
||||
0:150 'm43' (4X3 matrix of float)
|
||||
0:150 'm43' (4X3 matrix of float)
|
||||
0:156 Function Definition: matConst( (void)
|
||||
0:156 Function Parameters:
|
||||
0:? Sequence
|
||||
0:162 Sequence
|
||||
0:162 move second child to first child (4X4 matrix of float)
|
||||
0:162 'm4g' (4X4 matrix of float)
|
||||
0:162 Construct mat4 (4X4 matrix of float)
|
||||
0:162 'v2' (2-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:162 'v3' (3-component vector of float)
|
||||
0:163 Sequence
|
||||
0:163 move second child to first child (4X4 matrix of float)
|
||||
0:163 'm4' (4X4 matrix of float)
|
||||
0:163 Construct mat4 (4X4 matrix of float)
|
||||
0:163 'v2' (2-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v3' (3-component vector of float)
|
||||
0:163 'v2' (2-component vector of float)
|
||||
0:164 Sequence
|
||||
0:164 move second child to first child (3X3 matrix of float)
|
||||
0:164 'm3' (3X3 matrix of float)
|
||||
0:164 Construct mat3 (3X3 matrix of float)
|
||||
0:164 'm4' (4X4 matrix of float)
|
||||
0:165 Sequence
|
||||
0:165 move second child to first child (3X3 matrix of float)
|
||||
0:165 'm3b1' (3X3 matrix of float)
|
||||
0:165 Construct mat3 (3X3 matrix of float)
|
||||
0:165 'm4' (4X4 matrix of float)
|
||||
0:165 'v2' (2-component vector of float)
|
||||
0:166 Sequence
|
||||
0:166 move second child to first child (3X3 matrix of float)
|
||||
0:166 'm3b2' (3X3 matrix of float)
|
||||
0:166 Construct mat3 (3X3 matrix of float)
|
||||
0:166 'm4' (4X4 matrix of float)
|
||||
0:166 'm4' (4X4 matrix of float)
|
||||
0:167 Sequence
|
||||
0:167 move second child to first child (3X2 matrix of float)
|
||||
0:167 'm32' (3X2 matrix of float)
|
||||
0:167 Construct mat3x2 (3X2 matrix of float)
|
||||
0:167 'm4' (4X4 matrix of float)
|
||||
0:168 Sequence
|
||||
0:168 move second child to first child (4X4 matrix of float)
|
||||
0:168 'm4c' (4X4 matrix of float)
|
||||
0:168 Construct mat4 (4X4 matrix of float)
|
||||
0:168 'm32' (3X2 matrix of float)
|
||||
0:169 Sequence
|
||||
0:169 move second child to first child (3X3 matrix of float)
|
||||
0:169 'm3s' (3X3 matrix of float)
|
||||
0:169 Construct mat3 (3X3 matrix of float)
|
||||
0:169 direct index (float)
|
||||
0:169 'v2' (2-component vector of float)
|
||||
0:169 Constant:
|
||||
0:169 0 (const int)
|
||||
0:171 Sequence
|
||||
0:171 move second child to first child (2-element array of 3X3 matrix of float)
|
||||
0:171 'm3a1' (2-element array of 3X3 matrix of float)
|
||||
0:171 Construct mat3 (2-element array of 3X3 matrix of float)
|
||||
0:171 'm3s' (3X3 matrix of float)
|
||||
0:171 'm3s' (3X3 matrix of float)
|
||||
0:? Linker Objects
|
||||
0:? 'lowp' (float)
|
||||
0:? 'mediump' (float)
|
||||
|
||||
Reference in New Issue
Block a user