Files
ispc/tests/packed-load-5.ispc
Matt Pharr 11547cb950 stdlib updates to take advantage of pointers
The packed_{load,store}_active now functions take a pointer to a
location at which to start loading/storing, rather than an array
base and a uniform index.

Variants of the prefetch functions that take varying pointers 
are now available.

There are now variants of the various atomic functions that take
varying pointers (issue #112).
2011-11-29 15:41:38 -08:00

23 lines
607 B
Plaintext

export uniform int width() { return programCount; }
export void f_f(uniform float RET[], uniform float aFOO[]) {
uniform int a[100];
for (uniform int i = 0; i < 100; ++i)
a[i] = i;
int aa = 32;
uniform int count = 0;
if (programIndex & 1)
count += packed_load_active(&a[10], &aa);
if (!(programIndex & 1))
count += packed_load_active(&a[10+count], &aa);
RET[programIndex] = aa;
}
export void result(uniform float RET[]) {
for (uniform int i = 0; i < programCount/2; ++i) {
RET[2*i+1] = 10+i;
RET[2*i] = 10+programCount/2+i;
}
}