
export uniform int width() { return programCount; }


struct Foo {
    float x;
};
void bar(varying Foo * uniform f) { ++((*f).x); }

export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
    float a = aFOO[programIndex];
    varying Foo f = {a};
    if (a == 1 || a == 4)
        bar(&f);
    RET[programIndex] = f.x;
}


export void result(uniform float RET[]) {
    RET[programIndex] = 1+programIndex;
    RET[0] = 2;
    RET[3] = 5;
}
