20 lines
646 B
Plaintext
20 lines
646 B
Plaintext
#include "../test_static.isph"
|
|
task void f_f(uniform float RET[], uniform float aFOO[]) {
|
|
float aa = aFOO[programIndex];
|
|
float<4> a = { -1, -2, -3, -4 };
|
|
if (programIndex < 4) {
|
|
// TODO: we need to optimize ispc to not throw out-of-bound warning here.
|
|
#pragma ignore warning
|
|
a[3-programIndex] = aa;
|
|
}
|
|
//CO print("%\n%\n%\n%\n", a[0], a[1], a[2], a[3]);
|
|
int i = clamp(3-programIndex, 0, 3);
|
|
//CO print("%\n%\n", i, a[i]);
|
|
#pragma ignore warning(perf)
|
|
RET[programIndex] = a[i];
|
|
}
|
|
|
|
task void result(uniform float RET[]) {
|
|
RET[programIndex] = (programIndex < 4) ? 1+programIndex : -1;
|
|
}
|