Add support for int8/int16 types. Addresses issues #9 and #42.

This commit is contained in:
Matt Pharr
2011-07-21 06:57:40 +01:00
parent 2d573acd17
commit bba7211654
64 changed files with 2317 additions and 885 deletions

View File

@@ -1,16 +1,15 @@
export uniform int width() { return programCount; }
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
uniform int x[16];
for (uniform int i = 0; i < 16; ++i)
x[i] = 0xffffffff;
unsigned int val = aFOO[programIndex];
store_to_int16(x, 5, val);
int v = load_from_int16(x, 6);
RET[programIndex] = v;
uniform int16 x[2*programCount];
for (uniform int i = 0; i < 2*programCount; ++i)
x[i] = 0xffff;
unsigned int8 val = aFOO[programIndex];
x[2+programIndex] = val;
RET[programIndex] = x[1+programIndex];
}
export void result(uniform float RET[]) {
RET[programIndex] = 2+programIndex;
RET[programCount-1] = -1;
RET[programIndex] = programIndex;
RET[0] = -1.;
}