função com tipo de retorno booleano no OpenGL ES shader usando GPUImage

Estou trabalhando em um projeto iOS, usando a estrutura GPUImage. Não consigo fazer meu shader ser cumprido.

Há uma função no meu shader de fragmento:

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));
}

Log de compilação do sombreador:

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

Quando substituo todas as chamadas para funcionar

inBounds(vec2 p)

com

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

funcionaótimo!

Questões:

A função bool é suportada no OpenGL ES 2.0 Fragment Shader? Se sim, onde eu errei? Caso contrário, por que existem funções comoall(), lessThan(), etc.

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

questionAnswers(1)

yourAnswerToTheQuestion