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:
parent
e7cbfa5cab
commit
39374dadb5
136 changed files with 12813 additions and 0 deletions
133
Test/spv.switch.frag
Normal file
133
Test/spv.switch.frag
Normal 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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue