Files
ispc/tests/short-vec-7.ispc
Matt Pharr 6d7ff7eba2 Update defaults for variability of pointed-to types.
Now, if rate qualifiers aren't used to specify otherwise, varying
pointers point to uniform types by default.  As before, uniform
pointers point to varying types by default.

   float *foo;  // varying pointer to uniform float
   float * uniform foo;  // uniform pointer to varying float

These defaults seem to require the least amount of explicit
uniform/varying qualifiers for most common cases, though TBD if it
would be easier to have a single rule that e.g. the pointed-to type
is always uniform by default.
2012-02-21 06:27:34 -08:00

23 lines
505 B
Plaintext

typedef int<4> int4;
export uniform int width() { return programCount; }
void incXY(varying int4 * uniform v) {
++(*v).x;
++(*v).y;
}
export void f_fu(uniform float ret[], uniform float aa[], uniform float b) {
float a = aa[programIndex];
int4 v0 = { b, 2*b, 3*b, 2 };
incXY(&v0);
if (programIndex & 1) incXY(&v0);
ret[programIndex] = v0.x + v0.y;
}
export void result(uniform float ret[]) {
ret[programIndex] = 17;
if (programIndex & 1) ret[programIndex] += 2;
}