Add semantic check for precision qualifier on wrong kind of type. Added a few more tests.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22170 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-06-25 21:53:59 +00:00
parent d3f85891a7
commit ef84d10e4c
4 changed files with 26 additions and 1 deletions

View file

@ -78,7 +78,23 @@ void main()
bool b;
gl_FragColor += b ? v : m; // ERROR, types don't match around ":"
}
gl_FragColor.xr; // ERROR, swizzlers not from same field space
centTexCoord.z; // ERROR, swizzler out of range
(a,b) = true; // ERROR, not an l-value
}
float imageBuffer;
float uimage2DRect;
int main() {} // ERROR
void main(int a) {} // ERROR
const int a; // ERROR
int foo(in float a);
int foo(out float a) // ERROR
{
return 3.2; // ERROR
foo(a); // ERROR
}

View file

@ -54,4 +54,6 @@ void main()
const int ca3[3] = int[](3, 2); // ERROR
int ica[] = int[](3, 2);
int ica3[3] = int[](3, 2); // ERROR
ica[3.1] = 3; // ERROR
ica[u[1]] = 4; // ERROR
}

View file

@ -68,3 +68,9 @@ void main()
texture2D(samplerMed, vec2(0.1, 0.2));
texture2D(samplerHigh, vec2(0.1, 0.2));
}
precision mediump bool; // ERROR
//precision mediump struct { int a; } s; // ERROR
struct s {int a;};
precision mediump s; // ERROR
mediump bvec2 b2; // ERROR