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.
This commit is contained in:
@@ -6,14 +6,14 @@ struct Foo {
|
||||
uniform float b;
|
||||
};
|
||||
|
||||
void update(Foo * varying fp) {
|
||||
void update(uniform Foo * varying fp) {
|
||||
++fp;
|
||||
fp->a -= 1;
|
||||
fp->b = 1;
|
||||
}
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
Foo f[2] = { { 1234, 4321 }, { aFOO[programIndex], 5 } };
|
||||
uniform Foo f[2] = { { 1234, 4321 }, { aFOO[programIndex], 5 } };
|
||||
update(f);
|
||||
RET[programIndex] = f[1].a;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user