Generalized function pointer initialization
This commit is contained in:
parent
78e579f6be
commit
df3689651f
|
@ -548,7 +548,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilter
|
|||
|
||||
void extgl_InitARBImaging(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglColorTable", "(IIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBImaging_nglColorTable, "glColorTable", (void**)&glColorTable},
|
||||
{"nglColorSubTable", "(IIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBImaging_nglColorSubTable, "glColorSubTable", (void**)&glColorSubTable},
|
||||
{"nglColorTableParameteriv", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBImaging_nglColorTableParameteriv, "glColorTableParameteriv", (void**)&glColorTableParameteriv},
|
||||
|
@ -585,7 +585,7 @@ void extgl_InitARBImaging(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetSeparableFilter", "(IIILjava/nio/Buffer;ILjava/nio/Buffer;ILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilter, "glGetSeparableFilter", (void**)&glGetSeparableFilter}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBImaging");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBImaging");
|
||||
if (extgl_Extensions.GL_ARB_imaging)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_imaging", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -121,7 +121,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexusvARB
|
|||
|
||||
void extgl_InitARBMatrixPalette(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glCurrentPaletteMatrixARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBMatrixPalette_glCurrentPaletteMatrixARB, "glCurrentPaletteMatrixARB", (void**)&glCurrentPaletteMatrixARB},
|
||||
{"nglMatrixIndexPointerARB", "(IIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARB, "glMatrixIndexPointerARB", (void**)&glMatrixIndexPointerARB},
|
||||
{"nglMatrixIndexPointerARBVBO", "(IIII)V", (void*)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARBVBO, NULL, NULL},
|
||||
|
@ -130,7 +130,7 @@ void extgl_InitARBMatrixPalette(JNIEnv *env, jobject ext_set)
|
|||
{"nglMatrixIndexusvARB", "(ILjava/nio/ShortBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexusvARB, "glMatrixIndexusvARB", (void**)&glMatrixIndexusvARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBMatrixPalette");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBMatrixPalette");
|
||||
if (extgl_Extensions.GL_ARB_matrix_palette)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_matrix_palette", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -54,11 +54,11 @@ static void JNICALL Java_org_lwjgl_opengl_ARBMultisample_glSampleCoverageARB
|
|||
|
||||
void extgl_InitARBMultisample(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glSampleCoverageARB", "(FZ)V", (void*)&Java_org_lwjgl_opengl_ARBMultisample_glSampleCoverageARB, "glSampleCoverageARB", (void**)&glSampleCoverageARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBMultisample");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBMultisample");
|
||||
if (extgl_Extensions.GL_ARB_multisample)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_multisample", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -223,7 +223,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4sARB
|
|||
|
||||
void extgl_InitARBMultitexture(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glClientActiveTextureARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBMultitexture_glClientActiveTextureARB, "glClientActiveTextureARB", (void**)&glClientActiveTextureARB},
|
||||
{"glActiveTextureARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBMultitexture_glActiveTextureARB, "glActiveTextureARB", (void**)&glActiveTextureARB},
|
||||
{"glMultiTexCoord1fARB", "(IF)V", (void*)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord1fARB, "glMultiTexCoord1fARB", (void**)&glMultiTexCoord1fARB},
|
||||
|
@ -240,7 +240,7 @@ void extgl_InitARBMultitexture(JNIEnv *env, jobject ext_set)
|
|||
{"glMultiTexCoord4sARB", "(ISSSS)V", (void*)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4sARB, "glMultiTexCoord4sARB", (void**)&glMultiTexCoord4sARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBMultitexture");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBMultitexture");
|
||||
if (extgl_Extensions.GL_ARB_multitexture)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_multitexture", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -151,7 +151,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectuiv
|
|||
|
||||
void extgl_InitARBOcclusionQuery(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglGenQueriesARB", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGenQueriesARB, "glGenQueriesARB", (void**)&glGenQueriesARB},
|
||||
{"nglDeleteQueriesARB", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglDeleteQueriesARB, "glDeleteQueriesARB", (void**)&glDeleteQueriesARB},
|
||||
{"glIsQueryARB", "(I)Z", (void*)&Java_org_lwjgl_opengl_ARBOcclusionQuery_glIsQueryARB, "glIsQueryARB", (void**)&glIsQueryARB},
|
||||
|
@ -162,7 +162,7 @@ void extgl_InitARBOcclusionQuery(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetQueryObjectuivARB", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectuivARB, "glGetQueryObjectuivARB", (void**)&glGetQueryObjectuivARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBOcclusionQuery");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBOcclusionQuery");
|
||||
if (extgl_Extensions.GL_ARB_occlusion_query)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_occlusion_query", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -68,12 +68,12 @@ static void JNICALL Java_org_lwjgl_opengl_ARBPointParameters_nglPointParameterfv
|
|||
|
||||
void extgl_InitARBPointParameters(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glPointParameterfARB", "(IF)V", (void*)&Java_org_lwjgl_opengl_ARBPointParameters_glPointParameterfARB, "glPointParameterfARB", (void**)&glPointParameterfARB},
|
||||
{"nglPointParameterfvARB", "(ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBPointParameters_nglPointParameterfvARB, "glPointParameterfvARB", (void**)&glPointParameterfvARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBPointParameters");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBPointParameters");
|
||||
if (extgl_Extensions.GL_ARB_point_parameters)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_point_parameters", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -221,7 +221,7 @@ static jboolean JNICALL Java_org_lwjgl_opengl_ARBProgram_glIsProgramARB
|
|||
|
||||
void extgl_InitARBProgram(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglProgramStringARB", "(IIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBProgram_nglProgramStringARB, "glProgramStringARB", (void**)&glProgramStringARB},
|
||||
{"glBindProgramARB", "(II)V", (void*)&Java_org_lwjgl_opengl_ARBProgram_glBindProgramARB, "glBindProgramARB", (void**)&glBindProgramARB},
|
||||
{"nglDeleteProgramsARB", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBProgram_nglDeleteProgramsARB, "glDeleteProgramsARB", (void**)&glDeleteProgramsARB},
|
||||
|
@ -237,7 +237,7 @@ void extgl_InitARBProgram(JNIEnv *env, jobject ext_set)
|
|||
{"glIsProgramARB", "(I)Z", (void*)&Java_org_lwjgl_opengl_ARBProgram_glIsProgramARB, "glIsProgramARB", (void**)&glIsProgramARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBProgram");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBProgram");
|
||||
extgl_InitializeClass(env, clazz, NULL, "<ARBProgram>", num_functions, functions);
|
||||
}
|
||||
|
||||
|
|
|
@ -647,7 +647,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetShaderSourceARB
|
|||
|
||||
void extgl_InitARBShaderObjects(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glDeleteObjectARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glDeleteObjectARB, "glDeleteObjectARB", (void**)&glDeleteObjectARB},
|
||||
{"glGetHandleARB", "(I)I", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glGetHandleARB, "glGetHandleARB", (void**)&glGetHandleARB},
|
||||
{"glDetachObjectARB", "(II)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glDetachObjectARB, "glDetachObjectARB", (void**)&glDetachObjectARB},
|
||||
|
@ -691,7 +691,7 @@ void extgl_InitARBShaderObjects(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetShaderSourceARB", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetShaderSourceARB, "glGetShaderSourceARB", (void**)&glGetShaderSourceARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBShaderObjects");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBShaderObjects");
|
||||
if (extgl_Extensions.GL_ARB_shader_objects)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_shader_objects", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -139,7 +139,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressed
|
|||
|
||||
void extgl_InitARBTextureCompression(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglCompressedTexImage1DARB", "(IIIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage1DARB, "glCompressedTexImage1DARB", (void**)&glCompressedTexImage1DARB},
|
||||
{"nglCompressedTexImage2DARB", "(IIIIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage2DARB, "glCompressedTexImage2DARB", (void**)&glCompressedTexImage2DARB},
|
||||
{"nglCompressedTexImage3DARB", "(IIIIIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage3DARB, "glCompressedTexImage3DARB", (void**)&glCompressedTexImage3DARB},
|
||||
|
@ -149,7 +149,7 @@ void extgl_InitARBTextureCompression(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetCompressedTexImageARB", "(IILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressedTexImageARB, "glGetCompressedTexImageARB", (void**)&glGetCompressedTexImageARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBTextureCompression");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBTextureCompression");
|
||||
if (extgl_Extensions.GL_ARB_texture_compression)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_texture_compression", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -69,12 +69,12 @@ static void JNICALL Java_org_lwjgl_opengl_ARBTransposeMatrix_nglMultTransposeMat
|
|||
|
||||
void extgl_InitARBTransposeMatrix(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglLoadTransposeMatrixfARB", "(Ljava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBTransposeMatrix_nglLoadTransposeMatrixfARB, "glLoadTransposeMatrixfARB", (void**)&glLoadTransposeMatrixfARB},
|
||||
{"nglMultTransposeMatrixfARB", "(Ljava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBTransposeMatrix_nglMultTransposeMatrixfARB, "glMultTransposeMatrixfARB", (void**)&glMultTransposeMatrixfARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBTransposeMatrix");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBTransposeMatrix");
|
||||
if (extgl_Extensions.GL_ARB_transpose_matrix)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_transpose_matrix", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -177,7 +177,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_glVertexBlendARB
|
|||
|
||||
void extgl_InitARBVertexBlend(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglWeightbvARB", "(ILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightbvARB, "glWeightbvARB", (void**)&glWeightbvARB},
|
||||
{"nglWeightfvARB", "(ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightfvARB, "glWeightfvARB", (void**)&glWeightfvARB},
|
||||
{"nglWeightivARB", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightivARB, "glWeightivARB", (void**)&glWeightivARB},
|
||||
|
@ -190,7 +190,7 @@ void extgl_InitARBVertexBlend(JNIEnv *env, jobject ext_set)
|
|||
{"glVertexBlendARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexBlend_glVertexBlendARB, "glVertexBlendARB", (void**)&glVertexBlendARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBVertexBlend");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBVertexBlend");
|
||||
if (extgl_Extensions.GL_ARB_vertex_blend)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_vertex_blend", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -202,7 +202,7 @@ static jobject JNICALL Java_org_lwjgl_opengl_ARBVertexBufferObject_glGetBufferPo
|
|||
|
||||
void extgl_InitARBVertexBufferObject(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglBindBufferARB", "(II)V", (void*)&Java_org_lwjgl_opengl_ARBVertexBufferObject_nglBindBufferARB, "glBindBufferARB", (void**)&glBindBufferARB},
|
||||
{"nglDeleteBuffersARB", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexBufferObject_nglDeleteBuffersARB, "glDeleteBuffersARB", (void**)&glDeleteBuffersARB},
|
||||
{"nglGenBuffersARB", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexBufferObject_nglGenBuffersARB, "glGenBuffersARB", (void**)&glGenBuffersARB},
|
||||
|
@ -216,7 +216,7 @@ void extgl_InitARBVertexBufferObject(JNIEnv *env, jobject ext_set)
|
|||
{"glGetBufferPointerARB", "(III)Ljava/nio/ByteBuffer;", (void*)&Java_org_lwjgl_opengl_ARBVertexBufferObject_glGetBufferPointerARB, "glGetBufferPointervARB", (void**)&glGetBufferPointervARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBVertexBufferObject");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBVertexBufferObject");
|
||||
if (extgl_Extensions.GL_ARB_vertex_buffer_object)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_vertex_buffer_object", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -275,7 +275,7 @@ static jobject JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glGetVertexAttribP
|
|||
|
||||
void extgl_InitARBVertexProgram(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glVertexAttrib1sARB", "(IS)V", (void*)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib1sARB, "glVertexAttrib1sARB", (void**)&glVertexAttrib1sARB},
|
||||
{"glVertexAttrib1fARB", "(IF)V", (void*)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib1fARB, "glVertexAttrib1fARB", (void**)&glVertexAttrib1fARB},
|
||||
{"glVertexAttrib2sARB", "(ISS)V", (void*)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib2sARB, "glVertexAttrib2sARB", (void**)&glVertexAttrib2sARB},
|
||||
|
@ -294,7 +294,7 @@ void extgl_InitARBVertexProgram(JNIEnv *env, jobject ext_set)
|
|||
{"glGetVertexAttribPointerARB", "(III)Ljava/nio/ByteBuffer;", (void*)&Java_org_lwjgl_opengl_ARBVertexProgram_glGetVertexAttribPointerARB, "glGetVertexAttribPointervARB", (void**)&glGetVertexAttribPointervARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBVertexProgram");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBVertexProgram");
|
||||
if (extgl_Extensions.GL_ARB_vertex_program)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_vertex_program", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -97,13 +97,13 @@ static jint JNICALL Java_org_lwjgl_opengl_ARBVertexShader_nglGetAttribLocationAR
|
|||
|
||||
void extgl_InitARBVertexShader(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglBindAttribLocationARB", "(IILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexShader_nglBindAttribLocationARB, "glBindAttribLocationARB", (void**)&glBindAttribLocationARB},
|
||||
{"nglGetActiveAttribARB", "(IIILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBVertexShader_nglGetActiveAttribARB, "glGetActiveAttribARB", (void**)&glGetActiveAttribARB},
|
||||
{"nglGetAttribLocationARB", "(ILjava/nio/ByteBuffer;I)I", (void*)&Java_org_lwjgl_opengl_ARBVertexShader_nglGetAttribLocationARB, "glGetAttribLocationARB", (void**)&glGetAttribLocationARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBVertexShader");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBVertexShader");
|
||||
if (extgl_Extensions.GL_ARB_vertex_shader)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_vertex_shader", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -119,7 +119,7 @@ static void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3sARB
|
|||
|
||||
void extgl_InitARBWindowPos(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glWindowPos2fARB", "(FF)V", (void*)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2fARB, "glWindowPos2fARB", (void**)&glWindowPos2fARB},
|
||||
{"glWindowPos2iARB", "(II)V", (void*)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2iARB, "glWindowPos2iARB", (void**)&glWindowPos2iARB},
|
||||
{"glWindowPos2sARB", "(SS)V", (void*)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2sARB, "glWindowPos2sARB", (void**)&glWindowPos2sARB},
|
||||
|
@ -128,7 +128,7 @@ void extgl_InitARBWindowPos(JNIEnv *env, jobject ext_set)
|
|||
{"glWindowPos3sARB", "(SSS)V", (void*)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3sARB, "glWindowPos3sARB", (void**)&glWindowPos3sARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ARBWindowPos");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ARBWindowPos");
|
||||
if (extgl_Extensions.GL_ARB_window_pos)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ARB_window_pos", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -55,11 +55,11 @@ static void JNICALL Java_org_lwjgl_opengl_ATIDrawBuffers_nglDrawBuffersATI
|
|||
|
||||
void extgl_InitATIDrawBuffers(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglDrawBuffersATI", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIDrawBuffers_nglDrawBuffersATI, "glDrawBuffersATI", (void**)&glDrawBuffersATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIDrawBuffers");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIDrawBuffers");
|
||||
if (extgl_Extensions.GL_ATI_draw_buffers)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_draw_buffers", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -92,14 +92,14 @@ static void JNICALL Java_org_lwjgl_opengl_ATIElementArray_glDrawRangeElementArra
|
|||
|
||||
void extgl_InitATIElementArray(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglElementPointerATI", "(ILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATI, "glElementPointerATI", (void**)&glElementPointerATI},
|
||||
{"nglElementPointerATIVBO", "(II)V", (void*)&Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATIVBO, NULL, NULL},
|
||||
{"glDrawElementArrayATI", "(II)V", (void*)&Java_org_lwjgl_opengl_ATIElementArray_glDrawElementArrayATI, "glDrawElementArrayATI", (void**)&glDrawElementArrayATI},
|
||||
{"glDrawRangeElementArrayATI", "(IIII)V", (void*)&Java_org_lwjgl_opengl_ATIElementArray_glDrawRangeElementArrayATI, "glDrawRangeElementArrayATI", (void**)&glDrawRangeElementArrayATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIElementArray");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIElementArray");
|
||||
if (extgl_Extensions.GL_ATI_element_array)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_element_array", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -97,14 +97,14 @@ static void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParamete
|
|||
|
||||
void extgl_InitATIEnvmapBumpmap(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglTexBumpParameterfvATI", "(ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterfvATI, "glTexBumpParameterfvATI", (void**)&glTexBumpParameterfvATI},
|
||||
{"nglTexBumpParameterivATI", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterivATI, "glTexBumpParameterivATI", (void**)&glTexBumpParameterivATI},
|
||||
{"nglGetTexBumpParameterfvATI", "(ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterfvATI, "glGetTexBumpParameterfvATI", (void**)&glGetTexBumpParameterfvATI},
|
||||
{"nglGetTexBumpParameterivATI", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterivATI, "glGetTexBumpParameterivATI", (void**)&glGetTexBumpParameterivATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIEnvmapBumpmap");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIEnvmapBumpmap");
|
||||
if (extgl_Extensions.GL_ATI_envmap_bumpmap)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_envmap_bumpmap", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -225,7 +225,7 @@ static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglSetFragmentShader
|
|||
|
||||
void extgl_InitATIFragmentShader(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glGenFragmentShadersATI", "(I)I", (void*)&Java_org_lwjgl_opengl_ATIFragmentShader_glGenFragmentShadersATI, "glGenFragmentShadersATI", (void**)&glGenFragmentShadersATI},
|
||||
{"glBindFragmentShaderATI", "(I)V", (void*)&Java_org_lwjgl_opengl_ATIFragmentShader_glBindFragmentShaderATI, "glBindFragmentShaderATI", (void**)&glBindFragmentShaderATI},
|
||||
{"glDeleteFragmentShaderATI", "(I)V", (void*)&Java_org_lwjgl_opengl_ATIFragmentShader_glDeleteFragmentShaderATI, "glDeleteFragmentShaderATI", (void**)&glDeleteFragmentShaderATI},
|
||||
|
@ -242,7 +242,7 @@ void extgl_InitATIFragmentShader(JNIEnv *env, jobject ext_set)
|
|||
{"nglSetFragmentShaderConstantATI", "(ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIFragmentShader_nglSetFragmentShaderConstantATI, "glSetFragmentShaderConstantATI", (void**)&glSetFragmentShaderConstantATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIFragmentShader");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIFragmentShader");
|
||||
if (extgl_Extensions.GL_ATI_fragment_shader)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_fragment_shader", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -74,12 +74,12 @@ static void JNICALL Java_org_lwjgl_opengl_ATIMapObjectBuffer_glUnmapObjectBuffer
|
|||
|
||||
void extgl_InitATIMapObjectBuffer(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glMapObjectBufferATI", "(IILjava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;", (void*)&Java_org_lwjgl_opengl_ATIMapObjectBuffer_glMapObjectBufferATI, "glMapObjectBufferATI", (void**)&glMapObjectBufferATI},
|
||||
{"glUnmapObjectBufferATI", "(I)V", (void*)&Java_org_lwjgl_opengl_ATIMapObjectBuffer_glUnmapObjectBufferATI, "glUnmapObjectBufferATI", (void**)&glUnmapObjectBufferATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIMapObjectBuffer");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIMapObjectBuffer");
|
||||
if (extgl_Extensions.GL_ATI_map_object_buffer)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_map_object_buffer", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -67,12 +67,12 @@ static void JNICALL Java_org_lwjgl_opengl_ATIPnTriangles_glPNTrianglesiATI
|
|||
|
||||
void extgl_InitATIPNTriangles(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glPNTrianglesfATI", "(IF)V", (void*)&Java_org_lwjgl_opengl_ATIPnTriangles_glPNTrianglesfATI, "glPNTrianglesfATI", (void**)&glPNTrianglesfATI},
|
||||
{"glPNTrianglesiATI", "(II)V", (void*)&Java_org_lwjgl_opengl_ATIPnTriangles_glPNTrianglesiATI, "glPNTrianglesiATI", (void**)&glPNTrianglesiATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIPnTriangles");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIPnTriangles");
|
||||
if (extgl_Extensions.GL_ATI_pn_triangles)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_pn_triangles", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -67,12 +67,12 @@ static void JNICALL Java_org_lwjgl_opengl_ATISeparateStencil_glStencilFuncSepara
|
|||
|
||||
void extgl_InitATISeparateStencil(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glStencilOpSeparateATI", "(IIII)V", (void*)&Java_org_lwjgl_opengl_ATISeparateStencil_glStencilOpSeparateATI, "glStencilOpSeparateATI", (void**)&glStencilOpSeparateATI},
|
||||
{"glStencilFuncSeparateATI", "(IIII)V", (void*)&Java_org_lwjgl_opengl_ATISeparateStencil_glStencilFuncSeparateATI, "glStencilFuncSeparateATI", (void**)&glStencilFuncSeparateATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATISeparateStencil");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATISeparateStencil");
|
||||
if (extgl_Extensions.GL_ATI_separate_stencil)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_separate_stencil", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -207,7 +207,7 @@ static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArra
|
|||
|
||||
void extgl_InitATIVertexArrayObject(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglNewObjectBufferATI", "(ILjava/nio/Buffer;II)I", (void*)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglNewObjectBufferATI, "glNewObjectBufferATI", (void**)&glNewObjectBufferATI},
|
||||
{"glIsObjectBufferATI", "(I)Z", (void*)&Java_org_lwjgl_opengl_ATIVertexArrayObject_glIsObjectBufferATI, "glIsObjectBufferATI", (void**)&glIsObjectBufferATI},
|
||||
{"nglUpdateObjectBufferATI", "(IIILjava/nio/Buffer;II)V", (void*)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglUpdateObjectBufferATI, "glUpdateObjectBufferATI", (void**)&glUpdateObjectBufferATI},
|
||||
|
@ -222,7 +222,7 @@ void extgl_InitATIVertexArrayObject(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetVariantArrayObjectivATI", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArrayObjectivATI, "glGetVariantArrayObjectivATI", (void**)&glGetVariantArrayObjectivATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIVertexArrayObject");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIVertexArrayObject");
|
||||
if (extgl_Extensions.GL_ATI_vertex_array_object)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_vertex_array_object", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -82,13 +82,13 @@ static void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVerte
|
|||
|
||||
void extgl_InitATIVertexAttribArrayObject(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glVertexAttribArrayObjectATI", "(IIIZIII)V", (void*)&Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_glVertexAttribArrayObjectATI, "glVertexAttribArrayObjectATI", (void**)&glVertexAttribArrayObjectATI},
|
||||
{"nglGetVertexAttribArrayObjectfvATI", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectfvATI, "glGetVertexAttribArrayObjectfvATI", (void**)&glGetVertexAttribArrayObjectfvATI},
|
||||
{"nglGetVertexAttribArrayObjectivATI", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectivATI, "glGetVertexAttribArrayObjectivATI", (void**)&glGetVertexAttribArrayObjectivATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIVertexAttribArrayObject");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIVertexAttribArrayObject");
|
||||
if (extgl_Extensions.GL_ATI_vertex_attrib_array_object)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_vertex_attrib_array_object", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -288,7 +288,7 @@ static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexBlendEnviATI
|
|||
|
||||
void extgl_InitATIVertexStreams(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glVertexStream1fATI", "(IF)V", (void*)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream1fATI, "glVertexStream1fATI", (void**)&glVertexStream1fATI},
|
||||
{"glVertexStream1iATI", "(II)V", (void*)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream1iATI, "glVertexStream1iATI", (void**)&glVertexStream1iATI},
|
||||
{"glVertexStream1sATI", "(IS)V", (void*)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream1sATI, "glVertexStream1sATI", (void**)&glVertexStream1sATI},
|
||||
|
@ -310,7 +310,7 @@ void extgl_InitATIVertexStreams(JNIEnv *env, jobject ext_set)
|
|||
{"glVertexBlendEnviATI", "(II)V", (void*)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexBlendEnviATI, "glVertexBlendEnviATI", (void**)&glVertexBlendEnviATI}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/ATIVertexStreams");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/ATIVertexStreams");
|
||||
if (extgl_Extensions.GL_ATI_vertex_streams)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_ATI_vertex_streams", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
* @version $Revision$
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "common_tools.h"
|
||||
|
||||
bool debug = false;
|
||||
|
@ -115,3 +116,56 @@ void throwOpenALException(JNIEnv * env, const char * err) {
|
|||
void throwException(JNIEnv * env, const char * err) {
|
||||
throwGeneralException(env, "java/lang/Exception", err);
|
||||
}
|
||||
|
||||
void doExtension(JNIEnv *env, jobject ext_set, const char *method_name, const char *ext) {
|
||||
jclass clazz = env->GetObjectClass(ext_set);
|
||||
jmethodID id = env->GetMethodID(clazz, method_name, "(Ljava/lang/Object;)Z");
|
||||
if (id == NULL)
|
||||
return;
|
||||
jstring ext_string = env->NewStringUTF(ext);
|
||||
if (ext_string == NULL) {
|
||||
printf("Could not allocate java string from %s\n", ext);
|
||||
return;
|
||||
}
|
||||
env->CallBooleanMethod(ext_set, id, ext_string);
|
||||
}
|
||||
|
||||
static void ext_removeExtension(JNIEnv *env, jobject ext_set, const char *ext) {
|
||||
doExtension(env, ext_set, "remove", ext);
|
||||
}
|
||||
|
||||
jclass ext_ResetClass(JNIEnv *env, const char *class_name) {
|
||||
jclass clazz = env->FindClass(class_name);
|
||||
jint result = env->UnregisterNatives(clazz);
|
||||
if (result != 0)
|
||||
printfDebug("Could not unregister natives for class %s\n", class_name);
|
||||
return clazz;
|
||||
}
|
||||
|
||||
void ext_InitializeClass(JNIEnv *env, jclass clazz, jobject ext_set, const char *ext_name, ExtGetProcAddressPROC gpa, int num_functions, JavaMethodAndExtFunction *functions) {
|
||||
JNINativeMethod *methods = (JNINativeMethod *)malloc(num_functions*sizeof(JNINativeMethod));
|
||||
for (int i = 0; i < num_functions; i++) {
|
||||
JavaMethodAndExtFunction *function = functions + i;
|
||||
if (function->ext_function_name != NULL) {
|
||||
void *ext_func_pointer = gpa(function->ext_function_name);
|
||||
if (ext_func_pointer == NULL) {
|
||||
printf("NOTICE: %s disabled because of missing driver symbols\n", ext_name);
|
||||
if (ext_set != NULL)
|
||||
ext_removeExtension(env, ext_set, ext_name);
|
||||
free(methods);
|
||||
return;
|
||||
}
|
||||
void **ext_function_pointer_pointer = function->ext_function_pointer;
|
||||
*ext_function_pointer_pointer = ext_func_pointer;
|
||||
}
|
||||
JNINativeMethod *method = methods + i;
|
||||
method->name = function->method_name;
|
||||
method->signature = function->signature;
|
||||
method->fnPtr = function->method_pointer;
|
||||
}
|
||||
jint result = env->RegisterNatives(clazz, methods, num_functions);
|
||||
free(methods);
|
||||
if (result != 0)
|
||||
printfDebug("Could not register natives for extension %s\n", ext_name);
|
||||
}
|
||||
|
||||
|
|
|
@ -85,4 +85,20 @@ static inline const void *offsetToPointer(jint offset) {
|
|||
return (const char *)NULL + offset;
|
||||
}
|
||||
|
||||
typedef void *(* ExtGetProcAddressPROC) (const char *func_name);
|
||||
typedef struct {
|
||||
char *method_name;
|
||||
char *signature;
|
||||
void *method_pointer;
|
||||
|
||||
char *ext_function_name;
|
||||
void **ext_function_pointer;
|
||||
} JavaMethodAndExtFunction;
|
||||
|
||||
#define NUMFUNCTIONS(x) (sizeof(x)/sizeof(JavaMethodAndExtFunction));
|
||||
|
||||
extern void doExtension(JNIEnv *env, jobject ext_set, const char *method_name, const char *ext);
|
||||
extern jclass ext_ResetClass(JNIEnv *env, const char *class_name);
|
||||
extern void ext_InitializeClass(JNIEnv *env, jclass clazz, jobject ext_set, const char *ext_name, ExtGetProcAddressPROC gpa, int num_functions, JavaMethodAndExtFunction *functions);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -54,11 +54,11 @@ static void JNICALL Java_org_lwjgl_opengl_EXTBlendFuncSeparate_glBlendFuncSepara
|
|||
|
||||
void extgl_InitEXTBlendFuncSeparate(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glBlendFuncSeparateEXT", "(IIII)V", (void*)&Java_org_lwjgl_opengl_EXTBlendFuncSeparate_glBlendFuncSeparateEXT, "glBlendFuncSeparateEXT", (void**)&glBlendFuncSeparateEXT}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTBlendFuncSeparate");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTBlendFuncSeparate");
|
||||
if (extgl_Extensions.GL_EXT_blend_func_separate)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_blend_func_separate", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -67,12 +67,12 @@ static void JNICALL Java_org_lwjgl_opengl_EXTCompiledVertexArray_glUnlockArraysE
|
|||
|
||||
void extgl_InitEXTCompiledVertexArray(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glLockArraysEXT", "(II)V", (void*)&Java_org_lwjgl_opengl_EXTCompiledVertexArray_glLockArraysEXT, "glLockArraysEXT", (void**)&glLockArraysEXT},
|
||||
{"glUnlockArraysEXT", "()V", (void*)&Java_org_lwjgl_opengl_EXTCompiledVertexArray_glUnlockArraysEXT, "glUnlockArraysEXT", (void**)&glUnlockArraysEXT}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTCompiledVertexArray");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTCompiledVertexArray");
|
||||
if (extgl_Extensions.GL_EXT_compiled_vertex_array)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_compiled_vertex_array", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -66,12 +66,12 @@ static void JNICALL Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeEleme
|
|||
|
||||
void extgl_InitEXTDrawRangeElements(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglDrawRangeElementsEXT", "(IIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXT, "glDrawRangeElementsEXT", (void**)&glDrawRangeElementsEXT},
|
||||
{"nglDrawRangeElementsEXTVBO", "(IIIIII)V", (void*)&Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXTVBO, NULL, NULL}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTDrawRangeElements");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTDrawRangeElements");
|
||||
if (extgl_Extensions.GL_EXT_draw_range_elements)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_draw_range_elements", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -79,13 +79,13 @@ static void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXTVBO
|
|||
|
||||
void extgl_InitEXTFogCoord(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glFogCoordfEXT", "(F)V", (void*)&Java_org_lwjgl_opengl_EXTFogCoord_glFogCoordfEXT, "glFogCoordfEXT", (void**)&glFogCoordfEXT},
|
||||
{"nglFogCoordPointerEXT", "(IILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXT, "glFogCoordPointerEXT", (void**)&glFogCoordPointerEXT},
|
||||
{"nglFogCoordPointerEXTVBO", "(III)V", (void*)&Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXTVBO, NULL, NULL}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTFogCoord");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTFogCoord");
|
||||
if (extgl_Extensions.GL_EXT_fog_coord)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_fog_coord", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -56,11 +56,11 @@ static void JNICALL Java_org_lwjgl_opengl_EXTMultiDrawArrays_nglMultiDrawArraysE
|
|||
|
||||
void extgl_InitEXTMultiDrawArrays(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglMultiDrawArraysEXT", "(ILjava/nio/IntBuffer;ILjava/nio/IntBuffer;II)V", (void*)&Java_org_lwjgl_opengl_EXTMultiDrawArrays_nglMultiDrawArraysEXT, "glMultiDrawArraysEXT", (void**)&glMultiDrawArraysEXT}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTMultiDrawArrays");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTMultiDrawArrays");
|
||||
if (extgl_Extensions.GL_EXT_multi_draw_arrays)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_multi_draw_arrays", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -68,12 +68,12 @@ static void JNICALL Java_org_lwjgl_opengl_EXTPointParameters_nglPointParameterfv
|
|||
|
||||
void extgl_InitEXTPointParameters(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glPointParameterfEXT", "(IF)V", (void*)&Java_org_lwjgl_opengl_EXTPointParameters_glPointParameterfEXT, "glPointParameterfEXT", (void**)&glPointParameterfEXT},
|
||||
{"nglPointParameterfvEXT", "(ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_EXTPointParameters_nglPointParameterfvEXT, "glPointParameterfvEXT", (void**)&glPointParameterfvEXT}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTPointParameters");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTPointParameters");
|
||||
if (extgl_Extensions.GL_EXT_point_parameters)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_point_parameters", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@ static void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPoi
|
|||
|
||||
void extgl_InitEXTSecondaryColor(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glSecondaryColor3bEXT", "(BBB)V", (void*)&Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3bEXT, "glSecondaryColor3bEXT", (void**)&glSecondaryColor3bEXT},
|
||||
{"glSecondaryColor3fEXT", "(FFF)V", (void*)&Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3fEXT, "glSecondaryColor3fEXT", (void**)&glSecondaryColor3fEXT},
|
||||
{"glSecondaryColor3ubEXT", "(BBB)V", (void*)&Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3ubEXT, "glSecondaryColor3ubEXT", (void**)&glSecondaryColor3ubEXT},
|
||||
|
@ -113,7 +113,7 @@ void extgl_InitEXTSecondaryColor(JNIEnv *env, jobject ext_set)
|
|||
{"nglSecondaryColorPointerEXTVBO", "(IIII)V", (void*)&Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPointerEXTVBO, NULL, NULL}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTSecondaryColor");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTSecondaryColor");
|
||||
if (extgl_Extensions.GL_EXT_secondary_color)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_secondary_color", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -54,11 +54,11 @@ static void JNICALL Java_org_lwjgl_opengl_EXTStencilTwoSide_glActiveStencilFaceE
|
|||
|
||||
void extgl_InitEXTStencilTwoSide(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glActiveStencilFaceEXT", "(I)V", (void*)&Java_org_lwjgl_opengl_EXTStencilTwoSide_glActiveStencilFaceEXT, "glActiveStencilFaceEXT", (void**)&glActiveStencilFaceEXT}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTStencilTwoSide");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTStencilTwoSide");
|
||||
if (extgl_Extensions.GL_EXT_stencil_two_side)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_stencil_two_side", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -614,7 +614,7 @@ static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantFlo
|
|||
|
||||
void extgl_InitEXTVertexShader(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glBeginVertexShaderEXT", "()V", (void*)&Java_org_lwjgl_opengl_EXTVertexShader_glBeginVertexShaderEXT, "glBeginVertexShaderEXT", (void**)&glBeginVertexShaderEXT},
|
||||
{"glEndVertexShaderEXT", "()V", (void*)&Java_org_lwjgl_opengl_EXTVertexShader_glEndVertexShaderEXT, "glEndVertexShaderEXT", (void**)&glEndVertexShaderEXT},
|
||||
{"glBindVertexShaderEXT", "(I)V", (void*)&Java_org_lwjgl_opengl_EXTVertexShader_glBindVertexShaderEXT, "glBindVertexShaderEXT", (void**)&glBindVertexShaderEXT},
|
||||
|
@ -659,7 +659,7 @@ void extgl_InitEXTVertexShader(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetLocalConstantFloatvEXT", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantFloatvEXT, "glGetLocalConstantFloatvEXT", (void**)&glGetLocalConstantFloatvEXT}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTVertexShader");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTVertexShader");
|
||||
if (extgl_Extensions.GL_EXT_vertex_shader)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_vertex_shader", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -79,13 +79,13 @@ static void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPoin
|
|||
|
||||
void extgl_InitEXTVertexWeighting(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glVertexWeightfEXT", "(F)V", (void*)&Java_org_lwjgl_opengl_EXTVertexWeighting_glVertexWeightfEXT, "glVertexWeightfEXT", (void**)&glVertexWeightfEXT},
|
||||
{"nglVertexWeightPointerEXT", "(IIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXT, "glVertexWeightPointerEXT", (void**)&glVertexWeightPointerEXT},
|
||||
{"nglVertexWeightPointerEXTVBO", "(IIII)V", (void*)&Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXTVBO, NULL, NULL}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/EXTVertexWeighting");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/EXTVertexWeighting");
|
||||
if (extgl_Extensions.GL_EXT_vertex_weighting)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_EXT_vertex_weighting", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -34,7 +34,6 @@ THE POSSIBILITY OF SUCH DAMAGE.
|
|||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "extgl.h"
|
||||
#include "common_tools.h"
|
||||
|
@ -595,57 +594,57 @@ CFBundleRef opengl_bundle_ref = NULL;
|
|||
CFBundleRef agl_bundle_ref = NULL;
|
||||
#endif
|
||||
|
||||
jclass extgl_ResetClass(JNIEnv *env, const char *class_name) {
|
||||
jclass clazz = env->FindClass(class_name);
|
||||
jint result = env->UnregisterNatives(clazz);
|
||||
if (result != 0)
|
||||
printfDebug("Could not unregister natives for class %s\n", class_name);
|
||||
return clazz;
|
||||
}
|
||||
/* getProcAddress */
|
||||
|
||||
void extgl_InitializeClass(JNIEnv *env, jclass clazz, jobject ext_set, const char *ext_name, int num_functions, JavaMethodAndGLFunction *functions) {
|
||||
JNINativeMethod *methods = (JNINativeMethod *)malloc(num_functions*sizeof(JNINativeMethod));
|
||||
for (int i = 0; i < num_functions; i++) {
|
||||
JavaMethodAndGLFunction *function = functions + i;
|
||||
if (function->gl_function_name != NULL) {
|
||||
void *gl_func_pointer = extgl_GetProcAddress(function->gl_function_name);
|
||||
if (gl_func_pointer == NULL) {
|
||||
printf("NOTICE: %s disabled because of missing driver symbols\n", ext_name);
|
||||
if (ext_set != NULL)
|
||||
extgl_removeExtension(env, ext_set, ext_name);
|
||||
free(methods);
|
||||
return;
|
||||
}
|
||||
void **gl_function_pointer_pointer = function->gl_function_pointer;
|
||||
*gl_function_pointer_pointer = gl_func_pointer;
|
||||
static void *extgl_GetProcAddress(const char *name)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
void *t = wglGetProcAddress(name);
|
||||
if (t == NULL)
|
||||
{
|
||||
t = GetProcAddress(lib_gl_handle, name);
|
||||
if (t == NULL)
|
||||
{
|
||||
printfDebug("Could not locate symbol %s\n", name);
|
||||
extgl_error = true;
|
||||
}
|
||||
JNINativeMethod *method = methods + i;
|
||||
method->name = function->method_name;
|
||||
method->signature = function->signature;
|
||||
method->fnPtr = function->method_pointer;
|
||||
}
|
||||
jint result = env->RegisterNatives(clazz, methods, num_functions);
|
||||
free(methods);
|
||||
if (result != 0)
|
||||
printfDebug("Could not register natives for extension %s\n", ext_name);
|
||||
return t;
|
||||
#endif
|
||||
|
||||
#ifdef _X11
|
||||
void *t = (void*)glXGetProcAddressARB((const GLubyte*)name);
|
||||
if (t == NULL)
|
||||
{
|
||||
t = dlsym(lib_gl_handle, name);
|
||||
if (t == NULL)
|
||||
{
|
||||
printfDebug("Could not locate symbol %s\n", name);
|
||||
extgl_error = true;
|
||||
}
|
||||
}
|
||||
return t;
|
||||
#endif
|
||||
|
||||
#ifdef _AGL
|
||||
CFStringRef str = CFStringCreateWithCStringNoCopy(NULL, name, kCFStringEncodingUTF8, kCFAllocatorNull);
|
||||
void *func_pointer = CFBundleGetFunctionPointerForName(opengl_bundle_ref, str);
|
||||
if (func_pointer == NULL) {
|
||||
func_pointer = CFBundleGetFunctionPointerForName(agl_bundle_ref, str);
|
||||
if (func_pointer == NULL) {
|
||||
printfDebug("Could not locate symbol %s\n", name);
|
||||
extgl_error = true;
|
||||
}
|
||||
}
|
||||
CFRelease(str);
|
||||
return func_pointer;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void doExtension(JNIEnv *env, jobject ext_set, const char *method_name, const char *ext) {
|
||||
jclass clazz = env->GetObjectClass(ext_set);
|
||||
jmethodID id = env->GetMethodID(clazz, method_name, "(Ljava/lang/Object;)Z");
|
||||
if (id == NULL)
|
||||
return;
|
||||
jstring ext_string = env->NewStringUTF(ext);
|
||||
if (ext_string == NULL) {
|
||||
printf("Could not allocate java string from %s\n", ext);
|
||||
return;
|
||||
}
|
||||
env->CallBooleanMethod(ext_set, id, ext_string);
|
||||
void extgl_InitializeClass(JNIEnv *env, jclass clazz, jobject ext_set, const char *ext_name, int num_functions, JavaMethodAndExtFunction *functions) {
|
||||
ext_InitializeClass(env, clazz, ext_set, ext_name, &extgl_GetProcAddress, num_functions, functions);
|
||||
}
|
||||
|
||||
void extgl_removeExtension(JNIEnv *env, jobject ext_set, const char *ext) {
|
||||
doExtension(env, ext_set, "remove", ext);
|
||||
}
|
||||
|
||||
static void insertExtension(JNIEnv *env, jobject ext_set, const char *ext) {
|
||||
doExtension(env, ext_set, "add", ext);
|
||||
|
@ -722,53 +721,6 @@ static void aglUnloadFramework(CFBundleRef f)
|
|||
|
||||
#endif
|
||||
|
||||
/* getProcAddress */
|
||||
|
||||
void *extgl_GetProcAddress(const char *name)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
void *t = wglGetProcAddress(name);
|
||||
if (t == NULL)
|
||||
{
|
||||
t = GetProcAddress(lib_gl_handle, name);
|
||||
if (t == NULL)
|
||||
{
|
||||
printfDebug("Could not locate symbol %s\n", name);
|
||||
extgl_error = true;
|
||||
}
|
||||
}
|
||||
return t;
|
||||
#endif
|
||||
|
||||
#ifdef _X11
|
||||
void *t = (void*)glXGetProcAddressARB((const GLubyte*)name);
|
||||
if (t == NULL)
|
||||
{
|
||||
t = dlsym(lib_gl_handle, name);
|
||||
if (t == NULL)
|
||||
{
|
||||
printfDebug("Could not locate symbol %s\n", name);
|
||||
extgl_error = true;
|
||||
}
|
||||
}
|
||||
return t;
|
||||
#endif
|
||||
|
||||
#ifdef _AGL
|
||||
CFStringRef str = CFStringCreateWithCStringNoCopy(NULL, name, kCFStringEncodingUTF8, kCFAllocatorNull);
|
||||
void *func_pointer = CFBundleGetFunctionPointerForName(opengl_bundle_ref, str);
|
||||
if (func_pointer == NULL) {
|
||||
func_pointer = CFBundleGetFunctionPointerForName(agl_bundle_ref, str);
|
||||
if (func_pointer == NULL) {
|
||||
printfDebug("Could not locate symbol %s\n", name);
|
||||
extgl_error = true;
|
||||
}
|
||||
}
|
||||
CFRelease(str);
|
||||
return func_pointer;
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool QueryExtension(JNIEnv *env, jobject ext_set, const GLubyte*extensions, const char *name)
|
||||
{
|
||||
const GLubyte *start;
|
||||
|
|
|
@ -194,6 +194,8 @@ typedef void (*_GLfuncptr)();
|
|||
#define GLAPI extern
|
||||
#define GLAPIENTRY
|
||||
|
||||
#include "common_tools.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
@ -3286,23 +3288,9 @@ bool extgl_InitGLX(JNIEnv *env, Display *disp, int screen);
|
|||
#ifdef _AGL
|
||||
bool extgl_InitAGL(JNIEnv *env);
|
||||
#endif
|
||||
void *extgl_GetProcAddress(const char *name);
|
||||
void extgl_Close(void);
|
||||
void extgl_removeExtension(JNIEnv *env, jobject ext_set, const char *ext);
|
||||
void extgl_InitializeClass(JNIEnv *env, jclass clazz, jobject ext_set, const char *ext_name, int num_functions, JavaMethodAndExtFunction *functions);
|
||||
|
||||
typedef struct {
|
||||
char *method_name;
|
||||
char *signature;
|
||||
void *method_pointer;
|
||||
|
||||
char *gl_function_name;
|
||||
void **gl_function_pointer;
|
||||
} JavaMethodAndGLFunction;
|
||||
|
||||
#define NUMFUNCTIONS(x) (sizeof(x)/sizeof(JavaMethodAndGLFunction));
|
||||
|
||||
jclass extgl_ResetClass(JNIEnv *env, const char *class_name);
|
||||
void extgl_InitializeClass(JNIEnv *env, jclass clazz, jobject ext_set, const char *ext_name, int num_functions, JavaMethodAndGLFunction *functions);
|
||||
#define EXTGL_SANITY_CHECK(e,x) if (extgl_error) { \
|
||||
extgl_Extensions.x = false; \
|
||||
printf("NOTICE: %s disabled because of missing driver symbols\n", #x); \
|
||||
|
|
|
@ -166,7 +166,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_glEvalMapsNV
|
|||
|
||||
void extgl_InitNVEvaluators(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglGetMapControlPointsNV", "(IIIIIZLjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_NVEvaluators_nglGetMapControlPointsNV, "glGetMapControlPointsNV", (void**)&glGetMapControlPointsNV},
|
||||
{"nglMapControlPointsNV", "(IIIIIIIZLjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_NVEvaluators_nglMapControlPointsNV, "glMapControlPointsNV", (void**)&glMapControlPointsNV},
|
||||
{"nglMapParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVEvaluators_nglMapParameterfvNV, "glMapParameterfvNV", (void**)&glMapParameterfvNV},
|
||||
|
@ -178,7 +178,7 @@ void extgl_InitNVEvaluators(JNIEnv *env, jobject ext_set)
|
|||
{"glEvalMapsNV", "(II)V", (void*)&Java_org_lwjgl_opengl_NVEvaluators_glEvalMapsNV, "glEvalMapsNV", (void**)&glEvalMapsNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVEvaluators");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVEvaluators");
|
||||
if (extgl_Extensions.GL_NV_evaluators)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_evaluators", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -137,7 +137,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVFence_nglGetFenceivNV
|
|||
|
||||
void extgl_InitNVFence(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglGenFencesNV", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVFence_nglGenFencesNV, "glGenFencesNV", (void**)&glGenFencesNV},
|
||||
{"nglDeleteFencesNV", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVFence_nglDeleteFencesNV, "glDeleteFencesNV", (void**)&glDeleteFencesNV},
|
||||
{"glSetFenceNV", "(II)V", (void*)&Java_org_lwjgl_opengl_NVFence_glSetFenceNV, "glSetFenceNV", (void**)&glSetFenceNV},
|
||||
|
@ -147,7 +147,7 @@ void extgl_InitNVFence(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetFenceivNV", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVFence_nglGetFenceivNV, "glGetFenceivNV", (void**)&glGetFenceivNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVFence");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVFence");
|
||||
if (extgl_Extensions.GL_NV_fence)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_fence", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -97,14 +97,14 @@ static void JNICALL Java_org_lwjgl_opengl_NVFragmentProgram_nglGetProgramLocalPa
|
|||
|
||||
void extgl_InitNVFragmentProgram(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglProgramNamedParameter4fNV", "(IILjava/nio/ByteBuffer;IFFFF)V", (void*)&Java_org_lwjgl_opengl_NVFragmentProgram_nglProgramNamedParameter4fNV, "glProgramNamedParameter4fNV", (void**)&glProgramNamedParameter4fNV},
|
||||
{"nglGetProgramNamedParameterfvNV", "(IILjava/nio/ByteBuffer;ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVFragmentProgram_nglGetProgramNamedParameterfvNV, "glGetProgramNamedParameterfvNV", (void**)&glGetProgramNamedParameterfvNV},
|
||||
{"glProgramLocalParameter4fARB", "(IIFFFF)V", (void*)&Java_org_lwjgl_opengl_NVFragmentProgram_glProgramLocalParameter4fARB, "glProgramLocalParameter4fARB", (void**)&glProgramLocalParameter4fARB},
|
||||
{"nglGetProgramLocalParameterfvARB", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVFragmentProgram_nglGetProgramLocalParameterfvARB, "glGetProgramLocalParameterfvARB", (void**)&glGetProgramLocalParameterfvARB}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVFragmentProgram");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVFragmentProgram");
|
||||
if (extgl_Extensions.GL_NV_fragment_program)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_fragment_program", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -359,7 +359,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs4hvNV
|
|||
|
||||
void extgl_InitNVHalfFloat(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glVertex2hNV", "(SS)V", (void*)&Java_org_lwjgl_opengl_NVHalfFloat_glVertex2hNV, "glVertex2hNV", (void**)&glVertex2hNV},
|
||||
{"glVertex3hNV", "(SSS)V", (void*)&Java_org_lwjgl_opengl_NVHalfFloat_glVertex3hNV, "glVertex3hNV", (void**)&glVertex3hNV},
|
||||
{"glVertex4hNV", "(SSSS)V", (void*)&Java_org_lwjgl_opengl_NVHalfFloat_glVertex4hNV, "glVertex4hNV", (void**)&glVertex4hNV},
|
||||
|
@ -386,7 +386,7 @@ void extgl_InitNVHalfFloat(JNIEnv *env, jobject ext_set)
|
|||
{"nglVertexAttribs4hvNV", "(IILjava/nio/ShortBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs4hvNV, "glVertexAttribs4hvNV", (void**)&glVertexAttribs4hvNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVHalfFloat");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVHalfFloat");
|
||||
if (extgl_Extensions.GL_NV_half_float)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_half_float", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -137,7 +137,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryu
|
|||
|
||||
void extgl_InitNVOcclusionQuery(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglGenOcclusionQueriesNV", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVOcclusionQuery_nglGenOcclusionQueriesNV, "glGenOcclusionQueriesNV", (void**)&glGenOcclusionQueriesNV},
|
||||
{"nglDeleteOcclusionQueriesNV", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVOcclusionQuery_nglDeleteOcclusionQueriesNV, "glDeleteOcclusionQueriesNV", (void**)&glDeleteOcclusionQueriesNV},
|
||||
{"glIsOcclusionQueryNV", "(I)Z", (void*)&Java_org_lwjgl_opengl_NVOcclusionQuery_glIsOcclusionQueryNV, "glIsOcclusionQueryNV", (void**)&glIsOcclusionQueryNV},
|
||||
|
@ -147,7 +147,7 @@ void extgl_InitNVOcclusionQuery(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetOcclusionQueryuivNV", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryuivNV, "glGetOcclusionQueryuivNV", (void**)&glGetOcclusionQueryuivNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVOcclusionQuery");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVOcclusionQuery");
|
||||
if (extgl_Extensions.GL_NV_occlusion_query)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_occlusion_query", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -68,12 +68,12 @@ static void JNICALL Java_org_lwjgl_opengl_NVPixelDataRange_glFlushPixelDataRange
|
|||
|
||||
void extgl_InitNVPixelDataRange(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglPixelDataRangeNV", "(IILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_NVPixelDataRange_nglPixelDataRangeNV, "glPixelDataRangeNV", (void**)&glPixelDataRangeNV},
|
||||
{"glFlushPixelDataRangeNV", "(I)V", (void*)&Java_org_lwjgl_opengl_NVPixelDataRange_glFlushPixelDataRangeNV, "glFlushPixelDataRangeNV", (void**)&glFlushPixelDataRangeNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVPixelDataRange");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVPixelDataRange");
|
||||
if (extgl_Extensions.GL_NV_pixel_data_range)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_pixel_data_range", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -68,12 +68,12 @@ static void JNICALL Java_org_lwjgl_opengl_NVPointSprite_nglPointParameterivNV
|
|||
|
||||
void extgl_InitNVPointSprite(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glPointParameteriNV", "(II)V", (void*)&Java_org_lwjgl_opengl_NVPointSprite_glPointParameteriNV, "glPointParameteriNV", (void**)&glPointParameteriNV},
|
||||
{"nglPointParameterivNV", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVPointSprite_nglPointParameterivNV, "glPointParameterivNV", (void**)&glPointParameterivNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVPointSprite");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVPointSprite");
|
||||
if (extgl_Extensions.GL_NV_point_sprite)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_point_sprite", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -67,12 +67,12 @@ static void JNICALL Java_org_lwjgl_opengl_NVPrimitiveRestart_glPrimitiveRestartI
|
|||
|
||||
void extgl_InitNVPrimitiveRestart(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glPrimitiveRestartNV", "()V", (void*)&Java_org_lwjgl_opengl_NVPrimitiveRestart_glPrimitiveRestartNV, "glPrimitiveRestartNV", (void**)&glPrimitiveRestartNV},
|
||||
{"glPrimitiveRestartIndexNV", "(I)V", (void*)&Java_org_lwjgl_opengl_NVPrimitiveRestart_glPrimitiveRestartIndexNV, "glPrimitiveRestartIndexNV", (void**)&glPrimitiveRestartIndexNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVPrimitiveRestart");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVPrimitiveRestart");
|
||||
if (extgl_Extensions.GL_NV_primitive_restart)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_primitive_restart", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -168,7 +168,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVProgram_nglRequestResidentProgramsNV
|
|||
|
||||
void extgl_InitNVProgram(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglLoadProgramNV", "(IIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_NVProgram_nglLoadProgramNV, "glLoadProgramNV", (void**)&glLoadProgramNV},
|
||||
{"glBindProgramNV", "(II)V", (void*)&Java_org_lwjgl_opengl_NVProgram_glBindProgramNV, "glBindProgramNV", (void**)&glBindProgramNV},
|
||||
{"nglDeleteProgramsNV", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVProgram_nglDeleteProgramsNV, "glDeleteProgramsNV", (void**)&glDeleteProgramsNV},
|
||||
|
@ -180,6 +180,6 @@ void extgl_InitNVProgram(JNIEnv *env, jobject ext_set)
|
|||
{"nglRequestResidentProgramsNV", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVProgram_nglRequestResidentProgramsNV, "glRequestResidentProgramsNV", (void**)&glRequestResidentProgramsNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVProgram");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVProgram");
|
||||
extgl_InitializeClass(env, clazz, NULL, "<NVProgram>", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -218,7 +218,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombine
|
|||
|
||||
void extgl_InitNVRegisterCombiners(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glCombinerParameterfNV", "(IF)V", (void*)&Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerParameterfNV, "glCombinerParameterfNV", (void**)&glCombinerParameterfNV},
|
||||
{"nglCombinerParameterfvNV", "(ILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterfvNV, "glCombinerParameterfvNV", (void**)&glCombinerParameterfvNV},
|
||||
{"glCombinerParameteriNV", "(II)V", (void*)&Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerParameteriNV, "glCombinerParameteriNV", (void**)&glCombinerParameteriNV},
|
||||
|
@ -234,7 +234,7 @@ void extgl_InitNVRegisterCombiners(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetFinalCombinerInputParameterivNV", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombinerInputParameterivNV, "glGetFinalCombinerInputParameterivNV", (void**)&glGetFinalCombinerInputParameterivNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVRegisterCombiners");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVRegisterCombiners");
|
||||
if (extgl_Extensions.GL_NV_register_combiners)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_register_combiners", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -69,12 +69,12 @@ static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners2_nglGetCombinerSta
|
|||
|
||||
void extgl_InitNVRegisterCombiners2(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglCombinerStageParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVRegisterCombiners2_nglCombinerStageParameterfvNV, "glCombinerStageParameterfvNV", (void**)&glCombinerStageParameterfvNV},
|
||||
{"nglGetCombinerStageParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVRegisterCombiners2_nglGetCombinerStageParameterfvNV, "glGetCombinerStageParameterfvNV", (void**)&glGetCombinerStageParameterfvNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVRegisterCombiners2");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVRegisterCombiners2");
|
||||
if (extgl_Extensions.GL_NV_register_combiners2)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_register_combiners2", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_wglFreeMemoryNV
|
|||
|
||||
void extgl_InitNVVertexArrayRange(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglVertexArrayRangeNV", "(ILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_NVVertexArrayRange_nglVertexArrayRangeNV, "glVertexArrayRangeNV", (void**)&glVertexArrayRangeNV},
|
||||
{"glFlushVertexArrayRangeNV", "()V", (void*)&Java_org_lwjgl_opengl_NVVertexArrayRange_glFlushVertexArrayRangeNV, "glFlushVertexArrayRangeNV", (void**)&glFlushVertexArrayRangeNV},
|
||||
#ifdef _X11
|
||||
|
@ -133,7 +133,7 @@ void extgl_InitNVVertexArrayRange(JNIEnv *env, jobject ext_set)
|
|||
#endif
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVVertexArrayRange");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVVertexArrayRange");
|
||||
if (extgl_Extensions.GL_NV_vertex_array_range)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_vertex_array_range", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -398,7 +398,7 @@ static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4ubvNV
|
|||
|
||||
void extgl_InitNVVertexProgram(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglExecuteProgramNV", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVVertexProgram_nglExecuteProgramNV, "glExecuteProgramNV", (void**)&glExecuteProgramNV},
|
||||
{"nglGetProgramParameterfvNV", "(IIILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVVertexProgram_nglGetProgramParameterfvNV, "glGetProgramParameterfvNV", (void**)&glGetProgramParameterfvNV},
|
||||
{"nglGetTrackMatrixivNV", "(IIILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVVertexProgram_nglGetTrackMatrixivNV, "glGetTrackMatrixivNV", (void**)&glGetTrackMatrixivNV},
|
||||
|
@ -430,7 +430,7 @@ void extgl_InitNVVertexProgram(JNIEnv *env, jobject ext_set)
|
|||
{"nglVertexAttribs4ubvNV", "(IILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4ubvNV, "glVertexAttribs4ubvNV", (void**)&glVertexAttribs4ubvNV}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/NVVertexProgram");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/NVVertexProgram");
|
||||
if (extgl_Extensions.GL_NV_vertex_program)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "GL_NV_vertex_program", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -2574,7 +2574,7 @@ static void JNICALL Java_org_lwjgl_opengl_GL11_glViewport(JNIEnv * env, jclass c
|
|||
|
||||
void extgl_InitOpenGL1_1(JNIEnv *env)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glAccum", "(IF)V", (void*)&Java_org_lwjgl_opengl_GL11_glAccum, "glAccum", (void**)&glAccum},
|
||||
{"glAlphaFunc", "(IF)V", (void*)&Java_org_lwjgl_opengl_GL11_glAlphaFunc, "glAlphaFunc", (void**)&glAlphaFunc},
|
||||
{"glClearColor", "(FFFF)V", (void*)&Java_org_lwjgl_opengl_GL11_glClearColor, "glClearColor", (void**)&glClearColor},
|
||||
|
@ -2783,7 +2783,7 @@ void extgl_InitOpenGL1_1(JNIEnv *env)
|
|||
{"glViewport", "(IIII)V", (void*)&Java_org_lwjgl_opengl_GL11_glViewport, "glViewport", (void**)&glViewport}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/GL11");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/GL11");
|
||||
if (true)
|
||||
extgl_InitializeClass(env, clazz, NULL, "GL11", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@ static void JNICALL Java_org_lwjgl_opengl_GL12_glCopyTexSubImage3D
|
|||
|
||||
void extgl_InitOpenGL1_2(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglDrawRangeElements", "(IIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_GL12_nglDrawRangeElements, "glDrawRangeElements", (void**)&glDrawRangeElements},
|
||||
{"nglDrawRangeElementsVBO", "(IIIIII)V", (void*)&Java_org_lwjgl_opengl_GL12_nglDrawRangeElementsVBO, NULL, NULL},
|
||||
{"nglTexImage3D", "(IIIIIIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_GL12_nglTexImage3D, "glTexImage3D", (void**)&glTexImage3D},
|
||||
|
@ -125,7 +125,7 @@ void extgl_InitOpenGL1_2(JNIEnv *env, jobject ext_set)
|
|||
{"glCopyTexSubImage3D", "(IIIIIIIII)V", (void*)&Java_org_lwjgl_opengl_GL12_glCopyTexSubImage3D, "glCopyTexSubImage3D", (void**)&glCopyTexSubImage3D}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/GL12");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/GL12");
|
||||
if (extgl_Extensions.OpenGL12)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "OpenGL12", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -287,7 +287,7 @@ static void JNICALL Java_org_lwjgl_opengl_GL13_glSampleCoverage
|
|||
|
||||
void extgl_InitOpenGL1_3(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glActiveTexture", "(I)V", (void*)&Java_org_lwjgl_opengl_GL13_glActiveTexture, "glActiveTexture", (void**)&glActiveTexture},
|
||||
{"glClientActiveTexture", "(I)V", (void*)&Java_org_lwjgl_opengl_GL13_glClientActiveTexture, "glClientActiveTexture", (void**)&glClientActiveTexture},
|
||||
{"nglCompressedTexImage1D", "(IIIIIILjava/nio/Buffer;I)V", (void*)&Java_org_lwjgl_opengl_GL13_nglCompressedTexImage1D, "glCompressedTexImage1D", (void**)&glCompressedTexImage1D},
|
||||
|
@ -306,7 +306,7 @@ void extgl_InitOpenGL1_3(JNIEnv *env, jobject ext_set)
|
|||
{"glSampleCoverage", "(FZ)V", (void*)&Java_org_lwjgl_opengl_GL13_glSampleCoverage, "glSampleCoverage", (void**)&glSampleCoverage}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/GL13");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/GL13");
|
||||
if (extgl_Extensions.OpenGL13)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "OpenGL13", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -271,7 +271,7 @@ static void JNICALL Java_org_lwjgl_opengl_GL14_glWindowPos3i
|
|||
|
||||
void extgl_InitOpenGL1_4(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"glBlendEquation", "(I)V", (void*)&Java_org_lwjgl_opengl_GL14_glBlendEquation, "glBlendEquation", (void**)&glBlendEquation},
|
||||
{"glBlendColor", "(FFFF)V", (void*)&Java_org_lwjgl_opengl_GL14_glBlendColor, "glBlendColor", (void**)&glBlendColor},
|
||||
{"glFogCoordf", "(F)V", (void*)&Java_org_lwjgl_opengl_GL14_glFogCoordf, "glFogCoordf", (void**)&glFogCoordf},
|
||||
|
@ -292,7 +292,7 @@ void extgl_InitOpenGL1_4(JNIEnv *env, jobject ext_set)
|
|||
{"glWindowPos3i", "(III)V", (void*)&Java_org_lwjgl_opengl_GL14_glWindowPos3i, "glWindowPos3i", (void**)&glWindowPos3i}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/GL14");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/GL14");
|
||||
if (extgl_Extensions.OpenGL14)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "OpenGL14", num_functions, functions);
|
||||
}
|
||||
|
|
|
@ -315,7 +315,7 @@ static void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectuiv
|
|||
|
||||
void extgl_InitOpenGL1_5(JNIEnv *env, jobject ext_set)
|
||||
{
|
||||
JavaMethodAndGLFunction functions[] = {
|
||||
JavaMethodAndExtFunction functions[] = {
|
||||
{"nglBindBuffer", "(II)V", (void*)&Java_org_lwjgl_opengl_GL15_nglBindBuffer, "glBindBuffer", (void**)&glBindBuffer},
|
||||
{"nglDeleteBuffers", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_GL15_nglDeleteBuffers, "glDeleteBuffers", (void**)&glDeleteBuffers},
|
||||
{"nglGenBuffers", "(ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_GL15_nglGenBuffers, "glGenBuffers", (void**)&glGenBuffers},
|
||||
|
@ -337,7 +337,7 @@ void extgl_InitOpenGL1_5(JNIEnv *env, jobject ext_set)
|
|||
{"nglGetQueryObjectuiv", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_GL15_nglGetQueryObjectuiv, "glGetQueryObjectuiv", (void**)&glGetQueryObjectuiv}
|
||||
};
|
||||
int num_functions = NUMFUNCTIONS(functions);
|
||||
jclass clazz = extgl_ResetClass(env, "org/lwjgl/opengl/GL15");
|
||||
jclass clazz = ext_ResetClass(env, "org/lwjgl/opengl/GL15");
|
||||
if (extgl_Extensions.OpenGL15)
|
||||
extgl_InitializeClass(env, clazz, ext_set, "OpenGL15", num_functions, functions);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue