Add some additional tests

This commit is contained in:
Matt Pharr
2011-12-06 14:26:52 -08:00
parent 04df63d955
commit bd70182369
8 changed files with 128 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
export uniform int width() { return programCount; }
uniform unsigned int32 s[programCount];
export void f_f(uniform float RET[], uniform float aFOO[]) {
float a = aFOO[programIndex];
float b = 0;
float delta = 1;
if (programIndex < 2)
atomic_add_global(&s[programIndex], delta);
RET[programIndex] = s[programIndex];
}
export void result(uniform float RET[]) {
RET[programIndex] = 0;
RET[0] = RET[1] = 1;
}

View File

@@ -0,0 +1,16 @@
export uniform int width() { return programCount; }
uniform unsigned int32 s[programCount];
export void f_f(uniform float RET[], uniform float aFOO[]) {
float a = aFOO[programIndex];
float b = 0;
float delta = 1;
atomic_add_global(&s[programCount-1-programIndex], programIndex);
RET[programIndex] = s[programIndex];
}
export void result(uniform float RET[]) {
RET[programIndex] = programCount-1-programIndex;
}

View File

@@ -0,0 +1,18 @@
export uniform int width() { return programCount; }
uniform unsigned int32 s[programCount];
export void f_f(uniform float RET[], uniform float aFOO[]) {
for (uniform int i = 0; i < programCount; ++i)
s[i] = 1234;
float a = aFOO[programIndex];
float b = 0;
float delta = 1;
a = atomic_max_global(&s[programIndex], programIndex);
RET[programIndex] = a;
}
export void result(uniform float RET[]) {
RET[programIndex] = 1234;
}

View File

@@ -0,0 +1,15 @@
export uniform int width() { return programCount; }
uniform int32 s[programCount];
export void f_f(uniform float RET[], uniform float aFOO[]) {
for (uniform int i = 0; i < programCount; ++i)
s[i] = -1234;
atomic_max_global(&s[programIndex], programIndex);
RET[programIndex] = s[programIndex];
}
export void result(uniform float RET[]) {
RET[programIndex] = programIndex;
}

16
tests/ptr-int-null-1.ispc Normal file
View File

@@ -0,0 +1,16 @@
export uniform int width() { return programCount; }
bool foo(int *ptr) {
return (ptr == NULL);
}
export void f_f(uniform float RET[], uniform float aFOO[]) {
uniform int a = 1;
uniform int * uniform b = 0;
RET[programIndex] = foo(0);
}
export void result(uniform float RET[]) {
RET[programIndex] = 1;
}

13
tests/ptr-int-null.ispc Normal file
View File

@@ -0,0 +1,13 @@
export uniform int width() { return programCount; }
export void f_f(uniform float RET[], uniform float aFOO[]) {
uniform int a = 1;
uniform int * uniform b = 0;
RET[programIndex] = (b == NULL && b == 0 && 0 == b) ? 1 : 0;
}
export void result(uniform float RET[]) {
RET[programIndex] = 1;
}

View File

@@ -0,0 +1,17 @@
export uniform int width() { return programCount; }
export void f_f(uniform float RET[], uniform float aFOO[]) {
float aa = aFOO[programIndex];
float<4> a = { -1, -2, -3, -4 };
if (programIndex < 4)
a[3-programIndex] = aa;
//CO print("%\n%\n%\n%\n", a[0], a[1], a[2], a[3]);
int i = clamp(3-programIndex, 0, 3);
//CO print("%\n%\n", i, a[i]);
RET[programIndex] = a[i];
}
export void result(uniform float RET[]) {
RET[programIndex] = (programIndex < 4) ? 1+programIndex : -1;
}

View File

@@ -0,0 +1,15 @@
export uniform int width() { return programCount; }
export void f_f(uniform float RET[], uniform float aFOO[]) {
float aa = aFOO[programIndex];
float<4> a = { -1, -2, -3, -4 };
if (programIndex < 4)
a[3-programIndex] = aa;
RET[programIndex] = a[2];
}
export void result(uniform float RET[]) {
RET[programIndex] = -3;
RET[1] = 2;
}