26 lines
752 B
Plaintext
26 lines
752 B
Plaintext
#include "../test_static.isph"
|
|
struct Foo { float x; float y; };
|
|
|
|
task void f_fu(uniform float ret[], uniform float aa[], uniform float b) {
|
|
float a = aa[programIndex];
|
|
Foo foo[programCount+1];
|
|
for (uniform int i = 0; i < programCount+1; ++i)
|
|
foo[i].x = i;
|
|
#pragma ignore warning(perf)
|
|
varying Foo fv = foo[a];
|
|
fv.x += 1000;
|
|
//CO print("fv.x = %\n", fv.x);
|
|
//CO print("foo[a] = %\n", foo[a].x);
|
|
#pragma ignore warning(perf)
|
|
foo[a] = fv;
|
|
//CO print("after assign foo[a] = %\n", foo[a].x);
|
|
|
|
#pragma ignore warning(perf)
|
|
ret[programIndex] = foo[a].x;
|
|
//CO print("% - %\n", programIndex, ret[programIndex]);
|
|
}
|
|
|
|
task void result(uniform float ret[]) {
|
|
ret[programIndex] = 1001+programIndex;
|
|
}
|