función con el tipo de retorno bool en OpenGL ES shader usando GPUImage

Estoy trabajando en un proyecto de iOS, utilizando el marco GPUImage. No puedo hacer que mi sombreado sea cumplido.

Hay una función en mi fragmento de sombreado:

const vec2 boundMin = vec2(0.0, 0.0);
const vec2 boundMax = vec2(1.0, 1.0);

bool inBounds (vec2 p) {
   return all(lessThan(boundMin, p)) && all(lessThan(p, boundMax));
}

Registro de compilación de Shader:

ERROR: 0:1: '_Bool' : syntax error syntax error

Cuando sustituyo todas las llamadas a la función.

inBounds(vec2 p)

con

all(lessThan(boundMin, p)) && all(lessThan(p, boundMax))

funciona¡genial!

Preguntas:

¿Es compatible la función bool en OpenGL ES 2.0 Fragment Shader? Si es así, ¿dónde me equivoqué? Si no, ¿por qué hay funciones comoall(), lessThan(), etc.

Entorno: iPad mini, iOS 7, OpenGL ES 2.0, Xcode 5.0.2