public static void glGetInteger(int pname, IntBuffer params) {
ContextCapabilities caps = GLContext.getCapabilities();
long function_pointer = caps.glGetIntegerv;
BufferChecks.checkFunctionAddress(function_pointer);
BufferChecks.checkBuffer(params, 16);
nglGetIntegerv(pname, MemoryUtil.getAddress(params), function_pointer);
}
This line:
BufferChecks.checkBuffer(params, 16);
Why does it require the length of the buffer to be 16?
Sometimes the return value needed is only of 4 bytes like here:
Gdx.gl20.glGetIntegerv(GL20.GL_MAX_TEXTURE_IMAGE_UNITS, buffer);
Why should the buffer be of allocateDirect(16)??
I don't know what they did it in android but if it only required 4 bytes in didn't ask for more.