Removed Util.glGetInteger convenience method since it is not thread safe

This commit is contained in:
Elias Naur 2007-04-29 19:38:04 +00:00
parent ef37c0e897
commit a4b67705a0
2 changed files with 15 additions and 17 deletions

View File

@ -43,9 +43,6 @@ import org.lwjgl.BufferUtils;
*/
public final class Util {
private static final IntBuffer int_buffer = BufferUtils.createIntBuffer(16);
/** No c'tor */
private Util() {
}
@ -56,16 +53,4 @@ public final class Util {
throw new OpenGLException(err);
}
}
/**
* Obtain a GL integer value from the driver
*
* @param gl_enum The GL value you want
*
* @return the integer value
*/
public static int glGetInteger(int gl_enum) {
GL11.glGetInteger(gl_enum, int_buffer);
return int_buffer.get(0);
}
}

View File

@ -51,6 +51,7 @@ import org.lwjgl.opengl.Util;
abstract class Shader {
private static final IntBuffer int_buffer = BufferUtils.createIntBuffer(16);
protected static IntBuffer programBuffer = BufferUtils.createIntBuffer(1);
protected static ByteBuffer fileBuffer = BufferUtils.createByteBuffer(1024 * 10);
@ -61,6 +62,18 @@ abstract class Shader {
abstract void cleanup();
/**
* Obtain a GL integer value from the driver
*
* @param gl_enum The GL value you want
*
* @return the integer value
*/
public static int glGetInteger(int gl_enum) {
GL11.glGetInteger(gl_enum, int_buffer);
return int_buffer.get(0);
}
protected static ByteBuffer getShaderText(String file) {
ByteBuffer shader = null;
@ -99,7 +112,7 @@ abstract class Shader {
final byte[] bytes = new byte[programSource.capacity()];
programSource.get(bytes);
final int errorPos = Util.glGetInteger(ARBProgram.GL_PROGRAM_ERROR_POSITION_ARB);
final int errorPos = glGetInteger(ARBProgram.GL_PROGRAM_ERROR_POSITION_ARB);
int lineStart = 0;
int lineEnd = -1;
for ( int i = 0; i < bytes.length; i++ ) {
@ -185,4 +198,4 @@ abstract class Shader {
System.out.println(new String(charArray, 0, logLength));
}
}
}