Hm, strange. Here's the implementation of all() from the ispc stdlib:
__declspec(safe)
static inline uniform bool all(bool v) {
// As with any(), we need to explicitly mask v with the current program
mask
// so we're only looking at the current lanes
#if (ISPC_MASK_BITS == 1)
return
It looks like all(), any(), and none() examine all lanes regardless if
those lanes are active or not. For example,
if (programIndex < 4) {
if (all(programIndex < 4)) {
print("all lanes are less than 4\n");
} else {
print("all lanes are not less than