Fix a number of tests to work correctly with 32/64-wide targets.

Still to be reviewed/fixed: tests/test-*, tests/[cfrs]*
This commit is contained in:
Matt Pharr
2012-05-29 10:16:43 -07:00
parent 5084712a15
commit d86653668e
69 changed files with 249 additions and 158 deletions

View File

@@ -4,7 +4,7 @@ export uniform int width() { return programCount; }
export void f_f(uniform float RET[], uniform float aFOO[]) {
RET[programIndex] = -1;
int32 a = ~(1 << programIndex);
if ((programIndex & 1) == 0) {
if ((programIndex < 32) && (programIndex & 1) == 0) {
RET[programIndex] = exclusive_scan_and(a);
}
}
@@ -12,7 +12,7 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
export void result(uniform float RET[]) {
RET[programIndex] = -1;
if ((programIndex & 1) == 0 && programIndex > 0) {
if ((programIndex & 1) == 0 && programIndex > 0 && programIndex < 32) {
int val = 0xffffffff;
for (int i = 0; i < programIndex-1; i += 2)
val &= ~(1<<i);