glslang SPV tests: Add a set of SPV tests.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31212 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2015-05-15 21:32:46 +00:00
parent e7cbfa5cab
commit 39374dadb5
136 changed files with 12813 additions and 0 deletions

133
Test/spv.switch.frag Normal file
View file

@ -0,0 +1,133 @@
#version 300 es
precision mediump float;
uniform int c, d;
in float x;
out float color;
uniform vec4 v;
vec4 foo1(vec4 v1, vec4 v2, int i1)
{
switch (i1)
{
case 0:
return v1;
case 2:
case 1:
return v2;
case 3:
return v1 * v2;
}
return vec4(0.0);
}
vec4 foo2(vec4 v1, vec4 v2, int i1)
{
switch (i1)
{
case 0:
return v1;
case 2:
return vec4(1.0);
case 1:
return v2;
case 3:
return v1 * v2;
}
return vec4(0.0);
}
void main()
{
float f;
int a[2];
int local = c;
switch(++local)
{
}
switch (c) {
case 1:
f = sin(x);
break;
case 2:
f = cos(x);
break;
default:
f = tan(x);
}
switch (c) {
case 1:
f += sin(x);
case 2:
f += cos(x);
break;
default:
f += tan(x);
}
switch (c) {
case 1:
f += sin(x);
break;
case 2:
f += cos(x);
break;
}
switch (c) {
case 1:
f += sin(x);
break;
case 2:
switch (d) {
case 1:
f += x * x * x;
break;
case 2:
f += x * x;
break;
}
break;
default:
f += tan(x);
}
for (int i = 0; i < 10; ++i) {
switch (c) {
case 1:
f += sin(x);
for (int j = 20; j < 30; ++j) {
++f;
if (f < 100.2)
break;
}
break;
case 2:
f += cos(x);
break;
break;
default:
f += tan(x);
}
if (f < 3.43)
break;
}
switch (c) {
case 1:
f += sin(x);
break;
case 2:
// test no statements at end
}
color = f + float(local);
color += foo1(v,v,c).y;
color += foo2(v,v,c).z;
}