Files
ispc/tests/cfor-gs-improve-multidim-struct-1.ispc
2014-01-24 12:18:20 +01:00

31 lines
793 B
Plaintext

export uniform int width() { return programCount; }
struct Foo {
uniform float udx[32][32];
};
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
float a = aFOO[programIndex];
#ifndef __NVPTX__
uniform Foo f[5];
#else /* too much shared memory allocated, nvcc fails to link */
uniform Foo * uniform f = uniform new uniform Foo[5];
#define _UNMALLOC
#endif
cfor (uniform int i = 0; i < 5; ++i)
cfor (uniform int j = 0; j < 32; ++j)
cfor (uniform int k = 0; k < 32; ++k)
f[i].udx[j][k] = 1000*i+100*j+k;
int x = 1;
RET[programIndex] = f[x+1].udx[b-4][programIndex];
#ifdef _UNMALLOC
delete f;
#endif
}
export void result(uniform float RET[]) { RET[programIndex] = 2100 +programIndex; }