Looks like the bytes in your 32-bit values are swapped relative to what OpenGL expects for the mask. The byte order is controlled by the GL_UNPACK_LSB_FIRST pixels store parameter, which is GL_FALSE by default. Since the LSB is first on a little endian machine, which is most likely what you're...