Add support for multi-element vector swizzles. Issue #17.

This commit adds support for swizzles like "foo.zy" (if "foo" is,
for example, a float<3> type) as rvalues.  (Still need support for
swizzles as lvalues.)
This commit is contained in:
Pete Couperus
2011-07-22 13:10:14 +01:00
committed by Matt Pharr
parent 98a2d69e72
commit 59036cdf5b
10 changed files with 397 additions and 140 deletions

15
tests/swizzle-3.ispc Normal file
View File

@@ -0,0 +1,15 @@
export uniform int width() { return programCount; }
export void f_v(uniform float RET[]) {
float<3> a = {1,10,100};
float<6> b = a.zxyyxz;
RET[programIndex] = b.x + 2*b.y + 3*b.z - 3*b[3] - 2*b[4] - b[5];
}
export void result(uniform float RET[]) {
RET[programIndex] = 0;
}