GLContextImpl's getDefaultPixelDataType()/getDefaultPixelDataFormat() returns 0 Beside other use cases this affects GLPixelAttributes to calculate zero bytesPerPixel, which in turn causes GLReadBufferUtil to use readPixelSize. GLPixelAttributes shall throw a GLException if faulty args are being used.
Petrs experienced failing GLContextImpl's getDefaultPixelDataType()/getDefaultPixelDataFormat() on NV GTX295 and driver 314.07 on Windows 8. The GL query via gl.glGetIntegerv(GL.GL_IMPLEMENTATION_COLOR_READ_FORMAT, glImplColorReadVals, 0); gl.glGetIntegerv(GL.GL_IMPLEMENTATION_COLOR_READ_TYPE, glImplColorReadVals, 1); seems to be buggy w/ that driver, even though it claims to be an ES2 compatible context. Both methods shall fall back to default values.
Fixed as proposed .. Thx to Petr who discovered the bug and verified the test case and fix!