Fix ES unsized-array checking: it was one level too low, disallowing some unsized syntax that is legal.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24330 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
@@ -133,3 +133,17 @@ int fgfg(float f, highp int i); // ERROR, precision qualifier difference
|
||||
|
||||
int fgfgh(float f, const in mediump int i);
|
||||
int fgfgh(float f, in mediump int i); // ERROR, precision qualifier difference
|
||||
|
||||
void foo2349()
|
||||
{
|
||||
float[] x = float[] (1.0, 2.0, 3.0);
|
||||
float[] y = x;
|
||||
float[3] z = x;
|
||||
float[3] w;
|
||||
w = y;
|
||||
}
|
||||
|
||||
int[] foo213234(); // ERROR
|
||||
int foo234234(float[]); // ERROR
|
||||
int foo234235(vec2[] v); // ERROR
|
||||
precision highp float[2]; // ERROR
|
||||
|
||||
@@ -57,3 +57,7 @@ void main()
|
||||
ica[3.1] = 3; // ERROR
|
||||
ica[u[1]] = 4; // ERROR
|
||||
}
|
||||
|
||||
int[] foo213234(); // ERROR
|
||||
int foo234234(float[]); // ERROR
|
||||
int foo234235(vec2[] v); // ERROR
|
||||
|
||||
@@ -31,7 +31,11 @@ ERROR: 0:125: 'texture' : no matching overloaded function found
|
||||
ERROR: 0:127: 'textureProjOffset' : no matching overloaded function found
|
||||
ERROR: 0:132: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
|
||||
ERROR: 0:135: 'in' : overloaded functions must have the same parameter storage qualifiers for argument 2
|
||||
ERROR: 32 compilation errors. No code generated.
|
||||
ERROR: 0:146: '' : array size required
|
||||
ERROR: 0:147: '' : array size required
|
||||
ERROR: 0:148: '' : array size required
|
||||
ERROR: 0:149: 'float' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
|
||||
ERROR: 36 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -216,6 +220,27 @@ ERROR: node is still EOpNull!
|
||||
0:128 Constant:
|
||||
0:128 1 (const int)
|
||||
0:128 1 (const int)
|
||||
0:137 Function Definition: foo2349( (void)
|
||||
0:137 Function Parameters:
|
||||
0:139 Sequence
|
||||
0:139 Sequence
|
||||
0:139 move second child to first child (3-element array of highp float)
|
||||
0:139 'x' (3-element array of highp float)
|
||||
0:139 Constant:
|
||||
0:139 1.000000
|
||||
0:139 2.000000
|
||||
0:139 3.000000
|
||||
0:140 Sequence
|
||||
0:140 move second child to first child (3-element array of highp float)
|
||||
0:140 'y' (3-element array of highp float)
|
||||
0:140 'x' (3-element array of highp float)
|
||||
0:141 Sequence
|
||||
0:141 move second child to first child (3-element array of highp float)
|
||||
0:141 'z' (3-element array of highp float)
|
||||
0:141 'x' (3-element array of highp float)
|
||||
0:143 move second child to first child (3-element array of highp float)
|
||||
0:143 'w' (3-element array of highp float)
|
||||
0:143 'y' (3-element array of highp float)
|
||||
0:? Linker Objects
|
||||
0:? 'm43' (uniform highp 4X3 matrix of float)
|
||||
0:? 'm33' (uniform highp 3X3 matrix of float)
|
||||
|
||||
@@ -14,7 +14,10 @@ ERROR: 0:56: '=' : cannot convert from 'const 2-element array of int' to '3-ele
|
||||
ERROR: 0:57: '[]' : scalar integer expression required
|
||||
ERROR: 0:57: '[' : index out of range '-858993459'
|
||||
ERROR: 0:58: '[]' : scalar integer expression required
|
||||
ERROR: 14 compilation errors. No code generated.
|
||||
ERROR: 0:61: '' : array size required
|
||||
ERROR: 0:62: '' : array size required
|
||||
ERROR: 0:63: '' : array size required
|
||||
ERROR: 17 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: node is still EOpNull!
|
||||
|
||||
Reference in New Issue
Block a user