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

18
tests/swizzle-6.ispc Normal file
View File

@@ -0,0 +1,18 @@
export uniform int width() { return programCount; }
export void f_v(uniform float RET[]) {
float<3> a = {1,2,3};
float<3> b1 = a.yzx;
float<3> b2 = b1.yzx;
float<3> b3 = b2.yzx;
float<3> b = b3 - a;
RET[programIndex] = b.x + 2*b.y + 3*b.z;
}
export void result(uniform float RET[]) {
RET[programIndex] = 0;
}