glslang/Test/prepost.frag

39 lines
747 B
GLSL
Raw Normal View History

#version 140
void main()
{
struct s {
float y[5];
} str;
float t;
int index = 5; // all indexing is 4
str.y[4] = 2.0; // 2.0
t = ++str.y[--index]; // 3.0
str.y[4] += t; // 6.0
t = str.y[4]--; // 5.0 (t = 6.0)
str.y[index++] += t; // 11.0
--str.y[--index]; // 10.0
float x = str.y[4];
++x;
--x;
x++;
x--;
// x is 10.0
float y = x * ++x; // 10 * 11
float z = y * x--; // 110 * 11
// x is 10.0
// z is 1210.0
vec4 v = vec4(1.0, 2.0, 3.0, 4.0);
v.y = v.z--; // (1,3,2,4)
v.x = --v.w; // (3,3,2,3)
gl_FragColor = z * v;// (3630.0, 3630.0, 2420.0, 3630.0)
}