glslang/Test/100Limits.vert
John Kessenich a5830dfc0e Add the following ESSL 2.0 (#version 100) limitations to the configuration file, internal infrastructure, and test cases. Still need to implement the actual detection of non-inductive loops and array accesses. While and do-while loop detection is done.
nonInductiveForLoops
whileLoops
doWhileLoops
generalUniformIndexing
generalAttributeMatrixVectorIndexing
generalVaryingIndexing
generalSamplerIndexing
generalVariableIndexing
generalConstantMatrixVectorIndexing


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23323 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-10-02 05:10:48 +00:00

54 lines
998 B
GLSL

#version 100
int ga, gb;
float f;
uniform sampler2D fsa[3];
uniform float fua[10];
attribute mat3 am3;
attribute vec2 av2;
varying vec4 va[4];
const mat2 m2 = mat2(1.0);
const vec3 v3 = vec3(2.0);
void foo(inout float a) {}
void main()
{
while (ga < gb) { }
do { } while (false);
for ( ga = 0; ; );
for ( bool a = false; ; );
for (float a = 0.0; a == sin(f); );
for ( int a = 0; a < 10; a *= 2);
for ( int a = 0; a <= 20; ++a) --a;
for (float a = 0.0; a <= 20.0; a += 2.0);
for (float a = 0.0; a <= 20.0; a += 2.0) foo(a);
int ia[9];
fsa[ga];
fua[ga];
am3[ga];
av2[ga];
va[ga];
m2[ga];
v3[ga];
ia[ga];
for ( int a = 3; a >= 0; --a) {
fsa[a];
fua[a+2];
am3[3*a];
av2[3*a];
va[a-1];
m2[a/2];
v3[a];
ia[a];
}
}