1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
# This test verifies that loop unrolling properly interprets a variety
# of ways of specifying loop bounds.
[require]
GLSL >= 1.10
[vertex shader]
void main()
{
gl_Position = gl_Vertex;
}
[fragment shader]
void main()
{
int sum;
int i;
bool failed = false;
sum = 0; for (i = 10; i < 14; i++) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 10; i <= 13; i++) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 10; 14 > i; i++) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 10; 13 >= i; i++) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 10; i != 14; i++) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 10; 14 != i; i++) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 10; i == 10; i++) sum += i; if (sum != 10) failed = true;
sum = 0; for (i = 10; 10 == i; i++) sum += i; if (sum != 10) failed = true;
sum = 0; for (i = 13; i > 9; i--) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 13; i >= 10; i--) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 13; 9 < i; i--) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 13; 10 <= i; i--) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 13; i != 9; i--) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 13; 9 != i; i--) sum += i; if (sum != 46) failed = true;
sum = 0; for (i = 13; i == 13; i--) sum += i; if (sum != 13) failed = true;
sum = 0; for (i = 13; 13 == i; i--) sum += i; if (sum != 13) failed = true;
gl_FragColor = failed ? vec4(1.0, 0.0, 0.0, 1.0) : vec4(0.0, 1.0, 0.0, 1.0);
}
[test]
draw rect -1 -1 2 2
probe all rgba 0.0 1.0 0.0 1.0
|