diff --git a/build.xml b/build.xml index 9cf6d7df..d8158a98 100644 --- a/build.xml +++ b/build.xml @@ -239,6 +239,7 @@ + @@ -253,6 +254,7 @@ + @@ -267,6 +269,7 @@ + @@ -281,6 +284,7 @@ + @@ -295,6 +299,7 @@ + @@ -309,6 +314,7 @@ + @@ -323,6 +329,7 @@ + @@ -337,6 +344,7 @@ + @@ -352,6 +360,7 @@ + diff --git a/src/java/org/lwjgl/BufferChecks.java b/src/java/org/lwjgl/BufferChecks.java index c28230bc..ca4eef5a 100644 --- a/src/java/org/lwjgl/BufferChecks.java +++ b/src/java/org/lwjgl/BufferChecks.java @@ -58,6 +58,15 @@ public class BufferChecks { */ private static final int DEFAULT_BUFFER_SIZE = 4; + /** + * Helper methods to ensure a function pointer is not-null (0) + */ + public static void checkFunctionAddress(long pointer) { + if (pointer == 0) { + throw new IllegalStateException("Function is unsupported"); + } + } + /** * Helper methods to ensure a ByteBuffer is null-terminated */ diff --git a/src/java/org/lwjgl/generator/AutoResultSize.java b/src/java/org/lwjgl/generator/AutoResultSize.java new file mode 100644 index 00000000..4a515fa5 --- /dev/null +++ b/src/java/org/lwjgl/generator/AutoResultSize.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2002-2004 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.generator; + +/** + * $Id$ + * + * AutoResultSize specifies that a parameter should determine + * the size of a Buffer result. + * + * @author elias_naur + * @version $Revision$ + */ + +import java.lang.annotation.Target; +import java.lang.annotation.ElementType; + +@Target(ElementType.PARAMETER) +public @interface AutoResultSize { +} diff --git a/src/java/org/lwjgl/generator/ContextCapabilitiesGenerator.java b/src/java/org/lwjgl/generator/ContextCapabilitiesGenerator.java index 5c3f1390..7dea9423 100644 --- a/src/java/org/lwjgl/generator/ContextCapabilitiesGenerator.java +++ b/src/java/org/lwjgl/generator/ContextCapabilitiesGenerator.java @@ -55,23 +55,19 @@ import java.lang.annotation.Annotation; * @version $Revision$ */ public class ContextCapabilitiesGenerator { - public final static String CONTEXT_CAPS_CLASS_NAME = "ContextCapabilities"; + private final static String ALL_INIT_METHOD_NAME = "initAllStubs"; + private final static String POINTER_INITIALIZER_POSTFIX = "_initNativeFunctionAddresses"; private final static String CACHED_EXTS_VAR_NAME = "supported_extensions"; private final static String EXTENSION_PREFIX = "GL_"; private final static String CORE_PREFIX = "Open"; public static void generateClassPrologue(PrintWriter writer) { - writer.println("public class " + CONTEXT_CAPS_CLASS_NAME + " {"); + writer.println("public class " + Utils.CONTEXT_CAPS_CLASS_NAME + " {"); } public static void generateInitializerPrologue(PrintWriter writer) { -// writer.println("\t\t/*"); -// writer.println("\t\t * Special case: initialize GL11 unconditionally,"); -// writer.println("\t\t * and let exceptions abort the constructor"); -// writer.println("\t\t */"); - -// writer.println("\t\tGL11.initNativeStubs();");*/ - writer.println("\t" + CONTEXT_CAPS_CLASS_NAME + "(Set " + CACHED_EXTS_VAR_NAME + ") {"); + writer.println("\t" + Utils.CONTEXT_CAPS_CLASS_NAME + "() throws LWJGLException {"); + writer.println("\t\tSet " + CACHED_EXTS_VAR_NAME + " = " + ALL_INIT_METHOD_NAME + "();"); } private static String translateFieldName(String interface_name) { @@ -98,9 +94,19 @@ public class ContextCapabilitiesGenerator { writer.println(";"); } - public static void generateInitStubsPrologue(PrintWriter writer) { - writer.println("\tstatic Set initAllStubs() throws LWJGLException {"); - writer.println("\t\torg.lwjgl.opengl.GL11.initNativeStubs();"); + private static String getAddressesInitializerName(String class_name) { + return class_name + POINTER_INITIALIZER_POSTFIX; + } + + public static void generateInitStubsPrologue(PrintWriter writer, boolean context_specific) { + writer.println("\tprivate Set " + ALL_INIT_METHOD_NAME + "() throws LWJGLException {"); + if (!context_specific) { + writer.println("\t\torg.lwjgl.opengl.GL11.initNativeStubs();"); + } else { + writer.println("\t\tif (!" + getAddressesInitializerName("GL11") + "())"); + writer.println("\t\t\tthrow new LWJGLException(\"GL11 not supported\");"); + } + writer.println("\t\tGLContext.setCapabilities(this);"); writer.println("\t\tSet " + CACHED_EXTS_VAR_NAME + " = GLContext.getSupportedExtensions();"); } @@ -116,10 +122,18 @@ public class ContextCapabilitiesGenerator { } } - public static void generateInitStubs(PrintWriter writer, InterfaceDeclaration d) { + public static void generateInitStubs(PrintWriter writer, InterfaceDeclaration d, boolean context_specific) { if (d.getMethods().size() > 0) { - writer.print("\t\tGLContext.initNativeStubs(" + Utils.getSimpleClassName(d)); - writer.println(".class, supported_extensions, \"" + translateFieldName(d.getSimpleName()) + "\");"); + if (context_specific) { + writer.print("\t\tif (" + CACHED_EXTS_VAR_NAME + ".contains(\""); + writer.print(translateFieldName(d.getSimpleName()) + "\")"); + writer.println(" && !" + getAddressesInitializerName(d.getSimpleName()) + "())"); + writer.print("\t\t\t" + CACHED_EXTS_VAR_NAME + ".remove(\""); + writer.println(translateFieldName(d.getSimpleName()) + "\");"); + } else { + writer.print("\t\tGLContext.initNativeStubs(" + Utils.getSimpleClassName(d)); + writer.println(".class, supported_extensions, \"" + translateFieldName(d.getSimpleName()) + "\");"); + } } } @@ -128,12 +142,30 @@ public class ContextCapabilitiesGenerator { writer.println(translateFieldName(d.getSimpleName()) + "\");"); } -/* public static void generateSymbolPointers(PrintWriter writer, InterfaceDeclaration d) { - for (MethodDeclaration method : d.getMethods()) { - writer.println("\tlong " + d.getSimpleName() + "_" + method.getSimpleName() + ";"); + public static void generateAddressesInitializers(PrintWriter writer, InterfaceDeclaration d) { + Iterator methods = d.getMethods().iterator(); + if (methods.hasNext()) { + writer.println("\tprivate boolean " + getAddressesInitializerName(d.getSimpleName()) + "() {"); + writer.println("\t\treturn "); + while (methods.hasNext()) { + MethodDeclaration method = methods.next(); + writer.print("\t\t\t(" + Utils.getFunctionAddressName(d, method) + " = GLContext.getFunctionAddress(\""); + writer.print(method.getSimpleName() + "\")) != 0"); + if (methods.hasNext()) + writer.println(" &&"); + } + writer.println(";"); + writer.println("\t}"); + writer.println(); } } -*/ + + public static void generateSymbolAddresses(PrintWriter writer, InterfaceDeclaration d) { + for (MethodDeclaration method : d.getMethods()) { + writer.println("\tlong " + Utils.getFunctionAddressName(d, method) + ";"); + } + } + public static void generateField(PrintWriter writer, InterfaceDeclaration d) { writer.println("\tpublic final boolean " + translateFieldName(d.getSimpleName()) + ";"); } diff --git a/src/java/org/lwjgl/generator/ContextGeneratorProcessorFactory.java b/src/java/org/lwjgl/generator/ContextGeneratorProcessorFactory.java index d4a87c6b..c69006e9 100644 --- a/src/java/org/lwjgl/generator/ContextGeneratorProcessorFactory.java +++ b/src/java/org/lwjgl/generator/ContextGeneratorProcessorFactory.java @@ -72,7 +72,7 @@ public class ContextGeneratorProcessorFactory implements AnnotationProcessorFact } public Collection supportedOptions() { - return Collections.emptySet(); + return unmodifiableCollection(Arrays.asList("-Acontextspecific")); } public void roundComplete(RoundCompleteEvent event) { @@ -96,15 +96,17 @@ public class ContextGeneratorProcessorFactory implements AnnotationProcessorFact } public void process() { + Map options = env.getOptions(); + boolean context_specific = options.containsKey("-Acontextspecific"); try { - generateContextCapabilitiesSource(); + generateContextCapabilitiesSource(context_specific); } catch (IOException e) { throw new RuntimeException(e); } } - private void generateContextCapabilitiesSource() throws IOException { - PrintWriter writer = env.getFiler().createSourceFile("org.lwjgl.opengl." + ContextCapabilitiesGenerator.CONTEXT_CAPS_CLASS_NAME); + private void generateContextCapabilitiesSource(boolean context_specific) throws IOException { + PrintWriter writer = env.getFiler().createSourceFile("org.lwjgl.opengl." + Utils.CONTEXT_CAPS_CLASS_NAME); writer.println("/* MACHINE GENERATED FILE, DO NOT EDIT */"); writer.println(); writer.println("package org.lwjgl.opengl;"); @@ -121,7 +123,16 @@ public class ContextGeneratorProcessorFactory implements AnnotationProcessorFact ContextCapabilitiesGenerator.generateField(writer, interface_decl); } writer.println(); - ContextCapabilitiesGenerator.generateInitStubsPrologue(writer); + for (TypeDeclaration typedecl : interface_decls) { + InterfaceDeclaration interface_decl = (InterfaceDeclaration)typedecl; + ContextCapabilitiesGenerator.generateSymbolAddresses(writer, interface_decl); + } + writer.println(); + for (TypeDeclaration typedecl : interface_decls) { + InterfaceDeclaration interface_decl = (InterfaceDeclaration)typedecl; + ContextCapabilitiesGenerator.generateAddressesInitializers(writer, interface_decl); + } + ContextCapabilitiesGenerator.generateInitStubsPrologue(writer, context_specific); for (TypeDeclaration typedecl : interface_decls) { InterfaceDeclaration interface_decl = (InterfaceDeclaration)typedecl; if (!Utils.isFinal(interface_decl)) @@ -132,21 +143,18 @@ public class ContextGeneratorProcessorFactory implements AnnotationProcessorFact String simple_name = interface_decl.getSimpleName(); if (simple_name.equals("GL11")) continue; - ContextCapabilitiesGenerator.generateInitStubs(writer, interface_decl); + ContextCapabilitiesGenerator.generateInitStubs(writer, interface_decl, context_specific); } ContextCapabilitiesGenerator.generateInitStubsEpilogue(writer); writer.println(); writer.println("\tstatic void unloadAllStubs() {"); - for (TypeDeclaration typedecl : interface_decls) { - InterfaceDeclaration interface_decl = (InterfaceDeclaration)typedecl; - ContextCapabilitiesGenerator.generateUnloadStubs(writer, interface_decl); + if (!context_specific) { + for (TypeDeclaration typedecl : interface_decls) { + InterfaceDeclaration interface_decl = (InterfaceDeclaration)typedecl; + ContextCapabilitiesGenerator.generateUnloadStubs(writer, interface_decl); + } } writer.println("\t}"); -/* writer.println(); - for (TypeDeclaration typedecl : interface_decls) { - InterfaceDeclaration interface_decl = (InterfaceDeclaration)typedecl; - ContextCapabilitiesGenerator.generateSymbolPointers(writer, interface_decl); - }*/ writer.println(); ContextCapabilitiesGenerator.generateInitializerPrologue(writer); for (TypeDeclaration typedecl : interface_decls) { diff --git a/src/java/org/lwjgl/generator/GeneratorProcessorFactory.java b/src/java/org/lwjgl/generator/GeneratorProcessorFactory.java index 736de90b..103f8c74 100644 --- a/src/java/org/lwjgl/generator/GeneratorProcessorFactory.java +++ b/src/java/org/lwjgl/generator/GeneratorProcessorFactory.java @@ -60,7 +60,7 @@ public class GeneratorProcessorFactory implements AnnotationProcessorFactory, Ro unmodifiableCollection(Arrays.asList("*")); private static final Collection supportedOptions = - unmodifiableCollection(Arrays.asList("-Atypemap", "-Ageneratechecks")); + unmodifiableCollection(Arrays.asList("-Atypemap", "-Ageneratechecks", "-Acontextspecific")); public Collection supportedAnnotationTypes() { return supportedAnnotations; @@ -93,15 +93,14 @@ public class GeneratorProcessorFactory implements AnnotationProcessorFactory, Ro public void process() { Map options = env.getOptions(); String typemap_classname = null; - boolean generate_error_checks = false; + boolean generate_error_checks = options.containsKey("-Ageneratechecks"); + boolean context_specific = options.containsKey("-Acontextspecific"); for (String k : options.keySet()) { int delimiter = k.indexOf('='); if (delimiter != -1) { if (k.startsWith("-Atypemap")) { typemap_classname = k.substring(delimiter + 1); } - } else if ( "-Ageneratechecks".equals(k)) { - generate_error_checks = true; } } if (typemap_classname == null) @@ -109,7 +108,7 @@ public class GeneratorProcessorFactory implements AnnotationProcessorFactory, Ro try { TypeMap type_map = (TypeMap)(Class.forName(typemap_classname).newInstance()); for (TypeDeclaration typedecl : env.getSpecifiedTypeDeclarations()) { - typedecl.accept(getDeclarationScanner(new GeneratorVisitor(env, type_map, generate_error_checks), NO_OP)); + typedecl.accept(getDeclarationScanner(new GeneratorVisitor(env, type_map, generate_error_checks, context_specific), NO_OP)); } } catch (IllegalAccessException e) { throw new RuntimeException(e); diff --git a/src/java/org/lwjgl/generator/GeneratorVisitor.java b/src/java/org/lwjgl/generator/GeneratorVisitor.java index 6768d081..8f287815 100644 --- a/src/java/org/lwjgl/generator/GeneratorVisitor.java +++ b/src/java/org/lwjgl/generator/GeneratorVisitor.java @@ -57,11 +57,13 @@ public class GeneratorVisitor extends SimpleDeclarationVisitor { private final AnnotationProcessorEnvironment env; private final TypeMap type_map; private final boolean generate_error_checks; + private final boolean context_specific; - public GeneratorVisitor(AnnotationProcessorEnvironment env, TypeMap type_map, boolean generate_error_checks) { + public GeneratorVisitor(AnnotationProcessorEnvironment env, TypeMap type_map, boolean generate_error_checks, boolean context_specific) { this.env = env; this.type_map = type_map; this.generate_error_checks = generate_error_checks; + this.context_specific = context_specific; } private void validateMethods(InterfaceDeclaration d) { @@ -153,7 +155,7 @@ public class GeneratorVisitor extends SimpleDeclarationVisitor { } private static void generateMethodNativePointers(PrintWriter writer, MethodDeclaration method) { - writer.println("static " + method.getSimpleName() + TypedefsGenerator.TYPEDEF_POSTFIX + " " + method.getSimpleName() + ";"); + writer.println("static " + Utils.getTypedefName(method) + " " + method.getSimpleName() + ";"); } private void generateJavaSource(InterfaceDeclaration d) throws IOException { @@ -190,7 +192,7 @@ public class GeneratorVisitor extends SimpleDeclarationVisitor { } if (d.getMethods().size() > 0) java_writer.println("\tstatic native void " + Utils.STUB_INITIALIZER_NAME + "() throws LWJGLException;"); - JavaMethodsGenerator.generateMethodsJava(env, type_map, java_writer, d, generate_error_checks); + JavaMethodsGenerator.generateMethodsJava(env, type_map, java_writer, d, generate_error_checks, context_specific); java_writer.println("}"); java_writer.close(); String qualified_interface_name = Utils.getQualifiedClassName(d); @@ -204,23 +206,29 @@ public class GeneratorVisitor extends SimpleDeclarationVisitor { native_writer.println("/* MACHINE GENERATED FILE, DO NOT EDIT */"); native_writer.println(); native_writer.println("#include "); + if (context_specific) + native_writer.println("#include "); type_map.printNativeIncludes(native_writer); native_writer.println(); TypedefsGenerator.generateNativeTypedefs(type_map, native_writer, d.getMethods()); native_writer.println(); - generateMethodsNativePointers(native_writer, d.getMethods()); - native_writer.println(); - NativeMethodStubsGenerator.generateNativeMethodStubs(env, type_map, native_writer, d, generate_error_checks); - native_writer.print("JNIEXPORT void JNICALL " + Utils.getQualifiedNativeMethodName(qualified_interface_name, Utils.STUB_INITIALIZER_NAME)); - native_writer.println("(JNIEnv *env, jclass clazz) {"); - native_writer.println("\tJavaMethodAndExtFunction functions[] = {"); - RegisterStubsGenerator.generateMethodsNativeStubBind(native_writer, d, generate_error_checks); - native_writer.println("\t};"); - native_writer.println("\tint num_functions = NUMFUNCTIONS(functions);"); - native_writer.print("\t"); - native_writer.print(type_map.getRegisterNativesFunctionName()); - native_writer.println("(env, clazz, num_functions, functions);"); - native_writer.println("}"); + if (!context_specific) { + generateMethodsNativePointers(native_writer, d.getMethods()); + native_writer.println(); + } + NativeMethodStubsGenerator.generateNativeMethodStubs(env, type_map, native_writer, d, generate_error_checks, context_specific); + if (!context_specific) { + native_writer.print("JNIEXPORT void JNICALL " + Utils.getQualifiedNativeMethodName(qualified_interface_name, Utils.STUB_INITIALIZER_NAME)); + native_writer.println("(JNIEnv *env, jclass clazz) {"); + native_writer.println("\tJavaMethodAndExtFunction functions[] = {"); + RegisterStubsGenerator.generateMethodsNativeStubBind(native_writer, d, generate_error_checks, context_specific); + native_writer.println("\t};"); + native_writer.println("\tint num_functions = NUMFUNCTIONS(functions);"); + native_writer.print("\t"); + native_writer.print(type_map.getRegisterNativesFunctionName()); + native_writer.println("(env, clazz, num_functions, functions);"); + native_writer.println("}"); + } native_writer.close(); env.getMessager().printNotice("Generated C source " + qualified_interface_name); } diff --git a/src/java/org/lwjgl/generator/JavaMethodsGenerator.java b/src/java/org/lwjgl/generator/JavaMethodsGenerator.java index 19e8c956..b2d43556 100644 --- a/src/java/org/lwjgl/generator/JavaMethodsGenerator.java +++ b/src/java/org/lwjgl/generator/JavaMethodsGenerator.java @@ -50,46 +50,51 @@ import java.util.*; import java.nio.*; public class JavaMethodsGenerator { - public static void generateMethodsJava(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration interface_decl, boolean generate_error_checks) { + public static void generateMethodsJava(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration interface_decl, boolean generate_error_checks, boolean context_specific) { for (MethodDeclaration method : interface_decl.getMethods()) - generateMethodJava(env, type_map, writer, interface_decl, method, generate_error_checks); + generateMethodJava(env, type_map, writer, interface_decl, method, generate_error_checks, context_specific); } - private static void generateMethodJava(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration interface_decl, MethodDeclaration method, boolean generate_error_checks) { + private static void generateMethodJava(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration interface_decl, MethodDeclaration method, boolean generate_error_checks, boolean context_specific) { writer.println(); - if (Utils.isMethodIndirect(generate_error_checks, method)) { + if (Utils.isMethodIndirect(generate_error_checks, context_specific, method)) { if (method.getAnnotation(GenerateAutos.class) != null) { - printMethodWithMultiType(env, type_map, writer, interface_decl, method, TypeInfo.getDefaultTypeInfoMap(method), Mode.AUTOS, generate_error_checks); + printMethodWithMultiType(env, type_map, writer, interface_decl, method, TypeInfo.getDefaultTypeInfoMap(method), Mode.AUTOS, generate_error_checks, context_specific); } Collection> cross_product = TypeInfo.getTypeInfoCrossProduct(type_map, method); for (Map typeinfos_instance : cross_product) { - printMethodWithMultiType(env, type_map, writer, interface_decl, method, typeinfos_instance, Mode.NORMAL, generate_error_checks); + printMethodWithMultiType(env, type_map, writer, interface_decl, method, typeinfos_instance, Mode.NORMAL, generate_error_checks, context_specific); } } - printJavaNativeStub(writer, method, Mode.NORMAL, generate_error_checks); + printJavaNativeStub(writer, method, Mode.NORMAL, generate_error_checks, context_specific); if (Utils.hasMethodBufferObjectParameter(method)) { - printMethodWithMultiType(env, type_map, writer, interface_decl, method, TypeInfo.getDefaultTypeInfoMap(method), Mode.BUFFEROBJECT, generate_error_checks); - printJavaNativeStub(writer, method, Mode.BUFFEROBJECT, generate_error_checks); + printMethodWithMultiType(env, type_map, writer, interface_decl, method, TypeInfo.getDefaultTypeInfoMap(method), Mode.BUFFEROBJECT, generate_error_checks, context_specific); + printJavaNativeStub(writer, method, Mode.BUFFEROBJECT, generate_error_checks, context_specific); } } - private static void printJavaNativeStub(PrintWriter writer, MethodDeclaration method, Mode mode, boolean generate_error_checks) { - if (Utils.isMethodIndirect(generate_error_checks, method)) { + private static void printJavaNativeStub(PrintWriter writer, MethodDeclaration method, Mode mode, boolean generate_error_checks, boolean context_specific) { + if (Utils.isMethodIndirect(generate_error_checks, context_specific, method)) { writer.print("\tprivate static native "); } else { Utils.printDocComment(writer, method); writer.print("\tpublic static native "); } printResultType(writer, method); - writer.print(" " + Utils.getSimpleNativeMethodName(method, generate_error_checks)); + writer.print(" " + Utils.getSimpleNativeMethodName(method, generate_error_checks, context_specific)); if (mode == Mode.BUFFEROBJECT) writer.print(Utils.BUFFER_OBJECT_METHOD_POSTFIX); writer.print("("); - generateParametersJava(writer, method, TypeInfo.getDefaultTypeInfoMap(method), true, mode); + boolean first_parameter = generateParametersJava(writer, method, TypeInfo.getDefaultTypeInfoMap(method), true, mode); + if (context_specific) { + if (!first_parameter) + writer.print(", "); + writer.print("long " + Utils.FUNCTION_POINTER_VAR_NAME); + } writer.println(");"); } - private static void generateParametersJava(PrintWriter writer, MethodDeclaration method, Map typeinfos_instance, + private static boolean generateParametersJava(PrintWriter writer, MethodDeclaration method, Map typeinfos_instance, boolean native_stub, Mode mode) { boolean first_parameter = true; for (ParameterDeclaration param : method.getParameters()) { @@ -103,6 +108,7 @@ public class JavaMethodsGenerator { if (auto_param_type_info.getSignedness() == Signedness.BOTH) { if (!first_parameter) writer.print(", "); + first_parameter = false; writer.print("boolean " + TypeInfo.UNSIGNED_PARAMETER_NAME); } } @@ -113,14 +119,18 @@ public class JavaMethodsGenerator { } } TypeMirror result_type = Utils.getMethodReturnType(method); - if (Utils.getNIOBufferType(result_type) != null) { - writer.print(", int " + Utils.RESULT_SIZE_NAME); + if ((native_stub && Utils.getNIOBufferType(result_type) != null) || Utils.needResultSize(method)) { + if (!first_parameter) + writer.print(", "); + first_parameter = false; + writer.print("int " + Utils.RESULT_SIZE_NAME); if (method.getAnnotation(CachedResult.class) != null) { writer.print(", "); printResultType(writer, method); writer.print(" " + Utils.CACHED_BUFFER_NAME); } } + return first_parameter; } private static boolean generateParameterJava(PrintWriter writer, ParameterDeclaration param, TypeInfo type_info, boolean native_stub, boolean first_parameter, Mode mode) { @@ -162,18 +172,14 @@ public class JavaMethodsGenerator { printBufferObjectCheck(writer, kind, mode); } - private static void printMethodWithMultiType(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration interface_decl, MethodDeclaration method, Map typeinfos_instance, Mode mode, boolean generate_error_checks) { + private static void printMethodWithMultiType(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration interface_decl, MethodDeclaration method, Map typeinfos_instance, Mode mode, boolean generate_error_checks, boolean context_specific) { Utils.printDocComment(writer, method); writer.print("\tpublic static "); printResultType(writer, method); StripPostfix strip_annotation = method.getAnnotation(StripPostfix.class); String method_name = method.getSimpleName(); - if (strip_annotation != null) { - // TODO: This is not used, is it necessary? (keep Utils.findParameter only?) - ParameterDeclaration postfix_parameter = Utils.findParameter(method, strip_annotation.value()); - if (mode == Mode.NORMAL) - method_name = getPostfixStrippedName(type_map, interface_decl, method); - } + if (strip_annotation != null && mode == Mode.NORMAL) + method_name = getPostfixStrippedName(type_map, interface_decl, method); writer.print(" " + method_name + "("); generateParametersJava(writer, method, typeinfos_instance, false, mode); TypeMirror result_type = Utils.getMethodReturnType(method); @@ -183,17 +189,28 @@ public class JavaMethodsGenerator { Code code_annotation = method.getAnnotation(Code.class); if (code_annotation != null) writer.println(code_annotation.value()); + if (context_specific) { + writer.print("\t\tlong " + Utils.FUNCTION_POINTER_VAR_NAME + " = GLContext.getCapabilities()."); + writer.println(Utils.getFunctionAddressName(interface_decl, method) + ";"); + writer.print("\t\tBufferChecks.checkFunctionAddress("); + writer.println(Utils.FUNCTION_POINTER_VAR_NAME + ");"); + } writer.print("\t\t"); boolean has_result = !result_type.equals(env.getTypeUtils().getVoidType()); if (has_result) { printResultType(writer, method); writer.print(" " + Utils.RESULT_VAR_NAME + " = "); } - writer.print(Utils.getSimpleNativeMethodName(method, generate_error_checks)); + writer.print(Utils.getSimpleNativeMethodName(method, generate_error_checks, context_specific)); if (mode == Mode.BUFFEROBJECT) writer.print(Utils.BUFFER_OBJECT_METHOD_POSTFIX); writer.print("("); - printMethodCallArguments(writer, method, typeinfos_instance, mode); + boolean first_parameter = printMethodCallArguments(writer, method, typeinfos_instance, mode); + if (context_specific) { + if (!first_parameter) + writer.print(", "); + writer.print(Utils.FUNCTION_POINTER_VAR_NAME); + } writer.println(");"); if (generate_error_checks && method.getAnnotation(NoErrorCheck.class) == null) writer.println("\t\t" + type_map.getErrorCheckMethodName() + ";"); @@ -353,16 +370,25 @@ public class JavaMethodsGenerator { return false; } - private static void printMethodCallArguments(PrintWriter writer, MethodDeclaration method, Map typeinfos_instance, Mode mode) { + private static boolean printMethodCallArguments(PrintWriter writer, MethodDeclaration method, Map typeinfos_instance, Mode mode) { boolean first_parameter = true; for (ParameterDeclaration param : method.getParameters()) if (param.getAnnotation(Result.class) == null) { first_parameter = printMethodCallArgument(writer, method, param, typeinfos_instance, mode, first_parameter); } - TypeMirror result_type = Utils.getMethodReturnType(method); - if (Utils.getNIOBufferType(result_type) != null) { - Utils.printExtraCallArguments(writer, method); + if (Utils.getNIOBufferType(Utils.getMethodReturnType(method)) != null) { + if (!first_parameter) + writer.print(", "); + first_parameter = false; + ParameterDeclaration auto_result_size_parameter = Utils.getAutoResultSizeParameter(method); + String result_size_parameter_name; + if (auto_result_size_parameter == null) + result_size_parameter_name = Utils.RESULT_SIZE_NAME; + else + result_size_parameter_name = auto_result_size_parameter.getSimpleName(); + Utils.printExtraCallArguments(writer, method, result_size_parameter_name); } + return first_parameter; } private static void printParameterChecks(PrintWriter writer, MethodDeclaration method, Mode mode) { diff --git a/src/java/org/lwjgl/generator/NativeMethodStubsGenerator.java b/src/java/org/lwjgl/generator/NativeMethodStubsGenerator.java index 31f6497b..98ca5e7e 100644 --- a/src/java/org/lwjgl/generator/NativeMethodStubsGenerator.java +++ b/src/java/org/lwjgl/generator/NativeMethodStubsGenerator.java @@ -53,11 +53,11 @@ public class NativeMethodStubsGenerator { private static final String BUFFER_ADDRESS_POSTFIX = "_address"; public static final String BUFFER_POSITION_POSTFIX = "_position"; - public static void generateNativeMethodStubs(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration d, boolean generate_error_checks) { + public static void generateNativeMethodStubs(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, InterfaceDeclaration d, boolean generate_error_checks, boolean context_specific) { for (MethodDeclaration method : d.getMethods()) { - generateMethodStub(env, type_map, writer, Utils.getQualifiedClassName(d), method, Mode.NORMAL, generate_error_checks); + generateMethodStub(env, type_map, writer, Utils.getQualifiedClassName(d), method, Mode.NORMAL, generate_error_checks, context_specific); if (Utils.hasMethodBufferObjectParameter(method)) - generateMethodStub(env, type_map, writer, Utils.getQualifiedClassName(d), method, Mode.BUFFEROBJECT, generate_error_checks); + generateMethodStub(env, type_map, writer, Utils.getQualifiedClassName(d), method, Mode.BUFFEROBJECT, generate_error_checks, context_specific); } } @@ -80,12 +80,16 @@ public class NativeMethodStubsGenerator { } } - private static void generateMethodStub(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, String interface_name, MethodDeclaration method, Mode mode, boolean generate_error_checks) { + private static void generateMethodStub(AnnotationProcessorEnvironment env, TypeMap type_map, PrintWriter writer, String interface_name, MethodDeclaration method, Mode mode, boolean generate_error_checks, boolean context_specific) { TypeMirror result_type = Utils.getMethodReturnType(method); JNITypeTranslator translator = new JNITypeTranslator(); result_type.accept(translator); - writer.print("static " + translator.getSignature() + " JNICALL "); - writer.print(Utils.getQualifiedNativeMethodName(interface_name, method, generate_error_checks)); + if (!context_specific) + writer.print("static "); + else + writer.print("JNIEXPORT "); + writer.print(translator.getSignature() + " JNICALL "); + writer.print(Utils.getQualifiedNativeMethodName(interface_name, method, generate_error_checks, context_specific)); if (mode == Mode.BUFFEROBJECT) writer.print(Utils.BUFFER_OBJECT_METHOD_POSTFIX); writer.print("(JNIEnv *env, jclass clazz"); @@ -95,8 +99,17 @@ public class NativeMethodStubsGenerator { if (method.getAnnotation(CachedResult.class) != null) writer.print(", jobject " + Utils.CACHED_BUFFER_NAME); } + if (context_specific) { + writer.print(", jlong " + Utils.FUNCTION_POINTER_VAR_NAME); + } writer.println(") {"); generateBufferParameterAddresses(type_map, writer, method, mode); + if (context_specific) { + String typedef_name = Utils.getTypedefName(method); + writer.print("\t" + typedef_name + " " + method.getSimpleName()); + writer.print(" = (" + typedef_name + ")((intptr_t)"); + writer.println(Utils.FUNCTION_POINTER_VAR_NAME + ");"); + } writer.print("\t"); if (!result_type.equals(env.getTypeUtils().getVoidType())) { Declaration return_declaration; @@ -131,9 +144,11 @@ public class NativeMethodStubsGenerator { writer.print("NewStringNative(env, "); writer.print(Utils.RESULT_VAR_NAME); if (Buffer.class.isAssignableFrom(java_result_type)) { - Utils.printExtraCallArguments(writer, method); - writer.print(")"); - } else if (String.class.equals(java_result_type)) + writer.print(", "); + Utils.printExtraCallArguments(writer, method, Utils.RESULT_SIZE_NAME); + } + if (Buffer.class.isAssignableFrom(java_result_type) || + String.class.equals(java_result_type)) writer.print(")"); writer.println(";"); } diff --git a/src/java/org/lwjgl/generator/RegisterStubsGenerator.java b/src/java/org/lwjgl/generator/RegisterStubsGenerator.java index debe0ad7..20815d37 100644 --- a/src/java/org/lwjgl/generator/RegisterStubsGenerator.java +++ b/src/java/org/lwjgl/generator/RegisterStubsGenerator.java @@ -48,7 +48,7 @@ import java.io.*; import java.util.*; public class RegisterStubsGenerator { - public static void generateMethodsNativeStubBind(PrintWriter writer, InterfaceDeclaration d, boolean generate_error_checks) { + public static void generateMethodsNativeStubBind(PrintWriter writer, InterfaceDeclaration d, boolean generate_error_checks, boolean context_specific) { Iterator it = d.getMethods().iterator(); while (it.hasNext()) { MethodDeclaration method = it.next(); @@ -61,9 +61,9 @@ public class RegisterStubsGenerator { for (Platform platform : platforms) { platform.printPrologue(writer); boolean has_buffer_parameter = Utils.hasMethodBufferObjectParameter(method); - printMethodNativeStubBind(writer, d, method, platform, Mode.NORMAL, it.hasNext() || has_buffer_parameter, generate_error_checks); + printMethodNativeStubBind(writer, d, method, platform, Mode.NORMAL, it.hasNext() || has_buffer_parameter, generate_error_checks, context_specific); if (has_buffer_parameter) { - printMethodNativeStubBind(writer, d, method, platform, Mode.BUFFEROBJECT, it.hasNext(), generate_error_checks); + printMethodNativeStubBind(writer, d, method, platform, Mode.BUFFEROBJECT, it.hasNext(), generate_error_checks, context_specific); } platform.printEpilogue(writer); } @@ -100,12 +100,12 @@ public class RegisterStubsGenerator { return signature; } - private static void printMethodNativeStubBind(PrintWriter writer, InterfaceDeclaration d, MethodDeclaration method, Platform platform, Mode mode, boolean has_more, boolean generate_error_checks) { - writer.print("\t\t{\"" + Utils.getSimpleNativeMethodName(method, generate_error_checks)); + private static void printMethodNativeStubBind(PrintWriter writer, InterfaceDeclaration d, MethodDeclaration method, Platform platform, Mode mode, boolean has_more, boolean generate_error_checks, boolean context_specific) { + writer.print("\t\t{\"" + Utils.getSimpleNativeMethodName(method, generate_error_checks, context_specific)); if (mode == Mode.BUFFEROBJECT) writer.print(Utils.BUFFER_OBJECT_METHOD_POSTFIX); writer.print("\", \"" + getMethodSignature(method, mode) + "\", (void *)&"); - writer.print(Utils.getQualifiedNativeMethodName(Utils.getQualifiedClassName(d), method, generate_error_checks)); + writer.print(Utils.getQualifiedNativeMethodName(Utils.getQualifiedClassName(d), method, generate_error_checks, context_specific)); if (mode == Mode.BUFFEROBJECT) writer.print(Utils.BUFFER_OBJECT_METHOD_POSTFIX); String opengl_handle_name = method.getSimpleName().replaceFirst("gl", platform.getPostfix()); diff --git a/src/java/org/lwjgl/generator/TypedefsGenerator.java b/src/java/org/lwjgl/generator/TypedefsGenerator.java index 2c2328dd..5b915a61 100644 --- a/src/java/org/lwjgl/generator/TypedefsGenerator.java +++ b/src/java/org/lwjgl/generator/TypedefsGenerator.java @@ -48,8 +48,6 @@ import java.io.*; import java.util.*; public class TypedefsGenerator { - public static final String TYPEDEF_POSTFIX = "PROC"; - private static void generateNativeTypedefs(TypeMap type_map, PrintWriter writer, MethodDeclaration method) { TypeMirror return_type = method.getReturnType(); writer.print("typedef "); @@ -58,7 +56,7 @@ public class TypedefsGenerator { writer.print(translator.getSignature()); writer.print(" ("); writer.print(type_map.getTypedefPrefix()); - writer.print(" *" + method.getSimpleName() + TYPEDEF_POSTFIX + ") ("); + writer.print(" *" + Utils.getTypedefName(method) + ") ("); generateNativeTypedefsParameters(type_map, writer, method.getParameters()); writer.println(");"); } diff --git a/src/java/org/lwjgl/generator/Utils.java b/src/java/org/lwjgl/generator/Utils.java index bc6249f2..5010ee22 100644 --- a/src/java/org/lwjgl/generator/Utils.java +++ b/src/java/org/lwjgl/generator/Utils.java @@ -48,6 +48,10 @@ import java.util.*; import com.sun.mirror.declaration.*; public class Utils { + public static final String TYPEDEF_POSTFIX = "PROC"; + public static final String FUNCTION_POINTER_VAR_NAME = "function_pointer"; + public static final String FUNCTION_POINTER_POSTFIX = "_pointer"; + public static final String CONTEXT_CAPS_CLASS_NAME = "ContextCapabilities"; public static final String STUB_INITIALIZER_NAME = "initNativeStubs"; public static final String BUFFER_OBJECT_METHOD_POSTFIX = "BO"; public static final String BUFFER_OBJECT_PARAMETER_POSTFIX = "_buffer_offset"; @@ -56,6 +60,14 @@ public class Utils { public static final String CACHED_BUFFER_NAME = "old_buffer"; private static final String OVERLOADED_METHOD_PREFIX = "n"; + public static String getTypedefName(MethodDeclaration method) { + return method.getSimpleName() + TYPEDEF_POSTFIX; + } + + public static String getFunctionAddressName(InterfaceDeclaration interface_decl, MethodDeclaration method) { + return interface_decl.getSimpleName() + "_" + method.getSimpleName() + FUNCTION_POINTER_POSTFIX; + } + public static boolean isFinal(InterfaceDeclaration d) { Extension extension_annotation = d.getAnnotation(Extension.class); return extension_annotation == null || extension_annotation.isFinal(); @@ -127,6 +139,17 @@ public class Utils { } } + public static ParameterDeclaration getAutoResultSizeParameter(MethodDeclaration method) { + ParameterDeclaration result = null; + for (ParameterDeclaration param : method.getParameters()) + if (param.getAnnotation(AutoResultSize.class) != null) { + if (result != null) + throw new RuntimeException(method + " contains multiple AutoResultSize annotations"); + result = param; + } + return result; + } + public static AnnotationMirror getParameterAutoAnnotation(ParameterDeclaration param) { for (AnnotationMirror annotation : param.getAnnotationMirrors()) if (NativeTypeTranslator.getAnnotation(annotation, Auto.class) != null) @@ -134,7 +157,7 @@ public class Utils { return null; } - public static boolean isMethodIndirect(boolean generate_error_checks, MethodDeclaration method) { + public static boolean isMethodIndirect(boolean generate_error_checks, boolean context_specific, MethodDeclaration method) { for (ParameterDeclaration param : method.getParameters()) { if (isAddressableType(param.getType()) || getParameterAutoAnnotation(param) != null || param.getAnnotation(Constant.class) != null) @@ -142,7 +165,8 @@ public class Utils { } return hasMethodBufferObjectParameter(method) || method.getAnnotation(Code.class) != null || method.getAnnotation(CachedResult.class) != null || - (generate_error_checks && method.getAnnotation(NoErrorCheck.class) == null); + (generate_error_checks && method.getAnnotation(NoErrorCheck.class) == null) || + context_specific; } public static String getNativeQualifiedName(String qualified_name) { @@ -153,8 +177,8 @@ public class Utils { return "Java_" + getNativeQualifiedName(qualified_class_name) + "_" + method_name; } - public static String getQualifiedNativeMethodName(String qualified_class_name, MethodDeclaration method, boolean generate_error_checks) { - String method_name = getSimpleNativeMethodName(method, generate_error_checks); + public static String getQualifiedNativeMethodName(String qualified_class_name, MethodDeclaration method, boolean generate_error_checks, boolean context_specific) { + String method_name = getSimpleNativeMethodName(method, generate_error_checks, context_specific); return getQualifiedNativeMethodName(qualified_class_name, method_name); } @@ -180,8 +204,12 @@ public class Utils { return result_type; } - public static void printExtraCallArguments(PrintWriter writer, MethodDeclaration method) { - writer.print(", " + RESULT_SIZE_NAME); + public static boolean needResultSize(MethodDeclaration method) { + return getNIOBufferType(getMethodReturnType(method)) != null && getAutoResultSizeParameter(method) == null; + } + + public static void printExtraCallArguments(PrintWriter writer, MethodDeclaration method, String size_parameter_name) { + writer.print(size_parameter_name); if (method.getAnnotation(CachedResult.class) != null) { writer.print(", " + CACHED_BUFFER_NAME); } @@ -229,9 +257,9 @@ public class Utils { return null; } - public static String getSimpleNativeMethodName(MethodDeclaration method, boolean generate_error_checks) { + public static String getSimpleNativeMethodName(MethodDeclaration method, boolean generate_error_checks, boolean context_specific) { String method_name = method.getSimpleName(); - if (isMethodIndirect(generate_error_checks, method)) + if (isMethodIndirect(generate_error_checks, context_specific, method)) method_name = OVERLOADED_METHOD_PREFIX + method_name; return method_name; } diff --git a/src/java/org/lwjgl/opengl/ARBBufferObject.java b/src/java/org/lwjgl/opengl/ARBBufferObject.java index c5cc9473..fcc703a1 100644 --- a/src/java/org/lwjgl/opengl/ARBBufferObject.java +++ b/src/java/org/lwjgl/opengl/ARBBufferObject.java @@ -28,18 +28,28 @@ public class ARBBufferObject { static native void initNativeStubs() throws LWJGLException; public static java.nio.ByteBuffer glGetBufferPointerARB(int target, int pname, int result_size) { - java.nio.ByteBuffer __result = nglGetBufferPointervARB(target, pname, result_size); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glGetBufferPointervARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetBufferPointervARB(target, pname, result_size, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglGetBufferPointervARB(int target, int pname, int result_size); + private static native java.nio.ByteBuffer nglGetBufferPointervARB(int target, int pname, int result_size, long function_pointer); public static void glGetBufferParameterARB(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetBufferParameterivARB(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glGetBufferParameterivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferParameterivARB(target, pname, params, params.position(), function_pointer); } - private static native void nglGetBufferParameterivARB(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetBufferParameterivARB(int target, int pname, IntBuffer params, int params_position, long function_pointer); - public static native boolean glUnmapBufferARB(int target); + public static boolean glUnmapBufferARB(int target) { + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glUnmapBufferARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglUnmapBufferARB(target, function_pointer); + return __result; + } + private static native boolean nglUnmapBufferARB(int target, long function_pointer); /** * glMapBufferARB maps a gl vertex buffer buffer to a ByteBuffer. The oldBuffer argument can be null, @@ -55,86 +65,126 @@ public class ARBBufferObject { public static java.nio.ByteBuffer glMapBufferARB(int target, int access, int result_size, java.nio.ByteBuffer old_buffer) { if (old_buffer != null) BufferChecks.checkDirect(old_buffer); - java.nio.ByteBuffer __result = nglMapBufferARB(target, access, result_size, old_buffer); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glMapBufferARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglMapBufferARB(target, access, result_size, old_buffer, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglMapBufferARB(int target, int access, int result_size, java.nio.ByteBuffer old_buffer); + private static native java.nio.ByteBuffer nglMapBufferARB(int target, int access, int result_size, java.nio.ByteBuffer old_buffer, long function_pointer); public static void glGetBufferSubDataARB(int target, int offset, ByteBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubDataARB(target, offset, (data.remaining()), data, data.position()); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glGetBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubDataARB(target, offset, (data.remaining()), data, data.position(), function_pointer); } public static void glGetBufferSubDataARB(int target, int offset, IntBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glGetBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } public static void glGetBufferSubDataARB(int target, int offset, ShortBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubDataARB(target, offset, (data.remaining() << 1), data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glGetBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubDataARB(target, offset, (data.remaining() << 1), data, data.position() << 1, function_pointer); } public static void glGetBufferSubDataARB(int target, int offset, FloatBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glGetBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } - private static native void nglGetBufferSubDataARB(int target, int offset, int size, Buffer data, int data_position); + private static native void nglGetBufferSubDataARB(int target, int offset, int size, Buffer data, int data_position, long function_pointer); public static void glBufferSubDataARB(int target, int offset, ByteBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubDataARB(target, offset, (data.remaining()), data, data.position()); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubDataARB(target, offset, (data.remaining()), data, data.position(), function_pointer); } public static void glBufferSubDataARB(int target, int offset, IntBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } public static void glBufferSubDataARB(int target, int offset, ShortBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubDataARB(target, offset, (data.remaining() << 1), data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubDataARB(target, offset, (data.remaining() << 1), data, data.position() << 1, function_pointer); } public static void glBufferSubDataARB(int target, int offset, FloatBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferSubDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubDataARB(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } - private static native void nglBufferSubDataARB(int target, int offset, int size, Buffer data, int data_position); + private static native void nglBufferSubDataARB(int target, int offset, int size, Buffer data, int data_position, long function_pointer); public static void glBufferDataARB(int target, int size, int usage) { - nglBufferDataARB(target, size, null, 0, usage); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferDataARB(target, size, null, 0, usage, function_pointer); } public static void glBufferDataARB(int target, ByteBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferDataARB(target, (data.remaining()), data, data.position(), usage); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferDataARB(target, (data.remaining()), data, data.position(), usage, function_pointer); } public static void glBufferDataARB(int target, IntBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferDataARB(target, (data.remaining() << 2), data, data.position() << 2, usage); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferDataARB(target, (data.remaining() << 2), data, data.position() << 2, usage, function_pointer); } public static void glBufferDataARB(int target, ShortBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferDataARB(target, (data.remaining() << 1), data, data.position() << 1, usage); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferDataARB(target, (data.remaining() << 1), data, data.position() << 1, usage, function_pointer); } public static void glBufferDataARB(int target, FloatBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferDataARB(target, (data.remaining() << 2), data, data.position() << 2, usage); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBufferDataARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferDataARB(target, (data.remaining() << 2), data, data.position() << 2, usage, function_pointer); } - private static native void nglBufferDataARB(int target, int size, Buffer data, int data_position, int usage); + private static native void nglBufferDataARB(int target, int size, Buffer data, int data_position, int usage, long function_pointer); - public static native boolean glIsBufferARB(int buffer); + public static boolean glIsBufferARB(int buffer) { + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glIsBufferARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsBufferARB(buffer, function_pointer); + return __result; + } + private static native boolean nglIsBufferARB(int buffer, long function_pointer); public static void glGenBuffersARB(IntBuffer buffers) { BufferChecks.checkDirect(buffers); - nglGenBuffersARB((buffers.remaining()), buffers, buffers.position()); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glGenBuffersARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenBuffersARB((buffers.remaining()), buffers, buffers.position(), function_pointer); } - private static native void nglGenBuffersARB(int n, IntBuffer buffers, int buffers_position); + private static native void nglGenBuffersARB(int n, IntBuffer buffers, int buffers_position, long function_pointer); public static void glDeleteBuffersARB(IntBuffer buffers) { BufferChecks.checkDirect(buffers); BufferObjectTracker.deleteBuffers(buffers); - nglDeleteBuffersARB((buffers.remaining()), buffers, buffers.position()); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glDeleteBuffersARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteBuffersARB((buffers.remaining()), buffers, buffers.position(), function_pointer); } - private static native void nglDeleteBuffersARB(int n, IntBuffer buffers, int buffers_position); + private static native void nglDeleteBuffersARB(int n, IntBuffer buffers, int buffers_position, long function_pointer); public static void glBindBufferARB(int target, int buffer) { BufferObjectTracker.bindBuffer(target, buffer); - nglBindBufferARB(target, buffer); + long function_pointer = GLContext.getCapabilities().ARB_buffer_object_glBindBufferARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindBufferARB(target, buffer, function_pointer); } - private static native void nglBindBufferARB(int target, int buffer); + private static native void nglBindBufferARB(int target, int buffer, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBColorBufferFloat.java b/src/java/org/lwjgl/opengl/ARBColorBufferFloat.java index 9a930fde..b281f74c 100644 --- a/src/java/org/lwjgl/opengl/ARBColorBufferFloat.java +++ b/src/java/org/lwjgl/opengl/ARBColorBufferFloat.java @@ -18,5 +18,10 @@ public final class ARBColorBufferFloat { static native void initNativeStubs() throws LWJGLException; - public static native void glClampColorARB(int target, int clamp); + public static void glClampColorARB(int target, int clamp) { + long function_pointer = GLContext.getCapabilities().ARB_color_buffer_float_glClampColorARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClampColorARB(target, clamp, function_pointer); + } + private static native void nglClampColorARB(int target, int clamp, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBDrawBuffers.java b/src/java/org/lwjgl/opengl/ARBDrawBuffers.java index 93a138f7..f1a56fba 100644 --- a/src/java/org/lwjgl/opengl/ARBDrawBuffers.java +++ b/src/java/org/lwjgl/opengl/ARBDrawBuffers.java @@ -32,7 +32,9 @@ public final class ARBDrawBuffers { public static void glDrawBuffersARB(IntBuffer buffers) { BufferChecks.checkDirect(buffers); - nglDrawBuffersARB((buffers.remaining()), buffers, buffers.position()); + long function_pointer = GLContext.getCapabilities().ARB_draw_buffers_glDrawBuffersARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawBuffersARB((buffers.remaining()), buffers, buffers.position(), function_pointer); } - private static native void nglDrawBuffersARB(int size, IntBuffer buffers, int buffers_position); + private static native void nglDrawBuffersARB(int size, IntBuffer buffers, int buffers_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBImaging.java b/src/java/org/lwjgl/opengl/ARBImaging.java index 06731721..faa1735a 100644 --- a/src/java/org/lwjgl/opengl/ARBImaging.java +++ b/src/java/org/lwjgl/opengl/ARBImaging.java @@ -93,826 +93,1138 @@ public final class ARBImaging { BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, ByteBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, ByteBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, ByteBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, IntBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, IntBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, IntBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, IntBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, ShortBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, ShortBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, ShortBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, ShortBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, FloatBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, FloatBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, FloatBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ByteBuffer row, FloatBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position(), column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ByteBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ByteBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ByteBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ByteBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, IntBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, IntBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, IntBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, IntBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ShortBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ShortBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ShortBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, ShortBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, FloatBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, FloatBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, FloatBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, IntBuffer row, FloatBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ByteBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ByteBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ByteBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ByteBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, IntBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, IntBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, IntBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, IntBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ShortBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ShortBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ShortBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, ShortBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, FloatBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, FloatBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, FloatBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, ShortBuffer row, FloatBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 1, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ByteBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ByteBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ByteBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ByteBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position(), span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, IntBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, IntBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, IntBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, IntBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ShortBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ShortBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ShortBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, ShortBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 1, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, FloatBuffer column, ByteBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position(), function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, FloatBuffer column, IntBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, FloatBuffer column, ShortBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 1, function_pointer); } public static void glGetSeparableFilter(int target, int format, int type, FloatBuffer row, FloatBuffer column, FloatBuffer span) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); BufferChecks.checkDirect(span); - nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilter(target, format, type, row, row.position() << 2, column, column.position() << 2, span, span.position() << 2, function_pointer); } - private static native void nglGetSeparableFilter(int target, int format, int type, Buffer row, int row_position, Buffer column, int column_position, Buffer span, int span_position); + private static native void nglGetSeparableFilter(int target, int format, int type, Buffer row, int row_position, Buffer column, int column_position, Buffer span, int span_position, long function_pointer); public static void glGetSeparableFilter(int target, int format, int type, int row_buffer_offset, int column_buffer_offset, int span_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetSeparableFilterBO(target, format, type, row_buffer_offset, column_buffer_offset, span_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetSeparableFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetSeparableFilterBO(target, format, type, row_buffer_offset, column_buffer_offset, span_buffer_offset, function_pointer); } - private static native void nglGetSeparableFilterBO(int target, int format, int type, int row_buffer_offset, int column_buffer_offset, int span_buffer_offset); + private static native void nglGetSeparableFilterBO(int target, int format, int type, int row_buffer_offset, int column_buffer_offset, int span_buffer_offset, long function_pointer); public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer row, ByteBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position(), function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer row, IntBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position() << 2, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer row, ShortBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position() << 1, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer row, FloatBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position(), column, column.position() << 2, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer row, ByteBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position(), function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer row, IntBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer row, ShortBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 1, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer row, FloatBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer row, ByteBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position(), function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer row, IntBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position() << 2, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer row, ShortBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position() << 1, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer row, FloatBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 1, column, column.position() << 2, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, FloatBuffer row, ByteBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position(), function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, FloatBuffer row, IntBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, FloatBuffer row, ShortBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 1, function_pointer); } public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, FloatBuffer row, FloatBuffer column) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(row); BufferChecks.checkDirect(column); - nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2D(target, internalformat, width, height, format, type, row, row.position() << 2, column, column.position() << 2, function_pointer); } - private static native void nglSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, int row_position, Buffer column, int column_position); + private static native void nglSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer row, int row_position, Buffer column, int column_position, long function_pointer); public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, int row_buffer_offset, int column_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglSeparableFilter2DBO(target, internalformat, width, height, format, type, row_buffer_offset, column_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glSeparableFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSeparableFilter2DBO(target, internalformat, width, height, format, type, row_buffer_offset, column_buffer_offset, function_pointer); } - private static native void nglSeparableFilter2DBO(int target, int internalformat, int width, int height, int format, int type, int row_buffer_offset, int column_buffer_offset); + private static native void nglSeparableFilter2DBO(int target, int internalformat, int width, int height, int format, int type, int row_buffer_offset, int column_buffer_offset, long function_pointer); public static void glGetConvolutionParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetConvolutionParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetConvolutionParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetConvolutionParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetConvolutionParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetConvolutionParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetConvolutionParameter(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetConvolutionParameterfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetConvolutionParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetConvolutionParameterfv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglGetConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetConvolutionFilter(int target, int format, int type, ByteBuffer image) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(image); - nglGetConvolutionFilter(target, format, type, image, image.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetConvolutionFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetConvolutionFilter(target, format, type, image, image.position(), function_pointer); } public static void glGetConvolutionFilter(int target, int format, int type, IntBuffer image) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(image); - nglGetConvolutionFilter(target, format, type, image, image.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetConvolutionFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetConvolutionFilter(target, format, type, image, image.position() << 2, function_pointer); } public static void glGetConvolutionFilter(int target, int format, int type, ShortBuffer image) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(image); - nglGetConvolutionFilter(target, format, type, image, image.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetConvolutionFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetConvolutionFilter(target, format, type, image, image.position() << 1, function_pointer); } public static void glGetConvolutionFilter(int target, int format, int type, FloatBuffer image) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(image); - nglGetConvolutionFilter(target, format, type, image, image.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetConvolutionFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetConvolutionFilter(target, format, type, image, image.position() << 2, function_pointer); } - private static native void nglGetConvolutionFilter(int target, int format, int type, Buffer image, int image_position); + private static native void nglGetConvolutionFilter(int target, int format, int type, Buffer image, int image_position, long function_pointer); public static void glGetConvolutionFilter(int target, int format, int type, int image_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetConvolutionFilterBO(target, format, type, image_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetConvolutionFilter_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetConvolutionFilterBO(target, format, type, image_buffer_offset, function_pointer); } - private static native void nglGetConvolutionFilterBO(int target, int format, int type, int image_buffer_offset); + private static native void nglGetConvolutionFilterBO(int target, int format, int type, int image_buffer_offset, long function_pointer); - public static native void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height); + public static void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glCopyConvolutionFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyConvolutionFilter2D(target, internalformat, x, y, width, height, function_pointer); + } + private static native void nglCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height, long function_pointer); - public static native void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width); + public static void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glCopyConvolutionFilter1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyConvolutionFilter1D(target, internalformat, x, y, width, function_pointer); + } + private static native void nglCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width, long function_pointer); public static void glConvolutionParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglConvolutionParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglConvolutionParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglConvolutionParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glConvolutionParameteri(int target, int pname, int params); + public static void glConvolutionParameteri(int target, int pname, int params) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionParameteri_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionParameteri(target, pname, params, function_pointer); + } + private static native void nglConvolutionParameteri(int target, int pname, int params, long function_pointer); public static void glConvolutionParameter(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglConvolutionParameterfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionParameterfv(target, pname, params, params.position(), function_pointer); } - private static native void nglConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglConvolutionParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glConvolutionParameterf(int target, int pname, float params); + public static void glConvolutionParameterf(int target, int pname, float params) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionParameterf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionParameterf(target, pname, params, function_pointer); + } + private static native void nglConvolutionParameterf(int target, int pname, float params, long function_pointer); public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ByteBuffer image) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(image, format, type, width, height, 1)); - nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position(), function_pointer); } public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, IntBuffer image) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(image, format, type, width, height, 1)); - nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() << 2, function_pointer); } public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, ShortBuffer image) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(image, format, type, width, height, 1)); - nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter2D(target, internalformat, width, height, format, type, image, image.position() << 1, function_pointer); } - private static native void nglConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer image, int image_position); + private static native void nglConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, Buffer image, int image_position, long function_pointer); public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, int image_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglConvolutionFilter2DBO(target, internalformat, width, height, format, type, image_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter2DBO(target, internalformat, width, height, format, type, image_buffer_offset, function_pointer); } - private static native void nglConvolutionFilter2DBO(int target, int internalformat, int width, int height, int format, int type, int image_buffer_offset); + private static native void nglConvolutionFilter2DBO(int target, int internalformat, int width, int height, int format, int type, int image_buffer_offset, long function_pointer); public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ByteBuffer image) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(image, format, type, width, 1, 1)); - nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position(), function_pointer); } public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, IntBuffer image) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(image, format, type, width, 1, 1)); - nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position() << 2, function_pointer); } public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, ShortBuffer image) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(image, format, type, width, 1, 1)); - nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position() << 1, function_pointer); } public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, FloatBuffer image) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(image, GLBufferChecks.calculateImageStorage(image, format, type, width, 1, 1)); - nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter1D(target, internalformat, width, format, type, image, image.position() << 2, function_pointer); } - private static native void nglConvolutionFilter1D(int target, int internalformat, int width, int format, int type, Buffer image, int image_position); + private static native void nglConvolutionFilter1D(int target, int internalformat, int width, int format, int type, Buffer image, int image_position, long function_pointer); public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, int image_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglConvolutionFilter1DBO(target, internalformat, width, format, type, image_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glConvolutionFilter1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglConvolutionFilter1DBO(target, internalformat, width, format, type, image_buffer_offset, function_pointer); } - private static native void nglConvolutionFilter1DBO(int target, int internalformat, int width, int format, int type, int image_buffer_offset); + private static native void nglConvolutionFilter1DBO(int target, int internalformat, int width, int format, int type, int image_buffer_offset, long function_pointer); public static void glGetMinmaxParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMinmaxParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetMinmaxParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMinmaxParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetMinmaxParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetMinmaxParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetMinmaxParameter(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMinmaxParameterfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetMinmaxParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMinmaxParameterfv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetMinmaxParameterfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglGetMinmaxParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetMinmax(int target, boolean reset, int format, int types, ByteBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 4); - nglGetMinmax(target, reset, format, types, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetMinmax_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMinmax(target, reset, format, types, values, values.position(), function_pointer); } public static void glGetMinmax(int target, boolean reset, int format, int types, IntBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 4); - nglGetMinmax(target, reset, format, types, values, values.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetMinmax_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMinmax(target, reset, format, types, values, values.position() << 2, function_pointer); } public static void glGetMinmax(int target, boolean reset, int format, int types, ShortBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 4); - nglGetMinmax(target, reset, format, types, values, values.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetMinmax_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMinmax(target, reset, format, types, values, values.position() << 1, function_pointer); } public static void glGetMinmax(int target, boolean reset, int format, int types, FloatBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 4); - nglGetMinmax(target, reset, format, types, values, values.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetMinmax_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMinmax(target, reset, format, types, values, values.position() << 2, function_pointer); } - private static native void nglGetMinmax(int target, boolean reset, int format, int types, Buffer values, int values_position); + private static native void nglGetMinmax(int target, boolean reset, int format, int types, Buffer values, int values_position, long function_pointer); public static void glGetMinmax(int target, boolean reset, int format, int types, int values_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetMinmaxBO(target, reset, format, types, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetMinmax_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMinmaxBO(target, reset, format, types, values_buffer_offset, function_pointer); } - private static native void nglGetMinmaxBO(int target, boolean reset, int format, int types, int values_buffer_offset); + private static native void nglGetMinmaxBO(int target, boolean reset, int format, int types, int values_buffer_offset, long function_pointer); - public static native void glResetMinmax(int target); + public static void glResetMinmax(int target) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glResetMinmax_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglResetMinmax(target, function_pointer); + } + private static native void nglResetMinmax(int target, long function_pointer); - public static native void glMinmax(int target, int internalformat, boolean sink); + public static void glMinmax(int target, int internalformat, boolean sink) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glMinmax_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMinmax(target, internalformat, sink, function_pointer); + } + private static native void nglMinmax(int target, int internalformat, boolean sink, long function_pointer); public static void glGetHistogramParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 256); - nglGetHistogramParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetHistogramParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetHistogramParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetHistogramParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetHistogramParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetHistogramParameter(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 256); - nglGetHistogramParameterfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetHistogramParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetHistogramParameterfv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetHistogramParameterfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglGetHistogramParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetHistogram(int target, boolean reset, int format, int type, ByteBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 256); - nglGetHistogram(target, reset, format, type, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetHistogram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetHistogram(target, reset, format, type, values, values.position(), function_pointer); } public static void glGetHistogram(int target, boolean reset, int format, int type, IntBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 256); - nglGetHistogram(target, reset, format, type, values, values.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetHistogram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetHistogram(target, reset, format, type, values, values.position() << 2, function_pointer); } public static void glGetHistogram(int target, boolean reset, int format, int type, ShortBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 256); - nglGetHistogram(target, reset, format, type, values, values.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetHistogram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetHistogram(target, reset, format, type, values, values.position() << 1, function_pointer); } public static void glGetHistogram(int target, boolean reset, int format, int type, FloatBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 256); - nglGetHistogram(target, reset, format, type, values, values.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetHistogram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetHistogram(target, reset, format, type, values, values.position() << 2, function_pointer); } - private static native void nglGetHistogram(int target, boolean reset, int format, int type, Buffer values, int values_position); + private static native void nglGetHistogram(int target, boolean reset, int format, int type, Buffer values, int values_position, long function_pointer); public static void glGetHistogram(int target, boolean reset, int format, int type, int values_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetHistogramBO(target, reset, format, type, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetHistogram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetHistogramBO(target, reset, format, type, values_buffer_offset, function_pointer); } - private static native void nglGetHistogramBO(int target, boolean reset, int format, int type, int values_buffer_offset); + private static native void nglGetHistogramBO(int target, boolean reset, int format, int type, int values_buffer_offset, long function_pointer); - public static native void glResetHistogram(int target); + public static void glResetHistogram(int target) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glResetHistogram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglResetHistogram(target, function_pointer); + } + private static native void nglResetHistogram(int target, long function_pointer); - public static native void glHistogram(int target, int width, int internalformat, boolean sink); + public static void glHistogram(int target, int width, int internalformat, boolean sink) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glHistogram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglHistogram(target, width, internalformat, sink, function_pointer); + } + private static native void nglHistogram(int target, int width, int internalformat, boolean sink, long function_pointer); - public static native void glBlendColor(float red, float green, float blue, float alpha); + public static void glBlendColor(float red, float green, float blue, float alpha) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glBlendColor_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendColor(red, green, blue, alpha, function_pointer); + } + private static native void nglBlendColor(float red, float green, float blue, float alpha, long function_pointer); - public static native void glBlendEquation(int mode); + public static void glBlendEquation(int mode) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glBlendEquation_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendEquation(mode, function_pointer); + } + private static native void nglBlendEquation(int mode, long function_pointer); public static void glGetColorTableParameter(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetColorTableParameterfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetColorTableParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableParameterfv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetColorTableParameterfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglGetColorTableParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetColorTableParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetColorTableParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetColorTableParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetColorTableParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetColorTableParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetColorTable(int target, int format, int type, ByteBuffer data) { BufferChecks.checkBuffer(data, 256); - nglGetColorTable(target, format, type, data, data.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetColorTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTable(target, format, type, data, data.position(), function_pointer); } public static void glGetColorTable(int target, int format, int type, FloatBuffer data) { BufferChecks.checkBuffer(data, 256); - nglGetColorTable(target, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glGetColorTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTable(target, format, type, data, data.position() << 2, function_pointer); } - private static native void nglGetColorTable(int target, int format, int type, Buffer data, int data_position); + private static native void nglGetColorTable(int target, int format, int type, Buffer data, int data_position, long function_pointer); - public static native void glCopyColorTable(int target, int internalformat, int x, int y, int width); + public static void glCopyColorTable(int target, int internalformat, int x, int y, int width) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glCopyColorTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyColorTable(target, internalformat, x, y, width, function_pointer); + } + private static native void nglCopyColorTable(int target, int internalformat, int x, int y, int width, long function_pointer); - public static native void glCopyColorSubTable(int target, int start, int x, int y, int width); + public static void glCopyColorSubTable(int target, int start, int x, int y, int width) { + long function_pointer = GLContext.getCapabilities().ARB_imaging_glCopyColorSubTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyColorSubTable(target, start, x, y, width, function_pointer); + } + private static native void nglCopyColorSubTable(int target, int start, int x, int y, int width, long function_pointer); public static void glColorTableParameter(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglColorTableParameterfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorTableParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTableParameterfv(target, pname, params, params.position(), function_pointer); } - private static native void nglColorTableParameterfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglColorTableParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glColorTableParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglColorTableParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorTableParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTableParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglColorTableParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglColorTableParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glColorSubTable(int target, int start, int count, int format, int type, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(data, 256); - nglColorSubTable(target, start, count, format, type, data, data.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorSubTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorSubTable(target, start, count, format, type, data, data.position(), function_pointer); } public static void glColorSubTable(int target, int start, int count, int format, int type, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(data, 256); - nglColorSubTable(target, start, count, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorSubTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorSubTable(target, start, count, format, type, data, data.position() << 2, function_pointer); } - private static native void nglColorSubTable(int target, int start, int count, int format, int type, Buffer data, int data_position); + private static native void nglColorSubTable(int target, int start, int count, int format, int type, Buffer data, int data_position, long function_pointer); public static void glColorSubTable(int target, int start, int count, int format, int type, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglColorSubTableBO(target, start, count, format, type, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorSubTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorSubTableBO(target, start, count, format, type, data_buffer_offset, function_pointer); } - private static native void nglColorSubTableBO(int target, int start, int count, int format, int type, int data_buffer_offset); + private static native void nglColorSubTableBO(int target, int start, int count, int format, int type, int data_buffer_offset, long function_pointer); public static void glColorTable(int target, int internalFormat, int width, int format, int type, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(data, 256); - nglColorTable(target, internalFormat, width, format, type, data, data.position()); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTable(target, internalFormat, width, format, type, data, data.position(), function_pointer); } public static void glColorTable(int target, int internalFormat, int width, int format, int type, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(data, 256); - nglColorTable(target, internalFormat, width, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTable(target, internalFormat, width, format, type, data, data.position() << 2, function_pointer); } - private static native void nglColorTable(int target, int internalFormat, int width, int format, int type, Buffer data, int data_position); + private static native void nglColorTable(int target, int internalFormat, int width, int format, int type, Buffer data, int data_position, long function_pointer); public static void glColorTable(int target, int internalFormat, int width, int format, int type, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglColorTableBO(target, internalFormat, width, format, type, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_imaging_glColorTable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTableBO(target, internalFormat, width, format, type, data_buffer_offset, function_pointer); } - private static native void nglColorTableBO(int target, int internalFormat, int width, int format, int type, int data_buffer_offset); + private static native void nglColorTableBO(int target, int internalFormat, int width, int format, int type, int data_buffer_offset, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBMatrixPalette.java b/src/java/org/lwjgl/opengl/ARBMatrixPalette.java index 7bac6e02..cf19bf30 100644 --- a/src/java/org/lwjgl/opengl/ARBMatrixPalette.java +++ b/src/java/org/lwjgl/opengl/ARBMatrixPalette.java @@ -25,43 +25,62 @@ public final class ARBMatrixPalette { public static void glMatrixIndexuARB(IntBuffer pIndices) { BufferChecks.checkDirect(pIndices); - nglMatrixIndexuivARB((pIndices.remaining()), pIndices, pIndices.position()); + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glMatrixIndexuivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixIndexuivARB((pIndices.remaining()), pIndices, pIndices.position(), function_pointer); } - private static native void nglMatrixIndexuivARB(int size, IntBuffer pIndices, int pIndices_position); + private static native void nglMatrixIndexuivARB(int size, IntBuffer pIndices, int pIndices_position, long function_pointer); public static void glMatrixIndexuARB(ShortBuffer pIndices) { BufferChecks.checkDirect(pIndices); - nglMatrixIndexusvARB((pIndices.remaining()), pIndices, pIndices.position()); + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glMatrixIndexusvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixIndexusvARB((pIndices.remaining()), pIndices, pIndices.position(), function_pointer); } - private static native void nglMatrixIndexusvARB(int size, ShortBuffer pIndices, int pIndices_position); + private static native void nglMatrixIndexusvARB(int size, ShortBuffer pIndices, int pIndices_position, long function_pointer); public static void glMatrixIndexuARB(ByteBuffer pIndices) { BufferChecks.checkDirect(pIndices); - nglMatrixIndexubvARB((pIndices.remaining()), pIndices, pIndices.position()); + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glMatrixIndexubvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixIndexubvARB((pIndices.remaining()), pIndices, pIndices.position(), function_pointer); } - private static native void nglMatrixIndexubvARB(int size, ByteBuffer pIndices, int pIndices_position); + private static native void nglMatrixIndexubvARB(int size, ByteBuffer pIndices, int pIndices_position, long function_pointer); public static void glMatrixIndexPointerARB(int size, int stride, ByteBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_BYTE, stride, pPointer, pPointer.position()); + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glMatrixIndexPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_BYTE, stride, pPointer, pPointer.position(), function_pointer); } public static void glMatrixIndexPointerARB(int size, int stride, IntBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_INT, stride, pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glMatrixIndexPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_INT, stride, pPointer, pPointer.position() << 2, function_pointer); } public static void glMatrixIndexPointerARB(int size, int stride, ShortBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_SHORT, stride, pPointer, pPointer.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glMatrixIndexPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixIndexPointerARB(size, GL11.GL_UNSIGNED_SHORT, stride, pPointer, pPointer.position() << 1, function_pointer); } - private static native void nglMatrixIndexPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_position); + private static native void nglMatrixIndexPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_position, long function_pointer); public static void glMatrixIndexPointerARB(int size, int type, int stride, int pPointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglMatrixIndexPointerARBBO(size, type, stride, pPointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glMatrixIndexPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixIndexPointerARBBO(size, type, stride, pPointer_buffer_offset, function_pointer); } - private static native void nglMatrixIndexPointerARBBO(int size, int type, int stride, int pPointer_buffer_offset); + private static native void nglMatrixIndexPointerARBBO(int size, int type, int stride, int pPointer_buffer_offset, long function_pointer); - public static native void glCurrentPaletteMatrixARB(int index); + public static void glCurrentPaletteMatrixARB(int index) { + long function_pointer = GLContext.getCapabilities().ARB_matrix_palette_glCurrentPaletteMatrixARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCurrentPaletteMatrixARB(index, function_pointer); + } + private static native void nglCurrentPaletteMatrixARB(int index, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBMultisample.java b/src/java/org/lwjgl/opengl/ARBMultisample.java index 0f1062be..01dfd5ef 100644 --- a/src/java/org/lwjgl/opengl/ARBMultisample.java +++ b/src/java/org/lwjgl/opengl/ARBMultisample.java @@ -22,5 +22,10 @@ public final class ARBMultisample { static native void initNativeStubs() throws LWJGLException; - public static native void glSampleCoverageARB(float value, boolean invert); + public static void glSampleCoverageARB(float value, boolean invert) { + long function_pointer = GLContext.getCapabilities().ARB_multisample_glSampleCoverageARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSampleCoverageARB(value, invert, function_pointer); + } + private static native void nglSampleCoverageARB(float value, boolean invert, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBMultitexture.java b/src/java/org/lwjgl/opengl/ARBMultitexture.java index ecc9689f..7d7545b1 100644 --- a/src/java/org/lwjgl/opengl/ARBMultitexture.java +++ b/src/java/org/lwjgl/opengl/ARBMultitexture.java @@ -48,31 +48,101 @@ public final class ARBMultitexture { static native void initNativeStubs() throws LWJGLException; - public static native void glMultiTexCoord4sARB(int target, short s, short t, short r, short q); + public static void glMultiTexCoord4sARB(int target, short s, short t, short r, short q) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord4sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord4sARB(target, s, t, r, q, function_pointer); + } + private static native void nglMultiTexCoord4sARB(int target, short s, short t, short r, short q, long function_pointer); - public static native void glMultiTexCoord4iARB(int target, int s, int t, int r, int q); + public static void glMultiTexCoord4iARB(int target, int s, int t, int r, int q) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord4iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord4iARB(target, s, t, r, q, function_pointer); + } + private static native void nglMultiTexCoord4iARB(int target, int s, int t, int r, int q, long function_pointer); - public static native void glMultiTexCoord4fARB(int target, float s, float t, float r, float q); + public static void glMultiTexCoord4fARB(int target, float s, float t, float r, float q) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord4fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord4fARB(target, s, t, r, q, function_pointer); + } + private static native void nglMultiTexCoord4fARB(int target, float s, float t, float r, float q, long function_pointer); - public static native void glMultiTexCoord3sARB(int target, short s, short t, short r); + public static void glMultiTexCoord3sARB(int target, short s, short t, short r) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord3sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord3sARB(target, s, t, r, function_pointer); + } + private static native void nglMultiTexCoord3sARB(int target, short s, short t, short r, long function_pointer); - public static native void glMultiTexCoord3iARB(int target, int s, int t, int r); + public static void glMultiTexCoord3iARB(int target, int s, int t, int r) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord3iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord3iARB(target, s, t, r, function_pointer); + } + private static native void nglMultiTexCoord3iARB(int target, int s, int t, int r, long function_pointer); - public static native void glMultiTexCoord3fARB(int target, float s, float t, float r); + public static void glMultiTexCoord3fARB(int target, float s, float t, float r) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord3fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord3fARB(target, s, t, r, function_pointer); + } + private static native void nglMultiTexCoord3fARB(int target, float s, float t, float r, long function_pointer); - public static native void glMultiTexCoord2sARB(int target, short s, short t); + public static void glMultiTexCoord2sARB(int target, short s, short t) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord2sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord2sARB(target, s, t, function_pointer); + } + private static native void nglMultiTexCoord2sARB(int target, short s, short t, long function_pointer); - public static native void glMultiTexCoord2iARB(int target, int s, int t); + public static void glMultiTexCoord2iARB(int target, int s, int t) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord2iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord2iARB(target, s, t, function_pointer); + } + private static native void nglMultiTexCoord2iARB(int target, int s, int t, long function_pointer); - public static native void glMultiTexCoord2fARB(int target, float s, float t); + public static void glMultiTexCoord2fARB(int target, float s, float t) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord2fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord2fARB(target, s, t, function_pointer); + } + private static native void nglMultiTexCoord2fARB(int target, float s, float t, long function_pointer); - public static native void glMultiTexCoord1sARB(int target, short s); + public static void glMultiTexCoord1sARB(int target, short s) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord1sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord1sARB(target, s, function_pointer); + } + private static native void nglMultiTexCoord1sARB(int target, short s, long function_pointer); - public static native void glMultiTexCoord1iARB(int target, int s); + public static void glMultiTexCoord1iARB(int target, int s) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord1iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord1iARB(target, s, function_pointer); + } + private static native void nglMultiTexCoord1iARB(int target, int s, long function_pointer); - public static native void glMultiTexCoord1fARB(int target, float s); + public static void glMultiTexCoord1fARB(int target, float s) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glMultiTexCoord1fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord1fARB(target, s, function_pointer); + } + private static native void nglMultiTexCoord1fARB(int target, float s, long function_pointer); - public static native void glActiveTextureARB(int texture); + public static void glActiveTextureARB(int texture) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glActiveTextureARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglActiveTextureARB(texture, function_pointer); + } + private static native void nglActiveTextureARB(int texture, long function_pointer); - public static native void glClientActiveTextureARB(int texture); + public static void glClientActiveTextureARB(int texture) { + long function_pointer = GLContext.getCapabilities().ARB_multitexture_glClientActiveTextureARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClientActiveTextureARB(texture, function_pointer); + } + private static native void nglClientActiveTextureARB(int texture, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBOcclusionQuery.java b/src/java/org/lwjgl/opengl/ARBOcclusionQuery.java index 5304f7ab..5efe05eb 100644 --- a/src/java/org/lwjgl/opengl/ARBOcclusionQuery.java +++ b/src/java/org/lwjgl/opengl/ARBOcclusionQuery.java @@ -20,37 +20,63 @@ public final class ARBOcclusionQuery { public static void glGetQueryObjectuARB(int id, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetQueryObjectuivARB(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glGetQueryObjectuivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetQueryObjectuivARB(id, pname, params, params.position(), function_pointer); } - private static native void nglGetQueryObjectuivARB(int id, int pname, IntBuffer params, int params_position); + private static native void nglGetQueryObjectuivARB(int id, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetQueryObjectARB(int id, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetQueryObjectivARB(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glGetQueryObjectivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetQueryObjectivARB(id, pname, params, params.position(), function_pointer); } - private static native void nglGetQueryObjectivARB(int id, int pname, IntBuffer params, int params_position); + private static native void nglGetQueryObjectivARB(int id, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetQueryARB(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetQueryivARB(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glGetQueryivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetQueryivARB(target, pname, params, params.position(), function_pointer); } - private static native void nglGetQueryivARB(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetQueryivARB(int target, int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glEndQueryARB(int target); + public static void glEndQueryARB(int target) { + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glEndQueryARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEndQueryARB(target, function_pointer); + } + private static native void nglEndQueryARB(int target, long function_pointer); - public static native void glBeginQueryARB(int target, int id); + public static void glBeginQueryARB(int target, int id) { + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glBeginQueryARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBeginQueryARB(target, id, function_pointer); + } + private static native void nglBeginQueryARB(int target, int id, long function_pointer); - public static native boolean glIsQueryARB(int id); + public static boolean glIsQueryARB(int id) { + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glIsQueryARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsQueryARB(id, function_pointer); + return __result; + } + private static native boolean nglIsQueryARB(int id, long function_pointer); public static void glDeleteQueriesARB(IntBuffer ids) { BufferChecks.checkDirect(ids); - nglDeleteQueriesARB((ids.remaining()), ids, ids.position()); + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glDeleteQueriesARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteQueriesARB((ids.remaining()), ids, ids.position(), function_pointer); } - private static native void nglDeleteQueriesARB(int n, IntBuffer ids, int ids_position); + private static native void nglDeleteQueriesARB(int n, IntBuffer ids, int ids_position, long function_pointer); public static void glGenQueriesARB(IntBuffer ids) { BufferChecks.checkDirect(ids); - nglGenQueriesARB((ids.remaining()), ids, ids.position()); + long function_pointer = GLContext.getCapabilities().ARB_occlusion_query_glGenQueriesARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenQueriesARB((ids.remaining()), ids, ids.position(), function_pointer); } - private static native void nglGenQueriesARB(int n, IntBuffer ids, int ids_position); + private static native void nglGenQueriesARB(int n, IntBuffer ids, int ids_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBPointParameters.java b/src/java/org/lwjgl/opengl/ARBPointParameters.java index dc48be34..7c0734b7 100644 --- a/src/java/org/lwjgl/opengl/ARBPointParameters.java +++ b/src/java/org/lwjgl/opengl/ARBPointParameters.java @@ -19,9 +19,16 @@ public final class ARBPointParameters { public static void glPointParameterARB(int pname, FloatBuffer pfParams) { BufferChecks.checkBuffer(pfParams, 4); - nglPointParameterfvARB(pname, pfParams, pfParams.position()); + long function_pointer = GLContext.getCapabilities().ARB_point_parameters_glPointParameterfvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameterfvARB(pname, pfParams, pfParams.position(), function_pointer); } - private static native void nglPointParameterfvARB(int pname, FloatBuffer pfParams, int pfParams_position); + private static native void nglPointParameterfvARB(int pname, FloatBuffer pfParams, int pfParams_position, long function_pointer); - public static native void glPointParameterfARB(int pname, float param); + public static void glPointParameterfARB(int pname, float param) { + long function_pointer = GLContext.getCapabilities().ARB_point_parameters_glPointParameterfARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameterfARB(pname, param, function_pointer); + } + private static native void nglPointParameterfARB(int pname, float param, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBProgram.java b/src/java/org/lwjgl/opengl/ARBProgram.java index bd10f966..82e428b8 100644 --- a/src/java/org/lwjgl/opengl/ARBProgram.java +++ b/src/java/org/lwjgl/opengl/ARBProgram.java @@ -73,65 +73,104 @@ public class ARBProgram { static native void initNativeStubs() throws LWJGLException; - public static native boolean glIsProgramARB(int program); + public static boolean glIsProgramARB(int program) { + long function_pointer = GLContext.getCapabilities().ARB_program_glIsProgramARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsProgramARB(program, function_pointer); + return __result; + } + private static native boolean nglIsProgramARB(int program, long function_pointer); public static void glGetProgramStringARB(int target, int parameterName, ByteBuffer paramString) { BufferChecks.checkDirect(paramString); - nglGetProgramStringARB(target, parameterName, paramString, paramString.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glGetProgramStringARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramStringARB(target, parameterName, paramString, paramString.position(), function_pointer); } - private static native void nglGetProgramStringARB(int target, int parameterName, Buffer paramString, int paramString_position); + private static native void nglGetProgramStringARB(int target, int parameterName, Buffer paramString, int paramString_position, long function_pointer); public static void glGetProgramARB(int target, int parameterName, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetProgramivARB(target, parameterName, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glGetProgramivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramivARB(target, parameterName, params, params.position(), function_pointer); } - private static native void nglGetProgramivARB(int target, int parameterName, IntBuffer params, int params_position); + private static native void nglGetProgramivARB(int target, int parameterName, IntBuffer params, int params_position, long function_pointer); public static void glGetProgramLocalParameterARB(int target, int index, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetProgramLocalParameterfvARB(target, index, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glGetProgramLocalParameterfvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramLocalParameterfvARB(target, index, params, params.position(), function_pointer); } - private static native void nglGetProgramLocalParameterfvARB(int target, int index, FloatBuffer params, int params_position); + private static native void nglGetProgramLocalParameterfvARB(int target, int index, FloatBuffer params, int params_position, long function_pointer); public static void glGetProgramEnvParameterARB(int target, int index, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetProgramEnvParameterfvARB(target, index, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glGetProgramEnvParameterfvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramEnvParameterfvARB(target, index, params, params.position(), function_pointer); } - private static native void nglGetProgramEnvParameterfvARB(int target, int index, FloatBuffer params, int params_position); + private static native void nglGetProgramEnvParameterfvARB(int target, int index, FloatBuffer params, int params_position, long function_pointer); public static void glProgramLocalParameter4ARB(int target, int index, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglProgramLocalParameter4fvARB(target, index, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glProgramLocalParameter4fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramLocalParameter4fvARB(target, index, params, params.position(), function_pointer); } - private static native void nglProgramLocalParameter4fvARB(int target, int index, FloatBuffer params, int params_position); + private static native void nglProgramLocalParameter4fvARB(int target, int index, FloatBuffer params, int params_position, long function_pointer); - public static native void glProgramLocalParameter4fARB(int target, int index, float x, float y, float z, float w); + public static void glProgramLocalParameter4fARB(int target, int index, float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().ARB_program_glProgramLocalParameter4fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramLocalParameter4fARB(target, index, x, y, z, w, function_pointer); + } + private static native void nglProgramLocalParameter4fARB(int target, int index, float x, float y, float z, float w, long function_pointer); public static void glProgramEnvParameter4ARB(int target, int index, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglProgramEnvParameter4fvARB(target, index, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glProgramEnvParameter4fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramEnvParameter4fvARB(target, index, params, params.position(), function_pointer); } - private static native void nglProgramEnvParameter4fvARB(int target, int index, FloatBuffer params, int params_position); + private static native void nglProgramEnvParameter4fvARB(int target, int index, FloatBuffer params, int params_position, long function_pointer); - public static native void glProgramEnvParameter4fARB(int target, int index, float x, float y, float z, float w); + public static void glProgramEnvParameter4fARB(int target, int index, float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().ARB_program_glProgramEnvParameter4fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramEnvParameter4fARB(target, index, x, y, z, w, function_pointer); + } + private static native void nglProgramEnvParameter4fARB(int target, int index, float x, float y, float z, float w, long function_pointer); public static void glGenProgramsARB(IntBuffer programs) { BufferChecks.checkDirect(programs); - nglGenProgramsARB((programs.remaining()), programs, programs.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glGenProgramsARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenProgramsARB((programs.remaining()), programs, programs.position(), function_pointer); } - private static native void nglGenProgramsARB(int n, IntBuffer programs, int programs_position); + private static native void nglGenProgramsARB(int n, IntBuffer programs, int programs_position, long function_pointer); public static void glDeleteProgramsARB(IntBuffer programs) { BufferChecks.checkDirect(programs); - nglDeleteProgramsARB((programs.remaining()), programs, programs.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glDeleteProgramsARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteProgramsARB((programs.remaining()), programs, programs.position(), function_pointer); } - private static native void nglDeleteProgramsARB(int n, IntBuffer programs, int programs_position); + private static native void nglDeleteProgramsARB(int n, IntBuffer programs, int programs_position, long function_pointer); - public static native void glBindProgramARB(int target, int program); + public static void glBindProgramARB(int target, int program) { + long function_pointer = GLContext.getCapabilities().ARB_program_glBindProgramARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindProgramARB(target, program, function_pointer); + } + private static native void nglBindProgramARB(int target, int program, long function_pointer); public static void glProgramStringARB(int target, int format, ByteBuffer string) { BufferChecks.checkDirect(string); - nglProgramStringARB(target, format, (string.remaining()), string, string.position()); + long function_pointer = GLContext.getCapabilities().ARB_program_glProgramStringARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramStringARB(target, format, (string.remaining()), string, string.position(), function_pointer); } - private static native void nglProgramStringARB(int target, int format, int length, Buffer string, int string_position); + private static native void nglProgramStringARB(int target, int format, int length, Buffer string, int string_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBShaderObjects.java b/src/java/org/lwjgl/opengl/ARBShaderObjects.java index 783246e7..a19885d2 100644 --- a/src/java/org/lwjgl/opengl/ARBShaderObjects.java +++ b/src/java/org/lwjgl/opengl/ARBShaderObjects.java @@ -53,21 +53,27 @@ public final class ARBShaderObjects { if (length != null) BufferChecks.checkBuffer(length, 1); BufferChecks.checkDirect(source); - nglGetShaderSourceARB(obj, (source.remaining()), length, length != null ? length.position() : 0, source, source.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetShaderSourceARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetShaderSourceARB(obj, (source.remaining()), length, length != null ? length.position() : 0, source, source.position(), function_pointer); } - private static native void nglGetShaderSourceARB(int obj, int maxLength, IntBuffer length, int length_position, ByteBuffer source, int source_position); + private static native void nglGetShaderSourceARB(int obj, int maxLength, IntBuffer length, int length_position, ByteBuffer source, int source_position, long function_pointer); public static void glGetUniformARB(int programObj, int location, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetUniformivARB(programObj, location, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetUniformivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetUniformivARB(programObj, location, params, params.position(), function_pointer); } - private static native void nglGetUniformivARB(int programObj, int location, IntBuffer params, int params_position); + private static native void nglGetUniformivARB(int programObj, int location, IntBuffer params, int params_position, long function_pointer); public static void glGetUniformARB(int programObj, int location, FloatBuffer params) { BufferChecks.checkDirect(params); - nglGetUniformfvARB(programObj, location, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetUniformfvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetUniformfvARB(programObj, location, params, params.position(), function_pointer); } - private static native void nglGetUniformfvARB(int programObj, int location, FloatBuffer params, int params_position); + private static native void nglGetUniformfvARB(int programObj, int location, FloatBuffer params, int params_position, long function_pointer); public static void glGetActiveUniformARB(int programObj, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name) { if (length != null) @@ -75,9 +81,11 @@ public final class ARBShaderObjects { BufferChecks.checkBuffer(size, 1); BufferChecks.checkBuffer(type, 1); BufferChecks.checkDirect(name); - nglGetActiveUniformARB(programObj, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetActiveUniformARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetActiveUniformARB(programObj, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position(), function_pointer); } - private static native void nglGetActiveUniformARB(int programObj, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position); + private static native void nglGetActiveUniformARB(int programObj, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position, long function_pointer); /** * Returns the location of the uniform with the specified name. The ByteBuffer should contain the uniform name as a null-terminated string. @@ -88,132 +96,235 @@ public final class ARBShaderObjects { public static int glGetUniformLocationARB(int programObj, ByteBuffer name) { BufferChecks.checkDirect(name); BufferChecks.checkNullTerminated(name); - int __result = nglGetUniformLocationARB(programObj, name, name.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetUniformLocationARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGetUniformLocationARB(programObj, name, name.position(), function_pointer); return __result; } - private static native int nglGetUniformLocationARB(int programObj, ByteBuffer name, int name_position); + private static native int nglGetUniformLocationARB(int programObj, ByteBuffer name, int name_position, long function_pointer); public static void glGetAttachedObjectsARB(int containerObj, IntBuffer count, IntBuffer obj) { if (count != null) BufferChecks.checkBuffer(count, 1); BufferChecks.checkDirect(obj); - nglGetAttachedObjectsARB(containerObj, (obj.remaining()), count, count != null ? count.position() : 0, obj, obj.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetAttachedObjectsARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetAttachedObjectsARB(containerObj, (obj.remaining()), count, count != null ? count.position() : 0, obj, obj.position(), function_pointer); } - private static native void nglGetAttachedObjectsARB(int containerObj, int maxCount, IntBuffer count, int count_position, IntBuffer obj, int obj_position); + private static native void nglGetAttachedObjectsARB(int containerObj, int maxCount, IntBuffer count, int count_position, IntBuffer obj, int obj_position, long function_pointer); public static void glGetInfoLogARB(int obj, IntBuffer length, ByteBuffer infoLog) { if (length != null) BufferChecks.checkBuffer(length, 1); BufferChecks.checkDirect(infoLog); - nglGetInfoLogARB(obj, (infoLog.remaining()), length, length != null ? length.position() : 0, infoLog, infoLog.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetInfoLogARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetInfoLogARB(obj, (infoLog.remaining()), length, length != null ? length.position() : 0, infoLog, infoLog.position(), function_pointer); } - private static native void nglGetInfoLogARB(int obj, int maxLength, IntBuffer length, int length_position, ByteBuffer infoLog, int infoLog_position); + private static native void nglGetInfoLogARB(int obj, int maxLength, IntBuffer length, int length_position, ByteBuffer infoLog, int infoLog_position, long function_pointer); public static void glGetObjectParameterARB(int obj, int pname, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetObjectParameterivARB(obj, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetObjectParameterivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetObjectParameterivARB(obj, pname, params, params.position(), function_pointer); } - private static native void nglGetObjectParameterivARB(int obj, int pname, IntBuffer params, int params_position); + private static native void nglGetObjectParameterivARB(int obj, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetObjectParameterARB(int obj, int pname, FloatBuffer params) { BufferChecks.checkDirect(params); - nglGetObjectParameterfvARB(obj, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetObjectParameterfvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetObjectParameterfvARB(obj, pname, params, params.position(), function_pointer); } - private static native void nglGetObjectParameterfvARB(int obj, int pname, FloatBuffer params, int params_position); + private static native void nglGetObjectParameterfvARB(int obj, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glUniformMatrix4ARB(int location, boolean transpose, FloatBuffer matrices) { BufferChecks.checkDirect(matrices); - nglUniformMatrix4fvARB(location, (matrices.remaining()) >> 4, transpose, matrices, matrices.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniformMatrix4fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniformMatrix4fvARB(location, (matrices.remaining()) >> 4, transpose, matrices, matrices.position(), function_pointer); } - private static native void nglUniformMatrix4fvARB(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position); + private static native void nglUniformMatrix4fvARB(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position, long function_pointer); public static void glUniformMatrix3ARB(int location, boolean transpose, FloatBuffer matrices) { BufferChecks.checkDirect(matrices); - nglUniformMatrix3fvARB(location, (matrices.remaining()) / (3 * 3), transpose, matrices, matrices.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniformMatrix3fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniformMatrix3fvARB(location, (matrices.remaining()) / (3 * 3), transpose, matrices, matrices.position(), function_pointer); } - private static native void nglUniformMatrix3fvARB(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position); + private static native void nglUniformMatrix3fvARB(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position, long function_pointer); public static void glUniformMatrix2ARB(int location, boolean transpose, FloatBuffer matrices) { BufferChecks.checkDirect(matrices); - nglUniformMatrix2fvARB(location, (matrices.remaining()) >> 2, transpose, matrices, matrices.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniformMatrix2fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniformMatrix2fvARB(location, (matrices.remaining()) >> 2, transpose, matrices, matrices.position(), function_pointer); } - private static native void nglUniformMatrix2fvARB(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position); + private static native void nglUniformMatrix2fvARB(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position, long function_pointer); public static void glUniform4ARB(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform4ivARB(location, (values.remaining()) >> 2, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform4ivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4ivARB(location, (values.remaining()) >> 2, values, values.position(), function_pointer); } - private static native void nglUniform4ivARB(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform4ivARB(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform3ARB(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform3ivARB(location, (values.remaining()) / 3, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform3ivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3ivARB(location, (values.remaining()) / 3, values, values.position(), function_pointer); } - private static native void nglUniform3ivARB(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform3ivARB(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform2ARB(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform2ivARB(location, (values.remaining()) >> 1, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform2ivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2ivARB(location, (values.remaining()) >> 1, values, values.position(), function_pointer); } - private static native void nglUniform2ivARB(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform2ivARB(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform1ARB(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform1ivARB(location, (values.remaining()), values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform1ivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1ivARB(location, (values.remaining()), values, values.position(), function_pointer); } - private static native void nglUniform1ivARB(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform1ivARB(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform4ARB(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform4fvARB(location, (values.remaining()) >> 2, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform4fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4fvARB(location, (values.remaining()) >> 2, values, values.position(), function_pointer); } - private static native void nglUniform4fvARB(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform4fvARB(int location, int count, FloatBuffer values, int values_position, long function_pointer); public static void glUniform3ARB(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform3fvARB(location, (values.remaining()) / 3, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform3fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3fvARB(location, (values.remaining()) / 3, values, values.position(), function_pointer); } - private static native void nglUniform3fvARB(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform3fvARB(int location, int count, FloatBuffer values, int values_position, long function_pointer); public static void glUniform2ARB(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform2fvARB(location, (values.remaining()) >> 1, values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform2fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2fvARB(location, (values.remaining()) >> 1, values, values.position(), function_pointer); } - private static native void nglUniform2fvARB(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform2fvARB(int location, int count, FloatBuffer values, int values_position, long function_pointer); public static void glUniform1ARB(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform1fvARB(location, (values.remaining()), values, values.position()); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform1fvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1fvARB(location, (values.remaining()), values, values.position(), function_pointer); } - private static native void nglUniform1fvARB(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform1fvARB(int location, int count, FloatBuffer values, int values_position, long function_pointer); - public static native void glUniform4iARB(int location, int v0, int v1, int v2, int v3); + public static void glUniform4iARB(int location, int v0, int v1, int v2, int v3) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform4iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4iARB(location, v0, v1, v2, v3, function_pointer); + } + private static native void nglUniform4iARB(int location, int v0, int v1, int v2, int v3, long function_pointer); - public static native void glUniform3iARB(int location, int v0, int v1, int v2); + public static void glUniform3iARB(int location, int v0, int v1, int v2) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform3iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3iARB(location, v0, v1, v2, function_pointer); + } + private static native void nglUniform3iARB(int location, int v0, int v1, int v2, long function_pointer); - public static native void glUniform2iARB(int location, int v0, int v1); + public static void glUniform2iARB(int location, int v0, int v1) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform2iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2iARB(location, v0, v1, function_pointer); + } + private static native void nglUniform2iARB(int location, int v0, int v1, long function_pointer); - public static native void glUniform1iARB(int location, int v0); + public static void glUniform1iARB(int location, int v0) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform1iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1iARB(location, v0, function_pointer); + } + private static native void nglUniform1iARB(int location, int v0, long function_pointer); - public static native void glUniform4fARB(int location, float v0, float v1, float v2, float v3); + public static void glUniform4fARB(int location, float v0, float v1, float v2, float v3) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform4fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4fARB(location, v0, v1, v2, v3, function_pointer); + } + private static native void nglUniform4fARB(int location, float v0, float v1, float v2, float v3, long function_pointer); - public static native void glUniform3fARB(int location, float v0, float v1, float v2); + public static void glUniform3fARB(int location, float v0, float v1, float v2) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform3fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3fARB(location, v0, v1, v2, function_pointer); + } + private static native void nglUniform3fARB(int location, float v0, float v1, float v2, long function_pointer); - public static native void glUniform2fARB(int location, float v0, float v1); + public static void glUniform2fARB(int location, float v0, float v1) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform2fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2fARB(location, v0, v1, function_pointer); + } + private static native void nglUniform2fARB(int location, float v0, float v1, long function_pointer); - public static native void glUniform1fARB(int location, float v0); + public static void glUniform1fARB(int location, float v0) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUniform1fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1fARB(location, v0, function_pointer); + } + private static native void nglUniform1fARB(int location, float v0, long function_pointer); - public static native void glValidateProgramARB(int programObj); + public static void glValidateProgramARB(int programObj) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glValidateProgramARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglValidateProgramARB(programObj, function_pointer); + } + private static native void nglValidateProgramARB(int programObj, long function_pointer); - public static native void glUseProgramObjectARB(int programObj); + public static void glUseProgramObjectARB(int programObj) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glUseProgramObjectARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUseProgramObjectARB(programObj, function_pointer); + } + private static native void nglUseProgramObjectARB(int programObj, long function_pointer); - public static native void glLinkProgramARB(int programObj); + public static void glLinkProgramARB(int programObj) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glLinkProgramARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLinkProgramARB(programObj, function_pointer); + } + private static native void nglLinkProgramARB(int programObj, long function_pointer); - public static native void glAttachObjectARB(int containerObj, int obj); + public static void glAttachObjectARB(int containerObj, int obj) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glAttachObjectARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAttachObjectARB(containerObj, obj, function_pointer); + } + private static native void nglAttachObjectARB(int containerObj, int obj, long function_pointer); - public static native int glCreateProgramObjectARB(); + public static int glCreateProgramObjectARB() { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glCreateProgramObjectARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglCreateProgramObjectARB(function_pointer); + return __result; + } + private static native int nglCreateProgramObjectARB(long function_pointer); - public static native void glCompileShaderARB(int shaderObj); + public static void glCompileShaderARB(int shaderObj) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glCompileShaderARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompileShaderARB(shaderObj, function_pointer); + } + private static native void nglCompileShaderARB(int shaderObj, long function_pointer); /** * The ARB_shader_objects extension allows multiple, optionally null-terminated, source strings to define a shader program. @@ -224,15 +335,39 @@ public final class ARBShaderObjects { */ public static void glShaderSourceARB(int shader, ByteBuffer string) { BufferChecks.checkDirect(string); - nglShaderSourceARB(shader, 1, string, string.position(), (string.remaining())); + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glShaderSourceARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglShaderSourceARB(shader, 1, string, string.position(), (string.remaining()), function_pointer); } - private static native void nglShaderSourceARB(int shader, int count, ByteBuffer string, int string_position, int length); + private static native void nglShaderSourceARB(int shader, int count, ByteBuffer string, int string_position, int length, long function_pointer); - public static native int glCreateShaderObjectARB(int shaderType); + public static int glCreateShaderObjectARB(int shaderType) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glCreateShaderObjectARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglCreateShaderObjectARB(shaderType, function_pointer); + return __result; + } + private static native int nglCreateShaderObjectARB(int shaderType, long function_pointer); - public static native void glDetachObjectARB(int containerObj, int attachedObj); + public static void glDetachObjectARB(int containerObj, int attachedObj) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glDetachObjectARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDetachObjectARB(containerObj, attachedObj, function_pointer); + } + private static native void nglDetachObjectARB(int containerObj, int attachedObj, long function_pointer); - public static native int glGetHandleARB(int pname); + public static int glGetHandleARB(int pname) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glGetHandleARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGetHandleARB(pname, function_pointer); + return __result; + } + private static native int nglGetHandleARB(int pname, long function_pointer); - public static native void glDeleteObjectARB(int obj); + public static void glDeleteObjectARB(int obj) { + long function_pointer = GLContext.getCapabilities().ARB_shader_objects_glDeleteObjectARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteObjectARB(obj, function_pointer); + } + private static native void nglDeleteObjectARB(int obj, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBTextureCompression.java b/src/java/org/lwjgl/opengl/ARBTextureCompression.java index e68c4875..cd12ff6d 100644 --- a/src/java/org/lwjgl/opengl/ARBTextureCompression.java +++ b/src/java/org/lwjgl/opengl/ARBTextureCompression.java @@ -27,189 +27,259 @@ public final class ARBTextureCompression { public static void glGetCompressedTexImageARB(int target, int lod, ByteBuffer pImg) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(pImg); - nglGetCompressedTexImageARB(target, lod, pImg, pImg.position()); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glGetCompressedTexImageARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImageARB(target, lod, pImg, pImg.position(), function_pointer); } public static void glGetCompressedTexImageARB(int target, int lod, IntBuffer pImg) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(pImg); - nglGetCompressedTexImageARB(target, lod, pImg, pImg.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glGetCompressedTexImageARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImageARB(target, lod, pImg, pImg.position() << 2, function_pointer); } public static void glGetCompressedTexImageARB(int target, int lod, ShortBuffer pImg) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(pImg); - nglGetCompressedTexImageARB(target, lod, pImg, pImg.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glGetCompressedTexImageARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImageARB(target, lod, pImg, pImg.position() << 1, function_pointer); } public static void glGetCompressedTexImageARB(int target, int lod, FloatBuffer pImg) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(pImg); - nglGetCompressedTexImageARB(target, lod, pImg, pImg.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glGetCompressedTexImageARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImageARB(target, lod, pImg, pImg.position() << 2, function_pointer); } - private static native void nglGetCompressedTexImageARB(int target, int lod, Buffer pImg, int pImg_position); + private static native void nglGetCompressedTexImageARB(int target, int lod, Buffer pImg, int pImg_position, long function_pointer); public static void glGetCompressedTexImageARB(int target, int lod, int pImg_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetCompressedTexImageARBBO(target, lod, pImg_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glGetCompressedTexImageARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImageARBBO(target, lod, pImg_buffer_offset, function_pointer); } - private static native void nglGetCompressedTexImageARBBO(int target, int lod, int pImg_buffer_offset); + private static native void nglGetCompressedTexImageARBBO(int target, int lod, int pImg_buffer_offset, long function_pointer); public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ByteBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position()); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position(), function_pointer); } public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, IntBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position() << 2, function_pointer); } public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ShortBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position() << 1, function_pointer); } public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, FloatBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData, pData.position() << 2, function_pointer); } - private static native void nglCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, Buffer pData, int pData_position); + private static native void nglCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, Buffer pData, int pData_position, long function_pointer); public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int pData_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexSubImage3DARBBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3DARBBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData_buffer_offset, function_pointer); } - private static native void nglCompressedTexSubImage3DARBBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int pData_buffer_offset); + private static native void nglCompressedTexSubImage3DARBBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int pData_buffer_offset, long function_pointer); public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ByteBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position()); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position(), function_pointer); } public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, IntBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position() << 2, function_pointer); } public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ShortBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position() << 1, function_pointer); } public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, FloatBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData, pData.position() << 2, function_pointer); } - private static native void nglCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer pData, int pData_position); + private static native void nglCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer pData, int pData_position, long function_pointer); public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int pData_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexSubImage2DARBBO(target, level, xoffset, yoffset, width, height, format, imageSize, pData_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2DARBBO(target, level, xoffset, yoffset, width, height, format, imageSize, pData_buffer_offset, function_pointer); } - private static native void nglCompressedTexSubImage2DARBBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int pData_buffer_offset); + private static native void nglCompressedTexSubImage2DARBBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int pData_buffer_offset, long function_pointer); public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, ByteBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position()); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position(), function_pointer); } public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, IntBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position() << 2, function_pointer); } public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, ShortBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position() << 1, function_pointer); } public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, FloatBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData, pData.position() << 2, function_pointer); } - private static native void nglCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, Buffer pData, int pData_position); + private static native void nglCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, Buffer pData, int pData_position, long function_pointer); public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, int pData_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexSubImage1DARBBO(target, level, xoffset, width, format, imageSize, pData_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexSubImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1DARBBO(target, level, xoffset, width, format, imageSize, pData_buffer_offset, function_pointer); } - private static native void nglCompressedTexSubImage1DARBBO(int target, int level, int xoffset, int width, int format, int imageSize, int pData_buffer_offset); + private static native void nglCompressedTexSubImage1DARBBO(int target, int level, int xoffset, int width, int format, int imageSize, int pData_buffer_offset, long function_pointer); public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ByteBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position()); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position(), function_pointer); } public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, IntBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position() << 2, function_pointer); } public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ShortBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position() << 1, function_pointer); } public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, FloatBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData, pData.position() << 2, function_pointer); } - private static native void nglCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer pData, int pData_position); + private static native void nglCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer pData, int pData_position, long function_pointer); public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int pData_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexImage3DARBBO(target, level, internalformat, width, height, depth, border, imageSize, pData_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage3DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3DARBBO(target, level, internalformat, width, height, depth, border, imageSize, pData_buffer_offset, function_pointer); } - private static native void nglCompressedTexImage3DARBBO(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int pData_buffer_offset); + private static native void nglCompressedTexImage3DARBBO(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int pData_buffer_offset, long function_pointer); public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, ByteBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position()); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position(), function_pointer); } public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, IntBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position() << 2, function_pointer); } public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position() << 1, function_pointer); } public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, FloatBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData, pData.position() << 2, function_pointer); } - private static native void nglCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer pData, int pData_position); + private static native void nglCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer pData, int pData_position, long function_pointer); public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, int pData_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexImage2DARBBO(target, level, internalformat, width, height, border, imageSize, pData_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage2DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2DARBBO(target, level, internalformat, width, height, border, imageSize, pData_buffer_offset, function_pointer); } - private static native void nglCompressedTexImage2DARBBO(int target, int level, int internalformat, int width, int height, int border, int imageSize, int pData_buffer_offset); + private static native void nglCompressedTexImage2DARBBO(int target, int level, int internalformat, int width, int height, int border, int imageSize, int pData_buffer_offset, long function_pointer); public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, ByteBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position()); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position(), function_pointer); } public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, IntBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position() << 2, function_pointer); } public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, ShortBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position() << 1, function_pointer); } public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, FloatBuffer pData) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(pData); - nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData, pData.position() << 2, function_pointer); } - private static native void nglCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, Buffer pData, int pData_position); + private static native void nglCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, Buffer pData, int pData_position, long function_pointer); public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, int pData_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexImage1DARBBO(target, level, internalformat, width, border, imageSize, pData_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_texture_compression_glCompressedTexImage1DARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1DARBBO(target, level, internalformat, width, border, imageSize, pData_buffer_offset, function_pointer); } - private static native void nglCompressedTexImage1DARBBO(int target, int level, int internalformat, int width, int border, int imageSize, int pData_buffer_offset); + private static native void nglCompressedTexImage1DARBBO(int target, int level, int internalformat, int width, int border, int imageSize, int pData_buffer_offset, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBTransposeMatrix.java b/src/java/org/lwjgl/opengl/ARBTransposeMatrix.java index ee56bd9c..ea189066 100644 --- a/src/java/org/lwjgl/opengl/ARBTransposeMatrix.java +++ b/src/java/org/lwjgl/opengl/ARBTransposeMatrix.java @@ -19,13 +19,17 @@ public final class ARBTransposeMatrix { public static void glMultTransposeMatrixARB(FloatBuffer pfMtx) { BufferChecks.checkBuffer(pfMtx, 16); - nglMultTransposeMatrixfARB(pfMtx, pfMtx.position()); + long function_pointer = GLContext.getCapabilities().ARB_transpose_matrix_glMultTransposeMatrixfARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultTransposeMatrixfARB(pfMtx, pfMtx.position(), function_pointer); } - private static native void nglMultTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_position); + private static native void nglMultTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_position, long function_pointer); public static void glLoadTransposeMatrixARB(FloatBuffer pfMtx) { BufferChecks.checkBuffer(pfMtx, 16); - nglLoadTransposeMatrixfARB(pfMtx, pfMtx.position()); + long function_pointer = GLContext.getCapabilities().ARB_transpose_matrix_glLoadTransposeMatrixfARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadTransposeMatrixfARB(pfMtx, pfMtx.position(), function_pointer); } - private static native void nglLoadTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_position); + private static native void nglLoadTransposeMatrixfARB(FloatBuffer pfMtx, int pfMtx_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBVertexBlend.java b/src/java/org/lwjgl/opengl/ARBVertexBlend.java index 0d86b9b1..b27b77be 100644 --- a/src/java/org/lwjgl/opengl/ARBVertexBlend.java +++ b/src/java/org/lwjgl/opengl/ARBVertexBlend.java @@ -55,74 +55,103 @@ public final class ARBVertexBlend { static native void initNativeStubs() throws LWJGLException; - public static native void glVertexBlendARB(int count); + public static void glVertexBlendARB(int count) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glVertexBlendARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexBlendARB(count, function_pointer); + } + private static native void nglVertexBlendARB(int count, long function_pointer); public static void glWeightPointerARB(int size, boolean unsigned, int stride, ByteBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pPointer, pPointer.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pPointer, pPointer.position(), function_pointer); } public static void glWeightPointerARB(int size, boolean unsigned, int stride, IntBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pPointer, pPointer.position() << 2, function_pointer); } public static void glWeightPointerARB(int size, int stride, FloatBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglWeightPointerARB(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightPointerARB(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position() << 2, function_pointer); } public static void glWeightPointerARB(int size, boolean unsigned, int stride, ShortBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pPointer, pPointer.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightPointerARB(size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pPointer, pPointer.position() << 1, function_pointer); } - private static native void nglWeightPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_position); + private static native void nglWeightPointerARB(int size, int type, int stride, Buffer pPointer, int pPointer_position, long function_pointer); public static void glWeightPointerARB(int size, int type, int stride, int pPointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglWeightPointerARBBO(size, type, stride, pPointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightPointerARBBO(size, type, stride, pPointer_buffer_offset, function_pointer); } - private static native void nglWeightPointerARBBO(int size, int type, int stride, int pPointer_buffer_offset); + private static native void nglWeightPointerARBBO(int size, int type, int stride, int pPointer_buffer_offset, long function_pointer); public static void glWeightuARB(IntBuffer pWeights) { BufferChecks.checkDirect(pWeights); - nglWeightuivARB((pWeights.remaining()), pWeights, pWeights.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightuivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightuivARB((pWeights.remaining()), pWeights, pWeights.position(), function_pointer); } - private static native void nglWeightuivARB(int size, IntBuffer pWeights, int pWeights_position); + private static native void nglWeightuivARB(int size, IntBuffer pWeights, int pWeights_position, long function_pointer); public static void glWeightuARB(ShortBuffer pWeights) { BufferChecks.checkDirect(pWeights); - nglWeightusvARB((pWeights.remaining()), pWeights, pWeights.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightusvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightusvARB((pWeights.remaining()), pWeights, pWeights.position(), function_pointer); } - private static native void nglWeightusvARB(int size, ShortBuffer pWeights, int pWeights_position); + private static native void nglWeightusvARB(int size, ShortBuffer pWeights, int pWeights_position, long function_pointer); public static void glWeightuARB(ByteBuffer pWeights) { BufferChecks.checkDirect(pWeights); - nglWeightubvARB((pWeights.remaining()), pWeights, pWeights.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightubvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightubvARB((pWeights.remaining()), pWeights, pWeights.position(), function_pointer); } - private static native void nglWeightubvARB(int size, ByteBuffer pWeights, int pWeights_position); + private static native void nglWeightubvARB(int size, ByteBuffer pWeights, int pWeights_position, long function_pointer); public static void glWeightARB(FloatBuffer pWeights) { BufferChecks.checkDirect(pWeights); - nglWeightfvARB((pWeights.remaining()), pWeights, pWeights.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightfvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightfvARB((pWeights.remaining()), pWeights, pWeights.position(), function_pointer); } - private static native void nglWeightfvARB(int size, FloatBuffer pWeights, int pWeights_position); + private static native void nglWeightfvARB(int size, FloatBuffer pWeights, int pWeights_position, long function_pointer); public static void glWeightARB(IntBuffer pWeights) { BufferChecks.checkDirect(pWeights); - nglWeightivARB((pWeights.remaining()), pWeights, pWeights.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightivARB((pWeights.remaining()), pWeights, pWeights.position(), function_pointer); } - private static native void nglWeightivARB(int size, IntBuffer pWeights, int pWeights_position); + private static native void nglWeightivARB(int size, IntBuffer pWeights, int pWeights_position, long function_pointer); public static void glWeightARB(ShortBuffer pWeights) { BufferChecks.checkDirect(pWeights); - nglWeightsvARB((pWeights.remaining()), pWeights, pWeights.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightsvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightsvARB((pWeights.remaining()), pWeights, pWeights.position(), function_pointer); } - private static native void nglWeightsvARB(int size, ShortBuffer pWeights, int pWeights_position); + private static native void nglWeightsvARB(int size, ShortBuffer pWeights, int pWeights_position, long function_pointer); public static void glWeightARB(ByteBuffer pWeights) { BufferChecks.checkDirect(pWeights); - nglWeightbvARB((pWeights.remaining()), pWeights, pWeights.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_blend_glWeightbvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWeightbvARB((pWeights.remaining()), pWeights, pWeights.position(), function_pointer); } - private static native void nglWeightbvARB(int size, ByteBuffer pWeights, int pWeights_position); + private static native void nglWeightbvARB(int size, ByteBuffer pWeights, int pWeights_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBVertexProgram.java b/src/java/org/lwjgl/opengl/ARBVertexProgram.java index c90cab77..28c0be7c 100644 --- a/src/java/org/lwjgl/opengl/ARBVertexProgram.java +++ b/src/java/org/lwjgl/opengl/ARBVertexProgram.java @@ -30,69 +30,140 @@ public final class ARBVertexProgram extends ARBProgram { static native void initNativeStubs() throws LWJGLException; public static java.nio.ByteBuffer glGetVertexAttribPointerARB(int index, int pname, int result_size) { - java.nio.ByteBuffer __result = nglGetVertexAttribPointervARB(index, pname, result_size); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glGetVertexAttribPointervARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetVertexAttribPointervARB(index, pname, result_size, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglGetVertexAttribPointervARB(int index, int pname, int result_size); + private static native java.nio.ByteBuffer nglGetVertexAttribPointervARB(int index, int pname, int result_size, long function_pointer); public static void glGetVertexAttribARB(int index, int pname, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetVertexAttribivARB(index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glGetVertexAttribivARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribivARB(index, pname, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribivARB(int index, int pname, IntBuffer params, int params_position); + private static native void nglGetVertexAttribivARB(int index, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetVertexAttribARB(int index, int pname, FloatBuffer params) { BufferChecks.checkDirect(params); - nglGetVertexAttribfvARB(index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glGetVertexAttribfvARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribfvARB(index, pname, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribfvARB(int index, int pname, FloatBuffer params, int params_position); + private static native void nglGetVertexAttribfvARB(int index, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glDisableVertexAttribArrayARB(int index); + public static void glDisableVertexAttribArrayARB(int index) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glDisableVertexAttribArrayARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDisableVertexAttribArrayARB(index, function_pointer); + } + private static native void nglDisableVertexAttribArrayARB(int index, long function_pointer); - public static native void glEnableVertexAttribArrayARB(int index); + public static void glEnableVertexAttribArrayARB(int index) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glEnableVertexAttribArrayARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnableVertexAttribArrayARB(index, function_pointer); + } + private static native void nglEnableVertexAttribArrayARB(int index, long function_pointer); public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ByteBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, normalized, stride, buffer, buffer.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttribPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, normalized, stride, buffer, buffer.position(), function_pointer); } public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, IntBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, normalized, stride, buffer, buffer.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttribPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, normalized, stride, buffer, buffer.position() << 2, function_pointer); } public static void glVertexAttribPointerARB(int index, int size, boolean normalized, int stride, FloatBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointerARB(index, size, GL11.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttribPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerARB(index, size, GL11.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2, function_pointer); } public static void glVertexAttribPointerARB(int index, int size, boolean unsigned, boolean normalized, int stride, ShortBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, normalized, stride, buffer, buffer.position() << 1); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttribPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerARB(index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, normalized, stride, buffer, buffer.position() << 1, function_pointer); } - private static native void nglVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, Buffer buffer, int buffer_position); + private static native void nglVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, Buffer buffer, int buffer_position, long function_pointer); public static void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, int buffer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglVertexAttribPointerARBBO(index, size, type, normalized, stride, buffer_buffer_offset); + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttribPointerARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerARBBO(index, size, type, normalized, stride, buffer_buffer_offset, function_pointer); } - private static native void nglVertexAttribPointerARBBO(int index, int size, int type, boolean normalized, int stride, int buffer_buffer_offset); + private static native void nglVertexAttribPointerARBBO(int index, int size, int type, boolean normalized, int stride, int buffer_buffer_offset, long function_pointer); - public static native void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w); + public static void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib4NubARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4NubARB(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w, long function_pointer); - public static native void glVertexAttrib4fARB(int index, float x, float y, float z, float w); + public static void glVertexAttrib4fARB(int index, float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib4fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4fARB(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4fARB(int index, float x, float y, float z, float w, long function_pointer); - public static native void glVertexAttrib4sARB(int index, short x, short y, short z, short w); + public static void glVertexAttrib4sARB(int index, short x, short y, short z, short w) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib4sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4sARB(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4sARB(int index, short x, short y, short z, short w, long function_pointer); - public static native void glVertexAttrib3fARB(int index, float x, float y, float z); + public static void glVertexAttrib3fARB(int index, float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib3fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib3fARB(index, x, y, z, function_pointer); + } + private static native void nglVertexAttrib3fARB(int index, float x, float y, float z, long function_pointer); - public static native void glVertexAttrib3sARB(int index, short x, short y, short z); + public static void glVertexAttrib3sARB(int index, short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib3sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib3sARB(index, x, y, z, function_pointer); + } + private static native void nglVertexAttrib3sARB(int index, short x, short y, short z, long function_pointer); - public static native void glVertexAttrib2fARB(int index, float x, float y); + public static void glVertexAttrib2fARB(int index, float x, float y) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib2fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib2fARB(index, x, y, function_pointer); + } + private static native void nglVertexAttrib2fARB(int index, float x, float y, long function_pointer); - public static native void glVertexAttrib2sARB(int index, short x, short y); + public static void glVertexAttrib2sARB(int index, short x, short y) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib2sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib2sARB(index, x, y, function_pointer); + } + private static native void nglVertexAttrib2sARB(int index, short x, short y, long function_pointer); - public static native void glVertexAttrib1fARB(int index, float x); + public static void glVertexAttrib1fARB(int index, float x) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib1fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib1fARB(index, x, function_pointer); + } + private static native void nglVertexAttrib1fARB(int index, float x, long function_pointer); - public static native void glVertexAttrib1sARB(int index, short x); + public static void glVertexAttrib1sARB(int index, short x) { + long function_pointer = GLContext.getCapabilities().ARB_vertex_program_glVertexAttrib1sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib1sARB(index, x, function_pointer); + } + private static native void nglVertexAttrib1sARB(int index, short x, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBVertexShader.java b/src/java/org/lwjgl/opengl/ARBVertexShader.java index 03705bdd..11ca1df6 100644 --- a/src/java/org/lwjgl/opengl/ARBVertexShader.java +++ b/src/java/org/lwjgl/opengl/ARBVertexShader.java @@ -42,10 +42,12 @@ public final class ARBVertexShader { public static int glGetAttribLocationARB(int programObj, ByteBuffer name) { BufferChecks.checkDirect(name); BufferChecks.checkNullTerminated(name); - int __result = nglGetAttribLocationARB(programObj, name, name.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_shader_glGetAttribLocationARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGetAttribLocationARB(programObj, name, name.position(), function_pointer); return __result; } - private static native int nglGetAttribLocationARB(int programObj, ByteBuffer name, int name_position); + private static native int nglGetAttribLocationARB(int programObj, ByteBuffer name, int name_position, long function_pointer); public static void glGetActiveAttribARB(int programObj, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name) { if (length != null) @@ -53,14 +55,18 @@ public final class ARBVertexShader { BufferChecks.checkBuffer(size, 1); BufferChecks.checkBuffer(type, 1); BufferChecks.checkDirect(name); - nglGetActiveAttribARB(programObj, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_shader_glGetActiveAttribARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetActiveAttribARB(programObj, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position(), function_pointer); } - private static native void nglGetActiveAttribARB(int programObj, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position); + private static native void nglGetActiveAttribARB(int programObj, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position, long function_pointer); public static void glBindAttribLocationARB(int programObj, int index, ByteBuffer name) { BufferChecks.checkDirect(name); BufferChecks.checkNullTerminated(name); - nglBindAttribLocationARB(programObj, index, name, name.position()); + long function_pointer = GLContext.getCapabilities().ARB_vertex_shader_glBindAttribLocationARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindAttribLocationARB(programObj, index, name, name.position(), function_pointer); } - private static native void nglBindAttribLocationARB(int programObj, int index, ByteBuffer name, int name_position); + private static native void nglBindAttribLocationARB(int programObj, int index, ByteBuffer name, int name_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ARBWindowPos.java b/src/java/org/lwjgl/opengl/ARBWindowPos.java index 69c4b2fd..899a1b40 100644 --- a/src/java/org/lwjgl/opengl/ARBWindowPos.java +++ b/src/java/org/lwjgl/opengl/ARBWindowPos.java @@ -13,15 +13,45 @@ public final class ARBWindowPos { static native void initNativeStubs() throws LWJGLException; - public static native void glWindowPos3sARB(short x, short y, short z); + public static void glWindowPos3sARB(short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().ARB_window_pos_glWindowPos3sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos3sARB(x, y, z, function_pointer); + } + private static native void nglWindowPos3sARB(short x, short y, short z, long function_pointer); - public static native void glWindowPos3iARB(int x, int y, int z); + public static void glWindowPos3iARB(int x, int y, int z) { + long function_pointer = GLContext.getCapabilities().ARB_window_pos_glWindowPos3iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos3iARB(x, y, z, function_pointer); + } + private static native void nglWindowPos3iARB(int x, int y, int z, long function_pointer); - public static native void glWindowPos3fARB(float x, float y, float z); + public static void glWindowPos3fARB(float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().ARB_window_pos_glWindowPos3fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos3fARB(x, y, z, function_pointer); + } + private static native void nglWindowPos3fARB(float x, float y, float z, long function_pointer); - public static native void glWindowPos2sARB(short x, short y); + public static void glWindowPos2sARB(short x, short y) { + long function_pointer = GLContext.getCapabilities().ARB_window_pos_glWindowPos2sARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos2sARB(x, y, function_pointer); + } + private static native void nglWindowPos2sARB(short x, short y, long function_pointer); - public static native void glWindowPos2iARB(int x, int y); + public static void glWindowPos2iARB(int x, int y) { + long function_pointer = GLContext.getCapabilities().ARB_window_pos_glWindowPos2iARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos2iARB(x, y, function_pointer); + } + private static native void nglWindowPos2iARB(int x, int y, long function_pointer); - public static native void glWindowPos2fARB(float x, float y); + public static void glWindowPos2fARB(float x, float y) { + long function_pointer = GLContext.getCapabilities().ARB_window_pos_glWindowPos2fARB_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos2fARB(x, y, function_pointer); + } + private static native void nglWindowPos2fARB(float x, float y, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIDrawBuffers.java b/src/java/org/lwjgl/opengl/ATIDrawBuffers.java index 0f037bb1..c01b829b 100644 --- a/src/java/org/lwjgl/opengl/ATIDrawBuffers.java +++ b/src/java/org/lwjgl/opengl/ATIDrawBuffers.java @@ -32,7 +32,9 @@ public final class ATIDrawBuffers { public static void glDrawBuffersATI(IntBuffer buffers) { BufferChecks.checkDirect(buffers); - nglDrawBuffersATI((buffers.remaining()), buffers, buffers.position()); + long function_pointer = GLContext.getCapabilities().ATI_draw_buffers_glDrawBuffersATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawBuffersATI((buffers.remaining()), buffers, buffers.position(), function_pointer); } - private static native void nglDrawBuffersATI(int size, IntBuffer buffers, int buffers_position); + private static native void nglDrawBuffersATI(int size, IntBuffer buffers, int buffers_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIElementArray.java b/src/java/org/lwjgl/opengl/ATIElementArray.java index 97bc2752..f55489fd 100644 --- a/src/java/org/lwjgl/opengl/ATIElementArray.java +++ b/src/java/org/lwjgl/opengl/ATIElementArray.java @@ -16,29 +16,47 @@ public final class ATIElementArray { static native void initNativeStubs() throws LWJGLException; - public static native void glDrawRangeElementArrayATI(int mode, int start, int end, int count); + public static void glDrawRangeElementArrayATI(int mode, int start, int end, int count) { + long function_pointer = GLContext.getCapabilities().ATI_element_array_glDrawRangeElementArrayATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElementArrayATI(mode, start, end, count, function_pointer); + } + private static native void nglDrawRangeElementArrayATI(int mode, int start, int end, int count, long function_pointer); - public static native void glDrawElementArrayATI(int mode, int count); + public static void glDrawElementArrayATI(int mode, int count) { + long function_pointer = GLContext.getCapabilities().ATI_element_array_glDrawElementArrayATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawElementArrayATI(mode, count, function_pointer); + } + private static native void nglDrawElementArrayATI(int mode, int count, long function_pointer); public static void glElementPointerATI(IntBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglElementPointerATI(GL11.GL_UNSIGNED_INT, pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().ATI_element_array_glElementPointerATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglElementPointerATI(GL11.GL_UNSIGNED_INT, pPointer, pPointer.position() << 2, function_pointer); } public static void glElementPointerATI(ByteBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglElementPointerATI(GL11.GL_UNSIGNED_BYTE, pPointer, pPointer.position()); + long function_pointer = GLContext.getCapabilities().ATI_element_array_glElementPointerATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglElementPointerATI(GL11.GL_UNSIGNED_BYTE, pPointer, pPointer.position(), function_pointer); } public static void glElementPointerATI(ShortBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglElementPointerATI(GL11.GL_UNSIGNED_SHORT, pPointer, pPointer.position() << 1); + long function_pointer = GLContext.getCapabilities().ATI_element_array_glElementPointerATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglElementPointerATI(GL11.GL_UNSIGNED_SHORT, pPointer, pPointer.position() << 1, function_pointer); } - private static native void nglElementPointerATI(int type, Buffer pPointer, int pPointer_position); + private static native void nglElementPointerATI(int type, Buffer pPointer, int pPointer_position, long function_pointer); public static void glElementPointerATI(int type, int pPointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglElementPointerATIBO(type, pPointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().ATI_element_array_glElementPointerATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglElementPointerATIBO(type, pPointer_buffer_offset, function_pointer); } - private static native void nglElementPointerATIBO(int type, int pPointer_buffer_offset); + private static native void nglElementPointerATIBO(int type, int pPointer_buffer_offset, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIEnvmapBumpmap.java b/src/java/org/lwjgl/opengl/ATIEnvmapBumpmap.java index b7e300bf..3ce56c1a 100644 --- a/src/java/org/lwjgl/opengl/ATIEnvmapBumpmap.java +++ b/src/java/org/lwjgl/opengl/ATIEnvmapBumpmap.java @@ -23,25 +23,33 @@ public final class ATIEnvmapBumpmap { public static void glGetTexBumpParameterATI(int pname, IntBuffer param) { BufferChecks.checkBuffer(param, 4); - nglGetTexBumpParameterivATI(pname, param, param.position()); + long function_pointer = GLContext.getCapabilities().ATI_envmap_bumpmap_glGetTexBumpParameterivATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexBumpParameterivATI(pname, param, param.position(), function_pointer); } - private static native void nglGetTexBumpParameterivATI(int pname, IntBuffer param, int param_position); + private static native void nglGetTexBumpParameterivATI(int pname, IntBuffer param, int param_position, long function_pointer); public static void glGetTexBumpParameterATI(int pname, FloatBuffer param) { BufferChecks.checkBuffer(param, 4); - nglGetTexBumpParameterfvATI(pname, param, param.position()); + long function_pointer = GLContext.getCapabilities().ATI_envmap_bumpmap_glGetTexBumpParameterfvATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexBumpParameterfvATI(pname, param, param.position(), function_pointer); } - private static native void nglGetTexBumpParameterfvATI(int pname, FloatBuffer param, int param_position); + private static native void nglGetTexBumpParameterfvATI(int pname, FloatBuffer param, int param_position, long function_pointer); public static void glTexBumpParameterATI(int pname, IntBuffer param) { BufferChecks.checkBuffer(param, 4); - nglTexBumpParameterivATI(pname, param, param.position()); + long function_pointer = GLContext.getCapabilities().ATI_envmap_bumpmap_glTexBumpParameterivATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexBumpParameterivATI(pname, param, param.position(), function_pointer); } - private static native void nglTexBumpParameterivATI(int pname, IntBuffer param, int param_position); + private static native void nglTexBumpParameterivATI(int pname, IntBuffer param, int param_position, long function_pointer); public static void glTexBumpParameterATI(int pname, FloatBuffer param) { BufferChecks.checkBuffer(param, 4); - nglTexBumpParameterfvATI(pname, param, param.position()); + long function_pointer = GLContext.getCapabilities().ATI_envmap_bumpmap_glTexBumpParameterfvATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexBumpParameterfvATI(pname, param, param.position(), function_pointer); } - private static native void nglTexBumpParameterfvATI(int pname, FloatBuffer param, int param_position); + private static native void nglTexBumpParameterfvATI(int pname, FloatBuffer param, int param_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIFragmentShader.java b/src/java/org/lwjgl/opengl/ATIFragmentShader.java index d5532bf6..73c1e31c 100644 --- a/src/java/org/lwjgl/opengl/ATIFragmentShader.java +++ b/src/java/org/lwjgl/opengl/ATIFragmentShader.java @@ -119,33 +119,101 @@ public final class ATIFragmentShader { public static void glSetFragmentShaderConstantATI(int dst, FloatBuffer pfValue) { BufferChecks.checkBuffer(pfValue, 4); - nglSetFragmentShaderConstantATI(dst, pfValue, pfValue.position()); + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glSetFragmentShaderConstantATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetFragmentShaderConstantATI(dst, pfValue, pfValue.position(), function_pointer); } - private static native void nglSetFragmentShaderConstantATI(int dst, FloatBuffer pfValue, int pfValue_position); + private static native void nglSetFragmentShaderConstantATI(int dst, FloatBuffer pfValue, int pfValue_position, long function_pointer); - public static native void glAlphaFragmentOp3ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod); + public static void glAlphaFragmentOp3ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glAlphaFragmentOp3ATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod, function_pointer); + } + private static native void nglAlphaFragmentOp3ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod, long function_pointer); - public static native void glAlphaFragmentOp2ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod); + public static void glAlphaFragmentOp2ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glAlphaFragmentOp2ATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, function_pointer); + } + private static native void nglAlphaFragmentOp2ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, long function_pointer); - public static native void glAlphaFragmentOp1ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod); + public static void glAlphaFragmentOp1ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glAlphaFragmentOp1ATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, function_pointer); + } + private static native void nglAlphaFragmentOp1ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, long function_pointer); - public static native void glColorFragmentOp3ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod); + public static void glColorFragmentOp3ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glColorFragmentOp3ATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod, function_pointer); + } + private static native void nglColorFragmentOp3ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, int arg3, int arg3Rep, int arg3Mod, long function_pointer); - public static native void glColorFragmentOp2ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod); + public static void glColorFragmentOp2ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glColorFragmentOp2ATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, function_pointer); + } + private static native void nglColorFragmentOp2ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod, long function_pointer); - public static native void glColorFragmentOp1ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod); + public static void glColorFragmentOp1ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glColorFragmentOp1ATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, function_pointer); + } + private static native void nglColorFragmentOp1ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, long function_pointer); - public static native void glSampleMapATI(int dst, int interp, int swizzle); + public static void glSampleMapATI(int dst, int interp, int swizzle) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glSampleMapATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSampleMapATI(dst, interp, swizzle, function_pointer); + } + private static native void nglSampleMapATI(int dst, int interp, int swizzle, long function_pointer); - public static native void glPassTexCoordATI(int dst, int coord, int swizzle); + public static void glPassTexCoordATI(int dst, int coord, int swizzle) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glPassTexCoordATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPassTexCoordATI(dst, coord, swizzle, function_pointer); + } + private static native void nglPassTexCoordATI(int dst, int coord, int swizzle, long function_pointer); - public static native void glEndFragmentShaderATI(); + public static void glEndFragmentShaderATI() { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glEndFragmentShaderATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEndFragmentShaderATI(function_pointer); + } + private static native void nglEndFragmentShaderATI(long function_pointer); - public static native void glBeginFragmentShaderATI(); + public static void glBeginFragmentShaderATI() { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glBeginFragmentShaderATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBeginFragmentShaderATI(function_pointer); + } + private static native void nglBeginFragmentShaderATI(long function_pointer); - public static native void glDeleteFragmentShaderATI(int id); + public static void glDeleteFragmentShaderATI(int id) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glDeleteFragmentShaderATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteFragmentShaderATI(id, function_pointer); + } + private static native void nglDeleteFragmentShaderATI(int id, long function_pointer); - public static native void glBindFragmentShaderATI(int id); + public static void glBindFragmentShaderATI(int id) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glBindFragmentShaderATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindFragmentShaderATI(id, function_pointer); + } + private static native void nglBindFragmentShaderATI(int id, long function_pointer); - public static native int glGenFragmentShadersATI(int range); + public static int glGenFragmentShadersATI(int range) { + long function_pointer = GLContext.getCapabilities().ATI_fragment_shader_glGenFragmentShadersATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGenFragmentShadersATI(range, function_pointer); + return __result; + } + private static native int nglGenFragmentShadersATI(int range, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIMapObjectBuffer.java b/src/java/org/lwjgl/opengl/ATIMapObjectBuffer.java index 3d2d723a..9b091a23 100644 --- a/src/java/org/lwjgl/opengl/ATIMapObjectBuffer.java +++ b/src/java/org/lwjgl/opengl/ATIMapObjectBuffer.java @@ -13,7 +13,12 @@ public final class ATIMapObjectBuffer { static native void initNativeStubs() throws LWJGLException; - public static native void glUnmapObjectBufferATI(int buffer); + public static void glUnmapObjectBufferATI(int buffer) { + long function_pointer = GLContext.getCapabilities().ATI_map_object_buffer_glUnmapObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUnmapObjectBufferATI(buffer, function_pointer); + } + private static native void nglUnmapObjectBufferATI(int buffer, long function_pointer); /** * glMapObjectBufferATI maps a gl object buffer to a ByteBuffer. The oldBuffer argument can be @@ -29,8 +34,10 @@ public final class ATIMapObjectBuffer { public static java.nio.ByteBuffer glMapObjectBufferATI(int buffer, int result_size, java.nio.ByteBuffer old_buffer) { if (old_buffer != null) BufferChecks.checkDirect(old_buffer); - java.nio.ByteBuffer __result = nglMapObjectBufferATI(buffer, result_size, old_buffer); + long function_pointer = GLContext.getCapabilities().ATI_map_object_buffer_glMapObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglMapObjectBufferATI(buffer, result_size, old_buffer, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglMapObjectBufferATI(int buffer, int result_size, java.nio.ByteBuffer old_buffer); + private static native java.nio.ByteBuffer nglMapObjectBufferATI(int buffer, int result_size, java.nio.ByteBuffer old_buffer, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIPnTriangles.java b/src/java/org/lwjgl/opengl/ATIPnTriangles.java index bcdf262d..9ba080d8 100644 --- a/src/java/org/lwjgl/opengl/ATIPnTriangles.java +++ b/src/java/org/lwjgl/opengl/ATIPnTriangles.java @@ -22,7 +22,17 @@ public final class ATIPnTriangles { static native void initNativeStubs() throws LWJGLException; - public static native void glPNTrianglesiATI(int pname, int param); + public static void glPNTrianglesiATI(int pname, int param) { + long function_pointer = GLContext.getCapabilities().ATI_pn_triangles_glPNTrianglesiATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPNTrianglesiATI(pname, param, function_pointer); + } + private static native void nglPNTrianglesiATI(int pname, int param, long function_pointer); - public static native void glPNTrianglesfATI(int pname, float param); + public static void glPNTrianglesfATI(int pname, float param) { + long function_pointer = GLContext.getCapabilities().ATI_pn_triangles_glPNTrianglesfATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPNTrianglesfATI(pname, param, function_pointer); + } + private static native void nglPNTrianglesfATI(int pname, float param, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATISeparateStencil.java b/src/java/org/lwjgl/opengl/ATISeparateStencil.java index a2fb33d3..c89a4206 100644 --- a/src/java/org/lwjgl/opengl/ATISeparateStencil.java +++ b/src/java/org/lwjgl/opengl/ATISeparateStencil.java @@ -17,7 +17,17 @@ public final class ATISeparateStencil { static native void initNativeStubs() throws LWJGLException; - public static native void glStencilFuncSeparateATI(int frontfunc, int backfunc, int ref, int mask); + public static void glStencilFuncSeparateATI(int frontfunc, int backfunc, int ref, int mask) { + long function_pointer = GLContext.getCapabilities().ATI_separate_stencil_glStencilFuncSeparateATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilFuncSeparateATI(frontfunc, backfunc, ref, mask, function_pointer); + } + private static native void nglStencilFuncSeparateATI(int frontfunc, int backfunc, int ref, int mask, long function_pointer); - public static native void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass); + public static void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass) { + long function_pointer = GLContext.getCapabilities().ATI_separate_stencil_glStencilOpSeparateATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilOpSeparateATI(face, sfail, dpfail, dppass, function_pointer); + } + private static native void nglStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIVertexArrayObject.java b/src/java/org/lwjgl/opengl/ATIVertexArrayObject.java index 28692fcd..bfe9b38d 100644 --- a/src/java/org/lwjgl/opengl/ATIVertexArrayObject.java +++ b/src/java/org/lwjgl/opengl/ATIVertexArrayObject.java @@ -23,89 +23,140 @@ public final class ATIVertexArrayObject { public static void glGetVariantArrayObjectATI(int id, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVariantArrayObjectivATI(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glGetVariantArrayObjectivATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVariantArrayObjectivATI(id, pname, params, params.position(), function_pointer); } - private static native void nglGetVariantArrayObjectivATI(int id, int pname, IntBuffer params, int params_position); + private static native void nglGetVariantArrayObjectivATI(int id, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetVariantArrayObjectATI(int id, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVariantArrayObjectfvATI(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glGetVariantArrayObjectfvATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVariantArrayObjectfvATI(id, pname, params, params.position(), function_pointer); } - private static native void nglGetVariantArrayObjectfvATI(int id, int pname, FloatBuffer params, int params_position); + private static native void nglGetVariantArrayObjectfvATI(int id, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glVariantArrayObjectATI(int id, int type, int stride, int buffer, int offset); + public static void glVariantArrayObjectATI(int id, int type, int stride, int buffer, int offset) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glVariantArrayObjectATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantArrayObjectATI(id, type, stride, buffer, offset, function_pointer); + } + private static native void nglVariantArrayObjectATI(int id, int type, int stride, int buffer, int offset, long function_pointer); public static void glGetArrayObjectATI(int array, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetArrayObjectivATI(array, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glGetArrayObjectivATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetArrayObjectivATI(array, pname, params, params.position(), function_pointer); } - private static native void nglGetArrayObjectivATI(int array, int pname, IntBuffer params, int params_position); + private static native void nglGetArrayObjectivATI(int array, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetArrayObjectATI(int array, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetArrayObjectfvATI(array, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glGetArrayObjectfvATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetArrayObjectfvATI(array, pname, params, params.position(), function_pointer); } - private static native void nglGetArrayObjectfvATI(int array, int pname, FloatBuffer params, int params_position); + private static native void nglGetArrayObjectfvATI(int array, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glArrayObjectATI(int array, int size, int type, int stride, int buffer, int offset); + public static void glArrayObjectATI(int array, int size, int type, int stride, int buffer, int offset) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glArrayObjectATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglArrayObjectATI(array, size, type, stride, buffer, offset, function_pointer); + } + private static native void nglArrayObjectATI(int array, int size, int type, int stride, int buffer, int offset, long function_pointer); - public static native void glFreeObjectBufferATI(int buffer); + public static void glFreeObjectBufferATI(int buffer) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glFreeObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFreeObjectBufferATI(buffer, function_pointer); + } + private static native void nglFreeObjectBufferATI(int buffer, long function_pointer); public static void glGetObjectBufferATI(int buffer, int pname, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetObjectBufferivATI(buffer, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glGetObjectBufferivATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetObjectBufferivATI(buffer, pname, params, params.position(), function_pointer); } - private static native void nglGetObjectBufferivATI(int buffer, int pname, IntBuffer params, int params_position); + private static native void nglGetObjectBufferivATI(int buffer, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetObjectBufferATI(int buffer, int pname, FloatBuffer params) { BufferChecks.checkDirect(params); - nglGetObjectBufferfvATI(buffer, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glGetObjectBufferfvATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetObjectBufferfvATI(buffer, pname, params, params.position(), function_pointer); } - private static native void nglGetObjectBufferfvATI(int buffer, int pname, FloatBuffer params, int params_position); + private static native void nglGetObjectBufferfvATI(int buffer, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glUpdateObjectBufferATI(int buffer, int offset, IntBuffer pPointer, int preserve) { BufferChecks.checkDirect(pPointer); - nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining() << 2), pPointer, pPointer.position() << 2, preserve); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glUpdateObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining() << 2), pPointer, pPointer.position() << 2, preserve, function_pointer); } public static void glUpdateObjectBufferATI(int buffer, int offset, FloatBuffer pPointer, int preserve) { BufferChecks.checkDirect(pPointer); - nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining() << 2), pPointer, pPointer.position() << 2, preserve); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glUpdateObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining() << 2), pPointer, pPointer.position() << 2, preserve, function_pointer); } public static void glUpdateObjectBufferATI(int buffer, int offset, ShortBuffer pPointer, int preserve) { BufferChecks.checkDirect(pPointer); - nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining() << 1), pPointer, pPointer.position() << 1, preserve); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glUpdateObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining() << 1), pPointer, pPointer.position() << 1, preserve, function_pointer); } public static void glUpdateObjectBufferATI(int buffer, int offset, ByteBuffer pPointer, int preserve) { BufferChecks.checkDirect(pPointer); - nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining()), pPointer, pPointer.position(), preserve); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glUpdateObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUpdateObjectBufferATI(buffer, offset, (pPointer.remaining()), pPointer, pPointer.position(), preserve, function_pointer); } - private static native void nglUpdateObjectBufferATI(int buffer, int offset, int size, Buffer pPointer, int pPointer_position, int preserve); + private static native void nglUpdateObjectBufferATI(int buffer, int offset, int size, Buffer pPointer, int pPointer_position, int preserve, long function_pointer); - public static native boolean glIsObjectBufferATI(int buffer); + public static boolean glIsObjectBufferATI(int buffer) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glIsObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsObjectBufferATI(buffer, function_pointer); + return __result; + } + private static native boolean nglIsObjectBufferATI(int buffer, long function_pointer); public static int glNewObjectBufferATI(int size, int usage) { - int __result = nglNewObjectBufferATI(size, null, 0, usage); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glNewObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglNewObjectBufferATI(size, null, 0, usage, function_pointer); return __result; } public static int glNewObjectBufferATI(IntBuffer pPointer, int usage) { BufferChecks.checkDirect(pPointer); - int __result = nglNewObjectBufferATI((pPointer.remaining() << 2), pPointer, pPointer.position() << 2, usage); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glNewObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglNewObjectBufferATI((pPointer.remaining() << 2), pPointer, pPointer.position() << 2, usage, function_pointer); return __result; } public static int glNewObjectBufferATI(FloatBuffer pPointer, int usage) { BufferChecks.checkDirect(pPointer); - int __result = nglNewObjectBufferATI((pPointer.remaining() << 2), pPointer, pPointer.position() << 2, usage); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glNewObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglNewObjectBufferATI((pPointer.remaining() << 2), pPointer, pPointer.position() << 2, usage, function_pointer); return __result; } public static int glNewObjectBufferATI(ShortBuffer pPointer, int usage) { BufferChecks.checkDirect(pPointer); - int __result = nglNewObjectBufferATI((pPointer.remaining() << 1), pPointer, pPointer.position() << 1, usage); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glNewObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglNewObjectBufferATI((pPointer.remaining() << 1), pPointer, pPointer.position() << 1, usage, function_pointer); return __result; } public static int glNewObjectBufferATI(ByteBuffer pPointer, int usage) { BufferChecks.checkDirect(pPointer); - int __result = nglNewObjectBufferATI((pPointer.remaining()), pPointer, pPointer.position(), usage); + long function_pointer = GLContext.getCapabilities().ATI_vertex_array_object_glNewObjectBufferATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglNewObjectBufferATI((pPointer.remaining()), pPointer, pPointer.position(), usage, function_pointer); return __result; } - private static native int nglNewObjectBufferATI(int size, Buffer pPointer, int pPointer_position, int usage); + private static native int nglNewObjectBufferATI(int size, Buffer pPointer, int pPointer_position, int usage, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIVertexAttribArrayObject.java b/src/java/org/lwjgl/opengl/ATIVertexAttribArrayObject.java index 3aca147f..5e549686 100644 --- a/src/java/org/lwjgl/opengl/ATIVertexAttribArrayObject.java +++ b/src/java/org/lwjgl/opengl/ATIVertexAttribArrayObject.java @@ -15,15 +15,24 @@ public final class ATIVertexAttribArrayObject { public static void glGetVertexAttribArrayObjectATI(int index, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVertexAttribArrayObjectivATI(index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_attrib_array_object_glGetVertexAttribArrayObjectivATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribArrayObjectivATI(index, pname, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribArrayObjectivATI(int index, int pname, IntBuffer params, int params_position); + private static native void nglGetVertexAttribArrayObjectivATI(int index, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetVertexAttribArrayObjectATI(int index, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVertexAttribArrayObjectfvATI(index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().ATI_vertex_attrib_array_object_glGetVertexAttribArrayObjectfvATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribArrayObjectfvATI(index, pname, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribArrayObjectfvATI(int index, int pname, FloatBuffer params, int params_position); + private static native void nglGetVertexAttribArrayObjectfvATI(int index, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glVertexAttribArrayObjectATI(int index, int size, int type, boolean normalized, int stride, int buffer, int offset); + public static void glVertexAttribArrayObjectATI(int index, int size, int type, boolean normalized, int stride, int buffer, int offset) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_attrib_array_object_glVertexAttribArrayObjectATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribArrayObjectATI(index, size, type, normalized, stride, buffer, offset, function_pointer); + } + private static native void nglVertexAttribArrayObjectATI(int index, int size, int type, boolean normalized, int stride, int buffer, int offset, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ATIVertexStreams.java b/src/java/org/lwjgl/opengl/ATIVertexStreams.java index b114772f..5d65f1fe 100644 --- a/src/java/org/lwjgl/opengl/ATIVertexStreams.java +++ b/src/java/org/lwjgl/opengl/ATIVertexStreams.java @@ -23,35 +23,115 @@ public final class ATIVertexStreams { static native void initNativeStubs() throws LWJGLException; - public static native void glVertexBlendEnviATI(int pname, int param); + public static void glVertexBlendEnviATI(int pname, int param) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexBlendEnviATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexBlendEnviATI(pname, param, function_pointer); + } + private static native void nglVertexBlendEnviATI(int pname, int param, long function_pointer); - public static native void glVertexBlendEnvfATI(int pname, float param); + public static void glVertexBlendEnvfATI(int pname, float param) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexBlendEnvfATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexBlendEnvfATI(pname, param, function_pointer); + } + private static native void nglVertexBlendEnvfATI(int pname, float param, long function_pointer); - public static native void glClientActiveVertexStreamATI(int stream); + public static void glClientActiveVertexStreamATI(int stream) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glClientActiveVertexStreamATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClientActiveVertexStreamATI(stream, function_pointer); + } + private static native void nglClientActiveVertexStreamATI(int stream, long function_pointer); - public static native void glNormalStream3sATI(int stream, short x, short y, short z); + public static void glNormalStream3sATI(int stream, short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glNormalStream3sATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalStream3sATI(stream, x, y, z, function_pointer); + } + private static native void nglNormalStream3sATI(int stream, short x, short y, short z, long function_pointer); - public static native void glNormalStream3iATI(int stream, int x, int y, int z); + public static void glNormalStream3iATI(int stream, int x, int y, int z) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glNormalStream3iATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalStream3iATI(stream, x, y, z, function_pointer); + } + private static native void nglNormalStream3iATI(int stream, int x, int y, int z, long function_pointer); - public static native void glNormalStream3fATI(int stream, float x, float y, float z); + public static void glNormalStream3fATI(int stream, float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glNormalStream3fATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalStream3fATI(stream, x, y, z, function_pointer); + } + private static native void nglNormalStream3fATI(int stream, float x, float y, float z, long function_pointer); - public static native void glNormalStream3bATI(int stream, byte x, byte y, byte z); + public static void glNormalStream3bATI(int stream, byte x, byte y, byte z) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glNormalStream3bATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalStream3bATI(stream, x, y, z, function_pointer); + } + private static native void nglNormalStream3bATI(int stream, byte x, byte y, byte z, long function_pointer); - public static native void glVertexStream4sATI(int stream, short x, short y, short z, short w); + public static void glVertexStream4sATI(int stream, short x, short y, short z, short w) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream4sATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream4sATI(stream, x, y, z, w, function_pointer); + } + private static native void nglVertexStream4sATI(int stream, short x, short y, short z, short w, long function_pointer); - public static native void glVertexStream4iATI(int stream, int x, int y, int z, int w); + public static void glVertexStream4iATI(int stream, int x, int y, int z, int w) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream4iATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream4iATI(stream, x, y, z, w, function_pointer); + } + private static native void nglVertexStream4iATI(int stream, int x, int y, int z, int w, long function_pointer); - public static native void glVertexStream4fATI(int stream, float x, float y, float z, float w); + public static void glVertexStream4fATI(int stream, float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream4fATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream4fATI(stream, x, y, z, w, function_pointer); + } + private static native void nglVertexStream4fATI(int stream, float x, float y, float z, float w, long function_pointer); - public static native void glVertexStream3sATI(int stream, short x, short y, short z); + public static void glVertexStream3sATI(int stream, short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream3sATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream3sATI(stream, x, y, z, function_pointer); + } + private static native void nglVertexStream3sATI(int stream, short x, short y, short z, long function_pointer); - public static native void glVertexStream3iATI(int stream, int x, int y, int z); + public static void glVertexStream3iATI(int stream, int x, int y, int z) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream3iATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream3iATI(stream, x, y, z, function_pointer); + } + private static native void nglVertexStream3iATI(int stream, int x, int y, int z, long function_pointer); - public static native void glVertexStream3fATI(int stream, float x, float y, float z); + public static void glVertexStream3fATI(int stream, float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream3fATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream3fATI(stream, x, y, z, function_pointer); + } + private static native void nglVertexStream3fATI(int stream, float x, float y, float z, long function_pointer); - public static native void glVertexStream2sATI(int stream, short x, short y); + public static void glVertexStream2sATI(int stream, short x, short y) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream2sATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream2sATI(stream, x, y, function_pointer); + } + private static native void nglVertexStream2sATI(int stream, short x, short y, long function_pointer); - public static native void glVertexStream2iATI(int stream, int x, int y); + public static void glVertexStream2iATI(int stream, int x, int y) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream2iATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream2iATI(stream, x, y, function_pointer); + } + private static native void nglVertexStream2iATI(int stream, int x, int y, long function_pointer); - public static native void glVertexStream2fATI(int stream, float x, float y); + public static void glVertexStream2fATI(int stream, float x, float y) { + long function_pointer = GLContext.getCapabilities().ATI_vertex_streams_glVertexStream2fATI_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexStream2fATI(stream, x, y, function_pointer); + } + private static native void nglVertexStream2fATI(int stream, float x, float y, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/ContextCapabilities.java b/src/java/org/lwjgl/opengl/ContextCapabilities.java index d770e343..4560301f 100644 --- a/src/java/org/lwjgl/opengl/ContextCapabilities.java +++ b/src/java/org/lwjgl/opengl/ContextCapabilities.java @@ -133,138 +133,1869 @@ public class ContextCapabilities { public final boolean GL_NV_vertex_program3; public final boolean GL_SUN_slice_accum; - static Set initAllStubs() throws LWJGLException { - org.lwjgl.opengl.GL11.initNativeStubs(); + long ARB_buffer_object_glGetBufferPointervARB_pointer; + long ARB_buffer_object_glGetBufferParameterivARB_pointer; + long ARB_buffer_object_glUnmapBufferARB_pointer; + long ARB_buffer_object_glMapBufferARB_pointer; + long ARB_buffer_object_glGetBufferSubDataARB_pointer; + long ARB_buffer_object_glBufferSubDataARB_pointer; + long ARB_buffer_object_glBufferDataARB_pointer; + long ARB_buffer_object_glIsBufferARB_pointer; + long ARB_buffer_object_glGenBuffersARB_pointer; + long ARB_buffer_object_glDeleteBuffersARB_pointer; + long ARB_buffer_object_glBindBufferARB_pointer; + long ARB_color_buffer_float_glClampColorARB_pointer; + long ARB_draw_buffers_glDrawBuffersARB_pointer; + long ARB_imaging_glGetSeparableFilter_pointer; + long ARB_imaging_glSeparableFilter2D_pointer; + long ARB_imaging_glGetConvolutionParameteriv_pointer; + long ARB_imaging_glGetConvolutionParameterfv_pointer; + long ARB_imaging_glGetConvolutionFilter_pointer; + long ARB_imaging_glCopyConvolutionFilter2D_pointer; + long ARB_imaging_glCopyConvolutionFilter1D_pointer; + long ARB_imaging_glConvolutionParameteriv_pointer; + long ARB_imaging_glConvolutionParameteri_pointer; + long ARB_imaging_glConvolutionParameterfv_pointer; + long ARB_imaging_glConvolutionParameterf_pointer; + long ARB_imaging_glConvolutionFilter2D_pointer; + long ARB_imaging_glConvolutionFilter1D_pointer; + long ARB_imaging_glGetMinmaxParameteriv_pointer; + long ARB_imaging_glGetMinmaxParameterfv_pointer; + long ARB_imaging_glGetMinmax_pointer; + long ARB_imaging_glResetMinmax_pointer; + long ARB_imaging_glMinmax_pointer; + long ARB_imaging_glGetHistogramParameteriv_pointer; + long ARB_imaging_glGetHistogramParameterfv_pointer; + long ARB_imaging_glGetHistogram_pointer; + long ARB_imaging_glResetHistogram_pointer; + long ARB_imaging_glHistogram_pointer; + long ARB_imaging_glBlendColor_pointer; + long ARB_imaging_glBlendEquation_pointer; + long ARB_imaging_glGetColorTableParameterfv_pointer; + long ARB_imaging_glGetColorTableParameteriv_pointer; + long ARB_imaging_glGetColorTable_pointer; + long ARB_imaging_glCopyColorTable_pointer; + long ARB_imaging_glCopyColorSubTable_pointer; + long ARB_imaging_glColorTableParameterfv_pointer; + long ARB_imaging_glColorTableParameteriv_pointer; + long ARB_imaging_glColorSubTable_pointer; + long ARB_imaging_glColorTable_pointer; + long ARB_matrix_palette_glMatrixIndexuivARB_pointer; + long ARB_matrix_palette_glMatrixIndexusvARB_pointer; + long ARB_matrix_palette_glMatrixIndexubvARB_pointer; + long ARB_matrix_palette_glMatrixIndexPointerARB_pointer; + long ARB_matrix_palette_glCurrentPaletteMatrixARB_pointer; + long ARB_multisample_glSampleCoverageARB_pointer; + long ARB_multitexture_glMultiTexCoord4sARB_pointer; + long ARB_multitexture_glMultiTexCoord4iARB_pointer; + long ARB_multitexture_glMultiTexCoord4fARB_pointer; + long ARB_multitexture_glMultiTexCoord3sARB_pointer; + long ARB_multitexture_glMultiTexCoord3iARB_pointer; + long ARB_multitexture_glMultiTexCoord3fARB_pointer; + long ARB_multitexture_glMultiTexCoord2sARB_pointer; + long ARB_multitexture_glMultiTexCoord2iARB_pointer; + long ARB_multitexture_glMultiTexCoord2fARB_pointer; + long ARB_multitexture_glMultiTexCoord1sARB_pointer; + long ARB_multitexture_glMultiTexCoord1iARB_pointer; + long ARB_multitexture_glMultiTexCoord1fARB_pointer; + long ARB_multitexture_glActiveTextureARB_pointer; + long ARB_multitexture_glClientActiveTextureARB_pointer; + long ARB_occlusion_query_glGetQueryObjectuivARB_pointer; + long ARB_occlusion_query_glGetQueryObjectivARB_pointer; + long ARB_occlusion_query_glGetQueryivARB_pointer; + long ARB_occlusion_query_glEndQueryARB_pointer; + long ARB_occlusion_query_glBeginQueryARB_pointer; + long ARB_occlusion_query_glIsQueryARB_pointer; + long ARB_occlusion_query_glDeleteQueriesARB_pointer; + long ARB_occlusion_query_glGenQueriesARB_pointer; + long ARB_point_parameters_glPointParameterfvARB_pointer; + long ARB_point_parameters_glPointParameterfARB_pointer; + long ARB_program_glIsProgramARB_pointer; + long ARB_program_glGetProgramStringARB_pointer; + long ARB_program_glGetProgramivARB_pointer; + long ARB_program_glGetProgramLocalParameterfvARB_pointer; + long ARB_program_glGetProgramEnvParameterfvARB_pointer; + long ARB_program_glProgramLocalParameter4fvARB_pointer; + long ARB_program_glProgramLocalParameter4fARB_pointer; + long ARB_program_glProgramEnvParameter4fvARB_pointer; + long ARB_program_glProgramEnvParameter4fARB_pointer; + long ARB_program_glGenProgramsARB_pointer; + long ARB_program_glDeleteProgramsARB_pointer; + long ARB_program_glBindProgramARB_pointer; + long ARB_program_glProgramStringARB_pointer; + long ARB_shader_objects_glGetShaderSourceARB_pointer; + long ARB_shader_objects_glGetUniformivARB_pointer; + long ARB_shader_objects_glGetUniformfvARB_pointer; + long ARB_shader_objects_glGetActiveUniformARB_pointer; + long ARB_shader_objects_glGetUniformLocationARB_pointer; + long ARB_shader_objects_glGetAttachedObjectsARB_pointer; + long ARB_shader_objects_glGetInfoLogARB_pointer; + long ARB_shader_objects_glGetObjectParameterivARB_pointer; + long ARB_shader_objects_glGetObjectParameterfvARB_pointer; + long ARB_shader_objects_glUniformMatrix4fvARB_pointer; + long ARB_shader_objects_glUniformMatrix3fvARB_pointer; + long ARB_shader_objects_glUniformMatrix2fvARB_pointer; + long ARB_shader_objects_glUniform4ivARB_pointer; + long ARB_shader_objects_glUniform3ivARB_pointer; + long ARB_shader_objects_glUniform2ivARB_pointer; + long ARB_shader_objects_glUniform1ivARB_pointer; + long ARB_shader_objects_glUniform4fvARB_pointer; + long ARB_shader_objects_glUniform3fvARB_pointer; + long ARB_shader_objects_glUniform2fvARB_pointer; + long ARB_shader_objects_glUniform1fvARB_pointer; + long ARB_shader_objects_glUniform4iARB_pointer; + long ARB_shader_objects_glUniform3iARB_pointer; + long ARB_shader_objects_glUniform2iARB_pointer; + long ARB_shader_objects_glUniform1iARB_pointer; + long ARB_shader_objects_glUniform4fARB_pointer; + long ARB_shader_objects_glUniform3fARB_pointer; + long ARB_shader_objects_glUniform2fARB_pointer; + long ARB_shader_objects_glUniform1fARB_pointer; + long ARB_shader_objects_glValidateProgramARB_pointer; + long ARB_shader_objects_glUseProgramObjectARB_pointer; + long ARB_shader_objects_glLinkProgramARB_pointer; + long ARB_shader_objects_glAttachObjectARB_pointer; + long ARB_shader_objects_glCreateProgramObjectARB_pointer; + long ARB_shader_objects_glCompileShaderARB_pointer; + long ARB_shader_objects_glShaderSourceARB_pointer; + long ARB_shader_objects_glCreateShaderObjectARB_pointer; + long ARB_shader_objects_glDetachObjectARB_pointer; + long ARB_shader_objects_glGetHandleARB_pointer; + long ARB_shader_objects_glDeleteObjectARB_pointer; + long ARB_texture_compression_glGetCompressedTexImageARB_pointer; + long ARB_texture_compression_glCompressedTexSubImage3DARB_pointer; + long ARB_texture_compression_glCompressedTexSubImage2DARB_pointer; + long ARB_texture_compression_glCompressedTexSubImage1DARB_pointer; + long ARB_texture_compression_glCompressedTexImage3DARB_pointer; + long ARB_texture_compression_glCompressedTexImage2DARB_pointer; + long ARB_texture_compression_glCompressedTexImage1DARB_pointer; + long ARB_transpose_matrix_glMultTransposeMatrixfARB_pointer; + long ARB_transpose_matrix_glLoadTransposeMatrixfARB_pointer; + long ARB_vertex_blend_glVertexBlendARB_pointer; + long ARB_vertex_blend_glWeightPointerARB_pointer; + long ARB_vertex_blend_glWeightuivARB_pointer; + long ARB_vertex_blend_glWeightusvARB_pointer; + long ARB_vertex_blend_glWeightubvARB_pointer; + long ARB_vertex_blend_glWeightfvARB_pointer; + long ARB_vertex_blend_glWeightivARB_pointer; + long ARB_vertex_blend_glWeightsvARB_pointer; + long ARB_vertex_blend_glWeightbvARB_pointer; + long ARB_vertex_program_glGetVertexAttribPointervARB_pointer; + long ARB_vertex_program_glGetVertexAttribivARB_pointer; + long ARB_vertex_program_glGetVertexAttribfvARB_pointer; + long ARB_vertex_program_glDisableVertexAttribArrayARB_pointer; + long ARB_vertex_program_glEnableVertexAttribArrayARB_pointer; + long ARB_vertex_program_glVertexAttribPointerARB_pointer; + long ARB_vertex_program_glVertexAttrib4NubARB_pointer; + long ARB_vertex_program_glVertexAttrib4fARB_pointer; + long ARB_vertex_program_glVertexAttrib4sARB_pointer; + long ARB_vertex_program_glVertexAttrib3fARB_pointer; + long ARB_vertex_program_glVertexAttrib3sARB_pointer; + long ARB_vertex_program_glVertexAttrib2fARB_pointer; + long ARB_vertex_program_glVertexAttrib2sARB_pointer; + long ARB_vertex_program_glVertexAttrib1fARB_pointer; + long ARB_vertex_program_glVertexAttrib1sARB_pointer; + long ARB_vertex_shader_glGetAttribLocationARB_pointer; + long ARB_vertex_shader_glGetActiveAttribARB_pointer; + long ARB_vertex_shader_glBindAttribLocationARB_pointer; + long ARB_window_pos_glWindowPos3sARB_pointer; + long ARB_window_pos_glWindowPos3iARB_pointer; + long ARB_window_pos_glWindowPos3fARB_pointer; + long ARB_window_pos_glWindowPos2sARB_pointer; + long ARB_window_pos_glWindowPos2iARB_pointer; + long ARB_window_pos_glWindowPos2fARB_pointer; + long ATI_draw_buffers_glDrawBuffersATI_pointer; + long ATI_element_array_glDrawRangeElementArrayATI_pointer; + long ATI_element_array_glDrawElementArrayATI_pointer; + long ATI_element_array_glElementPointerATI_pointer; + long ATI_envmap_bumpmap_glGetTexBumpParameterivATI_pointer; + long ATI_envmap_bumpmap_glGetTexBumpParameterfvATI_pointer; + long ATI_envmap_bumpmap_glTexBumpParameterivATI_pointer; + long ATI_envmap_bumpmap_glTexBumpParameterfvATI_pointer; + long ATI_fragment_shader_glSetFragmentShaderConstantATI_pointer; + long ATI_fragment_shader_glAlphaFragmentOp3ATI_pointer; + long ATI_fragment_shader_glAlphaFragmentOp2ATI_pointer; + long ATI_fragment_shader_glAlphaFragmentOp1ATI_pointer; + long ATI_fragment_shader_glColorFragmentOp3ATI_pointer; + long ATI_fragment_shader_glColorFragmentOp2ATI_pointer; + long ATI_fragment_shader_glColorFragmentOp1ATI_pointer; + long ATI_fragment_shader_glSampleMapATI_pointer; + long ATI_fragment_shader_glPassTexCoordATI_pointer; + long ATI_fragment_shader_glEndFragmentShaderATI_pointer; + long ATI_fragment_shader_glBeginFragmentShaderATI_pointer; + long ATI_fragment_shader_glDeleteFragmentShaderATI_pointer; + long ATI_fragment_shader_glBindFragmentShaderATI_pointer; + long ATI_fragment_shader_glGenFragmentShadersATI_pointer; + long ATI_map_object_buffer_glUnmapObjectBufferATI_pointer; + long ATI_map_object_buffer_glMapObjectBufferATI_pointer; + long ATI_pn_triangles_glPNTrianglesiATI_pointer; + long ATI_pn_triangles_glPNTrianglesfATI_pointer; + long ATI_separate_stencil_glStencilFuncSeparateATI_pointer; + long ATI_separate_stencil_glStencilOpSeparateATI_pointer; + long ATI_vertex_array_object_glGetVariantArrayObjectivATI_pointer; + long ATI_vertex_array_object_glGetVariantArrayObjectfvATI_pointer; + long ATI_vertex_array_object_glVariantArrayObjectATI_pointer; + long ATI_vertex_array_object_glGetArrayObjectivATI_pointer; + long ATI_vertex_array_object_glGetArrayObjectfvATI_pointer; + long ATI_vertex_array_object_glArrayObjectATI_pointer; + long ATI_vertex_array_object_glFreeObjectBufferATI_pointer; + long ATI_vertex_array_object_glGetObjectBufferivATI_pointer; + long ATI_vertex_array_object_glGetObjectBufferfvATI_pointer; + long ATI_vertex_array_object_glUpdateObjectBufferATI_pointer; + long ATI_vertex_array_object_glIsObjectBufferATI_pointer; + long ATI_vertex_array_object_glNewObjectBufferATI_pointer; + long ATI_vertex_attrib_array_object_glGetVertexAttribArrayObjectivATI_pointer; + long ATI_vertex_attrib_array_object_glGetVertexAttribArrayObjectfvATI_pointer; + long ATI_vertex_attrib_array_object_glVertexAttribArrayObjectATI_pointer; + long ATI_vertex_streams_glVertexBlendEnviATI_pointer; + long ATI_vertex_streams_glVertexBlendEnvfATI_pointer; + long ATI_vertex_streams_glClientActiveVertexStreamATI_pointer; + long ATI_vertex_streams_glNormalStream3sATI_pointer; + long ATI_vertex_streams_glNormalStream3iATI_pointer; + long ATI_vertex_streams_glNormalStream3fATI_pointer; + long ATI_vertex_streams_glNormalStream3bATI_pointer; + long ATI_vertex_streams_glVertexStream4sATI_pointer; + long ATI_vertex_streams_glVertexStream4iATI_pointer; + long ATI_vertex_streams_glVertexStream4fATI_pointer; + long ATI_vertex_streams_glVertexStream3sATI_pointer; + long ATI_vertex_streams_glVertexStream3iATI_pointer; + long ATI_vertex_streams_glVertexStream3fATI_pointer; + long ATI_vertex_streams_glVertexStream2sATI_pointer; + long ATI_vertex_streams_glVertexStream2iATI_pointer; + long ATI_vertex_streams_glVertexStream2fATI_pointer; + long EXT_blend_equation_separate_glBlendEquationSeparateEXT_pointer; + long EXT_blend_func_separate_glBlendFuncSeparateEXT_pointer; + long EXT_compiled_vertex_array_glUnlockArraysEXT_pointer; + long EXT_compiled_vertex_array_glLockArraysEXT_pointer; + long EXT_depth_bounds_test_glDepthBoundsEXT_pointer; + long EXT_draw_range_elements_glDrawRangeElementsEXT_pointer; + long EXT_fog_coord_glFogCoordPointerEXT_pointer; + long EXT_fog_coord_glFogCoordfEXT_pointer; + long EXT_framebuffer_object_glGenerateMipmapEXT_pointer; + long EXT_framebuffer_object_glGetFramebufferAttachmentParameterivEXT_pointer; + long EXT_framebuffer_object_glFramebufferRenderbufferEXT_pointer; + long EXT_framebuffer_object_glFramebufferTexture3DEXT_pointer; + long EXT_framebuffer_object_glFramebufferTexture2DEXT_pointer; + long EXT_framebuffer_object_glFramebufferTexture1DEXT_pointer; + long EXT_framebuffer_object_glCheckFramebufferStatusEXT_pointer; + long EXT_framebuffer_object_glGenFramebuffersEXT_pointer; + long EXT_framebuffer_object_glDeleteFramebuffersEXT_pointer; + long EXT_framebuffer_object_glBindFramebufferEXT_pointer; + long EXT_framebuffer_object_glIsFramebufferEXT_pointer; + long EXT_framebuffer_object_glGetRenderbufferParameterivEXT_pointer; + long EXT_framebuffer_object_glRenderbufferStorageEXT_pointer; + long EXT_framebuffer_object_glGenRenderbuffersEXT_pointer; + long EXT_framebuffer_object_glDeleteRenderbuffersEXT_pointer; + long EXT_framebuffer_object_glBindRenderbufferEXT_pointer; + long EXT_framebuffer_object_glIsRenderbufferEXT_pointer; + long EXT_multi_draw_arrays_glMultiDrawArraysEXT_pointer; + long EXT_paletted_texture_glGetColorTableParameterfvEXT_pointer; + long EXT_paletted_texture_glGetColorTableParameterivEXT_pointer; + long EXT_paletted_texture_glGetColorTableEXT_pointer; + long EXT_paletted_texture_glColorSubTableEXT_pointer; + long EXT_paletted_texture_glColorTableEXT_pointer; + long EXT_point_parameters_glPointParameterfvEXT_pointer; + long EXT_point_parameters_glPointParameterfEXT_pointer; + long EXT_secondary_color_glSecondaryColorPointerEXT_pointer; + long EXT_secondary_color_glSecondaryColor3ubEXT_pointer; + long EXT_secondary_color_glSecondaryColor3fEXT_pointer; + long EXT_secondary_color_glSecondaryColor3bEXT_pointer; + long EXT_stencil_two_side_glActiveStencilFaceEXT_pointer; + long EXT_vertex_shader_glGetLocalConstantFloatvEXT_pointer; + long EXT_vertex_shader_glGetLocalConstantIntegervEXT_pointer; + long EXT_vertex_shader_glGetLocalConstantBooleanvEXT_pointer; + long EXT_vertex_shader_glGetInvariantFloatvEXT_pointer; + long EXT_vertex_shader_glGetInvariantIntegervEXT_pointer; + long EXT_vertex_shader_glGetInvariantBooleanvEXT_pointer; + long EXT_vertex_shader_glGetVariantPointervEXT_pointer; + long EXT_vertex_shader_glGetVariantFloatvEXT_pointer; + long EXT_vertex_shader_glGetVariantIntegervEXT_pointer; + long EXT_vertex_shader_glGetVariantBooleanvEXT_pointer; + long EXT_vertex_shader_glIsVariantEnabledEXT_pointer; + long EXT_vertex_shader_glBindParameterEXT_pointer; + long EXT_vertex_shader_glBindTextureUnitParameterEXT_pointer; + long EXT_vertex_shader_glBindTexGenParameterEXT_pointer; + long EXT_vertex_shader_glBindMaterialParameterEXT_pointer; + long EXT_vertex_shader_glBindLightParameterEXT_pointer; + long EXT_vertex_shader_glDisableVariantClientStateEXT_pointer; + long EXT_vertex_shader_glEnableVariantClientStateEXT_pointer; + long EXT_vertex_shader_glVariantPointerEXT_pointer; + long EXT_vertex_shader_glVariantuivEXT_pointer; + long EXT_vertex_shader_glVariantusvEXT_pointer; + long EXT_vertex_shader_glVariantubvEXT_pointer; + long EXT_vertex_shader_glVariantfvEXT_pointer; + long EXT_vertex_shader_glVariantivEXT_pointer; + long EXT_vertex_shader_glVariantsvEXT_pointer; + long EXT_vertex_shader_glVariantbvEXT_pointer; + long EXT_vertex_shader_glSetLocalConstantEXT_pointer; + long EXT_vertex_shader_glSetInvariantEXT_pointer; + long EXT_vertex_shader_glGenSymbolsEXT_pointer; + long EXT_vertex_shader_glExtractComponentEXT_pointer; + long EXT_vertex_shader_glInsertComponentEXT_pointer; + long EXT_vertex_shader_glWriteMaskEXT_pointer; + long EXT_vertex_shader_glSwizzleEXT_pointer; + long EXT_vertex_shader_glShaderOp3EXT_pointer; + long EXT_vertex_shader_glShaderOp2EXT_pointer; + long EXT_vertex_shader_glShaderOp1EXT_pointer; + long EXT_vertex_shader_glDeleteVertexShaderEXT_pointer; + long EXT_vertex_shader_glGenVertexShadersEXT_pointer; + long EXT_vertex_shader_glBindVertexShaderEXT_pointer; + long EXT_vertex_shader_glEndVertexShaderEXT_pointer; + long EXT_vertex_shader_glBeginVertexShaderEXT_pointer; + long EXT_vertex_weighting_glVertexWeightPointerEXT_pointer; + long EXT_vertex_weighting_glVertexWeightfEXT_pointer; + long GL11_glViewport_pointer; + long GL11_glStencilMask_pointer; + long GL11_glStencilOp_pointer; + long GL11_glTexCoord4f_pointer; + long GL11_glTexCoord3f_pointer; + long GL11_glTexCoord2f_pointer; + long GL11_glTexCoord1f_pointer; + long GL11_glTexCoordPointer_pointer; + long GL11_glTexEnviv_pointer; + long GL11_glTexEnvfv_pointer; + long GL11_glTexEnvi_pointer; + long GL11_glTexEnvf_pointer; + long GL11_glTexGeniv_pointer; + long GL11_glTexGeni_pointer; + long GL11_glTexGenfv_pointer; + long GL11_glTexGenf_pointer; + long GL11_glTexParameteriv_pointer; + long GL11_glTexParameterfv_pointer; + long GL11_glTexParameteri_pointer; + long GL11_glTexParameterf_pointer; + long GL11_glTexSubImage2D_pointer; + long GL11_glTexSubImage1D_pointer; + long GL11_glTexImage2D_pointer; + long GL11_glTexImage1D_pointer; + long GL11_glTranslatef_pointer; + long GL11_glVertex4i_pointer; + long GL11_glVertex4f_pointer; + long GL11_glVertex3i_pointer; + long GL11_glVertex3f_pointer; + long GL11_glVertex2i_pointer; + long GL11_glVertex2f_pointer; + long GL11_glVertexPointer_pointer; + long GL11_glStencilFunc_pointer; + long GL11_glPopAttrib_pointer; + long GL11_glPushAttrib_pointer; + long GL11_glPopClientAttrib_pointer; + long GL11_glPushClientAttrib_pointer; + long GL11_glPopMatrix_pointer; + long GL11_glPushMatrix_pointer; + long GL11_glPopName_pointer; + long GL11_glPushName_pointer; + long GL11_glRasterPos4i_pointer; + long GL11_glRasterPos4f_pointer; + long GL11_glRasterPos3i_pointer; + long GL11_glRasterPos3f_pointer; + long GL11_glRasterPos2i_pointer; + long GL11_glRasterPos2f_pointer; + long GL11_glReadBuffer_pointer; + long GL11_glReadPixels_pointer; + long GL11_glRecti_pointer; + long GL11_glRectf_pointer; + long GL11_glRenderMode_pointer; + long GL11_glRotatef_pointer; + long GL11_glScalef_pointer; + long GL11_glScissor_pointer; + long GL11_glSelectBuffer_pointer; + long GL11_glShadeModel_pointer; + long GL11_glMultMatrixf_pointer; + long GL11_glEndList_pointer; + long GL11_glNewList_pointer; + long GL11_glNormal3i_pointer; + long GL11_glNormal3f_pointer; + long GL11_glNormal3b_pointer; + long GL11_glNormalPointer_pointer; + long GL11_glOrtho_pointer; + long GL11_glPassThrough_pointer; + long GL11_glPixelMapusv_pointer; + long GL11_glPixelMapuiv_pointer; + long GL11_glPixelMapfv_pointer; + long GL11_glPixelStorei_pointer; + long GL11_glPixelStoref_pointer; + long GL11_glPixelTransferi_pointer; + long GL11_glPixelTransferf_pointer; + long GL11_glPixelZoom_pointer; + long GL11_glPointSize_pointer; + long GL11_glPolygonMode_pointer; + long GL11_glPolygonOffset_pointer; + long GL11_glPolygonStipple_pointer; + long GL11_glMatrixMode_pointer; + long GL11_glIsTexture_pointer; + long GL11_glLightiv_pointer; + long GL11_glLightfv_pointer; + long GL11_glLighti_pointer; + long GL11_glLightf_pointer; + long GL11_glLightModeliv_pointer; + long GL11_glLightModelfv_pointer; + long GL11_glLightModeli_pointer; + long GL11_glLightModelf_pointer; + long GL11_glLineStipple_pointer; + long GL11_glLineWidth_pointer; + long GL11_glListBase_pointer; + long GL11_glLoadIdentity_pointer; + long GL11_glLoadMatrixf_pointer; + long GL11_glLoadName_pointer; + long GL11_glLogicOp_pointer; + long GL11_glMap1f_pointer; + long GL11_glMap2f_pointer; + long GL11_glMapGrid2f_pointer; + long GL11_glMapGrid1f_pointer; + long GL11_glMaterialiv_pointer; + long GL11_glMaterialfv_pointer; + long GL11_glMateriali_pointer; + long GL11_glMaterialf_pointer; + long GL11_glIsList_pointer; + long GL11_glGetPolygonStipple_pointer; + long GL11_glGetString_pointer; + long GL11_glGetTexEnvfv_pointer; + long GL11_glGetTexEnviv_pointer; + long GL11_glGetTexGenfv_pointer; + long GL11_glGetTexGeniv_pointer; + long GL11_glGetTexImage_pointer; + long GL11_glGetTexLevelParameteriv_pointer; + long GL11_glGetTexLevelParameterfv_pointer; + long GL11_glGetTexParameteriv_pointer; + long GL11_glGetTexParameterfv_pointer; + long GL11_glHint_pointer; + long GL11_glInitNames_pointer; + long GL11_glInterleavedArrays_pointer; + long GL11_glIsEnabled_pointer; + long GL11_glGetPointerv_pointer; + long GL11_glFinish_pointer; + long GL11_glFlush_pointer; + long GL11_glFogiv_pointer; + long GL11_glFogfv_pointer; + long GL11_glFogi_pointer; + long GL11_glFogf_pointer; + long GL11_glFrontFace_pointer; + long GL11_glFrustum_pointer; + long GL11_glGenLists_pointer; + long GL11_glGenTextures_pointer; + long GL11_glGetIntegerv_pointer; + long GL11_glGetFloatv_pointer; + long GL11_glGetDoublev_pointer; + long GL11_glGetBooleanv_pointer; + long GL11_glGetClipPlane_pointer; + long GL11_glGetError_pointer; + long GL11_glGetLightiv_pointer; + long GL11_glGetLightfv_pointer; + long GL11_glGetMapiv_pointer; + long GL11_glGetMapfv_pointer; + long GL11_glGetMaterialiv_pointer; + long GL11_glGetMaterialfv_pointer; + long GL11_glGetPixelMapusv_pointer; + long GL11_glGetPixelMapuiv_pointer; + long GL11_glGetPixelMapfv_pointer; + long GL11_glFeedbackBuffer_pointer; + long GL11_glDepthFunc_pointer; + long GL11_glDepthMask_pointer; + long GL11_glDepthRange_pointer; + long GL11_glDrawArrays_pointer; + long GL11_glDrawBuffer_pointer; + long GL11_glDrawElements_pointer; + long GL11_glDrawPixels_pointer; + long GL11_glEdgeFlag_pointer; + long GL11_glEdgeFlagPointer_pointer; + long GL11_glDisable_pointer; + long GL11_glEnable_pointer; + long GL11_glDisableClientState_pointer; + long GL11_glEnableClientState_pointer; + long GL11_glEvalCoord2f_pointer; + long GL11_glEvalCoord1f_pointer; + long GL11_glEvalMesh2_pointer; + long GL11_glEvalMesh1_pointer; + long GL11_glEvalPoint2_pointer; + long GL11_glEvalPoint1_pointer; + long GL11_glClearIndex_pointer; + long GL11_glClearStencil_pointer; + long GL11_glClipPlane_pointer; + long GL11_glColor4ub_pointer; + long GL11_glColor4f_pointer; + long GL11_glColor4b_pointer; + long GL11_glColor3ub_pointer; + long GL11_glColor3f_pointer; + long GL11_glColor3b_pointer; + long GL11_glColorMask_pointer; + long GL11_glColorMaterial_pointer; + long GL11_glColorPointer_pointer; + long GL11_glCopyPixels_pointer; + long GL11_glCopyTexImage1D_pointer; + long GL11_glCopyTexImage2D_pointer; + long GL11_glCopyTexSubImage1D_pointer; + long GL11_glCopyTexSubImage2D_pointer; + long GL11_glCullFace_pointer; + long GL11_glDeleteTextures_pointer; + long GL11_glDeleteLists_pointer; + long GL11_glClearDepth_pointer; + long GL11_glArrayElement_pointer; + long GL11_glEnd_pointer; + long GL11_glBegin_pointer; + long GL11_glBindTexture_pointer; + long GL11_glBitmap_pointer; + long GL11_glBlendFunc_pointer; + long GL11_glCallList_pointer; + long GL11_glCallLists_pointer; + long GL11_glClear_pointer; + long GL11_glClearAccum_pointer; + long GL11_glClearColor_pointer; + long GL11_glAlphaFunc_pointer; + long GL11_glAccum_pointer; + long GL12_glCopyTexSubImage3D_pointer; + long GL12_glTexSubImage3D_pointer; + long GL12_glTexImage3D_pointer; + long GL12_glDrawRangeElements_pointer; + long GL13_glSampleCoverage_pointer; + long GL13_glMultTransposeMatrixf_pointer; + long GL13_glLoadTransposeMatrixf_pointer; + long GL13_glMultiTexCoord4f_pointer; + long GL13_glMultiTexCoord3f_pointer; + long GL13_glMultiTexCoord2f_pointer; + long GL13_glMultiTexCoord1f_pointer; + long GL13_glGetCompressedTexImage_pointer; + long GL13_glCompressedTexSubImage3D_pointer; + long GL13_glCompressedTexSubImage2D_pointer; + long GL13_glCompressedTexSubImage1D_pointer; + long GL13_glCompressedTexImage3D_pointer; + long GL13_glCompressedTexImage2D_pointer; + long GL13_glCompressedTexImage1D_pointer; + long GL13_glClientActiveTexture_pointer; + long GL13_glActiveTexture_pointer; + long GL14_glWindowPos3i_pointer; + long GL14_glWindowPos3f_pointer; + long GL14_glWindowPos2i_pointer; + long GL14_glWindowPos2f_pointer; + long GL14_glBlendFuncSeparate_pointer; + long GL14_glSecondaryColorPointer_pointer; + long GL14_glSecondaryColor3ub_pointer; + long GL14_glSecondaryColor3f_pointer; + long GL14_glSecondaryColor3b_pointer; + long GL14_glPointParameterfv_pointer; + long GL14_glPointParameteriv_pointer; + long GL14_glPointParameterf_pointer; + long GL14_glPointParameteri_pointer; + long GL14_glMultiDrawArrays_pointer; + long GL14_glFogCoordPointer_pointer; + long GL14_glFogCoordf_pointer; + long GL14_glBlendColor_pointer; + long GL14_glBlendEquation_pointer; + long GL15_glGetQueryObjectuiv_pointer; + long GL15_glGetQueryObjectiv_pointer; + long GL15_glGetQueryiv_pointer; + long GL15_glEndQuery_pointer; + long GL15_glBeginQuery_pointer; + long GL15_glIsQuery_pointer; + long GL15_glDeleteQueries_pointer; + long GL15_glGenQueries_pointer; + long GL15_glGetBufferPointerv_pointer; + long GL15_glGetBufferParameteriv_pointer; + long GL15_glUnmapBuffer_pointer; + long GL15_glMapBuffer_pointer; + long GL15_glGetBufferSubData_pointer; + long GL15_glBufferSubData_pointer; + long GL15_glBufferData_pointer; + long GL15_glIsBuffer_pointer; + long GL15_glGenBuffers_pointer; + long GL15_glDeleteBuffers_pointer; + long GL15_glBindBuffer_pointer; + long GL20_glBlendEquationSeparate_pointer; + long GL20_glStencilMaskSeparate_pointer; + long GL20_glStencilFuncSeparate_pointer; + long GL20_glStencilOpSeparate_pointer; + long GL20_glDrawBuffers_pointer; + long GL20_glGetAttribLocation_pointer; + long GL20_glGetActiveAttrib_pointer; + long GL20_glBindAttribLocation_pointer; + long GL20_glGetVertexAttribPointerv_pointer; + long GL20_glGetVertexAttribiv_pointer; + long GL20_glGetVertexAttribfv_pointer; + long GL20_glDisableVertexAttribArray_pointer; + long GL20_glEnableVertexAttribArray_pointer; + long GL20_glVertexAttribPointer_pointer; + long GL20_glVertexAttrib4Nub_pointer; + long GL20_glVertexAttrib4f_pointer; + long GL20_glVertexAttrib4s_pointer; + long GL20_glVertexAttrib3f_pointer; + long GL20_glVertexAttrib3s_pointer; + long GL20_glVertexAttrib2f_pointer; + long GL20_glVertexAttrib2s_pointer; + long GL20_glVertexAttrib1f_pointer; + long GL20_glVertexAttrib1s_pointer; + long GL20_glGetShaderSource_pointer; + long GL20_glGetUniformiv_pointer; + long GL20_glGetUniformfv_pointer; + long GL20_glGetActiveUniform_pointer; + long GL20_glGetUniformLocation_pointer; + long GL20_glGetAttachedShaders_pointer; + long GL20_glGetProgramInfoLog_pointer; + long GL20_glGetShaderInfoLog_pointer; + long GL20_glGetProgramiv_pointer; + long GL20_glGetProgramfv_pointer; + long GL20_glGetShaderiv_pointer; + long GL20_glGetShaderfv_pointer; + long GL20_glUniformMatrix4fv_pointer; + long GL20_glUniformMatrix3fv_pointer; + long GL20_glUniformMatrix2fv_pointer; + long GL20_glUniform4iv_pointer; + long GL20_glUniform3iv_pointer; + long GL20_glUniform2iv_pointer; + long GL20_glUniform1iv_pointer; + long GL20_glUniform4fv_pointer; + long GL20_glUniform3fv_pointer; + long GL20_glUniform2fv_pointer; + long GL20_glUniform1fv_pointer; + long GL20_glUniform4i_pointer; + long GL20_glUniform3i_pointer; + long GL20_glUniform2i_pointer; + long GL20_glUniform1i_pointer; + long GL20_glUniform4f_pointer; + long GL20_glUniform3f_pointer; + long GL20_glUniform2f_pointer; + long GL20_glUniform1f_pointer; + long GL20_glDeleteProgram_pointer; + long GL20_glValidateProgram_pointer; + long GL20_glUseProgram_pointer; + long GL20_glLinkProgram_pointer; + long GL20_glDetachShader_pointer; + long GL20_glAttachShader_pointer; + long GL20_glIsProgram_pointer; + long GL20_glCreateProgram_pointer; + long GL20_glDeleteShader_pointer; + long GL20_glCompileShader_pointer; + long GL20_glIsShader_pointer; + long GL20_glCreateShader_pointer; + long GL20_glShaderSource_pointer; + long NV_evaluators_glEvalMapsNV_pointer; + long NV_evaluators_glGetMapAttribParameterivNV_pointer; + long NV_evaluators_glGetMapAttribParameterfvNV_pointer; + long NV_evaluators_glGetMapParameterivNV_pointer; + long NV_evaluators_glGetMapParameterfvNV_pointer; + long NV_evaluators_glMapParameterivNV_pointer; + long NV_evaluators_glMapParameterfvNV_pointer; + long NV_evaluators_glMapControlPointsNV_pointer; + long NV_evaluators_glGetMapControlPointsNV_pointer; + long NV_fence_glGetFenceivNV_pointer; + long NV_fence_glIsFenceNV_pointer; + long NV_fence_glFinishFenceNV_pointer; + long NV_fence_glTestFenceNV_pointer; + long NV_fence_glSetFenceNV_pointer; + long NV_fence_glDeleteFencesNV_pointer; + long NV_fence_glGenFencesNV_pointer; + long NV_fragment_program_glGetProgramNamedParameterfvNV_pointer; + long NV_fragment_program_glProgramNamedParameter4fNV_pointer; + long NV_half_float_glVertexAttribs4hvNV_pointer; + long NV_half_float_glVertexAttribs3hvNV_pointer; + long NV_half_float_glVertexAttribs2hvNV_pointer; + long NV_half_float_glVertexAttribs1hvNV_pointer; + long NV_half_float_glVertexAttrib4hNV_pointer; + long NV_half_float_glVertexAttrib3hNV_pointer; + long NV_half_float_glVertexAttrib2hNV_pointer; + long NV_half_float_glVertexAttrib1hNV_pointer; + long NV_half_float_glSecondaryColor3hNV_pointer; + long NV_half_float_glFogCoordhNV_pointer; + long NV_half_float_glMultiTexCoord4hNV_pointer; + long NV_half_float_glMultiTexCoord3hNV_pointer; + long NV_half_float_glMultiTexCoord2hNV_pointer; + long NV_half_float_glMultiTexCoord1hNV_pointer; + long NV_half_float_glTexCoord4hNV_pointer; + long NV_half_float_glTexCoord3hNV_pointer; + long NV_half_float_glTexCoord2hNV_pointer; + long NV_half_float_glTexCoord1hNV_pointer; + long NV_half_float_glColor4hNV_pointer; + long NV_half_float_glColor3hNV_pointer; + long NV_half_float_glNormal3hNV_pointer; + long NV_half_float_glVertex4hNV_pointer; + long NV_half_float_glVertex3hNV_pointer; + long NV_half_float_glVertex2hNV_pointer; + long NV_occlusion_query_glGetOcclusionQueryivNV_pointer; + long NV_occlusion_query_glGetOcclusionQueryuivNV_pointer; + long NV_occlusion_query_glEndOcclusionQueryNV_pointer; + long NV_occlusion_query_glBeginOcclusionQueryNV_pointer; + long NV_occlusion_query_glIsOcclusionQueryNV_pointer; + long NV_occlusion_query_glDeleteOcclusionQueriesNV_pointer; + long NV_occlusion_query_glGenOcclusionQueriesNV_pointer; + long NV_pixel_data_range_glFlushPixelDataRangeNV_pointer; + long NV_pixel_data_range_glPixelDataRangeNV_pointer; + long NV_point_sprite_glPointParameterivNV_pointer; + long NV_point_sprite_glPointParameteriNV_pointer; + long NV_primitive_restart_glPrimitiveRestartIndexNV_pointer; + long NV_primitive_restart_glPrimitiveRestartNV_pointer; + long NV_program_glRequestResidentProgramsNV_pointer; + long NV_program_glAreProgramsResidentNV_pointer; + long NV_program_glIsProgramNV_pointer; + long NV_program_glGetProgramStringNV_pointer; + long NV_program_glGetProgramivNV_pointer; + long NV_program_glGenProgramsNV_pointer; + long NV_program_glDeleteProgramsNV_pointer; + long NV_program_glBindProgramNV_pointer; + long NV_program_glLoadProgramNV_pointer; + long NV_register_combiners_glGetFinalCombinerInputParameterivNV_pointer; + long NV_register_combiners_glGetFinalCombinerInputParameterfvNV_pointer; + long NV_register_combiners_glGetCombinerOutputParameterivNV_pointer; + long NV_register_combiners_glGetCombinerOutputParameterfvNV_pointer; + long NV_register_combiners_glGetCombinerInputParameterivNV_pointer; + long NV_register_combiners_glGetCombinerInputParameterfvNV_pointer; + long NV_register_combiners_glFinalCombinerInputNV_pointer; + long NV_register_combiners_glCombinerOutputNV_pointer; + long NV_register_combiners_glCombinerInputNV_pointer; + long NV_register_combiners_glCombinerParameterivNV_pointer; + long NV_register_combiners_glCombinerParameteriNV_pointer; + long NV_register_combiners_glCombinerParameterfvNV_pointer; + long NV_register_combiners_glCombinerParameterfNV_pointer; + long NV_register_combiners2_glGetCombinerStageParameterfvNV_pointer; + long NV_register_combiners2_glCombinerStageParameterfvNV_pointer; + long NV_vertex_array_range_glFreeMemoryNV_pointer; + long NV_vertex_array_range_glAllocateMemoryNV_pointer; + long NV_vertex_array_range_glFlushVertexArrayRangeNV_pointer; + long NV_vertex_array_range_glVertexArrayRangeNV_pointer; + long NV_vertex_program_glVertexAttribs4fvNV_pointer; + long NV_vertex_program_glVertexAttribs4svNV_pointer; + long NV_vertex_program_glVertexAttribs3fvNV_pointer; + long NV_vertex_program_glVertexAttribs3svNV_pointer; + long NV_vertex_program_glVertexAttribs2fvNV_pointer; + long NV_vertex_program_glVertexAttribs2svNV_pointer; + long NV_vertex_program_glVertexAttribs1fvNV_pointer; + long NV_vertex_program_glVertexAttribs1svNV_pointer; + long NV_vertex_program_glVertexAttrib4ubNV_pointer; + long NV_vertex_program_glVertexAttrib4fNV_pointer; + long NV_vertex_program_glVertexAttrib4sNV_pointer; + long NV_vertex_program_glVertexAttrib3fNV_pointer; + long NV_vertex_program_glVertexAttrib3sNV_pointer; + long NV_vertex_program_glVertexAttrib2fNV_pointer; + long NV_vertex_program_glVertexAttrib2sNV_pointer; + long NV_vertex_program_glVertexAttrib1fNV_pointer; + long NV_vertex_program_glVertexAttrib1sNV_pointer; + long NV_vertex_program_glVertexAttribPointerNV_pointer; + long NV_vertex_program_glTrackMatrixNV_pointer; + long NV_vertex_program_glProgramParameters4fvNV_pointer; + long NV_vertex_program_glProgramParameter4fNV_pointer; + long NV_vertex_program_glGetVertexAttribPointervNV_pointer; + long NV_vertex_program_glGetVertexAttribivNV_pointer; + long NV_vertex_program_glGetVertexAttribfvNV_pointer; + long NV_vertex_program_glGetTrackMatrixivNV_pointer; + long NV_vertex_program_glGetProgramParameterfvNV_pointer; + long NV_vertex_program_glExecuteProgramNV_pointer; + + private boolean ARB_buffer_object_initNativeFunctionAddresses() { + return + (ARB_buffer_object_glGetBufferPointervARB_pointer = GLContext.getFunctionAddress("glGetBufferPointervARB")) != 0 && + (ARB_buffer_object_glGetBufferParameterivARB_pointer = GLContext.getFunctionAddress("glGetBufferParameterivARB")) != 0 && + (ARB_buffer_object_glUnmapBufferARB_pointer = GLContext.getFunctionAddress("glUnmapBufferARB")) != 0 && + (ARB_buffer_object_glMapBufferARB_pointer = GLContext.getFunctionAddress("glMapBufferARB")) != 0 && + (ARB_buffer_object_glGetBufferSubDataARB_pointer = GLContext.getFunctionAddress("glGetBufferSubDataARB")) != 0 && + (ARB_buffer_object_glBufferSubDataARB_pointer = GLContext.getFunctionAddress("glBufferSubDataARB")) != 0 && + (ARB_buffer_object_glBufferDataARB_pointer = GLContext.getFunctionAddress("glBufferDataARB")) != 0 && + (ARB_buffer_object_glIsBufferARB_pointer = GLContext.getFunctionAddress("glIsBufferARB")) != 0 && + (ARB_buffer_object_glGenBuffersARB_pointer = GLContext.getFunctionAddress("glGenBuffersARB")) != 0 && + (ARB_buffer_object_glDeleteBuffersARB_pointer = GLContext.getFunctionAddress("glDeleteBuffersARB")) != 0 && + (ARB_buffer_object_glBindBufferARB_pointer = GLContext.getFunctionAddress("glBindBufferARB")) != 0; + } + + private boolean ARB_color_buffer_float_initNativeFunctionAddresses() { + return + (ARB_color_buffer_float_glClampColorARB_pointer = GLContext.getFunctionAddress("glClampColorARB")) != 0; + } + + private boolean ARB_draw_buffers_initNativeFunctionAddresses() { + return + (ARB_draw_buffers_glDrawBuffersARB_pointer = GLContext.getFunctionAddress("glDrawBuffersARB")) != 0; + } + + private boolean ARB_imaging_initNativeFunctionAddresses() { + return + (ARB_imaging_glGetSeparableFilter_pointer = GLContext.getFunctionAddress("glGetSeparableFilter")) != 0 && + (ARB_imaging_glSeparableFilter2D_pointer = GLContext.getFunctionAddress("glSeparableFilter2D")) != 0 && + (ARB_imaging_glGetConvolutionParameteriv_pointer = GLContext.getFunctionAddress("glGetConvolutionParameteriv")) != 0 && + (ARB_imaging_glGetConvolutionParameterfv_pointer = GLContext.getFunctionAddress("glGetConvolutionParameterfv")) != 0 && + (ARB_imaging_glGetConvolutionFilter_pointer = GLContext.getFunctionAddress("glGetConvolutionFilter")) != 0 && + (ARB_imaging_glCopyConvolutionFilter2D_pointer = GLContext.getFunctionAddress("glCopyConvolutionFilter2D")) != 0 && + (ARB_imaging_glCopyConvolutionFilter1D_pointer = GLContext.getFunctionAddress("glCopyConvolutionFilter1D")) != 0 && + (ARB_imaging_glConvolutionParameteriv_pointer = GLContext.getFunctionAddress("glConvolutionParameteriv")) != 0 && + (ARB_imaging_glConvolutionParameteri_pointer = GLContext.getFunctionAddress("glConvolutionParameteri")) != 0 && + (ARB_imaging_glConvolutionParameterfv_pointer = GLContext.getFunctionAddress("glConvolutionParameterfv")) != 0 && + (ARB_imaging_glConvolutionParameterf_pointer = GLContext.getFunctionAddress("glConvolutionParameterf")) != 0 && + (ARB_imaging_glConvolutionFilter2D_pointer = GLContext.getFunctionAddress("glConvolutionFilter2D")) != 0 && + (ARB_imaging_glConvolutionFilter1D_pointer = GLContext.getFunctionAddress("glConvolutionFilter1D")) != 0 && + (ARB_imaging_glGetMinmaxParameteriv_pointer = GLContext.getFunctionAddress("glGetMinmaxParameteriv")) != 0 && + (ARB_imaging_glGetMinmaxParameterfv_pointer = GLContext.getFunctionAddress("glGetMinmaxParameterfv")) != 0 && + (ARB_imaging_glGetMinmax_pointer = GLContext.getFunctionAddress("glGetMinmax")) != 0 && + (ARB_imaging_glResetMinmax_pointer = GLContext.getFunctionAddress("glResetMinmax")) != 0 && + (ARB_imaging_glMinmax_pointer = GLContext.getFunctionAddress("glMinmax")) != 0 && + (ARB_imaging_glGetHistogramParameteriv_pointer = GLContext.getFunctionAddress("glGetHistogramParameteriv")) != 0 && + (ARB_imaging_glGetHistogramParameterfv_pointer = GLContext.getFunctionAddress("glGetHistogramParameterfv")) != 0 && + (ARB_imaging_glGetHistogram_pointer = GLContext.getFunctionAddress("glGetHistogram")) != 0 && + (ARB_imaging_glResetHistogram_pointer = GLContext.getFunctionAddress("glResetHistogram")) != 0 && + (ARB_imaging_glHistogram_pointer = GLContext.getFunctionAddress("glHistogram")) != 0 && + (ARB_imaging_glBlendColor_pointer = GLContext.getFunctionAddress("glBlendColor")) != 0 && + (ARB_imaging_glBlendEquation_pointer = GLContext.getFunctionAddress("glBlendEquation")) != 0 && + (ARB_imaging_glGetColorTableParameterfv_pointer = GLContext.getFunctionAddress("glGetColorTableParameterfv")) != 0 && + (ARB_imaging_glGetColorTableParameteriv_pointer = GLContext.getFunctionAddress("glGetColorTableParameteriv")) != 0 && + (ARB_imaging_glGetColorTable_pointer = GLContext.getFunctionAddress("glGetColorTable")) != 0 && + (ARB_imaging_glCopyColorTable_pointer = GLContext.getFunctionAddress("glCopyColorTable")) != 0 && + (ARB_imaging_glCopyColorSubTable_pointer = GLContext.getFunctionAddress("glCopyColorSubTable")) != 0 && + (ARB_imaging_glColorTableParameterfv_pointer = GLContext.getFunctionAddress("glColorTableParameterfv")) != 0 && + (ARB_imaging_glColorTableParameteriv_pointer = GLContext.getFunctionAddress("glColorTableParameteriv")) != 0 && + (ARB_imaging_glColorSubTable_pointer = GLContext.getFunctionAddress("glColorSubTable")) != 0 && + (ARB_imaging_glColorTable_pointer = GLContext.getFunctionAddress("glColorTable")) != 0; + } + + private boolean ARB_matrix_palette_initNativeFunctionAddresses() { + return + (ARB_matrix_palette_glMatrixIndexuivARB_pointer = GLContext.getFunctionAddress("glMatrixIndexuivARB")) != 0 && + (ARB_matrix_palette_glMatrixIndexusvARB_pointer = GLContext.getFunctionAddress("glMatrixIndexusvARB")) != 0 && + (ARB_matrix_palette_glMatrixIndexubvARB_pointer = GLContext.getFunctionAddress("glMatrixIndexubvARB")) != 0 && + (ARB_matrix_palette_glMatrixIndexPointerARB_pointer = GLContext.getFunctionAddress("glMatrixIndexPointerARB")) != 0 && + (ARB_matrix_palette_glCurrentPaletteMatrixARB_pointer = GLContext.getFunctionAddress("glCurrentPaletteMatrixARB")) != 0; + } + + private boolean ARB_multisample_initNativeFunctionAddresses() { + return + (ARB_multisample_glSampleCoverageARB_pointer = GLContext.getFunctionAddress("glSampleCoverageARB")) != 0; + } + + private boolean ARB_multitexture_initNativeFunctionAddresses() { + return + (ARB_multitexture_glMultiTexCoord4sARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord4sARB")) != 0 && + (ARB_multitexture_glMultiTexCoord4iARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord4iARB")) != 0 && + (ARB_multitexture_glMultiTexCoord4fARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord4fARB")) != 0 && + (ARB_multitexture_glMultiTexCoord3sARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord3sARB")) != 0 && + (ARB_multitexture_glMultiTexCoord3iARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord3iARB")) != 0 && + (ARB_multitexture_glMultiTexCoord3fARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord3fARB")) != 0 && + (ARB_multitexture_glMultiTexCoord2sARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord2sARB")) != 0 && + (ARB_multitexture_glMultiTexCoord2iARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord2iARB")) != 0 && + (ARB_multitexture_glMultiTexCoord2fARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord2fARB")) != 0 && + (ARB_multitexture_glMultiTexCoord1sARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord1sARB")) != 0 && + (ARB_multitexture_glMultiTexCoord1iARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord1iARB")) != 0 && + (ARB_multitexture_glMultiTexCoord1fARB_pointer = GLContext.getFunctionAddress("glMultiTexCoord1fARB")) != 0 && + (ARB_multitexture_glActiveTextureARB_pointer = GLContext.getFunctionAddress("glActiveTextureARB")) != 0 && + (ARB_multitexture_glClientActiveTextureARB_pointer = GLContext.getFunctionAddress("glClientActiveTextureARB")) != 0; + } + + private boolean ARB_occlusion_query_initNativeFunctionAddresses() { + return + (ARB_occlusion_query_glGetQueryObjectuivARB_pointer = GLContext.getFunctionAddress("glGetQueryObjectuivARB")) != 0 && + (ARB_occlusion_query_glGetQueryObjectivARB_pointer = GLContext.getFunctionAddress("glGetQueryObjectivARB")) != 0 && + (ARB_occlusion_query_glGetQueryivARB_pointer = GLContext.getFunctionAddress("glGetQueryivARB")) != 0 && + (ARB_occlusion_query_glEndQueryARB_pointer = GLContext.getFunctionAddress("glEndQueryARB")) != 0 && + (ARB_occlusion_query_glBeginQueryARB_pointer = GLContext.getFunctionAddress("glBeginQueryARB")) != 0 && + (ARB_occlusion_query_glIsQueryARB_pointer = GLContext.getFunctionAddress("glIsQueryARB")) != 0 && + (ARB_occlusion_query_glDeleteQueriesARB_pointer = GLContext.getFunctionAddress("glDeleteQueriesARB")) != 0 && + (ARB_occlusion_query_glGenQueriesARB_pointer = GLContext.getFunctionAddress("glGenQueriesARB")) != 0; + } + + private boolean ARB_point_parameters_initNativeFunctionAddresses() { + return + (ARB_point_parameters_glPointParameterfvARB_pointer = GLContext.getFunctionAddress("glPointParameterfvARB")) != 0 && + (ARB_point_parameters_glPointParameterfARB_pointer = GLContext.getFunctionAddress("glPointParameterfARB")) != 0; + } + + private boolean ARB_program_initNativeFunctionAddresses() { + return + (ARB_program_glIsProgramARB_pointer = GLContext.getFunctionAddress("glIsProgramARB")) != 0 && + (ARB_program_glGetProgramStringARB_pointer = GLContext.getFunctionAddress("glGetProgramStringARB")) != 0 && + (ARB_program_glGetProgramivARB_pointer = GLContext.getFunctionAddress("glGetProgramivARB")) != 0 && + (ARB_program_glGetProgramLocalParameterfvARB_pointer = GLContext.getFunctionAddress("glGetProgramLocalParameterfvARB")) != 0 && + (ARB_program_glGetProgramEnvParameterfvARB_pointer = GLContext.getFunctionAddress("glGetProgramEnvParameterfvARB")) != 0 && + (ARB_program_glProgramLocalParameter4fvARB_pointer = GLContext.getFunctionAddress("glProgramLocalParameter4fvARB")) != 0 && + (ARB_program_glProgramLocalParameter4fARB_pointer = GLContext.getFunctionAddress("glProgramLocalParameter4fARB")) != 0 && + (ARB_program_glProgramEnvParameter4fvARB_pointer = GLContext.getFunctionAddress("glProgramEnvParameter4fvARB")) != 0 && + (ARB_program_glProgramEnvParameter4fARB_pointer = GLContext.getFunctionAddress("glProgramEnvParameter4fARB")) != 0 && + (ARB_program_glGenProgramsARB_pointer = GLContext.getFunctionAddress("glGenProgramsARB")) != 0 && + (ARB_program_glDeleteProgramsARB_pointer = GLContext.getFunctionAddress("glDeleteProgramsARB")) != 0 && + (ARB_program_glBindProgramARB_pointer = GLContext.getFunctionAddress("glBindProgramARB")) != 0 && + (ARB_program_glProgramStringARB_pointer = GLContext.getFunctionAddress("glProgramStringARB")) != 0; + } + + private boolean ARB_shader_objects_initNativeFunctionAddresses() { + return + (ARB_shader_objects_glGetShaderSourceARB_pointer = GLContext.getFunctionAddress("glGetShaderSourceARB")) != 0 && + (ARB_shader_objects_glGetUniformivARB_pointer = GLContext.getFunctionAddress("glGetUniformivARB")) != 0 && + (ARB_shader_objects_glGetUniformfvARB_pointer = GLContext.getFunctionAddress("glGetUniformfvARB")) != 0 && + (ARB_shader_objects_glGetActiveUniformARB_pointer = GLContext.getFunctionAddress("glGetActiveUniformARB")) != 0 && + (ARB_shader_objects_glGetUniformLocationARB_pointer = GLContext.getFunctionAddress("glGetUniformLocationARB")) != 0 && + (ARB_shader_objects_glGetAttachedObjectsARB_pointer = GLContext.getFunctionAddress("glGetAttachedObjectsARB")) != 0 && + (ARB_shader_objects_glGetInfoLogARB_pointer = GLContext.getFunctionAddress("glGetInfoLogARB")) != 0 && + (ARB_shader_objects_glGetObjectParameterivARB_pointer = GLContext.getFunctionAddress("glGetObjectParameterivARB")) != 0 && + (ARB_shader_objects_glGetObjectParameterfvARB_pointer = GLContext.getFunctionAddress("glGetObjectParameterfvARB")) != 0 && + (ARB_shader_objects_glUniformMatrix4fvARB_pointer = GLContext.getFunctionAddress("glUniformMatrix4fvARB")) != 0 && + (ARB_shader_objects_glUniformMatrix3fvARB_pointer = GLContext.getFunctionAddress("glUniformMatrix3fvARB")) != 0 && + (ARB_shader_objects_glUniformMatrix2fvARB_pointer = GLContext.getFunctionAddress("glUniformMatrix2fvARB")) != 0 && + (ARB_shader_objects_glUniform4ivARB_pointer = GLContext.getFunctionAddress("glUniform4ivARB")) != 0 && + (ARB_shader_objects_glUniform3ivARB_pointer = GLContext.getFunctionAddress("glUniform3ivARB")) != 0 && + (ARB_shader_objects_glUniform2ivARB_pointer = GLContext.getFunctionAddress("glUniform2ivARB")) != 0 && + (ARB_shader_objects_glUniform1ivARB_pointer = GLContext.getFunctionAddress("glUniform1ivARB")) != 0 && + (ARB_shader_objects_glUniform4fvARB_pointer = GLContext.getFunctionAddress("glUniform4fvARB")) != 0 && + (ARB_shader_objects_glUniform3fvARB_pointer = GLContext.getFunctionAddress("glUniform3fvARB")) != 0 && + (ARB_shader_objects_glUniform2fvARB_pointer = GLContext.getFunctionAddress("glUniform2fvARB")) != 0 && + (ARB_shader_objects_glUniform1fvARB_pointer = GLContext.getFunctionAddress("glUniform1fvARB")) != 0 && + (ARB_shader_objects_glUniform4iARB_pointer = GLContext.getFunctionAddress("glUniform4iARB")) != 0 && + (ARB_shader_objects_glUniform3iARB_pointer = GLContext.getFunctionAddress("glUniform3iARB")) != 0 && + (ARB_shader_objects_glUniform2iARB_pointer = GLContext.getFunctionAddress("glUniform2iARB")) != 0 && + (ARB_shader_objects_glUniform1iARB_pointer = GLContext.getFunctionAddress("glUniform1iARB")) != 0 && + (ARB_shader_objects_glUniform4fARB_pointer = GLContext.getFunctionAddress("glUniform4fARB")) != 0 && + (ARB_shader_objects_glUniform3fARB_pointer = GLContext.getFunctionAddress("glUniform3fARB")) != 0 && + (ARB_shader_objects_glUniform2fARB_pointer = GLContext.getFunctionAddress("glUniform2fARB")) != 0 && + (ARB_shader_objects_glUniform1fARB_pointer = GLContext.getFunctionAddress("glUniform1fARB")) != 0 && + (ARB_shader_objects_glValidateProgramARB_pointer = GLContext.getFunctionAddress("glValidateProgramARB")) != 0 && + (ARB_shader_objects_glUseProgramObjectARB_pointer = GLContext.getFunctionAddress("glUseProgramObjectARB")) != 0 && + (ARB_shader_objects_glLinkProgramARB_pointer = GLContext.getFunctionAddress("glLinkProgramARB")) != 0 && + (ARB_shader_objects_glAttachObjectARB_pointer = GLContext.getFunctionAddress("glAttachObjectARB")) != 0 && + (ARB_shader_objects_glCreateProgramObjectARB_pointer = GLContext.getFunctionAddress("glCreateProgramObjectARB")) != 0 && + (ARB_shader_objects_glCompileShaderARB_pointer = GLContext.getFunctionAddress("glCompileShaderARB")) != 0 && + (ARB_shader_objects_glShaderSourceARB_pointer = GLContext.getFunctionAddress("glShaderSourceARB")) != 0 && + (ARB_shader_objects_glCreateShaderObjectARB_pointer = GLContext.getFunctionAddress("glCreateShaderObjectARB")) != 0 && + (ARB_shader_objects_glDetachObjectARB_pointer = GLContext.getFunctionAddress("glDetachObjectARB")) != 0 && + (ARB_shader_objects_glGetHandleARB_pointer = GLContext.getFunctionAddress("glGetHandleARB")) != 0 && + (ARB_shader_objects_glDeleteObjectARB_pointer = GLContext.getFunctionAddress("glDeleteObjectARB")) != 0; + } + + private boolean ARB_texture_compression_initNativeFunctionAddresses() { + return + (ARB_texture_compression_glGetCompressedTexImageARB_pointer = GLContext.getFunctionAddress("glGetCompressedTexImageARB")) != 0 && + (ARB_texture_compression_glCompressedTexSubImage3DARB_pointer = GLContext.getFunctionAddress("glCompressedTexSubImage3DARB")) != 0 && + (ARB_texture_compression_glCompressedTexSubImage2DARB_pointer = GLContext.getFunctionAddress("glCompressedTexSubImage2DARB")) != 0 && + (ARB_texture_compression_glCompressedTexSubImage1DARB_pointer = GLContext.getFunctionAddress("glCompressedTexSubImage1DARB")) != 0 && + (ARB_texture_compression_glCompressedTexImage3DARB_pointer = GLContext.getFunctionAddress("glCompressedTexImage3DARB")) != 0 && + (ARB_texture_compression_glCompressedTexImage2DARB_pointer = GLContext.getFunctionAddress("glCompressedTexImage2DARB")) != 0 && + (ARB_texture_compression_glCompressedTexImage1DARB_pointer = GLContext.getFunctionAddress("glCompressedTexImage1DARB")) != 0; + } + + private boolean ARB_transpose_matrix_initNativeFunctionAddresses() { + return + (ARB_transpose_matrix_glMultTransposeMatrixfARB_pointer = GLContext.getFunctionAddress("glMultTransposeMatrixfARB")) != 0 && + (ARB_transpose_matrix_glLoadTransposeMatrixfARB_pointer = GLContext.getFunctionAddress("glLoadTransposeMatrixfARB")) != 0; + } + + private boolean ARB_vertex_blend_initNativeFunctionAddresses() { + return + (ARB_vertex_blend_glVertexBlendARB_pointer = GLContext.getFunctionAddress("glVertexBlendARB")) != 0 && + (ARB_vertex_blend_glWeightPointerARB_pointer = GLContext.getFunctionAddress("glWeightPointerARB")) != 0 && + (ARB_vertex_blend_glWeightuivARB_pointer = GLContext.getFunctionAddress("glWeightuivARB")) != 0 && + (ARB_vertex_blend_glWeightusvARB_pointer = GLContext.getFunctionAddress("glWeightusvARB")) != 0 && + (ARB_vertex_blend_glWeightubvARB_pointer = GLContext.getFunctionAddress("glWeightubvARB")) != 0 && + (ARB_vertex_blend_glWeightfvARB_pointer = GLContext.getFunctionAddress("glWeightfvARB")) != 0 && + (ARB_vertex_blend_glWeightivARB_pointer = GLContext.getFunctionAddress("glWeightivARB")) != 0 && + (ARB_vertex_blend_glWeightsvARB_pointer = GLContext.getFunctionAddress("glWeightsvARB")) != 0 && + (ARB_vertex_blend_glWeightbvARB_pointer = GLContext.getFunctionAddress("glWeightbvARB")) != 0; + } + + private boolean ARB_vertex_program_initNativeFunctionAddresses() { + return + (ARB_vertex_program_glGetVertexAttribPointervARB_pointer = GLContext.getFunctionAddress("glGetVertexAttribPointervARB")) != 0 && + (ARB_vertex_program_glGetVertexAttribivARB_pointer = GLContext.getFunctionAddress("glGetVertexAttribivARB")) != 0 && + (ARB_vertex_program_glGetVertexAttribfvARB_pointer = GLContext.getFunctionAddress("glGetVertexAttribfvARB")) != 0 && + (ARB_vertex_program_glDisableVertexAttribArrayARB_pointer = GLContext.getFunctionAddress("glDisableVertexAttribArrayARB")) != 0 && + (ARB_vertex_program_glEnableVertexAttribArrayARB_pointer = GLContext.getFunctionAddress("glEnableVertexAttribArrayARB")) != 0 && + (ARB_vertex_program_glVertexAttribPointerARB_pointer = GLContext.getFunctionAddress("glVertexAttribPointerARB")) != 0 && + (ARB_vertex_program_glVertexAttrib4NubARB_pointer = GLContext.getFunctionAddress("glVertexAttrib4NubARB")) != 0 && + (ARB_vertex_program_glVertexAttrib4fARB_pointer = GLContext.getFunctionAddress("glVertexAttrib4fARB")) != 0 && + (ARB_vertex_program_glVertexAttrib4sARB_pointer = GLContext.getFunctionAddress("glVertexAttrib4sARB")) != 0 && + (ARB_vertex_program_glVertexAttrib3fARB_pointer = GLContext.getFunctionAddress("glVertexAttrib3fARB")) != 0 && + (ARB_vertex_program_glVertexAttrib3sARB_pointer = GLContext.getFunctionAddress("glVertexAttrib3sARB")) != 0 && + (ARB_vertex_program_glVertexAttrib2fARB_pointer = GLContext.getFunctionAddress("glVertexAttrib2fARB")) != 0 && + (ARB_vertex_program_glVertexAttrib2sARB_pointer = GLContext.getFunctionAddress("glVertexAttrib2sARB")) != 0 && + (ARB_vertex_program_glVertexAttrib1fARB_pointer = GLContext.getFunctionAddress("glVertexAttrib1fARB")) != 0 && + (ARB_vertex_program_glVertexAttrib1sARB_pointer = GLContext.getFunctionAddress("glVertexAttrib1sARB")) != 0; + } + + private boolean ARB_vertex_shader_initNativeFunctionAddresses() { + return + (ARB_vertex_shader_glGetAttribLocationARB_pointer = GLContext.getFunctionAddress("glGetAttribLocationARB")) != 0 && + (ARB_vertex_shader_glGetActiveAttribARB_pointer = GLContext.getFunctionAddress("glGetActiveAttribARB")) != 0 && + (ARB_vertex_shader_glBindAttribLocationARB_pointer = GLContext.getFunctionAddress("glBindAttribLocationARB")) != 0; + } + + private boolean ARB_window_pos_initNativeFunctionAddresses() { + return + (ARB_window_pos_glWindowPos3sARB_pointer = GLContext.getFunctionAddress("glWindowPos3sARB")) != 0 && + (ARB_window_pos_glWindowPos3iARB_pointer = GLContext.getFunctionAddress("glWindowPos3iARB")) != 0 && + (ARB_window_pos_glWindowPos3fARB_pointer = GLContext.getFunctionAddress("glWindowPos3fARB")) != 0 && + (ARB_window_pos_glWindowPos2sARB_pointer = GLContext.getFunctionAddress("glWindowPos2sARB")) != 0 && + (ARB_window_pos_glWindowPos2iARB_pointer = GLContext.getFunctionAddress("glWindowPos2iARB")) != 0 && + (ARB_window_pos_glWindowPos2fARB_pointer = GLContext.getFunctionAddress("glWindowPos2fARB")) != 0; + } + + private boolean ATI_draw_buffers_initNativeFunctionAddresses() { + return + (ATI_draw_buffers_glDrawBuffersATI_pointer = GLContext.getFunctionAddress("glDrawBuffersATI")) != 0; + } + + private boolean ATI_element_array_initNativeFunctionAddresses() { + return + (ATI_element_array_glDrawRangeElementArrayATI_pointer = GLContext.getFunctionAddress("glDrawRangeElementArrayATI")) != 0 && + (ATI_element_array_glDrawElementArrayATI_pointer = GLContext.getFunctionAddress("glDrawElementArrayATI")) != 0 && + (ATI_element_array_glElementPointerATI_pointer = GLContext.getFunctionAddress("glElementPointerATI")) != 0; + } + + private boolean ATI_envmap_bumpmap_initNativeFunctionAddresses() { + return + (ATI_envmap_bumpmap_glGetTexBumpParameterivATI_pointer = GLContext.getFunctionAddress("glGetTexBumpParameterivATI")) != 0 && + (ATI_envmap_bumpmap_glGetTexBumpParameterfvATI_pointer = GLContext.getFunctionAddress("glGetTexBumpParameterfvATI")) != 0 && + (ATI_envmap_bumpmap_glTexBumpParameterivATI_pointer = GLContext.getFunctionAddress("glTexBumpParameterivATI")) != 0 && + (ATI_envmap_bumpmap_glTexBumpParameterfvATI_pointer = GLContext.getFunctionAddress("glTexBumpParameterfvATI")) != 0; + } + + private boolean ATI_fragment_shader_initNativeFunctionAddresses() { + return + (ATI_fragment_shader_glSetFragmentShaderConstantATI_pointer = GLContext.getFunctionAddress("glSetFragmentShaderConstantATI")) != 0 && + (ATI_fragment_shader_glAlphaFragmentOp3ATI_pointer = GLContext.getFunctionAddress("glAlphaFragmentOp3ATI")) != 0 && + (ATI_fragment_shader_glAlphaFragmentOp2ATI_pointer = GLContext.getFunctionAddress("glAlphaFragmentOp2ATI")) != 0 && + (ATI_fragment_shader_glAlphaFragmentOp1ATI_pointer = GLContext.getFunctionAddress("glAlphaFragmentOp1ATI")) != 0 && + (ATI_fragment_shader_glColorFragmentOp3ATI_pointer = GLContext.getFunctionAddress("glColorFragmentOp3ATI")) != 0 && + (ATI_fragment_shader_glColorFragmentOp2ATI_pointer = GLContext.getFunctionAddress("glColorFragmentOp2ATI")) != 0 && + (ATI_fragment_shader_glColorFragmentOp1ATI_pointer = GLContext.getFunctionAddress("glColorFragmentOp1ATI")) != 0 && + (ATI_fragment_shader_glSampleMapATI_pointer = GLContext.getFunctionAddress("glSampleMapATI")) != 0 && + (ATI_fragment_shader_glPassTexCoordATI_pointer = GLContext.getFunctionAddress("glPassTexCoordATI")) != 0 && + (ATI_fragment_shader_glEndFragmentShaderATI_pointer = GLContext.getFunctionAddress("glEndFragmentShaderATI")) != 0 && + (ATI_fragment_shader_glBeginFragmentShaderATI_pointer = GLContext.getFunctionAddress("glBeginFragmentShaderATI")) != 0 && + (ATI_fragment_shader_glDeleteFragmentShaderATI_pointer = GLContext.getFunctionAddress("glDeleteFragmentShaderATI")) != 0 && + (ATI_fragment_shader_glBindFragmentShaderATI_pointer = GLContext.getFunctionAddress("glBindFragmentShaderATI")) != 0 && + (ATI_fragment_shader_glGenFragmentShadersATI_pointer = GLContext.getFunctionAddress("glGenFragmentShadersATI")) != 0; + } + + private boolean ATI_map_object_buffer_initNativeFunctionAddresses() { + return + (ATI_map_object_buffer_glUnmapObjectBufferATI_pointer = GLContext.getFunctionAddress("glUnmapObjectBufferATI")) != 0 && + (ATI_map_object_buffer_glMapObjectBufferATI_pointer = GLContext.getFunctionAddress("glMapObjectBufferATI")) != 0; + } + + private boolean ATI_pn_triangles_initNativeFunctionAddresses() { + return + (ATI_pn_triangles_glPNTrianglesiATI_pointer = GLContext.getFunctionAddress("glPNTrianglesiATI")) != 0 && + (ATI_pn_triangles_glPNTrianglesfATI_pointer = GLContext.getFunctionAddress("glPNTrianglesfATI")) != 0; + } + + private boolean ATI_separate_stencil_initNativeFunctionAddresses() { + return + (ATI_separate_stencil_glStencilFuncSeparateATI_pointer = GLContext.getFunctionAddress("glStencilFuncSeparateATI")) != 0 && + (ATI_separate_stencil_glStencilOpSeparateATI_pointer = GLContext.getFunctionAddress("glStencilOpSeparateATI")) != 0; + } + + private boolean ATI_vertex_array_object_initNativeFunctionAddresses() { + return + (ATI_vertex_array_object_glGetVariantArrayObjectivATI_pointer = GLContext.getFunctionAddress("glGetVariantArrayObjectivATI")) != 0 && + (ATI_vertex_array_object_glGetVariantArrayObjectfvATI_pointer = GLContext.getFunctionAddress("glGetVariantArrayObjectfvATI")) != 0 && + (ATI_vertex_array_object_glVariantArrayObjectATI_pointer = GLContext.getFunctionAddress("glVariantArrayObjectATI")) != 0 && + (ATI_vertex_array_object_glGetArrayObjectivATI_pointer = GLContext.getFunctionAddress("glGetArrayObjectivATI")) != 0 && + (ATI_vertex_array_object_glGetArrayObjectfvATI_pointer = GLContext.getFunctionAddress("glGetArrayObjectfvATI")) != 0 && + (ATI_vertex_array_object_glArrayObjectATI_pointer = GLContext.getFunctionAddress("glArrayObjectATI")) != 0 && + (ATI_vertex_array_object_glFreeObjectBufferATI_pointer = GLContext.getFunctionAddress("glFreeObjectBufferATI")) != 0 && + (ATI_vertex_array_object_glGetObjectBufferivATI_pointer = GLContext.getFunctionAddress("glGetObjectBufferivATI")) != 0 && + (ATI_vertex_array_object_glGetObjectBufferfvATI_pointer = GLContext.getFunctionAddress("glGetObjectBufferfvATI")) != 0 && + (ATI_vertex_array_object_glUpdateObjectBufferATI_pointer = GLContext.getFunctionAddress("glUpdateObjectBufferATI")) != 0 && + (ATI_vertex_array_object_glIsObjectBufferATI_pointer = GLContext.getFunctionAddress("glIsObjectBufferATI")) != 0 && + (ATI_vertex_array_object_glNewObjectBufferATI_pointer = GLContext.getFunctionAddress("glNewObjectBufferATI")) != 0; + } + + private boolean ATI_vertex_attrib_array_object_initNativeFunctionAddresses() { + return + (ATI_vertex_attrib_array_object_glGetVertexAttribArrayObjectivATI_pointer = GLContext.getFunctionAddress("glGetVertexAttribArrayObjectivATI")) != 0 && + (ATI_vertex_attrib_array_object_glGetVertexAttribArrayObjectfvATI_pointer = GLContext.getFunctionAddress("glGetVertexAttribArrayObjectfvATI")) != 0 && + (ATI_vertex_attrib_array_object_glVertexAttribArrayObjectATI_pointer = GLContext.getFunctionAddress("glVertexAttribArrayObjectATI")) != 0; + } + + private boolean ATI_vertex_streams_initNativeFunctionAddresses() { + return + (ATI_vertex_streams_glVertexBlendEnviATI_pointer = GLContext.getFunctionAddress("glVertexBlendEnviATI")) != 0 && + (ATI_vertex_streams_glVertexBlendEnvfATI_pointer = GLContext.getFunctionAddress("glVertexBlendEnvfATI")) != 0 && + (ATI_vertex_streams_glClientActiveVertexStreamATI_pointer = GLContext.getFunctionAddress("glClientActiveVertexStreamATI")) != 0 && + (ATI_vertex_streams_glNormalStream3sATI_pointer = GLContext.getFunctionAddress("glNormalStream3sATI")) != 0 && + (ATI_vertex_streams_glNormalStream3iATI_pointer = GLContext.getFunctionAddress("glNormalStream3iATI")) != 0 && + (ATI_vertex_streams_glNormalStream3fATI_pointer = GLContext.getFunctionAddress("glNormalStream3fATI")) != 0 && + (ATI_vertex_streams_glNormalStream3bATI_pointer = GLContext.getFunctionAddress("glNormalStream3bATI")) != 0 && + (ATI_vertex_streams_glVertexStream4sATI_pointer = GLContext.getFunctionAddress("glVertexStream4sATI")) != 0 && + (ATI_vertex_streams_glVertexStream4iATI_pointer = GLContext.getFunctionAddress("glVertexStream4iATI")) != 0 && + (ATI_vertex_streams_glVertexStream4fATI_pointer = GLContext.getFunctionAddress("glVertexStream4fATI")) != 0 && + (ATI_vertex_streams_glVertexStream3sATI_pointer = GLContext.getFunctionAddress("glVertexStream3sATI")) != 0 && + (ATI_vertex_streams_glVertexStream3iATI_pointer = GLContext.getFunctionAddress("glVertexStream3iATI")) != 0 && + (ATI_vertex_streams_glVertexStream3fATI_pointer = GLContext.getFunctionAddress("glVertexStream3fATI")) != 0 && + (ATI_vertex_streams_glVertexStream2sATI_pointer = GLContext.getFunctionAddress("glVertexStream2sATI")) != 0 && + (ATI_vertex_streams_glVertexStream2iATI_pointer = GLContext.getFunctionAddress("glVertexStream2iATI")) != 0 && + (ATI_vertex_streams_glVertexStream2fATI_pointer = GLContext.getFunctionAddress("glVertexStream2fATI")) != 0; + } + + private boolean EXT_blend_equation_separate_initNativeFunctionAddresses() { + return + (EXT_blend_equation_separate_glBlendEquationSeparateEXT_pointer = GLContext.getFunctionAddress("glBlendEquationSeparateEXT")) != 0; + } + + private boolean EXT_blend_func_separate_initNativeFunctionAddresses() { + return + (EXT_blend_func_separate_glBlendFuncSeparateEXT_pointer = GLContext.getFunctionAddress("glBlendFuncSeparateEXT")) != 0; + } + + private boolean EXT_compiled_vertex_array_initNativeFunctionAddresses() { + return + (EXT_compiled_vertex_array_glUnlockArraysEXT_pointer = GLContext.getFunctionAddress("glUnlockArraysEXT")) != 0 && + (EXT_compiled_vertex_array_glLockArraysEXT_pointer = GLContext.getFunctionAddress("glLockArraysEXT")) != 0; + } + + private boolean EXT_depth_bounds_test_initNativeFunctionAddresses() { + return + (EXT_depth_bounds_test_glDepthBoundsEXT_pointer = GLContext.getFunctionAddress("glDepthBoundsEXT")) != 0; + } + + private boolean EXT_draw_range_elements_initNativeFunctionAddresses() { + return + (EXT_draw_range_elements_glDrawRangeElementsEXT_pointer = GLContext.getFunctionAddress("glDrawRangeElementsEXT")) != 0; + } + + private boolean EXT_fog_coord_initNativeFunctionAddresses() { + return + (EXT_fog_coord_glFogCoordPointerEXT_pointer = GLContext.getFunctionAddress("glFogCoordPointerEXT")) != 0 && + (EXT_fog_coord_glFogCoordfEXT_pointer = GLContext.getFunctionAddress("glFogCoordfEXT")) != 0; + } + + private boolean EXT_framebuffer_object_initNativeFunctionAddresses() { + return + (EXT_framebuffer_object_glGenerateMipmapEXT_pointer = GLContext.getFunctionAddress("glGenerateMipmapEXT")) != 0 && + (EXT_framebuffer_object_glGetFramebufferAttachmentParameterivEXT_pointer = GLContext.getFunctionAddress("glGetFramebufferAttachmentParameterivEXT")) != 0 && + (EXT_framebuffer_object_glFramebufferRenderbufferEXT_pointer = GLContext.getFunctionAddress("glFramebufferRenderbufferEXT")) != 0 && + (EXT_framebuffer_object_glFramebufferTexture3DEXT_pointer = GLContext.getFunctionAddress("glFramebufferTexture3DEXT")) != 0 && + (EXT_framebuffer_object_glFramebufferTexture2DEXT_pointer = GLContext.getFunctionAddress("glFramebufferTexture2DEXT")) != 0 && + (EXT_framebuffer_object_glFramebufferTexture1DEXT_pointer = GLContext.getFunctionAddress("glFramebufferTexture1DEXT")) != 0 && + (EXT_framebuffer_object_glCheckFramebufferStatusEXT_pointer = GLContext.getFunctionAddress("glCheckFramebufferStatusEXT")) != 0 && + (EXT_framebuffer_object_glGenFramebuffersEXT_pointer = GLContext.getFunctionAddress("glGenFramebuffersEXT")) != 0 && + (EXT_framebuffer_object_glDeleteFramebuffersEXT_pointer = GLContext.getFunctionAddress("glDeleteFramebuffersEXT")) != 0 && + (EXT_framebuffer_object_glBindFramebufferEXT_pointer = GLContext.getFunctionAddress("glBindFramebufferEXT")) != 0 && + (EXT_framebuffer_object_glIsFramebufferEXT_pointer = GLContext.getFunctionAddress("glIsFramebufferEXT")) != 0 && + (EXT_framebuffer_object_glGetRenderbufferParameterivEXT_pointer = GLContext.getFunctionAddress("glGetRenderbufferParameterivEXT")) != 0 && + (EXT_framebuffer_object_glRenderbufferStorageEXT_pointer = GLContext.getFunctionAddress("glRenderbufferStorageEXT")) != 0 && + (EXT_framebuffer_object_glGenRenderbuffersEXT_pointer = GLContext.getFunctionAddress("glGenRenderbuffersEXT")) != 0 && + (EXT_framebuffer_object_glDeleteRenderbuffersEXT_pointer = GLContext.getFunctionAddress("glDeleteRenderbuffersEXT")) != 0 && + (EXT_framebuffer_object_glBindRenderbufferEXT_pointer = GLContext.getFunctionAddress("glBindRenderbufferEXT")) != 0 && + (EXT_framebuffer_object_glIsRenderbufferEXT_pointer = GLContext.getFunctionAddress("glIsRenderbufferEXT")) != 0; + } + + private boolean EXT_multi_draw_arrays_initNativeFunctionAddresses() { + return + (EXT_multi_draw_arrays_glMultiDrawArraysEXT_pointer = GLContext.getFunctionAddress("glMultiDrawArraysEXT")) != 0; + } + + private boolean EXT_paletted_texture_initNativeFunctionAddresses() { + return + (EXT_paletted_texture_glGetColorTableParameterfvEXT_pointer = GLContext.getFunctionAddress("glGetColorTableParameterfvEXT")) != 0 && + (EXT_paletted_texture_glGetColorTableParameterivEXT_pointer = GLContext.getFunctionAddress("glGetColorTableParameterivEXT")) != 0 && + (EXT_paletted_texture_glGetColorTableEXT_pointer = GLContext.getFunctionAddress("glGetColorTableEXT")) != 0 && + (EXT_paletted_texture_glColorSubTableEXT_pointer = GLContext.getFunctionAddress("glColorSubTableEXT")) != 0 && + (EXT_paletted_texture_glColorTableEXT_pointer = GLContext.getFunctionAddress("glColorTableEXT")) != 0; + } + + private boolean EXT_point_parameters_initNativeFunctionAddresses() { + return + (EXT_point_parameters_glPointParameterfvEXT_pointer = GLContext.getFunctionAddress("glPointParameterfvEXT")) != 0 && + (EXT_point_parameters_glPointParameterfEXT_pointer = GLContext.getFunctionAddress("glPointParameterfEXT")) != 0; + } + + private boolean EXT_secondary_color_initNativeFunctionAddresses() { + return + (EXT_secondary_color_glSecondaryColorPointerEXT_pointer = GLContext.getFunctionAddress("glSecondaryColorPointerEXT")) != 0 && + (EXT_secondary_color_glSecondaryColor3ubEXT_pointer = GLContext.getFunctionAddress("glSecondaryColor3ubEXT")) != 0 && + (EXT_secondary_color_glSecondaryColor3fEXT_pointer = GLContext.getFunctionAddress("glSecondaryColor3fEXT")) != 0 && + (EXT_secondary_color_glSecondaryColor3bEXT_pointer = GLContext.getFunctionAddress("glSecondaryColor3bEXT")) != 0; + } + + private boolean EXT_stencil_two_side_initNativeFunctionAddresses() { + return + (EXT_stencil_two_side_glActiveStencilFaceEXT_pointer = GLContext.getFunctionAddress("glActiveStencilFaceEXT")) != 0; + } + + private boolean EXT_vertex_shader_initNativeFunctionAddresses() { + return + (EXT_vertex_shader_glGetLocalConstantFloatvEXT_pointer = GLContext.getFunctionAddress("glGetLocalConstantFloatvEXT")) != 0 && + (EXT_vertex_shader_glGetLocalConstantIntegervEXT_pointer = GLContext.getFunctionAddress("glGetLocalConstantIntegervEXT")) != 0 && + (EXT_vertex_shader_glGetLocalConstantBooleanvEXT_pointer = GLContext.getFunctionAddress("glGetLocalConstantBooleanvEXT")) != 0 && + (EXT_vertex_shader_glGetInvariantFloatvEXT_pointer = GLContext.getFunctionAddress("glGetInvariantFloatvEXT")) != 0 && + (EXT_vertex_shader_glGetInvariantIntegervEXT_pointer = GLContext.getFunctionAddress("glGetInvariantIntegervEXT")) != 0 && + (EXT_vertex_shader_glGetInvariantBooleanvEXT_pointer = GLContext.getFunctionAddress("glGetInvariantBooleanvEXT")) != 0 && + (EXT_vertex_shader_glGetVariantPointervEXT_pointer = GLContext.getFunctionAddress("glGetVariantPointervEXT")) != 0 && + (EXT_vertex_shader_glGetVariantFloatvEXT_pointer = GLContext.getFunctionAddress("glGetVariantFloatvEXT")) != 0 && + (EXT_vertex_shader_glGetVariantIntegervEXT_pointer = GLContext.getFunctionAddress("glGetVariantIntegervEXT")) != 0 && + (EXT_vertex_shader_glGetVariantBooleanvEXT_pointer = GLContext.getFunctionAddress("glGetVariantBooleanvEXT")) != 0 && + (EXT_vertex_shader_glIsVariantEnabledEXT_pointer = GLContext.getFunctionAddress("glIsVariantEnabledEXT")) != 0 && + (EXT_vertex_shader_glBindParameterEXT_pointer = GLContext.getFunctionAddress("glBindParameterEXT")) != 0 && + (EXT_vertex_shader_glBindTextureUnitParameterEXT_pointer = GLContext.getFunctionAddress("glBindTextureUnitParameterEXT")) != 0 && + (EXT_vertex_shader_glBindTexGenParameterEXT_pointer = GLContext.getFunctionAddress("glBindTexGenParameterEXT")) != 0 && + (EXT_vertex_shader_glBindMaterialParameterEXT_pointer = GLContext.getFunctionAddress("glBindMaterialParameterEXT")) != 0 && + (EXT_vertex_shader_glBindLightParameterEXT_pointer = GLContext.getFunctionAddress("glBindLightParameterEXT")) != 0 && + (EXT_vertex_shader_glDisableVariantClientStateEXT_pointer = GLContext.getFunctionAddress("glDisableVariantClientStateEXT")) != 0 && + (EXT_vertex_shader_glEnableVariantClientStateEXT_pointer = GLContext.getFunctionAddress("glEnableVariantClientStateEXT")) != 0 && + (EXT_vertex_shader_glVariantPointerEXT_pointer = GLContext.getFunctionAddress("glVariantPointerEXT")) != 0 && + (EXT_vertex_shader_glVariantuivEXT_pointer = GLContext.getFunctionAddress("glVariantuivEXT")) != 0 && + (EXT_vertex_shader_glVariantusvEXT_pointer = GLContext.getFunctionAddress("glVariantusvEXT")) != 0 && + (EXT_vertex_shader_glVariantubvEXT_pointer = GLContext.getFunctionAddress("glVariantubvEXT")) != 0 && + (EXT_vertex_shader_glVariantfvEXT_pointer = GLContext.getFunctionAddress("glVariantfvEXT")) != 0 && + (EXT_vertex_shader_glVariantivEXT_pointer = GLContext.getFunctionAddress("glVariantivEXT")) != 0 && + (EXT_vertex_shader_glVariantsvEXT_pointer = GLContext.getFunctionAddress("glVariantsvEXT")) != 0 && + (EXT_vertex_shader_glVariantbvEXT_pointer = GLContext.getFunctionAddress("glVariantbvEXT")) != 0 && + (EXT_vertex_shader_glSetLocalConstantEXT_pointer = GLContext.getFunctionAddress("glSetLocalConstantEXT")) != 0 && + (EXT_vertex_shader_glSetInvariantEXT_pointer = GLContext.getFunctionAddress("glSetInvariantEXT")) != 0 && + (EXT_vertex_shader_glGenSymbolsEXT_pointer = GLContext.getFunctionAddress("glGenSymbolsEXT")) != 0 && + (EXT_vertex_shader_glExtractComponentEXT_pointer = GLContext.getFunctionAddress("glExtractComponentEXT")) != 0 && + (EXT_vertex_shader_glInsertComponentEXT_pointer = GLContext.getFunctionAddress("glInsertComponentEXT")) != 0 && + (EXT_vertex_shader_glWriteMaskEXT_pointer = GLContext.getFunctionAddress("glWriteMaskEXT")) != 0 && + (EXT_vertex_shader_glSwizzleEXT_pointer = GLContext.getFunctionAddress("glSwizzleEXT")) != 0 && + (EXT_vertex_shader_glShaderOp3EXT_pointer = GLContext.getFunctionAddress("glShaderOp3EXT")) != 0 && + (EXT_vertex_shader_glShaderOp2EXT_pointer = GLContext.getFunctionAddress("glShaderOp2EXT")) != 0 && + (EXT_vertex_shader_glShaderOp1EXT_pointer = GLContext.getFunctionAddress("glShaderOp1EXT")) != 0 && + (EXT_vertex_shader_glDeleteVertexShaderEXT_pointer = GLContext.getFunctionAddress("glDeleteVertexShaderEXT")) != 0 && + (EXT_vertex_shader_glGenVertexShadersEXT_pointer = GLContext.getFunctionAddress("glGenVertexShadersEXT")) != 0 && + (EXT_vertex_shader_glBindVertexShaderEXT_pointer = GLContext.getFunctionAddress("glBindVertexShaderEXT")) != 0 && + (EXT_vertex_shader_glEndVertexShaderEXT_pointer = GLContext.getFunctionAddress("glEndVertexShaderEXT")) != 0 && + (EXT_vertex_shader_glBeginVertexShaderEXT_pointer = GLContext.getFunctionAddress("glBeginVertexShaderEXT")) != 0; + } + + private boolean EXT_vertex_weighting_initNativeFunctionAddresses() { + return + (EXT_vertex_weighting_glVertexWeightPointerEXT_pointer = GLContext.getFunctionAddress("glVertexWeightPointerEXT")) != 0 && + (EXT_vertex_weighting_glVertexWeightfEXT_pointer = GLContext.getFunctionAddress("glVertexWeightfEXT")) != 0; + } + + private boolean GL11_initNativeFunctionAddresses() { + return + (GL11_glViewport_pointer = GLContext.getFunctionAddress("glViewport")) != 0 && + (GL11_glStencilMask_pointer = GLContext.getFunctionAddress("glStencilMask")) != 0 && + (GL11_glStencilOp_pointer = GLContext.getFunctionAddress("glStencilOp")) != 0 && + (GL11_glTexCoord4f_pointer = GLContext.getFunctionAddress("glTexCoord4f")) != 0 && + (GL11_glTexCoord3f_pointer = GLContext.getFunctionAddress("glTexCoord3f")) != 0 && + (GL11_glTexCoord2f_pointer = GLContext.getFunctionAddress("glTexCoord2f")) != 0 && + (GL11_glTexCoord1f_pointer = GLContext.getFunctionAddress("glTexCoord1f")) != 0 && + (GL11_glTexCoordPointer_pointer = GLContext.getFunctionAddress("glTexCoordPointer")) != 0 && + (GL11_glTexEnviv_pointer = GLContext.getFunctionAddress("glTexEnviv")) != 0 && + (GL11_glTexEnvfv_pointer = GLContext.getFunctionAddress("glTexEnvfv")) != 0 && + (GL11_glTexEnvi_pointer = GLContext.getFunctionAddress("glTexEnvi")) != 0 && + (GL11_glTexEnvf_pointer = GLContext.getFunctionAddress("glTexEnvf")) != 0 && + (GL11_glTexGeniv_pointer = GLContext.getFunctionAddress("glTexGeniv")) != 0 && + (GL11_glTexGeni_pointer = GLContext.getFunctionAddress("glTexGeni")) != 0 && + (GL11_glTexGenfv_pointer = GLContext.getFunctionAddress("glTexGenfv")) != 0 && + (GL11_glTexGenf_pointer = GLContext.getFunctionAddress("glTexGenf")) != 0 && + (GL11_glTexParameteriv_pointer = GLContext.getFunctionAddress("glTexParameteriv")) != 0 && + (GL11_glTexParameterfv_pointer = GLContext.getFunctionAddress("glTexParameterfv")) != 0 && + (GL11_glTexParameteri_pointer = GLContext.getFunctionAddress("glTexParameteri")) != 0 && + (GL11_glTexParameterf_pointer = GLContext.getFunctionAddress("glTexParameterf")) != 0 && + (GL11_glTexSubImage2D_pointer = GLContext.getFunctionAddress("glTexSubImage2D")) != 0 && + (GL11_glTexSubImage1D_pointer = GLContext.getFunctionAddress("glTexSubImage1D")) != 0 && + (GL11_glTexImage2D_pointer = GLContext.getFunctionAddress("glTexImage2D")) != 0 && + (GL11_glTexImage1D_pointer = GLContext.getFunctionAddress("glTexImage1D")) != 0 && + (GL11_glTranslatef_pointer = GLContext.getFunctionAddress("glTranslatef")) != 0 && + (GL11_glVertex4i_pointer = GLContext.getFunctionAddress("glVertex4i")) != 0 && + (GL11_glVertex4f_pointer = GLContext.getFunctionAddress("glVertex4f")) != 0 && + (GL11_glVertex3i_pointer = GLContext.getFunctionAddress("glVertex3i")) != 0 && + (GL11_glVertex3f_pointer = GLContext.getFunctionAddress("glVertex3f")) != 0 && + (GL11_glVertex2i_pointer = GLContext.getFunctionAddress("glVertex2i")) != 0 && + (GL11_glVertex2f_pointer = GLContext.getFunctionAddress("glVertex2f")) != 0 && + (GL11_glVertexPointer_pointer = GLContext.getFunctionAddress("glVertexPointer")) != 0 && + (GL11_glStencilFunc_pointer = GLContext.getFunctionAddress("glStencilFunc")) != 0 && + (GL11_glPopAttrib_pointer = GLContext.getFunctionAddress("glPopAttrib")) != 0 && + (GL11_glPushAttrib_pointer = GLContext.getFunctionAddress("glPushAttrib")) != 0 && + (GL11_glPopClientAttrib_pointer = GLContext.getFunctionAddress("glPopClientAttrib")) != 0 && + (GL11_glPushClientAttrib_pointer = GLContext.getFunctionAddress("glPushClientAttrib")) != 0 && + (GL11_glPopMatrix_pointer = GLContext.getFunctionAddress("glPopMatrix")) != 0 && + (GL11_glPushMatrix_pointer = GLContext.getFunctionAddress("glPushMatrix")) != 0 && + (GL11_glPopName_pointer = GLContext.getFunctionAddress("glPopName")) != 0 && + (GL11_glPushName_pointer = GLContext.getFunctionAddress("glPushName")) != 0 && + (GL11_glRasterPos4i_pointer = GLContext.getFunctionAddress("glRasterPos4i")) != 0 && + (GL11_glRasterPos4f_pointer = GLContext.getFunctionAddress("glRasterPos4f")) != 0 && + (GL11_glRasterPos3i_pointer = GLContext.getFunctionAddress("glRasterPos3i")) != 0 && + (GL11_glRasterPos3f_pointer = GLContext.getFunctionAddress("glRasterPos3f")) != 0 && + (GL11_glRasterPos2i_pointer = GLContext.getFunctionAddress("glRasterPos2i")) != 0 && + (GL11_glRasterPos2f_pointer = GLContext.getFunctionAddress("glRasterPos2f")) != 0 && + (GL11_glReadBuffer_pointer = GLContext.getFunctionAddress("glReadBuffer")) != 0 && + (GL11_glReadPixels_pointer = GLContext.getFunctionAddress("glReadPixels")) != 0 && + (GL11_glRecti_pointer = GLContext.getFunctionAddress("glRecti")) != 0 && + (GL11_glRectf_pointer = GLContext.getFunctionAddress("glRectf")) != 0 && + (GL11_glRenderMode_pointer = GLContext.getFunctionAddress("glRenderMode")) != 0 && + (GL11_glRotatef_pointer = GLContext.getFunctionAddress("glRotatef")) != 0 && + (GL11_glScalef_pointer = GLContext.getFunctionAddress("glScalef")) != 0 && + (GL11_glScissor_pointer = GLContext.getFunctionAddress("glScissor")) != 0 && + (GL11_glSelectBuffer_pointer = GLContext.getFunctionAddress("glSelectBuffer")) != 0 && + (GL11_glShadeModel_pointer = GLContext.getFunctionAddress("glShadeModel")) != 0 && + (GL11_glMultMatrixf_pointer = GLContext.getFunctionAddress("glMultMatrixf")) != 0 && + (GL11_glEndList_pointer = GLContext.getFunctionAddress("glEndList")) != 0 && + (GL11_glNewList_pointer = GLContext.getFunctionAddress("glNewList")) != 0 && + (GL11_glNormal3i_pointer = GLContext.getFunctionAddress("glNormal3i")) != 0 && + (GL11_glNormal3f_pointer = GLContext.getFunctionAddress("glNormal3f")) != 0 && + (GL11_glNormal3b_pointer = GLContext.getFunctionAddress("glNormal3b")) != 0 && + (GL11_glNormalPointer_pointer = GLContext.getFunctionAddress("glNormalPointer")) != 0 && + (GL11_glOrtho_pointer = GLContext.getFunctionAddress("glOrtho")) != 0 && + (GL11_glPassThrough_pointer = GLContext.getFunctionAddress("glPassThrough")) != 0 && + (GL11_glPixelMapusv_pointer = GLContext.getFunctionAddress("glPixelMapusv")) != 0 && + (GL11_glPixelMapuiv_pointer = GLContext.getFunctionAddress("glPixelMapuiv")) != 0 && + (GL11_glPixelMapfv_pointer = GLContext.getFunctionAddress("glPixelMapfv")) != 0 && + (GL11_glPixelStorei_pointer = GLContext.getFunctionAddress("glPixelStorei")) != 0 && + (GL11_glPixelStoref_pointer = GLContext.getFunctionAddress("glPixelStoref")) != 0 && + (GL11_glPixelTransferi_pointer = GLContext.getFunctionAddress("glPixelTransferi")) != 0 && + (GL11_glPixelTransferf_pointer = GLContext.getFunctionAddress("glPixelTransferf")) != 0 && + (GL11_glPixelZoom_pointer = GLContext.getFunctionAddress("glPixelZoom")) != 0 && + (GL11_glPointSize_pointer = GLContext.getFunctionAddress("glPointSize")) != 0 && + (GL11_glPolygonMode_pointer = GLContext.getFunctionAddress("glPolygonMode")) != 0 && + (GL11_glPolygonOffset_pointer = GLContext.getFunctionAddress("glPolygonOffset")) != 0 && + (GL11_glPolygonStipple_pointer = GLContext.getFunctionAddress("glPolygonStipple")) != 0 && + (GL11_glMatrixMode_pointer = GLContext.getFunctionAddress("glMatrixMode")) != 0 && + (GL11_glIsTexture_pointer = GLContext.getFunctionAddress("glIsTexture")) != 0 && + (GL11_glLightiv_pointer = GLContext.getFunctionAddress("glLightiv")) != 0 && + (GL11_glLightfv_pointer = GLContext.getFunctionAddress("glLightfv")) != 0 && + (GL11_glLighti_pointer = GLContext.getFunctionAddress("glLighti")) != 0 && + (GL11_glLightf_pointer = GLContext.getFunctionAddress("glLightf")) != 0 && + (GL11_glLightModeliv_pointer = GLContext.getFunctionAddress("glLightModeliv")) != 0 && + (GL11_glLightModelfv_pointer = GLContext.getFunctionAddress("glLightModelfv")) != 0 && + (GL11_glLightModeli_pointer = GLContext.getFunctionAddress("glLightModeli")) != 0 && + (GL11_glLightModelf_pointer = GLContext.getFunctionAddress("glLightModelf")) != 0 && + (GL11_glLineStipple_pointer = GLContext.getFunctionAddress("glLineStipple")) != 0 && + (GL11_glLineWidth_pointer = GLContext.getFunctionAddress("glLineWidth")) != 0 && + (GL11_glListBase_pointer = GLContext.getFunctionAddress("glListBase")) != 0 && + (GL11_glLoadIdentity_pointer = GLContext.getFunctionAddress("glLoadIdentity")) != 0 && + (GL11_glLoadMatrixf_pointer = GLContext.getFunctionAddress("glLoadMatrixf")) != 0 && + (GL11_glLoadName_pointer = GLContext.getFunctionAddress("glLoadName")) != 0 && + (GL11_glLogicOp_pointer = GLContext.getFunctionAddress("glLogicOp")) != 0 && + (GL11_glMap1f_pointer = GLContext.getFunctionAddress("glMap1f")) != 0 && + (GL11_glMap2f_pointer = GLContext.getFunctionAddress("glMap2f")) != 0 && + (GL11_glMapGrid2f_pointer = GLContext.getFunctionAddress("glMapGrid2f")) != 0 && + (GL11_glMapGrid1f_pointer = GLContext.getFunctionAddress("glMapGrid1f")) != 0 && + (GL11_glMaterialiv_pointer = GLContext.getFunctionAddress("glMaterialiv")) != 0 && + (GL11_glMaterialfv_pointer = GLContext.getFunctionAddress("glMaterialfv")) != 0 && + (GL11_glMateriali_pointer = GLContext.getFunctionAddress("glMateriali")) != 0 && + (GL11_glMaterialf_pointer = GLContext.getFunctionAddress("glMaterialf")) != 0 && + (GL11_glIsList_pointer = GLContext.getFunctionAddress("glIsList")) != 0 && + (GL11_glGetPolygonStipple_pointer = GLContext.getFunctionAddress("glGetPolygonStipple")) != 0 && + (GL11_glGetString_pointer = GLContext.getFunctionAddress("glGetString")) != 0 && + (GL11_glGetTexEnvfv_pointer = GLContext.getFunctionAddress("glGetTexEnvfv")) != 0 && + (GL11_glGetTexEnviv_pointer = GLContext.getFunctionAddress("glGetTexEnviv")) != 0 && + (GL11_glGetTexGenfv_pointer = GLContext.getFunctionAddress("glGetTexGenfv")) != 0 && + (GL11_glGetTexGeniv_pointer = GLContext.getFunctionAddress("glGetTexGeniv")) != 0 && + (GL11_glGetTexImage_pointer = GLContext.getFunctionAddress("glGetTexImage")) != 0 && + (GL11_glGetTexLevelParameteriv_pointer = GLContext.getFunctionAddress("glGetTexLevelParameteriv")) != 0 && + (GL11_glGetTexLevelParameterfv_pointer = GLContext.getFunctionAddress("glGetTexLevelParameterfv")) != 0 && + (GL11_glGetTexParameteriv_pointer = GLContext.getFunctionAddress("glGetTexParameteriv")) != 0 && + (GL11_glGetTexParameterfv_pointer = GLContext.getFunctionAddress("glGetTexParameterfv")) != 0 && + (GL11_glHint_pointer = GLContext.getFunctionAddress("glHint")) != 0 && + (GL11_glInitNames_pointer = GLContext.getFunctionAddress("glInitNames")) != 0 && + (GL11_glInterleavedArrays_pointer = GLContext.getFunctionAddress("glInterleavedArrays")) != 0 && + (GL11_glIsEnabled_pointer = GLContext.getFunctionAddress("glIsEnabled")) != 0 && + (GL11_glGetPointerv_pointer = GLContext.getFunctionAddress("glGetPointerv")) != 0 && + (GL11_glFinish_pointer = GLContext.getFunctionAddress("glFinish")) != 0 && + (GL11_glFlush_pointer = GLContext.getFunctionAddress("glFlush")) != 0 && + (GL11_glFogiv_pointer = GLContext.getFunctionAddress("glFogiv")) != 0 && + (GL11_glFogfv_pointer = GLContext.getFunctionAddress("glFogfv")) != 0 && + (GL11_glFogi_pointer = GLContext.getFunctionAddress("glFogi")) != 0 && + (GL11_glFogf_pointer = GLContext.getFunctionAddress("glFogf")) != 0 && + (GL11_glFrontFace_pointer = GLContext.getFunctionAddress("glFrontFace")) != 0 && + (GL11_glFrustum_pointer = GLContext.getFunctionAddress("glFrustum")) != 0 && + (GL11_glGenLists_pointer = GLContext.getFunctionAddress("glGenLists")) != 0 && + (GL11_glGenTextures_pointer = GLContext.getFunctionAddress("glGenTextures")) != 0 && + (GL11_glGetIntegerv_pointer = GLContext.getFunctionAddress("glGetIntegerv")) != 0 && + (GL11_glGetFloatv_pointer = GLContext.getFunctionAddress("glGetFloatv")) != 0 && + (GL11_glGetDoublev_pointer = GLContext.getFunctionAddress("glGetDoublev")) != 0 && + (GL11_glGetBooleanv_pointer = GLContext.getFunctionAddress("glGetBooleanv")) != 0 && + (GL11_glGetClipPlane_pointer = GLContext.getFunctionAddress("glGetClipPlane")) != 0 && + (GL11_glGetError_pointer = GLContext.getFunctionAddress("glGetError")) != 0 && + (GL11_glGetLightiv_pointer = GLContext.getFunctionAddress("glGetLightiv")) != 0 && + (GL11_glGetLightfv_pointer = GLContext.getFunctionAddress("glGetLightfv")) != 0 && + (GL11_glGetMapiv_pointer = GLContext.getFunctionAddress("glGetMapiv")) != 0 && + (GL11_glGetMapfv_pointer = GLContext.getFunctionAddress("glGetMapfv")) != 0 && + (GL11_glGetMaterialiv_pointer = GLContext.getFunctionAddress("glGetMaterialiv")) != 0 && + (GL11_glGetMaterialfv_pointer = GLContext.getFunctionAddress("glGetMaterialfv")) != 0 && + (GL11_glGetPixelMapusv_pointer = GLContext.getFunctionAddress("glGetPixelMapusv")) != 0 && + (GL11_glGetPixelMapuiv_pointer = GLContext.getFunctionAddress("glGetPixelMapuiv")) != 0 && + (GL11_glGetPixelMapfv_pointer = GLContext.getFunctionAddress("glGetPixelMapfv")) != 0 && + (GL11_glFeedbackBuffer_pointer = GLContext.getFunctionAddress("glFeedbackBuffer")) != 0 && + (GL11_glDepthFunc_pointer = GLContext.getFunctionAddress("glDepthFunc")) != 0 && + (GL11_glDepthMask_pointer = GLContext.getFunctionAddress("glDepthMask")) != 0 && + (GL11_glDepthRange_pointer = GLContext.getFunctionAddress("glDepthRange")) != 0 && + (GL11_glDrawArrays_pointer = GLContext.getFunctionAddress("glDrawArrays")) != 0 && + (GL11_glDrawBuffer_pointer = GLContext.getFunctionAddress("glDrawBuffer")) != 0 && + (GL11_glDrawElements_pointer = GLContext.getFunctionAddress("glDrawElements")) != 0 && + (GL11_glDrawPixels_pointer = GLContext.getFunctionAddress("glDrawPixels")) != 0 && + (GL11_glEdgeFlag_pointer = GLContext.getFunctionAddress("glEdgeFlag")) != 0 && + (GL11_glEdgeFlagPointer_pointer = GLContext.getFunctionAddress("glEdgeFlagPointer")) != 0 && + (GL11_glDisable_pointer = GLContext.getFunctionAddress("glDisable")) != 0 && + (GL11_glEnable_pointer = GLContext.getFunctionAddress("glEnable")) != 0 && + (GL11_glDisableClientState_pointer = GLContext.getFunctionAddress("glDisableClientState")) != 0 && + (GL11_glEnableClientState_pointer = GLContext.getFunctionAddress("glEnableClientState")) != 0 && + (GL11_glEvalCoord2f_pointer = GLContext.getFunctionAddress("glEvalCoord2f")) != 0 && + (GL11_glEvalCoord1f_pointer = GLContext.getFunctionAddress("glEvalCoord1f")) != 0 && + (GL11_glEvalMesh2_pointer = GLContext.getFunctionAddress("glEvalMesh2")) != 0 && + (GL11_glEvalMesh1_pointer = GLContext.getFunctionAddress("glEvalMesh1")) != 0 && + (GL11_glEvalPoint2_pointer = GLContext.getFunctionAddress("glEvalPoint2")) != 0 && + (GL11_glEvalPoint1_pointer = GLContext.getFunctionAddress("glEvalPoint1")) != 0 && + (GL11_glClearIndex_pointer = GLContext.getFunctionAddress("glClearIndex")) != 0 && + (GL11_glClearStencil_pointer = GLContext.getFunctionAddress("glClearStencil")) != 0 && + (GL11_glClipPlane_pointer = GLContext.getFunctionAddress("glClipPlane")) != 0 && + (GL11_glColor4ub_pointer = GLContext.getFunctionAddress("glColor4ub")) != 0 && + (GL11_glColor4f_pointer = GLContext.getFunctionAddress("glColor4f")) != 0 && + (GL11_glColor4b_pointer = GLContext.getFunctionAddress("glColor4b")) != 0 && + (GL11_glColor3ub_pointer = GLContext.getFunctionAddress("glColor3ub")) != 0 && + (GL11_glColor3f_pointer = GLContext.getFunctionAddress("glColor3f")) != 0 && + (GL11_glColor3b_pointer = GLContext.getFunctionAddress("glColor3b")) != 0 && + (GL11_glColorMask_pointer = GLContext.getFunctionAddress("glColorMask")) != 0 && + (GL11_glColorMaterial_pointer = GLContext.getFunctionAddress("glColorMaterial")) != 0 && + (GL11_glColorPointer_pointer = GLContext.getFunctionAddress("glColorPointer")) != 0 && + (GL11_glCopyPixels_pointer = GLContext.getFunctionAddress("glCopyPixels")) != 0 && + (GL11_glCopyTexImage1D_pointer = GLContext.getFunctionAddress("glCopyTexImage1D")) != 0 && + (GL11_glCopyTexImage2D_pointer = GLContext.getFunctionAddress("glCopyTexImage2D")) != 0 && + (GL11_glCopyTexSubImage1D_pointer = GLContext.getFunctionAddress("glCopyTexSubImage1D")) != 0 && + (GL11_glCopyTexSubImage2D_pointer = GLContext.getFunctionAddress("glCopyTexSubImage2D")) != 0 && + (GL11_glCullFace_pointer = GLContext.getFunctionAddress("glCullFace")) != 0 && + (GL11_glDeleteTextures_pointer = GLContext.getFunctionAddress("glDeleteTextures")) != 0 && + (GL11_glDeleteLists_pointer = GLContext.getFunctionAddress("glDeleteLists")) != 0 && + (GL11_glClearDepth_pointer = GLContext.getFunctionAddress("glClearDepth")) != 0 && + (GL11_glArrayElement_pointer = GLContext.getFunctionAddress("glArrayElement")) != 0 && + (GL11_glEnd_pointer = GLContext.getFunctionAddress("glEnd")) != 0 && + (GL11_glBegin_pointer = GLContext.getFunctionAddress("glBegin")) != 0 && + (GL11_glBindTexture_pointer = GLContext.getFunctionAddress("glBindTexture")) != 0 && + (GL11_glBitmap_pointer = GLContext.getFunctionAddress("glBitmap")) != 0 && + (GL11_glBlendFunc_pointer = GLContext.getFunctionAddress("glBlendFunc")) != 0 && + (GL11_glCallList_pointer = GLContext.getFunctionAddress("glCallList")) != 0 && + (GL11_glCallLists_pointer = GLContext.getFunctionAddress("glCallLists")) != 0 && + (GL11_glClear_pointer = GLContext.getFunctionAddress("glClear")) != 0 && + (GL11_glClearAccum_pointer = GLContext.getFunctionAddress("glClearAccum")) != 0 && + (GL11_glClearColor_pointer = GLContext.getFunctionAddress("glClearColor")) != 0 && + (GL11_glAlphaFunc_pointer = GLContext.getFunctionAddress("glAlphaFunc")) != 0 && + (GL11_glAccum_pointer = GLContext.getFunctionAddress("glAccum")) != 0; + } + + private boolean GL12_initNativeFunctionAddresses() { + return + (GL12_glCopyTexSubImage3D_pointer = GLContext.getFunctionAddress("glCopyTexSubImage3D")) != 0 && + (GL12_glTexSubImage3D_pointer = GLContext.getFunctionAddress("glTexSubImage3D")) != 0 && + (GL12_glTexImage3D_pointer = GLContext.getFunctionAddress("glTexImage3D")) != 0 && + (GL12_glDrawRangeElements_pointer = GLContext.getFunctionAddress("glDrawRangeElements")) != 0; + } + + private boolean GL13_initNativeFunctionAddresses() { + return + (GL13_glSampleCoverage_pointer = GLContext.getFunctionAddress("glSampleCoverage")) != 0 && + (GL13_glMultTransposeMatrixf_pointer = GLContext.getFunctionAddress("glMultTransposeMatrixf")) != 0 && + (GL13_glLoadTransposeMatrixf_pointer = GLContext.getFunctionAddress("glLoadTransposeMatrixf")) != 0 && + (GL13_glMultiTexCoord4f_pointer = GLContext.getFunctionAddress("glMultiTexCoord4f")) != 0 && + (GL13_glMultiTexCoord3f_pointer = GLContext.getFunctionAddress("glMultiTexCoord3f")) != 0 && + (GL13_glMultiTexCoord2f_pointer = GLContext.getFunctionAddress("glMultiTexCoord2f")) != 0 && + (GL13_glMultiTexCoord1f_pointer = GLContext.getFunctionAddress("glMultiTexCoord1f")) != 0 && + (GL13_glGetCompressedTexImage_pointer = GLContext.getFunctionAddress("glGetCompressedTexImage")) != 0 && + (GL13_glCompressedTexSubImage3D_pointer = GLContext.getFunctionAddress("glCompressedTexSubImage3D")) != 0 && + (GL13_glCompressedTexSubImage2D_pointer = GLContext.getFunctionAddress("glCompressedTexSubImage2D")) != 0 && + (GL13_glCompressedTexSubImage1D_pointer = GLContext.getFunctionAddress("glCompressedTexSubImage1D")) != 0 && + (GL13_glCompressedTexImage3D_pointer = GLContext.getFunctionAddress("glCompressedTexImage3D")) != 0 && + (GL13_glCompressedTexImage2D_pointer = GLContext.getFunctionAddress("glCompressedTexImage2D")) != 0 && + (GL13_glCompressedTexImage1D_pointer = GLContext.getFunctionAddress("glCompressedTexImage1D")) != 0 && + (GL13_glClientActiveTexture_pointer = GLContext.getFunctionAddress("glClientActiveTexture")) != 0 && + (GL13_glActiveTexture_pointer = GLContext.getFunctionAddress("glActiveTexture")) != 0; + } + + private boolean GL14_initNativeFunctionAddresses() { + return + (GL14_glWindowPos3i_pointer = GLContext.getFunctionAddress("glWindowPos3i")) != 0 && + (GL14_glWindowPos3f_pointer = GLContext.getFunctionAddress("glWindowPos3f")) != 0 && + (GL14_glWindowPos2i_pointer = GLContext.getFunctionAddress("glWindowPos2i")) != 0 && + (GL14_glWindowPos2f_pointer = GLContext.getFunctionAddress("glWindowPos2f")) != 0 && + (GL14_glBlendFuncSeparate_pointer = GLContext.getFunctionAddress("glBlendFuncSeparate")) != 0 && + (GL14_glSecondaryColorPointer_pointer = GLContext.getFunctionAddress("glSecondaryColorPointer")) != 0 && + (GL14_glSecondaryColor3ub_pointer = GLContext.getFunctionAddress("glSecondaryColor3ub")) != 0 && + (GL14_glSecondaryColor3f_pointer = GLContext.getFunctionAddress("glSecondaryColor3f")) != 0 && + (GL14_glSecondaryColor3b_pointer = GLContext.getFunctionAddress("glSecondaryColor3b")) != 0 && + (GL14_glPointParameterfv_pointer = GLContext.getFunctionAddress("glPointParameterfv")) != 0 && + (GL14_glPointParameteriv_pointer = GLContext.getFunctionAddress("glPointParameteriv")) != 0 && + (GL14_glPointParameterf_pointer = GLContext.getFunctionAddress("glPointParameterf")) != 0 && + (GL14_glPointParameteri_pointer = GLContext.getFunctionAddress("glPointParameteri")) != 0 && + (GL14_glMultiDrawArrays_pointer = GLContext.getFunctionAddress("glMultiDrawArrays")) != 0 && + (GL14_glFogCoordPointer_pointer = GLContext.getFunctionAddress("glFogCoordPointer")) != 0 && + (GL14_glFogCoordf_pointer = GLContext.getFunctionAddress("glFogCoordf")) != 0 && + (GL14_glBlendColor_pointer = GLContext.getFunctionAddress("glBlendColor")) != 0 && + (GL14_glBlendEquation_pointer = GLContext.getFunctionAddress("glBlendEquation")) != 0; + } + + private boolean GL15_initNativeFunctionAddresses() { + return + (GL15_glGetQueryObjectuiv_pointer = GLContext.getFunctionAddress("glGetQueryObjectuiv")) != 0 && + (GL15_glGetQueryObjectiv_pointer = GLContext.getFunctionAddress("glGetQueryObjectiv")) != 0 && + (GL15_glGetQueryiv_pointer = GLContext.getFunctionAddress("glGetQueryiv")) != 0 && + (GL15_glEndQuery_pointer = GLContext.getFunctionAddress("glEndQuery")) != 0 && + (GL15_glBeginQuery_pointer = GLContext.getFunctionAddress("glBeginQuery")) != 0 && + (GL15_glIsQuery_pointer = GLContext.getFunctionAddress("glIsQuery")) != 0 && + (GL15_glDeleteQueries_pointer = GLContext.getFunctionAddress("glDeleteQueries")) != 0 && + (GL15_glGenQueries_pointer = GLContext.getFunctionAddress("glGenQueries")) != 0 && + (GL15_glGetBufferPointerv_pointer = GLContext.getFunctionAddress("glGetBufferPointerv")) != 0 && + (GL15_glGetBufferParameteriv_pointer = GLContext.getFunctionAddress("glGetBufferParameteriv")) != 0 && + (GL15_glUnmapBuffer_pointer = GLContext.getFunctionAddress("glUnmapBuffer")) != 0 && + (GL15_glMapBuffer_pointer = GLContext.getFunctionAddress("glMapBuffer")) != 0 && + (GL15_glGetBufferSubData_pointer = GLContext.getFunctionAddress("glGetBufferSubData")) != 0 && + (GL15_glBufferSubData_pointer = GLContext.getFunctionAddress("glBufferSubData")) != 0 && + (GL15_glBufferData_pointer = GLContext.getFunctionAddress("glBufferData")) != 0 && + (GL15_glIsBuffer_pointer = GLContext.getFunctionAddress("glIsBuffer")) != 0 && + (GL15_glGenBuffers_pointer = GLContext.getFunctionAddress("glGenBuffers")) != 0 && + (GL15_glDeleteBuffers_pointer = GLContext.getFunctionAddress("glDeleteBuffers")) != 0 && + (GL15_glBindBuffer_pointer = GLContext.getFunctionAddress("glBindBuffer")) != 0; + } + + private boolean GL20_initNativeFunctionAddresses() { + return + (GL20_glBlendEquationSeparate_pointer = GLContext.getFunctionAddress("glBlendEquationSeparate")) != 0 && + (GL20_glStencilMaskSeparate_pointer = GLContext.getFunctionAddress("glStencilMaskSeparate")) != 0 && + (GL20_glStencilFuncSeparate_pointer = GLContext.getFunctionAddress("glStencilFuncSeparate")) != 0 && + (GL20_glStencilOpSeparate_pointer = GLContext.getFunctionAddress("glStencilOpSeparate")) != 0 && + (GL20_glDrawBuffers_pointer = GLContext.getFunctionAddress("glDrawBuffers")) != 0 && + (GL20_glGetAttribLocation_pointer = GLContext.getFunctionAddress("glGetAttribLocation")) != 0 && + (GL20_glGetActiveAttrib_pointer = GLContext.getFunctionAddress("glGetActiveAttrib")) != 0 && + (GL20_glBindAttribLocation_pointer = GLContext.getFunctionAddress("glBindAttribLocation")) != 0 && + (GL20_glGetVertexAttribPointerv_pointer = GLContext.getFunctionAddress("glGetVertexAttribPointerv")) != 0 && + (GL20_glGetVertexAttribiv_pointer = GLContext.getFunctionAddress("glGetVertexAttribiv")) != 0 && + (GL20_glGetVertexAttribfv_pointer = GLContext.getFunctionAddress("glGetVertexAttribfv")) != 0 && + (GL20_glDisableVertexAttribArray_pointer = GLContext.getFunctionAddress("glDisableVertexAttribArray")) != 0 && + (GL20_glEnableVertexAttribArray_pointer = GLContext.getFunctionAddress("glEnableVertexAttribArray")) != 0 && + (GL20_glVertexAttribPointer_pointer = GLContext.getFunctionAddress("glVertexAttribPointer")) != 0 && + (GL20_glVertexAttrib4Nub_pointer = GLContext.getFunctionAddress("glVertexAttrib4Nub")) != 0 && + (GL20_glVertexAttrib4f_pointer = GLContext.getFunctionAddress("glVertexAttrib4f")) != 0 && + (GL20_glVertexAttrib4s_pointer = GLContext.getFunctionAddress("glVertexAttrib4s")) != 0 && + (GL20_glVertexAttrib3f_pointer = GLContext.getFunctionAddress("glVertexAttrib3f")) != 0 && + (GL20_glVertexAttrib3s_pointer = GLContext.getFunctionAddress("glVertexAttrib3s")) != 0 && + (GL20_glVertexAttrib2f_pointer = GLContext.getFunctionAddress("glVertexAttrib2f")) != 0 && + (GL20_glVertexAttrib2s_pointer = GLContext.getFunctionAddress("glVertexAttrib2s")) != 0 && + (GL20_glVertexAttrib1f_pointer = GLContext.getFunctionAddress("glVertexAttrib1f")) != 0 && + (GL20_glVertexAttrib1s_pointer = GLContext.getFunctionAddress("glVertexAttrib1s")) != 0 && + (GL20_glGetShaderSource_pointer = GLContext.getFunctionAddress("glGetShaderSource")) != 0 && + (GL20_glGetUniformiv_pointer = GLContext.getFunctionAddress("glGetUniformiv")) != 0 && + (GL20_glGetUniformfv_pointer = GLContext.getFunctionAddress("glGetUniformfv")) != 0 && + (GL20_glGetActiveUniform_pointer = GLContext.getFunctionAddress("glGetActiveUniform")) != 0 && + (GL20_glGetUniformLocation_pointer = GLContext.getFunctionAddress("glGetUniformLocation")) != 0 && + (GL20_glGetAttachedShaders_pointer = GLContext.getFunctionAddress("glGetAttachedShaders")) != 0 && + (GL20_glGetProgramInfoLog_pointer = GLContext.getFunctionAddress("glGetProgramInfoLog")) != 0 && + (GL20_glGetShaderInfoLog_pointer = GLContext.getFunctionAddress("glGetShaderInfoLog")) != 0 && + (GL20_glGetProgramiv_pointer = GLContext.getFunctionAddress("glGetProgramiv")) != 0 && + (GL20_glGetProgramfv_pointer = GLContext.getFunctionAddress("glGetProgramfv")) != 0 && + (GL20_glGetShaderiv_pointer = GLContext.getFunctionAddress("glGetShaderiv")) != 0 && + (GL20_glGetShaderfv_pointer = GLContext.getFunctionAddress("glGetShaderfv")) != 0 && + (GL20_glUniformMatrix4fv_pointer = GLContext.getFunctionAddress("glUniformMatrix4fv")) != 0 && + (GL20_glUniformMatrix3fv_pointer = GLContext.getFunctionAddress("glUniformMatrix3fv")) != 0 && + (GL20_glUniformMatrix2fv_pointer = GLContext.getFunctionAddress("glUniformMatrix2fv")) != 0 && + (GL20_glUniform4iv_pointer = GLContext.getFunctionAddress("glUniform4iv")) != 0 && + (GL20_glUniform3iv_pointer = GLContext.getFunctionAddress("glUniform3iv")) != 0 && + (GL20_glUniform2iv_pointer = GLContext.getFunctionAddress("glUniform2iv")) != 0 && + (GL20_glUniform1iv_pointer = GLContext.getFunctionAddress("glUniform1iv")) != 0 && + (GL20_glUniform4fv_pointer = GLContext.getFunctionAddress("glUniform4fv")) != 0 && + (GL20_glUniform3fv_pointer = GLContext.getFunctionAddress("glUniform3fv")) != 0 && + (GL20_glUniform2fv_pointer = GLContext.getFunctionAddress("glUniform2fv")) != 0 && + (GL20_glUniform1fv_pointer = GLContext.getFunctionAddress("glUniform1fv")) != 0 && + (GL20_glUniform4i_pointer = GLContext.getFunctionAddress("glUniform4i")) != 0 && + (GL20_glUniform3i_pointer = GLContext.getFunctionAddress("glUniform3i")) != 0 && + (GL20_glUniform2i_pointer = GLContext.getFunctionAddress("glUniform2i")) != 0 && + (GL20_glUniform1i_pointer = GLContext.getFunctionAddress("glUniform1i")) != 0 && + (GL20_glUniform4f_pointer = GLContext.getFunctionAddress("glUniform4f")) != 0 && + (GL20_glUniform3f_pointer = GLContext.getFunctionAddress("glUniform3f")) != 0 && + (GL20_glUniform2f_pointer = GLContext.getFunctionAddress("glUniform2f")) != 0 && + (GL20_glUniform1f_pointer = GLContext.getFunctionAddress("glUniform1f")) != 0 && + (GL20_glDeleteProgram_pointer = GLContext.getFunctionAddress("glDeleteProgram")) != 0 && + (GL20_glValidateProgram_pointer = GLContext.getFunctionAddress("glValidateProgram")) != 0 && + (GL20_glUseProgram_pointer = GLContext.getFunctionAddress("glUseProgram")) != 0 && + (GL20_glLinkProgram_pointer = GLContext.getFunctionAddress("glLinkProgram")) != 0 && + (GL20_glDetachShader_pointer = GLContext.getFunctionAddress("glDetachShader")) != 0 && + (GL20_glAttachShader_pointer = GLContext.getFunctionAddress("glAttachShader")) != 0 && + (GL20_glIsProgram_pointer = GLContext.getFunctionAddress("glIsProgram")) != 0 && + (GL20_glCreateProgram_pointer = GLContext.getFunctionAddress("glCreateProgram")) != 0 && + (GL20_glDeleteShader_pointer = GLContext.getFunctionAddress("glDeleteShader")) != 0 && + (GL20_glCompileShader_pointer = GLContext.getFunctionAddress("glCompileShader")) != 0 && + (GL20_glIsShader_pointer = GLContext.getFunctionAddress("glIsShader")) != 0 && + (GL20_glCreateShader_pointer = GLContext.getFunctionAddress("glCreateShader")) != 0 && + (GL20_glShaderSource_pointer = GLContext.getFunctionAddress("glShaderSource")) != 0; + } + + private boolean NV_evaluators_initNativeFunctionAddresses() { + return + (NV_evaluators_glEvalMapsNV_pointer = GLContext.getFunctionAddress("glEvalMapsNV")) != 0 && + (NV_evaluators_glGetMapAttribParameterivNV_pointer = GLContext.getFunctionAddress("glGetMapAttribParameterivNV")) != 0 && + (NV_evaluators_glGetMapAttribParameterfvNV_pointer = GLContext.getFunctionAddress("glGetMapAttribParameterfvNV")) != 0 && + (NV_evaluators_glGetMapParameterivNV_pointer = GLContext.getFunctionAddress("glGetMapParameterivNV")) != 0 && + (NV_evaluators_glGetMapParameterfvNV_pointer = GLContext.getFunctionAddress("glGetMapParameterfvNV")) != 0 && + (NV_evaluators_glMapParameterivNV_pointer = GLContext.getFunctionAddress("glMapParameterivNV")) != 0 && + (NV_evaluators_glMapParameterfvNV_pointer = GLContext.getFunctionAddress("glMapParameterfvNV")) != 0 && + (NV_evaluators_glMapControlPointsNV_pointer = GLContext.getFunctionAddress("glMapControlPointsNV")) != 0 && + (NV_evaluators_glGetMapControlPointsNV_pointer = GLContext.getFunctionAddress("glGetMapControlPointsNV")) != 0; + } + + private boolean NV_fence_initNativeFunctionAddresses() { + return + (NV_fence_glGetFenceivNV_pointer = GLContext.getFunctionAddress("glGetFenceivNV")) != 0 && + (NV_fence_glIsFenceNV_pointer = GLContext.getFunctionAddress("glIsFenceNV")) != 0 && + (NV_fence_glFinishFenceNV_pointer = GLContext.getFunctionAddress("glFinishFenceNV")) != 0 && + (NV_fence_glTestFenceNV_pointer = GLContext.getFunctionAddress("glTestFenceNV")) != 0 && + (NV_fence_glSetFenceNV_pointer = GLContext.getFunctionAddress("glSetFenceNV")) != 0 && + (NV_fence_glDeleteFencesNV_pointer = GLContext.getFunctionAddress("glDeleteFencesNV")) != 0 && + (NV_fence_glGenFencesNV_pointer = GLContext.getFunctionAddress("glGenFencesNV")) != 0; + } + + private boolean NV_fragment_program_initNativeFunctionAddresses() { + return + (NV_fragment_program_glGetProgramNamedParameterfvNV_pointer = GLContext.getFunctionAddress("glGetProgramNamedParameterfvNV")) != 0 && + (NV_fragment_program_glProgramNamedParameter4fNV_pointer = GLContext.getFunctionAddress("glProgramNamedParameter4fNV")) != 0; + } + + private boolean NV_half_float_initNativeFunctionAddresses() { + return + (NV_half_float_glVertexAttribs4hvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs4hvNV")) != 0 && + (NV_half_float_glVertexAttribs3hvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs3hvNV")) != 0 && + (NV_half_float_glVertexAttribs2hvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs2hvNV")) != 0 && + (NV_half_float_glVertexAttribs1hvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs1hvNV")) != 0 && + (NV_half_float_glVertexAttrib4hNV_pointer = GLContext.getFunctionAddress("glVertexAttrib4hNV")) != 0 && + (NV_half_float_glVertexAttrib3hNV_pointer = GLContext.getFunctionAddress("glVertexAttrib3hNV")) != 0 && + (NV_half_float_glVertexAttrib2hNV_pointer = GLContext.getFunctionAddress("glVertexAttrib2hNV")) != 0 && + (NV_half_float_glVertexAttrib1hNV_pointer = GLContext.getFunctionAddress("glVertexAttrib1hNV")) != 0 && + (NV_half_float_glSecondaryColor3hNV_pointer = GLContext.getFunctionAddress("glSecondaryColor3hNV")) != 0 && + (NV_half_float_glFogCoordhNV_pointer = GLContext.getFunctionAddress("glFogCoordhNV")) != 0 && + (NV_half_float_glMultiTexCoord4hNV_pointer = GLContext.getFunctionAddress("glMultiTexCoord4hNV")) != 0 && + (NV_half_float_glMultiTexCoord3hNV_pointer = GLContext.getFunctionAddress("glMultiTexCoord3hNV")) != 0 && + (NV_half_float_glMultiTexCoord2hNV_pointer = GLContext.getFunctionAddress("glMultiTexCoord2hNV")) != 0 && + (NV_half_float_glMultiTexCoord1hNV_pointer = GLContext.getFunctionAddress("glMultiTexCoord1hNV")) != 0 && + (NV_half_float_glTexCoord4hNV_pointer = GLContext.getFunctionAddress("glTexCoord4hNV")) != 0 && + (NV_half_float_glTexCoord3hNV_pointer = GLContext.getFunctionAddress("glTexCoord3hNV")) != 0 && + (NV_half_float_glTexCoord2hNV_pointer = GLContext.getFunctionAddress("glTexCoord2hNV")) != 0 && + (NV_half_float_glTexCoord1hNV_pointer = GLContext.getFunctionAddress("glTexCoord1hNV")) != 0 && + (NV_half_float_glColor4hNV_pointer = GLContext.getFunctionAddress("glColor4hNV")) != 0 && + (NV_half_float_glColor3hNV_pointer = GLContext.getFunctionAddress("glColor3hNV")) != 0 && + (NV_half_float_glNormal3hNV_pointer = GLContext.getFunctionAddress("glNormal3hNV")) != 0 && + (NV_half_float_glVertex4hNV_pointer = GLContext.getFunctionAddress("glVertex4hNV")) != 0 && + (NV_half_float_glVertex3hNV_pointer = GLContext.getFunctionAddress("glVertex3hNV")) != 0 && + (NV_half_float_glVertex2hNV_pointer = GLContext.getFunctionAddress("glVertex2hNV")) != 0; + } + + private boolean NV_occlusion_query_initNativeFunctionAddresses() { + return + (NV_occlusion_query_glGetOcclusionQueryivNV_pointer = GLContext.getFunctionAddress("glGetOcclusionQueryivNV")) != 0 && + (NV_occlusion_query_glGetOcclusionQueryuivNV_pointer = GLContext.getFunctionAddress("glGetOcclusionQueryuivNV")) != 0 && + (NV_occlusion_query_glEndOcclusionQueryNV_pointer = GLContext.getFunctionAddress("glEndOcclusionQueryNV")) != 0 && + (NV_occlusion_query_glBeginOcclusionQueryNV_pointer = GLContext.getFunctionAddress("glBeginOcclusionQueryNV")) != 0 && + (NV_occlusion_query_glIsOcclusionQueryNV_pointer = GLContext.getFunctionAddress("glIsOcclusionQueryNV")) != 0 && + (NV_occlusion_query_glDeleteOcclusionQueriesNV_pointer = GLContext.getFunctionAddress("glDeleteOcclusionQueriesNV")) != 0 && + (NV_occlusion_query_glGenOcclusionQueriesNV_pointer = GLContext.getFunctionAddress("glGenOcclusionQueriesNV")) != 0; + } + + private boolean NV_pixel_data_range_initNativeFunctionAddresses() { + return + (NV_pixel_data_range_glFlushPixelDataRangeNV_pointer = GLContext.getFunctionAddress("glFlushPixelDataRangeNV")) != 0 && + (NV_pixel_data_range_glPixelDataRangeNV_pointer = GLContext.getFunctionAddress("glPixelDataRangeNV")) != 0; + } + + private boolean NV_point_sprite_initNativeFunctionAddresses() { + return + (NV_point_sprite_glPointParameterivNV_pointer = GLContext.getFunctionAddress("glPointParameterivNV")) != 0 && + (NV_point_sprite_glPointParameteriNV_pointer = GLContext.getFunctionAddress("glPointParameteriNV")) != 0; + } + + private boolean NV_primitive_restart_initNativeFunctionAddresses() { + return + (NV_primitive_restart_glPrimitiveRestartIndexNV_pointer = GLContext.getFunctionAddress("glPrimitiveRestartIndexNV")) != 0 && + (NV_primitive_restart_glPrimitiveRestartNV_pointer = GLContext.getFunctionAddress("glPrimitiveRestartNV")) != 0; + } + + private boolean NV_program_initNativeFunctionAddresses() { + return + (NV_program_glRequestResidentProgramsNV_pointer = GLContext.getFunctionAddress("glRequestResidentProgramsNV")) != 0 && + (NV_program_glAreProgramsResidentNV_pointer = GLContext.getFunctionAddress("glAreProgramsResidentNV")) != 0 && + (NV_program_glIsProgramNV_pointer = GLContext.getFunctionAddress("glIsProgramNV")) != 0 && + (NV_program_glGetProgramStringNV_pointer = GLContext.getFunctionAddress("glGetProgramStringNV")) != 0 && + (NV_program_glGetProgramivNV_pointer = GLContext.getFunctionAddress("glGetProgramivNV")) != 0 && + (NV_program_glGenProgramsNV_pointer = GLContext.getFunctionAddress("glGenProgramsNV")) != 0 && + (NV_program_glDeleteProgramsNV_pointer = GLContext.getFunctionAddress("glDeleteProgramsNV")) != 0 && + (NV_program_glBindProgramNV_pointer = GLContext.getFunctionAddress("glBindProgramNV")) != 0 && + (NV_program_glLoadProgramNV_pointer = GLContext.getFunctionAddress("glLoadProgramNV")) != 0; + } + + private boolean NV_register_combiners_initNativeFunctionAddresses() { + return + (NV_register_combiners_glGetFinalCombinerInputParameterivNV_pointer = GLContext.getFunctionAddress("glGetFinalCombinerInputParameterivNV")) != 0 && + (NV_register_combiners_glGetFinalCombinerInputParameterfvNV_pointer = GLContext.getFunctionAddress("glGetFinalCombinerInputParameterfvNV")) != 0 && + (NV_register_combiners_glGetCombinerOutputParameterivNV_pointer = GLContext.getFunctionAddress("glGetCombinerOutputParameterivNV")) != 0 && + (NV_register_combiners_glGetCombinerOutputParameterfvNV_pointer = GLContext.getFunctionAddress("glGetCombinerOutputParameterfvNV")) != 0 && + (NV_register_combiners_glGetCombinerInputParameterivNV_pointer = GLContext.getFunctionAddress("glGetCombinerInputParameterivNV")) != 0 && + (NV_register_combiners_glGetCombinerInputParameterfvNV_pointer = GLContext.getFunctionAddress("glGetCombinerInputParameterfvNV")) != 0 && + (NV_register_combiners_glFinalCombinerInputNV_pointer = GLContext.getFunctionAddress("glFinalCombinerInputNV")) != 0 && + (NV_register_combiners_glCombinerOutputNV_pointer = GLContext.getFunctionAddress("glCombinerOutputNV")) != 0 && + (NV_register_combiners_glCombinerInputNV_pointer = GLContext.getFunctionAddress("glCombinerInputNV")) != 0 && + (NV_register_combiners_glCombinerParameterivNV_pointer = GLContext.getFunctionAddress("glCombinerParameterivNV")) != 0 && + (NV_register_combiners_glCombinerParameteriNV_pointer = GLContext.getFunctionAddress("glCombinerParameteriNV")) != 0 && + (NV_register_combiners_glCombinerParameterfvNV_pointer = GLContext.getFunctionAddress("glCombinerParameterfvNV")) != 0 && + (NV_register_combiners_glCombinerParameterfNV_pointer = GLContext.getFunctionAddress("glCombinerParameterfNV")) != 0; + } + + private boolean NV_register_combiners2_initNativeFunctionAddresses() { + return + (NV_register_combiners2_glGetCombinerStageParameterfvNV_pointer = GLContext.getFunctionAddress("glGetCombinerStageParameterfvNV")) != 0 && + (NV_register_combiners2_glCombinerStageParameterfvNV_pointer = GLContext.getFunctionAddress("glCombinerStageParameterfvNV")) != 0; + } + + private boolean NV_vertex_array_range_initNativeFunctionAddresses() { + return + (NV_vertex_array_range_glFreeMemoryNV_pointer = GLContext.getFunctionAddress("glFreeMemoryNV")) != 0 && + (NV_vertex_array_range_glAllocateMemoryNV_pointer = GLContext.getFunctionAddress("glAllocateMemoryNV")) != 0 && + (NV_vertex_array_range_glFlushVertexArrayRangeNV_pointer = GLContext.getFunctionAddress("glFlushVertexArrayRangeNV")) != 0 && + (NV_vertex_array_range_glVertexArrayRangeNV_pointer = GLContext.getFunctionAddress("glVertexArrayRangeNV")) != 0; + } + + private boolean NV_vertex_program_initNativeFunctionAddresses() { + return + (NV_vertex_program_glVertexAttribs4fvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs4fvNV")) != 0 && + (NV_vertex_program_glVertexAttribs4svNV_pointer = GLContext.getFunctionAddress("glVertexAttribs4svNV")) != 0 && + (NV_vertex_program_glVertexAttribs3fvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs3fvNV")) != 0 && + (NV_vertex_program_glVertexAttribs3svNV_pointer = GLContext.getFunctionAddress("glVertexAttribs3svNV")) != 0 && + (NV_vertex_program_glVertexAttribs2fvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs2fvNV")) != 0 && + (NV_vertex_program_glVertexAttribs2svNV_pointer = GLContext.getFunctionAddress("glVertexAttribs2svNV")) != 0 && + (NV_vertex_program_glVertexAttribs1fvNV_pointer = GLContext.getFunctionAddress("glVertexAttribs1fvNV")) != 0 && + (NV_vertex_program_glVertexAttribs1svNV_pointer = GLContext.getFunctionAddress("glVertexAttribs1svNV")) != 0 && + (NV_vertex_program_glVertexAttrib4ubNV_pointer = GLContext.getFunctionAddress("glVertexAttrib4ubNV")) != 0 && + (NV_vertex_program_glVertexAttrib4fNV_pointer = GLContext.getFunctionAddress("glVertexAttrib4fNV")) != 0 && + (NV_vertex_program_glVertexAttrib4sNV_pointer = GLContext.getFunctionAddress("glVertexAttrib4sNV")) != 0 && + (NV_vertex_program_glVertexAttrib3fNV_pointer = GLContext.getFunctionAddress("glVertexAttrib3fNV")) != 0 && + (NV_vertex_program_glVertexAttrib3sNV_pointer = GLContext.getFunctionAddress("glVertexAttrib3sNV")) != 0 && + (NV_vertex_program_glVertexAttrib2fNV_pointer = GLContext.getFunctionAddress("glVertexAttrib2fNV")) != 0 && + (NV_vertex_program_glVertexAttrib2sNV_pointer = GLContext.getFunctionAddress("glVertexAttrib2sNV")) != 0 && + (NV_vertex_program_glVertexAttrib1fNV_pointer = GLContext.getFunctionAddress("glVertexAttrib1fNV")) != 0 && + (NV_vertex_program_glVertexAttrib1sNV_pointer = GLContext.getFunctionAddress("glVertexAttrib1sNV")) != 0 && + (NV_vertex_program_glVertexAttribPointerNV_pointer = GLContext.getFunctionAddress("glVertexAttribPointerNV")) != 0 && + (NV_vertex_program_glTrackMatrixNV_pointer = GLContext.getFunctionAddress("glTrackMatrixNV")) != 0 && + (NV_vertex_program_glProgramParameters4fvNV_pointer = GLContext.getFunctionAddress("glProgramParameters4fvNV")) != 0 && + (NV_vertex_program_glProgramParameter4fNV_pointer = GLContext.getFunctionAddress("glProgramParameter4fNV")) != 0 && + (NV_vertex_program_glGetVertexAttribPointervNV_pointer = GLContext.getFunctionAddress("glGetVertexAttribPointervNV")) != 0 && + (NV_vertex_program_glGetVertexAttribivNV_pointer = GLContext.getFunctionAddress("glGetVertexAttribivNV")) != 0 && + (NV_vertex_program_glGetVertexAttribfvNV_pointer = GLContext.getFunctionAddress("glGetVertexAttribfvNV")) != 0 && + (NV_vertex_program_glGetTrackMatrixivNV_pointer = GLContext.getFunctionAddress("glGetTrackMatrixivNV")) != 0 && + (NV_vertex_program_glGetProgramParameterfvNV_pointer = GLContext.getFunctionAddress("glGetProgramParameterfvNV")) != 0 && + (NV_vertex_program_glExecuteProgramNV_pointer = GLContext.getFunctionAddress("glExecuteProgramNV")) != 0; + } + + private Set initAllStubs() throws LWJGLException { + if (!GL11_initNativeFunctionAddresses()) + throw new LWJGLException("GL11 not supported"); + GLContext.setCapabilities(this); Set supported_extensions = GLContext.getSupportedExtensions(); supported_extensions.add("GL_ARB_buffer_object"); supported_extensions.add("GL_ARB_program"); supported_extensions.add("GL_NV_program"); - GLContext.initNativeStubs(ARBBufferObject.class, supported_extensions, "GL_ARB_buffer_object"); - GLContext.initNativeStubs(ARBColorBufferFloat.class, supported_extensions, "GL_ARB_color_buffer_float"); - GLContext.initNativeStubs(ARBDrawBuffers.class, supported_extensions, "GL_ARB_draw_buffers"); - GLContext.initNativeStubs(ARBImaging.class, supported_extensions, "GL_ARB_imaging"); - GLContext.initNativeStubs(ARBMatrixPalette.class, supported_extensions, "GL_ARB_matrix_palette"); - GLContext.initNativeStubs(ARBMultisample.class, supported_extensions, "GL_ARB_multisample"); - GLContext.initNativeStubs(ARBMultitexture.class, supported_extensions, "GL_ARB_multitexture"); - GLContext.initNativeStubs(ARBOcclusionQuery.class, supported_extensions, "GL_ARB_occlusion_query"); - GLContext.initNativeStubs(ARBPointParameters.class, supported_extensions, "GL_ARB_point_parameters"); - GLContext.initNativeStubs(ARBProgram.class, supported_extensions, "GL_ARB_program"); - GLContext.initNativeStubs(ARBShaderObjects.class, supported_extensions, "GL_ARB_shader_objects"); - GLContext.initNativeStubs(ARBTextureCompression.class, supported_extensions, "GL_ARB_texture_compression"); - GLContext.initNativeStubs(ARBTransposeMatrix.class, supported_extensions, "GL_ARB_transpose_matrix"); - GLContext.initNativeStubs(ARBVertexBlend.class, supported_extensions, "GL_ARB_vertex_blend"); - GLContext.initNativeStubs(ARBVertexProgram.class, supported_extensions, "GL_ARB_vertex_program"); - GLContext.initNativeStubs(ARBVertexShader.class, supported_extensions, "GL_ARB_vertex_shader"); - GLContext.initNativeStubs(ARBWindowPos.class, supported_extensions, "GL_ARB_window_pos"); - GLContext.initNativeStubs(ATIDrawBuffers.class, supported_extensions, "GL_ATI_draw_buffers"); - GLContext.initNativeStubs(ATIElementArray.class, supported_extensions, "GL_ATI_element_array"); - GLContext.initNativeStubs(ATIEnvmapBumpmap.class, supported_extensions, "GL_ATI_envmap_bumpmap"); - GLContext.initNativeStubs(ATIFragmentShader.class, supported_extensions, "GL_ATI_fragment_shader"); - GLContext.initNativeStubs(ATIMapObjectBuffer.class, supported_extensions, "GL_ATI_map_object_buffer"); - GLContext.initNativeStubs(ATIPnTriangles.class, supported_extensions, "GL_ATI_pn_triangles"); - GLContext.initNativeStubs(ATISeparateStencil.class, supported_extensions, "GL_ATI_separate_stencil"); - GLContext.initNativeStubs(ATIVertexArrayObject.class, supported_extensions, "GL_ATI_vertex_array_object"); - GLContext.initNativeStubs(ATIVertexAttribArrayObject.class, supported_extensions, "GL_ATI_vertex_attrib_array_object"); - GLContext.initNativeStubs(ATIVertexStreams.class, supported_extensions, "GL_ATI_vertex_streams"); - GLContext.initNativeStubs(EXTBlendEquationSeparate.class, supported_extensions, "GL_EXT_blend_equation_separate"); - GLContext.initNativeStubs(EXTBlendFuncSeparate.class, supported_extensions, "GL_EXT_blend_func_separate"); - GLContext.initNativeStubs(EXTCompiledVertexArray.class, supported_extensions, "GL_EXT_compiled_vertex_array"); - GLContext.initNativeStubs(EXTDepthBoundsTest.class, supported_extensions, "GL_EXT_depth_bounds_test"); - GLContext.initNativeStubs(EXTDrawRangeElements.class, supported_extensions, "GL_EXT_draw_range_elements"); - GLContext.initNativeStubs(EXTFogCoord.class, supported_extensions, "GL_EXT_fog_coord"); - GLContext.initNativeStubs(EXTFramebufferObject.class, supported_extensions, "GL_EXT_framebuffer_object"); - GLContext.initNativeStubs(EXTMultiDrawArrays.class, supported_extensions, "GL_EXT_multi_draw_arrays"); - GLContext.initNativeStubs(EXTPalettedTexture.class, supported_extensions, "GL_EXT_paletted_texture"); - GLContext.initNativeStubs(EXTPointParameters.class, supported_extensions, "GL_EXT_point_parameters"); - GLContext.initNativeStubs(EXTSecondaryColor.class, supported_extensions, "GL_EXT_secondary_color"); - GLContext.initNativeStubs(EXTStencilTwoSide.class, supported_extensions, "GL_EXT_stencil_two_side"); - GLContext.initNativeStubs(EXTVertexShader.class, supported_extensions, "GL_EXT_vertex_shader"); - GLContext.initNativeStubs(EXTVertexWeighting.class, supported_extensions, "GL_EXT_vertex_weighting"); - GLContext.initNativeStubs(GL12.class, supported_extensions, "OpenGL12"); - GLContext.initNativeStubs(GL13.class, supported_extensions, "OpenGL13"); - GLContext.initNativeStubs(GL14.class, supported_extensions, "OpenGL14"); - GLContext.initNativeStubs(GL15.class, supported_extensions, "OpenGL15"); - GLContext.initNativeStubs(GL20.class, supported_extensions, "OpenGL20"); - GLContext.initNativeStubs(NVEvaluators.class, supported_extensions, "GL_NV_evaluators"); - GLContext.initNativeStubs(NVFence.class, supported_extensions, "GL_NV_fence"); - GLContext.initNativeStubs(NVFragmentProgram.class, supported_extensions, "GL_NV_fragment_program"); - GLContext.initNativeStubs(NVHalfFloat.class, supported_extensions, "GL_NV_half_float"); - GLContext.initNativeStubs(NVOcclusionQuery.class, supported_extensions, "GL_NV_occlusion_query"); - GLContext.initNativeStubs(NVPixelDataRange.class, supported_extensions, "GL_NV_pixel_data_range"); - GLContext.initNativeStubs(NVPointSprite.class, supported_extensions, "GL_NV_point_sprite"); - GLContext.initNativeStubs(NVPrimitiveRestart.class, supported_extensions, "GL_NV_primitive_restart"); - GLContext.initNativeStubs(NVProgram.class, supported_extensions, "GL_NV_program"); - GLContext.initNativeStubs(NVRegisterCombiners.class, supported_extensions, "GL_NV_register_combiners"); - GLContext.initNativeStubs(NVRegisterCombiners2.class, supported_extensions, "GL_NV_register_combiners2"); - GLContext.initNativeStubs(NVVertexArrayRange.class, supported_extensions, "GL_NV_vertex_array_range"); - GLContext.initNativeStubs(NVVertexProgram.class, supported_extensions, "GL_NV_vertex_program"); + if (supported_extensions.contains("GL_ARB_buffer_object") && !ARB_buffer_object_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_buffer_object"); + if (supported_extensions.contains("GL_ARB_color_buffer_float") && !ARB_color_buffer_float_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_color_buffer_float"); + if (supported_extensions.contains("GL_ARB_draw_buffers") && !ARB_draw_buffers_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_draw_buffers"); + if (supported_extensions.contains("GL_ARB_imaging") && !ARB_imaging_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_imaging"); + if (supported_extensions.contains("GL_ARB_matrix_palette") && !ARB_matrix_palette_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_matrix_palette"); + if (supported_extensions.contains("GL_ARB_multisample") && !ARB_multisample_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_multisample"); + if (supported_extensions.contains("GL_ARB_multitexture") && !ARB_multitexture_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_multitexture"); + if (supported_extensions.contains("GL_ARB_occlusion_query") && !ARB_occlusion_query_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_occlusion_query"); + if (supported_extensions.contains("GL_ARB_point_parameters") && !ARB_point_parameters_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_point_parameters"); + if (supported_extensions.contains("GL_ARB_program") && !ARB_program_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_program"); + if (supported_extensions.contains("GL_ARB_shader_objects") && !ARB_shader_objects_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_shader_objects"); + if (supported_extensions.contains("GL_ARB_texture_compression") && !ARB_texture_compression_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_texture_compression"); + if (supported_extensions.contains("GL_ARB_transpose_matrix") && !ARB_transpose_matrix_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_transpose_matrix"); + if (supported_extensions.contains("GL_ARB_vertex_blend") && !ARB_vertex_blend_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_vertex_blend"); + if (supported_extensions.contains("GL_ARB_vertex_program") && !ARB_vertex_program_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_vertex_program"); + if (supported_extensions.contains("GL_ARB_vertex_shader") && !ARB_vertex_shader_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_vertex_shader"); + if (supported_extensions.contains("GL_ARB_window_pos") && !ARB_window_pos_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ARB_window_pos"); + if (supported_extensions.contains("GL_ATI_draw_buffers") && !ATI_draw_buffers_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_draw_buffers"); + if (supported_extensions.contains("GL_ATI_element_array") && !ATI_element_array_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_element_array"); + if (supported_extensions.contains("GL_ATI_envmap_bumpmap") && !ATI_envmap_bumpmap_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_envmap_bumpmap"); + if (supported_extensions.contains("GL_ATI_fragment_shader") && !ATI_fragment_shader_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_fragment_shader"); + if (supported_extensions.contains("GL_ATI_map_object_buffer") && !ATI_map_object_buffer_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_map_object_buffer"); + if (supported_extensions.contains("GL_ATI_pn_triangles") && !ATI_pn_triangles_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_pn_triangles"); + if (supported_extensions.contains("GL_ATI_separate_stencil") && !ATI_separate_stencil_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_separate_stencil"); + if (supported_extensions.contains("GL_ATI_vertex_array_object") && !ATI_vertex_array_object_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_vertex_array_object"); + if (supported_extensions.contains("GL_ATI_vertex_attrib_array_object") && !ATI_vertex_attrib_array_object_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_vertex_attrib_array_object"); + if (supported_extensions.contains("GL_ATI_vertex_streams") && !ATI_vertex_streams_initNativeFunctionAddresses()) + supported_extensions.remove("GL_ATI_vertex_streams"); + if (supported_extensions.contains("GL_EXT_blend_equation_separate") && !EXT_blend_equation_separate_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_blend_equation_separate"); + if (supported_extensions.contains("GL_EXT_blend_func_separate") && !EXT_blend_func_separate_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_blend_func_separate"); + if (supported_extensions.contains("GL_EXT_compiled_vertex_array") && !EXT_compiled_vertex_array_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_compiled_vertex_array"); + if (supported_extensions.contains("GL_EXT_depth_bounds_test") && !EXT_depth_bounds_test_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_depth_bounds_test"); + if (supported_extensions.contains("GL_EXT_draw_range_elements") && !EXT_draw_range_elements_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_draw_range_elements"); + if (supported_extensions.contains("GL_EXT_fog_coord") && !EXT_fog_coord_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_fog_coord"); + if (supported_extensions.contains("GL_EXT_framebuffer_object") && !EXT_framebuffer_object_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_framebuffer_object"); + if (supported_extensions.contains("GL_EXT_multi_draw_arrays") && !EXT_multi_draw_arrays_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_multi_draw_arrays"); + if (supported_extensions.contains("GL_EXT_paletted_texture") && !EXT_paletted_texture_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_paletted_texture"); + if (supported_extensions.contains("GL_EXT_point_parameters") && !EXT_point_parameters_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_point_parameters"); + if (supported_extensions.contains("GL_EXT_secondary_color") && !EXT_secondary_color_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_secondary_color"); + if (supported_extensions.contains("GL_EXT_stencil_two_side") && !EXT_stencil_two_side_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_stencil_two_side"); + if (supported_extensions.contains("GL_EXT_vertex_shader") && !EXT_vertex_shader_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_vertex_shader"); + if (supported_extensions.contains("GL_EXT_vertex_weighting") && !EXT_vertex_weighting_initNativeFunctionAddresses()) + supported_extensions.remove("GL_EXT_vertex_weighting"); + if (supported_extensions.contains("OpenGL12") && !GL12_initNativeFunctionAddresses()) + supported_extensions.remove("OpenGL12"); + if (supported_extensions.contains("OpenGL13") && !GL13_initNativeFunctionAddresses()) + supported_extensions.remove("OpenGL13"); + if (supported_extensions.contains("OpenGL14") && !GL14_initNativeFunctionAddresses()) + supported_extensions.remove("OpenGL14"); + if (supported_extensions.contains("OpenGL15") && !GL15_initNativeFunctionAddresses()) + supported_extensions.remove("OpenGL15"); + if (supported_extensions.contains("OpenGL20") && !GL20_initNativeFunctionAddresses()) + supported_extensions.remove("OpenGL20"); + if (supported_extensions.contains("GL_NV_evaluators") && !NV_evaluators_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_evaluators"); + if (supported_extensions.contains("GL_NV_fence") && !NV_fence_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_fence"); + if (supported_extensions.contains("GL_NV_fragment_program") && !NV_fragment_program_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_fragment_program"); + if (supported_extensions.contains("GL_NV_half_float") && !NV_half_float_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_half_float"); + if (supported_extensions.contains("GL_NV_occlusion_query") && !NV_occlusion_query_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_occlusion_query"); + if (supported_extensions.contains("GL_NV_pixel_data_range") && !NV_pixel_data_range_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_pixel_data_range"); + if (supported_extensions.contains("GL_NV_point_sprite") && !NV_point_sprite_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_point_sprite"); + if (supported_extensions.contains("GL_NV_primitive_restart") && !NV_primitive_restart_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_primitive_restart"); + if (supported_extensions.contains("GL_NV_program") && !NV_program_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_program"); + if (supported_extensions.contains("GL_NV_register_combiners") && !NV_register_combiners_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_register_combiners"); + if (supported_extensions.contains("GL_NV_register_combiners2") && !NV_register_combiners2_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_register_combiners2"); + if (supported_extensions.contains("GL_NV_vertex_array_range") && !NV_vertex_array_range_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_vertex_array_range"); + if (supported_extensions.contains("GL_NV_vertex_program") && !NV_vertex_program_initNativeFunctionAddresses()) + supported_extensions.remove("GL_NV_vertex_program"); return supported_extensions; } static void unloadAllStubs() { - GLContext.resetNativeStubs(ARBBufferObject.class); - GLContext.resetNativeStubs(ARBColorBufferFloat.class); - GLContext.resetNativeStubs(ARBDrawBuffers.class); - GLContext.resetNativeStubs(ARBImaging.class); - GLContext.resetNativeStubs(ARBMatrixPalette.class); - GLContext.resetNativeStubs(ARBMultisample.class); - GLContext.resetNativeStubs(ARBMultitexture.class); - GLContext.resetNativeStubs(ARBOcclusionQuery.class); - GLContext.resetNativeStubs(ARBPointParameters.class); - GLContext.resetNativeStubs(ARBProgram.class); - GLContext.resetNativeStubs(ARBShaderObjects.class); - GLContext.resetNativeStubs(ARBTextureCompression.class); - GLContext.resetNativeStubs(ARBTransposeMatrix.class); - GLContext.resetNativeStubs(ARBVertexBlend.class); - GLContext.resetNativeStubs(ARBVertexProgram.class); - GLContext.resetNativeStubs(ARBVertexShader.class); - GLContext.resetNativeStubs(ARBWindowPos.class); - GLContext.resetNativeStubs(ATIDrawBuffers.class); - GLContext.resetNativeStubs(ATIElementArray.class); - GLContext.resetNativeStubs(ATIEnvmapBumpmap.class); - GLContext.resetNativeStubs(ATIFragmentShader.class); - GLContext.resetNativeStubs(ATIMapObjectBuffer.class); - GLContext.resetNativeStubs(ATIPnTriangles.class); - GLContext.resetNativeStubs(ATISeparateStencil.class); - GLContext.resetNativeStubs(ATIVertexArrayObject.class); - GLContext.resetNativeStubs(ATIVertexAttribArrayObject.class); - GLContext.resetNativeStubs(ATIVertexStreams.class); - GLContext.resetNativeStubs(EXTBlendEquationSeparate.class); - GLContext.resetNativeStubs(EXTBlendFuncSeparate.class); - GLContext.resetNativeStubs(EXTCompiledVertexArray.class); - GLContext.resetNativeStubs(EXTDepthBoundsTest.class); - GLContext.resetNativeStubs(EXTDrawRangeElements.class); - GLContext.resetNativeStubs(EXTFogCoord.class); - GLContext.resetNativeStubs(EXTFramebufferObject.class); - GLContext.resetNativeStubs(EXTMultiDrawArrays.class); - GLContext.resetNativeStubs(EXTPalettedTexture.class); - GLContext.resetNativeStubs(EXTPointParameters.class); - GLContext.resetNativeStubs(EXTSecondaryColor.class); - GLContext.resetNativeStubs(EXTStencilTwoSide.class); - GLContext.resetNativeStubs(EXTVertexShader.class); - GLContext.resetNativeStubs(EXTVertexWeighting.class); - GLContext.resetNativeStubs(GL11.class); - GLContext.resetNativeStubs(GL12.class); - GLContext.resetNativeStubs(GL13.class); - GLContext.resetNativeStubs(GL14.class); - GLContext.resetNativeStubs(GL15.class); - GLContext.resetNativeStubs(GL20.class); - GLContext.resetNativeStubs(NVEvaluators.class); - GLContext.resetNativeStubs(NVFence.class); - GLContext.resetNativeStubs(NVFragmentProgram.class); - GLContext.resetNativeStubs(NVHalfFloat.class); - GLContext.resetNativeStubs(NVOcclusionQuery.class); - GLContext.resetNativeStubs(NVPixelDataRange.class); - GLContext.resetNativeStubs(NVPointSprite.class); - GLContext.resetNativeStubs(NVPrimitiveRestart.class); - GLContext.resetNativeStubs(NVProgram.class); - GLContext.resetNativeStubs(NVRegisterCombiners.class); - GLContext.resetNativeStubs(NVRegisterCombiners2.class); - GLContext.resetNativeStubs(NVVertexArrayRange.class); - GLContext.resetNativeStubs(NVVertexProgram.class); } - ContextCapabilities(Set supported_extensions) { + ContextCapabilities() throws LWJGLException { + Set supported_extensions = initAllStubs(); this.GL_ARB_color_buffer_float = supported_extensions.contains("GL_ARB_color_buffer_float"); this.GL_ARB_depth_texture = supported_extensions.contains("GL_ARB_depth_texture"); this.GL_ARB_draw_buffers = supported_extensions.contains("GL_ARB_draw_buffers"); diff --git a/src/java/org/lwjgl/opengl/EXTBlendEquationSeparate.java b/src/java/org/lwjgl/opengl/EXTBlendEquationSeparate.java index 2fc19d62..cd2dc8a3 100644 --- a/src/java/org/lwjgl/opengl/EXTBlendEquationSeparate.java +++ b/src/java/org/lwjgl/opengl/EXTBlendEquationSeparate.java @@ -15,5 +15,10 @@ public final class EXTBlendEquationSeparate { static native void initNativeStubs() throws LWJGLException; - public static native void glBlendEquationSeparateEXT(int modeRGB, int modeAlpha); + public static void glBlendEquationSeparateEXT(int modeRGB, int modeAlpha) { + long function_pointer = GLContext.getCapabilities().EXT_blend_equation_separate_glBlendEquationSeparateEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendEquationSeparateEXT(modeRGB, modeAlpha, function_pointer); + } + private static native void nglBlendEquationSeparateEXT(int modeRGB, int modeAlpha, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTBlendFuncSeparate.java b/src/java/org/lwjgl/opengl/EXTBlendFuncSeparate.java index 71ae4d60..99d76e25 100644 --- a/src/java/org/lwjgl/opengl/EXTBlendFuncSeparate.java +++ b/src/java/org/lwjgl/opengl/EXTBlendFuncSeparate.java @@ -17,5 +17,10 @@ public final class EXTBlendFuncSeparate { static native void initNativeStubs() throws LWJGLException; - public static native void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); + public static void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { + long function_pointer = GLContext.getCapabilities().EXT_blend_func_separate_glBlendFuncSeparateEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha, function_pointer); + } + private static native void nglBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTCompiledVertexArray.java b/src/java/org/lwjgl/opengl/EXTCompiledVertexArray.java index dddef690..37491005 100644 --- a/src/java/org/lwjgl/opengl/EXTCompiledVertexArray.java +++ b/src/java/org/lwjgl/opengl/EXTCompiledVertexArray.java @@ -15,7 +15,17 @@ public final class EXTCompiledVertexArray { static native void initNativeStubs() throws LWJGLException; - public static native void glUnlockArraysEXT(); + public static void glUnlockArraysEXT() { + long function_pointer = GLContext.getCapabilities().EXT_compiled_vertex_array_glUnlockArraysEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUnlockArraysEXT(function_pointer); + } + private static native void nglUnlockArraysEXT(long function_pointer); - public static native void glLockArraysEXT(int first, int count); + public static void glLockArraysEXT(int first, int count) { + long function_pointer = GLContext.getCapabilities().EXT_compiled_vertex_array_glLockArraysEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLockArraysEXT(first, count, function_pointer); + } + private static native void nglLockArraysEXT(int first, int count, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTDepthBoundsTest.java b/src/java/org/lwjgl/opengl/EXTDepthBoundsTest.java index d79717e3..a6090306 100644 --- a/src/java/org/lwjgl/opengl/EXTDepthBoundsTest.java +++ b/src/java/org/lwjgl/opengl/EXTDepthBoundsTest.java @@ -15,5 +15,10 @@ public final class EXTDepthBoundsTest { static native void initNativeStubs() throws LWJGLException; - public static native void glDepthBoundsEXT(double zmin, double zmax); + public static void glDepthBoundsEXT(double zmin, double zmax) { + long function_pointer = GLContext.getCapabilities().EXT_depth_bounds_test_glDepthBoundsEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDepthBoundsEXT(zmin, zmax, function_pointer); + } + private static native void nglDepthBoundsEXT(double zmin, double zmax, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTDrawRangeElements.java b/src/java/org/lwjgl/opengl/EXTDrawRangeElements.java index 1b4a844f..be88509d 100644 --- a/src/java/org/lwjgl/opengl/EXTDrawRangeElements.java +++ b/src/java/org/lwjgl/opengl/EXTDrawRangeElements.java @@ -18,22 +18,30 @@ public final class EXTDrawRangeElements { public static void glDrawRangeElementsEXT(int mode, int start, int end, ShortBuffer pIndices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(pIndices); - nglDrawRangeElementsEXT(mode, start, end, (pIndices.remaining()), GL11.GL_UNSIGNED_SHORT, pIndices, pIndices.position() << 1); + long function_pointer = GLContext.getCapabilities().EXT_draw_range_elements_glDrawRangeElementsEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElementsEXT(mode, start, end, (pIndices.remaining()), GL11.GL_UNSIGNED_SHORT, pIndices, pIndices.position() << 1, function_pointer); } public static void glDrawRangeElementsEXT(int mode, int start, int end, IntBuffer pIndices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(pIndices); - nglDrawRangeElementsEXT(mode, start, end, (pIndices.remaining()), GL11.GL_UNSIGNED_INT, pIndices, pIndices.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_draw_range_elements_glDrawRangeElementsEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElementsEXT(mode, start, end, (pIndices.remaining()), GL11.GL_UNSIGNED_INT, pIndices, pIndices.position() << 2, function_pointer); } public static void glDrawRangeElementsEXT(int mode, int start, int end, ByteBuffer pIndices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(pIndices); - nglDrawRangeElementsEXT(mode, start, end, (pIndices.remaining()), GL11.GL_UNSIGNED_BYTE, pIndices, pIndices.position()); + long function_pointer = GLContext.getCapabilities().EXT_draw_range_elements_glDrawRangeElementsEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElementsEXT(mode, start, end, (pIndices.remaining()), GL11.GL_UNSIGNED_BYTE, pIndices, pIndices.position(), function_pointer); } - private static native void nglDrawRangeElementsEXT(int mode, int start, int end, int count, int type, Buffer pIndices, int pIndices_position); + private static native void nglDrawRangeElementsEXT(int mode, int start, int end, int count, int type, Buffer pIndices, int pIndices_position, long function_pointer); public static void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, int pIndices_buffer_offset) { GLBufferChecks.ensureElementVBOenabled(); - nglDrawRangeElementsEXTBO(mode, start, end, count, type, pIndices_buffer_offset); + long function_pointer = GLContext.getCapabilities().EXT_draw_range_elements_glDrawRangeElementsEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElementsEXTBO(mode, start, end, count, type, pIndices_buffer_offset, function_pointer); } - private static native void nglDrawRangeElementsEXTBO(int mode, int start, int end, int count, int type, int pIndices_buffer_offset); + private static native void nglDrawRangeElementsEXTBO(int mode, int start, int end, int count, int type, int pIndices_buffer_offset, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTFogCoord.java b/src/java/org/lwjgl/opengl/EXTFogCoord.java index 60a0eb5d..dd73dbd5 100644 --- a/src/java/org/lwjgl/opengl/EXTFogCoord.java +++ b/src/java/org/lwjgl/opengl/EXTFogCoord.java @@ -24,14 +24,23 @@ public final class EXTFogCoord { public static void glFogCoordPointerEXT(int stride, FloatBuffer data) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(data); - nglFogCoordPointerEXT(GL11.GL_FLOAT, stride, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_fog_coord_glFogCoordPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogCoordPointerEXT(GL11.GL_FLOAT, stride, data, data.position() << 2, function_pointer); } - private static native void nglFogCoordPointerEXT(int type, int stride, Buffer data, int data_position); + private static native void nglFogCoordPointerEXT(int type, int stride, Buffer data, int data_position, long function_pointer); public static void glFogCoordPointerEXT(int type, int stride, int data_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglFogCoordPointerEXTBO(type, stride, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().EXT_fog_coord_glFogCoordPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogCoordPointerEXTBO(type, stride, data_buffer_offset, function_pointer); } - private static native void nglFogCoordPointerEXTBO(int type, int stride, int data_buffer_offset); + private static native void nglFogCoordPointerEXTBO(int type, int stride, int data_buffer_offset, long function_pointer); - public static native void glFogCoordfEXT(float coord); + public static void glFogCoordfEXT(float coord) { + long function_pointer = GLContext.getCapabilities().EXT_fog_coord_glFogCoordfEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogCoordfEXT(coord, function_pointer); + } + private static native void nglFogCoordfEXT(float coord, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTFramebufferObject.java b/src/java/org/lwjgl/opengl/EXTFramebufferObject.java index 42f35277..943e7689 100644 --- a/src/java/org/lwjgl/opengl/EXTFramebufferObject.java +++ b/src/java/org/lwjgl/opengl/EXTFramebufferObject.java @@ -70,61 +70,131 @@ public final class EXTFramebufferObject { static native void initNativeStubs() throws LWJGLException; - public static native void glGenerateMipmapEXT(int target); + public static void glGenerateMipmapEXT(int target) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glGenerateMipmapEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenerateMipmapEXT(target, function_pointer); + } + private static native void nglGenerateMipmapEXT(int target, long function_pointer); public static void glGetFramebufferAttachmentParameterEXT(int target, int attachment, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glGetFramebufferAttachmentParameterivEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params, params.position(), function_pointer); } - private static native void nglGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, IntBuffer params, int params_position); + private static native void nglGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, int renderbuffer); + public static void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, int renderbuffer) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glFramebufferRenderbufferEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer, function_pointer); + } + private static native void nglFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, int renderbuffer, long function_pointer); - public static native void glFramebufferTexture3DEXT(int target, int attachment, int textarget, int texture, int level, int zoffset); + public static void glFramebufferTexture3DEXT(int target, int attachment, int textarget, int texture, int level, int zoffset) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glFramebufferTexture3DEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset, function_pointer); + } + private static native void nglFramebufferTexture3DEXT(int target, int attachment, int textarget, int texture, int level, int zoffset, long function_pointer); - public static native void glFramebufferTexture2DEXT(int target, int attachment, int textarget, int texture, int level); + public static void glFramebufferTexture2DEXT(int target, int attachment, int textarget, int texture, int level) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glFramebufferTexture2DEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFramebufferTexture2DEXT(target, attachment, textarget, texture, level, function_pointer); + } + private static native void nglFramebufferTexture2DEXT(int target, int attachment, int textarget, int texture, int level, long function_pointer); - public static native void glFramebufferTexture1DEXT(int target, int attachment, int textarget, int texture, int level); + public static void glFramebufferTexture1DEXT(int target, int attachment, int textarget, int texture, int level) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glFramebufferTexture1DEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFramebufferTexture1DEXT(target, attachment, textarget, texture, level, function_pointer); + } + private static native void nglFramebufferTexture1DEXT(int target, int attachment, int textarget, int texture, int level, long function_pointer); - public static native int glCheckFramebufferStatusEXT(int target); + public static int glCheckFramebufferStatusEXT(int target) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glCheckFramebufferStatusEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglCheckFramebufferStatusEXT(target, function_pointer); + return __result; + } + private static native int nglCheckFramebufferStatusEXT(int target, long function_pointer); public static void glGenFramebuffersEXT(IntBuffer framebuffers) { BufferChecks.checkDirect(framebuffers); - nglGenFramebuffersEXT((framebuffers.remaining()), framebuffers, framebuffers.position()); + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glGenFramebuffersEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenFramebuffersEXT((framebuffers.remaining()), framebuffers, framebuffers.position(), function_pointer); } - private static native void nglGenFramebuffersEXT(int n, IntBuffer framebuffers, int framebuffers_position); + private static native void nglGenFramebuffersEXT(int n, IntBuffer framebuffers, int framebuffers_position, long function_pointer); public static void glDeleteFramebuffersEXT(IntBuffer framebuffers) { BufferChecks.checkDirect(framebuffers); - nglDeleteFramebuffersEXT((framebuffers.remaining()), framebuffers, framebuffers.position()); + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glDeleteFramebuffersEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteFramebuffersEXT((framebuffers.remaining()), framebuffers, framebuffers.position(), function_pointer); } - private static native void nglDeleteFramebuffersEXT(int n, IntBuffer framebuffers, int framebuffers_position); + private static native void nglDeleteFramebuffersEXT(int n, IntBuffer framebuffers, int framebuffers_position, long function_pointer); - public static native void glBindFramebufferEXT(int target, int framebuffer); + public static void glBindFramebufferEXT(int target, int framebuffer) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glBindFramebufferEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindFramebufferEXT(target, framebuffer, function_pointer); + } + private static native void nglBindFramebufferEXT(int target, int framebuffer, long function_pointer); - public static native boolean glIsFramebufferEXT(int framebuffer); + public static boolean glIsFramebufferEXT(int framebuffer) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glIsFramebufferEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsFramebufferEXT(framebuffer, function_pointer); + return __result; + } + private static native boolean nglIsFramebufferEXT(int framebuffer, long function_pointer); public static void glGetRenderbufferParameterEXT(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetRenderbufferParameterivEXT(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glGetRenderbufferParameterivEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetRenderbufferParameterivEXT(target, pname, params, params.position(), function_pointer); } - private static native void nglGetRenderbufferParameterivEXT(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetRenderbufferParameterivEXT(int target, int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glRenderbufferStorageEXT(int target, int internalformat, int width, int height); + public static void glRenderbufferStorageEXT(int target, int internalformat, int width, int height) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glRenderbufferStorageEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRenderbufferStorageEXT(target, internalformat, width, height, function_pointer); + } + private static native void nglRenderbufferStorageEXT(int target, int internalformat, int width, int height, long function_pointer); public static void glGenRenderbuffersEXT(IntBuffer renderbuffers) { BufferChecks.checkDirect(renderbuffers); - nglGenRenderbuffersEXT((renderbuffers.remaining()), renderbuffers, renderbuffers.position()); + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glGenRenderbuffersEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenRenderbuffersEXT((renderbuffers.remaining()), renderbuffers, renderbuffers.position(), function_pointer); } - private static native void nglGenRenderbuffersEXT(int n, IntBuffer renderbuffers, int renderbuffers_position); + private static native void nglGenRenderbuffersEXT(int n, IntBuffer renderbuffers, int renderbuffers_position, long function_pointer); public static void glDeleteRenderbuffersEXT(IntBuffer renderbuffers) { BufferChecks.checkDirect(renderbuffers); - nglDeleteRenderbuffersEXT((renderbuffers.remaining()), renderbuffers, renderbuffers.position()); + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glDeleteRenderbuffersEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteRenderbuffersEXT((renderbuffers.remaining()), renderbuffers, renderbuffers.position(), function_pointer); } - private static native void nglDeleteRenderbuffersEXT(int n, IntBuffer renderbuffers, int renderbuffers_position); + private static native void nglDeleteRenderbuffersEXT(int n, IntBuffer renderbuffers, int renderbuffers_position, long function_pointer); - public static native void glBindRenderbufferEXT(int target, int renderbuffer); + public static void glBindRenderbufferEXT(int target, int renderbuffer) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glBindRenderbufferEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindRenderbufferEXT(target, renderbuffer, function_pointer); + } + private static native void nglBindRenderbufferEXT(int target, int renderbuffer, long function_pointer); - public static native boolean glIsRenderbufferEXT(int renderbuffer); + public static boolean glIsRenderbufferEXT(int renderbuffer) { + long function_pointer = GLContext.getCapabilities().EXT_framebuffer_object_glIsRenderbufferEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsRenderbufferEXT(renderbuffer, function_pointer); + return __result; + } + private static native boolean nglIsRenderbufferEXT(int renderbuffer, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTMultiDrawArrays.java b/src/java/org/lwjgl/opengl/EXTMultiDrawArrays.java index 00c4f946..b9a6aca5 100644 --- a/src/java/org/lwjgl/opengl/EXTMultiDrawArrays.java +++ b/src/java/org/lwjgl/opengl/EXTMultiDrawArrays.java @@ -19,7 +19,9 @@ public final class EXTMultiDrawArrays { if (piFirst.remaining() != piCount.remaining()) { throw new IllegalArgumentException("piFirst.remaining() != piCount.remaining()"); } - nglMultiDrawArraysEXT(mode, piFirst, piFirst.position(), piCount, piCount.position(), (piFirst.remaining())); + long function_pointer = GLContext.getCapabilities().EXT_multi_draw_arrays_glMultiDrawArraysEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiDrawArraysEXT(mode, piFirst, piFirst.position(), piCount, piCount.position(), (piFirst.remaining()), function_pointer); } - private static native void nglMultiDrawArraysEXT(int mode, IntBuffer piFirst, int piFirst_position, IntBuffer piCount, int piCount_position, int primcount); + private static native void nglMultiDrawArraysEXT(int mode, IntBuffer piFirst, int piFirst_position, IntBuffer piCount, int piCount_position, int primcount, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTPalettedTexture.java b/src/java/org/lwjgl/opengl/EXTPalettedTexture.java index 17ab27dd..21eeb057 100644 --- a/src/java/org/lwjgl/opengl/EXTPalettedTexture.java +++ b/src/java/org/lwjgl/opengl/EXTPalettedTexture.java @@ -30,67 +30,95 @@ public final class EXTPalettedTexture { public static void glGetColorTableParameterEXT(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetColorTableParameterfvEXT(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glGetColorTableParameterfvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableParameterfvEXT(target, pname, params, params.position(), function_pointer); } - private static native void nglGetColorTableParameterfvEXT(int target, int pname, FloatBuffer params, int params_position); + private static native void nglGetColorTableParameterfvEXT(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetColorTableParameterEXT(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetColorTableParameterivEXT(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glGetColorTableParameterivEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableParameterivEXT(target, pname, params, params.position(), function_pointer); } - private static native void nglGetColorTableParameterivEXT(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetColorTableParameterivEXT(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetColorTableEXT(int target, int format, int type, ByteBuffer data) { BufferChecks.checkDirect(data); - nglGetColorTableEXT(target, format, type, data, data.position()); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glGetColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableEXT(target, format, type, data, data.position(), function_pointer); } public static void glGetColorTableEXT(int target, int format, int type, IntBuffer data) { BufferChecks.checkDirect(data); - nglGetColorTableEXT(target, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glGetColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableEXT(target, format, type, data, data.position() << 2, function_pointer); } public static void glGetColorTableEXT(int target, int format, int type, ShortBuffer data) { BufferChecks.checkDirect(data); - nglGetColorTableEXT(target, format, type, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glGetColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableEXT(target, format, type, data, data.position() << 1, function_pointer); } public static void glGetColorTableEXT(int target, int format, int type, FloatBuffer data) { BufferChecks.checkDirect(data); - nglGetColorTableEXT(target, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glGetColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetColorTableEXT(target, format, type, data, data.position() << 2, function_pointer); } - private static native void nglGetColorTableEXT(int target, int format, int type, Buffer data, int data_position); + private static native void nglGetColorTableEXT(int target, int format, int type, Buffer data, int data_position, long function_pointer); public static void glColorSubTableEXT(int target, int start, int count, int format, int type, ByteBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, count, 1, 1)); - nglColorSubTableEXT(target, start, count, format, type, data, data.position()); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorSubTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorSubTableEXT(target, start, count, format, type, data, data.position(), function_pointer); } public static void glColorSubTableEXT(int target, int start, int count, int format, int type, IntBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, count, 1, 1)); - nglColorSubTableEXT(target, start, count, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorSubTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorSubTableEXT(target, start, count, format, type, data, data.position() << 2, function_pointer); } public static void glColorSubTableEXT(int target, int start, int count, int format, int type, ShortBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, count, 1, 1)); - nglColorSubTableEXT(target, start, count, format, type, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorSubTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorSubTableEXT(target, start, count, format, type, data, data.position() << 1, function_pointer); } public static void glColorSubTableEXT(int target, int start, int count, int format, int type, FloatBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, count, 1, 1)); - nglColorSubTableEXT(target, start, count, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorSubTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorSubTableEXT(target, start, count, format, type, data, data.position() << 2, function_pointer); } - private static native void nglColorSubTableEXT(int target, int start, int count, int format, int type, Buffer data, int data_position); + private static native void nglColorSubTableEXT(int target, int start, int count, int format, int type, Buffer data, int data_position, long function_pointer); public static void glColorTableEXT(int target, int internalFormat, int width, int format, int type, ByteBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, width, 1, 1)); - nglColorTableEXT(target, internalFormat, width, format, type, data, data.position()); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTableEXT(target, internalFormat, width, format, type, data, data.position(), function_pointer); } public static void glColorTableEXT(int target, int internalFormat, int width, int format, int type, IntBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, width, 1, 1)); - nglColorTableEXT(target, internalFormat, width, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTableEXT(target, internalFormat, width, format, type, data, data.position() << 2, function_pointer); } public static void glColorTableEXT(int target, int internalFormat, int width, int format, int type, ShortBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, width, 1, 1)); - nglColorTableEXT(target, internalFormat, width, format, type, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTableEXT(target, internalFormat, width, format, type, data, data.position() << 1, function_pointer); } public static void glColorTableEXT(int target, int internalFormat, int width, int format, int type, FloatBuffer data) { BufferChecks.checkBuffer(data, GLBufferChecks.calculateImageStorage(data, format, type, width, 1, 1)); - nglColorTableEXT(target, internalFormat, width, format, type, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_paletted_texture_glColorTableEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorTableEXT(target, internalFormat, width, format, type, data, data.position() << 2, function_pointer); } - private static native void nglColorTableEXT(int target, int internalFormat, int width, int format, int type, Buffer data, int data_position); + private static native void nglColorTableEXT(int target, int internalFormat, int width, int format, int type, Buffer data, int data_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTPointParameters.java b/src/java/org/lwjgl/opengl/EXTPointParameters.java index 038d84c9..cce8368b 100644 --- a/src/java/org/lwjgl/opengl/EXTPointParameters.java +++ b/src/java/org/lwjgl/opengl/EXTPointParameters.java @@ -19,9 +19,16 @@ public final class EXTPointParameters { public static void glPointParameterEXT(int pname, FloatBuffer pfParams) { BufferChecks.checkBuffer(pfParams, 4); - nglPointParameterfvEXT(pname, pfParams, pfParams.position()); + long function_pointer = GLContext.getCapabilities().EXT_point_parameters_glPointParameterfvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameterfvEXT(pname, pfParams, pfParams.position(), function_pointer); } - private static native void nglPointParameterfvEXT(int pname, FloatBuffer pfParams, int pfParams_position); + private static native void nglPointParameterfvEXT(int pname, FloatBuffer pfParams, int pfParams_position, long function_pointer); - public static native void glPointParameterfEXT(int pname, float param); + public static void glPointParameterfEXT(int pname, float param) { + long function_pointer = GLContext.getCapabilities().EXT_point_parameters_glPointParameterfEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameterfEXT(pname, param, function_pointer); + } + private static native void nglPointParameterfEXT(int pname, float param, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTSecondaryColor.java b/src/java/org/lwjgl/opengl/EXTSecondaryColor.java index 608fb3c8..31f91779 100644 --- a/src/java/org/lwjgl/opengl/EXTSecondaryColor.java +++ b/src/java/org/lwjgl/opengl/EXTSecondaryColor.java @@ -23,23 +23,44 @@ public final class EXTSecondaryColor { public static void glSecondaryColorPointerEXT(int size, int stride, FloatBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglSecondaryColorPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_secondary_color_glSecondaryColorPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColorPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position() << 2, function_pointer); } public static void glSecondaryColorPointerEXT(int size, boolean unsigned, int stride, ByteBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglSecondaryColorPointerEXT(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pPointer, pPointer.position()); + long function_pointer = GLContext.getCapabilities().EXT_secondary_color_glSecondaryColorPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColorPointerEXT(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pPointer, pPointer.position(), function_pointer); } - private static native void nglSecondaryColorPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_position); + private static native void nglSecondaryColorPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_position, long function_pointer); public static void glSecondaryColorPointerEXT(int size, int type, int stride, int pPointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglSecondaryColorPointerEXTBO(size, type, stride, pPointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().EXT_secondary_color_glSecondaryColorPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColorPointerEXTBO(size, type, stride, pPointer_buffer_offset, function_pointer); } - private static native void nglSecondaryColorPointerEXTBO(int size, int type, int stride, int pPointer_buffer_offset); + private static native void nglSecondaryColorPointerEXTBO(int size, int type, int stride, int pPointer_buffer_offset, long function_pointer); - public static native void glSecondaryColor3ubEXT(byte red, byte green, byte blue); + public static void glSecondaryColor3ubEXT(byte red, byte green, byte blue) { + long function_pointer = GLContext.getCapabilities().EXT_secondary_color_glSecondaryColor3ubEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColor3ubEXT(red, green, blue, function_pointer); + } + private static native void nglSecondaryColor3ubEXT(byte red, byte green, byte blue, long function_pointer); - public static native void glSecondaryColor3fEXT(float red, float green, float blue); + public static void glSecondaryColor3fEXT(float red, float green, float blue) { + long function_pointer = GLContext.getCapabilities().EXT_secondary_color_glSecondaryColor3fEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColor3fEXT(red, green, blue, function_pointer); + } + private static native void nglSecondaryColor3fEXT(float red, float green, float blue, long function_pointer); - public static native void glSecondaryColor3bEXT(byte red, byte green, byte blue); + public static void glSecondaryColor3bEXT(byte red, byte green, byte blue) { + long function_pointer = GLContext.getCapabilities().EXT_secondary_color_glSecondaryColor3bEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColor3bEXT(red, green, blue, function_pointer); + } + private static native void nglSecondaryColor3bEXT(byte red, byte green, byte blue, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTStencilTwoSide.java b/src/java/org/lwjgl/opengl/EXTStencilTwoSide.java index 268e0ae6..1d3e21f0 100644 --- a/src/java/org/lwjgl/opengl/EXTStencilTwoSide.java +++ b/src/java/org/lwjgl/opengl/EXTStencilTwoSide.java @@ -15,5 +15,10 @@ public final class EXTStencilTwoSide { static native void initNativeStubs() throws LWJGLException; - public static native void glActiveStencilFaceEXT(int face); + public static void glActiveStencilFaceEXT(int face) { + long function_pointer = GLContext.getCapabilities().EXT_stencil_two_side_glActiveStencilFaceEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglActiveStencilFaceEXT(face, function_pointer); + } + private static native void nglActiveStencilFaceEXT(int face, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTVertexShader.java b/src/java/org/lwjgl/opengl/EXTVertexShader.java index a44627f5..60178a94 100644 --- a/src/java/org/lwjgl/opengl/EXTVertexShader.java +++ b/src/java/org/lwjgl/opengl/EXTVertexShader.java @@ -125,208 +125,381 @@ public final class EXTVertexShader { public static void glGetLocalConstantFloatEXT(int id, int value, FloatBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetLocalConstantFloatvEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetLocalConstantFloatvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetLocalConstantFloatvEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetLocalConstantFloatvEXT(int id, int value, FloatBuffer pbData, int pbData_position); + private static native void nglGetLocalConstantFloatvEXT(int id, int value, FloatBuffer pbData, int pbData_position, long function_pointer); public static void glGetLocalConstantIntegerEXT(int id, int value, IntBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetLocalConstantIntegervEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetLocalConstantIntegervEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetLocalConstantIntegervEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetLocalConstantIntegervEXT(int id, int value, IntBuffer pbData, int pbData_position); + private static native void nglGetLocalConstantIntegervEXT(int id, int value, IntBuffer pbData, int pbData_position, long function_pointer); public static void glGetLocalConstantBooleanEXT(int id, int value, ByteBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetLocalConstantBooleanvEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetLocalConstantBooleanvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetLocalConstantBooleanvEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetLocalConstantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_position); + private static native void nglGetLocalConstantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_position, long function_pointer); public static void glGetInvariantFloatEXT(int id, int value, FloatBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetInvariantFloatvEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetInvariantFloatvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetInvariantFloatvEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetInvariantFloatvEXT(int id, int value, FloatBuffer pbData, int pbData_position); + private static native void nglGetInvariantFloatvEXT(int id, int value, FloatBuffer pbData, int pbData_position, long function_pointer); public static void glGetInvariantIntegerEXT(int id, int value, IntBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetInvariantIntegervEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetInvariantIntegervEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetInvariantIntegervEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetInvariantIntegervEXT(int id, int value, IntBuffer pbData, int pbData_position); + private static native void nglGetInvariantIntegervEXT(int id, int value, IntBuffer pbData, int pbData_position, long function_pointer); public static void glGetInvariantBooleanEXT(int id, int value, ByteBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetInvariantBooleanvEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetInvariantBooleanvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetInvariantBooleanvEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetInvariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_position); + private static native void nglGetInvariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_position, long function_pointer); public static java.nio.ByteBuffer glGetVariantPointerEXT(int id, int value, int result_size) { - java.nio.ByteBuffer __result = nglGetVariantPointervEXT(id, value, result_size); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetVariantPointervEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetVariantPointervEXT(id, value, result_size, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglGetVariantPointervEXT(int id, int value, int result_size); + private static native java.nio.ByteBuffer nglGetVariantPointervEXT(int id, int value, int result_size, long function_pointer); public static void glGetVariantFloatEXT(int id, int value, FloatBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetVariantFloatvEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetVariantFloatvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVariantFloatvEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetVariantFloatvEXT(int id, int value, FloatBuffer pbData, int pbData_position); + private static native void nglGetVariantFloatvEXT(int id, int value, FloatBuffer pbData, int pbData_position, long function_pointer); public static void glGetVariantIntegerEXT(int id, int value, IntBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetVariantIntegervEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetVariantIntegervEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVariantIntegervEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetVariantIntegervEXT(int id, int value, IntBuffer pbData, int pbData_position); + private static native void nglGetVariantIntegervEXT(int id, int value, IntBuffer pbData, int pbData_position, long function_pointer); public static void glGetVariantBooleanEXT(int id, int value, ByteBuffer pbData) { BufferChecks.checkBuffer(pbData, 4); - nglGetVariantBooleanvEXT(id, value, pbData, pbData.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGetVariantBooleanvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVariantBooleanvEXT(id, value, pbData, pbData.position(), function_pointer); } - private static native void nglGetVariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_position); + private static native void nglGetVariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_position, long function_pointer); - public static native boolean glIsVariantEnabledEXT(int id, int cap); + public static boolean glIsVariantEnabledEXT(int id, int cap) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glIsVariantEnabledEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsVariantEnabledEXT(id, cap, function_pointer); + return __result; + } + private static native boolean nglIsVariantEnabledEXT(int id, int cap, long function_pointer); - public static native int glBindParameterEXT(int value); + public static int glBindParameterEXT(int value) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glBindParameterEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglBindParameterEXT(value, function_pointer); + return __result; + } + private static native int nglBindParameterEXT(int value, long function_pointer); - public static native int glBindTextureUnitParameterEXT(int unit, int value); + public static int glBindTextureUnitParameterEXT(int unit, int value) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glBindTextureUnitParameterEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglBindTextureUnitParameterEXT(unit, value, function_pointer); + return __result; + } + private static native int nglBindTextureUnitParameterEXT(int unit, int value, long function_pointer); - public static native int glBindTexGenParameterEXT(int unit, int coord, int value); + public static int glBindTexGenParameterEXT(int unit, int coord, int value) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glBindTexGenParameterEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglBindTexGenParameterEXT(unit, coord, value, function_pointer); + return __result; + } + private static native int nglBindTexGenParameterEXT(int unit, int coord, int value, long function_pointer); - public static native int glBindMaterialParameterEXT(int face, int value); + public static int glBindMaterialParameterEXT(int face, int value) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glBindMaterialParameterEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglBindMaterialParameterEXT(face, value, function_pointer); + return __result; + } + private static native int nglBindMaterialParameterEXT(int face, int value, long function_pointer); - public static native int glBindLightParameterEXT(int light, int value); + public static int glBindLightParameterEXT(int light, int value) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glBindLightParameterEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglBindLightParameterEXT(light, value, function_pointer); + return __result; + } + private static native int nglBindLightParameterEXT(int light, int value, long function_pointer); - public static native void glDisableVariantClientStateEXT(int id); + public static void glDisableVariantClientStateEXT(int id) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glDisableVariantClientStateEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDisableVariantClientStateEXT(id, function_pointer); + } + private static native void nglDisableVariantClientStateEXT(int id, long function_pointer); - public static native void glEnableVariantClientStateEXT(int id); + public static void glEnableVariantClientStateEXT(int id) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glEnableVariantClientStateEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnableVariantClientStateEXT(id, function_pointer); + } + private static native void nglEnableVariantClientStateEXT(int id, long function_pointer); public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ShortBuffer pAddr) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pAddr); - nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pAddr, pAddr.position() << 1); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pAddr, pAddr.position() << 1, function_pointer); } public static void glVariantPointerEXT(int id, boolean unsigned, int stride, IntBuffer pAddr) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pAddr); - nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pAddr, pAddr.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pAddr, pAddr.position() << 2, function_pointer); } public static void glVariantPointerEXT(int id, int stride, FloatBuffer pAddr) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pAddr); - nglVariantPointerEXT(id, GL11.GL_FLOAT, stride, pAddr, pAddr.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantPointerEXT(id, GL11.GL_FLOAT, stride, pAddr, pAddr.position() << 2, function_pointer); } public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ByteBuffer pAddr) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pAddr); - nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantPointerEXT(int id, int type, int stride, Buffer pAddr, int pAddr_position); + private static native void nglVariantPointerEXT(int id, int type, int stride, Buffer pAddr, int pAddr_position, long function_pointer); public static void glVariantPointerEXT(int id, int type, int stride, int pAddr_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglVariantPointerEXTBO(id, type, stride, pAddr_buffer_offset); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantPointerEXTBO(id, type, stride, pAddr_buffer_offset, function_pointer); } - private static native void nglVariantPointerEXTBO(int id, int type, int stride, int pAddr_buffer_offset); + private static native void nglVariantPointerEXTBO(int id, int type, int stride, int pAddr_buffer_offset, long function_pointer); public static void glVariantuEXT(int id, IntBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglVariantuivEXT(id, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantuivEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantuivEXT(id, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantuivEXT(int id, IntBuffer pAddr, int pAddr_position); + private static native void nglVariantuivEXT(int id, IntBuffer pAddr, int pAddr_position, long function_pointer); public static void glVariantuEXT(int id, ShortBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglVariantusvEXT(id, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantusvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantusvEXT(id, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantusvEXT(int id, ShortBuffer pAddr, int pAddr_position); + private static native void nglVariantusvEXT(int id, ShortBuffer pAddr, int pAddr_position, long function_pointer); public static void glVariantuEXT(int id, ByteBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglVariantubvEXT(id, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantubvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantubvEXT(id, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantubvEXT(int id, ByteBuffer pAddr, int pAddr_position); + private static native void nglVariantubvEXT(int id, ByteBuffer pAddr, int pAddr_position, long function_pointer); public static void glVariantEXT(int id, FloatBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglVariantfvEXT(id, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantfvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantfvEXT(id, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantfvEXT(int id, FloatBuffer pAddr, int pAddr_position); + private static native void nglVariantfvEXT(int id, FloatBuffer pAddr, int pAddr_position, long function_pointer); public static void glVariantEXT(int id, IntBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglVariantivEXT(id, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantivEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantivEXT(id, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantivEXT(int id, IntBuffer pAddr, int pAddr_position); + private static native void nglVariantivEXT(int id, IntBuffer pAddr, int pAddr_position, long function_pointer); public static void glVariantEXT(int id, ShortBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglVariantsvEXT(id, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantsvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantsvEXT(id, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantsvEXT(int id, ShortBuffer pAddr, int pAddr_position); + private static native void nglVariantsvEXT(int id, ShortBuffer pAddr, int pAddr_position, long function_pointer); public static void glVariantEXT(int id, ByteBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglVariantbvEXT(id, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glVariantbvEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVariantbvEXT(id, pAddr, pAddr.position(), function_pointer); } - private static native void nglVariantbvEXT(int id, ByteBuffer pAddr, int pAddr_position); + private static native void nglVariantbvEXT(int id, ByteBuffer pAddr, int pAddr_position, long function_pointer); public static void glSetLocalConstantEXT(int id, boolean unsigned, ShortBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, pAddr, pAddr.position() << 1); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetLocalConstantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, pAddr, pAddr.position() << 1, function_pointer); } public static void glSetLocalConstantEXT(int id, boolean unsigned, IntBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, pAddr, pAddr.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetLocalConstantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, pAddr, pAddr.position() << 2, function_pointer); } public static void glSetLocalConstantEXT(int id, FloatBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetLocalConstantEXT(id, GL11.GL_FLOAT, pAddr, pAddr.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetLocalConstantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetLocalConstantEXT(id, GL11.GL_FLOAT, pAddr, pAddr.position() << 2, function_pointer); } public static void glSetLocalConstantEXT(int id, boolean unsigned, ByteBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetLocalConstantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, pAddr, pAddr.position(), function_pointer); } - private static native void nglSetLocalConstantEXT(int id, int type, Buffer pAddr, int pAddr_position); + private static native void nglSetLocalConstantEXT(int id, int type, Buffer pAddr, int pAddr_position, long function_pointer); public static void glSetInvariantEXT(int id, boolean unsigned, ShortBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, pAddr, pAddr.position() << 1); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetInvariantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, pAddr, pAddr.position() << 1, function_pointer); } public static void glSetInvariantEXT(int id, boolean unsigned, IntBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, pAddr, pAddr.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetInvariantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, pAddr, pAddr.position() << 2, function_pointer); } public static void glSetInvariantEXT(int id, FloatBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetInvariantEXT(id, GL11.GL_FLOAT, pAddr, pAddr.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetInvariantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetInvariantEXT(id, GL11.GL_FLOAT, pAddr, pAddr.position() << 2, function_pointer); } public static void glSetInvariantEXT(int id, boolean unsigned, ByteBuffer pAddr) { BufferChecks.checkBuffer(pAddr, 4); - nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, pAddr, pAddr.position()); + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSetInvariantEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, pAddr, pAddr.position(), function_pointer); } - private static native void nglSetInvariantEXT(int id, int type, Buffer pAddr, int pAddr_position); + private static native void nglSetInvariantEXT(int id, int type, Buffer pAddr, int pAddr_position, long function_pointer); - public static native int glGenSymbolsEXT(int dataType, int storageType, int range, int components); + public static int glGenSymbolsEXT(int dataType, int storageType, int range, int components) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGenSymbolsEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGenSymbolsEXT(dataType, storageType, range, components, function_pointer); + return __result; + } + private static native int nglGenSymbolsEXT(int dataType, int storageType, int range, int components, long function_pointer); - public static native void glExtractComponentEXT(int res, int src, int num); + public static void glExtractComponentEXT(int res, int src, int num) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glExtractComponentEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglExtractComponentEXT(res, src, num, function_pointer); + } + private static native void nglExtractComponentEXT(int res, int src, int num, long function_pointer); - public static native void glInsertComponentEXT(int res, int src, int num); + public static void glInsertComponentEXT(int res, int src, int num) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glInsertComponentEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInsertComponentEXT(res, src, num, function_pointer); + } + private static native void nglInsertComponentEXT(int res, int src, int num, long function_pointer); - public static native void glWriteMaskEXT(int res, int in, int outX, int outY, int outZ, int outW); + public static void glWriteMaskEXT(int res, int in, int outX, int outY, int outZ, int outW) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glWriteMaskEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWriteMaskEXT(res, in, outX, outY, outZ, outW, function_pointer); + } + private static native void nglWriteMaskEXT(int res, int in, int outX, int outY, int outZ, int outW, long function_pointer); - public static native void glSwizzleEXT(int res, int in, int outX, int outY, int outZ, int outW); + public static void glSwizzleEXT(int res, int in, int outX, int outY, int outZ, int outW) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glSwizzleEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSwizzleEXT(res, in, outX, outY, outZ, outW, function_pointer); + } + private static native void nglSwizzleEXT(int res, int in, int outX, int outY, int outZ, int outW, long function_pointer); - public static native void glShaderOp3EXT(int op, int res, int arg1, int arg2, int arg3); + public static void glShaderOp3EXT(int op, int res, int arg1, int arg2, int arg3) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glShaderOp3EXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglShaderOp3EXT(op, res, arg1, arg2, arg3, function_pointer); + } + private static native void nglShaderOp3EXT(int op, int res, int arg1, int arg2, int arg3, long function_pointer); - public static native void glShaderOp2EXT(int op, int res, int arg1, int arg2); + public static void glShaderOp2EXT(int op, int res, int arg1, int arg2) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glShaderOp2EXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglShaderOp2EXT(op, res, arg1, arg2, function_pointer); + } + private static native void nglShaderOp2EXT(int op, int res, int arg1, int arg2, long function_pointer); - public static native void glShaderOp1EXT(int op, int res, int arg1); + public static void glShaderOp1EXT(int op, int res, int arg1) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glShaderOp1EXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglShaderOp1EXT(op, res, arg1, function_pointer); + } + private static native void nglShaderOp1EXT(int op, int res, int arg1, long function_pointer); - public static native void glDeleteVertexShaderEXT(int id); + public static void glDeleteVertexShaderEXT(int id) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glDeleteVertexShaderEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteVertexShaderEXT(id, function_pointer); + } + private static native void nglDeleteVertexShaderEXT(int id, long function_pointer); - public static native int glGenVertexShadersEXT(int range); + public static int glGenVertexShadersEXT(int range) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glGenVertexShadersEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGenVertexShadersEXT(range, function_pointer); + return __result; + } + private static native int nglGenVertexShadersEXT(int range, long function_pointer); - public static native void glBindVertexShaderEXT(int id); + public static void glBindVertexShaderEXT(int id) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glBindVertexShaderEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindVertexShaderEXT(id, function_pointer); + } + private static native void nglBindVertexShaderEXT(int id, long function_pointer); - public static native void glEndVertexShaderEXT(); + public static void glEndVertexShaderEXT() { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glEndVertexShaderEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEndVertexShaderEXT(function_pointer); + } + private static native void nglEndVertexShaderEXT(long function_pointer); - public static native void glBeginVertexShaderEXT(); + public static void glBeginVertexShaderEXT() { + long function_pointer = GLContext.getCapabilities().EXT_vertex_shader_glBeginVertexShaderEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBeginVertexShaderEXT(function_pointer); + } + private static native void nglBeginVertexShaderEXT(long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/EXTVertexWeighting.java b/src/java/org/lwjgl/opengl/EXTVertexWeighting.java index a48ae847..c9d43134 100644 --- a/src/java/org/lwjgl/opengl/EXTVertexWeighting.java +++ b/src/java/org/lwjgl/opengl/EXTVertexWeighting.java @@ -29,14 +29,23 @@ public final class EXTVertexWeighting { public static void glVertexWeightPointerEXT(int size, int stride, FloatBuffer pPointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pPointer); - nglVertexWeightPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().EXT_vertex_weighting_glVertexWeightPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexWeightPointerEXT(size, GL11.GL_FLOAT, stride, pPointer, pPointer.position() << 2, function_pointer); } - private static native void nglVertexWeightPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_position); + private static native void nglVertexWeightPointerEXT(int size, int type, int stride, Buffer pPointer, int pPointer_position, long function_pointer); public static void glVertexWeightPointerEXT(int size, int type, int stride, int pPointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglVertexWeightPointerEXTBO(size, type, stride, pPointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().EXT_vertex_weighting_glVertexWeightPointerEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexWeightPointerEXTBO(size, type, stride, pPointer_buffer_offset, function_pointer); } - private static native void nglVertexWeightPointerEXTBO(int size, int type, int stride, int pPointer_buffer_offset); + private static native void nglVertexWeightPointerEXTBO(int size, int type, int stride, int pPointer_buffer_offset, long function_pointer); - public static native void glVertexWeightfEXT(float weight); + public static void glVertexWeightfEXT(float weight) { + long function_pointer = GLContext.getCapabilities().EXT_vertex_weighting_glVertexWeightfEXT_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexWeightfEXT(weight, function_pointer); + } + private static native void nglVertexWeightfEXT(float weight, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/GL11.java b/src/java/org/lwjgl/opengl/GL11.java index 5930daeb..5810fdf2 100644 --- a/src/java/org/lwjgl/opengl/GL11.java +++ b/src/java/org/lwjgl/opengl/GL11.java @@ -545,966 +545,1865 @@ public final class GL11 { static native void initNativeStubs() throws LWJGLException; - public static native void glViewport(int x, int y, int width, int height); + public static void glViewport(int x, int y, int width, int height) { + long function_pointer = GLContext.getCapabilities().GL11_glViewport_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglViewport(x, y, width, height, function_pointer); + } + private static native void nglViewport(int x, int y, int width, int height, long function_pointer); - public static native void glStencilMask(int mask); + public static void glStencilMask(int mask) { + long function_pointer = GLContext.getCapabilities().GL11_glStencilMask_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilMask(mask, function_pointer); + } + private static native void nglStencilMask(int mask, long function_pointer); - public static native void glStencilOp(int fail, int zfail, int zpass); + public static void glStencilOp(int fail, int zfail, int zpass) { + long function_pointer = GLContext.getCapabilities().GL11_glStencilOp_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilOp(fail, zfail, zpass, function_pointer); + } + private static native void nglStencilOp(int fail, int zfail, int zpass, long function_pointer); - public static native void glTexCoord4f(float s, float t, float r, float q); + public static void glTexCoord4f(float s, float t, float r, float q) { + long function_pointer = GLContext.getCapabilities().GL11_glTexCoord4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord4f(s, t, r, q, function_pointer); + } + private static native void nglTexCoord4f(float s, float t, float r, float q, long function_pointer); - public static native void glTexCoord3f(float s, float t, float r); + public static void glTexCoord3f(float s, float t, float r) { + long function_pointer = GLContext.getCapabilities().GL11_glTexCoord3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord3f(s, t, r, function_pointer); + } + private static native void nglTexCoord3f(float s, float t, float r, long function_pointer); - public static native void glTexCoord2f(float s, float t); + public static void glTexCoord2f(float s, float t) { + long function_pointer = GLContext.getCapabilities().GL11_glTexCoord2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord2f(s, t, function_pointer); + } + private static native void nglTexCoord2f(float s, float t, long function_pointer); - public static native void glTexCoord1f(float s); + public static void glTexCoord1f(float s) { + long function_pointer = GLContext.getCapabilities().GL11_glTexCoord1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord1f(s, function_pointer); + } + private static native void nglTexCoord1f(float s, long function_pointer); public static void glTexCoordPointer(int size, int stride, FloatBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglTexCoordPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glTexCoordPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoordPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); } - private static native void nglTexCoordPointer(int size, int type, int stride, Buffer pointer, int pointer_position); + private static native void nglTexCoordPointer(int size, int type, int stride, Buffer pointer, int pointer_position, long function_pointer); public static void glTexCoordPointer(int size, int type, int stride, int pointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglTexCoordPointerBO(size, type, stride, pointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glTexCoordPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoordPointerBO(size, type, stride, pointer_buffer_offset, function_pointer); } - private static native void nglTexCoordPointerBO(int size, int type, int stride, int pointer_buffer_offset); + private static native void nglTexCoordPointerBO(int size, int type, int stride, int pointer_buffer_offset, long function_pointer); public static void glTexEnv(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglTexEnviv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexEnviv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexEnviv(target, pname, params, params.position(), function_pointer); } - private static native void nglTexEnviv(int target, int pname, IntBuffer params, int params_position); + private static native void nglTexEnviv(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glTexEnv(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglTexEnvfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexEnvfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexEnvfv(target, pname, params, params.position(), function_pointer); } - private static native void nglTexEnvfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglTexEnvfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glTexEnvi(int target, int pname, int param); + public static void glTexEnvi(int target, int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glTexEnvi_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexEnvi(target, pname, param, function_pointer); + } + private static native void nglTexEnvi(int target, int pname, int param, long function_pointer); - public static native void glTexEnvf(int target, int pname, float param); + public static void glTexEnvf(int target, int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glTexEnvf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexEnvf(target, pname, param, function_pointer); + } + private static native void nglTexEnvf(int target, int pname, float param, long function_pointer); public static void glTexGen(int coord, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglTexGeniv(coord, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexGeniv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexGeniv(coord, pname, params, params.position(), function_pointer); } - private static native void nglTexGeniv(int coord, int pname, IntBuffer params, int params_position); + private static native void nglTexGeniv(int coord, int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glTexGeni(int coord, int pname, int param); + public static void glTexGeni(int coord, int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glTexGeni_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexGeni(coord, pname, param, function_pointer); + } + private static native void nglTexGeni(int coord, int pname, int param, long function_pointer); public static void glTexGen(int coord, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglTexGenfv(coord, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexGenfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexGenfv(coord, pname, params, params.position(), function_pointer); } - private static native void nglTexGenfv(int coord, int pname, FloatBuffer params, int params_position); + private static native void nglTexGenfv(int coord, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glTexGenf(int coord, int pname, float param); + public static void glTexGenf(int coord, int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glTexGenf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexGenf(coord, pname, param, function_pointer); + } + private static native void nglTexGenf(int coord, int pname, float param, long function_pointer); public static void glTexParameter(int target, int pname, IntBuffer param) { BufferChecks.checkBuffer(param, 4); - nglTexParameteriv(target, pname, param, param.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexParameteriv(target, pname, param, param.position(), function_pointer); } - private static native void nglTexParameteriv(int target, int pname, IntBuffer param, int param_position); + private static native void nglTexParameteriv(int target, int pname, IntBuffer param, int param_position, long function_pointer); public static void glTexParameter(int target, int pname, FloatBuffer param) { BufferChecks.checkBuffer(param, 4); - nglTexParameterfv(target, pname, param, param.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexParameterfv(target, pname, param, param.position(), function_pointer); } - private static native void nglTexParameterfv(int target, int pname, FloatBuffer param, int param_position); + private static native void nglTexParameterfv(int target, int pname, FloatBuffer param, int param_position, long function_pointer); - public static native void glTexParameteri(int target, int pname, int param); + public static void glTexParameteri(int target, int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glTexParameteri_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexParameteri(target, pname, param, function_pointer); + } + private static native void nglTexParameteri(int target, int pname, int param, long function_pointer); - public static native void glTexParameterf(int target, int pname, float param); + public static void glTexParameterf(int target, int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glTexParameterf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexParameterf(target, pname, param, function_pointer); + } + private static native void nglTexParameterf(int target, int pname, float param, long function_pointer); public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 1, function_pointer); } public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, IntBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, FloatBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels, pixels.position(), function_pointer); } - private static native void nglTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels, int pixels_position); + private static native void nglTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglTexSubImage2DBO(target, level, xoffset, yoffset, width, height, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage2DBO(target, level, xoffset, yoffset, width, height, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglTexSubImage2DBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int pixels_buffer_offset); + private static native void nglTexSubImage2DBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int pixels_buffer_offset, long function_pointer); public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); - nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 1, function_pointer); } public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, IntBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); - nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, FloatBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); - nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, 1, 1)); - nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position()); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage1D(target, level, xoffset, width, format, type, pixels, pixels.position(), function_pointer); } - private static native void nglTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, Buffer pixels, int pixels_position); + private static native void nglTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glTexSubImage1D(int target, int level, int xoffset, int width, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglTexSubImage1DBO(target, level, xoffset, width, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage1DBO(target, level, xoffset, width, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglTexSubImage1DBO(int target, int level, int xoffset, int width, int format, int type, int pixels_buffer_offset); + private static native void nglTexSubImage1DBO(int target, int level, int xoffset, int width, int format, int type, int pixels_buffer_offset, long function_pointer); public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); - nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0, function_pointer); } public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, IntBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); - nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); } public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, FloatBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); - nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); } public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage2DStorage(pixels, format, type, width, height, border)); - nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage2D(target, level, internalformat, width, height, border, format, type, pixels, pixels != null ? pixels.position() : 0, function_pointer); } - private static native void nglTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels, int pixels_position); + private static native void nglTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglTexImage2DBO(target, level, internalformat, width, height, border, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage2DBO(target, level, internalformat, width, height, border, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglTexImage2DBO(int target, int level, int internalformat, int width, int height, int border, int format, int type, int pixels_buffer_offset); + private static native void nglTexImage2DBO(int target, int level, int internalformat, int width, int height, int border, int format, int type, int pixels_buffer_offset, long function_pointer); public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); - nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0, function_pointer); } public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, IntBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); - nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); } public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, FloatBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); - nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); } public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage1DStorage(pixels, format, type, width, border)); - nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() : 0); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage1D(target, level, internalformat, width, border, format, type, pixels, pixels != null ? pixels.position() : 0, function_pointer); } - private static native void nglTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, Buffer pixels, int pixels_position); + private static native void nglTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glTexImage1D(int target, int level, int internalformat, int width, int border, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglTexImage1DBO(target, level, internalformat, width, border, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage1DBO(target, level, internalformat, width, border, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglTexImage1DBO(int target, int level, int internalformat, int width, int border, int format, int type, int pixels_buffer_offset); + private static native void nglTexImage1DBO(int target, int level, int internalformat, int width, int border, int format, int type, int pixels_buffer_offset, long function_pointer); - public static native void glTranslatef(float x, float y, float z); + public static void glTranslatef(float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().GL11_glTranslatef_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTranslatef(x, y, z, function_pointer); + } + private static native void nglTranslatef(float x, float y, float z, long function_pointer); - public static native void glVertex4i(int x, int y, int z, int w); + public static void glVertex4i(int x, int y, int z, int w) { + long function_pointer = GLContext.getCapabilities().GL11_glVertex4i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex4i(x, y, z, w, function_pointer); + } + private static native void nglVertex4i(int x, int y, int z, int w, long function_pointer); - public static native void glVertex4f(float x, float y, float z, float w); + public static void glVertex4f(float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().GL11_glVertex4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex4f(x, y, z, w, function_pointer); + } + private static native void nglVertex4f(float x, float y, float z, float w, long function_pointer); - public static native void glVertex3i(int x, int y, int z); + public static void glVertex3i(int x, int y, int z) { + long function_pointer = GLContext.getCapabilities().GL11_glVertex3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex3i(x, y, z, function_pointer); + } + private static native void nglVertex3i(int x, int y, int z, long function_pointer); - public static native void glVertex3f(float x, float y, float z); + public static void glVertex3f(float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().GL11_glVertex3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex3f(x, y, z, function_pointer); + } + private static native void nglVertex3f(float x, float y, float z, long function_pointer); - public static native void glVertex2i(int x, int y); + public static void glVertex2i(int x, int y) { + long function_pointer = GLContext.getCapabilities().GL11_glVertex2i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex2i(x, y, function_pointer); + } + private static native void nglVertex2i(int x, int y, long function_pointer); - public static native void glVertex2f(float x, float y); + public static void glVertex2f(float x, float y) { + long function_pointer = GLContext.getCapabilities().GL11_glVertex2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex2f(x, y, function_pointer); + } + private static native void nglVertex2f(float x, float y, long function_pointer); public static void glVertexPointer(int size, int stride, IntBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglVertexPointer(size, GL11.GL_INT, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glVertexPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexPointer(size, GL11.GL_INT, stride, pointer, pointer.position() << 2, function_pointer); } public static void glVertexPointer(int size, int stride, FloatBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglVertexPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glVertexPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); } - private static native void nglVertexPointer(int size, int type, int stride, Buffer pointer, int pointer_position); + private static native void nglVertexPointer(int size, int type, int stride, Buffer pointer, int pointer_position, long function_pointer); public static void glVertexPointer(int size, int type, int stride, int pointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglVertexPointerBO(size, type, stride, pointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glVertexPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexPointerBO(size, type, stride, pointer_buffer_offset, function_pointer); } - private static native void nglVertexPointerBO(int size, int type, int stride, int pointer_buffer_offset); + private static native void nglVertexPointerBO(int size, int type, int stride, int pointer_buffer_offset, long function_pointer); - public static native void glStencilFunc(int func, int ref, int mask); + public static void glStencilFunc(int func, int ref, int mask) { + long function_pointer = GLContext.getCapabilities().GL11_glStencilFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilFunc(func, ref, mask, function_pointer); + } + private static native void nglStencilFunc(int func, int ref, int mask, long function_pointer); - public static native void glPopAttrib(); + public static void glPopAttrib() { + long function_pointer = GLContext.getCapabilities().GL11_glPopAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPopAttrib(function_pointer); + } + private static native void nglPopAttrib(long function_pointer); - public static native void glPushAttrib(int mask); + public static void glPushAttrib(int mask) { + long function_pointer = GLContext.getCapabilities().GL11_glPushAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPushAttrib(mask, function_pointer); + } + private static native void nglPushAttrib(int mask, long function_pointer); public static void glPopClientAttrib() { BufferObjectTracker.popAttrib(); - nglPopClientAttrib(); + long function_pointer = GLContext.getCapabilities().GL11_glPopClientAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPopClientAttrib(function_pointer); } - private static native void nglPopClientAttrib(); + private static native void nglPopClientAttrib(long function_pointer); public static void glPushClientAttrib(int mask) { BufferObjectTracker.pushAttrib(mask); - nglPushClientAttrib(mask); + long function_pointer = GLContext.getCapabilities().GL11_glPushClientAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPushClientAttrib(mask, function_pointer); } - private static native void nglPushClientAttrib(int mask); + private static native void nglPushClientAttrib(int mask, long function_pointer); - public static native void glPopMatrix(); + public static void glPopMatrix() { + long function_pointer = GLContext.getCapabilities().GL11_glPopMatrix_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPopMatrix(function_pointer); + } + private static native void nglPopMatrix(long function_pointer); - public static native void glPushMatrix(); + public static void glPushMatrix() { + long function_pointer = GLContext.getCapabilities().GL11_glPushMatrix_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPushMatrix(function_pointer); + } + private static native void nglPushMatrix(long function_pointer); - public static native void glPopName(); + public static void glPopName() { + long function_pointer = GLContext.getCapabilities().GL11_glPopName_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPopName(function_pointer); + } + private static native void nglPopName(long function_pointer); - public static native void glPushName(int name); + public static void glPushName(int name) { + long function_pointer = GLContext.getCapabilities().GL11_glPushName_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPushName(name, function_pointer); + } + private static native void nglPushName(int name, long function_pointer); - public static native void glRasterPos4i(int x, int y, int z, int w); + public static void glRasterPos4i(int x, int y, int z, int w) { + long function_pointer = GLContext.getCapabilities().GL11_glRasterPos4i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos4i(x, y, z, w, function_pointer); + } + private static native void nglRasterPos4i(int x, int y, int z, int w, long function_pointer); - public static native void glRasterPos4f(float x, float y, float z, float w); + public static void glRasterPos4f(float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().GL11_glRasterPos4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos4f(x, y, z, w, function_pointer); + } + private static native void nglRasterPos4f(float x, float y, float z, float w, long function_pointer); - public static native void glRasterPos3i(int x, int y, int z); + public static void glRasterPos3i(int x, int y, int z) { + long function_pointer = GLContext.getCapabilities().GL11_glRasterPos3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos3i(x, y, z, function_pointer); + } + private static native void nglRasterPos3i(int x, int y, int z, long function_pointer); - public static native void glRasterPos3f(float x, float y, float z); + public static void glRasterPos3f(float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().GL11_glRasterPos3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos3f(x, y, z, function_pointer); + } + private static native void nglRasterPos3f(float x, float y, float z, long function_pointer); - public static native void glRasterPos2i(int x, int y); + public static void glRasterPos2i(int x, int y) { + long function_pointer = GLContext.getCapabilities().GL11_glRasterPos2i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos2i(x, y, function_pointer); + } + private static native void nglRasterPos2i(int x, int y, long function_pointer); - public static native void glRasterPos2f(float x, float y); + public static void glRasterPos2f(float x, float y) { + long function_pointer = GLContext.getCapabilities().GL11_glRasterPos2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRasterPos2f(x, y, function_pointer); + } + private static native void nglRasterPos2f(float x, float y, long function_pointer); - public static native void glReadBuffer(int mode); + public static void glReadBuffer(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glReadBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglReadBuffer(mode, function_pointer); + } + private static native void nglReadBuffer(int mode, long function_pointer); public static void glReadPixels(int x, int y, int width, int height, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 1, function_pointer); } public static void glReadPixels(int x, int y, int width, int height, int format, int type, IntBuffer pixels) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glReadPixels(int x, int y, int width, int height, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglReadPixels(x, y, width, height, format, type, pixels, pixels.position()); + long function_pointer = GLContext.getCapabilities().GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglReadPixels(x, y, width, height, format, type, pixels, pixels.position(), function_pointer); } - private static native void nglReadPixels(int x, int y, int width, int height, int format, int type, Buffer pixels, int pixels_position); + private static native void nglReadPixels(int x, int y, int width, int height, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glReadPixels(int x, int y, int width, int height, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglReadPixelsBO(x, y, width, height, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glReadPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglReadPixelsBO(x, y, width, height, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglReadPixelsBO(int x, int y, int width, int height, int format, int type, int pixels_buffer_offset); + private static native void nglReadPixelsBO(int x, int y, int width, int height, int format, int type, int pixels_buffer_offset, long function_pointer); - public static native void glRecti(int x1, int y1, int x2, int y2); + public static void glRecti(int x1, int y1, int x2, int y2) { + long function_pointer = GLContext.getCapabilities().GL11_glRecti_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRecti(x1, y1, x2, y2, function_pointer); + } + private static native void nglRecti(int x1, int y1, int x2, int y2, long function_pointer); - public static native void glRectf(float x1, float y1, float x2, float y2); + public static void glRectf(float x1, float y1, float x2, float y2) { + long function_pointer = GLContext.getCapabilities().GL11_glRectf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRectf(x1, y1, x2, y2, function_pointer); + } + private static native void nglRectf(float x1, float y1, float x2, float y2, long function_pointer); - public static native int glRenderMode(int mode); + public static int glRenderMode(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glRenderMode_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglRenderMode(mode, function_pointer); + return __result; + } + private static native int nglRenderMode(int mode, long function_pointer); - public static native void glRotatef(float angle, float x, float y, float z); + public static void glRotatef(float angle, float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().GL11_glRotatef_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRotatef(angle, x, y, z, function_pointer); + } + private static native void nglRotatef(float angle, float x, float y, float z, long function_pointer); - public static native void glScalef(float x, float y, float z); + public static void glScalef(float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().GL11_glScalef_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglScalef(x, y, z, function_pointer); + } + private static native void nglScalef(float x, float y, float z, long function_pointer); - public static native void glScissor(int x, int y, int width, int height); + public static void glScissor(int x, int y, int width, int height) { + long function_pointer = GLContext.getCapabilities().GL11_glScissor_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglScissor(x, y, width, height, function_pointer); + } + private static native void nglScissor(int x, int y, int width, int height, long function_pointer); public static void glSelectBuffer(IntBuffer buffer) { BufferChecks.checkDirect(buffer); - nglSelectBuffer((buffer.remaining()), buffer, buffer.position()); + long function_pointer = GLContext.getCapabilities().GL11_glSelectBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSelectBuffer((buffer.remaining()), buffer, buffer.position(), function_pointer); } - private static native void nglSelectBuffer(int size, IntBuffer buffer, int buffer_position); + private static native void nglSelectBuffer(int size, IntBuffer buffer, int buffer_position, long function_pointer); - public static native void glShadeModel(int mode); + public static void glShadeModel(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glShadeModel_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglShadeModel(mode, function_pointer); + } + private static native void nglShadeModel(int mode, long function_pointer); public static void glMultMatrix(FloatBuffer m) { BufferChecks.checkBuffer(m, 16); - nglMultMatrixf(m, m.position()); + long function_pointer = GLContext.getCapabilities().GL11_glMultMatrixf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultMatrixf(m, m.position(), function_pointer); } - private static native void nglMultMatrixf(FloatBuffer m, int m_position); + private static native void nglMultMatrixf(FloatBuffer m, int m_position, long function_pointer); - public static native void glEndList(); + public static void glEndList() { + long function_pointer = GLContext.getCapabilities().GL11_glEndList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEndList(function_pointer); + } + private static native void nglEndList(long function_pointer); - public static native void glNewList(int list, int mode); + public static void glNewList(int list, int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glNewList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNewList(list, mode, function_pointer); + } + private static native void nglNewList(int list, int mode, long function_pointer); - public static native void glNormal3i(int nx, int ny, int nz); + public static void glNormal3i(int nx, int ny, int nz) { + long function_pointer = GLContext.getCapabilities().GL11_glNormal3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3i(nx, ny, nz, function_pointer); + } + private static native void nglNormal3i(int nx, int ny, int nz, long function_pointer); - public static native void glNormal3f(float nx, float ny, float nz); + public static void glNormal3f(float nx, float ny, float nz) { + long function_pointer = GLContext.getCapabilities().GL11_glNormal3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3f(nx, ny, nz, function_pointer); + } + private static native void nglNormal3f(float nx, float ny, float nz, long function_pointer); - public static native void glNormal3b(byte nx, byte ny, byte nz); + public static void glNormal3b(byte nx, byte ny, byte nz) { + long function_pointer = GLContext.getCapabilities().GL11_glNormal3b_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3b(nx, ny, nz, function_pointer); + } + private static native void nglNormal3b(byte nx, byte ny, byte nz, long function_pointer); public static void glNormalPointer(int stride, IntBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglNormalPointer(GL11.GL_INT, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalPointer(GL11.GL_INT, stride, pointer, pointer.position() << 2, function_pointer); } public static void glNormalPointer(int stride, FloatBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglNormalPointer(GL11.GL_FLOAT, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalPointer(GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); } public static void glNormalPointer(int stride, ByteBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglNormalPointer(GL11.GL_BYTE, stride, pointer, pointer.position()); + long function_pointer = GLContext.getCapabilities().GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalPointer(GL11.GL_BYTE, stride, pointer, pointer.position(), function_pointer); } - private static native void nglNormalPointer(int type, int stride, Buffer pointer, int pointer_position); + private static native void nglNormalPointer(int type, int stride, Buffer pointer, int pointer_position, long function_pointer); public static void glNormalPointer(int type, int stride, int pointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglNormalPointerBO(type, stride, pointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glNormalPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormalPointerBO(type, stride, pointer_buffer_offset, function_pointer); } - private static native void nglNormalPointerBO(int type, int stride, int pointer_buffer_offset); + private static native void nglNormalPointerBO(int type, int stride, int pointer_buffer_offset, long function_pointer); - public static native void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar); + public static void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar) { + long function_pointer = GLContext.getCapabilities().GL11_glOrtho_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglOrtho(left, right, bottom, top, zNear, zFar, function_pointer); + } + private static native void nglOrtho(double left, double right, double bottom, double top, double zNear, double zFar, long function_pointer); - public static native void glPassThrough(float token); + public static void glPassThrough(float token) { + long function_pointer = GLContext.getCapabilities().GL11_glPassThrough_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPassThrough(token, function_pointer); + } + private static native void nglPassThrough(float token, long function_pointer); public static void glPixelMapu(int map, ShortBuffer values) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(values); - nglPixelMapusv(map, (values.remaining()), values, values.position()); + long function_pointer = GLContext.getCapabilities().GL11_glPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelMapusv(map, (values.remaining()), values, values.position(), function_pointer); } - private static native void nglPixelMapusv(int map, int mapsize, ShortBuffer values, int values_position); + private static native void nglPixelMapusv(int map, int mapsize, ShortBuffer values, int values_position, long function_pointer); public static void glPixelMapusv(int map, int mapsize, int values_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglPixelMapusvBO(map, mapsize, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelMapusvBO(map, mapsize, values_buffer_offset, function_pointer); } - private static native void nglPixelMapusvBO(int map, int mapsize, int values_buffer_offset); + private static native void nglPixelMapusvBO(int map, int mapsize, int values_buffer_offset, long function_pointer); public static void glPixelMapu(int map, IntBuffer values) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(values); - nglPixelMapuiv(map, (values.remaining()), values, values.position()); + long function_pointer = GLContext.getCapabilities().GL11_glPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelMapuiv(map, (values.remaining()), values, values.position(), function_pointer); } - private static native void nglPixelMapuiv(int map, int mapsize, IntBuffer values, int values_position); + private static native void nglPixelMapuiv(int map, int mapsize, IntBuffer values, int values_position, long function_pointer); public static void glPixelMapuiv(int map, int mapsize, int values_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglPixelMapuivBO(map, mapsize, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelMapuivBO(map, mapsize, values_buffer_offset, function_pointer); } - private static native void nglPixelMapuivBO(int map, int mapsize, int values_buffer_offset); + private static native void nglPixelMapuivBO(int map, int mapsize, int values_buffer_offset, long function_pointer); public static void glPixelMap(int map, FloatBuffer values) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(values); - nglPixelMapfv(map, (values.remaining()), values, values.position()); + long function_pointer = GLContext.getCapabilities().GL11_glPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelMapfv(map, (values.remaining()), values, values.position(), function_pointer); } - private static native void nglPixelMapfv(int map, int mapsize, FloatBuffer values, int values_position); + private static native void nglPixelMapfv(int map, int mapsize, FloatBuffer values, int values_position, long function_pointer); public static void glPixelMapfv(int map, int mapsize, int values_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglPixelMapfvBO(map, mapsize, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelMapfvBO(map, mapsize, values_buffer_offset, function_pointer); } - private static native void nglPixelMapfvBO(int map, int mapsize, int values_buffer_offset); + private static native void nglPixelMapfvBO(int map, int mapsize, int values_buffer_offset, long function_pointer); - public static native void glPixelStorei(int pname, int param); + public static void glPixelStorei(int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glPixelStorei_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelStorei(pname, param, function_pointer); + } + private static native void nglPixelStorei(int pname, int param, long function_pointer); - public static native void glPixelStoref(int pname, float param); + public static void glPixelStoref(int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glPixelStoref_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelStoref(pname, param, function_pointer); + } + private static native void nglPixelStoref(int pname, float param, long function_pointer); - public static native void glPixelTransferi(int pname, int param); + public static void glPixelTransferi(int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glPixelTransferi_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelTransferi(pname, param, function_pointer); + } + private static native void nglPixelTransferi(int pname, int param, long function_pointer); - public static native void glPixelTransferf(int pname, float param); + public static void glPixelTransferf(int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glPixelTransferf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelTransferf(pname, param, function_pointer); + } + private static native void nglPixelTransferf(int pname, float param, long function_pointer); - public static native void glPixelZoom(float xfactor, float yfactor); + public static void glPixelZoom(float xfactor, float yfactor) { + long function_pointer = GLContext.getCapabilities().GL11_glPixelZoom_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelZoom(xfactor, yfactor, function_pointer); + } + private static native void nglPixelZoom(float xfactor, float yfactor, long function_pointer); - public static native void glPointSize(float size); + public static void glPointSize(float size) { + long function_pointer = GLContext.getCapabilities().GL11_glPointSize_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointSize(size, function_pointer); + } + private static native void nglPointSize(float size, long function_pointer); - public static native void glPolygonMode(int face, int mode); + public static void glPolygonMode(int face, int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glPolygonMode_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPolygonMode(face, mode, function_pointer); + } + private static native void nglPolygonMode(int face, int mode, long function_pointer); - public static native void glPolygonOffset(float factor, float units); + public static void glPolygonOffset(float factor, float units) { + long function_pointer = GLContext.getCapabilities().GL11_glPolygonOffset_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPolygonOffset(factor, units, function_pointer); + } + private static native void nglPolygonOffset(float factor, float units, long function_pointer); public static void glPolygonStipple(ByteBuffer mask) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(mask, 1024); - nglPolygonStipple(mask, mask.position()); + long function_pointer = GLContext.getCapabilities().GL11_glPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPolygonStipple(mask, mask.position(), function_pointer); } - private static native void nglPolygonStipple(ByteBuffer mask, int mask_position); + private static native void nglPolygonStipple(ByteBuffer mask, int mask_position, long function_pointer); public static void glPolygonStipple(int mask_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglPolygonStippleBO(mask_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPolygonStippleBO(mask_buffer_offset, function_pointer); } - private static native void nglPolygonStippleBO(int mask_buffer_offset); + private static native void nglPolygonStippleBO(int mask_buffer_offset, long function_pointer); - public static native void glMatrixMode(int mode); + public static void glMatrixMode(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glMatrixMode_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMatrixMode(mode, function_pointer); + } + private static native void nglMatrixMode(int mode, long function_pointer); - public static native boolean glIsTexture(int texture); + public static boolean glIsTexture(int texture) { + long function_pointer = GLContext.getCapabilities().GL11_glIsTexture_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsTexture(texture, function_pointer); + return __result; + } + private static native boolean nglIsTexture(int texture, long function_pointer); public static void glLight(int light, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglLightiv(light, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glLightiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightiv(light, pname, params, params.position(), function_pointer); } - private static native void nglLightiv(int light, int pname, IntBuffer params, int params_position); + private static native void nglLightiv(int light, int pname, IntBuffer params, int params_position, long function_pointer); public static void glLight(int light, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglLightfv(light, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glLightfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightfv(light, pname, params, params.position(), function_pointer); } - private static native void nglLightfv(int light, int pname, FloatBuffer params, int params_position); + private static native void nglLightfv(int light, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glLighti(int light, int pname, int param); + public static void glLighti(int light, int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glLighti_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLighti(light, pname, param, function_pointer); + } + private static native void nglLighti(int light, int pname, int param, long function_pointer); - public static native void glLightf(int light, int pname, float param); + public static void glLightf(int light, int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glLightf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightf(light, pname, param, function_pointer); + } + private static native void nglLightf(int light, int pname, float param, long function_pointer); public static void glLightModel(int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglLightModeliv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glLightModeliv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightModeliv(pname, params, params.position(), function_pointer); } - private static native void nglLightModeliv(int pname, IntBuffer params, int params_position); + private static native void nglLightModeliv(int pname, IntBuffer params, int params_position, long function_pointer); public static void glLightModel(int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglLightModelfv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glLightModelfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightModelfv(pname, params, params.position(), function_pointer); } - private static native void nglLightModelfv(int pname, FloatBuffer params, int params_position); + private static native void nglLightModelfv(int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glLightModeli(int pname, int param); + public static void glLightModeli(int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glLightModeli_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightModeli(pname, param, function_pointer); + } + private static native void nglLightModeli(int pname, int param, long function_pointer); - public static native void glLightModelf(int pname, float param); + public static void glLightModelf(int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glLightModelf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLightModelf(pname, param, function_pointer); + } + private static native void nglLightModelf(int pname, float param, long function_pointer); - public static native void glLineStipple(int factor, short pattern); + public static void glLineStipple(int factor, short pattern) { + long function_pointer = GLContext.getCapabilities().GL11_glLineStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLineStipple(factor, pattern, function_pointer); + } + private static native void nglLineStipple(int factor, short pattern, long function_pointer); - public static native void glLineWidth(float width); + public static void glLineWidth(float width) { + long function_pointer = GLContext.getCapabilities().GL11_glLineWidth_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLineWidth(width, function_pointer); + } + private static native void nglLineWidth(float width, long function_pointer); - public static native void glListBase(int base); + public static void glListBase(int base) { + long function_pointer = GLContext.getCapabilities().GL11_glListBase_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglListBase(base, function_pointer); + } + private static native void nglListBase(int base, long function_pointer); - public static native void glLoadIdentity(); + public static void glLoadIdentity() { + long function_pointer = GLContext.getCapabilities().GL11_glLoadIdentity_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadIdentity(function_pointer); + } + private static native void nglLoadIdentity(long function_pointer); public static void glLoadMatrix(FloatBuffer m) { BufferChecks.checkBuffer(m, 16); - nglLoadMatrixf(m, m.position()); + long function_pointer = GLContext.getCapabilities().GL11_glLoadMatrixf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadMatrixf(m, m.position(), function_pointer); } - private static native void nglLoadMatrixf(FloatBuffer m, int m_position); + private static native void nglLoadMatrixf(FloatBuffer m, int m_position, long function_pointer); - public static native void glLoadName(int name); + public static void glLoadName(int name) { + long function_pointer = GLContext.getCapabilities().GL11_glLoadName_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadName(name, function_pointer); + } + private static native void nglLoadName(int name, long function_pointer); - public static native void glLogicOp(int opcode); + public static void glLogicOp(int opcode) { + long function_pointer = GLContext.getCapabilities().GL11_glLogicOp_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLogicOp(opcode, function_pointer); + } + private static native void nglLogicOp(int opcode, long function_pointer); public static void glMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points) { BufferChecks.checkDirect(points); - nglMap1f(target, u1, u2, stride, order, points, points.position()); + long function_pointer = GLContext.getCapabilities().GL11_glMap1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMap1f(target, u1, u2, stride, order, points, points.position(), function_pointer); } - private static native void nglMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points, int points_position); + private static native void nglMap1f(int target, float u1, float u2, int stride, int order, FloatBuffer points, int points_position, long function_pointer); public static void glMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points) { BufferChecks.checkDirect(points); - nglMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points, points.position()); + long function_pointer = GLContext.getCapabilities().GL11_glMap2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points, points.position(), function_pointer); } - private static native void nglMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points, int points_position); + private static native void nglMap2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, FloatBuffer points, int points_position, long function_pointer); - public static native void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2); + public static void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2) { + long function_pointer = GLContext.getCapabilities().GL11_glMapGrid2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapGrid2f(un, u1, u2, vn, v1, v2, function_pointer); + } + private static native void nglMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2, long function_pointer); - public static native void glMapGrid1f(int un, float u1, float u2); + public static void glMapGrid1f(int un, float u1, float u2) { + long function_pointer = GLContext.getCapabilities().GL11_glMapGrid1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapGrid1f(un, u1, u2, function_pointer); + } + private static native void nglMapGrid1f(int un, float u1, float u2, long function_pointer); public static void glMaterial(int face, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglMaterialiv(face, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glMaterialiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMaterialiv(face, pname, params, params.position(), function_pointer); } - private static native void nglMaterialiv(int face, int pname, IntBuffer params, int params_position); + private static native void nglMaterialiv(int face, int pname, IntBuffer params, int params_position, long function_pointer); public static void glMaterial(int face, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglMaterialfv(face, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glMaterialfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMaterialfv(face, pname, params, params.position(), function_pointer); } - private static native void nglMaterialfv(int face, int pname, FloatBuffer params, int params_position); + private static native void nglMaterialfv(int face, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glMateriali(int face, int pname, int param); + public static void glMateriali(int face, int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glMateriali_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMateriali(face, pname, param, function_pointer); + } + private static native void nglMateriali(int face, int pname, int param, long function_pointer); - public static native void glMaterialf(int face, int pname, float param); + public static void glMaterialf(int face, int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glMaterialf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMaterialf(face, pname, param, function_pointer); + } + private static native void nglMaterialf(int face, int pname, float param, long function_pointer); - public static native boolean glIsList(int list); + public static boolean glIsList(int list) { + long function_pointer = GLContext.getCapabilities().GL11_glIsList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsList(list, function_pointer); + return __result; + } + private static native boolean nglIsList(int list, long function_pointer); public static void glGetPolygonStipple(ByteBuffer mask) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(mask, 1024); - nglGetPolygonStipple(mask, mask.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPolygonStipple(mask, mask.position(), function_pointer); } - private static native void nglGetPolygonStipple(ByteBuffer mask, int mask_position); + private static native void nglGetPolygonStipple(ByteBuffer mask, int mask_position, long function_pointer); public static void glGetPolygonStipple(int mask_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetPolygonStippleBO(mask_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glGetPolygonStipple_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPolygonStippleBO(mask_buffer_offset, function_pointer); } - private static native void nglGetPolygonStippleBO(int mask_buffer_offset); + private static native void nglGetPolygonStippleBO(int mask_buffer_offset, long function_pointer); - public static native java.lang.String glGetString(int name); + public static java.lang.String glGetString(int name) { + long function_pointer = GLContext.getCapabilities().GL11_glGetString_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.lang.String __result = nglGetString(name, function_pointer); + return __result; + } + private static native java.lang.String nglGetString(int name, long function_pointer); public static void glGetTexEnv(int coord, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexEnvfv(coord, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexEnvfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexEnvfv(coord, pname, params, params.position(), function_pointer); } - private static native void nglGetTexEnvfv(int coord, int pname, FloatBuffer params, int params_position); + private static native void nglGetTexEnvfv(int coord, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetTexEnv(int coord, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexEnviv(coord, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexEnviv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexEnviv(coord, pname, params, params.position(), function_pointer); } - private static native void nglGetTexEnviv(int coord, int pname, IntBuffer params, int params_position); + private static native void nglGetTexEnviv(int coord, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetTexGen(int coord, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexGenfv(coord, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexGenfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexGenfv(coord, pname, params, params.position(), function_pointer); } - private static native void nglGetTexGenfv(int coord, int pname, FloatBuffer params, int params_position); + private static native void nglGetTexGenfv(int coord, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetTexGen(int coord, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexGeniv(coord, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexGeniv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexGeniv(coord, pname, params, params.position(), function_pointer); } - private static native void nglGetTexGeniv(int coord, int pname, IntBuffer params, int params_position); + private static native void nglGetTexGeniv(int coord, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetTexImage(int target, int level, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); - nglGetTexImage(target, level, format, type, pixels, pixels.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexImage(target, level, format, type, pixels, pixels.position() << 1, function_pointer); } public static void glGetTexImage(int target, int level, int format, int type, IntBuffer pixels) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); - nglGetTexImage(target, level, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexImage(target, level, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glGetTexImage(int target, int level, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, 1, 1, 1)); - nglGetTexImage(target, level, format, type, pixels, pixels.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexImage(target, level, format, type, pixels, pixels.position(), function_pointer); } - private static native void nglGetTexImage(int target, int level, int format, int type, Buffer pixels, int pixels_position); + private static native void nglGetTexImage(int target, int level, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glGetTexImage(int target, int level, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetTexImageBO(target, level, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexImageBO(target, level, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglGetTexImageBO(int target, int level, int format, int type, int pixels_buffer_offset); + private static native void nglGetTexImageBO(int target, int level, int format, int type, int pixels_buffer_offset, long function_pointer); public static void glGetTexLevelParameter(int target, int level, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexLevelParameteriv(target, level, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexLevelParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexLevelParameteriv(target, level, pname, params, params.position(), function_pointer); } - private static native void nglGetTexLevelParameteriv(int target, int level, int pname, IntBuffer params, int params_position); + private static native void nglGetTexLevelParameteriv(int target, int level, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetTexLevelParameter(int target, int level, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexLevelParameterfv(target, level, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexLevelParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexLevelParameterfv(target, level, pname, params, params.position(), function_pointer); } - private static native void nglGetTexLevelParameterfv(int target, int level, int pname, FloatBuffer params, int params_position); + private static native void nglGetTexLevelParameterfv(int target, int level, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetTexParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetTexParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetTexParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetTexParameter(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTexParameterfv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetTexParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTexParameterfv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetTexParameterfv(int target, int pname, FloatBuffer params, int params_position); + private static native void nglGetTexParameterfv(int target, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glHint(int target, int mode); + public static void glHint(int target, int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glHint_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglHint(target, mode, function_pointer); + } + private static native void nglHint(int target, int mode, long function_pointer); - public static native void glInitNames(); + public static void glInitNames() { + long function_pointer = GLContext.getCapabilities().GL11_glInitNames_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInitNames(function_pointer); + } + private static native void nglInitNames(long function_pointer); public static void glInterleavedArrays(int format, int stride, ShortBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglInterleavedArrays(format, stride, pointer, pointer.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position() << 1, function_pointer); } public static void glInterleavedArrays(int format, int stride, IntBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglInterleavedArrays(format, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position() << 2, function_pointer); } public static void glInterleavedArrays(int format, int stride, FloatBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglInterleavedArrays(format, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position() << 2, function_pointer); } public static void glInterleavedArrays(int format, int stride, ByteBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglInterleavedArrays(format, stride, pointer, pointer.position()); + long function_pointer = GLContext.getCapabilities().GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInterleavedArrays(format, stride, pointer, pointer.position(), function_pointer); } - private static native void nglInterleavedArrays(int format, int stride, Buffer pointer, int pointer_position); + private static native void nglInterleavedArrays(int format, int stride, Buffer pointer, int pointer_position, long function_pointer); public static void glInterleavedArrays(int format, int stride, int pointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglInterleavedArraysBO(format, stride, pointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glInterleavedArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglInterleavedArraysBO(format, stride, pointer_buffer_offset, function_pointer); } - private static native void nglInterleavedArraysBO(int format, int stride, int pointer_buffer_offset); + private static native void nglInterleavedArraysBO(int format, int stride, int pointer_buffer_offset, long function_pointer); - public static native boolean glIsEnabled(int cap); - - public static java.nio.ByteBuffer glGetPointer(int pname, int result_size) { - java.nio.ByteBuffer __result = nglGetPointerv(pname, result_size); + public static boolean glIsEnabled(int cap) { + long function_pointer = GLContext.getCapabilities().GL11_glIsEnabled_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsEnabled(cap, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglGetPointerv(int pname, int result_size); + private static native boolean nglIsEnabled(int cap, long function_pointer); - public static native void glFinish(); + public static java.nio.ByteBuffer glGetPointer(int pname, int result_size) { + long function_pointer = GLContext.getCapabilities().GL11_glGetPointerv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetPointerv(pname, result_size, function_pointer); + return __result; + } + private static native java.nio.ByteBuffer nglGetPointerv(int pname, int result_size, long function_pointer); - public static native void glFlush(); + public static void glFinish() { + long function_pointer = GLContext.getCapabilities().GL11_glFinish_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFinish(function_pointer); + } + private static native void nglFinish(long function_pointer); + + public static void glFlush() { + long function_pointer = GLContext.getCapabilities().GL11_glFlush_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFlush(function_pointer); + } + private static native void nglFlush(long function_pointer); public static void glFog(int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglFogiv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glFogiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogiv(pname, params, params.position(), function_pointer); } - private static native void nglFogiv(int pname, IntBuffer params, int params_position); + private static native void nglFogiv(int pname, IntBuffer params, int params_position, long function_pointer); public static void glFog(int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglFogfv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glFogfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogfv(pname, params, params.position(), function_pointer); } - private static native void nglFogfv(int pname, FloatBuffer params, int params_position); + private static native void nglFogfv(int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glFogi(int pname, int param); + public static void glFogi(int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL11_glFogi_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogi(pname, param, function_pointer); + } + private static native void nglFogi(int pname, int param, long function_pointer); - public static native void glFogf(int pname, float param); + public static void glFogf(int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL11_glFogf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogf(pname, param, function_pointer); + } + private static native void nglFogf(int pname, float param, long function_pointer); - public static native void glFrontFace(int mode); + public static void glFrontFace(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glFrontFace_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFrontFace(mode, function_pointer); + } + private static native void nglFrontFace(int mode, long function_pointer); - public static native void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar); + public static void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar) { + long function_pointer = GLContext.getCapabilities().GL11_glFrustum_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFrustum(left, right, bottom, top, zNear, zFar, function_pointer); + } + private static native void nglFrustum(double left, double right, double bottom, double top, double zNear, double zFar, long function_pointer); - public static native int glGenLists(int range); + public static int glGenLists(int range) { + long function_pointer = GLContext.getCapabilities().GL11_glGenLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGenLists(range, function_pointer); + return __result; + } + private static native int nglGenLists(int range, long function_pointer); public static void glGenTextures(IntBuffer textures) { BufferChecks.checkDirect(textures); - nglGenTextures((textures.remaining()), textures, textures.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGenTextures_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenTextures((textures.remaining()), textures, textures.position(), function_pointer); } - private static native void nglGenTextures(int n, IntBuffer textures, int textures_position); + private static native void nglGenTextures(int n, IntBuffer textures, int textures_position, long function_pointer); public static void glGetInteger(int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 16); - nglGetIntegerv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetIntegerv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetIntegerv(pname, params, params.position(), function_pointer); } - private static native void nglGetIntegerv(int pname, IntBuffer params, int params_position); + private static native void nglGetIntegerv(int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetFloat(int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 16); - nglGetFloatv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetFloatv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetFloatv(pname, params, params.position(), function_pointer); } - private static native void nglGetFloatv(int pname, FloatBuffer params, int params_position); + private static native void nglGetFloatv(int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetDouble(int pname, DoubleBuffer params) { BufferChecks.checkBuffer(params, 16); - nglGetDoublev(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetDoublev_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetDoublev(pname, params, params.position(), function_pointer); } - private static native void nglGetDoublev(int pname, DoubleBuffer params, int params_position); + private static native void nglGetDoublev(int pname, DoubleBuffer params, int params_position, long function_pointer); public static void glGetBoolean(int pname, ByteBuffer params) { BufferChecks.checkBuffer(params, 16); - nglGetBooleanv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetBooleanv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBooleanv(pname, params, params.position(), function_pointer); } - private static native void nglGetBooleanv(int pname, ByteBuffer params, int params_position); + private static native void nglGetBooleanv(int pname, ByteBuffer params, int params_position, long function_pointer); public static void glGetClipPlane(int plane, DoubleBuffer equation) { BufferChecks.checkBuffer(equation, 4); - nglGetClipPlane(plane, equation, equation.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetClipPlane_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetClipPlane(plane, equation, equation.position(), function_pointer); } - private static native void nglGetClipPlane(int plane, DoubleBuffer equation, int equation_position); + private static native void nglGetClipPlane(int plane, DoubleBuffer equation, int equation_position, long function_pointer); - public static native int glGetError(); + public static int glGetError() { + long function_pointer = GLContext.getCapabilities().GL11_glGetError_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGetError(function_pointer); + return __result; + } + private static native int nglGetError(long function_pointer); public static void glGetLight(int light, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetLightiv(light, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetLightiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetLightiv(light, pname, params, params.position(), function_pointer); } - private static native void nglGetLightiv(int light, int pname, IntBuffer params, int params_position); + private static native void nglGetLightiv(int light, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetLight(int light, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetLightfv(light, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetLightfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetLightfv(light, pname, params, params.position(), function_pointer); } - private static native void nglGetLightfv(int light, int pname, FloatBuffer params, int params_position); + private static native void nglGetLightfv(int light, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetMap(int target, int query, IntBuffer v) { BufferChecks.checkBuffer(v, 256); - nglGetMapiv(target, query, v, v.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetMapiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMapiv(target, query, v, v.position(), function_pointer); } - private static native void nglGetMapiv(int target, int query, IntBuffer v, int v_position); + private static native void nglGetMapiv(int target, int query, IntBuffer v, int v_position, long function_pointer); public static void glGetMap(int target, int query, FloatBuffer v) { BufferChecks.checkBuffer(v, 256); - nglGetMapfv(target, query, v, v.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMapfv(target, query, v, v.position(), function_pointer); } - private static native void nglGetMapfv(int target, int query, FloatBuffer v, int v_position); + private static native void nglGetMapfv(int target, int query, FloatBuffer v, int v_position, long function_pointer); public static void glGetMaterial(int face, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMaterialiv(face, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetMaterialiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMaterialiv(face, pname, params, params.position(), function_pointer); } - private static native void nglGetMaterialiv(int face, int pname, IntBuffer params, int params_position); + private static native void nglGetMaterialiv(int face, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetMaterial(int face, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMaterialfv(face, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetMaterialfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMaterialfv(face, pname, params, params.position(), function_pointer); } - private static native void nglGetMaterialfv(int face, int pname, FloatBuffer params, int params_position); + private static native void nglGetMaterialfv(int face, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetPixelMapu(int map, ShortBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 256); - nglGetPixelMapusv(map, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPixelMapusv(map, values, values.position(), function_pointer); } - private static native void nglGetPixelMapusv(int map, ShortBuffer values, int values_position); + private static native void nglGetPixelMapusv(int map, ShortBuffer values, int values_position, long function_pointer); public static void glGetPixelMapusv(int map, int values_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetPixelMapusvBO(map, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glGetPixelMapusv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPixelMapusvBO(map, values_buffer_offset, function_pointer); } - private static native void nglGetPixelMapusvBO(int map, int values_buffer_offset); + private static native void nglGetPixelMapusvBO(int map, int values_buffer_offset, long function_pointer); public static void glGetPixelMapu(int map, IntBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 256); - nglGetPixelMapuiv(map, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPixelMapuiv(map, values, values.position(), function_pointer); } - private static native void nglGetPixelMapuiv(int map, IntBuffer values, int values_position); + private static native void nglGetPixelMapuiv(int map, IntBuffer values, int values_position, long function_pointer); public static void glGetPixelMapuiv(int map, int values_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetPixelMapuivBO(map, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glGetPixelMapuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPixelMapuivBO(map, values_buffer_offset, function_pointer); } - private static native void nglGetPixelMapuivBO(int map, int values_buffer_offset); + private static native void nglGetPixelMapuivBO(int map, int values_buffer_offset, long function_pointer); public static void glGetPixelMap(int map, FloatBuffer values) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkBuffer(values, 256); - nglGetPixelMapfv(map, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL11_glGetPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPixelMapfv(map, values, values.position(), function_pointer); } - private static native void nglGetPixelMapfv(int map, FloatBuffer values, int values_position); + private static native void nglGetPixelMapfv(int map, FloatBuffer values, int values_position, long function_pointer); public static void glGetPixelMapfv(int map, int values_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetPixelMapfvBO(map, values_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glGetPixelMapfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetPixelMapfvBO(map, values_buffer_offset, function_pointer); } - private static native void nglGetPixelMapfvBO(int map, int values_buffer_offset); + private static native void nglGetPixelMapfvBO(int map, int values_buffer_offset, long function_pointer); public static void glFeedbackBuffer(int type, FloatBuffer buffer) { BufferChecks.checkDirect(buffer); - nglFeedbackBuffer((buffer.remaining()), type, buffer, buffer.position()); + long function_pointer = GLContext.getCapabilities().GL11_glFeedbackBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFeedbackBuffer((buffer.remaining()), type, buffer, buffer.position(), function_pointer); } - private static native void nglFeedbackBuffer(int size, int type, FloatBuffer buffer, int buffer_position); + private static native void nglFeedbackBuffer(int size, int type, FloatBuffer buffer, int buffer_position, long function_pointer); - public static native void glDepthFunc(int func); + public static void glDepthFunc(int func) { + long function_pointer = GLContext.getCapabilities().GL11_glDepthFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDepthFunc(func, function_pointer); + } + private static native void nglDepthFunc(int func, long function_pointer); - public static native void glDepthMask(boolean flag); + public static void glDepthMask(boolean flag) { + long function_pointer = GLContext.getCapabilities().GL11_glDepthMask_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDepthMask(flag, function_pointer); + } + private static native void nglDepthMask(boolean flag, long function_pointer); - public static native void glDepthRange(double zNear, double zFar); + public static void glDepthRange(double zNear, double zFar) { + long function_pointer = GLContext.getCapabilities().GL11_glDepthRange_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDepthRange(zNear, zFar, function_pointer); + } + private static native void nglDepthRange(double zNear, double zFar, long function_pointer); - public static native void glDrawArrays(int mode, int first, int count); + public static void glDrawArrays(int mode, int first, int count) { + long function_pointer = GLContext.getCapabilities().GL11_glDrawArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawArrays(mode, first, count, function_pointer); + } + private static native void nglDrawArrays(int mode, int first, int count, long function_pointer); - public static native void glDrawBuffer(int mode); + public static void glDrawBuffer(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glDrawBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawBuffer(mode, function_pointer); + } + private static native void nglDrawBuffer(int mode, long function_pointer); public static void glDrawElements(int mode, IntBuffer indices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(indices); - nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_INT, indices, indices.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_INT, indices, indices.position() << 2, function_pointer); } public static void glDrawElements(int mode, ShortBuffer indices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(indices); - nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_SHORT, indices, indices.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_SHORT, indices, indices.position() << 1, function_pointer); } public static void glDrawElements(int mode, ByteBuffer indices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(indices); - nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_BYTE, indices, indices.position()); + long function_pointer = GLContext.getCapabilities().GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawElements(mode, (indices.remaining()), GL11.GL_UNSIGNED_BYTE, indices, indices.position(), function_pointer); } - private static native void nglDrawElements(int mode, int count, int type, Buffer indices, int indices_position); + private static native void nglDrawElements(int mode, int count, int type, Buffer indices, int indices_position, long function_pointer); public static void glDrawElements(int mode, int count, int type, int indices_buffer_offset) { GLBufferChecks.ensureElementVBOenabled(); - nglDrawElementsBO(mode, count, type, indices_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glDrawElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawElementsBO(mode, count, type, indices_buffer_offset, function_pointer); } - private static native void nglDrawElementsBO(int mode, int count, int type, int indices_buffer_offset); + private static native void nglDrawElementsBO(int mode, int count, int type, int indices_buffer_offset, long function_pointer); public static void glDrawPixels(int width, int height, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglDrawPixels(width, height, format, type, pixels, pixels.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawPixels(width, height, format, type, pixels, pixels.position() << 1, function_pointer); } public static void glDrawPixels(int width, int height, int format, int type, IntBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglDrawPixels(width, height, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawPixels(width, height, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glDrawPixels(int width, int height, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, 1)); - nglDrawPixels(width, height, format, type, pixels, pixels.position()); + long function_pointer = GLContext.getCapabilities().GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawPixels(width, height, format, type, pixels, pixels.position(), function_pointer); } - private static native void nglDrawPixels(int width, int height, int format, int type, Buffer pixels, int pixels_position); + private static native void nglDrawPixels(int width, int height, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glDrawPixels(int width, int height, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglDrawPixelsBO(width, height, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glDrawPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawPixelsBO(width, height, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglDrawPixelsBO(int width, int height, int format, int type, int pixels_buffer_offset); + private static native void nglDrawPixelsBO(int width, int height, int format, int type, int pixels_buffer_offset, long function_pointer); - public static native void glEdgeFlag(boolean flag); + public static void glEdgeFlag(boolean flag) { + long function_pointer = GLContext.getCapabilities().GL11_glEdgeFlag_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEdgeFlag(flag, function_pointer); + } + private static native void nglEdgeFlag(boolean flag, long function_pointer); public static void glEdgeFlagPointer(int stride, ByteBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglEdgeFlagPointer(stride, pointer, pointer.position()); + long function_pointer = GLContext.getCapabilities().GL11_glEdgeFlagPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEdgeFlagPointer(stride, pointer, pointer.position(), function_pointer); } - private static native void nglEdgeFlagPointer(int stride, Buffer pointer, int pointer_position); + private static native void nglEdgeFlagPointer(int stride, Buffer pointer, int pointer_position, long function_pointer); public static void glEdgeFlagPointer(int stride, int pointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglEdgeFlagPointerBO(stride, pointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glEdgeFlagPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEdgeFlagPointerBO(stride, pointer_buffer_offset, function_pointer); } - private static native void nglEdgeFlagPointerBO(int stride, int pointer_buffer_offset); + private static native void nglEdgeFlagPointerBO(int stride, int pointer_buffer_offset, long function_pointer); - public static native void glDisable(int cap); + public static void glDisable(int cap) { + long function_pointer = GLContext.getCapabilities().GL11_glDisable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDisable(cap, function_pointer); + } + private static native void nglDisable(int cap, long function_pointer); - public static native void glEnable(int cap); + public static void glEnable(int cap) { + long function_pointer = GLContext.getCapabilities().GL11_glEnable_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnable(cap, function_pointer); + } + private static native void nglEnable(int cap, long function_pointer); - public static native void glDisableClientState(int cap); + public static void glDisableClientState(int cap) { + long function_pointer = GLContext.getCapabilities().GL11_glDisableClientState_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDisableClientState(cap, function_pointer); + } + private static native void nglDisableClientState(int cap, long function_pointer); - public static native void glEnableClientState(int cap); + public static void glEnableClientState(int cap) { + long function_pointer = GLContext.getCapabilities().GL11_glEnableClientState_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnableClientState(cap, function_pointer); + } + private static native void nglEnableClientState(int cap, long function_pointer); - public static native void glEvalCoord2f(float u, float v); + public static void glEvalCoord2f(float u, float v) { + long function_pointer = GLContext.getCapabilities().GL11_glEvalCoord2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalCoord2f(u, v, function_pointer); + } + private static native void nglEvalCoord2f(float u, float v, long function_pointer); - public static native void glEvalCoord1f(float u); + public static void glEvalCoord1f(float u) { + long function_pointer = GLContext.getCapabilities().GL11_glEvalCoord1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalCoord1f(u, function_pointer); + } + private static native void nglEvalCoord1f(float u, long function_pointer); - public static native void glEvalMesh2(int mode, int i1, int i2, int j1, int j2); + public static void glEvalMesh2(int mode, int i1, int i2, int j1, int j2) { + long function_pointer = GLContext.getCapabilities().GL11_glEvalMesh2_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalMesh2(mode, i1, i2, j1, j2, function_pointer); + } + private static native void nglEvalMesh2(int mode, int i1, int i2, int j1, int j2, long function_pointer); - public static native void glEvalMesh1(int mode, int i1, int i2); + public static void glEvalMesh1(int mode, int i1, int i2) { + long function_pointer = GLContext.getCapabilities().GL11_glEvalMesh1_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalMesh1(mode, i1, i2, function_pointer); + } + private static native void nglEvalMesh1(int mode, int i1, int i2, long function_pointer); - public static native void glEvalPoint2(int i, int j); + public static void glEvalPoint2(int i, int j) { + long function_pointer = GLContext.getCapabilities().GL11_glEvalPoint2_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalPoint2(i, j, function_pointer); + } + private static native void nglEvalPoint2(int i, int j, long function_pointer); - public static native void glEvalPoint1(int i); + public static void glEvalPoint1(int i) { + long function_pointer = GLContext.getCapabilities().GL11_glEvalPoint1_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalPoint1(i, function_pointer); + } + private static native void nglEvalPoint1(int i, long function_pointer); - public static native void glClearIndex(float c); + public static void glClearIndex(float c) { + long function_pointer = GLContext.getCapabilities().GL11_glClearIndex_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearIndex(c, function_pointer); + } + private static native void nglClearIndex(float c, long function_pointer); - public static native void glClearStencil(int s); + public static void glClearStencil(int s) { + long function_pointer = GLContext.getCapabilities().GL11_glClearStencil_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearStencil(s, function_pointer); + } + private static native void nglClearStencil(int s, long function_pointer); public static void glClipPlane(int plane, DoubleBuffer equation) { BufferChecks.checkBuffer(equation, 4); - nglClipPlane(plane, equation, equation.position()); + long function_pointer = GLContext.getCapabilities().GL11_glClipPlane_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClipPlane(plane, equation, equation.position(), function_pointer); } - private static native void nglClipPlane(int plane, DoubleBuffer equation, int equation_position); + private static native void nglClipPlane(int plane, DoubleBuffer equation, int equation_position, long function_pointer); - public static native void glColor4ub(byte red, byte green, byte blue, byte alpha); + public static void glColor4ub(byte red, byte green, byte blue, byte alpha) { + long function_pointer = GLContext.getCapabilities().GL11_glColor4ub_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4ub(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4ub(byte red, byte green, byte blue, byte alpha, long function_pointer); - public static native void glColor4f(float red, float green, float blue, float alpha); + public static void glColor4f(float red, float green, float blue, float alpha) { + long function_pointer = GLContext.getCapabilities().GL11_glColor4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4f(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4f(float red, float green, float blue, float alpha, long function_pointer); - public static native void glColor4b(byte red, byte green, byte blue, byte alpha); + public static void glColor4b(byte red, byte green, byte blue, byte alpha) { + long function_pointer = GLContext.getCapabilities().GL11_glColor4b_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4b(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4b(byte red, byte green, byte blue, byte alpha, long function_pointer); - public static native void glColor3ub(byte red, byte green, byte blue); + public static void glColor3ub(byte red, byte green, byte blue) { + long function_pointer = GLContext.getCapabilities().GL11_glColor3ub_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3ub(red, green, blue, function_pointer); + } + private static native void nglColor3ub(byte red, byte green, byte blue, long function_pointer); - public static native void glColor3f(float red, float green, float blue); + public static void glColor3f(float red, float green, float blue) { + long function_pointer = GLContext.getCapabilities().GL11_glColor3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3f(red, green, blue, function_pointer); + } + private static native void nglColor3f(float red, float green, float blue, long function_pointer); - public static native void glColor3b(byte red, byte green, byte blue); + public static void glColor3b(byte red, byte green, byte blue) { + long function_pointer = GLContext.getCapabilities().GL11_glColor3b_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3b(red, green, blue, function_pointer); + } + private static native void nglColor3b(byte red, byte green, byte blue, long function_pointer); - public static native void glColorMask(boolean red, boolean green, boolean blue, boolean alpha); + public static void glColorMask(boolean red, boolean green, boolean blue, boolean alpha) { + long function_pointer = GLContext.getCapabilities().GL11_glColorMask_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorMask(red, green, blue, alpha, function_pointer); + } + private static native void nglColorMask(boolean red, boolean green, boolean blue, boolean alpha, long function_pointer); - public static native void glColorMaterial(int face, int mode); + public static void glColorMaterial(int face, int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glColorMaterial_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorMaterial(face, mode, function_pointer); + } + private static native void nglColorMaterial(int face, int mode, long function_pointer); public static void glColorPointer(int size, int stride, FloatBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglColorPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorPointer(size, GL11.GL_FLOAT, stride, pointer, pointer.position() << 2, function_pointer); } public static void glColorPointer(int size, boolean unsigned, int stride, ByteBuffer pointer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(pointer); - nglColorPointer(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pointer, pointer.position()); + long function_pointer = GLContext.getCapabilities().GL11_glColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorPointer(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pointer, pointer.position(), function_pointer); } - private static native void nglColorPointer(int size, int type, int stride, Buffer pointer, int pointer_position); + private static native void nglColorPointer(int size, int type, int stride, Buffer pointer, int pointer_position, long function_pointer); public static void glColorPointer(int size, int type, int stride, int pointer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglColorPointerBO(size, type, stride, pointer_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColorPointerBO(size, type, stride, pointer_buffer_offset, function_pointer); } - private static native void nglColorPointerBO(int size, int type, int stride, int pointer_buffer_offset); + private static native void nglColorPointerBO(int size, int type, int stride, int pointer_buffer_offset, long function_pointer); - public static native void glCopyPixels(int x, int y, int width, int height, int type); + public static void glCopyPixels(int x, int y, int width, int height, int type) { + long function_pointer = GLContext.getCapabilities().GL11_glCopyPixels_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyPixels(x, y, width, height, type, function_pointer); + } + private static native void nglCopyPixels(int x, int y, int width, int height, int type, long function_pointer); - public static native void glCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border); + public static void glCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border) { + long function_pointer = GLContext.getCapabilities().GL11_glCopyTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexImage1D(target, level, internalFormat, x, y, width, border, function_pointer); + } + private static native void nglCopyTexImage1D(int target, int level, int internalFormat, int x, int y, int width, int border, long function_pointer); - public static native void glCopyTexImage2D(int target, int level, int internalFormat, int x, int y, int width, int height, int border); + public static void glCopyTexImage2D(int target, int level, int internalFormat, int x, int y, int width, int height, int border) { + long function_pointer = GLContext.getCapabilities().GL11_glCopyTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexImage2D(target, level, internalFormat, x, y, width, height, border, function_pointer); + } + private static native void nglCopyTexImage2D(int target, int level, int internalFormat, int x, int y, int width, int height, int border, long function_pointer); - public static native void glCopyTexSubImage1D(int target, int level, int xoffset, int x, int y, int width); + public static void glCopyTexSubImage1D(int target, int level, int xoffset, int x, int y, int width) { + long function_pointer = GLContext.getCapabilities().GL11_glCopyTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexSubImage1D(target, level, xoffset, x, y, width, function_pointer); + } + private static native void nglCopyTexSubImage1D(int target, int level, int xoffset, int x, int y, int width, long function_pointer); - public static native void glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height); + public static void glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { + long function_pointer = GLContext.getCapabilities().GL11_glCopyTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height, function_pointer); + } + private static native void nglCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height, long function_pointer); - public static native void glCullFace(int mode); + public static void glCullFace(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glCullFace_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCullFace(mode, function_pointer); + } + private static native void nglCullFace(int mode, long function_pointer); public static void glDeleteTextures(IntBuffer textures) { BufferChecks.checkDirect(textures); - nglDeleteTextures((textures.remaining()), textures, textures.position()); + long function_pointer = GLContext.getCapabilities().GL11_glDeleteTextures_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteTextures((textures.remaining()), textures, textures.position(), function_pointer); } - private static native void nglDeleteTextures(int n, IntBuffer textures, int textures_position); + private static native void nglDeleteTextures(int n, IntBuffer textures, int textures_position, long function_pointer); - public static native void glDeleteLists(int list, int range); + public static void glDeleteLists(int list, int range) { + long function_pointer = GLContext.getCapabilities().GL11_glDeleteLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteLists(list, range, function_pointer); + } + private static native void nglDeleteLists(int list, int range, long function_pointer); - public static native void glClearDepth(double depth); + public static void glClearDepth(double depth) { + long function_pointer = GLContext.getCapabilities().GL11_glClearDepth_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearDepth(depth, function_pointer); + } + private static native void nglClearDepth(double depth, long function_pointer); - public static native void glArrayElement(int i); + public static void glArrayElement(int i) { + long function_pointer = GLContext.getCapabilities().GL11_glArrayElement_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglArrayElement(i, function_pointer); + } + private static native void nglArrayElement(int i, long function_pointer); - public static native void glEnd(); + public static void glEnd() { + long function_pointer = GLContext.getCapabilities().GL11_glEnd_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnd(function_pointer); + } + private static native void nglEnd(long function_pointer); - public static native void glBegin(int mode); + public static void glBegin(int mode) { + long function_pointer = GLContext.getCapabilities().GL11_glBegin_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBegin(mode, function_pointer); + } + private static native void nglBegin(int mode, long function_pointer); - public static native void glBindTexture(int target, int texture); + public static void glBindTexture(int target, int texture) { + long function_pointer = GLContext.getCapabilities().GL11_glBindTexture_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindTexture(target, texture, function_pointer); + } + private static native void nglBindTexture(int target, int texture, long function_pointer); public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(bitmap, (((width + 7)/8)*height)); - nglBitmap(width, height, xorig, yorig, xmove, ymove, bitmap, bitmap.position()); + long function_pointer = GLContext.getCapabilities().GL11_glBitmap_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBitmap(width, height, xorig, yorig, xmove, ymove, bitmap, bitmap.position(), function_pointer); } - private static native void nglBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap, int bitmap_position); + private static native void nglBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, ByteBuffer bitmap, int bitmap_position, long function_pointer); public static void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, int bitmap_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglBitmapBO(width, height, xorig, yorig, xmove, ymove, bitmap_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL11_glBitmap_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBitmapBO(width, height, xorig, yorig, xmove, ymove, bitmap_buffer_offset, function_pointer); } - private static native void nglBitmapBO(int width, int height, float xorig, float yorig, float xmove, float ymove, int bitmap_buffer_offset); + private static native void nglBitmapBO(int width, int height, float xorig, float yorig, float xmove, float ymove, int bitmap_buffer_offset, long function_pointer); - public static native void glBlendFunc(int sfactor, int dfactor); + public static void glBlendFunc(int sfactor, int dfactor) { + long function_pointer = GLContext.getCapabilities().GL11_glBlendFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendFunc(sfactor, dfactor, function_pointer); + } + private static native void nglBlendFunc(int sfactor, int dfactor, long function_pointer); - public static native void glCallList(int list); + public static void glCallList(int list) { + long function_pointer = GLContext.getCapabilities().GL11_glCallList_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCallList(list, function_pointer); + } + private static native void nglCallList(int list, long function_pointer); public static void glCallLists(IntBuffer lists) { BufferChecks.checkDirect(lists); - nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_INT, lists, lists.position() << 2); + long function_pointer = GLContext.getCapabilities().GL11_glCallLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_INT, lists, lists.position() << 2, function_pointer); } public static void glCallLists(ShortBuffer lists) { BufferChecks.checkDirect(lists); - nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_SHORT, lists, lists.position() << 1); + long function_pointer = GLContext.getCapabilities().GL11_glCallLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_SHORT, lists, lists.position() << 1, function_pointer); } public static void glCallLists(ByteBuffer lists) { BufferChecks.checkDirect(lists); - nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_BYTE, lists, lists.position()); + long function_pointer = GLContext.getCapabilities().GL11_glCallLists_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCallLists((lists.remaining()), GL11.GL_UNSIGNED_BYTE, lists, lists.position(), function_pointer); } - private static native void nglCallLists(int n, int type, Buffer lists, int lists_position); + private static native void nglCallLists(int n, int type, Buffer lists, int lists_position, long function_pointer); - public static native void glClear(int mask); + public static void glClear(int mask) { + long function_pointer = GLContext.getCapabilities().GL11_glClear_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClear(mask, function_pointer); + } + private static native void nglClear(int mask, long function_pointer); - public static native void glClearAccum(float red, float green, float blue, float alpha); + public static void glClearAccum(float red, float green, float blue, float alpha) { + long function_pointer = GLContext.getCapabilities().GL11_glClearAccum_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearAccum(red, green, blue, alpha, function_pointer); + } + private static native void nglClearAccum(float red, float green, float blue, float alpha, long function_pointer); - public static native void glClearColor(float red, float green, float blue, float alpha); + public static void glClearColor(float red, float green, float blue, float alpha) { + long function_pointer = GLContext.getCapabilities().GL11_glClearColor_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClearColor(red, green, blue, alpha, function_pointer); + } + private static native void nglClearColor(float red, float green, float blue, float alpha, long function_pointer); - public static native void glAlphaFunc(int func, float ref); + public static void glAlphaFunc(int func, float ref) { + long function_pointer = GLContext.getCapabilities().GL11_glAlphaFunc_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAlphaFunc(func, ref, function_pointer); + } + private static native void nglAlphaFunc(int func, float ref, long function_pointer); - public static native void glAccum(int op, float value); + public static void glAccum(int op, float value) { + long function_pointer = GLContext.getCapabilities().GL11_glAccum_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAccum(op, value, function_pointer); + } + private static native void nglAccum(int op, float value, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/GL12.java b/src/java/org/lwjgl/opengl/GL12.java index 0343b72a..724553a9 100644 --- a/src/java/org/lwjgl/opengl/GL12.java +++ b/src/java/org/lwjgl/opengl/GL12.java @@ -50,85 +50,118 @@ public final class GL12 { static native void initNativeStubs() throws LWJGLException; - public static native void glCopyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height); + public static void glCopyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) { + long function_pointer = GLContext.getCapabilities().GL12_glCopyTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height, function_pointer); + } + private static native void nglCopyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height, long function_pointer); public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, depth)); - nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 1); + long function_pointer = GLContext.getCapabilities().GL12_glTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 1, function_pointer); } public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, IntBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, depth)); - nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL12_glTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, FloatBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, depth)); - nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2); + long function_pointer = GLContext.getCapabilities().GL12_glTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position() << 2, function_pointer); } public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateImageStorage(pixels, format, type, width, height, depth)); - nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position()); + long function_pointer = GLContext.getCapabilities().GL12_glTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, pixels.position(), function_pointer); } - private static native void nglTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels, int pixels_position); + private static native void nglTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglTexSubImage3DBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL12_glTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexSubImage3DBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglTexSubImage3DBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int pixels_buffer_offset); + private static native void nglTexSubImage3DBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int pixels_buffer_offset, long function_pointer); public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ShortBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(pixels, format, type, width, height, depth, border)); - nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0); + long function_pointer = GLContext.getCapabilities().GL12_glTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 1 : 0, function_pointer); } public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, IntBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(pixels, format, type, width, height, depth, border)); - nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0); + long function_pointer = GLContext.getCapabilities().GL12_glTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); } public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, FloatBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(pixels, format, type, width, height, depth, border)); - nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0); + long function_pointer = GLContext.getCapabilities().GL12_glTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() << 2 : 0, function_pointer); } public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ByteBuffer pixels) { GLBufferChecks.ensureUnpackPBOdisabled(); if (pixels != null) BufferChecks.checkBuffer(pixels, GLBufferChecks.calculateTexImage3DStorage(pixels, format, type, width, height, depth, border)); - nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() : 0); + long function_pointer = GLContext.getCapabilities().GL12_glTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels, pixels != null ? pixels.position() : 0, function_pointer); } - private static native void nglTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, Buffer pixels, int pixels_position); + private static native void nglTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, Buffer pixels, int pixels_position, long function_pointer); public static void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int pixels_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglTexImage3DBO(target, level, internalFormat, width, height, depth, border, format, type, pixels_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL12_glTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexImage3DBO(target, level, internalFormat, width, height, depth, border, format, type, pixels_buffer_offset, function_pointer); } - private static native void nglTexImage3DBO(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int pixels_buffer_offset); + private static native void nglTexImage3DBO(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int pixels_buffer_offset, long function_pointer); public static void glDrawRangeElements(int mode, int start, int end, IntBuffer indices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(indices); - nglDrawRangeElements(mode, start, end, (indices.remaining()), GL11.GL_UNSIGNED_INT, indices, indices.position() << 2); + long function_pointer = GLContext.getCapabilities().GL12_glDrawRangeElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElements(mode, start, end, (indices.remaining()), GL11.GL_UNSIGNED_INT, indices, indices.position() << 2, function_pointer); } public static void glDrawRangeElements(int mode, int start, int end, ShortBuffer indices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(indices); - nglDrawRangeElements(mode, start, end, (indices.remaining()), GL11.GL_UNSIGNED_SHORT, indices, indices.position() << 1); + long function_pointer = GLContext.getCapabilities().GL12_glDrawRangeElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElements(mode, start, end, (indices.remaining()), GL11.GL_UNSIGNED_SHORT, indices, indices.position() << 1, function_pointer); } public static void glDrawRangeElements(int mode, int start, int end, ByteBuffer indices) { GLBufferChecks.ensureElementVBOdisabled(); BufferChecks.checkDirect(indices); - nglDrawRangeElements(mode, start, end, (indices.remaining()), GL11.GL_UNSIGNED_BYTE, indices, indices.position()); + long function_pointer = GLContext.getCapabilities().GL12_glDrawRangeElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElements(mode, start, end, (indices.remaining()), GL11.GL_UNSIGNED_BYTE, indices, indices.position(), function_pointer); } - private static native void nglDrawRangeElements(int mode, int start, int end, int count, int type, Buffer indices, int indices_position); + private static native void nglDrawRangeElements(int mode, int start, int end, int count, int type, Buffer indices, int indices_position, long function_pointer); public static void glDrawRangeElements(int mode, int start, int end, int count, int type, int indices_buffer_offset) { GLBufferChecks.ensureElementVBOenabled(); - nglDrawRangeElementsBO(mode, start, end, count, type, indices_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL12_glDrawRangeElements_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawRangeElementsBO(mode, start, end, count, type, indices_buffer_offset, function_pointer); } - private static native void nglDrawRangeElementsBO(int mode, int start, int end, int count, int type, int indices_buffer_offset); + private static native void nglDrawRangeElementsBO(int mode, int start, int end, int count, int type, int indices_buffer_offset, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/GL13.java b/src/java/org/lwjgl/opengl/GL13.java index 34a86b27..3aafd906 100644 --- a/src/java/org/lwjgl/opengl/GL13.java +++ b/src/java/org/lwjgl/opengl/GL13.java @@ -109,213 +109,320 @@ public final class GL13 { static native void initNativeStubs() throws LWJGLException; - public static native void glSampleCoverage(float value, boolean invert); + public static void glSampleCoverage(float value, boolean invert) { + long function_pointer = GLContext.getCapabilities().GL13_glSampleCoverage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSampleCoverage(value, invert, function_pointer); + } + private static native void nglSampleCoverage(float value, boolean invert, long function_pointer); public static void glMultTransposeMatrix(FloatBuffer m) { BufferChecks.checkBuffer(m, 16); - nglMultTransposeMatrixf(m, m.position()); + long function_pointer = GLContext.getCapabilities().GL13_glMultTransposeMatrixf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultTransposeMatrixf(m, m.position(), function_pointer); } - private static native void nglMultTransposeMatrixf(FloatBuffer m, int m_position); + private static native void nglMultTransposeMatrixf(FloatBuffer m, int m_position, long function_pointer); public static void glLoadTransposeMatrix(FloatBuffer m) { BufferChecks.checkBuffer(m, 16); - nglLoadTransposeMatrixf(m, m.position()); + long function_pointer = GLContext.getCapabilities().GL13_glLoadTransposeMatrixf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadTransposeMatrixf(m, m.position(), function_pointer); } - private static native void nglLoadTransposeMatrixf(FloatBuffer m, int m_position); + private static native void nglLoadTransposeMatrixf(FloatBuffer m, int m_position, long function_pointer); - public static native void glMultiTexCoord4f(int target, float s, float t, float r, float q); + public static void glMultiTexCoord4f(int target, float s, float t, float r, float q) { + long function_pointer = GLContext.getCapabilities().GL13_glMultiTexCoord4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord4f(target, s, t, r, q, function_pointer); + } + private static native void nglMultiTexCoord4f(int target, float s, float t, float r, float q, long function_pointer); - public static native void glMultiTexCoord3f(int target, float s, float t, float r); + public static void glMultiTexCoord3f(int target, float s, float t, float r) { + long function_pointer = GLContext.getCapabilities().GL13_glMultiTexCoord3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord3f(target, s, t, r, function_pointer); + } + private static native void nglMultiTexCoord3f(int target, float s, float t, float r, long function_pointer); - public static native void glMultiTexCoord2f(int target, float s, float t); + public static void glMultiTexCoord2f(int target, float s, float t) { + long function_pointer = GLContext.getCapabilities().GL13_glMultiTexCoord2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord2f(target, s, t, function_pointer); + } + private static native void nglMultiTexCoord2f(int target, float s, float t, long function_pointer); - public static native void glMultiTexCoord1f(int target, float s); + public static void glMultiTexCoord1f(int target, float s) { + long function_pointer = GLContext.getCapabilities().GL13_glMultiTexCoord1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord1f(target, s, function_pointer); + } + private static native void nglMultiTexCoord1f(int target, float s, long function_pointer); public static void glGetCompressedTexImage(int target, int lod, ShortBuffer img) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(img); - nglGetCompressedTexImage(target, lod, img, img.position() << 1); + long function_pointer = GLContext.getCapabilities().GL13_glGetCompressedTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImage(target, lod, img, img.position() << 1, function_pointer); } public static void glGetCompressedTexImage(int target, int lod, IntBuffer img) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(img); - nglGetCompressedTexImage(target, lod, img, img.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glGetCompressedTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImage(target, lod, img, img.position() << 2, function_pointer); } public static void glGetCompressedTexImage(int target, int lod, ByteBuffer img) { GLBufferChecks.ensurePackPBOdisabled(); BufferChecks.checkDirect(img); - nglGetCompressedTexImage(target, lod, img, img.position()); + long function_pointer = GLContext.getCapabilities().GL13_glGetCompressedTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImage(target, lod, img, img.position(), function_pointer); } - private static native void nglGetCompressedTexImage(int target, int lod, Buffer img, int img_position); + private static native void nglGetCompressedTexImage(int target, int lod, Buffer img, int img_position, long function_pointer); public static void glGetCompressedTexImage(int target, int lod, int img_buffer_offset) { GLBufferChecks.ensurePackPBOenabled(); - nglGetCompressedTexImageBO(target, lod, img_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL13_glGetCompressedTexImage_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCompressedTexImageBO(target, lod, img_buffer_offset, function_pointer); } - private static native void nglGetCompressedTexImageBO(int target, int lod, int img_buffer_offset); + private static native void nglGetCompressedTexImageBO(int target, int lod, int img_buffer_offset, long function_pointer); public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ShortBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 1, function_pointer); } public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, IntBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position()); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data, data.position(), function_pointer); } - private static native void nglCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, Buffer data, int data_position); + private static native void nglCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, Buffer data, int data_position, long function_pointer); public static void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexSubImage3DBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage3DBO(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data_buffer_offset, function_pointer); } - private static native void nglCompressedTexSubImage3DBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int data_buffer_offset); + private static native void nglCompressedTexSubImage3DBO(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, int data_buffer_offset, long function_pointer); public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ShortBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 1, function_pointer); } public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, IntBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position()); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data, data.position(), function_pointer); } - private static native void nglCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data, int data_position); + private static native void nglCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data, int data_position, long function_pointer); public static void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexSubImage2DBO(target, level, xoffset, yoffset, width, height, format, imageSize, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage2DBO(target, level, xoffset, yoffset, width, height, format, imageSize, data_buffer_offset, function_pointer); } - private static native void nglCompressedTexSubImage2DBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int data_buffer_offset); + private static native void nglCompressedTexSubImage2DBO(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, int data_buffer_offset, long function_pointer); public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ShortBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 1, function_pointer); } public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, IntBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position()); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data, data.position(), function_pointer); } - private static native void nglCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, Buffer data, int data_position); + private static native void nglCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, Buffer data, int data_position, long function_pointer); public static void glCompressedTexSubImage1D(int target, int level, int xoffset, int width, int format, int imageSize, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexSubImage1DBO(target, level, xoffset, width, format, imageSize, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexSubImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexSubImage1DBO(target, level, xoffset, width, format, imageSize, data_buffer_offset, function_pointer); } - private static native void nglCompressedTexSubImage1DBO(int target, int level, int xoffset, int width, int format, int imageSize, int data_buffer_offset); + private static native void nglCompressedTexSubImage1DBO(int target, int level, int xoffset, int width, int format, int imageSize, int data_buffer_offset, long function_pointer); public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ShortBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 1, function_pointer); } public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, IntBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position()); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data, data.position(), function_pointer); } - private static native void nglCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer data, int data_position); + private static native void nglCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, Buffer data, int data_position, long function_pointer); public static void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexImage3DBO(target, level, internalformat, width, height, depth, border, imageSize, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage3D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage3DBO(target, level, internalformat, width, height, depth, border, imageSize, data_buffer_offset, function_pointer); } - private static native void nglCompressedTexImage3DBO(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int data_buffer_offset); + private static native void nglCompressedTexImage3DBO(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, int data_buffer_offset, long function_pointer); public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ShortBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 1, function_pointer); } public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, IntBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position()); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data, data.position(), function_pointer); } - private static native void nglCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data, int data_position); + private static native void nglCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data, int data_position, long function_pointer); public static void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexImage2DBO(target, level, internalformat, width, height, border, imageSize, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage2D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage2DBO(target, level, internalformat, width, height, border, imageSize, data_buffer_offset, function_pointer); } - private static native void nglCompressedTexImage2DBO(int target, int level, int internalformat, int width, int height, int border, int imageSize, int data_buffer_offset); + private static native void nglCompressedTexImage2DBO(int target, int level, int internalformat, int width, int height, int border, int imageSize, int data_buffer_offset, long function_pointer); public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ShortBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 1, function_pointer); } public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, IntBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, FloatBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position() << 2, function_pointer); } public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, ByteBuffer data) { GLBufferChecks.ensureUnpackPBOdisabled(); BufferChecks.checkDirect(data); - nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position()); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data, data.position(), function_pointer); } - private static native void nglCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, Buffer data, int data_position); + private static native void nglCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, Buffer data, int data_position, long function_pointer); public static void glCompressedTexImage1D(int target, int level, int internalformat, int width, int border, int imageSize, int data_buffer_offset) { GLBufferChecks.ensureUnpackPBOenabled(); - nglCompressedTexImage1DBO(target, level, internalformat, width, border, imageSize, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL13_glCompressedTexImage1D_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompressedTexImage1DBO(target, level, internalformat, width, border, imageSize, data_buffer_offset, function_pointer); } - private static native void nglCompressedTexImage1DBO(int target, int level, int internalformat, int width, int border, int imageSize, int data_buffer_offset); + private static native void nglCompressedTexImage1DBO(int target, int level, int internalformat, int width, int border, int imageSize, int data_buffer_offset, long function_pointer); - public static native void glClientActiveTexture(int texture); + public static void glClientActiveTexture(int texture) { + long function_pointer = GLContext.getCapabilities().GL13_glClientActiveTexture_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglClientActiveTexture(texture, function_pointer); + } + private static native void nglClientActiveTexture(int texture, long function_pointer); - public static native void glActiveTexture(int texture); + public static void glActiveTexture(int texture) { + long function_pointer = GLContext.getCapabilities().GL13_glActiveTexture_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglActiveTexture(texture, function_pointer); + } + private static native void nglActiveTexture(int texture, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/GL14.java b/src/java/org/lwjgl/opengl/GL14.java index 7d4a2fba..ea37d90f 100644 --- a/src/java/org/lwjgl/opengl/GL14.java +++ b/src/java/org/lwjgl/opengl/GL14.java @@ -52,54 +52,114 @@ public final class GL14 { static native void initNativeStubs() throws LWJGLException; - public static native void glWindowPos3i(int x, int y, int z); + public static void glWindowPos3i(int x, int y, int z) { + long function_pointer = GLContext.getCapabilities().GL14_glWindowPos3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos3i(x, y, z, function_pointer); + } + private static native void nglWindowPos3i(int x, int y, int z, long function_pointer); - public static native void glWindowPos3f(float x, float y, float z); + public static void glWindowPos3f(float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().GL14_glWindowPos3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos3f(x, y, z, function_pointer); + } + private static native void nglWindowPos3f(float x, float y, float z, long function_pointer); - public static native void glWindowPos2i(int x, int y); + public static void glWindowPos2i(int x, int y) { + long function_pointer = GLContext.getCapabilities().GL14_glWindowPos2i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos2i(x, y, function_pointer); + } + private static native void nglWindowPos2i(int x, int y, long function_pointer); - public static native void glWindowPos2f(float x, float y); + public static void glWindowPos2f(float x, float y) { + long function_pointer = GLContext.getCapabilities().GL14_glWindowPos2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglWindowPos2f(x, y, function_pointer); + } + private static native void nglWindowPos2f(float x, float y, long function_pointer); - public static native void glBlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); + public static void glBlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { + long function_pointer = GLContext.getCapabilities().GL14_glBlendFuncSeparate_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha, function_pointer); + } + private static native void nglBlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha, long function_pointer); public static void glSecondaryColorPointer(int size, int stride, FloatBuffer data) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(data); - nglSecondaryColorPointer(size, GL11.GL_FLOAT, stride, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL14_glSecondaryColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColorPointer(size, GL11.GL_FLOAT, stride, data, data.position() << 2, function_pointer); } public static void glSecondaryColorPointer(int size, boolean unsigned, int stride, ByteBuffer data) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(data); - nglSecondaryColorPointer(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, data, data.position()); + long function_pointer = GLContext.getCapabilities().GL14_glSecondaryColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColorPointer(size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, data, data.position(), function_pointer); } - private static native void nglSecondaryColorPointer(int size, int type, int stride, Buffer data, int data_position); + private static native void nglSecondaryColorPointer(int size, int type, int stride, Buffer data, int data_position, long function_pointer); public static void glSecondaryColorPointer(int size, int type, int stride, int data_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglSecondaryColorPointerBO(size, type, stride, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL14_glSecondaryColorPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColorPointerBO(size, type, stride, data_buffer_offset, function_pointer); } - private static native void nglSecondaryColorPointerBO(int size, int type, int stride, int data_buffer_offset); + private static native void nglSecondaryColorPointerBO(int size, int type, int stride, int data_buffer_offset, long function_pointer); - public static native void glSecondaryColor3ub(byte red, byte green, byte blue); + public static void glSecondaryColor3ub(byte red, byte green, byte blue) { + long function_pointer = GLContext.getCapabilities().GL14_glSecondaryColor3ub_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColor3ub(red, green, blue, function_pointer); + } + private static native void nglSecondaryColor3ub(byte red, byte green, byte blue, long function_pointer); - public static native void glSecondaryColor3f(float red, float green, float blue); + public static void glSecondaryColor3f(float red, float green, float blue) { + long function_pointer = GLContext.getCapabilities().GL14_glSecondaryColor3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColor3f(red, green, blue, function_pointer); + } + private static native void nglSecondaryColor3f(float red, float green, float blue, long function_pointer); - public static native void glSecondaryColor3b(byte red, byte green, byte blue); + public static void glSecondaryColor3b(byte red, byte green, byte blue) { + long function_pointer = GLContext.getCapabilities().GL14_glSecondaryColor3b_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColor3b(red, green, blue, function_pointer); + } + private static native void nglSecondaryColor3b(byte red, byte green, byte blue, long function_pointer); public static void glPointParameter(int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglPointParameterfv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL14_glPointParameterfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameterfv(pname, params, params.position(), function_pointer); } - private static native void nglPointParameterfv(int pname, FloatBuffer params, int params_position); + private static native void nglPointParameterfv(int pname, FloatBuffer params, int params_position, long function_pointer); public static void glPointParameter(int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglPointParameteriv(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL14_glPointParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameteriv(pname, params, params.position(), function_pointer); } - private static native void nglPointParameteriv(int pname, IntBuffer params, int params_position); + private static native void nglPointParameteriv(int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glPointParameterf(int pname, float param); + public static void glPointParameterf(int pname, float param) { + long function_pointer = GLContext.getCapabilities().GL14_glPointParameterf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameterf(pname, param, function_pointer); + } + private static native void nglPointParameterf(int pname, float param, long function_pointer); - public static native void glPointParameteri(int pname, int param); + public static void glPointParameteri(int pname, int param) { + long function_pointer = GLContext.getCapabilities().GL14_glPointParameteri_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameteri(pname, param, function_pointer); + } + private static native void nglPointParameteri(int pname, int param, long function_pointer); public static void glMultiDrawArrays(int mode, IntBuffer piFirst, IntBuffer piCount) { BufferChecks.checkDirect(piFirst); @@ -107,25 +167,46 @@ public final class GL14 { if (piFirst.remaining() != piCount.remaining()) { throw new IllegalArgumentException("piFirst.remaining() != piCount.remaining()"); } - nglMultiDrawArrays(mode, piFirst, piFirst.position(), piCount, piCount.position(), (piFirst.remaining())); + long function_pointer = GLContext.getCapabilities().GL14_glMultiDrawArrays_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiDrawArrays(mode, piFirst, piFirst.position(), piCount, piCount.position(), (piFirst.remaining()), function_pointer); } - private static native void nglMultiDrawArrays(int mode, IntBuffer piFirst, int piFirst_position, IntBuffer piCount, int piCount_position, int primcount); + private static native void nglMultiDrawArrays(int mode, IntBuffer piFirst, int piFirst_position, IntBuffer piCount, int piCount_position, int primcount, long function_pointer); public static void glFogCoordPointer(int stride, FloatBuffer data) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(data); - nglFogCoordPointer(GL11.GL_FLOAT, stride, data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL14_glFogCoordPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogCoordPointer(GL11.GL_FLOAT, stride, data, data.position() << 2, function_pointer); } - private static native void nglFogCoordPointer(int type, int stride, Buffer data, int data_position); + private static native void nglFogCoordPointer(int type, int stride, Buffer data, int data_position, long function_pointer); public static void glFogCoordPointer(int type, int stride, int data_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglFogCoordPointerBO(type, stride, data_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL14_glFogCoordPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogCoordPointerBO(type, stride, data_buffer_offset, function_pointer); } - private static native void nglFogCoordPointerBO(int type, int stride, int data_buffer_offset); + private static native void nglFogCoordPointerBO(int type, int stride, int data_buffer_offset, long function_pointer); - public static native void glFogCoordf(float coord); + public static void glFogCoordf(float coord) { + long function_pointer = GLContext.getCapabilities().GL14_glFogCoordf_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogCoordf(coord, function_pointer); + } + private static native void nglFogCoordf(float coord, long function_pointer); - public static native void glBlendColor(float red, float green, float blue, float alpha); + public static void glBlendColor(float red, float green, float blue, float alpha) { + long function_pointer = GLContext.getCapabilities().GL14_glBlendColor_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendColor(red, green, blue, alpha, function_pointer); + } + private static native void nglBlendColor(float red, float green, float blue, float alpha, long function_pointer); - public static native void glBlendEquation(int mode); + public static void glBlendEquation(int mode) { + long function_pointer = GLContext.getCapabilities().GL14_glBlendEquation_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendEquation(mode, function_pointer); + } + private static native void nglBlendEquation(int mode, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/GL15.java b/src/java/org/lwjgl/opengl/GL15.java index 37e0f0c2..3a8a813d 100644 --- a/src/java/org/lwjgl/opengl/GL15.java +++ b/src/java/org/lwjgl/opengl/GL15.java @@ -51,53 +51,89 @@ public final class GL15 { public static void glGetQueryObjectu(int id, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetQueryObjectuiv(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL15_glGetQueryObjectuiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetQueryObjectuiv(id, pname, params, params.position(), function_pointer); } - private static native void nglGetQueryObjectuiv(int id, int pname, IntBuffer params, int params_position); + private static native void nglGetQueryObjectuiv(int id, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetQueryObject(int id, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetQueryObjectiv(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL15_glGetQueryObjectiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetQueryObjectiv(id, pname, params, params.position(), function_pointer); } - private static native void nglGetQueryObjectiv(int id, int pname, IntBuffer params, int params_position); + private static native void nglGetQueryObjectiv(int id, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetQuery(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetQueryiv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL15_glGetQueryiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetQueryiv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetQueryiv(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetQueryiv(int target, int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glEndQuery(int target); + public static void glEndQuery(int target) { + long function_pointer = GLContext.getCapabilities().GL15_glEndQuery_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEndQuery(target, function_pointer); + } + private static native void nglEndQuery(int target, long function_pointer); - public static native void glBeginQuery(int target, int id); + public static void glBeginQuery(int target, int id) { + long function_pointer = GLContext.getCapabilities().GL15_glBeginQuery_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBeginQuery(target, id, function_pointer); + } + private static native void nglBeginQuery(int target, int id, long function_pointer); - public static native boolean glIsQuery(int id); + public static boolean glIsQuery(int id) { + long function_pointer = GLContext.getCapabilities().GL15_glIsQuery_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsQuery(id, function_pointer); + return __result; + } + private static native boolean nglIsQuery(int id, long function_pointer); public static void glDeleteQueries(IntBuffer ids) { BufferChecks.checkDirect(ids); - nglDeleteQueries((ids.remaining()), ids, ids.position()); + long function_pointer = GLContext.getCapabilities().GL15_glDeleteQueries_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteQueries((ids.remaining()), ids, ids.position(), function_pointer); } - private static native void nglDeleteQueries(int n, IntBuffer ids, int ids_position); + private static native void nglDeleteQueries(int n, IntBuffer ids, int ids_position, long function_pointer); public static void glGenQueries(IntBuffer ids) { BufferChecks.checkDirect(ids); - nglGenQueries((ids.remaining()), ids, ids.position()); + long function_pointer = GLContext.getCapabilities().GL15_glGenQueries_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenQueries((ids.remaining()), ids, ids.position(), function_pointer); } - private static native void nglGenQueries(int n, IntBuffer ids, int ids_position); + private static native void nglGenQueries(int n, IntBuffer ids, int ids_position, long function_pointer); public static java.nio.ByteBuffer glGetBufferPointer(int target, int pname, int result_size) { - java.nio.ByteBuffer __result = nglGetBufferPointerv(target, pname, result_size); + long function_pointer = GLContext.getCapabilities().GL15_glGetBufferPointerv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetBufferPointerv(target, pname, result_size, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglGetBufferPointerv(int target, int pname, int result_size); + private static native java.nio.ByteBuffer nglGetBufferPointerv(int target, int pname, int result_size, long function_pointer); public static void glGetBufferParameter(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetBufferParameteriv(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL15_glGetBufferParameteriv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferParameteriv(target, pname, params, params.position(), function_pointer); } - private static native void nglGetBufferParameteriv(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetBufferParameteriv(int target, int pname, IntBuffer params, int params_position, long function_pointer); - public static native boolean glUnmapBuffer(int target); + public static boolean glUnmapBuffer(int target) { + long function_pointer = GLContext.getCapabilities().GL15_glUnmapBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglUnmapBuffer(target, function_pointer); + return __result; + } + private static native boolean nglUnmapBuffer(int target, long function_pointer); /** * glMapBuffer maps a gl vertex buffer buffer to a ByteBuffer. The oldBuffer argument can be null, in which case a new @@ -115,86 +151,126 @@ public final class GL15 { public static java.nio.ByteBuffer glMapBuffer(int target, int access, int result_size, java.nio.ByteBuffer old_buffer) { if (old_buffer != null) BufferChecks.checkDirect(old_buffer); - java.nio.ByteBuffer __result = nglMapBuffer(target, access, result_size, old_buffer); + long function_pointer = GLContext.getCapabilities().GL15_glMapBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglMapBuffer(target, access, result_size, old_buffer, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglMapBuffer(int target, int access, int result_size, java.nio.ByteBuffer old_buffer); + private static native java.nio.ByteBuffer nglMapBuffer(int target, int access, int result_size, java.nio.ByteBuffer old_buffer, long function_pointer); public static void glGetBufferSubData(int target, int offset, ShortBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubData(target, offset, (data.remaining() << 1), data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL15_glGetBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubData(target, offset, (data.remaining() << 1), data, data.position() << 1, function_pointer); } public static void glGetBufferSubData(int target, int offset, IntBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL15_glGetBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } public static void glGetBufferSubData(int target, int offset, FloatBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL15_glGetBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } public static void glGetBufferSubData(int target, int offset, ByteBuffer data) { BufferChecks.checkDirect(data); - nglGetBufferSubData(target, offset, (data.remaining()), data, data.position()); + long function_pointer = GLContext.getCapabilities().GL15_glGetBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetBufferSubData(target, offset, (data.remaining()), data, data.position(), function_pointer); } - private static native void nglGetBufferSubData(int target, int offset, int size, Buffer data, int data_position); + private static native void nglGetBufferSubData(int target, int offset, int size, Buffer data, int data_position, long function_pointer); public static void glBufferSubData(int target, int offset, ShortBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubData(target, offset, (data.remaining() << 1), data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().GL15_glBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubData(target, offset, (data.remaining() << 1), data, data.position() << 1, function_pointer); } public static void glBufferSubData(int target, int offset, IntBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL15_glBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } public static void glBufferSubData(int target, int offset, FloatBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().GL15_glBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubData(target, offset, (data.remaining() << 2), data, data.position() << 2, function_pointer); } public static void glBufferSubData(int target, int offset, ByteBuffer data) { BufferChecks.checkDirect(data); - nglBufferSubData(target, offset, (data.remaining()), data, data.position()); + long function_pointer = GLContext.getCapabilities().GL15_glBufferSubData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferSubData(target, offset, (data.remaining()), data, data.position(), function_pointer); } - private static native void nglBufferSubData(int target, int offset, int size, Buffer data, int data_position); + private static native void nglBufferSubData(int target, int offset, int size, Buffer data, int data_position, long function_pointer); public static void glBufferData(int target, int size, int usage) { - nglBufferData(target, size, null, 0, usage); + long function_pointer = GLContext.getCapabilities().GL15_glBufferData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferData(target, size, null, 0, usage, function_pointer); } public static void glBufferData(int target, ShortBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferData(target, (data.remaining() << 1), data, data.position() << 1, usage); + long function_pointer = GLContext.getCapabilities().GL15_glBufferData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferData(target, (data.remaining() << 1), data, data.position() << 1, usage, function_pointer); } public static void glBufferData(int target, IntBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferData(target, (data.remaining() << 2), data, data.position() << 2, usage); + long function_pointer = GLContext.getCapabilities().GL15_glBufferData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferData(target, (data.remaining() << 2), data, data.position() << 2, usage, function_pointer); } public static void glBufferData(int target, FloatBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferData(target, (data.remaining() << 2), data, data.position() << 2, usage); + long function_pointer = GLContext.getCapabilities().GL15_glBufferData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferData(target, (data.remaining() << 2), data, data.position() << 2, usage, function_pointer); } public static void glBufferData(int target, ByteBuffer data, int usage) { BufferChecks.checkDirect(data); - nglBufferData(target, (data.remaining()), data, data.position(), usage); + long function_pointer = GLContext.getCapabilities().GL15_glBufferData_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBufferData(target, (data.remaining()), data, data.position(), usage, function_pointer); } - private static native void nglBufferData(int target, int size, Buffer data, int data_position, int usage); + private static native void nglBufferData(int target, int size, Buffer data, int data_position, int usage, long function_pointer); - public static native boolean glIsBuffer(int buffer); + public static boolean glIsBuffer(int buffer) { + long function_pointer = GLContext.getCapabilities().GL15_glIsBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsBuffer(buffer, function_pointer); + return __result; + } + private static native boolean nglIsBuffer(int buffer, long function_pointer); public static void glGenBuffers(IntBuffer buffers) { BufferChecks.checkDirect(buffers); - nglGenBuffers((buffers.remaining()), buffers, buffers.position()); + long function_pointer = GLContext.getCapabilities().GL15_glGenBuffers_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenBuffers((buffers.remaining()), buffers, buffers.position(), function_pointer); } - private static native void nglGenBuffers(int n, IntBuffer buffers, int buffers_position); + private static native void nglGenBuffers(int n, IntBuffer buffers, int buffers_position, long function_pointer); public static void glDeleteBuffers(IntBuffer buffers) { BufferChecks.checkDirect(buffers); BufferObjectTracker.deleteBuffers(buffers); - nglDeleteBuffers((buffers.remaining()), buffers, buffers.position()); + long function_pointer = GLContext.getCapabilities().GL15_glDeleteBuffers_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteBuffers((buffers.remaining()), buffers, buffers.position(), function_pointer); } - private static native void nglDeleteBuffers(int n, IntBuffer buffers, int buffers_position); + private static native void nglDeleteBuffers(int n, IntBuffer buffers, int buffers_position, long function_pointer); public static void glBindBuffer(int target, int buffer) { BufferObjectTracker.bindBuffer(target, buffer); - nglBindBuffer(target, buffer); + long function_pointer = GLContext.getCapabilities().GL15_glBindBuffer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindBuffer(target, buffer, function_pointer); } - private static native void nglBindBuffer(int target, int buffer); + private static native void nglBindBuffer(int target, int buffer, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/GL20.java b/src/java/org/lwjgl/opengl/GL20.java index 294e8854..f8349e10 100644 --- a/src/java/org/lwjgl/opengl/GL20.java +++ b/src/java/org/lwjgl/opengl/GL20.java @@ -98,27 +98,51 @@ public final class GL20 { static native void initNativeStubs() throws LWJGLException; - public static native void glBlendEquationSeparate(int modeRGB, int modeAlpha); + public static void glBlendEquationSeparate(int modeRGB, int modeAlpha) { + long function_pointer = GLContext.getCapabilities().GL20_glBlendEquationSeparate_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBlendEquationSeparate(modeRGB, modeAlpha, function_pointer); + } + private static native void nglBlendEquationSeparate(int modeRGB, int modeAlpha, long function_pointer); - public static native void glStencilMaskSeparate(int face, int mask); + public static void glStencilMaskSeparate(int face, int mask) { + long function_pointer = GLContext.getCapabilities().GL20_glStencilMaskSeparate_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilMaskSeparate(face, mask, function_pointer); + } + private static native void nglStencilMaskSeparate(int face, int mask, long function_pointer); - public static native void glStencilFuncSeparate(int face, int func, int ref, int mask); + public static void glStencilFuncSeparate(int face, int func, int ref, int mask) { + long function_pointer = GLContext.getCapabilities().GL20_glStencilFuncSeparate_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilFuncSeparate(face, func, ref, mask, function_pointer); + } + private static native void nglStencilFuncSeparate(int face, int func, int ref, int mask, long function_pointer); - public static native void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass); + public static void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass) { + long function_pointer = GLContext.getCapabilities().GL20_glStencilOpSeparate_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglStencilOpSeparate(face, sfail, dpfail, dppass, function_pointer); + } + private static native void nglStencilOpSeparate(int face, int sfail, int dpfail, int dppass, long function_pointer); public static void glDrawBuffers(IntBuffer buffers) { BufferChecks.checkDirect(buffers); - nglDrawBuffers((buffers.remaining()), buffers, buffers.position()); + long function_pointer = GLContext.getCapabilities().GL20_glDrawBuffers_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDrawBuffers((buffers.remaining()), buffers, buffers.position(), function_pointer); } - private static native void nglDrawBuffers(int size, IntBuffer buffers, int buffers_position); + private static native void nglDrawBuffers(int size, IntBuffer buffers, int buffers_position, long function_pointer); public static int glGetAttribLocation(int program, ByteBuffer name) { BufferChecks.checkDirect(name); BufferChecks.checkNullTerminated(name); - int __result = nglGetAttribLocation(program, name, name.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetAttribLocation_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGetAttribLocation(program, name, name.position(), function_pointer); return __result; } - private static native int nglGetAttribLocation(int program, ByteBuffer name, int name_position); + private static native int nglGetAttribLocation(int program, ByteBuffer name, int name_position, long function_pointer); public static void glGetActiveAttrib(int program, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name) { if (length != null) @@ -126,103 +150,184 @@ public final class GL20 { BufferChecks.checkBuffer(size, 1); BufferChecks.checkBuffer(type, 1); BufferChecks.checkDirect(name); - nglGetActiveAttrib(program, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetActiveAttrib_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetActiveAttrib(program, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position(), function_pointer); } - private static native void nglGetActiveAttrib(int program, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position); + private static native void nglGetActiveAttrib(int program, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position, long function_pointer); public static void glBindAttribLocation(int program, int index, ByteBuffer name) { BufferChecks.checkDirect(name); BufferChecks.checkNullTerminated(name); - nglBindAttribLocation(program, index, name, name.position()); + long function_pointer = GLContext.getCapabilities().GL20_glBindAttribLocation_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindAttribLocation(program, index, name, name.position(), function_pointer); } - private static native void nglBindAttribLocation(int program, int index, ByteBuffer name, int name_position); + private static native void nglBindAttribLocation(int program, int index, ByteBuffer name, int name_position, long function_pointer); public static java.nio.ByteBuffer glGetVertexAttribPointer(int index, int pname, int result_size) { - java.nio.ByteBuffer __result = nglGetVertexAttribPointerv(index, pname, result_size); + long function_pointer = GLContext.getCapabilities().GL20_glGetVertexAttribPointerv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetVertexAttribPointerv(index, pname, result_size, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglGetVertexAttribPointerv(int index, int pname, int result_size); + private static native java.nio.ByteBuffer nglGetVertexAttribPointerv(int index, int pname, int result_size, long function_pointer); public static void glGetVertexAttrib(int index, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVertexAttribiv(index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetVertexAttribiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribiv(index, pname, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribiv(int index, int pname, IntBuffer params, int params_position); + private static native void nglGetVertexAttribiv(int index, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetVertexAttrib(int index, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVertexAttribfv(index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetVertexAttribfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribfv(index, pname, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribfv(int index, int pname, FloatBuffer params, int params_position); + private static native void nglGetVertexAttribfv(int index, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glDisableVertexAttribArray(int index); + public static void glDisableVertexAttribArray(int index) { + long function_pointer = GLContext.getCapabilities().GL20_glDisableVertexAttribArray_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDisableVertexAttribArray(index, function_pointer); + } + private static native void nglDisableVertexAttribArray(int index, long function_pointer); - public static native void glEnableVertexAttribArray(int index); + public static void glEnableVertexAttribArray(int index) { + long function_pointer = GLContext.getCapabilities().GL20_glEnableVertexAttribArray_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEnableVertexAttribArray(index, function_pointer); + } + private static native void nglEnableVertexAttribArray(int index, long function_pointer); public static void glVertexAttribPointer(int index, int size, boolean unsigned, boolean normalized, int stride, IntBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointer(index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, normalized, stride, buffer, buffer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttribPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointer(index, size, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, normalized, stride, buffer, buffer.position() << 2, function_pointer); } public static void glVertexAttribPointer(int index, int size, boolean unsigned, boolean normalized, int stride, ShortBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointer(index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, normalized, stride, buffer, buffer.position() << 1); + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttribPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointer(index, size, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, normalized, stride, buffer, buffer.position() << 1, function_pointer); } public static void glVertexAttribPointer(int index, int size, boolean normalized, int stride, FloatBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointer(index, size, GL11.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2); + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttribPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointer(index, size, GL11.GL_FLOAT, normalized, stride, buffer, buffer.position() << 2, function_pointer); } public static void glVertexAttribPointer(int index, int size, boolean unsigned, boolean normalized, int stride, ByteBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointer(index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, normalized, stride, buffer, buffer.position()); + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttribPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointer(index, size, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, normalized, stride, buffer, buffer.position(), function_pointer); } - private static native void nglVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, Buffer buffer, int buffer_position); + private static native void nglVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, Buffer buffer, int buffer_position, long function_pointer); public static void glVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, int buffer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglVertexAttribPointerBO(index, size, type, normalized, stride, buffer_buffer_offset); + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttribPointer_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerBO(index, size, type, normalized, stride, buffer_buffer_offset, function_pointer); } - private static native void nglVertexAttribPointerBO(int index, int size, int type, boolean normalized, int stride, int buffer_buffer_offset); + private static native void nglVertexAttribPointerBO(int index, int size, int type, boolean normalized, int stride, int buffer_buffer_offset, long function_pointer); - public static native void glVertexAttrib4Nub(int index, byte x, byte y, byte z, byte w); + public static void glVertexAttrib4Nub(int index, byte x, byte y, byte z, byte w) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib4Nub_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4Nub(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4Nub(int index, byte x, byte y, byte z, byte w, long function_pointer); - public static native void glVertexAttrib4f(int index, float x, float y, float z, float w); + public static void glVertexAttrib4f(int index, float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4f(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4f(int index, float x, float y, float z, float w, long function_pointer); - public static native void glVertexAttrib4s(int index, short x, short y, short z, short w); + public static void glVertexAttrib4s(int index, short x, short y, short z, short w) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib4s_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4s(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4s(int index, short x, short y, short z, short w, long function_pointer); - public static native void glVertexAttrib3f(int index, float x, float y, float z); + public static void glVertexAttrib3f(int index, float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib3f(index, x, y, z, function_pointer); + } + private static native void nglVertexAttrib3f(int index, float x, float y, float z, long function_pointer); - public static native void glVertexAttrib3s(int index, short x, short y, short z); + public static void glVertexAttrib3s(int index, short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib3s_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib3s(index, x, y, z, function_pointer); + } + private static native void nglVertexAttrib3s(int index, short x, short y, short z, long function_pointer); - public static native void glVertexAttrib2f(int index, float x, float y); + public static void glVertexAttrib2f(int index, float x, float y) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib2f(index, x, y, function_pointer); + } + private static native void nglVertexAttrib2f(int index, float x, float y, long function_pointer); - public static native void glVertexAttrib2s(int index, short x, short y); + public static void glVertexAttrib2s(int index, short x, short y) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib2s_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib2s(index, x, y, function_pointer); + } + private static native void nglVertexAttrib2s(int index, short x, short y, long function_pointer); - public static native void glVertexAttrib1f(int index, float x); + public static void glVertexAttrib1f(int index, float x) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib1f(index, x, function_pointer); + } + private static native void nglVertexAttrib1f(int index, float x, long function_pointer); - public static native void glVertexAttrib1s(int index, short x); + public static void glVertexAttrib1s(int index, short x) { + long function_pointer = GLContext.getCapabilities().GL20_glVertexAttrib1s_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib1s(index, x, function_pointer); + } + private static native void nglVertexAttrib1s(int index, short x, long function_pointer); public static void glGetShaderSource(int shader, IntBuffer length, ByteBuffer source) { if (length != null) BufferChecks.checkBuffer(length, 1); BufferChecks.checkDirect(source); - nglGetShaderSource(shader, (source.remaining()), length, length != null ? length.position() : 0, source, source.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetShaderSource_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetShaderSource(shader, (source.remaining()), length, length != null ? length.position() : 0, source, source.position(), function_pointer); } - private static native void nglGetShaderSource(int shader, int maxLength, IntBuffer length, int length_position, ByteBuffer source, int source_position); + private static native void nglGetShaderSource(int shader, int maxLength, IntBuffer length, int length_position, ByteBuffer source, int source_position, long function_pointer); public static void glGetUniform(int program, int location, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetUniformiv(program, location, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetUniformiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetUniformiv(program, location, params, params.position(), function_pointer); } - private static native void nglGetUniformiv(int program, int location, IntBuffer params, int params_position); + private static native void nglGetUniformiv(int program, int location, IntBuffer params, int params_position, long function_pointer); public static void glGetUniform(int program, int location, FloatBuffer params) { BufferChecks.checkDirect(params); - nglGetUniformfv(program, location, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetUniformfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetUniformfv(program, location, params, params.position(), function_pointer); } - private static native void nglGetUniformfv(int program, int location, FloatBuffer params, int params_position); + private static native void nglGetUniformfv(int program, int location, FloatBuffer params, int params_position, long function_pointer); public static void glGetActiveUniform(int program, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name) { if (length != null) @@ -230,9 +335,11 @@ public final class GL20 { BufferChecks.checkDirect(size); BufferChecks.checkDirect(type); BufferChecks.checkDirect(name); - nglGetActiveUniform(program, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetActiveUniform_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetActiveUniform(program, index, (name.remaining()), length, length != null ? length.position() : 0, size, size.position(), type, type.position(), name, name.position(), function_pointer); } - private static native void nglGetActiveUniform(int program, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position); + private static native void nglGetActiveUniform(int program, int index, int maxLength, IntBuffer length, int length_position, IntBuffer size, int size_position, IntBuffer type, int type_position, ByteBuffer name, int name_position, long function_pointer); /** * Returns the location of the uniform with the specified name. The ByteBuffer should contain the uniform name as a @@ -244,164 +351,306 @@ public final class GL20 { public static int glGetUniformLocation(int program, ByteBuffer name) { BufferChecks.checkBuffer(name, 1); BufferChecks.checkNullTerminated(name); - int __result = nglGetUniformLocation(program, name, name.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetUniformLocation_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglGetUniformLocation(program, name, name.position(), function_pointer); return __result; } - private static native int nglGetUniformLocation(int program, ByteBuffer name, int name_position); + private static native int nglGetUniformLocation(int program, ByteBuffer name, int name_position, long function_pointer); public static void glGetAttachedShaders(int program, IntBuffer count, IntBuffer shaders) { if (count != null) BufferChecks.checkBuffer(count, 1); BufferChecks.checkDirect(shaders); - nglGetAttachedShaders(program, (shaders.remaining()), count, count != null ? count.position() : 0, shaders, shaders.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetAttachedShaders_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetAttachedShaders(program, (shaders.remaining()), count, count != null ? count.position() : 0, shaders, shaders.position(), function_pointer); } - private static native void nglGetAttachedShaders(int program, int maxCount, IntBuffer count, int count_position, IntBuffer shaders, int shaders_position); + private static native void nglGetAttachedShaders(int program, int maxCount, IntBuffer count, int count_position, IntBuffer shaders, int shaders_position, long function_pointer); public static void glGetProgramInfoLog(int program, IntBuffer length, ByteBuffer infoLog) { if (length != null) BufferChecks.checkBuffer(length, 1); BufferChecks.checkDirect(infoLog); - nglGetProgramInfoLog(program, (infoLog.remaining()), length, length != null ? length.position() : 0, infoLog, infoLog.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetProgramInfoLog_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramInfoLog(program, (infoLog.remaining()), length, length != null ? length.position() : 0, infoLog, infoLog.position(), function_pointer); } - private static native void nglGetProgramInfoLog(int program, int maxLength, IntBuffer length, int length_position, ByteBuffer infoLog, int infoLog_position); + private static native void nglGetProgramInfoLog(int program, int maxLength, IntBuffer length, int length_position, ByteBuffer infoLog, int infoLog_position, long function_pointer); public static void glGetShaderInfoLog(int shader, IntBuffer length, ByteBuffer infoLog) { if (length != null) BufferChecks.checkBuffer(length, 1); BufferChecks.checkDirect(infoLog); - nglGetShaderInfoLog(shader, (infoLog.remaining()), length, length != null ? length.position() : 0, infoLog, infoLog.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetShaderInfoLog_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetShaderInfoLog(shader, (infoLog.remaining()), length, length != null ? length.position() : 0, infoLog, infoLog.position(), function_pointer); } - private static native void nglGetShaderInfoLog(int shader, int maxLength, IntBuffer length, int length_position, ByteBuffer infoLog, int infoLog_position); + private static native void nglGetShaderInfoLog(int shader, int maxLength, IntBuffer length, int length_position, ByteBuffer infoLog, int infoLog_position, long function_pointer); public static void glGetProgram(int program, int pname, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetProgramiv(program, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetProgramiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramiv(program, pname, params, params.position(), function_pointer); } - private static native void nglGetProgramiv(int program, int pname, IntBuffer params, int params_position); + private static native void nglGetProgramiv(int program, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetProgram(int program, int pname, FloatBuffer params) { BufferChecks.checkDirect(params); - nglGetProgramfv(program, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetProgramfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramfv(program, pname, params, params.position(), function_pointer); } - private static native void nglGetProgramfv(int program, int pname, FloatBuffer params, int params_position); + private static native void nglGetProgramfv(int program, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetShader(int shader, int pname, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetShaderiv(shader, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetShaderiv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetShaderiv(shader, pname, params, params.position(), function_pointer); } - private static native void nglGetShaderiv(int shader, int pname, IntBuffer params, int params_position); + private static native void nglGetShaderiv(int shader, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetShader(int shader, int pname, FloatBuffer params) { BufferChecks.checkDirect(params); - nglGetShaderfv(shader, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().GL20_glGetShaderfv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetShaderfv(shader, pname, params, params.position(), function_pointer); } - private static native void nglGetShaderfv(int shader, int pname, FloatBuffer params, int params_position); + private static native void nglGetShaderfv(int shader, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glUniformMatrix4(int location, boolean transpose, FloatBuffer matrices) { BufferChecks.checkDirect(matrices); - nglUniformMatrix4fv(location, (matrices.remaining()) >> 4, transpose, matrices, matrices.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniformMatrix4fv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniformMatrix4fv(location, (matrices.remaining()) >> 4, transpose, matrices, matrices.position(), function_pointer); } - private static native void nglUniformMatrix4fv(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position); + private static native void nglUniformMatrix4fv(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position, long function_pointer); public static void glUniformMatrix3(int location, boolean transpose, FloatBuffer matrices) { BufferChecks.checkDirect(matrices); - nglUniformMatrix3fv(location, (matrices.remaining()) / (3 * 3), transpose, matrices, matrices.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniformMatrix3fv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniformMatrix3fv(location, (matrices.remaining()) / (3 * 3), transpose, matrices, matrices.position(), function_pointer); } - private static native void nglUniformMatrix3fv(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position); + private static native void nglUniformMatrix3fv(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position, long function_pointer); public static void glUniformMatrix2(int location, boolean transpose, FloatBuffer matrices) { BufferChecks.checkDirect(matrices); - nglUniformMatrix2fv(location, (matrices.remaining()) >> 2, transpose, matrices, matrices.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniformMatrix2fv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniformMatrix2fv(location, (matrices.remaining()) >> 2, transpose, matrices, matrices.position(), function_pointer); } - private static native void nglUniformMatrix2fv(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position); + private static native void nglUniformMatrix2fv(int location, int count, boolean transpose, FloatBuffer matrices, int matrices_position, long function_pointer); public static void glUniform4(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform4iv(location, (values.remaining()) >> 2, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform4iv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4iv(location, (values.remaining()) >> 2, values, values.position(), function_pointer); } - private static native void nglUniform4iv(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform4iv(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform3(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform3iv(location, (values.remaining()) / 3, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform3iv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3iv(location, (values.remaining()) / 3, values, values.position(), function_pointer); } - private static native void nglUniform3iv(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform3iv(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform2(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform2iv(location, (values.remaining()) >> 1, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform2iv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2iv(location, (values.remaining()) >> 1, values, values.position(), function_pointer); } - private static native void nglUniform2iv(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform2iv(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform1(int location, IntBuffer values) { BufferChecks.checkDirect(values); - nglUniform1iv(location, (values.remaining()), values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform1iv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1iv(location, (values.remaining()), values, values.position(), function_pointer); } - private static native void nglUniform1iv(int location, int count, IntBuffer values, int values_position); + private static native void nglUniform1iv(int location, int count, IntBuffer values, int values_position, long function_pointer); public static void glUniform4(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform4fv(location, (values.remaining()) >> 2, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform4fv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4fv(location, (values.remaining()) >> 2, values, values.position(), function_pointer); } - private static native void nglUniform4fv(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform4fv(int location, int count, FloatBuffer values, int values_position, long function_pointer); public static void glUniform3(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform3fv(location, (values.remaining()) / 3, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform3fv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3fv(location, (values.remaining()) / 3, values, values.position(), function_pointer); } - private static native void nglUniform3fv(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform3fv(int location, int count, FloatBuffer values, int values_position, long function_pointer); public static void glUniform2(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform2fv(location, (values.remaining()) >> 1, values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform2fv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2fv(location, (values.remaining()) >> 1, values, values.position(), function_pointer); } - private static native void nglUniform2fv(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform2fv(int location, int count, FloatBuffer values, int values_position, long function_pointer); public static void glUniform1(int location, FloatBuffer values) { BufferChecks.checkDirect(values); - nglUniform1fv(location, (values.remaining()), values, values.position()); + long function_pointer = GLContext.getCapabilities().GL20_glUniform1fv_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1fv(location, (values.remaining()), values, values.position(), function_pointer); } - private static native void nglUniform1fv(int location, int count, FloatBuffer values, int values_position); + private static native void nglUniform1fv(int location, int count, FloatBuffer values, int values_position, long function_pointer); - public static native void glUniform4i(int location, int v0, int v1, int v2, int v3); + public static void glUniform4i(int location, int v0, int v1, int v2, int v3) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform4i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4i(location, v0, v1, v2, v3, function_pointer); + } + private static native void nglUniform4i(int location, int v0, int v1, int v2, int v3, long function_pointer); - public static native void glUniform3i(int location, int v0, int v1, int v2); + public static void glUniform3i(int location, int v0, int v1, int v2) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform3i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3i(location, v0, v1, v2, function_pointer); + } + private static native void nglUniform3i(int location, int v0, int v1, int v2, long function_pointer); - public static native void glUniform2i(int location, int v0, int v1); + public static void glUniform2i(int location, int v0, int v1) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform2i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2i(location, v0, v1, function_pointer); + } + private static native void nglUniform2i(int location, int v0, int v1, long function_pointer); - public static native void glUniform1i(int location, int v0); + public static void glUniform1i(int location, int v0) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform1i_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1i(location, v0, function_pointer); + } + private static native void nglUniform1i(int location, int v0, long function_pointer); - public static native void glUniform4f(int location, float v0, float v1, float v2, float v3); + public static void glUniform4f(int location, float v0, float v1, float v2, float v3) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform4f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform4f(location, v0, v1, v2, v3, function_pointer); + } + private static native void nglUniform4f(int location, float v0, float v1, float v2, float v3, long function_pointer); - public static native void glUniform3f(int location, float v0, float v1, float v2); + public static void glUniform3f(int location, float v0, float v1, float v2) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform3f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform3f(location, v0, v1, v2, function_pointer); + } + private static native void nglUniform3f(int location, float v0, float v1, float v2, long function_pointer); - public static native void glUniform2f(int location, float v0, float v1); + public static void glUniform2f(int location, float v0, float v1) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform2f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform2f(location, v0, v1, function_pointer); + } + private static native void nglUniform2f(int location, float v0, float v1, long function_pointer); - public static native void glUniform1f(int location, float v0); + public static void glUniform1f(int location, float v0) { + long function_pointer = GLContext.getCapabilities().GL20_glUniform1f_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUniform1f(location, v0, function_pointer); + } + private static native void nglUniform1f(int location, float v0, long function_pointer); - public static native void glDeleteProgram(int program); + public static void glDeleteProgram(int program) { + long function_pointer = GLContext.getCapabilities().GL20_glDeleteProgram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteProgram(program, function_pointer); + } + private static native void nglDeleteProgram(int program, long function_pointer); - public static native void glValidateProgram(int program); + public static void glValidateProgram(int program) { + long function_pointer = GLContext.getCapabilities().GL20_glValidateProgram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglValidateProgram(program, function_pointer); + } + private static native void nglValidateProgram(int program, long function_pointer); - public static native void glUseProgram(int program); + public static void glUseProgram(int program) { + long function_pointer = GLContext.getCapabilities().GL20_glUseProgram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglUseProgram(program, function_pointer); + } + private static native void nglUseProgram(int program, long function_pointer); - public static native void glLinkProgram(int program); + public static void glLinkProgram(int program) { + long function_pointer = GLContext.getCapabilities().GL20_glLinkProgram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLinkProgram(program, function_pointer); + } + private static native void nglLinkProgram(int program, long function_pointer); - public static native void glDetachShader(int program, int shader); + public static void glDetachShader(int program, int shader) { + long function_pointer = GLContext.getCapabilities().GL20_glDetachShader_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDetachShader(program, shader, function_pointer); + } + private static native void nglDetachShader(int program, int shader, long function_pointer); - public static native void glAttachShader(int program, int shader); + public static void glAttachShader(int program, int shader) { + long function_pointer = GLContext.getCapabilities().GL20_glAttachShader_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglAttachShader(program, shader, function_pointer); + } + private static native void nglAttachShader(int program, int shader, long function_pointer); - public static native boolean glIsProgram(int program); + public static boolean glIsProgram(int program) { + long function_pointer = GLContext.getCapabilities().GL20_glIsProgram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsProgram(program, function_pointer); + return __result; + } + private static native boolean nglIsProgram(int program, long function_pointer); - public static native int glCreateProgram(); + public static int glCreateProgram() { + long function_pointer = GLContext.getCapabilities().GL20_glCreateProgram_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglCreateProgram(function_pointer); + return __result; + } + private static native int nglCreateProgram(long function_pointer); - public static native void glDeleteShader(int shader); + public static void glDeleteShader(int shader) { + long function_pointer = GLContext.getCapabilities().GL20_glDeleteShader_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteShader(shader, function_pointer); + } + private static native void nglDeleteShader(int shader, long function_pointer); - public static native void glCompileShader(int shader); + public static void glCompileShader(int shader) { + long function_pointer = GLContext.getCapabilities().GL20_glCompileShader_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCompileShader(shader, function_pointer); + } + private static native void nglCompileShader(int shader, long function_pointer); - public static native boolean glIsShader(int shader); + public static boolean glIsShader(int shader) { + long function_pointer = GLContext.getCapabilities().GL20_glIsShader_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsShader(shader, function_pointer); + return __result; + } + private static native boolean nglIsShader(int shader, long function_pointer); - public static native int glCreateShader(int type); + public static int glCreateShader(int type) { + long function_pointer = GLContext.getCapabilities().GL20_glCreateShader_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + int __result = nglCreateShader(type, function_pointer); + return __result; + } + private static native int nglCreateShader(int type, long function_pointer); /** * The ARB_shader_objects extension allows multiple, optionally null-terminated, source strings to define a shader program. @@ -412,7 +661,9 @@ public final class GL20 { */ public static void glShaderSource(int shader, ByteBuffer string) { BufferChecks.checkDirect(string); - nglShaderSource(shader, 1, string, string.position(), (string.remaining())); + long function_pointer = GLContext.getCapabilities().GL20_glShaderSource_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglShaderSource(shader, 1, string, string.position(), (string.remaining()), function_pointer); } - private static native void nglShaderSource(int shader, int count, ByteBuffer string, int string_position, int length); + private static native void nglShaderSource(int shader, int count, ByteBuffer string, int string_position, int length, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/GLContext.java b/src/java/org/lwjgl/opengl/GLContext.java index 7c7485c6..9ce13344 100644 --- a/src/java/org/lwjgl/opengl/GLContext.java +++ b/src/java/org/lwjgl/opengl/GLContext.java @@ -72,6 +72,21 @@ public final class GLContext { return ((ContextCapabilities)current_capabilities.get()); } + /** + * Set the current capabilities instance. It contains the flags used + * to test for support of a particular extension. + * + * @return The current capabilities instance. + */ + static void setCapabilities(ContextCapabilities capabilities) { + current_capabilities.set(capabilities); + } + + /** + * Helper method to get a pointer to a named function in the OpenGL library + */ + static native long getFunctionAddress(String name); + /** * Determine which extensions are available. Helper method to ContextCapabilities. * @@ -145,8 +160,7 @@ public final class GLContext { private static void loadStubs() throws LWJGLException { if (loaded_stubs) return; - Set supported_extensions = ContextCapabilities.initAllStubs(); - current_capabilities.set(new ContextCapabilities(supported_extensions)); + new ContextCapabilities(); loaded_stubs = true; } diff --git a/src/java/org/lwjgl/opengl/NVEvaluators.java b/src/java/org/lwjgl/opengl/NVEvaluators.java index 38104019..6b889dc8 100644 --- a/src/java/org/lwjgl/opengl/NVEvaluators.java +++ b/src/java/org/lwjgl/opengl/NVEvaluators.java @@ -37,53 +37,74 @@ public final class NVEvaluators { static native void initNativeStubs() throws LWJGLException; - public static native void glEvalMapsNV(int target, int mode); + public static void glEvalMapsNV(int target, int mode) { + long function_pointer = GLContext.getCapabilities().NV_evaluators_glEvalMapsNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEvalMapsNV(target, mode, function_pointer); + } + private static native void nglEvalMapsNV(int target, int mode, long function_pointer); public static void glGetMapAttribParameterNV(int target, int index, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMapAttribParameterivNV(target, index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glGetMapAttribParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMapAttribParameterivNV(target, index, pname, params, params.position(), function_pointer); } - private static native void nglGetMapAttribParameterivNV(int target, int index, int pname, IntBuffer params, int params_position); + private static native void nglGetMapAttribParameterivNV(int target, int index, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetMapAttribParameterNV(int target, int index, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMapAttribParameterfvNV(target, index, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glGetMapAttribParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMapAttribParameterfvNV(target, index, pname, params, params.position(), function_pointer); } - private static native void nglGetMapAttribParameterfvNV(int target, int index, int pname, FloatBuffer params, int params_position); + private static native void nglGetMapAttribParameterfvNV(int target, int index, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetMapParameterNV(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMapParameterivNV(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glGetMapParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMapParameterivNV(target, pname, params, params.position(), function_pointer); } - private static native void nglGetMapParameterivNV(int target, int pname, IntBuffer params, int params_position); + private static native void nglGetMapParameterivNV(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetMapParameterNV(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetMapParameterfvNV(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glGetMapParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMapParameterfvNV(target, pname, params, params.position(), function_pointer); } - private static native void nglGetMapParameterfvNV(int target, int pname, FloatBuffer params, int params_position); + private static native void nglGetMapParameterfvNV(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glMapParameterNV(int target, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglMapParameterivNV(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glMapParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapParameterivNV(target, pname, params, params.position(), function_pointer); } - private static native void nglMapParameterivNV(int target, int pname, IntBuffer params, int params_position); + private static native void nglMapParameterivNV(int target, int pname, IntBuffer params, int params_position, long function_pointer); public static void glMapParameterNV(int target, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglMapParameterfvNV(target, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glMapParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapParameterfvNV(target, pname, params, params.position(), function_pointer); } - private static native void nglMapParameterfvNV(int target, int pname, FloatBuffer params, int params_position); + private static native void nglMapParameterfvNV(int target, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, FloatBuffer pPoints) { BufferChecks.checkDirect(pPoints); - nglMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, pPoints, pPoints.position() << 2); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glMapControlPointsNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, pPoints, pPoints.position() << 2, function_pointer); } - private static native void nglMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, Buffer pPoints, int pPoints_position); + private static native void nglMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, Buffer pPoints, int pPoints_position, long function_pointer); public static void glGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, FloatBuffer pPoints) { BufferChecks.checkDirect(pPoints); - nglGetMapControlPointsNV(target, index, type, ustride, vstride, packed, pPoints, pPoints.position() << 2); + long function_pointer = GLContext.getCapabilities().NV_evaluators_glGetMapControlPointsNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetMapControlPointsNV(target, index, type, ustride, vstride, packed, pPoints, pPoints.position() << 2, function_pointer); } - private static native void nglGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, Buffer pPoints, int pPoints_position); + private static native void nglGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, Buffer pPoints, int pPoints_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVFence.java b/src/java/org/lwjgl/opengl/NVFence.java index c3454311..660320d2 100644 --- a/src/java/org/lwjgl/opengl/NVFence.java +++ b/src/java/org/lwjgl/opengl/NVFence.java @@ -18,27 +18,55 @@ public final class NVFence { public static void glGetFenceivNV(int fence, int pname, IntBuffer piParams) { BufferChecks.checkBuffer(piParams, 4); - nglGetFenceivNV(fence, pname, piParams, piParams.position()); + long function_pointer = GLContext.getCapabilities().NV_fence_glGetFenceivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetFenceivNV(fence, pname, piParams, piParams.position(), function_pointer); } - private static native void nglGetFenceivNV(int fence, int pname, IntBuffer piParams, int piParams_position); + private static native void nglGetFenceivNV(int fence, int pname, IntBuffer piParams, int piParams_position, long function_pointer); - public static native boolean glIsFenceNV(int fence); + public static boolean glIsFenceNV(int fence) { + long function_pointer = GLContext.getCapabilities().NV_fence_glIsFenceNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsFenceNV(fence, function_pointer); + return __result; + } + private static native boolean nglIsFenceNV(int fence, long function_pointer); - public static native void glFinishFenceNV(int fence); + public static void glFinishFenceNV(int fence) { + long function_pointer = GLContext.getCapabilities().NV_fence_glFinishFenceNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFinishFenceNV(fence, function_pointer); + } + private static native void nglFinishFenceNV(int fence, long function_pointer); - public static native boolean glTestFenceNV(int fence); + public static boolean glTestFenceNV(int fence) { + long function_pointer = GLContext.getCapabilities().NV_fence_glTestFenceNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglTestFenceNV(fence, function_pointer); + return __result; + } + private static native boolean nglTestFenceNV(int fence, long function_pointer); - public static native void glSetFenceNV(int fence, int condition); + public static void glSetFenceNV(int fence, int condition) { + long function_pointer = GLContext.getCapabilities().NV_fence_glSetFenceNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSetFenceNV(fence, condition, function_pointer); + } + private static native void nglSetFenceNV(int fence, int condition, long function_pointer); public static void glDeleteFencesNV(IntBuffer piFences) { BufferChecks.checkDirect(piFences); - nglDeleteFencesNV((piFences.remaining()), piFences, piFences.position()); + long function_pointer = GLContext.getCapabilities().NV_fence_glDeleteFencesNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteFencesNV((piFences.remaining()), piFences, piFences.position(), function_pointer); } - private static native void nglDeleteFencesNV(int n, IntBuffer piFences, int piFences_position); + private static native void nglDeleteFencesNV(int n, IntBuffer piFences, int piFences_position, long function_pointer); public static void glGenFencesNV(IntBuffer piFences) { BufferChecks.checkDirect(piFences); - nglGenFencesNV((piFences.remaining()), piFences, piFences.position()); + long function_pointer = GLContext.getCapabilities().NV_fence_glGenFencesNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenFencesNV((piFences.remaining()), piFences, piFences.position(), function_pointer); } - private static native void nglGenFencesNV(int n, IntBuffer piFences, int piFences_position); + private static native void nglGenFencesNV(int n, IntBuffer piFences, int piFences_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVFragmentProgram.java b/src/java/org/lwjgl/opengl/NVFragmentProgram.java index 56823636..a7ebe3a3 100644 --- a/src/java/org/lwjgl/opengl/NVFragmentProgram.java +++ b/src/java/org/lwjgl/opengl/NVFragmentProgram.java @@ -21,13 +21,17 @@ public final class NVFragmentProgram extends NVProgram { public static void glGetProgramNamedParameterNV(int id, ByteBuffer name, FloatBuffer params) { BufferChecks.checkDirect(name); BufferChecks.checkBuffer(params, 4); - nglGetProgramNamedParameterfvNV(id, (name.remaining()), name, name.position(), params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_fragment_program_glGetProgramNamedParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramNamedParameterfvNV(id, (name.remaining()), name, name.position(), params, params.position(), function_pointer); } - private static native void nglGetProgramNamedParameterfvNV(int id, int length, ByteBuffer name, int name_position, FloatBuffer params, int params_position); + private static native void nglGetProgramNamedParameterfvNV(int id, int length, ByteBuffer name, int name_position, FloatBuffer params, int params_position, long function_pointer); public static void glProgramNamedParameter4fNV(int id, ByteBuffer name, float x, float y, float z, float w) { BufferChecks.checkDirect(name); - nglProgramNamedParameter4fNV(id, (name.remaining()), name, name.position(), x, y, z, w); + long function_pointer = GLContext.getCapabilities().NV_fragment_program_glProgramNamedParameter4fNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramNamedParameter4fNV(id, (name.remaining()), name, name.position(), x, y, z, w, function_pointer); } - private static native void nglProgramNamedParameter4fNV(int id, int length, ByteBuffer name, int name_position, float x, float y, float z, float w); + private static native void nglProgramNamedParameter4fNV(int id, int length, ByteBuffer name, int name_position, float x, float y, float z, float w, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVHalfFloat.java b/src/java/org/lwjgl/opengl/NVHalfFloat.java index 1fe0bfbe..0c7741ad 100644 --- a/src/java/org/lwjgl/opengl/NVHalfFloat.java +++ b/src/java/org/lwjgl/opengl/NVHalfFloat.java @@ -16,65 +16,173 @@ public final class NVHalfFloat { public static void glVertexAttribs4NV(int index, ShortBuffer attribs) { BufferChecks.checkDirect(attribs); - nglVertexAttribs4hvNV(index, (attribs.remaining()) >> 2, attribs, attribs.position()); + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttribs4hvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs4hvNV(index, (attribs.remaining()) >> 2, attribs, attribs.position(), function_pointer); } - private static native void nglVertexAttribs4hvNV(int index, int n, ShortBuffer attribs, int attribs_position); + private static native void nglVertexAttribs4hvNV(int index, int n, ShortBuffer attribs, int attribs_position, long function_pointer); public static void glVertexAttribs3NV(int index, ShortBuffer attribs) { BufferChecks.checkDirect(attribs); - nglVertexAttribs3hvNV(index, (attribs.remaining()) / 3, attribs, attribs.position()); + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttribs3hvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs3hvNV(index, (attribs.remaining()) / 3, attribs, attribs.position(), function_pointer); } - private static native void nglVertexAttribs3hvNV(int index, int n, ShortBuffer attribs, int attribs_position); + private static native void nglVertexAttribs3hvNV(int index, int n, ShortBuffer attribs, int attribs_position, long function_pointer); public static void glVertexAttribs2NV(int index, ShortBuffer attribs) { BufferChecks.checkDirect(attribs); - nglVertexAttribs2hvNV(index, (attribs.remaining()) >> 1, attribs, attribs.position()); + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttribs2hvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs2hvNV(index, (attribs.remaining()) >> 1, attribs, attribs.position(), function_pointer); } - private static native void nglVertexAttribs2hvNV(int index, int n, ShortBuffer attribs, int attribs_position); + private static native void nglVertexAttribs2hvNV(int index, int n, ShortBuffer attribs, int attribs_position, long function_pointer); public static void glVertexAttribs1NV(int index, ShortBuffer attribs) { BufferChecks.checkDirect(attribs); - nglVertexAttribs1hvNV(index, (attribs.remaining()), attribs, attribs.position()); + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttribs1hvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs1hvNV(index, (attribs.remaining()), attribs, attribs.position(), function_pointer); } - private static native void nglVertexAttribs1hvNV(int index, int n, ShortBuffer attribs, int attribs_position); + private static native void nglVertexAttribs1hvNV(int index, int n, ShortBuffer attribs, int attribs_position, long function_pointer); - public static native void glVertexAttrib4hNV(int index, short x, short y, short z, short w); + public static void glVertexAttrib4hNV(int index, short x, short y, short z, short w) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttrib4hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4hNV(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4hNV(int index, short x, short y, short z, short w, long function_pointer); - public static native void glVertexAttrib3hNV(int index, short x, short y, short z); + public static void glVertexAttrib3hNV(int index, short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttrib3hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib3hNV(index, x, y, z, function_pointer); + } + private static native void nglVertexAttrib3hNV(int index, short x, short y, short z, long function_pointer); - public static native void glVertexAttrib2hNV(int index, short x, short y); + public static void glVertexAttrib2hNV(int index, short x, short y) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttrib2hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib2hNV(index, x, y, function_pointer); + } + private static native void nglVertexAttrib2hNV(int index, short x, short y, long function_pointer); - public static native void glVertexAttrib1hNV(int index, short x); + public static void glVertexAttrib1hNV(int index, short x) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertexAttrib1hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib1hNV(index, x, function_pointer); + } + private static native void nglVertexAttrib1hNV(int index, short x, long function_pointer); - public static native void glSecondaryColor3hNV(short red, short green, short blue); + public static void glSecondaryColor3hNV(short red, short green, short blue) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glSecondaryColor3hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglSecondaryColor3hNV(red, green, blue, function_pointer); + } + private static native void nglSecondaryColor3hNV(short red, short green, short blue, long function_pointer); - public static native void glFogCoordhNV(short fog); + public static void glFogCoordhNV(short fog) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glFogCoordhNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFogCoordhNV(fog, function_pointer); + } + private static native void nglFogCoordhNV(short fog, long function_pointer); - public static native void glMultiTexCoord4hNV(int target, short s, short t, short r, short q); + public static void glMultiTexCoord4hNV(int target, short s, short t, short r, short q) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glMultiTexCoord4hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord4hNV(target, s, t, r, q, function_pointer); + } + private static native void nglMultiTexCoord4hNV(int target, short s, short t, short r, short q, long function_pointer); - public static native void glMultiTexCoord3hNV(int target, short s, short t, short r); + public static void glMultiTexCoord3hNV(int target, short s, short t, short r) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glMultiTexCoord3hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord3hNV(target, s, t, r, function_pointer); + } + private static native void nglMultiTexCoord3hNV(int target, short s, short t, short r, long function_pointer); - public static native void glMultiTexCoord2hNV(int target, short s, short t); + public static void glMultiTexCoord2hNV(int target, short s, short t) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glMultiTexCoord2hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord2hNV(target, s, t, function_pointer); + } + private static native void nglMultiTexCoord2hNV(int target, short s, short t, long function_pointer); - public static native void glMultiTexCoord1hNV(int target, short s); + public static void glMultiTexCoord1hNV(int target, short s) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glMultiTexCoord1hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglMultiTexCoord1hNV(target, s, function_pointer); + } + private static native void nglMultiTexCoord1hNV(int target, short s, long function_pointer); - public static native void glTexCoord4hNV(short s, short t, short r, short q); + public static void glTexCoord4hNV(short s, short t, short r, short q) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glTexCoord4hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord4hNV(s, t, r, q, function_pointer); + } + private static native void nglTexCoord4hNV(short s, short t, short r, short q, long function_pointer); - public static native void glTexCoord3hNV(short s, short t, short r); + public static void glTexCoord3hNV(short s, short t, short r) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glTexCoord3hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord3hNV(s, t, r, function_pointer); + } + private static native void nglTexCoord3hNV(short s, short t, short r, long function_pointer); - public static native void glTexCoord2hNV(short s, short t); + public static void glTexCoord2hNV(short s, short t) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glTexCoord2hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord2hNV(s, t, function_pointer); + } + private static native void nglTexCoord2hNV(short s, short t, long function_pointer); - public static native void glTexCoord1hNV(short s); + public static void glTexCoord1hNV(short s) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glTexCoord1hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTexCoord1hNV(s, function_pointer); + } + private static native void nglTexCoord1hNV(short s, long function_pointer); - public static native void glColor4hNV(short red, short green, short blue, short alpha); + public static void glColor4hNV(short red, short green, short blue, short alpha) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glColor4hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor4hNV(red, green, blue, alpha, function_pointer); + } + private static native void nglColor4hNV(short red, short green, short blue, short alpha, long function_pointer); - public static native void glColor3hNV(short red, short green, short blue); + public static void glColor3hNV(short red, short green, short blue) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glColor3hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglColor3hNV(red, green, blue, function_pointer); + } + private static native void nglColor3hNV(short red, short green, short blue, long function_pointer); - public static native void glNormal3hNV(short nx, short ny, short nz); + public static void glNormal3hNV(short nx, short ny, short nz) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glNormal3hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglNormal3hNV(nx, ny, nz, function_pointer); + } + private static native void nglNormal3hNV(short nx, short ny, short nz, long function_pointer); - public static native void glVertex4hNV(short x, short y, short z, short w); + public static void glVertex4hNV(short x, short y, short z, short w) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertex4hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex4hNV(x, y, z, w, function_pointer); + } + private static native void nglVertex4hNV(short x, short y, short z, short w, long function_pointer); - public static native void glVertex3hNV(short x, short y, short z); + public static void glVertex3hNV(short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertex3hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex3hNV(x, y, z, function_pointer); + } + private static native void nglVertex3hNV(short x, short y, short z, long function_pointer); - public static native void glVertex2hNV(short x, short y); + public static void glVertex2hNV(short x, short y) { + long function_pointer = GLContext.getCapabilities().NV_half_float_glVertex2hNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertex2hNV(x, y, function_pointer); + } + private static native void nglVertex2hNV(short x, short y, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVOcclusionQuery.java b/src/java/org/lwjgl/opengl/NVOcclusionQuery.java index 2d34a1dc..3c12862e 100644 --- a/src/java/org/lwjgl/opengl/NVOcclusionQuery.java +++ b/src/java/org/lwjgl/opengl/NVOcclusionQuery.java @@ -21,31 +21,55 @@ public final class NVOcclusionQuery { public static void glGetOcclusionQueryNV(int id, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetOcclusionQueryivNV(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_occlusion_query_glGetOcclusionQueryivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetOcclusionQueryivNV(id, pname, params, params.position(), function_pointer); } - private static native void nglGetOcclusionQueryivNV(int id, int pname, IntBuffer params, int params_position); + private static native void nglGetOcclusionQueryivNV(int id, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetOcclusionQueryuNV(int id, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetOcclusionQueryuivNV(id, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_occlusion_query_glGetOcclusionQueryuivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetOcclusionQueryuivNV(id, pname, params, params.position(), function_pointer); } - private static native void nglGetOcclusionQueryuivNV(int id, int pname, IntBuffer params, int params_position); + private static native void nglGetOcclusionQueryuivNV(int id, int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glEndOcclusionQueryNV(); + public static void glEndOcclusionQueryNV() { + long function_pointer = GLContext.getCapabilities().NV_occlusion_query_glEndOcclusionQueryNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglEndOcclusionQueryNV(function_pointer); + } + private static native void nglEndOcclusionQueryNV(long function_pointer); - public static native void glBeginOcclusionQueryNV(int id); + public static void glBeginOcclusionQueryNV(int id) { + long function_pointer = GLContext.getCapabilities().NV_occlusion_query_glBeginOcclusionQueryNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBeginOcclusionQueryNV(id, function_pointer); + } + private static native void nglBeginOcclusionQueryNV(int id, long function_pointer); - public static native boolean glIsOcclusionQueryNV(int id); + public static boolean glIsOcclusionQueryNV(int id) { + long function_pointer = GLContext.getCapabilities().NV_occlusion_query_glIsOcclusionQueryNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsOcclusionQueryNV(id, function_pointer); + return __result; + } + private static native boolean nglIsOcclusionQueryNV(int id, long function_pointer); public static void glDeleteOcclusionQueriesNV(IntBuffer piIDs) { BufferChecks.checkDirect(piIDs); - nglDeleteOcclusionQueriesNV((piIDs.remaining()), piIDs, piIDs.position()); + long function_pointer = GLContext.getCapabilities().NV_occlusion_query_glDeleteOcclusionQueriesNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteOcclusionQueriesNV((piIDs.remaining()), piIDs, piIDs.position(), function_pointer); } - private static native void nglDeleteOcclusionQueriesNV(int n, IntBuffer piIDs, int piIDs_position); + private static native void nglDeleteOcclusionQueriesNV(int n, IntBuffer piIDs, int piIDs_position, long function_pointer); public static void glGenOcclusionQueriesNV(IntBuffer piIDs) { BufferChecks.checkDirect(piIDs); - nglGenOcclusionQueriesNV((piIDs.remaining()), piIDs, piIDs.position()); + long function_pointer = GLContext.getCapabilities().NV_occlusion_query_glGenOcclusionQueriesNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenOcclusionQueriesNV((piIDs.remaining()), piIDs, piIDs.position(), function_pointer); } - private static native void nglGenOcclusionQueriesNV(int n, IntBuffer piIDs, int piIDs_position); + private static native void nglGenOcclusionQueriesNV(int n, IntBuffer piIDs, int piIDs_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVPixelDataRange.java b/src/java/org/lwjgl/opengl/NVPixelDataRange.java index 4fe4ed78..6333d1ca 100644 --- a/src/java/org/lwjgl/opengl/NVPixelDataRange.java +++ b/src/java/org/lwjgl/opengl/NVPixelDataRange.java @@ -19,23 +19,36 @@ public final class NVPixelDataRange { static native void initNativeStubs() throws LWJGLException; - public static native void glFlushPixelDataRangeNV(int target); - - public static void glPixelDataRangeNV(int target, ByteBuffer data) { - BufferChecks.checkDirect(data); - nglPixelDataRangeNV(target, (data.remaining()), data, data.position()); + public static void glFlushPixelDataRangeNV(int target) { + long function_pointer = GLContext.getCapabilities().NV_pixel_data_range_glFlushPixelDataRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFlushPixelDataRangeNV(target, function_pointer); } + private static native void nglFlushPixelDataRangeNV(int target, long function_pointer); + public static void glPixelDataRangeNV(int target, IntBuffer data) { BufferChecks.checkDirect(data); - nglPixelDataRangeNV(target, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().NV_pixel_data_range_glPixelDataRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelDataRangeNV(target, (data.remaining() << 2), data, data.position() << 2, function_pointer); } - public static void glPixelDataRangeNV(int target, FloatBuffer data) { + public static void glPixelDataRangeNV(int target, ByteBuffer data) { BufferChecks.checkDirect(data); - nglPixelDataRangeNV(target, (data.remaining() << 2), data, data.position() << 2); + long function_pointer = GLContext.getCapabilities().NV_pixel_data_range_glPixelDataRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelDataRangeNV(target, (data.remaining()), data, data.position(), function_pointer); } public static void glPixelDataRangeNV(int target, ShortBuffer data) { BufferChecks.checkDirect(data); - nglPixelDataRangeNV(target, (data.remaining() << 1), data, data.position() << 1); + long function_pointer = GLContext.getCapabilities().NV_pixel_data_range_glPixelDataRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelDataRangeNV(target, (data.remaining() << 1), data, data.position() << 1, function_pointer); } - private static native void nglPixelDataRangeNV(int target, int length, Buffer data, int data_position); + public static void glPixelDataRangeNV(int target, FloatBuffer data) { + BufferChecks.checkDirect(data); + long function_pointer = GLContext.getCapabilities().NV_pixel_data_range_glPixelDataRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPixelDataRangeNV(target, (data.remaining() << 2), data, data.position() << 2, function_pointer); + } + private static native void nglPixelDataRangeNV(int target, int length, Buffer data, int data_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVPointSprite.java b/src/java/org/lwjgl/opengl/NVPointSprite.java index 374610ae..cf96d25b 100644 --- a/src/java/org/lwjgl/opengl/NVPointSprite.java +++ b/src/java/org/lwjgl/opengl/NVPointSprite.java @@ -18,9 +18,16 @@ public final class NVPointSprite { public static void glPointParameterNV(int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglPointParameterivNV(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_point_sprite_glPointParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameterivNV(pname, params, params.position(), function_pointer); } - private static native void nglPointParameterivNV(int pname, IntBuffer params, int params_position); + private static native void nglPointParameterivNV(int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glPointParameteriNV(int pname, int param); + public static void glPointParameteriNV(int pname, int param) { + long function_pointer = GLContext.getCapabilities().NV_point_sprite_glPointParameteriNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPointParameteriNV(pname, param, function_pointer); + } + private static native void nglPointParameteriNV(int pname, int param, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVPrimitiveRestart.java b/src/java/org/lwjgl/opengl/NVPrimitiveRestart.java index 2e0589a9..ea2ae826 100644 --- a/src/java/org/lwjgl/opengl/NVPrimitiveRestart.java +++ b/src/java/org/lwjgl/opengl/NVPrimitiveRestart.java @@ -15,7 +15,17 @@ public final class NVPrimitiveRestart { static native void initNativeStubs() throws LWJGLException; - public static native void glPrimitiveRestartIndexNV(int index); + public static void glPrimitiveRestartIndexNV(int index) { + long function_pointer = GLContext.getCapabilities().NV_primitive_restart_glPrimitiveRestartIndexNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPrimitiveRestartIndexNV(index, function_pointer); + } + private static native void nglPrimitiveRestartIndexNV(int index, long function_pointer); - public static native void glPrimitiveRestartNV(); + public static void glPrimitiveRestartNV() { + long function_pointer = GLContext.getCapabilities().NV_primitive_restart_glPrimitiveRestartNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglPrimitiveRestartNV(function_pointer); + } + private static native void nglPrimitiveRestartNV(long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVProgram.java b/src/java/org/lwjgl/opengl/NVProgram.java index 90753999..53caacee 100644 --- a/src/java/org/lwjgl/opengl/NVProgram.java +++ b/src/java/org/lwjgl/opengl/NVProgram.java @@ -18,51 +18,76 @@ public class NVProgram { public static void glRequestResidentProgramsNV(IntBuffer programIDs) { BufferChecks.checkDirect(programIDs); - nglRequestResidentProgramsNV((programIDs.remaining()), programIDs, programIDs.position()); + long function_pointer = GLContext.getCapabilities().NV_program_glRequestResidentProgramsNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglRequestResidentProgramsNV((programIDs.remaining()), programIDs, programIDs.position(), function_pointer); } - private static native void nglRequestResidentProgramsNV(int n, IntBuffer programIDs, int programIDs_position); + private static native void nglRequestResidentProgramsNV(int n, IntBuffer programIDs, int programIDs_position, long function_pointer); public static boolean glAreProgramsResidentNV(IntBuffer programIDs, ByteBuffer programResidences) { BufferChecks.checkDirect(programIDs); BufferChecks.checkDirect(programResidences); if (programIDs.remaining() != programResidences.remaining()) throw new IllegalArgumentException("programIDs.remaining() != programResidences.remaining()"); - boolean __result = nglAreProgramsResidentNV((programIDs.remaining()), programIDs, programIDs.position(), programResidences, programResidences.position()); + long function_pointer = GLContext.getCapabilities().NV_program_glAreProgramsResidentNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglAreProgramsResidentNV((programIDs.remaining()), programIDs, programIDs.position(), programResidences, programResidences.position(), function_pointer); return __result; } - private static native boolean nglAreProgramsResidentNV(int n, IntBuffer programIDs, int programIDs_position, ByteBuffer programResidences, int programResidences_position); + private static native boolean nglAreProgramsResidentNV(int n, IntBuffer programIDs, int programIDs_position, ByteBuffer programResidences, int programResidences_position, long function_pointer); - public static native boolean glIsProgramNV(int programID); + public static boolean glIsProgramNV(int programID) { + long function_pointer = GLContext.getCapabilities().NV_program_glIsProgramNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + boolean __result = nglIsProgramNV(programID, function_pointer); + return __result; + } + private static native boolean nglIsProgramNV(int programID, long function_pointer); public static void glGetProgramStringNV(int programID, int parameterName, ByteBuffer paramString) { BufferChecks.checkDirect(paramString); - nglGetProgramStringNV(programID, parameterName, paramString, paramString.position()); + long function_pointer = GLContext.getCapabilities().NV_program_glGetProgramStringNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramStringNV(programID, parameterName, paramString, paramString.position(), function_pointer); } - private static native void nglGetProgramStringNV(int programID, int parameterName, Buffer paramString, int paramString_position); + private static native void nglGetProgramStringNV(int programID, int parameterName, Buffer paramString, int paramString_position, long function_pointer); public static void glGetProgramNV(int programID, int parameterName, IntBuffer params) { BufferChecks.checkDirect(params); - nglGetProgramivNV(programID, parameterName, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_program_glGetProgramivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramivNV(programID, parameterName, params, params.position(), function_pointer); } - private static native void nglGetProgramivNV(int programID, int parameterName, IntBuffer params, int params_position); + private static native void nglGetProgramivNV(int programID, int parameterName, IntBuffer params, int params_position, long function_pointer); public static void glGenProgramsNV(IntBuffer programs) { BufferChecks.checkDirect(programs); - nglGenProgramsNV((programs.remaining()), programs, programs.position()); + long function_pointer = GLContext.getCapabilities().NV_program_glGenProgramsNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGenProgramsNV((programs.remaining()), programs, programs.position(), function_pointer); } - private static native void nglGenProgramsNV(int n, IntBuffer programs, int programs_position); + private static native void nglGenProgramsNV(int n, IntBuffer programs, int programs_position, long function_pointer); public static void glDeleteProgramsNV(IntBuffer programs) { BufferChecks.checkDirect(programs); - nglDeleteProgramsNV((programs.remaining()), programs, programs.position()); + long function_pointer = GLContext.getCapabilities().NV_program_glDeleteProgramsNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglDeleteProgramsNV((programs.remaining()), programs, programs.position(), function_pointer); } - private static native void nglDeleteProgramsNV(int n, IntBuffer programs, int programs_position); + private static native void nglDeleteProgramsNV(int n, IntBuffer programs, int programs_position, long function_pointer); - public static native void glBindProgramNV(int target, int programID); + public static void glBindProgramNV(int target, int programID) { + long function_pointer = GLContext.getCapabilities().NV_program_glBindProgramNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglBindProgramNV(target, programID, function_pointer); + } + private static native void nglBindProgramNV(int target, int programID, long function_pointer); public static void glLoadProgramNV(int target, int programID, ByteBuffer string) { BufferChecks.checkDirect(string); - nglLoadProgramNV(target, programID, (string.remaining()), string, string.position()); + long function_pointer = GLContext.getCapabilities().NV_program_glLoadProgramNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglLoadProgramNV(target, programID, (string.remaining()), string, string.position(), function_pointer); } - private static native void nglLoadProgramNV(int target, int programID, int length, Buffer string, int string_position); + private static native void nglLoadProgramNV(int target, int programID, int length, Buffer string, int string_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVRegisterCombiners.java b/src/java/org/lwjgl/opengl/NVRegisterCombiners.java index 589c3db2..6d573dfe 100644 --- a/src/java/org/lwjgl/opengl/NVRegisterCombiners.java +++ b/src/java/org/lwjgl/opengl/NVRegisterCombiners.java @@ -66,59 +66,100 @@ public final class NVRegisterCombiners { public static void glGetFinalCombinerInputParameterNV(int variable, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetFinalCombinerInputParameterivNV(variable, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glGetFinalCombinerInputParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetFinalCombinerInputParameterivNV(variable, pname, params, params.position(), function_pointer); } - private static native void nglGetFinalCombinerInputParameterivNV(int variable, int pname, IntBuffer params, int params_position); + private static native void nglGetFinalCombinerInputParameterivNV(int variable, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetFinalCombinerInputParameterNV(int variable, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetFinalCombinerInputParameterfvNV(variable, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glGetFinalCombinerInputParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetFinalCombinerInputParameterfvNV(variable, pname, params, params.position(), function_pointer); } - private static native void nglGetFinalCombinerInputParameterfvNV(int variable, int pname, FloatBuffer params, int params_position); + private static native void nglGetFinalCombinerInputParameterfvNV(int variable, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetCombinerOutputParameterNV(int stage, int portion, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetCombinerOutputParameterivNV(stage, portion, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glGetCombinerOutputParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCombinerOutputParameterivNV(stage, portion, pname, params, params.position(), function_pointer); } - private static native void nglGetCombinerOutputParameterivNV(int stage, int portion, int pname, IntBuffer params, int params_position); + private static native void nglGetCombinerOutputParameterivNV(int stage, int portion, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetCombinerOutputParameterNV(int stage, int portion, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetCombinerOutputParameterfvNV(stage, portion, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glGetCombinerOutputParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCombinerOutputParameterfvNV(stage, portion, pname, params, params.position(), function_pointer); } - private static native void nglGetCombinerOutputParameterfvNV(int stage, int portion, int pname, FloatBuffer params, int params_position); + private static native void nglGetCombinerOutputParameterfvNV(int stage, int portion, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glGetCombinerInputParameterNV(int stage, int portion, int variable, int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetCombinerInputParameterivNV(stage, portion, variable, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glGetCombinerInputParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCombinerInputParameterivNV(stage, portion, variable, pname, params, params.position(), function_pointer); } - private static native void nglGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, IntBuffer params, int params_position); + private static native void nglGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, IntBuffer params, int params_position, long function_pointer); public static void glGetCombinerInputParameterNV(int stage, int portion, int variable, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetCombinerInputParameterfvNV(stage, portion, variable, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glGetCombinerInputParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCombinerInputParameterfvNV(stage, portion, variable, pname, params, params.position(), function_pointer); } - private static native void nglGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, FloatBuffer params, int params_position); + private static native void nglGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage); + public static void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage) { + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glFinalCombinerInputNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFinalCombinerInputNV(variable, input, mapping, componentUsage, function_pointer); + } + private static native void nglFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage, long function_pointer); - public static native void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, boolean abDotProduct, boolean cdDotProduct, boolean muxSum); + public static void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, boolean abDotProduct, boolean cdDotProduct, boolean muxSum) { + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glCombinerOutputNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum, function_pointer); + } + private static native void nglCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, boolean abDotProduct, boolean cdDotProduct, boolean muxSum, long function_pointer); - public static native void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage); + public static void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage) { + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glCombinerInputNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCombinerInputNV(stage, portion, variable, input, mapping, componentUsage, function_pointer); + } + private static native void nglCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage, long function_pointer); public static void glCombinerParameterNV(int pname, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglCombinerParameterivNV(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glCombinerParameterivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCombinerParameterivNV(pname, params, params.position(), function_pointer); } - private static native void nglCombinerParameterivNV(int pname, IntBuffer params, int params_position); + private static native void nglCombinerParameterivNV(int pname, IntBuffer params, int params_position, long function_pointer); - public static native void glCombinerParameteriNV(int pname, int param); + public static void glCombinerParameteriNV(int pname, int param) { + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glCombinerParameteriNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCombinerParameteriNV(pname, param, function_pointer); + } + private static native void nglCombinerParameteriNV(int pname, int param, long function_pointer); public static void glCombinerParameterNV(int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglCombinerParameterfvNV(pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glCombinerParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCombinerParameterfvNV(pname, params, params.position(), function_pointer); } - private static native void nglCombinerParameterfvNV(int pname, FloatBuffer params, int params_position); + private static native void nglCombinerParameterfvNV(int pname, FloatBuffer params, int params_position, long function_pointer); - public static native void glCombinerParameterfNV(int pname, float param); + public static void glCombinerParameterfNV(int pname, float param) { + long function_pointer = GLContext.getCapabilities().NV_register_combiners_glCombinerParameterfNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCombinerParameterfNV(pname, param, function_pointer); + } + private static native void nglCombinerParameterfNV(int pname, float param, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVRegisterCombiners2.java b/src/java/org/lwjgl/opengl/NVRegisterCombiners2.java index 614cc55e..b775948b 100644 --- a/src/java/org/lwjgl/opengl/NVRegisterCombiners2.java +++ b/src/java/org/lwjgl/opengl/NVRegisterCombiners2.java @@ -16,13 +16,17 @@ public final class NVRegisterCombiners2 { public static void glGetCombinerStageParameterNV(int stage, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetCombinerStageParameterfvNV(stage, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners2_glGetCombinerStageParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetCombinerStageParameterfvNV(stage, pname, params, params.position(), function_pointer); } - private static native void nglGetCombinerStageParameterfvNV(int stage, int pname, FloatBuffer params, int params_position); + private static native void nglGetCombinerStageParameterfvNV(int stage, int pname, FloatBuffer params, int params_position, long function_pointer); public static void glCombinerStageParameterNV(int stage, int pname, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglCombinerStageParameterfvNV(stage, pname, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_register_combiners2_glCombinerStageParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglCombinerStageParameterfvNV(stage, pname, params, params.position(), function_pointer); } - private static native void nglCombinerStageParameterfvNV(int stage, int pname, FloatBuffer params, int params_position); + private static native void nglCombinerStageParameterfvNV(int stage, int pname, FloatBuffer params, int params_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVVertexArrayRange.java b/src/java/org/lwjgl/opengl/NVVertexArrayRange.java index 91a49841..c873a417 100644 --- a/src/java/org/lwjgl/opengl/NVVertexArrayRange.java +++ b/src/java/org/lwjgl/opengl/NVVertexArrayRange.java @@ -20,29 +20,50 @@ public final class NVVertexArrayRange { public static void glFreeMemoryNV(ByteBuffer pointer) { BufferChecks.checkDirect(pointer); - nglFreeMemoryNV(pointer, pointer.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_array_range_glFreeMemoryNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFreeMemoryNV(pointer, pointer.position(), function_pointer); } - private static native void nglFreeMemoryNV(Buffer pointer, int pointer_position); + private static native void nglFreeMemoryNV(Buffer pointer, int pointer_position, long function_pointer); - public static native java.nio.ByteBuffer glAllocateMemoryNV(int size, float readFrequency, float writeFrequency, float priority); - - public static native void glFlushVertexArrayRangeNV(); - - public static void glVertexArrayRangeNV(ByteBuffer pPointer) { - BufferChecks.checkDirect(pPointer); - nglVertexArrayRangeNV((pPointer.remaining()), pPointer, pPointer.position()); + public static java.nio.ByteBuffer glAllocateMemoryNV(int size, float readFrequency, float writeFrequency, float priority) { + long function_pointer = GLContext.getCapabilities().NV_vertex_array_range_glAllocateMemoryNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglAllocateMemoryNV(size, readFrequency, writeFrequency, priority, size, function_pointer); + return __result; } + private static native java.nio.ByteBuffer nglAllocateMemoryNV(int size, float readFrequency, float writeFrequency, float priority, int result_size, long function_pointer); + + public static void glFlushVertexArrayRangeNV() { + long function_pointer = GLContext.getCapabilities().NV_vertex_array_range_glFlushVertexArrayRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglFlushVertexArrayRangeNV(function_pointer); + } + private static native void nglFlushVertexArrayRangeNV(long function_pointer); + public static void glVertexArrayRangeNV(IntBuffer pPointer) { BufferChecks.checkDirect(pPointer); - nglVertexArrayRangeNV((pPointer.remaining() << 2), pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().NV_vertex_array_range_glVertexArrayRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexArrayRangeNV((pPointer.remaining() << 2), pPointer, pPointer.position() << 2, function_pointer); } - public static void glVertexArrayRangeNV(FloatBuffer pPointer) { + public static void glVertexArrayRangeNV(ByteBuffer pPointer) { BufferChecks.checkDirect(pPointer); - nglVertexArrayRangeNV((pPointer.remaining() << 2), pPointer, pPointer.position() << 2); + long function_pointer = GLContext.getCapabilities().NV_vertex_array_range_glVertexArrayRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexArrayRangeNV((pPointer.remaining()), pPointer, pPointer.position(), function_pointer); } public static void glVertexArrayRangeNV(ShortBuffer pPointer) { BufferChecks.checkDirect(pPointer); - nglVertexArrayRangeNV((pPointer.remaining() << 1), pPointer, pPointer.position() << 1); + long function_pointer = GLContext.getCapabilities().NV_vertex_array_range_glVertexArrayRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexArrayRangeNV((pPointer.remaining() << 1), pPointer, pPointer.position() << 1, function_pointer); } - private static native void nglVertexArrayRangeNV(int size, Buffer pPointer, int pPointer_position); + public static void glVertexArrayRangeNV(FloatBuffer pPointer) { + BufferChecks.checkDirect(pPointer); + long function_pointer = GLContext.getCapabilities().NV_vertex_array_range_glVertexArrayRangeNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexArrayRangeNV((pPointer.remaining() << 2), pPointer, pPointer.position() << 2, function_pointer); + } + private static native void nglVertexArrayRangeNV(int size, Buffer pPointer, int pPointer_position, long function_pointer); } diff --git a/src/java/org/lwjgl/opengl/NVVertexProgram.java b/src/java/org/lwjgl/opengl/NVVertexProgram.java index 0862dc93..648a6bd7 100644 --- a/src/java/org/lwjgl/opengl/NVVertexProgram.java +++ b/src/java/org/lwjgl/opengl/NVVertexProgram.java @@ -93,140 +93,235 @@ public final class NVVertexProgram extends NVProgram { public static void glVertexAttribs4NV(int index, FloatBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs4fvNV(index, (v.remaining()) >> 2, v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs4fvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs4fvNV(index, (v.remaining()) >> 2, v, v.position(), function_pointer); } - private static native void nglVertexAttribs4fvNV(int index, int n, FloatBuffer v, int v_position); + private static native void nglVertexAttribs4fvNV(int index, int n, FloatBuffer v, int v_position, long function_pointer); public static void glVertexAttribs4NV(int index, ShortBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs4svNV(index, (v.remaining()) >> 2, v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs4svNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs4svNV(index, (v.remaining()) >> 2, v, v.position(), function_pointer); } - private static native void nglVertexAttribs4svNV(int index, int n, ShortBuffer v, int v_position); + private static native void nglVertexAttribs4svNV(int index, int n, ShortBuffer v, int v_position, long function_pointer); public static void glVertexAttribs3NV(int index, FloatBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs3fvNV(index, (v.remaining()) / 3, v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs3fvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs3fvNV(index, (v.remaining()) / 3, v, v.position(), function_pointer); } - private static native void nglVertexAttribs3fvNV(int index, int n, FloatBuffer v, int v_position); + private static native void nglVertexAttribs3fvNV(int index, int n, FloatBuffer v, int v_position, long function_pointer); public static void glVertexAttribs3NV(int index, ShortBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs3svNV(index, (v.remaining()) / 3, v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs3svNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs3svNV(index, (v.remaining()) / 3, v, v.position(), function_pointer); } - private static native void nglVertexAttribs3svNV(int index, int n, ShortBuffer v, int v_position); + private static native void nglVertexAttribs3svNV(int index, int n, ShortBuffer v, int v_position, long function_pointer); public static void glVertexAttribs2NV(int index, FloatBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs2fvNV(index, (v.remaining()) >> 1, v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs2fvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs2fvNV(index, (v.remaining()) >> 1, v, v.position(), function_pointer); } - private static native void nglVertexAttribs2fvNV(int index, int n, FloatBuffer v, int v_position); + private static native void nglVertexAttribs2fvNV(int index, int n, FloatBuffer v, int v_position, long function_pointer); public static void glVertexAttribs2NV(int index, ShortBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs2svNV(index, (v.remaining()) >> 1, v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs2svNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs2svNV(index, (v.remaining()) >> 1, v, v.position(), function_pointer); } - private static native void nglVertexAttribs2svNV(int index, int n, ShortBuffer v, int v_position); + private static native void nglVertexAttribs2svNV(int index, int n, ShortBuffer v, int v_position, long function_pointer); public static void glVertexAttribs1NV(int index, FloatBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs1fvNV(index, (v.remaining()), v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs1fvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs1fvNV(index, (v.remaining()), v, v.position(), function_pointer); } - private static native void nglVertexAttribs1fvNV(int index, int n, FloatBuffer v, int v_position); + private static native void nglVertexAttribs1fvNV(int index, int n, FloatBuffer v, int v_position, long function_pointer); public static void glVertexAttribs1NV(int index, ShortBuffer v) { BufferChecks.checkDirect(v); - nglVertexAttribs1svNV(index, (v.remaining()), v, v.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribs1svNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribs1svNV(index, (v.remaining()), v, v.position(), function_pointer); } - private static native void nglVertexAttribs1svNV(int index, int n, ShortBuffer v, int v_position); + private static native void nglVertexAttribs1svNV(int index, int n, ShortBuffer v, int v_position, long function_pointer); - public static native void glVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w); + public static void glVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib4ubNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4ubNV(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w, long function_pointer); - public static native void glVertexAttrib4fNV(int index, float x, float y, float z, float w); + public static void glVertexAttrib4fNV(int index, float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib4fNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4fNV(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4fNV(int index, float x, float y, float z, float w, long function_pointer); - public static native void glVertexAttrib4sNV(int index, short x, short y, short z, short w); + public static void glVertexAttrib4sNV(int index, short x, short y, short z, short w) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib4sNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib4sNV(index, x, y, z, w, function_pointer); + } + private static native void nglVertexAttrib4sNV(int index, short x, short y, short z, short w, long function_pointer); - public static native void glVertexAttrib3fNV(int index, float x, float y, float z); + public static void glVertexAttrib3fNV(int index, float x, float y, float z) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib3fNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib3fNV(index, x, y, z, function_pointer); + } + private static native void nglVertexAttrib3fNV(int index, float x, float y, float z, long function_pointer); - public static native void glVertexAttrib3sNV(int index, short x, short y, short z); + public static void glVertexAttrib3sNV(int index, short x, short y, short z) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib3sNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib3sNV(index, x, y, z, function_pointer); + } + private static native void nglVertexAttrib3sNV(int index, short x, short y, short z, long function_pointer); - public static native void glVertexAttrib2fNV(int index, float x, float y); + public static void glVertexAttrib2fNV(int index, float x, float y) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib2fNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib2fNV(index, x, y, function_pointer); + } + private static native void nglVertexAttrib2fNV(int index, float x, float y, long function_pointer); - public static native void glVertexAttrib2sNV(int index, short x, short y); + public static void glVertexAttrib2sNV(int index, short x, short y) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib2sNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib2sNV(index, x, y, function_pointer); + } + private static native void nglVertexAttrib2sNV(int index, short x, short y, long function_pointer); - public static native void glVertexAttrib1fNV(int index, float x); + public static void glVertexAttrib1fNV(int index, float x) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib1fNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib1fNV(index, x, function_pointer); + } + private static native void nglVertexAttrib1fNV(int index, float x, long function_pointer); - public static native void glVertexAttrib1sNV(int index, short x); + public static void glVertexAttrib1sNV(int index, short x) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttrib1sNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttrib1sNV(index, x, function_pointer); + } + private static native void nglVertexAttrib1sNV(int index, short x, long function_pointer); - public static void glVertexAttribPointerNV(int index, int size, int type, int stride, FloatBuffer buffer) { + public static void glVertexAttribPointerNV(int index, int size, int type, int stride, ShortBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position() << 2); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribPointerNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position() << 1, function_pointer); } public static void glVertexAttribPointerNV(int index, int size, int type, int stride, IntBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position() << 2); - } - public static void glVertexAttribPointerNV(int index, int size, int type, int stride, ShortBuffer buffer) { - GLBufferChecks.ensureArrayVBOdisabled(); - BufferChecks.checkDirect(buffer); - nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position() << 1); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribPointerNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position() << 2, function_pointer); } public static void glVertexAttribPointerNV(int index, int size, int type, int stride, ByteBuffer buffer) { GLBufferChecks.ensureArrayVBOdisabled(); BufferChecks.checkDirect(buffer); - nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribPointerNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position(), function_pointer); } - private static native void nglVertexAttribPointerNV(int index, int size, int type, int stride, Buffer buffer, int buffer_position); + public static void glVertexAttribPointerNV(int index, int size, int type, int stride, FloatBuffer buffer) { + GLBufferChecks.ensureArrayVBOdisabled(); + BufferChecks.checkDirect(buffer); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribPointerNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerNV(index, size, type, stride, buffer, buffer.position() << 2, function_pointer); + } + private static native void nglVertexAttribPointerNV(int index, int size, int type, int stride, Buffer buffer, int buffer_position, long function_pointer); public static void glVertexAttribPointerNV(int index, int size, int type, int stride, int buffer_buffer_offset) { GLBufferChecks.ensureArrayVBOenabled(); - nglVertexAttribPointerNVBO(index, size, type, stride, buffer_buffer_offset); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glVertexAttribPointerNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglVertexAttribPointerNVBO(index, size, type, stride, buffer_buffer_offset, function_pointer); } - private static native void nglVertexAttribPointerNVBO(int index, int size, int type, int stride, int buffer_buffer_offset); + private static native void nglVertexAttribPointerNVBO(int index, int size, int type, int stride, int buffer_buffer_offset, long function_pointer); - public static native void glTrackMatrixNV(int target, int address, int matrix, int transform); + public static void glTrackMatrixNV(int target, int address, int matrix, int transform) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glTrackMatrixNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglTrackMatrixNV(target, address, matrix, transform, function_pointer); + } + private static native void nglTrackMatrixNV(int target, int address, int matrix, int transform, long function_pointer); public static void glProgramParameters4NV(int target, int index, FloatBuffer params) { BufferChecks.checkDirect(params); - nglProgramParameters4fvNV(target, index, (params.remaining()) >> 2, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glProgramParameters4fvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramParameters4fvNV(target, index, (params.remaining()) >> 2, params, params.position(), function_pointer); } - private static native void nglProgramParameters4fvNV(int target, int index, int count, FloatBuffer params, int params_position); + private static native void nglProgramParameters4fvNV(int target, int index, int count, FloatBuffer params, int params_position, long function_pointer); - public static native void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w); + public static void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w) { + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glProgramParameter4fNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglProgramParameter4fNV(target, index, x, y, z, w, function_pointer); + } + private static native void nglProgramParameter4fNV(int target, int index, float x, float y, float z, float w, long function_pointer); public static java.nio.ByteBuffer glGetVertexAttribPointerNV(int index, int parameterName, int result_size) { - java.nio.ByteBuffer __result = nglGetVertexAttribPointervNV(index, parameterName, result_size); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glGetVertexAttribPointervNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + java.nio.ByteBuffer __result = nglGetVertexAttribPointervNV(index, parameterName, result_size, function_pointer); return __result; } - private static native java.nio.ByteBuffer nglGetVertexAttribPointervNV(int index, int parameterName, int result_size); + private static native java.nio.ByteBuffer nglGetVertexAttribPointervNV(int index, int parameterName, int result_size, long function_pointer); public static void glGetVertexAttribNV(int index, int parameterName, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVertexAttribivNV(index, parameterName, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glGetVertexAttribivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribivNV(index, parameterName, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribivNV(int index, int parameterName, IntBuffer params, int params_position); + private static native void nglGetVertexAttribivNV(int index, int parameterName, IntBuffer params, int params_position, long function_pointer); public static void glGetVertexAttribNV(int index, int parameterName, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetVertexAttribfvNV(index, parameterName, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glGetVertexAttribfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetVertexAttribfvNV(index, parameterName, params, params.position(), function_pointer); } - private static native void nglGetVertexAttribfvNV(int index, int parameterName, FloatBuffer params, int params_position); + private static native void nglGetVertexAttribfvNV(int index, int parameterName, FloatBuffer params, int params_position, long function_pointer); public static void glGetTrackMatrixNV(int target, int address, int parameterName, IntBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetTrackMatrixivNV(target, address, parameterName, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glGetTrackMatrixivNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetTrackMatrixivNV(target, address, parameterName, params, params.position(), function_pointer); } - private static native void nglGetTrackMatrixivNV(int target, int address, int parameterName, IntBuffer params, int params_position); + private static native void nglGetTrackMatrixivNV(int target, int address, int parameterName, IntBuffer params, int params_position, long function_pointer); public static void glGetProgramParameterNV(int target, int index, int parameterName, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglGetProgramParameterfvNV(target, index, parameterName, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glGetProgramParameterfvNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglGetProgramParameterfvNV(target, index, parameterName, params, params.position(), function_pointer); } - private static native void nglGetProgramParameterfvNV(int target, int index, int parameterName, FloatBuffer params, int params_position); + private static native void nglGetProgramParameterfvNV(int target, int index, int parameterName, FloatBuffer params, int params_position, long function_pointer); public static void glExecuteProgramNV(int target, int id, FloatBuffer params) { BufferChecks.checkBuffer(params, 4); - nglExecuteProgramNV(target, id, params, params.position()); + long function_pointer = GLContext.getCapabilities().NV_vertex_program_glExecuteProgramNV_pointer; + BufferChecks.checkFunctionAddress(function_pointer); + nglExecuteProgramNV(target, id, params, params.position(), function_pointer); } - private static native void nglExecuteProgramNV(int target, int id, FloatBuffer params, int params_position); + private static native void nglExecuteProgramNV(int target, int id, FloatBuffer params, int params_position, long function_pointer); } diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBBufferObject.c b/src/native/common/arb/org_lwjgl_opengl_ARBBufferObject.c index e3a87a7b..a089b217 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBBufferObject.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBBufferObject.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetBufferPointervARBPROC) (GLenum target, GLenum pname, GLvoid ** pointer); @@ -15,87 +16,69 @@ typedef void (APIENTRY *glGenBuffersARBPROC) (GLint n, GLuint * buffers); typedef void (APIENTRY *glDeleteBuffersARBPROC) (GLsizei n, const GLuint * buffers); typedef void (APIENTRY *glBindBufferARBPROC) (GLenum target, GLuint buffer); -static glGetBufferPointervARBPROC glGetBufferPointervARB; -static glGetBufferParameterivARBPROC glGetBufferParameterivARB; -static glUnmapBufferARBPROC glUnmapBufferARB; -static glMapBufferARBPROC glMapBufferARB; -static glGetBufferSubDataARBPROC glGetBufferSubDataARB; -static glBufferSubDataARBPROC glBufferSubDataARB; -static glBufferDataARBPROC glBufferDataARB; -static glIsBufferARBPROC glIsBufferARB; -static glGenBuffersARBPROC glGenBuffersARB; -static glDeleteBuffersARBPROC glDeleteBuffersARB; -static glBindBufferARBPROC glBindBufferARB; - -static jobject JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferPointervARB(JNIEnv *env, jclass clazz, jint target, jint pname, jint result_size) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferPointervARB(JNIEnv *env, jclass clazz, jint target, jint pname, jint result_size, jlong function_pointer) { + glGetBufferPointervARBPROC glGetBufferPointervARB = (glGetBufferPointervARBPROC)((intptr_t)function_pointer); GLvoid * __result; glGetBufferPointervARB(target, pname, &__result); return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferParameterivARB(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferParameterivARB(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetBufferParameterivARBPROC glGetBufferParameterivARB = (glGetBufferParameterivARBPROC)((intptr_t)function_pointer); glGetBufferParameterivARB(target, pname, params_address); } -static jboolean JNICALL Java_org_lwjgl_opengl_ARBBufferObject_glUnmapBufferARB(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglUnmapBufferARB(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glUnmapBufferARBPROC glUnmapBufferARB = (glUnmapBufferARBPROC)((intptr_t)function_pointer); GLboolean __result = glUnmapBufferARB(target); return __result; } -static jobject JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglMapBufferARB(JNIEnv *env, jclass clazz, jint target, jint access, jint result_size, jobject old_buffer) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglMapBufferARB(JNIEnv *env, jclass clazz, jint target, jint access, jint result_size, jobject old_buffer, jlong function_pointer) { + glMapBufferARBPROC glMapBufferARB = (glMapBufferARBPROC)((intptr_t)function_pointer); GLvoid * __result = glMapBufferARB(target, access); return safeNewBufferCached(env, __result, result_size, old_buffer); } -static void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferSubDataARB(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferSubDataARB(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position, jlong function_pointer) { GLvoid *data_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glGetBufferSubDataARBPROC glGetBufferSubDataARB = (glGetBufferSubDataARBPROC)((intptr_t)function_pointer); glGetBufferSubDataARB(target, offset, size, data_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglBufferSubDataARB(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglBufferSubDataARB(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glBufferSubDataARBPROC glBufferSubDataARB = (glBufferSubDataARBPROC)((intptr_t)function_pointer); glBufferSubDataARB(target, offset, size, data_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglBufferDataARB(JNIEnv *env, jclass clazz, jint target, jint size, jobject data, jint data_position, jint usage) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglBufferDataARB(JNIEnv *env, jclass clazz, jint target, jint size, jobject data, jint data_position, jint usage, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)safeGetBufferAddress(env, data)) + data_position)); + glBufferDataARBPROC glBufferDataARB = (glBufferDataARBPROC)((intptr_t)function_pointer); glBufferDataARB(target, size, data_address, usage); } -static jboolean JNICALL Java_org_lwjgl_opengl_ARBBufferObject_glIsBufferARB(JNIEnv *env, jclass clazz, jint buffer) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglIsBufferARB(JNIEnv *env, jclass clazz, jint buffer, jlong function_pointer) { + glIsBufferARBPROC glIsBufferARB = (glIsBufferARBPROC)((intptr_t)function_pointer); GLboolean __result = glIsBufferARB(buffer); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGenBuffersARB(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGenBuffersARB(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position, jlong function_pointer) { GLuint *buffers_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, buffers)) + buffers_position; + glGenBuffersARBPROC glGenBuffersARB = (glGenBuffersARBPROC)((intptr_t)function_pointer); glGenBuffersARB(n, buffers_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglDeleteBuffersARB(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglDeleteBuffersARB(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position, jlong function_pointer) { const GLuint *buffers_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, buffers)) + buffers_position; + glDeleteBuffersARBPROC glDeleteBuffersARB = (glDeleteBuffersARBPROC)((intptr_t)function_pointer); glDeleteBuffersARB(n, buffers_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglBindBufferARB(JNIEnv *env, jclass clazz, jint target, jint buffer) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglBindBufferARB(JNIEnv *env, jclass clazz, jint target, jint buffer, jlong function_pointer) { + glBindBufferARBPROC glBindBufferARB = (glBindBufferARBPROC)((intptr_t)function_pointer); glBindBufferARB(target, buffer); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBBufferObject_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetBufferPointervARB", "(III)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferPointervARB, "glGetBufferPointervARB", (void *)&glGetBufferPointervARB}, - {"nglGetBufferParameterivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferParameterivARB, "glGetBufferParameterivARB", (void *)&glGetBufferParameterivARB}, - {"glUnmapBufferARB", "(I)Z", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_glUnmapBufferARB, "glUnmapBufferARB", (void *)&glUnmapBufferARB}, - {"nglMapBufferARB", "(IIILjava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglMapBufferARB, "glMapBufferARB", (void *)&glMapBufferARB}, - {"nglGetBufferSubDataARB", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferSubDataARB, "glGetBufferSubDataARB", (void *)&glGetBufferSubDataARB}, - {"nglBufferSubDataARB", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglBufferSubDataARB, "glBufferSubDataARB", (void *)&glBufferSubDataARB}, - {"nglBufferDataARB", "(IILjava/nio/Buffer;II)V", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglBufferDataARB, "glBufferDataARB", (void *)&glBufferDataARB}, - {"glIsBufferARB", "(I)Z", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_glIsBufferARB, "glIsBufferARB", (void *)&glIsBufferARB}, - {"nglGenBuffersARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglGenBuffersARB, "glGenBuffersARB", (void *)&glGenBuffersARB}, - {"nglDeleteBuffersARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglDeleteBuffersARB, "glDeleteBuffersARB", (void *)&glDeleteBuffersARB}, - {"nglBindBufferARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBBufferObject_nglBindBufferARB, "glBindBufferARB", (void *)&glBindBufferARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBColorBufferFloat.c b/src/native/common/arb/org_lwjgl_opengl_ARBColorBufferFloat.c index ff39639a..8810e0d7 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBColorBufferFloat.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBColorBufferFloat.c @@ -1,20 +1,13 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glClampColorARBPROC) (GLenum target, GLenum clamp); -static glClampColorARBPROC glClampColorARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBColorBufferFloat_glClampColorARB(JNIEnv *env, jclass clazz, jint target, jint clamp) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBColorBufferFloat_nglClampColorARB(JNIEnv *env, jclass clazz, jint target, jint clamp, jlong function_pointer) { + glClampColorARBPROC glClampColorARB = (glClampColorARBPROC)((intptr_t)function_pointer); glClampColorARB(target, clamp); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBColorBufferFloat_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glClampColorARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBColorBufferFloat_glClampColorARB, "glClampColorARB", (void *)&glClampColorARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBDrawBuffers.c b/src/native/common/arb/org_lwjgl_opengl_ARBDrawBuffers.c index ed4cbdd2..f3888729 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBDrawBuffers.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBDrawBuffers.c @@ -1,21 +1,14 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glDrawBuffersARBPROC) (GLsizei size, const GLenum * buffers); -static glDrawBuffersARBPROC glDrawBuffersARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBDrawBuffers_nglDrawBuffersARB(JNIEnv *env, jclass clazz, jint size, jobject buffers, jint buffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBDrawBuffers_nglDrawBuffersARB(JNIEnv *env, jclass clazz, jint size, jobject buffers, jint buffers_position, jlong function_pointer) { const GLenum *buffers_address = ((const GLenum *)(*env)->GetDirectBufferAddress(env, buffers)) + buffers_position; + glDrawBuffersARBPROC glDrawBuffersARB = (glDrawBuffersARBPROC)((intptr_t)function_pointer); glDrawBuffersARB(size, buffers_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBDrawBuffers_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglDrawBuffersARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBDrawBuffers_nglDrawBuffersARB, "glDrawBuffersARB", (void *)&glDrawBuffersARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBImaging.c b/src/native/common/arb/org_lwjgl_opengl_ARBImaging.c index c72ffdbb..26b16d6d 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBImaging.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBImaging.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetSeparableFilterPROC) (GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); @@ -38,296 +39,255 @@ typedef void (APIENTRY *glColorTableParameterivPROC) (GLenum target, GLenum pnam typedef void (APIENTRY *glColorSubTablePROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data); typedef void (APIENTRY *glColorTablePROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid * data); -static glGetSeparableFilterPROC glGetSeparableFilter; -static glSeparableFilter2DPROC glSeparableFilter2D; -static glGetConvolutionParameterivPROC glGetConvolutionParameteriv; -static glGetConvolutionParameterfvPROC glGetConvolutionParameterfv; -static glGetConvolutionFilterPROC glGetConvolutionFilter; -static glCopyConvolutionFilter2DPROC glCopyConvolutionFilter2D; -static glCopyConvolutionFilter1DPROC glCopyConvolutionFilter1D; -static glConvolutionParameterivPROC glConvolutionParameteriv; -static glConvolutionParameteriPROC glConvolutionParameteri; -static glConvolutionParameterfvPROC glConvolutionParameterfv; -static glConvolutionParameterfPROC glConvolutionParameterf; -static glConvolutionFilter2DPROC glConvolutionFilter2D; -static glConvolutionFilter1DPROC glConvolutionFilter1D; -static glGetMinmaxParameterivPROC glGetMinmaxParameteriv; -static glGetMinmaxParameterfvPROC glGetMinmaxParameterfv; -static glGetMinmaxPROC glGetMinmax; -static glResetMinmaxPROC glResetMinmax; -static glMinmaxPROC glMinmax; -static glGetHistogramParameterivPROC glGetHistogramParameteriv; -static glGetHistogramParameterfvPROC glGetHistogramParameterfv; -static glGetHistogramPROC glGetHistogram; -static glResetHistogramPROC glResetHistogram; -static glHistogramPROC glHistogram; -static glBlendColorPROC glBlendColor; -static glBlendEquationPROC glBlendEquation; -static glGetColorTableParameterfvPROC glGetColorTableParameterfv; -static glGetColorTableParameterivPROC glGetColorTableParameteriv; -static glGetColorTablePROC glGetColorTable; -static glCopyColorTablePROC glCopyColorTable; -static glCopyColorSubTablePROC glCopyColorSubTable; -static glColorTableParameterfvPROC glColorTableParameterfv; -static glColorTableParameterivPROC glColorTableParameteriv; -static glColorSubTablePROC glColorSubTable; -static glColorTablePROC glColorTable; - -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilter(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject row, jint row_position, jobject column, jint column_position, jobject span, jint span_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilter(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject row, jint row_position, jobject column, jint column_position, jobject span, jint span_position, jlong function_pointer) { GLvoid *row_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, row)) + row_position)); GLvoid *column_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, column)) + column_position)); GLvoid *span_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, span)) + span_position)); + glGetSeparableFilterPROC glGetSeparableFilter = (glGetSeparableFilterPROC)((intptr_t)function_pointer); glGetSeparableFilter(target, format, type, row_address, column_address, span_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilterBO(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jint row_buffer_offset, jint column_buffer_offset, jint span_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilterBO(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jint row_buffer_offset, jint column_buffer_offset, jint span_buffer_offset, jlong function_pointer) { GLvoid *row_address = ((GLvoid *)offsetToPointer(row_buffer_offset)); GLvoid *column_address = ((GLvoid *)offsetToPointer(column_buffer_offset)); GLvoid *span_address = ((GLvoid *)offsetToPointer(span_buffer_offset)); + glGetSeparableFilterPROC glGetSeparableFilter = (glGetSeparableFilterPROC)((intptr_t)function_pointer); glGetSeparableFilter(target, format, type, row_address, column_address, span_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglSeparableFilter2D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jobject row, jint row_position, jobject column, jint column_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglSeparableFilter2D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jobject row, jint row_position, jobject column, jint column_position, jlong function_pointer) { const GLvoid *row_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, row)) + row_position)); const GLvoid *column_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, column)) + column_position)); + glSeparableFilter2DPROC glSeparableFilter2D = (glSeparableFilter2DPROC)((intptr_t)function_pointer); glSeparableFilter2D(target, internalformat, width, height, format, type, row_address, column_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglSeparableFilter2DBO(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jint row_buffer_offset, jint column_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglSeparableFilter2DBO(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jint row_buffer_offset, jint column_buffer_offset, jlong function_pointer) { const GLvoid *row_address = ((const GLvoid *)offsetToPointer(row_buffer_offset)); const GLvoid *column_address = ((const GLvoid *)offsetToPointer(column_buffer_offset)); + glSeparableFilter2DPROC glSeparableFilter2D = (glSeparableFilter2DPROC)((intptr_t)function_pointer); glSeparableFilter2D(target, internalformat, width, height, format, type, row_address, column_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetConvolutionParameterivPROC glGetConvolutionParameteriv = (glGetConvolutionParameterivPROC)((intptr_t)function_pointer); glGetConvolutionParameteriv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetConvolutionParameterfvPROC glGetConvolutionParameterfv = (glGetConvolutionParameterfvPROC)((intptr_t)function_pointer); glGetConvolutionParameterfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionFilter(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject image, jint image_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionFilter(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject image, jint image_position, jlong function_pointer) { GLvoid *image_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, image)) + image_position)); + glGetConvolutionFilterPROC glGetConvolutionFilter = (glGetConvolutionFilterPROC)((intptr_t)function_pointer); glGetConvolutionFilter(target, format, type, image_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionFilterBO(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jint image_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionFilterBO(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jint image_buffer_offset, jlong function_pointer) { GLvoid *image_address = ((GLvoid *)offsetToPointer(image_buffer_offset)); + glGetConvolutionFilterPROC glGetConvolutionFilter = (glGetConvolutionFilterPROC)((intptr_t)function_pointer); glGetConvolutionFilter(target, format, type, image_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glCopyConvolutionFilter2D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint x, jint y, jint width, jint height) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglCopyConvolutionFilter2D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint x, jint y, jint width, jint height, jlong function_pointer) { + glCopyConvolutionFilter2DPROC glCopyConvolutionFilter2D = (glCopyConvolutionFilter2DPROC)((intptr_t)function_pointer); glCopyConvolutionFilter2D(target, internalformat, x, y, width, height); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glCopyConvolutionFilter1D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint x, jint y, jint width) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglCopyConvolutionFilter1D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint x, jint y, jint width, jlong function_pointer) { + glCopyConvolutionFilter1DPROC glCopyConvolutionFilter1D = (glCopyConvolutionFilter1DPROC)((intptr_t)function_pointer); glCopyConvolutionFilter1D(target, internalformat, x, y, width); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glConvolutionParameterivPROC glConvolutionParameteriv = (glConvolutionParameterivPROC)((intptr_t)function_pointer); glConvolutionParameteriv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glConvolutionParameteri(JNIEnv *env, jclass clazz, jint target, jint pname, jint params) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameteri(JNIEnv *env, jclass clazz, jint target, jint pname, jint params, jlong function_pointer) { + glConvolutionParameteriPROC glConvolutionParameteri = (glConvolutionParameteriPROC)((intptr_t)function_pointer); glConvolutionParameteri(target, pname, params); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glConvolutionParameterfvPROC glConvolutionParameterfv = (glConvolutionParameterfvPROC)((intptr_t)function_pointer); glConvolutionParameterfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glConvolutionParameterf(JNIEnv *env, jclass clazz, jint target, jint pname, jfloat params) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameterf(JNIEnv *env, jclass clazz, jint target, jint pname, jfloat params, jlong function_pointer) { + glConvolutionParameterfPROC glConvolutionParameterf = (glConvolutionParameterfPROC)((intptr_t)function_pointer); glConvolutionParameterf(target, pname, params); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter2D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jobject image, jint image_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter2D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jobject image, jint image_position, jlong function_pointer) { GLvoid *image_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, image)) + image_position)); + glConvolutionFilter2DPROC glConvolutionFilter2D = (glConvolutionFilter2DPROC)((intptr_t)function_pointer); glConvolutionFilter2D(target, internalformat, width, height, format, type, image_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter2DBO(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jint image_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter2DBO(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jint format, jint type, jint image_buffer_offset, jlong function_pointer) { GLvoid *image_address = ((GLvoid *)offsetToPointer(image_buffer_offset)); + glConvolutionFilter2DPROC glConvolutionFilter2D = (glConvolutionFilter2DPROC)((intptr_t)function_pointer); glConvolutionFilter2D(target, internalformat, width, height, format, type, image_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter1D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint format, jint type, jobject image, jint image_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter1D(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint format, jint type, jobject image, jint image_position, jlong function_pointer) { GLvoid *image_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, image)) + image_position)); + glConvolutionFilter1DPROC glConvolutionFilter1D = (glConvolutionFilter1DPROC)((intptr_t)function_pointer); glConvolutionFilter1D(target, internalformat, width, format, type, image_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter1DBO(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint format, jint type, jint image_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter1DBO(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint format, jint type, jint image_buffer_offset, jlong function_pointer) { GLvoid *image_address = ((GLvoid *)offsetToPointer(image_buffer_offset)); + glConvolutionFilter1DPROC glConvolutionFilter1D = (glConvolutionFilter1DPROC)((intptr_t)function_pointer); glConvolutionFilter1D(target, internalformat, width, format, type, image_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMinmaxParameterivPROC glGetMinmaxParameteriv = (glGetMinmaxParameterivPROC)((intptr_t)function_pointer); glGetMinmaxParameteriv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMinmaxParameterfvPROC glGetMinmaxParameterfv = (glGetMinmaxParameterfvPROC)((intptr_t)function_pointer); glGetMinmaxParameterfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmax(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint types, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmax(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint types, jobject values, jint values_position, jlong function_pointer) { GLvoid *values_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, values)) + values_position)); + glGetMinmaxPROC glGetMinmax = (glGetMinmaxPROC)((intptr_t)function_pointer); glGetMinmax(target, reset, format, types, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxBO(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint types, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxBO(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint types, jint values_buffer_offset, jlong function_pointer) { GLvoid *values_address = ((GLvoid *)offsetToPointer(values_buffer_offset)); + glGetMinmaxPROC glGetMinmax = (glGetMinmaxPROC)((intptr_t)function_pointer); glGetMinmax(target, reset, format, types, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glResetMinmax(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglResetMinmax(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glResetMinmaxPROC glResetMinmax = (glResetMinmaxPROC)((intptr_t)function_pointer); glResetMinmax(target); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glMinmax(JNIEnv *env, jclass clazz, jint target, jint internalformat, jboolean sink) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglMinmax(JNIEnv *env, jclass clazz, jint target, jint internalformat, jboolean sink, jlong function_pointer) { + glMinmaxPROC glMinmax = (glMinmaxPROC)((intptr_t)function_pointer); glMinmax(target, internalformat, sink); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetHistogramParameterivPROC glGetHistogramParameteriv = (glGetHistogramParameterivPROC)((intptr_t)function_pointer); glGetHistogramParameteriv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetHistogramParameterfvPROC glGetHistogramParameterfv = (glGetHistogramParameterfvPROC)((intptr_t)function_pointer); glGetHistogramParameterfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogram(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint type, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogram(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint type, jobject values, jint values_position, jlong function_pointer) { GLvoid *values_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, values)) + values_position)); + glGetHistogramPROC glGetHistogram = (glGetHistogramPROC)((intptr_t)function_pointer); glGetHistogram(target, reset, format, type, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramBO(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint type, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramBO(JNIEnv *env, jclass clazz, jint target, jboolean reset, jint format, jint type, jint values_buffer_offset, jlong function_pointer) { GLvoid *values_address = ((GLvoid *)offsetToPointer(values_buffer_offset)); + glGetHistogramPROC glGetHistogram = (glGetHistogramPROC)((intptr_t)function_pointer); glGetHistogram(target, reset, format, type, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glResetHistogram(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglResetHistogram(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glResetHistogramPROC glResetHistogram = (glResetHistogramPROC)((intptr_t)function_pointer); glResetHistogram(target); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glHistogram(JNIEnv *env, jclass clazz, jint target, jint width, jint internalformat, jboolean sink) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglHistogram(JNIEnv *env, jclass clazz, jint target, jint width, jint internalformat, jboolean sink, jlong function_pointer) { + glHistogramPROC glHistogram = (glHistogramPROC)((intptr_t)function_pointer); glHistogram(target, width, internalformat, sink); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glBlendColor(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglBlendColor(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha, jlong function_pointer) { + glBlendColorPROC glBlendColor = (glBlendColorPROC)((intptr_t)function_pointer); glBlendColor(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glBlendEquation(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglBlendEquation(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glBlendEquationPROC glBlendEquation = (glBlendEquationPROC)((intptr_t)function_pointer); glBlendEquation(mode); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetColorTableParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetColorTableParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetColorTableParameterfvPROC glGetColorTableParameterfv = (glGetColorTableParameterfvPROC)((intptr_t)function_pointer); glGetColorTableParameterfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetColorTableParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetColorTableParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetColorTableParameterivPROC glGetColorTableParameteriv = (glGetColorTableParameterivPROC)((intptr_t)function_pointer); glGetColorTableParameteriv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetColorTable(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglGetColorTable(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject data, jint data_position, jlong function_pointer) { GLvoid *data_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glGetColorTablePROC glGetColorTable = (glGetColorTablePROC)((intptr_t)function_pointer); glGetColorTable(target, format, type, data_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glCopyColorTable(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint x, jint y, jint width) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglCopyColorTable(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint x, jint y, jint width, jlong function_pointer) { + glCopyColorTablePROC glCopyColorTable = (glCopyColorTablePROC)((intptr_t)function_pointer); glCopyColorTable(target, internalformat, x, y, width); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_glCopyColorSubTable(JNIEnv *env, jclass clazz, jint target, jint start, jint x, jint y, jint width) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglCopyColorSubTable(JNIEnv *env, jclass clazz, jint target, jint start, jint x, jint y, jint width, jlong function_pointer) { + glCopyColorSubTablePROC glCopyColorSubTable = (glCopyColorSubTablePROC)((intptr_t)function_pointer); glCopyColorSubTable(target, start, x, y, width); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTableParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTableParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glColorTableParameterfvPROC glColorTableParameterfv = (glColorTableParameterfvPROC)((intptr_t)function_pointer); glColorTableParameterfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTableParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTableParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glColorTableParameterivPROC glColorTableParameteriv = (glColorTableParameterivPROC)((intptr_t)function_pointer); glColorTableParameteriv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorSubTable(JNIEnv *env, jclass clazz, jint target, jint start, jint count, jint format, jint type, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorSubTable(JNIEnv *env, jclass clazz, jint target, jint start, jint count, jint format, jint type, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glColorSubTablePROC glColorSubTable = (glColorSubTablePROC)((intptr_t)function_pointer); glColorSubTable(target, start, count, format, type, data_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorSubTableBO(JNIEnv *env, jclass clazz, jint target, jint start, jint count, jint format, jint type, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorSubTableBO(JNIEnv *env, jclass clazz, jint target, jint start, jint count, jint format, jint type, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glColorSubTablePROC glColorSubTable = (glColorSubTablePROC)((intptr_t)function_pointer); glColorSubTable(target, start, count, format, type, data_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTable(JNIEnv *env, jclass clazz, jint target, jint internalFormat, jint width, jint format, jint type, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTable(JNIEnv *env, jclass clazz, jint target, jint internalFormat, jint width, jint format, jint type, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glColorTablePROC glColorTable = (glColorTablePROC)((intptr_t)function_pointer); glColorTable(target, internalFormat, width, format, type, data_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTableBO(JNIEnv *env, jclass clazz, jint target, jint internalFormat, jint width, jint format, jint type, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_nglColorTableBO(JNIEnv *env, jclass clazz, jint target, jint internalFormat, jint width, jint format, jint type, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glColorTablePROC glColorTable = (glColorTablePROC)((intptr_t)function_pointer); glColorTable(target, internalFormat, width, format, type, data_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBImaging_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetSeparableFilter", "(IIILjava/nio/Buffer;ILjava/nio/Buffer;ILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilter, "glGetSeparableFilter", (void *)&glGetSeparableFilter}, - {"nglGetSeparableFilterBO", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetSeparableFilterBO, "glGetSeparableFilter", (void *)&glGetSeparableFilter}, - {"nglSeparableFilter2D", "(IIIIIILjava/nio/Buffer;ILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglSeparableFilter2D, "glSeparableFilter2D", (void *)&glSeparableFilter2D}, - {"nglSeparableFilter2DBO", "(IIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglSeparableFilter2DBO, "glSeparableFilter2D", (void *)&glSeparableFilter2D}, - {"nglGetConvolutionParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionParameteriv, "glGetConvolutionParameteriv", (void *)&glGetConvolutionParameteriv}, - {"nglGetConvolutionParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionParameterfv, "glGetConvolutionParameterfv", (void *)&glGetConvolutionParameterfv}, - {"nglGetConvolutionFilter", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionFilter, "glGetConvolutionFilter", (void *)&glGetConvolutionFilter}, - {"nglGetConvolutionFilterBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetConvolutionFilterBO, "glGetConvolutionFilter", (void *)&glGetConvolutionFilter}, - {"glCopyConvolutionFilter2D", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glCopyConvolutionFilter2D, "glCopyConvolutionFilter2D", (void *)&glCopyConvolutionFilter2D}, - {"glCopyConvolutionFilter1D", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glCopyConvolutionFilter1D, "glCopyConvolutionFilter1D", (void *)&glCopyConvolutionFilter1D}, - {"nglConvolutionParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameteriv, "glConvolutionParameteriv", (void *)&glConvolutionParameteriv}, - {"glConvolutionParameteri", "(III)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glConvolutionParameteri, "glConvolutionParameteri", (void *)&glConvolutionParameteri}, - {"nglConvolutionParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglConvolutionParameterfv, "glConvolutionParameterfv", (void *)&glConvolutionParameterfv}, - {"glConvolutionParameterf", "(IIF)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glConvolutionParameterf, "glConvolutionParameterf", (void *)&glConvolutionParameterf}, - {"nglConvolutionFilter2D", "(IIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter2D, "glConvolutionFilter2D", (void *)&glConvolutionFilter2D}, - {"nglConvolutionFilter2DBO", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter2DBO, "glConvolutionFilter2D", (void *)&glConvolutionFilter2D}, - {"nglConvolutionFilter1D", "(IIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter1D, "glConvolutionFilter1D", (void *)&glConvolutionFilter1D}, - {"nglConvolutionFilter1DBO", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglConvolutionFilter1DBO, "glConvolutionFilter1D", (void *)&glConvolutionFilter1D}, - {"nglGetMinmaxParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxParameteriv, "glGetMinmaxParameteriv", (void *)&glGetMinmaxParameteriv}, - {"nglGetMinmaxParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxParameterfv, "glGetMinmaxParameterfv", (void *)&glGetMinmaxParameterfv}, - {"nglGetMinmax", "(IZIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetMinmax, "glGetMinmax", (void *)&glGetMinmax}, - {"nglGetMinmaxBO", "(IZIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetMinmaxBO, "glGetMinmax", (void *)&glGetMinmax}, - {"glResetMinmax", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glResetMinmax, "glResetMinmax", (void *)&glResetMinmax}, - {"glMinmax", "(IIZ)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glMinmax, "glMinmax", (void *)&glMinmax}, - {"nglGetHistogramParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramParameteriv, "glGetHistogramParameteriv", (void *)&glGetHistogramParameteriv}, - {"nglGetHistogramParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramParameterfv, "glGetHistogramParameterfv", (void *)&glGetHistogramParameterfv}, - {"nglGetHistogram", "(IZIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetHistogram, "glGetHistogram", (void *)&glGetHistogram}, - {"nglGetHistogramBO", "(IZIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetHistogramBO, "glGetHistogram", (void *)&glGetHistogram}, - {"glResetHistogram", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glResetHistogram, "glResetHistogram", (void *)&glResetHistogram}, - {"glHistogram", "(IIIZ)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glHistogram, "glHistogram", (void *)&glHistogram}, - {"glBlendColor", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glBlendColor, "glBlendColor", (void *)&glBlendColor}, - {"glBlendEquation", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glBlendEquation, "glBlendEquation", (void *)&glBlendEquation}, - {"nglGetColorTableParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetColorTableParameterfv, "glGetColorTableParameterfv", (void *)&glGetColorTableParameterfv}, - {"nglGetColorTableParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetColorTableParameteriv, "glGetColorTableParameteriv", (void *)&glGetColorTableParameteriv}, - {"nglGetColorTable", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglGetColorTable, "glGetColorTable", (void *)&glGetColorTable}, - {"glCopyColorTable", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glCopyColorTable, "glCopyColorTable", (void *)&glCopyColorTable}, - {"glCopyColorSubTable", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_glCopyColorSubTable, "glCopyColorSubTable", (void *)&glCopyColorSubTable}, - {"nglColorTableParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglColorTableParameterfv, "glColorTableParameterfv", (void *)&glColorTableParameterfv}, - {"nglColorTableParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglColorTableParameteriv, "glColorTableParameteriv", (void *)&glColorTableParameteriv}, - {"nglColorSubTable", "(IIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglColorSubTable, "glColorSubTable", (void *)&glColorSubTable}, - {"nglColorSubTableBO", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglColorSubTableBO, "glColorSubTable", (void *)&glColorSubTable}, - {"nglColorTable", "(IIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglColorTable, "glColorTable", (void *)&glColorTable}, - {"nglColorTableBO", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBImaging_nglColorTableBO, "glColorTable", (void *)&glColorTable} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBMatrixPalette.c b/src/native/common/arb/org_lwjgl_opengl_ARBMatrixPalette.c index 1b8f03f1..10eb133b 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBMatrixPalette.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBMatrixPalette.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glMatrixIndexuivARBPROC) (GLint size, GLuint * pIndices); @@ -9,50 +10,38 @@ typedef void (APIENTRY *glMatrixIndexubvARBPROC) (GLint size, GLubyte * pIndices typedef void (APIENTRY *glMatrixIndexPointerARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid * pPointer); typedef void (APIENTRY *glCurrentPaletteMatrixARBPROC) (GLint index); -static glMatrixIndexuivARBPROC glMatrixIndexuivARB; -static glMatrixIndexusvARBPROC glMatrixIndexusvARB; -static glMatrixIndexubvARBPROC glMatrixIndexubvARB; -static glMatrixIndexPointerARBPROC glMatrixIndexPointerARB; -static glCurrentPaletteMatrixARBPROC glCurrentPaletteMatrixARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexuivARB(JNIEnv *env, jclass clazz, jint size, jobject pIndices, jint pIndices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexuivARB(JNIEnv *env, jclass clazz, jint size, jobject pIndices, jint pIndices_position, jlong function_pointer) { GLuint *pIndices_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, pIndices)) + pIndices_position; + glMatrixIndexuivARBPROC glMatrixIndexuivARB = (glMatrixIndexuivARBPROC)((intptr_t)function_pointer); glMatrixIndexuivARB(size, pIndices_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexusvARB(JNIEnv *env, jclass clazz, jint size, jobject pIndices, jint pIndices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexusvARB(JNIEnv *env, jclass clazz, jint size, jobject pIndices, jint pIndices_position, jlong function_pointer) { GLushort *pIndices_address = ((GLushort *)(*env)->GetDirectBufferAddress(env, pIndices)) + pIndices_position; + glMatrixIndexusvARBPROC glMatrixIndexusvARB = (glMatrixIndexusvARBPROC)((intptr_t)function_pointer); glMatrixIndexusvARB(size, pIndices_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexubvARB(JNIEnv *env, jclass clazz, jint size, jobject pIndices, jint pIndices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexubvARB(JNIEnv *env, jclass clazz, jint size, jobject pIndices, jint pIndices_position, jlong function_pointer) { GLubyte *pIndices_address = ((GLubyte *)(*env)->GetDirectBufferAddress(env, pIndices)) + pIndices_position; + glMatrixIndexubvARBPROC glMatrixIndexubvARB = (glMatrixIndexubvARBPROC)((intptr_t)function_pointer); glMatrixIndexubvARB(size, pIndices_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARB(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARB(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position, jlong function_pointer) { GLvoid *pPointer_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPointer)) + pPointer_position)); + glMatrixIndexPointerARBPROC glMatrixIndexPointerARB = (glMatrixIndexPointerARBPROC)((intptr_t)function_pointer); glMatrixIndexPointerARB(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARBBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARBBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset, jlong function_pointer) { GLvoid *pPointer_address = ((GLvoid *)offsetToPointer(pPointer_buffer_offset)); + glMatrixIndexPointerARBPROC glMatrixIndexPointerARB = (glMatrixIndexPointerARBPROC)((intptr_t)function_pointer); glMatrixIndexPointerARB(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_glCurrentPaletteMatrixARB(JNIEnv *env, jclass clazz, jint index) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_nglCurrentPaletteMatrixARB(JNIEnv *env, jclass clazz, jint index, jlong function_pointer) { + glCurrentPaletteMatrixARBPROC glCurrentPaletteMatrixARB = (glCurrentPaletteMatrixARBPROC)((intptr_t)function_pointer); glCurrentPaletteMatrixARB(index); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMatrixPalette_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglMatrixIndexuivARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexuivARB, "glMatrixIndexuivARB", (void *)&glMatrixIndexuivARB}, - {"nglMatrixIndexusvARB", "(ILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexusvARB, "glMatrixIndexusvARB", (void *)&glMatrixIndexusvARB}, - {"nglMatrixIndexubvARB", "(ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexubvARB, "glMatrixIndexubvARB", (void *)&glMatrixIndexubvARB}, - {"nglMatrixIndexPointerARB", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARB, "glMatrixIndexPointerARB", (void *)&glMatrixIndexPointerARB}, - {"nglMatrixIndexPointerARBBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ARBMatrixPalette_nglMatrixIndexPointerARBBO, "glMatrixIndexPointerARB", (void *)&glMatrixIndexPointerARB}, - {"glCurrentPaletteMatrixARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBMatrixPalette_glCurrentPaletteMatrixARB, "glCurrentPaletteMatrixARB", (void *)&glCurrentPaletteMatrixARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBMultisample.c b/src/native/common/arb/org_lwjgl_opengl_ARBMultisample.c index 411c032e..2b993557 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBMultisample.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBMultisample.c @@ -1,20 +1,13 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glSampleCoverageARBPROC) (GLclampf value, GLboolean invert); -static glSampleCoverageARBPROC glSampleCoverageARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBMultisample_glSampleCoverageARB(JNIEnv *env, jclass clazz, jfloat value, jboolean invert) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultisample_nglSampleCoverageARB(JNIEnv *env, jclass clazz, jfloat value, jboolean invert, jlong function_pointer) { + glSampleCoverageARBPROC glSampleCoverageARB = (glSampleCoverageARBPROC)((intptr_t)function_pointer); glSampleCoverageARB(value, invert); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultisample_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glSampleCoverageARB", "(FZ)V", (void *)&Java_org_lwjgl_opengl_ARBMultisample_glSampleCoverageARB, "glSampleCoverageARB", (void *)&glSampleCoverageARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBMultitexture.c b/src/native/common/arb/org_lwjgl_opengl_ARBMultitexture.c index bd4ebc55..7306dcc9 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBMultitexture.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBMultitexture.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glMultiTexCoord4sARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); @@ -18,94 +19,73 @@ typedef void (APIENTRY *glMultiTexCoord1fARBPROC) (GLenum target, GLfloat s); typedef void (APIENTRY *glActiveTextureARBPROC) (GLenum texture); typedef void (APIENTRY *glClientActiveTextureARBPROC) (GLenum texture); -static glMultiTexCoord4sARBPROC glMultiTexCoord4sARB; -static glMultiTexCoord4iARBPROC glMultiTexCoord4iARB; -static glMultiTexCoord4fARBPROC glMultiTexCoord4fARB; -static glMultiTexCoord3sARBPROC glMultiTexCoord3sARB; -static glMultiTexCoord3iARBPROC glMultiTexCoord3iARB; -static glMultiTexCoord3fARBPROC glMultiTexCoord3fARB; -static glMultiTexCoord2sARBPROC glMultiTexCoord2sARB; -static glMultiTexCoord2iARBPROC glMultiTexCoord2iARB; -static glMultiTexCoord2fARBPROC glMultiTexCoord2fARB; -static glMultiTexCoord1sARBPROC glMultiTexCoord1sARB; -static glMultiTexCoord1iARBPROC glMultiTexCoord1iARB; -static glMultiTexCoord1fARBPROC glMultiTexCoord1fARB; -static glActiveTextureARBPROC glActiveTextureARB; -static glClientActiveTextureARBPROC glClientActiveTextureARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4sARB(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r, jshort q) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord4sARB(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r, jshort q, jlong function_pointer) { + glMultiTexCoord4sARBPROC glMultiTexCoord4sARB = (glMultiTexCoord4sARBPROC)((intptr_t)function_pointer); glMultiTexCoord4sARB(target, s, t, r, q); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4iARB(JNIEnv *env, jclass clazz, jint target, jint s, jint t, jint r, jint q) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord4iARB(JNIEnv *env, jclass clazz, jint target, jint s, jint t, jint r, jint q, jlong function_pointer) { + glMultiTexCoord4iARBPROC glMultiTexCoord4iARB = (glMultiTexCoord4iARBPROC)((intptr_t)function_pointer); glMultiTexCoord4iARB(target, s, t, r, q); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4fARB(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord4fARB(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r, jfloat q, jlong function_pointer) { + glMultiTexCoord4fARBPROC glMultiTexCoord4fARB = (glMultiTexCoord4fARBPROC)((intptr_t)function_pointer); glMultiTexCoord4fARB(target, s, t, r, q); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord3sARB(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord3sARB(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r, jlong function_pointer) { + glMultiTexCoord3sARBPROC glMultiTexCoord3sARB = (glMultiTexCoord3sARBPROC)((intptr_t)function_pointer); glMultiTexCoord3sARB(target, s, t, r); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord3iARB(JNIEnv *env, jclass clazz, jint target, jint s, jint t, jint r) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord3iARB(JNIEnv *env, jclass clazz, jint target, jint s, jint t, jint r, jlong function_pointer) { + glMultiTexCoord3iARBPROC glMultiTexCoord3iARB = (glMultiTexCoord3iARBPROC)((intptr_t)function_pointer); glMultiTexCoord3iARB(target, s, t, r); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord3fARB(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord3fARB(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r, jlong function_pointer) { + glMultiTexCoord3fARBPROC glMultiTexCoord3fARB = (glMultiTexCoord3fARBPROC)((intptr_t)function_pointer); glMultiTexCoord3fARB(target, s, t, r); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord2sARB(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord2sARB(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jlong function_pointer) { + glMultiTexCoord2sARBPROC glMultiTexCoord2sARB = (glMultiTexCoord2sARBPROC)((intptr_t)function_pointer); glMultiTexCoord2sARB(target, s, t); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord2iARB(JNIEnv *env, jclass clazz, jint target, jint s, jint t) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord2iARB(JNIEnv *env, jclass clazz, jint target, jint s, jint t, jlong function_pointer) { + glMultiTexCoord2iARBPROC glMultiTexCoord2iARB = (glMultiTexCoord2iARBPROC)((intptr_t)function_pointer); glMultiTexCoord2iARB(target, s, t); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord2fARB(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord2fARB(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jlong function_pointer) { + glMultiTexCoord2fARBPROC glMultiTexCoord2fARB = (glMultiTexCoord2fARBPROC)((intptr_t)function_pointer); glMultiTexCoord2fARB(target, s, t); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord1sARB(JNIEnv *env, jclass clazz, jint target, jshort s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord1sARB(JNIEnv *env, jclass clazz, jint target, jshort s, jlong function_pointer) { + glMultiTexCoord1sARBPROC glMultiTexCoord1sARB = (glMultiTexCoord1sARBPROC)((intptr_t)function_pointer); glMultiTexCoord1sARB(target, s); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord1iARB(JNIEnv *env, jclass clazz, jint target, jint s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord1iARB(JNIEnv *env, jclass clazz, jint target, jint s, jlong function_pointer) { + glMultiTexCoord1iARBPROC glMultiTexCoord1iARB = (glMultiTexCoord1iARBPROC)((intptr_t)function_pointer); glMultiTexCoord1iARB(target, s); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord1fARB(JNIEnv *env, jclass clazz, jint target, jfloat s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglMultiTexCoord1fARB(JNIEnv *env, jclass clazz, jint target, jfloat s, jlong function_pointer) { + glMultiTexCoord1fARBPROC glMultiTexCoord1fARB = (glMultiTexCoord1fARBPROC)((intptr_t)function_pointer); glMultiTexCoord1fARB(target, s); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glActiveTextureARB(JNIEnv *env, jclass clazz, jint texture) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglActiveTextureARB(JNIEnv *env, jclass clazz, jint texture, jlong function_pointer) { + glActiveTextureARBPROC glActiveTextureARB = (glActiveTextureARBPROC)((intptr_t)function_pointer); glActiveTextureARB(texture); } -static void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_glClientActiveTextureARB(JNIEnv *env, jclass clazz, jint texture) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_nglClientActiveTextureARB(JNIEnv *env, jclass clazz, jint texture, jlong function_pointer) { + glClientActiveTextureARBPROC glClientActiveTextureARB = (glClientActiveTextureARBPROC)((intptr_t)function_pointer); glClientActiveTextureARB(texture); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBMultitexture_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glMultiTexCoord4sARB", "(ISSSS)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4sARB, "glMultiTexCoord4sARB", (void *)&glMultiTexCoord4sARB}, - {"glMultiTexCoord4iARB", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4iARB, "glMultiTexCoord4iARB", (void *)&glMultiTexCoord4iARB}, - {"glMultiTexCoord4fARB", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord4fARB, "glMultiTexCoord4fARB", (void *)&glMultiTexCoord4fARB}, - {"glMultiTexCoord3sARB", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord3sARB, "glMultiTexCoord3sARB", (void *)&glMultiTexCoord3sARB}, - {"glMultiTexCoord3iARB", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord3iARB, "glMultiTexCoord3iARB", (void *)&glMultiTexCoord3iARB}, - {"glMultiTexCoord3fARB", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord3fARB, "glMultiTexCoord3fARB", (void *)&glMultiTexCoord3fARB}, - {"glMultiTexCoord2sARB", "(ISS)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord2sARB, "glMultiTexCoord2sARB", (void *)&glMultiTexCoord2sARB}, - {"glMultiTexCoord2iARB", "(III)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord2iARB, "glMultiTexCoord2iARB", (void *)&glMultiTexCoord2iARB}, - {"glMultiTexCoord2fARB", "(IFF)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord2fARB, "glMultiTexCoord2fARB", (void *)&glMultiTexCoord2fARB}, - {"glMultiTexCoord1sARB", "(IS)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord1sARB, "glMultiTexCoord1sARB", (void *)&glMultiTexCoord1sARB}, - {"glMultiTexCoord1iARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord1iARB, "glMultiTexCoord1iARB", (void *)&glMultiTexCoord1iARB}, - {"glMultiTexCoord1fARB", "(IF)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glMultiTexCoord1fARB, "glMultiTexCoord1fARB", (void *)&glMultiTexCoord1fARB}, - {"glActiveTextureARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glActiveTextureARB, "glActiveTextureARB", (void *)&glActiveTextureARB}, - {"glClientActiveTextureARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBMultitexture_glClientActiveTextureARB, "glClientActiveTextureARB", (void *)&glClientActiveTextureARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBOcclusionQuery.c b/src/native/common/arb/org_lwjgl_opengl_ARBOcclusionQuery.c index 68643d87..065a147a 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBOcclusionQuery.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBOcclusionQuery.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetQueryObjectuivARBPROC) (GLuint id, GLenum pname, GLint * params); @@ -12,64 +13,49 @@ typedef GLboolean (APIENTRY *glIsQueryARBPROC) (GLuint id); typedef void (APIENTRY *glDeleteQueriesARBPROC) (GLsizei n, GLuint * ids); typedef void (APIENTRY *glGenQueriesARBPROC) (GLsizei n, GLuint * ids); -static glGetQueryObjectuivARBPROC glGetQueryObjectuivARB; -static glGetQueryObjectivARBPROC glGetQueryObjectivARB; -static glGetQueryivARBPROC glGetQueryivARB; -static glEndQueryARBPROC glEndQueryARB; -static glBeginQueryARBPROC glBeginQueryARB; -static glIsQueryARBPROC glIsQueryARB; -static glDeleteQueriesARBPROC glDeleteQueriesARB; -static glGenQueriesARBPROC glGenQueriesARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectuivARB(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectuivARB(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetQueryObjectuivARBPROC glGetQueryObjectuivARB = (glGetQueryObjectuivARBPROC)((intptr_t)function_pointer); glGetQueryObjectuivARB(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectivARB(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectivARB(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetQueryObjectivARBPROC glGetQueryObjectivARB = (glGetQueryObjectivARBPROC)((intptr_t)function_pointer); glGetQueryObjectivARB(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryivARB(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryivARB(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetQueryivARBPROC glGetQueryivARB = (glGetQueryivARBPROC)((intptr_t)function_pointer); glGetQueryivARB(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_glEndQueryARB(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglEndQueryARB(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glEndQueryARBPROC glEndQueryARB = (glEndQueryARBPROC)((intptr_t)function_pointer); glEndQueryARB(target); } -static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_glBeginQueryARB(JNIEnv *env, jclass clazz, jint target, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglBeginQueryARB(JNIEnv *env, jclass clazz, jint target, jint id, jlong function_pointer) { + glBeginQueryARBPROC glBeginQueryARB = (glBeginQueryARBPROC)((intptr_t)function_pointer); glBeginQueryARB(target, id); } -static jboolean JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_glIsQueryARB(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglIsQueryARB(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glIsQueryARBPROC glIsQueryARB = (glIsQueryARBPROC)((intptr_t)function_pointer); GLboolean __result = glIsQueryARB(id); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglDeleteQueriesARB(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglDeleteQueriesARB(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position, jlong function_pointer) { GLuint *ids_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, ids)) + ids_position; + glDeleteQueriesARBPROC glDeleteQueriesARB = (glDeleteQueriesARBPROC)((intptr_t)function_pointer); glDeleteQueriesARB(n, ids_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGenQueriesARB(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGenQueriesARB(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position, jlong function_pointer) { GLuint *ids_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, ids)) + ids_position; + glGenQueriesARBPROC glGenQueriesARB = (glGenQueriesARBPROC)((intptr_t)function_pointer); glGenQueriesARB(n, ids_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBOcclusionQuery_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetQueryObjectuivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectuivARB, "glGetQueryObjectuivARB", (void *)&glGetQueryObjectuivARB}, - {"nglGetQueryObjectivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryObjectivARB, "glGetQueryObjectivARB", (void *)&glGetQueryObjectivARB}, - {"nglGetQueryivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGetQueryivARB, "glGetQueryivARB", (void *)&glGetQueryivARB}, - {"glEndQueryARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_glEndQueryARB, "glEndQueryARB", (void *)&glEndQueryARB}, - {"glBeginQueryARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_glBeginQueryARB, "glBeginQueryARB", (void *)&glBeginQueryARB}, - {"glIsQueryARB", "(I)Z", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_glIsQueryARB, "glIsQueryARB", (void *)&glIsQueryARB}, - {"nglDeleteQueriesARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglDeleteQueriesARB, "glDeleteQueriesARB", (void *)&glDeleteQueriesARB}, - {"nglGenQueriesARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBOcclusionQuery_nglGenQueriesARB, "glGenQueriesARB", (void *)&glGenQueriesARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBPointParameters.c b/src/native/common/arb/org_lwjgl_opengl_ARBPointParameters.c index c4cc2c67..2a567a5c 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBPointParameters.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBPointParameters.c @@ -1,28 +1,20 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glPointParameterfvARBPROC) (GLenum pname, GLfloat * pfParams); typedef void (APIENTRY *glPointParameterfARBPROC) (GLenum pname, GLfloat param); -static glPointParameterfvARBPROC glPointParameterfvARB; -static glPointParameterfARBPROC glPointParameterfARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBPointParameters_nglPointParameterfvARB(JNIEnv *env, jclass clazz, jint pname, jobject pfParams, jint pfParams_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBPointParameters_nglPointParameterfvARB(JNIEnv *env, jclass clazz, jint pname, jobject pfParams, jint pfParams_position, jlong function_pointer) { GLfloat *pfParams_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pfParams)) + pfParams_position; + glPointParameterfvARBPROC glPointParameterfvARB = (glPointParameterfvARBPROC)((intptr_t)function_pointer); glPointParameterfvARB(pname, pfParams_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBPointParameters_glPointParameterfARB(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBPointParameters_nglPointParameterfARB(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glPointParameterfARBPROC glPointParameterfARB = (glPointParameterfARBPROC)((intptr_t)function_pointer); glPointParameterfARB(pname, param); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBPointParameters_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglPointParameterfvARB", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBPointParameters_nglPointParameterfvARB, "glPointParameterfvARB", (void *)&glPointParameterfvARB}, - {"glPointParameterfARB", "(IF)V", (void *)&Java_org_lwjgl_opengl_ARBPointParameters_glPointParameterfARB, "glPointParameterfARB", (void *)&glPointParameterfARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBProgram.c b/src/native/common/arb/org_lwjgl_opengl_ARBProgram.c index 615a9a91..56079bb4 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBProgram.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBProgram.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef GLboolean (APIENTRY *glIsProgramARBPROC) (GLuint program); @@ -17,98 +18,78 @@ typedef void (APIENTRY *glDeleteProgramsARBPROC) (GLsizei n, const GLuint * prog typedef void (APIENTRY *glBindProgramARBPROC) (GLenum target, GLuint program); typedef void (APIENTRY *glProgramStringARBPROC) (GLenum target, GLenum format, GLsizei length, const GLvoid * string); -static glIsProgramARBPROC glIsProgramARB; -static glGetProgramStringARBPROC glGetProgramStringARB; -static glGetProgramivARBPROC glGetProgramivARB; -static glGetProgramLocalParameterfvARBPROC glGetProgramLocalParameterfvARB; -static glGetProgramEnvParameterfvARBPROC glGetProgramEnvParameterfvARB; -static glProgramLocalParameter4fvARBPROC glProgramLocalParameter4fvARB; -static glProgramLocalParameter4fARBPROC glProgramLocalParameter4fARB; -static glProgramEnvParameter4fvARBPROC glProgramEnvParameter4fvARB; -static glProgramEnvParameter4fARBPROC glProgramEnvParameter4fARB; -static glGenProgramsARBPROC glGenProgramsARB; -static glDeleteProgramsARBPROC glDeleteProgramsARB; -static glBindProgramARBPROC glBindProgramARB; -static glProgramStringARBPROC glProgramStringARB; - -static jboolean JNICALL Java_org_lwjgl_opengl_ARBProgram_glIsProgramARB(JNIEnv *env, jclass clazz, jint program) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ARBProgram_nglIsProgramARB(JNIEnv *env, jclass clazz, jint program, jlong function_pointer) { + glIsProgramARBPROC glIsProgramARB = (glIsProgramARBPROC)((intptr_t)function_pointer); GLboolean __result = glIsProgramARB(program); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramStringARB(JNIEnv *env, jclass clazz, jint target, jint parameterName, jobject paramString, jint paramString_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramStringARB(JNIEnv *env, jclass clazz, jint target, jint parameterName, jobject paramString, jint paramString_position, jlong function_pointer) { GLvoid *paramString_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, paramString)) + paramString_position)); + glGetProgramStringARBPROC glGetProgramStringARB = (glGetProgramStringARBPROC)((intptr_t)function_pointer); glGetProgramStringARB(target, parameterName, paramString_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramivARB(JNIEnv *env, jclass clazz, jint target, jint parameterName, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramivARB(JNIEnv *env, jclass clazz, jint target, jint parameterName, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramivARBPROC glGetProgramivARB = (glGetProgramivARBPROC)((intptr_t)function_pointer); glGetProgramivARB(target, parameterName, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramLocalParameterfvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramLocalParameterfvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramLocalParameterfvARBPROC glGetProgramLocalParameterfvARB = (glGetProgramLocalParameterfvARBPROC)((intptr_t)function_pointer); glGetProgramLocalParameterfvARB(target, index, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramEnvParameterfvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGetProgramEnvParameterfvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramEnvParameterfvARBPROC glGetProgramEnvParameterfvARB = (glGetProgramEnvParameterfvARBPROC)((intptr_t)function_pointer); glGetProgramEnvParameterfvARB(target, index, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramLocalParameter4fvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramLocalParameter4fvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glProgramLocalParameter4fvARBPROC glProgramLocalParameter4fvARB = (glProgramLocalParameter4fvARBPROC)((intptr_t)function_pointer); glProgramLocalParameter4fvARB(target, index, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_glProgramLocalParameter4fARB(JNIEnv *env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramLocalParameter4fARB(JNIEnv *env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glProgramLocalParameter4fARBPROC glProgramLocalParameter4fARB = (glProgramLocalParameter4fARBPROC)((intptr_t)function_pointer); glProgramLocalParameter4fARB(target, index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramEnvParameter4fvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramEnvParameter4fvARB(JNIEnv *env, jclass clazz, jint target, jint index, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glProgramEnvParameter4fvARBPROC glProgramEnvParameter4fvARB = (glProgramEnvParameter4fvARBPROC)((intptr_t)function_pointer); glProgramEnvParameter4fvARB(target, index, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_glProgramEnvParameter4fARB(JNIEnv *env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramEnvParameter4fARB(JNIEnv *env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glProgramEnvParameter4fARBPROC glProgramEnvParameter4fARB = (glProgramEnvParameter4fARBPROC)((intptr_t)function_pointer); glProgramEnvParameter4fARB(target, index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGenProgramsARB(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglGenProgramsARB(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position, jlong function_pointer) { GLuint *programs_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, programs)) + programs_position; + glGenProgramsARBPROC glGenProgramsARB = (glGenProgramsARBPROC)((intptr_t)function_pointer); glGenProgramsARB(n, programs_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglDeleteProgramsARB(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglDeleteProgramsARB(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position, jlong function_pointer) { const GLuint *programs_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, programs)) + programs_position; + glDeleteProgramsARBPROC glDeleteProgramsARB = (glDeleteProgramsARBPROC)((intptr_t)function_pointer); glDeleteProgramsARB(n, programs_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_glBindProgramARB(JNIEnv *env, jclass clazz, jint target, jint program) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglBindProgramARB(JNIEnv *env, jclass clazz, jint target, jint program, jlong function_pointer) { + glBindProgramARBPROC glBindProgramARB = (glBindProgramARBPROC)((intptr_t)function_pointer); glBindProgramARB(target, program); } -static void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramStringARB(JNIEnv *env, jclass clazz, jint target, jint format, jint length, jobject string, jint string_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_nglProgramStringARB(JNIEnv *env, jclass clazz, jint target, jint format, jint length, jobject string, jint string_position, jlong function_pointer) { const GLvoid *string_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, string)) + string_position)); + glProgramStringARBPROC glProgramStringARB = (glProgramStringARBPROC)((intptr_t)function_pointer); glProgramStringARB(target, format, length, string_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBProgram_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glIsProgramARB", "(I)Z", (void *)&Java_org_lwjgl_opengl_ARBProgram_glIsProgramARB, "glIsProgramARB", (void *)&glIsProgramARB}, - {"nglGetProgramStringARB", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglGetProgramStringARB, "glGetProgramStringARB", (void *)&glGetProgramStringARB}, - {"nglGetProgramivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglGetProgramivARB, "glGetProgramivARB", (void *)&glGetProgramivARB}, - {"nglGetProgramLocalParameterfvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglGetProgramLocalParameterfvARB, "glGetProgramLocalParameterfvARB", (void *)&glGetProgramLocalParameterfvARB}, - {"nglGetProgramEnvParameterfvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglGetProgramEnvParameterfvARB, "glGetProgramEnvParameterfvARB", (void *)&glGetProgramEnvParameterfvARB}, - {"nglProgramLocalParameter4fvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglProgramLocalParameter4fvARB, "glProgramLocalParameter4fvARB", (void *)&glProgramLocalParameter4fvARB}, - {"glProgramLocalParameter4fARB", "(IIFFFF)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_glProgramLocalParameter4fARB, "glProgramLocalParameter4fARB", (void *)&glProgramLocalParameter4fARB}, - {"nglProgramEnvParameter4fvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglProgramEnvParameter4fvARB, "glProgramEnvParameter4fvARB", (void *)&glProgramEnvParameter4fvARB}, - {"glProgramEnvParameter4fARB", "(IIFFFF)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_glProgramEnvParameter4fARB, "glProgramEnvParameter4fARB", (void *)&glProgramEnvParameter4fARB}, - {"nglGenProgramsARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglGenProgramsARB, "glGenProgramsARB", (void *)&glGenProgramsARB}, - {"nglDeleteProgramsARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglDeleteProgramsARB, "glDeleteProgramsARB", (void *)&glDeleteProgramsARB}, - {"glBindProgramARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_glBindProgramARB, "glBindProgramARB", (void *)&glBindProgramARB}, - {"nglProgramStringARB", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBProgram_nglProgramStringARB, "glProgramStringARB", (void *)&glProgramStringARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBShaderObjects.c b/src/native/common/arb/org_lwjgl_opengl_ARBShaderObjects.c index 4ed2a1ce..6b52fb70 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBShaderObjects.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBShaderObjects.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetShaderSourceARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source); @@ -43,275 +44,229 @@ typedef void (APIENTRY *glDetachObjectARBPROC) (GLhandleARB containerObj, GLhand typedef GLhandleARB (APIENTRY *glGetHandleARBPROC) (GLenum pname); typedef void (APIENTRY *glDeleteObjectARBPROC) (GLhandleARB obj); -static glGetShaderSourceARBPROC glGetShaderSourceARB; -static glGetUniformivARBPROC glGetUniformivARB; -static glGetUniformfvARBPROC glGetUniformfvARB; -static glGetActiveUniformARBPROC glGetActiveUniformARB; -static glGetUniformLocationARBPROC glGetUniformLocationARB; -static glGetAttachedObjectsARBPROC glGetAttachedObjectsARB; -static glGetInfoLogARBPROC glGetInfoLogARB; -static glGetObjectParameterivARBPROC glGetObjectParameterivARB; -static glGetObjectParameterfvARBPROC glGetObjectParameterfvARB; -static glUniformMatrix4fvARBPROC glUniformMatrix4fvARB; -static glUniformMatrix3fvARBPROC glUniformMatrix3fvARB; -static glUniformMatrix2fvARBPROC glUniformMatrix2fvARB; -static glUniform4ivARBPROC glUniform4ivARB; -static glUniform3ivARBPROC glUniform3ivARB; -static glUniform2ivARBPROC glUniform2ivARB; -static glUniform1ivARBPROC glUniform1ivARB; -static glUniform4fvARBPROC glUniform4fvARB; -static glUniform3fvARBPROC glUniform3fvARB; -static glUniform2fvARBPROC glUniform2fvARB; -static glUniform1fvARBPROC glUniform1fvARB; -static glUniform4iARBPROC glUniform4iARB; -static glUniform3iARBPROC glUniform3iARB; -static glUniform2iARBPROC glUniform2iARB; -static glUniform1iARBPROC glUniform1iARB; -static glUniform4fARBPROC glUniform4fARB; -static glUniform3fARBPROC glUniform3fARB; -static glUniform2fARBPROC glUniform2fARB; -static glUniform1fARBPROC glUniform1fARB; -static glValidateProgramARBPROC glValidateProgramARB; -static glUseProgramObjectARBPROC glUseProgramObjectARB; -static glLinkProgramARBPROC glLinkProgramARB; -static glAttachObjectARBPROC glAttachObjectARB; -static glCreateProgramObjectARBPROC glCreateProgramObjectARB; -static glCompileShaderARBPROC glCompileShaderARB; -static glShaderSourceARBPROC glShaderSourceARB; -static glCreateShaderObjectARBPROC glCreateShaderObjectARB; -static glDetachObjectARBPROC glDetachObjectARB; -static glGetHandleARBPROC glGetHandleARB; -static glDeleteObjectARBPROC glDeleteObjectARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetShaderSourceARB(JNIEnv *env, jclass clazz, jint obj, jint maxLength, jobject length, jint length_position, jobject source, jint source_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetShaderSourceARB(JNIEnv *env, jclass clazz, jint obj, jint maxLength, jobject length, jint length_position, jobject source, jint source_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLcharARB *source_address = ((GLcharARB *)(*env)->GetDirectBufferAddress(env, source)) + source_position; + glGetShaderSourceARBPROC glGetShaderSourceARB = (glGetShaderSourceARBPROC)((intptr_t)function_pointer); glGetShaderSourceARB(obj, maxLength, length_address, source_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformivARB(JNIEnv *env, jclass clazz, jint programObj, jint location, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformivARB(JNIEnv *env, jclass clazz, jint programObj, jint location, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetUniformivARBPROC glGetUniformivARB = (glGetUniformivARBPROC)((intptr_t)function_pointer); glGetUniformivARB(programObj, location, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformfvARB(JNIEnv *env, jclass clazz, jint programObj, jint location, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformfvARB(JNIEnv *env, jclass clazz, jint programObj, jint location, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetUniformfvARBPROC glGetUniformfvARB = (glGetUniformfvARBPROC)((intptr_t)function_pointer); glGetUniformfvARB(programObj, location, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetActiveUniformARB(JNIEnv *env, jclass clazz, jint programObj, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetActiveUniformARB(JNIEnv *env, jclass clazz, jint programObj, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLint *size_address = ((GLint *)(*env)->GetDirectBufferAddress(env, size)) + size_position; GLenum *type_address = ((GLenum *)(*env)->GetDirectBufferAddress(env, type)) + type_position; GLcharARB *name_address = ((GLcharARB *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetActiveUniformARBPROC glGetActiveUniformARB = (glGetActiveUniformARBPROC)((intptr_t)function_pointer); glGetActiveUniformARB(programObj, index, maxLength, length_address, size_address, type_address, name_address); } -static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformLocationARB(JNIEnv *env, jclass clazz, jint programObj, jobject name, jint name_position) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformLocationARB(JNIEnv *env, jclass clazz, jint programObj, jobject name, jint name_position, jlong function_pointer) { const GLcharARB *name_address = ((const GLcharARB *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetUniformLocationARBPROC glGetUniformLocationARB = (glGetUniformLocationARBPROC)((intptr_t)function_pointer); GLint __result = glGetUniformLocationARB(programObj, name_address); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetAttachedObjectsARB(JNIEnv *env, jclass clazz, jint containerObj, jint maxCount, jobject count, jint count_position, jobject obj, jint obj_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetAttachedObjectsARB(JNIEnv *env, jclass clazz, jint containerObj, jint maxCount, jobject count, jint count_position, jobject obj, jint obj_position, jlong function_pointer) { GLsizei *count_address = ((GLsizei *)safeGetBufferAddress(env, count)) + count_position; GLhandleARB *obj_address = ((GLhandleARB *)(*env)->GetDirectBufferAddress(env, obj)) + obj_position; + glGetAttachedObjectsARBPROC glGetAttachedObjectsARB = (glGetAttachedObjectsARBPROC)((intptr_t)function_pointer); glGetAttachedObjectsARB(containerObj, maxCount, count_address, obj_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetInfoLogARB(JNIEnv *env, jclass clazz, jint obj, jint maxLength, jobject length, jint length_position, jobject infoLog, jint infoLog_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetInfoLogARB(JNIEnv *env, jclass clazz, jint obj, jint maxLength, jobject length, jint length_position, jobject infoLog, jint infoLog_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLcharARB *infoLog_address = ((GLcharARB *)(*env)->GetDirectBufferAddress(env, infoLog)) + infoLog_position; + glGetInfoLogARBPROC glGetInfoLogARB = (glGetInfoLogARBPROC)((intptr_t)function_pointer); glGetInfoLogARB(obj, maxLength, length_address, infoLog_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterivARB(JNIEnv *env, jclass clazz, jint obj, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterivARB(JNIEnv *env, jclass clazz, jint obj, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetObjectParameterivARBPROC glGetObjectParameterivARB = (glGetObjectParameterivARBPROC)((intptr_t)function_pointer); glGetObjectParameterivARB(obj, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterfvARB(JNIEnv *env, jclass clazz, jint obj, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterfvARB(JNIEnv *env, jclass clazz, jint obj, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetObjectParameterfvARBPROC glGetObjectParameterfvARB = (glGetObjectParameterfvARBPROC)((intptr_t)function_pointer); glGetObjectParameterfvARB(obj, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix4fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix4fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position, jlong function_pointer) { GLfloat *matrices_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, matrices)) + matrices_position; + glUniformMatrix4fvARBPROC glUniformMatrix4fvARB = (glUniformMatrix4fvARBPROC)((intptr_t)function_pointer); glUniformMatrix4fvARB(location, count, transpose, matrices_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix3fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix3fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position, jlong function_pointer) { GLfloat *matrices_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, matrices)) + matrices_position; + glUniformMatrix3fvARBPROC glUniformMatrix3fvARB = (glUniformMatrix3fvARBPROC)((intptr_t)function_pointer); glUniformMatrix3fvARB(location, count, transpose, matrices_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix2fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix2fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position, jlong function_pointer) { GLfloat *matrices_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, matrices)) + matrices_position; + glUniformMatrix2fvARBPROC glUniformMatrix2fvARB = (glUniformMatrix2fvARBPROC)((intptr_t)function_pointer); glUniformMatrix2fvARB(location, count, transpose, matrices_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform4ivARBPROC glUniform4ivARB = (glUniform4ivARBPROC)((intptr_t)function_pointer); glUniform4ivARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform3ivARBPROC glUniform3ivARB = (glUniform3ivARBPROC)((intptr_t)function_pointer); glUniform3ivARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform2ivARBPROC glUniform2ivARB = (glUniform2ivARBPROC)((intptr_t)function_pointer); glUniform2ivARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1ivARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform1ivARBPROC glUniform1ivARB = (glUniform1ivARBPROC)((intptr_t)function_pointer); glUniform1ivARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform4fvARBPROC glUniform4fvARB = (glUniform4fvARBPROC)((intptr_t)function_pointer); glUniform4fvARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform3fvARBPROC glUniform3fvARB = (glUniform3fvARBPROC)((intptr_t)function_pointer); glUniform3fvARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform2fvARBPROC glUniform2fvARB = (glUniform2fvARBPROC)((intptr_t)function_pointer); glUniform2fvARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1fvARB(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform1fvARBPROC glUniform1fvARB = (glUniform1fvARBPROC)((intptr_t)function_pointer); glUniform1fvARB(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4iARB(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2, jint v3) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4iARB(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2, jint v3, jlong function_pointer) { + glUniform4iARBPROC glUniform4iARB = (glUniform4iARBPROC)((intptr_t)function_pointer); glUniform4iARB(location, v0, v1, v2, v3); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3iARB(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3iARB(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2, jlong function_pointer) { + glUniform3iARBPROC glUniform3iARB = (glUniform3iARBPROC)((intptr_t)function_pointer); glUniform3iARB(location, v0, v1, v2); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2iARB(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2iARB(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jlong function_pointer) { + glUniform2iARBPROC glUniform2iARB = (glUniform2iARBPROC)((intptr_t)function_pointer); glUniform2iARB(location, v0, v1); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1iARB(JNIEnv *env, jclass clazz, jint location, jint v0) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1iARB(JNIEnv *env, jclass clazz, jint location, jint v0, jlong function_pointer) { + glUniform1iARBPROC glUniform1iARB = (glUniform1iARBPROC)((intptr_t)function_pointer); glUniform1iARB(location, v0); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2, jfloat v3) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2, jfloat v3, jlong function_pointer) { + glUniform4fARBPROC glUniform4fARB = (glUniform4fARBPROC)((intptr_t)function_pointer); glUniform4fARB(location, v0, v1, v2, v3); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2, jlong function_pointer) { + glUniform3fARBPROC glUniform3fARB = (glUniform3fARBPROC)((intptr_t)function_pointer); glUniform3fARB(location, v0, v1, v2); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jlong function_pointer) { + glUniform2fARBPROC glUniform2fARB = (glUniform2fARBPROC)((intptr_t)function_pointer); glUniform2fARB(location, v0, v1); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1fARB(JNIEnv *env, jclass clazz, jint location, jfloat v0, jlong function_pointer) { + glUniform1fARBPROC glUniform1fARB = (glUniform1fARBPROC)((intptr_t)function_pointer); glUniform1fARB(location, v0); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glValidateProgramARB(JNIEnv *env, jclass clazz, jint programObj) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglValidateProgramARB(JNIEnv *env, jclass clazz, jint programObj, jlong function_pointer) { + glValidateProgramARBPROC glValidateProgramARB = (glValidateProgramARBPROC)((intptr_t)function_pointer); glValidateProgramARB(programObj); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUseProgramObjectARB(JNIEnv *env, jclass clazz, jint programObj) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUseProgramObjectARB(JNIEnv *env, jclass clazz, jint programObj, jlong function_pointer) { + glUseProgramObjectARBPROC glUseProgramObjectARB = (glUseProgramObjectARBPROC)((intptr_t)function_pointer); glUseProgramObjectARB(programObj); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glLinkProgramARB(JNIEnv *env, jclass clazz, jint programObj) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglLinkProgramARB(JNIEnv *env, jclass clazz, jint programObj, jlong function_pointer) { + glLinkProgramARBPROC glLinkProgramARB = (glLinkProgramARBPROC)((intptr_t)function_pointer); glLinkProgramARB(programObj); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glAttachObjectARB(JNIEnv *env, jclass clazz, jint containerObj, jint obj) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglAttachObjectARB(JNIEnv *env, jclass clazz, jint containerObj, jint obj, jlong function_pointer) { + glAttachObjectARBPROC glAttachObjectARB = (glAttachObjectARBPROC)((intptr_t)function_pointer); glAttachObjectARB(containerObj, obj); } -static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glCreateProgramObjectARB(JNIEnv *env, jclass clazz) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglCreateProgramObjectARB(JNIEnv *env, jclass clazz, jlong function_pointer) { + glCreateProgramObjectARBPROC glCreateProgramObjectARB = (glCreateProgramObjectARBPROC)((intptr_t)function_pointer); GLhandleARB __result = glCreateProgramObjectARB(); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glCompileShaderARB(JNIEnv *env, jclass clazz, jint shaderObj) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglCompileShaderARB(JNIEnv *env, jclass clazz, jint shaderObj, jlong function_pointer) { + glCompileShaderARBPROC glCompileShaderARB = (glCompileShaderARBPROC)((intptr_t)function_pointer); glCompileShaderARB(shaderObj); } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglShaderSourceARB(JNIEnv *env, jclass clazz, jint shader, jint count, jobject string, jint string_position, jint length) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglShaderSourceARB(JNIEnv *env, jclass clazz, jint shader, jint count, jobject string, jint string_position, jint length, jlong function_pointer) { const GLcharARB *string_address = ((const GLcharARB *)(*env)->GetDirectBufferAddress(env, string)) + string_position; + glShaderSourceARBPROC glShaderSourceARB = (glShaderSourceARBPROC)((intptr_t)function_pointer); glShaderSourceARB(shader, count, &string_address, &length); } -static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glCreateShaderObjectARB(JNIEnv *env, jclass clazz, jint shaderType) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglCreateShaderObjectARB(JNIEnv *env, jclass clazz, jint shaderType, jlong function_pointer) { + glCreateShaderObjectARBPROC glCreateShaderObjectARB = (glCreateShaderObjectARBPROC)((intptr_t)function_pointer); GLhandleARB __result = glCreateShaderObjectARB(shaderType); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glDetachObjectARB(JNIEnv *env, jclass clazz, jint containerObj, jint attachedObj) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglDetachObjectARB(JNIEnv *env, jclass clazz, jint containerObj, jint attachedObj, jlong function_pointer) { + glDetachObjectARBPROC glDetachObjectARB = (glDetachObjectARBPROC)((intptr_t)function_pointer); glDetachObjectARB(containerObj, attachedObj); } -static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glGetHandleARB(JNIEnv *env, jclass clazz, jint pname) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetHandleARB(JNIEnv *env, jclass clazz, jint pname, jlong function_pointer) { + glGetHandleARBPROC glGetHandleARB = (glGetHandleARBPROC)((intptr_t)function_pointer); GLhandleARB __result = glGetHandleARB(pname); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glDeleteObjectARB(JNIEnv *env, jclass clazz, jint obj) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglDeleteObjectARB(JNIEnv *env, jclass clazz, jint obj, jlong function_pointer) { + glDeleteObjectARBPROC glDeleteObjectARB = (glDeleteObjectARBPROC)((intptr_t)function_pointer); glDeleteObjectARB(obj); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetShaderSourceARB", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetShaderSourceARB, "glGetShaderSourceARB", (void *)&glGetShaderSourceARB}, - {"nglGetUniformivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformivARB, "glGetUniformivARB", (void *)&glGetUniformivARB}, - {"nglGetUniformfvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformfvARB, "glGetUniformfvARB", (void *)&glGetUniformfvARB}, - {"nglGetActiveUniformARB", "(IIILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetActiveUniformARB, "glGetActiveUniformARB", (void *)&glGetActiveUniformARB}, - {"nglGetUniformLocationARB", "(ILjava/nio/ByteBuffer;I)I", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformLocationARB, "glGetUniformLocationARB", (void *)&glGetUniformLocationARB}, - {"nglGetAttachedObjectsARB", "(IILjava/nio/IntBuffer;ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetAttachedObjectsARB, "glGetAttachedObjectsARB", (void *)&glGetAttachedObjectsARB}, - {"nglGetInfoLogARB", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetInfoLogARB, "glGetInfoLogARB", (void *)&glGetInfoLogARB}, - {"nglGetObjectParameterivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterivARB, "glGetObjectParameterivARB", (void *)&glGetObjectParameterivARB}, - {"nglGetObjectParameterfvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterfvARB, "glGetObjectParameterfvARB", (void *)&glGetObjectParameterfvARB}, - {"nglUniformMatrix4fvARB", "(IIZLjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix4fvARB, "glUniformMatrix4fvARB", (void *)&glUniformMatrix4fvARB}, - {"nglUniformMatrix3fvARB", "(IIZLjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix3fvARB, "glUniformMatrix3fvARB", (void *)&glUniformMatrix3fvARB}, - {"nglUniformMatrix2fvARB", "(IIZLjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix2fvARB, "glUniformMatrix2fvARB", (void *)&glUniformMatrix2fvARB}, - {"nglUniform4ivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4ivARB, "glUniform4ivARB", (void *)&glUniform4ivARB}, - {"nglUniform3ivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3ivARB, "glUniform3ivARB", (void *)&glUniform3ivARB}, - {"nglUniform2ivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2ivARB, "glUniform2ivARB", (void *)&glUniform2ivARB}, - {"nglUniform1ivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1ivARB, "glUniform1ivARB", (void *)&glUniform1ivARB}, - {"nglUniform4fvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4fvARB, "glUniform4fvARB", (void *)&glUniform4fvARB}, - {"nglUniform3fvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3fvARB, "glUniform3fvARB", (void *)&glUniform3fvARB}, - {"nglUniform2fvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2fvARB, "glUniform2fvARB", (void *)&glUniform2fvARB}, - {"nglUniform1fvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1fvARB, "glUniform1fvARB", (void *)&glUniform1fvARB}, - {"glUniform4iARB", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4iARB, "glUniform4iARB", (void *)&glUniform4iARB}, - {"glUniform3iARB", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3iARB, "glUniform3iARB", (void *)&glUniform3iARB}, - {"glUniform2iARB", "(III)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2iARB, "glUniform2iARB", (void *)&glUniform2iARB}, - {"glUniform1iARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1iARB, "glUniform1iARB", (void *)&glUniform1iARB}, - {"glUniform4fARB", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4fARB, "glUniform4fARB", (void *)&glUniform4fARB}, - {"glUniform3fARB", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3fARB, "glUniform3fARB", (void *)&glUniform3fARB}, - {"glUniform2fARB", "(IFF)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2fARB, "glUniform2fARB", (void *)&glUniform2fARB}, - {"glUniform1fARB", "(IF)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1fARB, "glUniform1fARB", (void *)&glUniform1fARB}, - {"glValidateProgramARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glValidateProgramARB, "glValidateProgramARB", (void *)&glValidateProgramARB}, - {"glUseProgramObjectARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glUseProgramObjectARB, "glUseProgramObjectARB", (void *)&glUseProgramObjectARB}, - {"glLinkProgramARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glLinkProgramARB, "glLinkProgramARB", (void *)&glLinkProgramARB}, - {"glAttachObjectARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glAttachObjectARB, "glAttachObjectARB", (void *)&glAttachObjectARB}, - {"glCreateProgramObjectARB", "()I", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glCreateProgramObjectARB, "glCreateProgramObjectARB", (void *)&glCreateProgramObjectARB}, - {"glCompileShaderARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glCompileShaderARB, "glCompileShaderARB", (void *)&glCompileShaderARB}, - {"nglShaderSourceARB", "(IILjava/nio/ByteBuffer;II)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_nglShaderSourceARB, "glShaderSourceARB", (void *)&glShaderSourceARB}, - {"glCreateShaderObjectARB", "(I)I", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glCreateShaderObjectARB, "glCreateShaderObjectARB", (void *)&glCreateShaderObjectARB}, - {"glDetachObjectARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glDetachObjectARB, "glDetachObjectARB", (void *)&glDetachObjectARB}, - {"glGetHandleARB", "(I)I", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glGetHandleARB, "glGetHandleARB", (void *)&glGetHandleARB}, - {"glDeleteObjectARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBShaderObjects_glDeleteObjectARB, "glDeleteObjectARB", (void *)&glDeleteObjectARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBTextureCompression.c b/src/native/common/arb/org_lwjgl_opengl_ARBTextureCompression.c index d4a9ffb9..4e42ba78 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBTextureCompression.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBTextureCompression.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetCompressedTexImageARBPROC) (GLenum target, GLint lod, GLvoid * pImg); @@ -11,101 +12,87 @@ typedef void (APIENTRY *glCompressedTexImage3DARBPROC) (GLenum target, GLint lev typedef void (APIENTRY *glCompressedTexImage2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * pData); typedef void (APIENTRY *glCompressedTexImage1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * pData); -static glGetCompressedTexImageARBPROC glGetCompressedTexImageARB; -static glCompressedTexSubImage3DARBPROC glCompressedTexSubImage3DARB; -static glCompressedTexSubImage2DARBPROC glCompressedTexSubImage2DARB; -static glCompressedTexSubImage1DARBPROC glCompressedTexSubImage1DARB; -static glCompressedTexImage3DARBPROC glCompressedTexImage3DARB; -static glCompressedTexImage2DARBPROC glCompressedTexImage2DARB; -static glCompressedTexImage1DARBPROC glCompressedTexImage1DARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressedTexImageARB(JNIEnv *env, jclass clazz, jint target, jint lod, jobject pImg, jint pImg_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressedTexImageARB(JNIEnv *env, jclass clazz, jint target, jint lod, jobject pImg, jint pImg_position, jlong function_pointer) { GLvoid *pImg_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pImg)) + pImg_position)); + glGetCompressedTexImageARBPROC glGetCompressedTexImageARB = (glGetCompressedTexImageARBPROC)((intptr_t)function_pointer); glGetCompressedTexImageARB(target, lod, pImg_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressedTexImageARBBO(JNIEnv *env, jclass clazz, jint target, jint lod, jint pImg_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressedTexImageARBBO(JNIEnv *env, jclass clazz, jint target, jint lod, jint pImg_buffer_offset, jlong function_pointer) { GLvoid *pImg_address = ((GLvoid *)offsetToPointer(pImg_buffer_offset)); + glGetCompressedTexImageARBPROC glGetCompressedTexImageARB = (glGetCompressedTexImageARBPROC)((intptr_t)function_pointer); glGetCompressedTexImageARB(target, lod, pImg_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage3DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jobject pData, jint pData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage3DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jobject pData, jint pData_position, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pData)) + pData_position)); + glCompressedTexSubImage3DARBPROC glCompressedTexSubImage3DARB = (glCompressedTexSubImage3DARBPROC)((intptr_t)function_pointer); glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage3DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jint pData_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage3DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jint pData_buffer_offset, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)offsetToPointer(pData_buffer_offset)); + glCompressedTexSubImage3DARBPROC glCompressedTexSubImage3DARB = (glCompressedTexSubImage3DARBPROC)((intptr_t)function_pointer); glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage2DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject pData, jint pData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage2DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject pData, jint pData_position, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pData)) + pData_position)); + glCompressedTexSubImage2DARBPROC glCompressedTexSubImage2DARB = (glCompressedTexSubImage2DARBPROC)((intptr_t)function_pointer); glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage2DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jint pData_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage2DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jint pData_buffer_offset, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)offsetToPointer(pData_buffer_offset)); + glCompressedTexSubImage2DARBPROC glCompressedTexSubImage2DARB = (glCompressedTexSubImage2DARBPROC)((intptr_t)function_pointer); glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage1DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jobject pData, jint pData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage1DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jobject pData, jint pData_position, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pData)) + pData_position)); + glCompressedTexSubImage1DARBPROC glCompressedTexSubImage1DARB = (glCompressedTexSubImage1DARBPROC)((intptr_t)function_pointer); glCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage1DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jint pData_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage1DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jint pData_buffer_offset, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)offsetToPointer(pData_buffer_offset)); + glCompressedTexSubImage1DARBPROC glCompressedTexSubImage1DARB = (glCompressedTexSubImage1DARBPROC)((intptr_t)function_pointer); glCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage3DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jobject pData, jint pData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage3DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jobject pData, jint pData_position, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pData)) + pData_position)); + glCompressedTexImage3DARBPROC glCompressedTexImage3DARB = (glCompressedTexImage3DARBPROC)((intptr_t)function_pointer); glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage3DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jint pData_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage3DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jint pData_buffer_offset, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)offsetToPointer(pData_buffer_offset)); + glCompressedTexImage3DARBPROC glCompressedTexImage3DARB = (glCompressedTexImage3DARBPROC)((intptr_t)function_pointer); glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage2DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject pData, jint pData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage2DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject pData, jint pData_position, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pData)) + pData_position)); + glCompressedTexImage2DARBPROC glCompressedTexImage2DARB = (glCompressedTexImage2DARBPROC)((intptr_t)function_pointer); glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage2DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jint pData_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage2DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jint pData_buffer_offset, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)offsetToPointer(pData_buffer_offset)); + glCompressedTexImage2DARBPROC glCompressedTexImage2DARB = (glCompressedTexImage2DARBPROC)((intptr_t)function_pointer); glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage1DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jobject pData, jint pData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage1DARB(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jobject pData, jint pData_position, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pData)) + pData_position)); + glCompressedTexImage1DARBPROC glCompressedTexImage1DARB = (glCompressedTexImage1DARBPROC)((intptr_t)function_pointer); glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage1DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jint pData_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage1DARBBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jint pData_buffer_offset, jlong function_pointer) { const GLvoid *pData_address = ((const GLvoid *)offsetToPointer(pData_buffer_offset)); + glCompressedTexImage1DARBPROC glCompressedTexImage1DARB = (glCompressedTexImage1DARBPROC)((intptr_t)function_pointer); glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, pData_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTextureCompression_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetCompressedTexImageARB", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressedTexImageARB, "glGetCompressedTexImageARB", (void *)&glGetCompressedTexImageARB}, - {"nglGetCompressedTexImageARBBO", "(III)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglGetCompressedTexImageARBBO, "glGetCompressedTexImageARB", (void *)&glGetCompressedTexImageARB}, - {"nglCompressedTexSubImage3DARB", "(IIIIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage3DARB, "glCompressedTexSubImage3DARB", (void *)&glCompressedTexSubImage3DARB}, - {"nglCompressedTexSubImage3DARBBO", "(IIIIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage3DARBBO, "glCompressedTexSubImage3DARB", (void *)&glCompressedTexSubImage3DARB}, - {"nglCompressedTexSubImage2DARB", "(IIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage2DARB, "glCompressedTexSubImage2DARB", (void *)&glCompressedTexSubImage2DARB}, - {"nglCompressedTexSubImage2DARBBO", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage2DARBBO, "glCompressedTexSubImage2DARB", (void *)&glCompressedTexSubImage2DARB}, - {"nglCompressedTexSubImage1DARB", "(IIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage1DARB, "glCompressedTexSubImage1DARB", (void *)&glCompressedTexSubImage1DARB}, - {"nglCompressedTexSubImage1DARBBO", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexSubImage1DARBBO, "glCompressedTexSubImage1DARB", (void *)&glCompressedTexSubImage1DARB}, - {"nglCompressedTexImage3DARB", "(IIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage3DARB, "glCompressedTexImage3DARB", (void *)&glCompressedTexImage3DARB}, - {"nglCompressedTexImage3DARBBO", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage3DARBBO, "glCompressedTexImage3DARB", (void *)&glCompressedTexImage3DARB}, - {"nglCompressedTexImage2DARB", "(IIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage2DARB, "glCompressedTexImage2DARB", (void *)&glCompressedTexImage2DARB}, - {"nglCompressedTexImage2DARBBO", "(IIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage2DARBBO, "glCompressedTexImage2DARB", (void *)&glCompressedTexImage2DARB}, - {"nglCompressedTexImage1DARB", "(IIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage1DARB, "glCompressedTexImage1DARB", (void *)&glCompressedTexImage1DARB}, - {"nglCompressedTexImage1DARBBO", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_ARBTextureCompression_nglCompressedTexImage1DARBBO, "glCompressedTexImage1DARB", (void *)&glCompressedTexImage1DARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBTransposeMatrix.c b/src/native/common/arb/org_lwjgl_opengl_ARBTransposeMatrix.c index 494f3f91..f1f1fd70 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBTransposeMatrix.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBTransposeMatrix.c @@ -1,29 +1,21 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glMultTransposeMatrixfARBPROC) (GLfloat * pfMtx); typedef void (APIENTRY *glLoadTransposeMatrixfARBPROC) (GLfloat * pfMtx); -static glMultTransposeMatrixfARBPROC glMultTransposeMatrixfARB; -static glLoadTransposeMatrixfARBPROC glLoadTransposeMatrixfARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBTransposeMatrix_nglMultTransposeMatrixfARB(JNIEnv *env, jclass clazz, jobject pfMtx, jint pfMtx_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTransposeMatrix_nglMultTransposeMatrixfARB(JNIEnv *env, jclass clazz, jobject pfMtx, jint pfMtx_position, jlong function_pointer) { GLfloat *pfMtx_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pfMtx)) + pfMtx_position; + glMultTransposeMatrixfARBPROC glMultTransposeMatrixfARB = (glMultTransposeMatrixfARBPROC)((intptr_t)function_pointer); glMultTransposeMatrixfARB(pfMtx_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBTransposeMatrix_nglLoadTransposeMatrixfARB(JNIEnv *env, jclass clazz, jobject pfMtx, jint pfMtx_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTransposeMatrix_nglLoadTransposeMatrixfARB(JNIEnv *env, jclass clazz, jobject pfMtx, jint pfMtx_position, jlong function_pointer) { GLfloat *pfMtx_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pfMtx)) + pfMtx_position; + glLoadTransposeMatrixfARBPROC glLoadTransposeMatrixfARB = (glLoadTransposeMatrixfARBPROC)((intptr_t)function_pointer); glLoadTransposeMatrixfARB(pfMtx_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBTransposeMatrix_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglMultTransposeMatrixfARB", "(Ljava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTransposeMatrix_nglMultTransposeMatrixfARB, "glMultTransposeMatrixfARB", (void *)&glMultTransposeMatrixfARB}, - {"nglLoadTransposeMatrixfARB", "(Ljava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBTransposeMatrix_nglLoadTransposeMatrixfARB, "glLoadTransposeMatrixfARB", (void *)&glLoadTransposeMatrixfARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBVertexBlend.c b/src/native/common/arb/org_lwjgl_opengl_ARBVertexBlend.c index 51b169cd..c61622ee 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBVertexBlend.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBVertexBlend.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glVertexBlendARBPROC) (GLint count); @@ -13,78 +14,62 @@ typedef void (APIENTRY *glWeightivARBPROC) (GLint size, GLint * pWeights); typedef void (APIENTRY *glWeightsvARBPROC) (GLint size, GLshort * pWeights); typedef void (APIENTRY *glWeightbvARBPROC) (GLint size, GLbyte * pWeights); -static glVertexBlendARBPROC glVertexBlendARB; -static glWeightPointerARBPROC glWeightPointerARB; -static glWeightuivARBPROC glWeightuivARB; -static glWeightusvARBPROC glWeightusvARB; -static glWeightubvARBPROC glWeightubvARB; -static glWeightfvARBPROC glWeightfvARB; -static glWeightivARBPROC glWeightivARB; -static glWeightsvARBPROC glWeightsvARB; -static glWeightbvARBPROC glWeightbvARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_glVertexBlendARB(JNIEnv *env, jclass clazz, jint count) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglVertexBlendARB(JNIEnv *env, jclass clazz, jint count, jlong function_pointer) { + glVertexBlendARBPROC glVertexBlendARB = (glVertexBlendARBPROC)((intptr_t)function_pointer); glVertexBlendARB(count); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightPointerARB(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightPointerARB(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPointer)) + pPointer_position)); + glWeightPointerARBPROC glWeightPointerARB = (glWeightPointerARBPROC)((intptr_t)function_pointer); glWeightPointerARB(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightPointerARBBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightPointerARBBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)offsetToPointer(pPointer_buffer_offset)); + glWeightPointerARBPROC glWeightPointerARB = (glWeightPointerARBPROC)((intptr_t)function_pointer); glWeightPointerARB(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightuivARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightuivARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position, jlong function_pointer) { GLuint *pWeights_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, pWeights)) + pWeights_position; + glWeightuivARBPROC glWeightuivARB = (glWeightuivARBPROC)((intptr_t)function_pointer); glWeightuivARB(size, pWeights_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightusvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightusvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position, jlong function_pointer) { GLushort *pWeights_address = ((GLushort *)(*env)->GetDirectBufferAddress(env, pWeights)) + pWeights_position; + glWeightusvARBPROC glWeightusvARB = (glWeightusvARBPROC)((intptr_t)function_pointer); glWeightusvARB(size, pWeights_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightubvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightubvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position, jlong function_pointer) { GLubyte *pWeights_address = ((GLubyte *)(*env)->GetDirectBufferAddress(env, pWeights)) + pWeights_position; + glWeightubvARBPROC glWeightubvARB = (glWeightubvARBPROC)((intptr_t)function_pointer); glWeightubvARB(size, pWeights_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightfvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightfvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position, jlong function_pointer) { GLfloat *pWeights_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pWeights)) + pWeights_position; + glWeightfvARBPROC glWeightfvARB = (glWeightfvARBPROC)((intptr_t)function_pointer); glWeightfvARB(size, pWeights_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightivARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightivARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position, jlong function_pointer) { GLint *pWeights_address = ((GLint *)(*env)->GetDirectBufferAddress(env, pWeights)) + pWeights_position; + glWeightivARBPROC glWeightivARB = (glWeightivARBPROC)((intptr_t)function_pointer); glWeightivARB(size, pWeights_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightsvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightsvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position, jlong function_pointer) { GLshort *pWeights_address = ((GLshort *)(*env)->GetDirectBufferAddress(env, pWeights)) + pWeights_position; + glWeightsvARBPROC glWeightsvARB = (glWeightsvARBPROC)((intptr_t)function_pointer); glWeightsvARB(size, pWeights_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightbvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightbvARB(JNIEnv *env, jclass clazz, jint size, jobject pWeights, jint pWeights_position, jlong function_pointer) { GLbyte *pWeights_address = ((GLbyte *)(*env)->GetDirectBufferAddress(env, pWeights)) + pWeights_position; + glWeightbvARBPROC glWeightbvARB = (glWeightbvARBPROC)((intptr_t)function_pointer); glWeightbvARB(size, pWeights_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexBlend_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glVertexBlendARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_glVertexBlendARB, "glVertexBlendARB", (void *)&glVertexBlendARB}, - {"nglWeightPointerARB", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightPointerARB, "glWeightPointerARB", (void *)&glWeightPointerARB}, - {"nglWeightPointerARBBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightPointerARBBO, "glWeightPointerARB", (void *)&glWeightPointerARB}, - {"nglWeightuivARB", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightuivARB, "glWeightuivARB", (void *)&glWeightuivARB}, - {"nglWeightusvARB", "(ILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightusvARB, "glWeightusvARB", (void *)&glWeightusvARB}, - {"nglWeightubvARB", "(ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightubvARB, "glWeightubvARB", (void *)&glWeightubvARB}, - {"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}, - {"nglWeightsvARB", "(ILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightsvARB, "glWeightsvARB", (void *)&glWeightsvARB}, - {"nglWeightbvARB", "(ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexBlend_nglWeightbvARB, "glWeightbvARB", (void *)&glWeightbvARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBVertexProgram.c b/src/native/common/arb/org_lwjgl_opengl_ARBVertexProgram.c index c5334f6e..6cade551 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBVertexProgram.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBVertexProgram.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetVertexAttribPointervARBPROC) (GLuint index, GLenum pname, GLvoid ** result); @@ -19,111 +20,89 @@ typedef void (APIENTRY *glVertexAttrib2sARBPROC) (GLuint index, GLshort x, GLsho typedef void (APIENTRY *glVertexAttrib1fARBPROC) (GLuint index, GLfloat x); typedef void (APIENTRY *glVertexAttrib1sARBPROC) (GLuint index, GLshort x); -static glGetVertexAttribPointervARBPROC glGetVertexAttribPointervARB; -static glGetVertexAttribivARBPROC glGetVertexAttribivARB; -static glGetVertexAttribfvARBPROC glGetVertexAttribfvARB; -static glDisableVertexAttribArrayARBPROC glDisableVertexAttribArrayARB; -static glEnableVertexAttribArrayARBPROC glEnableVertexAttribArrayARB; -static glVertexAttribPointerARBPROC glVertexAttribPointerARB; -static glVertexAttrib4NubARBPROC glVertexAttrib4NubARB; -static glVertexAttrib4fARBPROC glVertexAttrib4fARB; -static glVertexAttrib4sARBPROC glVertexAttrib4sARB; -static glVertexAttrib3fARBPROC glVertexAttrib3fARB; -static glVertexAttrib3sARBPROC glVertexAttrib3sARB; -static glVertexAttrib2fARBPROC glVertexAttrib2fARB; -static glVertexAttrib2sARBPROC glVertexAttrib2sARB; -static glVertexAttrib1fARBPROC glVertexAttrib1fARB; -static glVertexAttrib1sARBPROC glVertexAttrib1sARB; - -static jobject JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribPointervARB(JNIEnv *env, jclass clazz, jint index, jint pname, jint result_size) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribPointervARB(JNIEnv *env, jclass clazz, jint index, jint pname, jint result_size, jlong function_pointer) { + glGetVertexAttribPointervARBPROC glGetVertexAttribPointervARB = (glGetVertexAttribPointervARBPROC)((intptr_t)function_pointer); GLvoid * __result; glGetVertexAttribPointervARB(index, pname, &__result); return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribivARB(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribivARB(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribivARBPROC glGetVertexAttribivARB = (glGetVertexAttribivARBPROC)((intptr_t)function_pointer); glGetVertexAttribivARB(index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribfvARB(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribfvARB(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribfvARBPROC glGetVertexAttribfvARB = (glGetVertexAttribfvARBPROC)((intptr_t)function_pointer); glGetVertexAttribfvARB(index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glDisableVertexAttribArrayARB(JNIEnv *env, jclass clazz, jint index) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglDisableVertexAttribArrayARB(JNIEnv *env, jclass clazz, jint index, jlong function_pointer) { + glDisableVertexAttribArrayARBPROC glDisableVertexAttribArrayARB = (glDisableVertexAttribArrayARBPROC)((intptr_t)function_pointer); glDisableVertexAttribArrayARB(index); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glEnableVertexAttribArrayARB(JNIEnv *env, jclass clazz, jint index) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglEnableVertexAttribArrayARB(JNIEnv *env, jclass clazz, jint index, jlong function_pointer) { + glEnableVertexAttribArrayARBPROC glEnableVertexAttribArrayARB = (glEnableVertexAttribArrayARBPROC)((intptr_t)function_pointer); glEnableVertexAttribArrayARB(index); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttribPointerARB(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jobject buffer, jint buffer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttribPointerARB(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jobject buffer, jint buffer_position, jlong function_pointer) { const GLvoid *buffer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, buffer)) + buffer_position)); + glVertexAttribPointerARBPROC glVertexAttribPointerARB = (glVertexAttribPointerARBPROC)((intptr_t)function_pointer); glVertexAttribPointerARB(index, size, type, normalized, stride, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttribPointerARBBO(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jint buffer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttribPointerARBBO(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jint buffer_buffer_offset, jlong function_pointer) { const GLvoid *buffer_address = ((const GLvoid *)offsetToPointer(buffer_buffer_offset)); + glVertexAttribPointerARBPROC glVertexAttribPointerARB = (glVertexAttribPointerARBPROC)((intptr_t)function_pointer); glVertexAttribPointerARB(index, size, type, normalized, stride, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib4NubARB(JNIEnv *env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib4NubARB(JNIEnv *env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w, jlong function_pointer) { + glVertexAttrib4NubARBPROC glVertexAttrib4NubARB = (glVertexAttrib4NubARBPROC)((intptr_t)function_pointer); glVertexAttrib4NubARB(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib4fARB(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib4fARB(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glVertexAttrib4fARBPROC glVertexAttrib4fARB = (glVertexAttrib4fARBPROC)((intptr_t)function_pointer); glVertexAttrib4fARB(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib4sARB(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib4sARB(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w, jlong function_pointer) { + glVertexAttrib4sARBPROC glVertexAttrib4sARB = (glVertexAttrib4sARBPROC)((intptr_t)function_pointer); glVertexAttrib4sARB(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib3fARB(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib3fARB(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glVertexAttrib3fARBPROC glVertexAttrib3fARB = (glVertexAttrib3fARBPROC)((intptr_t)function_pointer); glVertexAttrib3fARB(index, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib3sARB(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib3sARB(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jlong function_pointer) { + glVertexAttrib3sARBPROC glVertexAttrib3sARB = (glVertexAttrib3sARBPROC)((intptr_t)function_pointer); glVertexAttrib3sARB(index, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib2fARB(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib2fARB(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jlong function_pointer) { + glVertexAttrib2fARBPROC glVertexAttrib2fARB = (glVertexAttrib2fARBPROC)((intptr_t)function_pointer); glVertexAttrib2fARB(index, x, y); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib2sARB(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib2sARB(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jlong function_pointer) { + glVertexAttrib2sARBPROC glVertexAttrib2sARB = (glVertexAttrib2sARBPROC)((intptr_t)function_pointer); glVertexAttrib2sARB(index, x, y); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib1fARB(JNIEnv *env, jclass clazz, jint index, jfloat x) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib1fARB(JNIEnv *env, jclass clazz, jint index, jfloat x, jlong function_pointer) { + glVertexAttrib1fARBPROC glVertexAttrib1fARB = (glVertexAttrib1fARBPROC)((intptr_t)function_pointer); glVertexAttrib1fARB(index, x); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib1sARB(JNIEnv *env, jclass clazz, jint index, jshort x) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttrib1sARB(JNIEnv *env, jclass clazz, jint index, jshort x, jlong function_pointer) { + glVertexAttrib1sARBPROC glVertexAttrib1sARB = (glVertexAttrib1sARBPROC)((intptr_t)function_pointer); glVertexAttrib1sARB(index, x); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetVertexAttribPointervARB", "(III)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribPointervARB, "glGetVertexAttribPointervARB", (void *)&glGetVertexAttribPointervARB}, - {"nglGetVertexAttribivARB", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribivARB, "glGetVertexAttribivARB", (void *)&glGetVertexAttribivARB}, - {"nglGetVertexAttribfvARB", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribfvARB, "glGetVertexAttribfvARB", (void *)&glGetVertexAttribfvARB}, - {"glDisableVertexAttribArrayARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glDisableVertexAttribArrayARB, "glDisableVertexAttribArrayARB", (void *)&glDisableVertexAttribArrayARB}, - {"glEnableVertexAttribArrayARB", "(I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glEnableVertexAttribArrayARB, "glEnableVertexAttribArrayARB", (void *)&glEnableVertexAttribArrayARB}, - {"nglVertexAttribPointerARB", "(IIIZILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttribPointerARB, "glVertexAttribPointerARB", (void *)&glVertexAttribPointerARB}, - {"nglVertexAttribPointerARBBO", "(IIIZII)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_nglVertexAttribPointerARBBO, "glVertexAttribPointerARB", (void *)&glVertexAttribPointerARB}, - {"glVertexAttrib4NubARB", "(IBBBB)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib4NubARB, "glVertexAttrib4NubARB", (void *)&glVertexAttrib4NubARB}, - {"glVertexAttrib4fARB", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib4fARB, "glVertexAttrib4fARB", (void *)&glVertexAttrib4fARB}, - {"glVertexAttrib4sARB", "(ISSSS)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib4sARB, "glVertexAttrib4sARB", (void *)&glVertexAttrib4sARB}, - {"glVertexAttrib3fARB", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib3fARB, "glVertexAttrib3fARB", (void *)&glVertexAttrib3fARB}, - {"glVertexAttrib3sARB", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib3sARB, "glVertexAttrib3sARB", (void *)&glVertexAttrib3sARB}, - {"glVertexAttrib2fARB", "(IFF)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib2fARB, "glVertexAttrib2fARB", (void *)&glVertexAttrib2fARB}, - {"glVertexAttrib2sARB", "(ISS)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib2sARB, "glVertexAttrib2sARB", (void *)&glVertexAttrib2sARB}, - {"glVertexAttrib1fARB", "(IF)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib1fARB, "glVertexAttrib1fARB", (void *)&glVertexAttrib1fARB}, - {"glVertexAttrib1sARB", "(IS)V", (void *)&Java_org_lwjgl_opengl_ARBVertexProgram_glVertexAttrib1sARB, "glVertexAttrib1sARB", (void *)&glVertexAttrib1sARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBVertexShader.c b/src/native/common/arb/org_lwjgl_opengl_ARBVertexShader.c index 06fdfef4..498cd1e3 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBVertexShader.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBVertexShader.c @@ -1,41 +1,32 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef GLint (APIENTRY *glGetAttribLocationARBPROC) (GLhandleARB programObj, const GLcharARB * name); typedef void (APIENTRY *glGetActiveAttribARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); typedef void (APIENTRY *glBindAttribLocationARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB * name); -static glGetAttribLocationARBPROC glGetAttribLocationARB; -static glGetActiveAttribARBPROC glGetActiveAttribARB; -static glBindAttribLocationARBPROC glBindAttribLocationARB; - -static jint JNICALL Java_org_lwjgl_opengl_ARBVertexShader_nglGetAttribLocationARB(JNIEnv *env, jclass clazz, jint programObj, jobject name, jint name_position) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ARBVertexShader_nglGetAttribLocationARB(JNIEnv *env, jclass clazz, jint programObj, jobject name, jint name_position, jlong function_pointer) { const GLcharARB *name_address = ((const GLcharARB *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetAttribLocationARBPROC glGetAttribLocationARB = (glGetAttribLocationARBPROC)((intptr_t)function_pointer); GLint __result = glGetAttribLocationARB(programObj, name_address); return __result; } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexShader_nglGetActiveAttribARB(JNIEnv *env, jclass clazz, jint programObj, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexShader_nglGetActiveAttribARB(JNIEnv *env, jclass clazz, jint programObj, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLint *size_address = ((GLint *)(*env)->GetDirectBufferAddress(env, size)) + size_position; GLenum *type_address = ((GLenum *)(*env)->GetDirectBufferAddress(env, type)) + type_position; GLcharARB *name_address = ((GLcharARB *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetActiveAttribARBPROC glGetActiveAttribARB = (glGetActiveAttribARBPROC)((intptr_t)function_pointer); glGetActiveAttribARB(programObj, index, maxLength, length_address, size_address, type_address, name_address); } -static void JNICALL Java_org_lwjgl_opengl_ARBVertexShader_nglBindAttribLocationARB(JNIEnv *env, jclass clazz, jint programObj, jint index, jobject name, jint name_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexShader_nglBindAttribLocationARB(JNIEnv *env, jclass clazz, jint programObj, jint index, jobject name, jint name_position, jlong function_pointer) { const GLcharARB *name_address = ((const GLcharARB *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glBindAttribLocationARBPROC glBindAttribLocationARB = (glBindAttribLocationARBPROC)((intptr_t)function_pointer); glBindAttribLocationARB(programObj, index, name_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBVertexShader_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetAttribLocationARB", "(ILjava/nio/ByteBuffer;I)I", (void *)&Java_org_lwjgl_opengl_ARBVertexShader_nglGetAttribLocationARB, "glGetAttribLocationARB", (void *)&glGetAttribLocationARB}, - {"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}, - {"nglBindAttribLocationARB", "(IILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ARBVertexShader_nglBindAttribLocationARB, "glBindAttribLocationARB", (void *)&glBindAttribLocationARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/arb/org_lwjgl_opengl_ARBWindowPos.c b/src/native/common/arb/org_lwjgl_opengl_ARBWindowPos.c index b25b03ff..b17f5574 100644 --- a/src/native/common/arb/org_lwjgl_opengl_ARBWindowPos.c +++ b/src/native/common/arb/org_lwjgl_opengl_ARBWindowPos.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glWindowPos3sARBPROC) (GLshort x, GLshort y, GLshort z); @@ -10,46 +11,33 @@ typedef void (APIENTRY *glWindowPos2sARBPROC) (GLshort x, GLshort y); typedef void (APIENTRY *glWindowPos2iARBPROC) (GLint x, GLint y); typedef void (APIENTRY *glWindowPos2fARBPROC) (GLfloat x, GLfloat y); -static glWindowPos3sARBPROC glWindowPos3sARB; -static glWindowPos3iARBPROC glWindowPos3iARB; -static glWindowPos3fARBPROC glWindowPos3fARB; -static glWindowPos2sARBPROC glWindowPos2sARB; -static glWindowPos2iARBPROC glWindowPos2iARB; -static glWindowPos2fARBPROC glWindowPos2fARB; - -static void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3sARB(JNIEnv *env, jclass clazz, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_nglWindowPos3sARB(JNIEnv *env, jclass clazz, jshort x, jshort y, jshort z, jlong function_pointer) { + glWindowPos3sARBPROC glWindowPos3sARB = (glWindowPos3sARBPROC)((intptr_t)function_pointer); glWindowPos3sARB(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3iARB(JNIEnv *env, jclass clazz, jint x, jint y, jint z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_nglWindowPos3iARB(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jlong function_pointer) { + glWindowPos3iARBPROC glWindowPos3iARB = (glWindowPos3iARBPROC)((intptr_t)function_pointer); glWindowPos3iARB(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3fARB(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_nglWindowPos3fARB(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glWindowPos3fARBPROC glWindowPos3fARB = (glWindowPos3fARBPROC)((intptr_t)function_pointer); glWindowPos3fARB(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2sARB(JNIEnv *env, jclass clazz, jshort x, jshort y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_nglWindowPos2sARB(JNIEnv *env, jclass clazz, jshort x, jshort y, jlong function_pointer) { + glWindowPos2sARBPROC glWindowPos2sARB = (glWindowPos2sARBPROC)((intptr_t)function_pointer); glWindowPos2sARB(x, y); } -static void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2iARB(JNIEnv *env, jclass clazz, jint x, jint y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_nglWindowPos2iARB(JNIEnv *env, jclass clazz, jint x, jint y, jlong function_pointer) { + glWindowPos2iARBPROC glWindowPos2iARB = (glWindowPos2iARBPROC)((intptr_t)function_pointer); glWindowPos2iARB(x, y); } -static void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2fARB(JNIEnv *env, jclass clazz, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_nglWindowPos2fARB(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jlong function_pointer) { + glWindowPos2fARBPROC glWindowPos2fARB = (glWindowPos2fARBPROC)((intptr_t)function_pointer); glWindowPos2fARB(x, y); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBWindowPos_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glWindowPos3sARB", "(SSS)V", (void *)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3sARB, "glWindowPos3sARB", (void *)&glWindowPos3sARB}, - {"glWindowPos3iARB", "(III)V", (void *)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3iARB, "glWindowPos3iARB", (void *)&glWindowPos3iARB}, - {"glWindowPos3fARB", "(FFF)V", (void *)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos3fARB, "glWindowPos3fARB", (void *)&glWindowPos3fARB}, - {"glWindowPos2sARB", "(SS)V", (void *)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2sARB, "glWindowPos2sARB", (void *)&glWindowPos2sARB}, - {"glWindowPos2iARB", "(II)V", (void *)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2iARB, "glWindowPos2iARB", (void *)&glWindowPos2iARB}, - {"glWindowPos2fARB", "(FF)V", (void *)&Java_org_lwjgl_opengl_ARBWindowPos_glWindowPos2fARB, "glWindowPos2fARB", (void *)&glWindowPos2fARB} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIDrawBuffers.c b/src/native/common/ati/org_lwjgl_opengl_ATIDrawBuffers.c index 092bb995..7da6bcf0 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIDrawBuffers.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIDrawBuffers.c @@ -1,21 +1,14 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glDrawBuffersATIPROC) (GLsizei size, const GLenum * buffers); -static glDrawBuffersATIPROC glDrawBuffersATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIDrawBuffers_nglDrawBuffersATI(JNIEnv *env, jclass clazz, jint size, jobject buffers, jint buffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIDrawBuffers_nglDrawBuffersATI(JNIEnv *env, jclass clazz, jint size, jobject buffers, jint buffers_position, jlong function_pointer) { const GLenum *buffers_address = ((const GLenum *)(*env)->GetDirectBufferAddress(env, buffers)) + buffers_position; + glDrawBuffersATIPROC glDrawBuffersATI = (glDrawBuffersATIPROC)((intptr_t)function_pointer); glDrawBuffersATI(size, buffers_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIDrawBuffers_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglDrawBuffersATI", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIDrawBuffers_nglDrawBuffersATI, "glDrawBuffersATI", (void *)&glDrawBuffersATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIElementArray.c b/src/native/common/ati/org_lwjgl_opengl_ATIElementArray.c index 7d3ff862..939b451d 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIElementArray.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIElementArray.c @@ -1,41 +1,32 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glDrawRangeElementArrayATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); typedef void (APIENTRY *glDrawElementArrayATIPROC) (GLenum mode, GLsizei count); typedef void (APIENTRY *glElementPointerATIPROC) (GLenum type, const GLvoid * pPointer); -static glDrawRangeElementArrayATIPROC glDrawRangeElementArrayATI; -static glDrawElementArrayATIPROC glDrawElementArrayATI; -static glElementPointerATIPROC glElementPointerATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIElementArray_glDrawRangeElementArrayATI(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIElementArray_nglDrawRangeElementArrayATI(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jlong function_pointer) { + glDrawRangeElementArrayATIPROC glDrawRangeElementArrayATI = (glDrawRangeElementArrayATIPROC)((intptr_t)function_pointer); glDrawRangeElementArrayATI(mode, start, end, count); } -static void JNICALL Java_org_lwjgl_opengl_ATIElementArray_glDrawElementArrayATI(JNIEnv *env, jclass clazz, jint mode, jint count) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIElementArray_nglDrawElementArrayATI(JNIEnv *env, jclass clazz, jint mode, jint count, jlong function_pointer) { + glDrawElementArrayATIPROC glDrawElementArrayATI = (glDrawElementArrayATIPROC)((intptr_t)function_pointer); glDrawElementArrayATI(mode, count); } -static void JNICALL Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATI(JNIEnv *env, jclass clazz, jint type, jobject pPointer, jint pPointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATI(JNIEnv *env, jclass clazz, jint type, jobject pPointer, jint pPointer_position, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPointer)) + pPointer_position)); + glElementPointerATIPROC glElementPointerATI = (glElementPointerATIPROC)((intptr_t)function_pointer); glElementPointerATI(type, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATIBO(JNIEnv *env, jclass clazz, jint type, jint pPointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATIBO(JNIEnv *env, jclass clazz, jint type, jint pPointer_buffer_offset, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)offsetToPointer(pPointer_buffer_offset)); + glElementPointerATIPROC glElementPointerATI = (glElementPointerATIPROC)((intptr_t)function_pointer); glElementPointerATI(type, pPointer_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIElementArray_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glDrawRangeElementArrayATI", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ATIElementArray_glDrawRangeElementArrayATI, "glDrawRangeElementArrayATI", (void *)&glDrawRangeElementArrayATI}, - {"glDrawElementArrayATI", "(II)V", (void *)&Java_org_lwjgl_opengl_ATIElementArray_glDrawElementArrayATI, "glDrawElementArrayATI", (void *)&glDrawElementArrayATI}, - {"nglElementPointerATI", "(ILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATI, "glElementPointerATI", (void *)&glElementPointerATI}, - {"nglElementPointerATIBO", "(II)V", (void *)&Java_org_lwjgl_opengl_ATIElementArray_nglElementPointerATIBO, "glElementPointerATI", (void *)&glElementPointerATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIEnvmapBumpmap.c b/src/native/common/ati/org_lwjgl_opengl_ATIEnvmapBumpmap.c index 150ab31c..f3be6483 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIEnvmapBumpmap.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIEnvmapBumpmap.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetTexBumpParameterivATIPROC) (GLenum pname, GLint * param); @@ -8,38 +9,27 @@ typedef void (APIENTRY *glGetTexBumpParameterfvATIPROC) (GLenum pname, GLfloat * typedef void (APIENTRY *glTexBumpParameterivATIPROC) (GLenum pname, GLint * param); typedef void (APIENTRY *glTexBumpParameterfvATIPROC) (GLenum pname, GLfloat * param); -static glGetTexBumpParameterivATIPROC glGetTexBumpParameterivATI; -static glGetTexBumpParameterfvATIPROC glGetTexBumpParameterfvATI; -static glTexBumpParameterivATIPROC glTexBumpParameterivATI; -static glTexBumpParameterfvATIPROC glTexBumpParameterfvATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterivATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterivATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position, jlong function_pointer) { GLint *param_address = ((GLint *)(*env)->GetDirectBufferAddress(env, param)) + param_position; + glGetTexBumpParameterivATIPROC glGetTexBumpParameterivATI = (glGetTexBumpParameterivATIPROC)((intptr_t)function_pointer); glGetTexBumpParameterivATI(pname, param_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterfvATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterfvATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position, jlong function_pointer) { GLfloat *param_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, param)) + param_position; + glGetTexBumpParameterfvATIPROC glGetTexBumpParameterfvATI = (glGetTexBumpParameterfvATIPROC)((intptr_t)function_pointer); glGetTexBumpParameterfvATI(pname, param_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterivATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterivATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position, jlong function_pointer) { GLint *param_address = ((GLint *)(*env)->GetDirectBufferAddress(env, param)) + param_position; + glTexBumpParameterivATIPROC glTexBumpParameterivATI = (glTexBumpParameterivATIPROC)((intptr_t)function_pointer); glTexBumpParameterivATI(pname, param_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterfvATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterfvATI(JNIEnv *env, jclass clazz, jint pname, jobject param, jint param_position, jlong function_pointer) { GLfloat *param_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, param)) + param_position; + glTexBumpParameterfvATIPROC glTexBumpParameterfvATI = (glTexBumpParameterfvATIPROC)((intptr_t)function_pointer); glTexBumpParameterfvATI(pname, param_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIEnvmapBumpmap_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetTexBumpParameterivATI", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterivATI, "glGetTexBumpParameterivATI", (void *)&glGetTexBumpParameterivATI}, - {"nglGetTexBumpParameterfvATI", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglGetTexBumpParameterfvATI, "glGetTexBumpParameterfvATI", (void *)&glGetTexBumpParameterfvATI}, - {"nglTexBumpParameterivATI", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterivATI, "glTexBumpParameterivATI", (void *)&glTexBumpParameterivATI}, - {"nglTexBumpParameterfvATI", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIEnvmapBumpmap_nglTexBumpParameterfvATI, "glTexBumpParameterfvATI", (void *)&glTexBumpParameterfvATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIFragmentShader.c b/src/native/common/ati/org_lwjgl_opengl_ATIFragmentShader.c index 230bf574..d4093ac8 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIFragmentShader.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIFragmentShader.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glSetFragmentShaderConstantATIPROC) (GLuint dst, const GLfloat * pfValue); @@ -18,96 +19,75 @@ typedef void (APIENTRY *glDeleteFragmentShaderATIPROC) (GLuint id); typedef void (APIENTRY *glBindFragmentShaderATIPROC) (GLuint id); typedef GLuint (APIENTRY *glGenFragmentShadersATIPROC) (GLuint range); -static glSetFragmentShaderConstantATIPROC glSetFragmentShaderConstantATI; -static glAlphaFragmentOp3ATIPROC glAlphaFragmentOp3ATI; -static glAlphaFragmentOp2ATIPROC glAlphaFragmentOp2ATI; -static glAlphaFragmentOp1ATIPROC glAlphaFragmentOp1ATI; -static glColorFragmentOp3ATIPROC glColorFragmentOp3ATI; -static glColorFragmentOp2ATIPROC glColorFragmentOp2ATI; -static glColorFragmentOp1ATIPROC glColorFragmentOp1ATI; -static glSampleMapATIPROC glSampleMapATI; -static glPassTexCoordATIPROC glPassTexCoordATI; -static glEndFragmentShaderATIPROC glEndFragmentShaderATI; -static glBeginFragmentShaderATIPROC glBeginFragmentShaderATI; -static glDeleteFragmentShaderATIPROC glDeleteFragmentShaderATI; -static glBindFragmentShaderATIPROC glBindFragmentShaderATI; -static glGenFragmentShadersATIPROC glGenFragmentShadersATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglSetFragmentShaderConstantATI(JNIEnv *env, jclass clazz, jint dst, jobject pfValue, jint pfValue_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglSetFragmentShaderConstantATI(JNIEnv *env, jclass clazz, jint dst, jobject pfValue, jint pfValue_position, jlong function_pointer) { const GLfloat *pfValue_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, pfValue)) + pfValue_position; + glSetFragmentShaderConstantATIPROC glSetFragmentShaderConstantATI = (glSetFragmentShaderConstantATIPROC)((intptr_t)function_pointer); glSetFragmentShaderConstantATI(dst, pfValue_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glAlphaFragmentOp3ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jint arg3, jint arg3Rep, jint arg3Mod) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglAlphaFragmentOp3ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jint arg3, jint arg3Rep, jint arg3Mod, jlong function_pointer) { + glAlphaFragmentOp3ATIPROC glAlphaFragmentOp3ATI = (glAlphaFragmentOp3ATIPROC)((intptr_t)function_pointer); glAlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glAlphaFragmentOp2ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglAlphaFragmentOp2ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jlong function_pointer) { + glAlphaFragmentOp2ATIPROC glAlphaFragmentOp2ATI = (glAlphaFragmentOp2ATIPROC)((intptr_t)function_pointer); glAlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glAlphaFragmentOp1ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglAlphaFragmentOp1ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jlong function_pointer) { + glAlphaFragmentOp1ATIPROC glAlphaFragmentOp1ATI = (glAlphaFragmentOp1ATIPROC)((intptr_t)function_pointer); glAlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glColorFragmentOp3ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jint arg3, jint arg3Rep, jint arg3Mod) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglColorFragmentOp3ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jint arg3, jint arg3Rep, jint arg3Mod, jlong function_pointer) { + glColorFragmentOp3ATIPROC glColorFragmentOp3ATI = (glColorFragmentOp3ATIPROC)((intptr_t)function_pointer); glColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glColorFragmentOp2ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglColorFragmentOp2ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jint arg2, jint arg2Rep, jint arg2Mod, jlong function_pointer) { + glColorFragmentOp2ATIPROC glColorFragmentOp2ATI = (glColorFragmentOp2ATIPROC)((intptr_t)function_pointer); glColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glColorFragmentOp1ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglColorFragmentOp1ATI(JNIEnv *env, jclass clazz, jint op, jint dst, jint dstMask, jint dstMod, jint arg1, jint arg1Rep, jint arg1Mod, jlong function_pointer) { + glColorFragmentOp1ATIPROC glColorFragmentOp1ATI = (glColorFragmentOp1ATIPROC)((intptr_t)function_pointer); glColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glSampleMapATI(JNIEnv *env, jclass clazz, jint dst, jint interp, jint swizzle) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglSampleMapATI(JNIEnv *env, jclass clazz, jint dst, jint interp, jint swizzle, jlong function_pointer) { + glSampleMapATIPROC glSampleMapATI = (glSampleMapATIPROC)((intptr_t)function_pointer); glSampleMapATI(dst, interp, swizzle); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glPassTexCoordATI(JNIEnv *env, jclass clazz, jint dst, jint coord, jint swizzle) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglPassTexCoordATI(JNIEnv *env, jclass clazz, jint dst, jint coord, jint swizzle, jlong function_pointer) { + glPassTexCoordATIPROC glPassTexCoordATI = (glPassTexCoordATIPROC)((intptr_t)function_pointer); glPassTexCoordATI(dst, coord, swizzle); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glEndFragmentShaderATI(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglEndFragmentShaderATI(JNIEnv *env, jclass clazz, jlong function_pointer) { + glEndFragmentShaderATIPROC glEndFragmentShaderATI = (glEndFragmentShaderATIPROC)((intptr_t)function_pointer); glEndFragmentShaderATI(); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glBeginFragmentShaderATI(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglBeginFragmentShaderATI(JNIEnv *env, jclass clazz, jlong function_pointer) { + glBeginFragmentShaderATIPROC glBeginFragmentShaderATI = (glBeginFragmentShaderATIPROC)((intptr_t)function_pointer); glBeginFragmentShaderATI(); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glDeleteFragmentShaderATI(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglDeleteFragmentShaderATI(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glDeleteFragmentShaderATIPROC glDeleteFragmentShaderATI = (glDeleteFragmentShaderATIPROC)((intptr_t)function_pointer); glDeleteFragmentShaderATI(id); } -static void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glBindFragmentShaderATI(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglBindFragmentShaderATI(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glBindFragmentShaderATIPROC glBindFragmentShaderATI = (glBindFragmentShaderATIPROC)((intptr_t)function_pointer); glBindFragmentShaderATI(id); } -static jint JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_glGenFragmentShadersATI(JNIEnv *env, jclass clazz, jint range) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_nglGenFragmentShadersATI(JNIEnv *env, jclass clazz, jint range, jlong function_pointer) { + glGenFragmentShadersATIPROC glGenFragmentShadersATI = (glGenFragmentShadersATIPROC)((intptr_t)function_pointer); GLuint __result = glGenFragmentShadersATI(range); return __result; } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIFragmentShader_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglSetFragmentShaderConstantATI", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_nglSetFragmentShaderConstantATI, "glSetFragmentShaderConstantATI", (void *)&glSetFragmentShaderConstantATI}, - {"glAlphaFragmentOp3ATI", "(IIIIIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glAlphaFragmentOp3ATI, "glAlphaFragmentOp3ATI", (void *)&glAlphaFragmentOp3ATI}, - {"glAlphaFragmentOp2ATI", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glAlphaFragmentOp2ATI, "glAlphaFragmentOp2ATI", (void *)&glAlphaFragmentOp2ATI}, - {"glAlphaFragmentOp1ATI", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glAlphaFragmentOp1ATI, "glAlphaFragmentOp1ATI", (void *)&glAlphaFragmentOp1ATI}, - {"glColorFragmentOp3ATI", "(IIIIIIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glColorFragmentOp3ATI, "glColorFragmentOp3ATI", (void *)&glColorFragmentOp3ATI}, - {"glColorFragmentOp2ATI", "(IIIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glColorFragmentOp2ATI, "glColorFragmentOp2ATI", (void *)&glColorFragmentOp2ATI}, - {"glColorFragmentOp1ATI", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glColorFragmentOp1ATI, "glColorFragmentOp1ATI", (void *)&glColorFragmentOp1ATI}, - {"glSampleMapATI", "(III)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glSampleMapATI, "glSampleMapATI", (void *)&glSampleMapATI}, - {"glPassTexCoordATI", "(III)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glPassTexCoordATI, "glPassTexCoordATI", (void *)&glPassTexCoordATI}, - {"glEndFragmentShaderATI", "()V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glEndFragmentShaderATI, "glEndFragmentShaderATI", (void *)&glEndFragmentShaderATI}, - {"glBeginFragmentShaderATI", "()V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glBeginFragmentShaderATI, "glBeginFragmentShaderATI", (void *)&glBeginFragmentShaderATI}, - {"glDeleteFragmentShaderATI", "(I)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glDeleteFragmentShaderATI, "glDeleteFragmentShaderATI", (void *)&glDeleteFragmentShaderATI}, - {"glBindFragmentShaderATI", "(I)V", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glBindFragmentShaderATI, "glBindFragmentShaderATI", (void *)&glBindFragmentShaderATI}, - {"glGenFragmentShadersATI", "(I)I", (void *)&Java_org_lwjgl_opengl_ATIFragmentShader_glGenFragmentShadersATI, "glGenFragmentShadersATI", (void *)&glGenFragmentShadersATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIMapObjectBuffer.c b/src/native/common/ati/org_lwjgl_opengl_ATIMapObjectBuffer.c index 0a909979..91012142 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIMapObjectBuffer.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIMapObjectBuffer.c @@ -1,28 +1,20 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glUnmapObjectBufferATIPROC) (GLuint buffer); typedef GLvoid * (APIENTRY *glMapObjectBufferATIPROC) (GLuint buffer); -static glUnmapObjectBufferATIPROC glUnmapObjectBufferATI; -static glMapObjectBufferATIPROC glMapObjectBufferATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIMapObjectBuffer_glUnmapObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIMapObjectBuffer_nglUnmapObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer, jlong function_pointer) { + glUnmapObjectBufferATIPROC glUnmapObjectBufferATI = (glUnmapObjectBufferATIPROC)((intptr_t)function_pointer); glUnmapObjectBufferATI(buffer); } -static jobject JNICALL Java_org_lwjgl_opengl_ATIMapObjectBuffer_nglMapObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer, jint result_size, jobject old_buffer) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ATIMapObjectBuffer_nglMapObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer, jint result_size, jobject old_buffer, jlong function_pointer) { + glMapObjectBufferATIPROC glMapObjectBufferATI = (glMapObjectBufferATIPROC)((intptr_t)function_pointer); GLvoid * __result = glMapObjectBufferATI(buffer); return safeNewBufferCached(env, __result, result_size, old_buffer); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIMapObjectBuffer_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glUnmapObjectBufferATI", "(I)V", (void *)&Java_org_lwjgl_opengl_ATIMapObjectBuffer_glUnmapObjectBufferATI, "glUnmapObjectBufferATI", (void *)&glUnmapObjectBufferATI}, - {"nglMapObjectBufferATI", "(IILjava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_ATIMapObjectBuffer_nglMapObjectBufferATI, "glMapObjectBufferATI", (void *)&glMapObjectBufferATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIPnTriangles.c b/src/native/common/ati/org_lwjgl_opengl_ATIPnTriangles.c index 37d514c7..1fffe67f 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIPnTriangles.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIPnTriangles.c @@ -1,27 +1,19 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glPNTrianglesiATIPROC) (GLenum pname, GLint param); typedef void (APIENTRY *glPNTrianglesfATIPROC) (GLenum pname, GLfloat param); -static glPNTrianglesiATIPROC glPNTrianglesiATI; -static glPNTrianglesfATIPROC glPNTrianglesfATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIPnTriangles_glPNTrianglesiATI(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIPnTriangles_nglPNTrianglesiATI(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glPNTrianglesiATIPROC glPNTrianglesiATI = (glPNTrianglesiATIPROC)((intptr_t)function_pointer); glPNTrianglesiATI(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_ATIPnTriangles_glPNTrianglesfATI(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIPnTriangles_nglPNTrianglesfATI(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glPNTrianglesfATIPROC glPNTrianglesfATI = (glPNTrianglesfATIPROC)((intptr_t)function_pointer); glPNTrianglesfATI(pname, param); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIPnTriangles_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glPNTrianglesiATI", "(II)V", (void *)&Java_org_lwjgl_opengl_ATIPnTriangles_glPNTrianglesiATI, "glPNTrianglesiATI", (void *)&glPNTrianglesiATI}, - {"glPNTrianglesfATI", "(IF)V", (void *)&Java_org_lwjgl_opengl_ATIPnTriangles_glPNTrianglesfATI, "glPNTrianglesfATI", (void *)&glPNTrianglesfATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATISeparateStencil.c b/src/native/common/ati/org_lwjgl_opengl_ATISeparateStencil.c index 6a49fe54..9d2128e4 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATISeparateStencil.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATISeparateStencil.c @@ -1,27 +1,19 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glStencilFuncSeparateATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); typedef void (APIENTRY *glStencilOpSeparateATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); -static glStencilFuncSeparateATIPROC glStencilFuncSeparateATI; -static glStencilOpSeparateATIPROC glStencilOpSeparateATI; - -static void JNICALL Java_org_lwjgl_opengl_ATISeparateStencil_glStencilFuncSeparateATI(JNIEnv *env, jclass clazz, jint frontfunc, jint backfunc, jint ref, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATISeparateStencil_nglStencilFuncSeparateATI(JNIEnv *env, jclass clazz, jint frontfunc, jint backfunc, jint ref, jint mask, jlong function_pointer) { + glStencilFuncSeparateATIPROC glStencilFuncSeparateATI = (glStencilFuncSeparateATIPROC)((intptr_t)function_pointer); glStencilFuncSeparateATI(frontfunc, backfunc, ref, mask); } -static void JNICALL Java_org_lwjgl_opengl_ATISeparateStencil_glStencilOpSeparateATI(JNIEnv *env, jclass clazz, jint face, jint sfail, jint dpfail, jint dppass) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATISeparateStencil_nglStencilOpSeparateATI(JNIEnv *env, jclass clazz, jint face, jint sfail, jint dpfail, jint dppass, jlong function_pointer) { + glStencilOpSeparateATIPROC glStencilOpSeparateATI = (glStencilOpSeparateATIPROC)((intptr_t)function_pointer); glStencilOpSeparateATI(face, sfail, dpfail, dppass); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATISeparateStencil_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glStencilFuncSeparateATI", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ATISeparateStencil_glStencilFuncSeparateATI, "glStencilFuncSeparateATI", (void *)&glStencilFuncSeparateATI}, - {"glStencilOpSeparateATI", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ATISeparateStencil_glStencilOpSeparateATI, "glStencilOpSeparateATI", (void *)&glStencilOpSeparateATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIVertexArrayObject.c b/src/native/common/ati/org_lwjgl_opengl_ATIVertexArrayObject.c index 44c3ed75..c3344d1c 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIVertexArrayObject.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIVertexArrayObject.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetVariantArrayObjectivATIPROC) (GLuint id, GLenum pname, GLint * params); @@ -16,92 +17,73 @@ typedef void (APIENTRY *glUpdateObjectBufferATIPROC) (GLuint buffer, GLuint offs typedef GLboolean (APIENTRY *glIsObjectBufferATIPROC) (GLuint buffer); typedef GLuint (APIENTRY *glNewObjectBufferATIPROC) (GLsizei size, const GLvoid * pPointer, GLenum usage); -static glGetVariantArrayObjectivATIPROC glGetVariantArrayObjectivATI; -static glGetVariantArrayObjectfvATIPROC glGetVariantArrayObjectfvATI; -static glVariantArrayObjectATIPROC glVariantArrayObjectATI; -static glGetArrayObjectivATIPROC glGetArrayObjectivATI; -static glGetArrayObjectfvATIPROC glGetArrayObjectfvATI; -static glArrayObjectATIPROC glArrayObjectATI; -static glFreeObjectBufferATIPROC glFreeObjectBufferATI; -static glGetObjectBufferivATIPROC glGetObjectBufferivATI; -static glGetObjectBufferfvATIPROC glGetObjectBufferfvATI; -static glUpdateObjectBufferATIPROC glUpdateObjectBufferATI; -static glIsObjectBufferATIPROC glIsObjectBufferATI; -static glNewObjectBufferATIPROC glNewObjectBufferATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArrayObjectivATI(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArrayObjectivATI(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVariantArrayObjectivATIPROC glGetVariantArrayObjectivATI = (glGetVariantArrayObjectivATIPROC)((intptr_t)function_pointer); glGetVariantArrayObjectivATI(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArrayObjectfvATI(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArrayObjectfvATI(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVariantArrayObjectfvATIPROC glGetVariantArrayObjectfvATI = (glGetVariantArrayObjectfvATIPROC)((intptr_t)function_pointer); glGetVariantArrayObjectfvATI(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_glVariantArrayObjectATI(JNIEnv *env, jclass clazz, jint id, jint type, jint stride, jint buffer, jint offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglVariantArrayObjectATI(JNIEnv *env, jclass clazz, jint id, jint type, jint stride, jint buffer, jint offset, jlong function_pointer) { + glVariantArrayObjectATIPROC glVariantArrayObjectATI = (glVariantArrayObjectATIPROC)((intptr_t)function_pointer); glVariantArrayObjectATI(id, type, stride, buffer, offset); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetArrayObjectivATI(JNIEnv *env, jclass clazz, jint array, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetArrayObjectivATI(JNIEnv *env, jclass clazz, jint array, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetArrayObjectivATIPROC glGetArrayObjectivATI = (glGetArrayObjectivATIPROC)((intptr_t)function_pointer); glGetArrayObjectivATI(array, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetArrayObjectfvATI(JNIEnv *env, jclass clazz, jint array, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetArrayObjectfvATI(JNIEnv *env, jclass clazz, jint array, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetArrayObjectfvATIPROC glGetArrayObjectfvATI = (glGetArrayObjectfvATIPROC)((intptr_t)function_pointer); glGetArrayObjectfvATI(array, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_glArrayObjectATI(JNIEnv *env, jclass clazz, jint array, jint size, jint type, jint stride, jint buffer, jint offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglArrayObjectATI(JNIEnv *env, jclass clazz, jint array, jint size, jint type, jint stride, jint buffer, jint offset, jlong function_pointer) { + glArrayObjectATIPROC glArrayObjectATI = (glArrayObjectATIPROC)((intptr_t)function_pointer); glArrayObjectATI(array, size, type, stride, buffer, offset); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_glFreeObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglFreeObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer, jlong function_pointer) { + glFreeObjectBufferATIPROC glFreeObjectBufferATI = (glFreeObjectBufferATIPROC)((intptr_t)function_pointer); glFreeObjectBufferATI(buffer); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetObjectBufferivATI(JNIEnv *env, jclass clazz, jint buffer, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetObjectBufferivATI(JNIEnv *env, jclass clazz, jint buffer, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetObjectBufferivATIPROC glGetObjectBufferivATI = (glGetObjectBufferivATIPROC)((intptr_t)function_pointer); glGetObjectBufferivATI(buffer, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetObjectBufferfvATI(JNIEnv *env, jclass clazz, jint buffer, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetObjectBufferfvATI(JNIEnv *env, jclass clazz, jint buffer, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetObjectBufferfvATIPROC glGetObjectBufferfvATI = (glGetObjectBufferfvATIPROC)((intptr_t)function_pointer); glGetObjectBufferfvATI(buffer, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglUpdateObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer, jint offset, jint size, jobject pPointer, jint pPointer_position, jint preserve) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglUpdateObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer, jint offset, jint size, jobject pPointer, jint pPointer_position, jint preserve, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPointer)) + pPointer_position)); + glUpdateObjectBufferATIPROC glUpdateObjectBufferATI = (glUpdateObjectBufferATIPROC)((intptr_t)function_pointer); glUpdateObjectBufferATI(buffer, offset, size, pPointer_address, preserve); } -static jboolean JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_glIsObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglIsObjectBufferATI(JNIEnv *env, jclass clazz, jint buffer, jlong function_pointer) { + glIsObjectBufferATIPROC glIsObjectBufferATI = (glIsObjectBufferATIPROC)((intptr_t)function_pointer); GLboolean __result = glIsObjectBufferATI(buffer); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglNewObjectBufferATI(JNIEnv *env, jclass clazz, jint size, jobject pPointer, jint pPointer_position, jint usage) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_nglNewObjectBufferATI(JNIEnv *env, jclass clazz, jint size, jobject pPointer, jint pPointer_position, jint usage, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)(((char *)safeGetBufferAddress(env, pPointer)) + pPointer_position)); + glNewObjectBufferATIPROC glNewObjectBufferATI = (glNewObjectBufferATIPROC)((intptr_t)function_pointer); GLuint __result = glNewObjectBufferATI(size, pPointer_address, usage); return __result; } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexArrayObject_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetVariantArrayObjectivATI", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArrayObjectivATI, "glGetVariantArrayObjectivATI", (void *)&glGetVariantArrayObjectivATI}, - {"nglGetVariantArrayObjectfvATI", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetVariantArrayObjectfvATI, "glGetVariantArrayObjectfvATI", (void *)&glGetVariantArrayObjectfvATI}, - {"glVariantArrayObjectATI", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_glVariantArrayObjectATI, "glVariantArrayObjectATI", (void *)&glVariantArrayObjectATI}, - {"nglGetArrayObjectivATI", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetArrayObjectivATI, "glGetArrayObjectivATI", (void *)&glGetArrayObjectivATI}, - {"nglGetArrayObjectfvATI", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetArrayObjectfvATI, "glGetArrayObjectfvATI", (void *)&glGetArrayObjectfvATI}, - {"glArrayObjectATI", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_glArrayObjectATI, "glArrayObjectATI", (void *)&glArrayObjectATI}, - {"glFreeObjectBufferATI", "(I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_glFreeObjectBufferATI, "glFreeObjectBufferATI", (void *)&glFreeObjectBufferATI}, - {"nglGetObjectBufferivATI", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetObjectBufferivATI, "glGetObjectBufferivATI", (void *)&glGetObjectBufferivATI}, - {"nglGetObjectBufferfvATI", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglGetObjectBufferfvATI, "glGetObjectBufferfvATI", (void *)&glGetObjectBufferfvATI}, - {"nglUpdateObjectBufferATI", "(IIILjava/nio/Buffer;II)V", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglUpdateObjectBufferATI, "glUpdateObjectBufferATI", (void *)&glUpdateObjectBufferATI}, - {"glIsObjectBufferATI", "(I)Z", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_glIsObjectBufferATI, "glIsObjectBufferATI", (void *)&glIsObjectBufferATI}, - {"nglNewObjectBufferATI", "(ILjava/nio/Buffer;II)I", (void *)&Java_org_lwjgl_opengl_ATIVertexArrayObject_nglNewObjectBufferATI, "glNewObjectBufferATI", (void *)&glNewObjectBufferATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIVertexAttribArrayObject.c b/src/native/common/ati/org_lwjgl_opengl_ATIVertexAttribArrayObject.c index 10f549de..b43cbb46 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIVertexAttribArrayObject.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIVertexAttribArrayObject.c @@ -1,36 +1,27 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetVertexAttribArrayObjectivATIPROC) (GLuint index, GLenum pname, GLint * params); typedef void (APIENTRY *glGetVertexAttribArrayObjectfvATIPROC) (GLuint index, GLenum pname, GLfloat * params); typedef void (APIENTRY *glVertexAttribArrayObjectATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); -static glGetVertexAttribArrayObjectivATIPROC glGetVertexAttribArrayObjectivATI; -static glGetVertexAttribArrayObjectfvATIPROC glGetVertexAttribArrayObjectfvATI; -static glVertexAttribArrayObjectATIPROC glVertexAttribArrayObjectATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectivATI(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectivATI(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribArrayObjectivATIPROC glGetVertexAttribArrayObjectivATI = (glGetVertexAttribArrayObjectivATIPROC)((intptr_t)function_pointer); glGetVertexAttribArrayObjectivATI(index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectfvATI(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectfvATI(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribArrayObjectfvATIPROC glGetVertexAttribArrayObjectfvATI = (glGetVertexAttribArrayObjectfvATIPROC)((intptr_t)function_pointer); glGetVertexAttribArrayObjectfvATI(index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_glVertexAttribArrayObjectATI(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jint buffer, jint offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglVertexAttribArrayObjectATI(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jint buffer, jint offset, jlong function_pointer) { + glVertexAttribArrayObjectATIPROC glVertexAttribArrayObjectATI = (glVertexAttribArrayObjectATIPROC)((intptr_t)function_pointer); glVertexAttribArrayObjectATI(index, size, type, normalized, stride, buffer, offset); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetVertexAttribArrayObjectivATI", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectivATI, "glGetVertexAttribArrayObjectivATI", (void *)&glGetVertexAttribArrayObjectivATI}, - {"nglGetVertexAttribArrayObjectfvATI", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_nglGetVertexAttribArrayObjectfvATI, "glGetVertexAttribArrayObjectfvATI", (void *)&glGetVertexAttribArrayObjectfvATI}, - {"glVertexAttribArrayObjectATI", "(IIIZIII)V", (void *)&Java_org_lwjgl_opengl_ATIVertexAttribArrayObject_glVertexAttribArrayObjectATI, "glVertexAttribArrayObjectATI", (void *)&glVertexAttribArrayObjectATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ati/org_lwjgl_opengl_ATIVertexStreams.c b/src/native/common/ati/org_lwjgl_opengl_ATIVertexStreams.c index 4813e952..1d90a592 100644 --- a/src/native/common/ati/org_lwjgl_opengl_ATIVertexStreams.c +++ b/src/native/common/ati/org_lwjgl_opengl_ATIVertexStreams.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glVertexBlendEnviATIPROC) (GLenum pname, GLint param); @@ -20,106 +21,83 @@ typedef void (APIENTRY *glVertexStream2sATIPROC) (GLenum stream, GLshort x, GLsh typedef void (APIENTRY *glVertexStream2iATIPROC) (GLenum stream, GLint x, GLint y); typedef void (APIENTRY *glVertexStream2fATIPROC) (GLenum stream, GLfloat x, GLfloat y); -static glVertexBlendEnviATIPROC glVertexBlendEnviATI; -static glVertexBlendEnvfATIPROC glVertexBlendEnvfATI; -static glClientActiveVertexStreamATIPROC glClientActiveVertexStreamATI; -static glNormalStream3sATIPROC glNormalStream3sATI; -static glNormalStream3iATIPROC glNormalStream3iATI; -static glNormalStream3fATIPROC glNormalStream3fATI; -static glNormalStream3bATIPROC glNormalStream3bATI; -static glVertexStream4sATIPROC glVertexStream4sATI; -static glVertexStream4iATIPROC glVertexStream4iATI; -static glVertexStream4fATIPROC glVertexStream4fATI; -static glVertexStream3sATIPROC glVertexStream3sATI; -static glVertexStream3iATIPROC glVertexStream3iATI; -static glVertexStream3fATIPROC glVertexStream3fATI; -static glVertexStream2sATIPROC glVertexStream2sATI; -static glVertexStream2iATIPROC glVertexStream2iATI; -static glVertexStream2fATIPROC glVertexStream2fATI; - -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexBlendEnviATI(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexBlendEnviATI(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glVertexBlendEnviATIPROC glVertexBlendEnviATI = (glVertexBlendEnviATIPROC)((intptr_t)function_pointer); glVertexBlendEnviATI(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexBlendEnvfATI(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexBlendEnvfATI(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glVertexBlendEnvfATIPROC glVertexBlendEnvfATI = (glVertexBlendEnvfATIPROC)((intptr_t)function_pointer); glVertexBlendEnvfATI(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glClientActiveVertexStreamATI(JNIEnv *env, jclass clazz, jint stream) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglClientActiveVertexStreamATI(JNIEnv *env, jclass clazz, jint stream, jlong function_pointer) { + glClientActiveVertexStreamATIPROC glClientActiveVertexStreamATI = (glClientActiveVertexStreamATIPROC)((intptr_t)function_pointer); glClientActiveVertexStreamATI(stream); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglNormalStream3sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y, jshort z, jlong function_pointer) { + glNormalStream3sATIPROC glNormalStream3sATI = (glNormalStream3sATIPROC)((intptr_t)function_pointer); glNormalStream3sATI(stream, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y, jint z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglNormalStream3iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y, jint z, jlong function_pointer) { + glNormalStream3iATIPROC glNormalStream3iATI = (glNormalStream3iATIPROC)((intptr_t)function_pointer); glNormalStream3iATI(stream, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglNormalStream3fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glNormalStream3fATIPROC glNormalStream3fATI = (glNormalStream3fATIPROC)((intptr_t)function_pointer); glNormalStream3fATI(stream, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3bATI(JNIEnv *env, jclass clazz, jint stream, jbyte x, jbyte y, jbyte z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglNormalStream3bATI(JNIEnv *env, jclass clazz, jint stream, jbyte x, jbyte y, jbyte z, jlong function_pointer) { + glNormalStream3bATIPROC glNormalStream3bATI = (glNormalStream3bATIPROC)((intptr_t)function_pointer); glNormalStream3bATI(stream, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream4sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y, jshort z, jshort w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream4sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y, jshort z, jshort w, jlong function_pointer) { + glVertexStream4sATIPROC glVertexStream4sATI = (glVertexStream4sATIPROC)((intptr_t)function_pointer); glVertexStream4sATI(stream, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream4iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y, jint z, jint w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream4iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y, jint z, jint w, jlong function_pointer) { + glVertexStream4iATIPROC glVertexStream4iATI = (glVertexStream4iATIPROC)((intptr_t)function_pointer); glVertexStream4iATI(stream, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream4fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream4fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glVertexStream4fATIPROC glVertexStream4fATI = (glVertexStream4fATIPROC)((intptr_t)function_pointer); glVertexStream4fATI(stream, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream3sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream3sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y, jshort z, jlong function_pointer) { + glVertexStream3sATIPROC glVertexStream3sATI = (glVertexStream3sATIPROC)((intptr_t)function_pointer); glVertexStream3sATI(stream, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream3iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y, jint z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream3iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y, jint z, jlong function_pointer) { + glVertexStream3iATIPROC glVertexStream3iATI = (glVertexStream3iATIPROC)((intptr_t)function_pointer); glVertexStream3iATI(stream, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream3fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream3fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glVertexStream3fATIPROC glVertexStream3fATI = (glVertexStream3fATIPROC)((intptr_t)function_pointer); glVertexStream3fATI(stream, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream2sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream2sATI(JNIEnv *env, jclass clazz, jint stream, jshort x, jshort y, jlong function_pointer) { + glVertexStream2sATIPROC glVertexStream2sATI = (glVertexStream2sATIPROC)((intptr_t)function_pointer); glVertexStream2sATI(stream, x, y); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream2iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream2iATI(JNIEnv *env, jclass clazz, jint stream, jint x, jint y, jlong function_pointer) { + glVertexStream2iATIPROC glVertexStream2iATI = (glVertexStream2iATIPROC)((intptr_t)function_pointer); glVertexStream2iATI(stream, x, y); } -static void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream2fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_nglVertexStream2fATI(JNIEnv *env, jclass clazz, jint stream, jfloat x, jfloat y, jlong function_pointer) { + glVertexStream2fATIPROC glVertexStream2fATI = (glVertexStream2fATIPROC)((intptr_t)function_pointer); glVertexStream2fATI(stream, x, y); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ATIVertexStreams_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glVertexBlendEnviATI", "(II)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexBlendEnviATI, "glVertexBlendEnviATI", (void *)&glVertexBlendEnviATI}, - {"glVertexBlendEnvfATI", "(IF)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexBlendEnvfATI, "glVertexBlendEnvfATI", (void *)&glVertexBlendEnvfATI}, - {"glClientActiveVertexStreamATI", "(I)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glClientActiveVertexStreamATI, "glClientActiveVertexStreamATI", (void *)&glClientActiveVertexStreamATI}, - {"glNormalStream3sATI", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3sATI, "glNormalStream3sATI", (void *)&glNormalStream3sATI}, - {"glNormalStream3iATI", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3iATI, "glNormalStream3iATI", (void *)&glNormalStream3iATI}, - {"glNormalStream3fATI", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3fATI, "glNormalStream3fATI", (void *)&glNormalStream3fATI}, - {"glNormalStream3bATI", "(IBBB)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glNormalStream3bATI, "glNormalStream3bATI", (void *)&glNormalStream3bATI}, - {"glVertexStream4sATI", "(ISSSS)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream4sATI, "glVertexStream4sATI", (void *)&glVertexStream4sATI}, - {"glVertexStream4iATI", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream4iATI, "glVertexStream4iATI", (void *)&glVertexStream4iATI}, - {"glVertexStream4fATI", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream4fATI, "glVertexStream4fATI", (void *)&glVertexStream4fATI}, - {"glVertexStream3sATI", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream3sATI, "glVertexStream3sATI", (void *)&glVertexStream3sATI}, - {"glVertexStream3iATI", "(IIII)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream3iATI, "glVertexStream3iATI", (void *)&glVertexStream3iATI}, - {"glVertexStream3fATI", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream3fATI, "glVertexStream3fATI", (void *)&glVertexStream3fATI}, - {"glVertexStream2sATI", "(ISS)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream2sATI, "glVertexStream2sATI", (void *)&glVertexStream2sATI}, - {"glVertexStream2iATI", "(III)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream2iATI, "glVertexStream2iATI", (void *)&glVertexStream2iATI}, - {"glVertexStream2fATI", "(IFF)V", (void *)&Java_org_lwjgl_opengl_ATIVertexStreams_glVertexStream2fATI, "glVertexStream2fATI", (void *)&glVertexStream2fATI} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTBlendEquationSeparate.c b/src/native/common/ext/org_lwjgl_opengl_EXTBlendEquationSeparate.c index 4b8e512d..61d7d671 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTBlendEquationSeparate.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTBlendEquationSeparate.c @@ -1,20 +1,13 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glBlendEquationSeparateEXTPROC) (GLenum modeRGB, GLenum modeAlpha); -static glBlendEquationSeparateEXTPROC glBlendEquationSeparateEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTBlendEquationSeparate_glBlendEquationSeparateEXT(JNIEnv *env, jclass clazz, jint modeRGB, jint modeAlpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTBlendEquationSeparate_nglBlendEquationSeparateEXT(JNIEnv *env, jclass clazz, jint modeRGB, jint modeAlpha, jlong function_pointer) { + glBlendEquationSeparateEXTPROC glBlendEquationSeparateEXT = (glBlendEquationSeparateEXTPROC)((intptr_t)function_pointer); glBlendEquationSeparateEXT(modeRGB, modeAlpha); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTBlendEquationSeparate_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glBlendEquationSeparateEXT", "(II)V", (void *)&Java_org_lwjgl_opengl_EXTBlendEquationSeparate_glBlendEquationSeparateEXT, "glBlendEquationSeparateEXT", (void *)&glBlendEquationSeparateEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTBlendFuncSeparate.c b/src/native/common/ext/org_lwjgl_opengl_EXTBlendFuncSeparate.c index 995da2f7..015c50d9 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTBlendFuncSeparate.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTBlendFuncSeparate.c @@ -1,20 +1,13 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glBlendFuncSeparateEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -static glBlendFuncSeparateEXTPROC glBlendFuncSeparateEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTBlendFuncSeparate_glBlendFuncSeparateEXT(JNIEnv *env, jclass clazz, jint sfactorRGB, jint dfactorRGB, jint sfactorAlpha, jint dfactorAlpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTBlendFuncSeparate_nglBlendFuncSeparateEXT(JNIEnv *env, jclass clazz, jint sfactorRGB, jint dfactorRGB, jint sfactorAlpha, jint dfactorAlpha, jlong function_pointer) { + glBlendFuncSeparateEXTPROC glBlendFuncSeparateEXT = (glBlendFuncSeparateEXTPROC)((intptr_t)function_pointer); glBlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTBlendFuncSeparate_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glBlendFuncSeparateEXT", "(IIII)V", (void *)&Java_org_lwjgl_opengl_EXTBlendFuncSeparate_glBlendFuncSeparateEXT, "glBlendFuncSeparateEXT", (void *)&glBlendFuncSeparateEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTCompiledVertexArray.c b/src/native/common/ext/org_lwjgl_opengl_EXTCompiledVertexArray.c index cc884cd9..e2bedaa1 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTCompiledVertexArray.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTCompiledVertexArray.c @@ -1,27 +1,19 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glUnlockArraysEXTPROC) (); typedef void (APIENTRY *glLockArraysEXTPROC) (GLint first, GLsizei count); -static glUnlockArraysEXTPROC glUnlockArraysEXT; -static glLockArraysEXTPROC glLockArraysEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTCompiledVertexArray_glUnlockArraysEXT(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTCompiledVertexArray_nglUnlockArraysEXT(JNIEnv *env, jclass clazz, jlong function_pointer) { + glUnlockArraysEXTPROC glUnlockArraysEXT = (glUnlockArraysEXTPROC)((intptr_t)function_pointer); glUnlockArraysEXT(); } -static void JNICALL Java_org_lwjgl_opengl_EXTCompiledVertexArray_glLockArraysEXT(JNIEnv *env, jclass clazz, jint first, jint count) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTCompiledVertexArray_nglLockArraysEXT(JNIEnv *env, jclass clazz, jint first, jint count, jlong function_pointer) { + glLockArraysEXTPROC glLockArraysEXT = (glLockArraysEXTPROC)((intptr_t)function_pointer); glLockArraysEXT(first, count); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTCompiledVertexArray_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glUnlockArraysEXT", "()V", (void *)&Java_org_lwjgl_opengl_EXTCompiledVertexArray_glUnlockArraysEXT, "glUnlockArraysEXT", (void *)&glUnlockArraysEXT}, - {"glLockArraysEXT", "(II)V", (void *)&Java_org_lwjgl_opengl_EXTCompiledVertexArray_glLockArraysEXT, "glLockArraysEXT", (void *)&glLockArraysEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTDepthBoundsTest.c b/src/native/common/ext/org_lwjgl_opengl_EXTDepthBoundsTest.c index 2766b060..cd3a2c59 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTDepthBoundsTest.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTDepthBoundsTest.c @@ -1,20 +1,13 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glDepthBoundsEXTPROC) (GLclampd zmin, GLclampd zmax); -static glDepthBoundsEXTPROC glDepthBoundsEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTDepthBoundsTest_glDepthBoundsEXT(JNIEnv *env, jclass clazz, jdouble zmin, jdouble zmax) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTDepthBoundsTest_nglDepthBoundsEXT(JNIEnv *env, jclass clazz, jdouble zmin, jdouble zmax, jlong function_pointer) { + glDepthBoundsEXTPROC glDepthBoundsEXT = (glDepthBoundsEXTPROC)((intptr_t)function_pointer); glDepthBoundsEXT(zmin, zmax); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTDepthBoundsTest_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glDepthBoundsEXT", "(DD)V", (void *)&Java_org_lwjgl_opengl_EXTDepthBoundsTest_glDepthBoundsEXT, "glDepthBoundsEXT", (void *)&glDepthBoundsEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTDrawRangeElements.c b/src/native/common/ext/org_lwjgl_opengl_EXTDrawRangeElements.c index 682ea29f..6bb99aff 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTDrawRangeElements.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTDrawRangeElements.c @@ -1,27 +1,20 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glDrawRangeElementsEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * pIndices); -static glDrawRangeElementsEXTPROC glDrawRangeElementsEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXT(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jobject pIndices, jint pIndices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXT(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jobject pIndices, jint pIndices_position, jlong function_pointer) { const GLvoid *pIndices_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pIndices)) + pIndices_position)); + glDrawRangeElementsEXTPROC glDrawRangeElementsEXT = (glDrawRangeElementsEXTPROC)((intptr_t)function_pointer); glDrawRangeElementsEXT(mode, start, end, count, type, pIndices_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXTBO(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jint pIndices_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXTBO(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jint pIndices_buffer_offset, jlong function_pointer) { const GLvoid *pIndices_address = ((const GLvoid *)offsetToPointer(pIndices_buffer_offset)); + glDrawRangeElementsEXTPROC glDrawRangeElementsEXT = (glDrawRangeElementsEXTPROC)((intptr_t)function_pointer); glDrawRangeElementsEXT(mode, start, end, count, type, pIndices_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTDrawRangeElements_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglDrawRangeElementsEXT", "(IIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXT, "glDrawRangeElementsEXT", (void *)&glDrawRangeElementsEXT}, - {"nglDrawRangeElementsEXTBO", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_EXTDrawRangeElements_nglDrawRangeElementsEXTBO, "glDrawRangeElementsEXT", (void *)&glDrawRangeElementsEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTFogCoord.c b/src/native/common/ext/org_lwjgl_opengl_EXTFogCoord.c index ee7383b8..19645fa6 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTFogCoord.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTFogCoord.c @@ -1,34 +1,26 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glFogCoordPointerEXTPROC) (GLenum type, GLsizei stride, const GLvoid * data); typedef void (APIENTRY *glFogCoordfEXTPROC) (GLfloat coord); -static glFogCoordPointerEXTPROC glFogCoordPointerEXT; -static glFogCoordfEXTPROC glFogCoordfEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXT(JNIEnv *env, jclass clazz, jint type, jint stride, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXT(JNIEnv *env, jclass clazz, jint type, jint stride, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glFogCoordPointerEXTPROC glFogCoordPointerEXT = (glFogCoordPointerEXTPROC)((intptr_t)function_pointer); glFogCoordPointerEXT(type, stride, data_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXTBO(JNIEnv *env, jclass clazz, jint type, jint stride, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXTBO(JNIEnv *env, jclass clazz, jint type, jint stride, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glFogCoordPointerEXTPROC glFogCoordPointerEXT = (glFogCoordPointerEXTPROC)((intptr_t)function_pointer); glFogCoordPointerEXT(type, stride, data_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_glFogCoordfEXT(JNIEnv *env, jclass clazz, jfloat coord) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordfEXT(JNIEnv *env, jclass clazz, jfloat coord, jlong function_pointer) { + glFogCoordfEXTPROC glFogCoordfEXT = (glFogCoordfEXTPROC)((intptr_t)function_pointer); glFogCoordfEXT(coord); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFogCoord_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglFogCoordPointerEXT", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXT, "glFogCoordPointerEXT", (void *)&glFogCoordPointerEXT}, - {"nglFogCoordPointerEXTBO", "(III)V", (void *)&Java_org_lwjgl_opengl_EXTFogCoord_nglFogCoordPointerEXTBO, "glFogCoordPointerEXT", (void *)&glFogCoordPointerEXT}, - {"glFogCoordfEXT", "(F)V", (void *)&Java_org_lwjgl_opengl_EXTFogCoord_glFogCoordfEXT, "glFogCoordfEXT", (void *)&glFogCoordfEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTFramebufferObject.c b/src/native/common/ext/org_lwjgl_opengl_EXTFramebufferObject.c index 70de47d9..12acf9cc 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTFramebufferObject.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTFramebufferObject.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGenerateMipmapEXTPROC) (GLenum target); @@ -21,121 +22,97 @@ typedef void (APIENTRY *glDeleteRenderbuffersEXTPROC) (GLint n, const GLuint * r typedef void (APIENTRY *glBindRenderbufferEXTPROC) (GLenum target, GLuint renderbuffer); typedef GLboolean (APIENTRY *glIsRenderbufferEXTPROC) (GLuint renderbuffer); -static glGenerateMipmapEXTPROC glGenerateMipmapEXT; -static glGetFramebufferAttachmentParameterivEXTPROC glGetFramebufferAttachmentParameterivEXT; -static glFramebufferRenderbufferEXTPROC glFramebufferRenderbufferEXT; -static glFramebufferTexture3DEXTPROC glFramebufferTexture3DEXT; -static glFramebufferTexture2DEXTPROC glFramebufferTexture2DEXT; -static glFramebufferTexture1DEXTPROC glFramebufferTexture1DEXT; -static glCheckFramebufferStatusEXTPROC glCheckFramebufferStatusEXT; -static glGenFramebuffersEXTPROC glGenFramebuffersEXT; -static glDeleteFramebuffersEXTPROC glDeleteFramebuffersEXT; -static glBindFramebufferEXTPROC glBindFramebufferEXT; -static glIsFramebufferEXTPROC glIsFramebufferEXT; -static glGetRenderbufferParameterivEXTPROC glGetRenderbufferParameterivEXT; -static glRenderbufferStorageEXTPROC glRenderbufferStorageEXT; -static glGenRenderbuffersEXTPROC glGenRenderbuffersEXT; -static glDeleteRenderbuffersEXTPROC glDeleteRenderbuffersEXT; -static glBindRenderbufferEXTPROC glBindRenderbufferEXT; -static glIsRenderbufferEXTPROC glIsRenderbufferEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glGenerateMipmapEXT(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGenerateMipmapEXT(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glGenerateMipmapEXTPROC glGenerateMipmapEXT = (glGenerateMipmapEXTPROC)((intptr_t)function_pointer); glGenerateMipmapEXT(target); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGetFramebufferAttachmentParameterivEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGetFramebufferAttachmentParameterivEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetFramebufferAttachmentParameterivEXTPROC glGetFramebufferAttachmentParameterivEXT = (glGetFramebufferAttachmentParameterivEXTPROC)((intptr_t)function_pointer); glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferRenderbufferEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglFramebufferRenderbufferEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer, jlong function_pointer) { + glFramebufferRenderbufferEXTPROC glFramebufferRenderbufferEXT = (glFramebufferRenderbufferEXTPROC)((intptr_t)function_pointer); glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferTexture3DEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint textarget, jint texture, jint level, jint zoffset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglFramebufferTexture3DEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint textarget, jint texture, jint level, jint zoffset, jlong function_pointer) { + glFramebufferTexture3DEXTPROC glFramebufferTexture3DEXT = (glFramebufferTexture3DEXTPROC)((intptr_t)function_pointer); glFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferTexture2DEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint textarget, jint texture, jint level) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglFramebufferTexture2DEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint textarget, jint texture, jint level, jlong function_pointer) { + glFramebufferTexture2DEXTPROC glFramebufferTexture2DEXT = (glFramebufferTexture2DEXTPROC)((intptr_t)function_pointer); glFramebufferTexture2DEXT(target, attachment, textarget, texture, level); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferTexture1DEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint textarget, jint texture, jint level) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglFramebufferTexture1DEXT(JNIEnv *env, jclass clazz, jint target, jint attachment, jint textarget, jint texture, jint level, jlong function_pointer) { + glFramebufferTexture1DEXTPROC glFramebufferTexture1DEXT = (glFramebufferTexture1DEXTPROC)((intptr_t)function_pointer); glFramebufferTexture1DEXT(target, attachment, textarget, texture, level); } -static jint JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glCheckFramebufferStatusEXT(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglCheckFramebufferStatusEXT(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glCheckFramebufferStatusEXTPROC glCheckFramebufferStatusEXT = (glCheckFramebufferStatusEXTPROC)((intptr_t)function_pointer); GLenum __result = glCheckFramebufferStatusEXT(target); return __result; } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGenFramebuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject framebuffers, jint framebuffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGenFramebuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject framebuffers, jint framebuffers_position, jlong function_pointer) { const GLuint *framebuffers_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, framebuffers)) + framebuffers_position; + glGenFramebuffersEXTPROC glGenFramebuffersEXT = (glGenFramebuffersEXTPROC)((intptr_t)function_pointer); glGenFramebuffersEXT(n, framebuffers_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglDeleteFramebuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject framebuffers, jint framebuffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglDeleteFramebuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject framebuffers, jint framebuffers_position, jlong function_pointer) { const GLuint *framebuffers_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, framebuffers)) + framebuffers_position; + glDeleteFramebuffersEXTPROC glDeleteFramebuffersEXT = (glDeleteFramebuffersEXTPROC)((intptr_t)function_pointer); glDeleteFramebuffersEXT(n, framebuffers_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glBindFramebufferEXT(JNIEnv *env, jclass clazz, jint target, jint framebuffer) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglBindFramebufferEXT(JNIEnv *env, jclass clazz, jint target, jint framebuffer, jlong function_pointer) { + glBindFramebufferEXTPROC glBindFramebufferEXT = (glBindFramebufferEXTPROC)((intptr_t)function_pointer); glBindFramebufferEXT(target, framebuffer); } -static jboolean JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glIsFramebufferEXT(JNIEnv *env, jclass clazz, jint framebuffer) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglIsFramebufferEXT(JNIEnv *env, jclass clazz, jint framebuffer, jlong function_pointer) { + glIsFramebufferEXTPROC glIsFramebufferEXT = (glIsFramebufferEXTPROC)((intptr_t)function_pointer); GLboolean __result = glIsFramebufferEXT(framebuffer); return __result; } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGetRenderbufferParameterivEXT(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGetRenderbufferParameterivEXT(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetRenderbufferParameterivEXTPROC glGetRenderbufferParameterivEXT = (glGetRenderbufferParameterivEXTPROC)((intptr_t)function_pointer); glGetRenderbufferParameterivEXT(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glRenderbufferStorageEXT(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglRenderbufferStorageEXT(JNIEnv *env, jclass clazz, jint target, jint internalformat, jint width, jint height, jlong function_pointer) { + glRenderbufferStorageEXTPROC glRenderbufferStorageEXT = (glRenderbufferStorageEXTPROC)((intptr_t)function_pointer); glRenderbufferStorageEXT(target, internalformat, width, height); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGenRenderbuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject renderbuffers, jint renderbuffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglGenRenderbuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject renderbuffers, jint renderbuffers_position, jlong function_pointer) { GLuint *renderbuffers_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, renderbuffers)) + renderbuffers_position; + glGenRenderbuffersEXTPROC glGenRenderbuffersEXT = (glGenRenderbuffersEXTPROC)((intptr_t)function_pointer); glGenRenderbuffersEXT(n, renderbuffers_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglDeleteRenderbuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject renderbuffers, jint renderbuffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglDeleteRenderbuffersEXT(JNIEnv *env, jclass clazz, jint n, jobject renderbuffers, jint renderbuffers_position, jlong function_pointer) { const GLuint *renderbuffers_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, renderbuffers)) + renderbuffers_position; + glDeleteRenderbuffersEXTPROC glDeleteRenderbuffersEXT = (glDeleteRenderbuffersEXTPROC)((intptr_t)function_pointer); glDeleteRenderbuffersEXT(n, renderbuffers_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glBindRenderbufferEXT(JNIEnv *env, jclass clazz, jint target, jint renderbuffer) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglBindRenderbufferEXT(JNIEnv *env, jclass clazz, jint target, jint renderbuffer, jlong function_pointer) { + glBindRenderbufferEXTPROC glBindRenderbufferEXT = (glBindRenderbufferEXTPROC)((intptr_t)function_pointer); glBindRenderbufferEXT(target, renderbuffer); } -static jboolean JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_glIsRenderbufferEXT(JNIEnv *env, jclass clazz, jint renderbuffer) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_nglIsRenderbufferEXT(JNIEnv *env, jclass clazz, jint renderbuffer, jlong function_pointer) { + glIsRenderbufferEXTPROC glIsRenderbufferEXT = (glIsRenderbufferEXTPROC)((intptr_t)function_pointer); GLboolean __result = glIsRenderbufferEXT(renderbuffer); return __result; } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTFramebufferObject_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glGenerateMipmapEXT", "(I)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glGenerateMipmapEXT, "glGenerateMipmapEXT", (void *)&glGenerateMipmapEXT}, - {"nglGetFramebufferAttachmentParameterivEXT", "(IIILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_nglGetFramebufferAttachmentParameterivEXT, "glGetFramebufferAttachmentParameterivEXT", (void *)&glGetFramebufferAttachmentParameterivEXT}, - {"glFramebufferRenderbufferEXT", "(IIII)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferRenderbufferEXT, "glFramebufferRenderbufferEXT", (void *)&glFramebufferRenderbufferEXT}, - {"glFramebufferTexture3DEXT", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferTexture3DEXT, "glFramebufferTexture3DEXT", (void *)&glFramebufferTexture3DEXT}, - {"glFramebufferTexture2DEXT", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferTexture2DEXT, "glFramebufferTexture2DEXT", (void *)&glFramebufferTexture2DEXT}, - {"glFramebufferTexture1DEXT", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glFramebufferTexture1DEXT, "glFramebufferTexture1DEXT", (void *)&glFramebufferTexture1DEXT}, - {"glCheckFramebufferStatusEXT", "(I)I", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glCheckFramebufferStatusEXT, "glCheckFramebufferStatusEXT", (void *)&glCheckFramebufferStatusEXT}, - {"nglGenFramebuffersEXT", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_nglGenFramebuffersEXT, "glGenFramebuffersEXT", (void *)&glGenFramebuffersEXT}, - {"nglDeleteFramebuffersEXT", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_nglDeleteFramebuffersEXT, "glDeleteFramebuffersEXT", (void *)&glDeleteFramebuffersEXT}, - {"glBindFramebufferEXT", "(II)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glBindFramebufferEXT, "glBindFramebufferEXT", (void *)&glBindFramebufferEXT}, - {"glIsFramebufferEXT", "(I)Z", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glIsFramebufferEXT, "glIsFramebufferEXT", (void *)&glIsFramebufferEXT}, - {"nglGetRenderbufferParameterivEXT", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_nglGetRenderbufferParameterivEXT, "glGetRenderbufferParameterivEXT", (void *)&glGetRenderbufferParameterivEXT}, - {"glRenderbufferStorageEXT", "(IIII)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glRenderbufferStorageEXT, "glRenderbufferStorageEXT", (void *)&glRenderbufferStorageEXT}, - {"nglGenRenderbuffersEXT", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_nglGenRenderbuffersEXT, "glGenRenderbuffersEXT", (void *)&glGenRenderbuffersEXT}, - {"nglDeleteRenderbuffersEXT", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_nglDeleteRenderbuffersEXT, "glDeleteRenderbuffersEXT", (void *)&glDeleteRenderbuffersEXT}, - {"glBindRenderbufferEXT", "(II)V", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glBindRenderbufferEXT, "glBindRenderbufferEXT", (void *)&glBindRenderbufferEXT}, - {"glIsRenderbufferEXT", "(I)Z", (void *)&Java_org_lwjgl_opengl_EXTFramebufferObject_glIsRenderbufferEXT, "glIsRenderbufferEXT", (void *)&glIsRenderbufferEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTMultiDrawArrays.c b/src/native/common/ext/org_lwjgl_opengl_EXTMultiDrawArrays.c index 6b03f8ae..56cb069d 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTMultiDrawArrays.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTMultiDrawArrays.c @@ -1,22 +1,15 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glMultiDrawArraysEXTPROC) (GLenum mode, GLint * piFirst, GLsizei * piCount, GLint primcount); -static glMultiDrawArraysEXTPROC glMultiDrawArraysEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTMultiDrawArrays_nglMultiDrawArraysEXT(JNIEnv *env, jclass clazz, jint mode, jobject piFirst, jint piFirst_position, jobject piCount, jint piCount_position, jint primcount) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTMultiDrawArrays_nglMultiDrawArraysEXT(JNIEnv *env, jclass clazz, jint mode, jobject piFirst, jint piFirst_position, jobject piCount, jint piCount_position, jint primcount, jlong function_pointer) { GLint *piFirst_address = ((GLint *)(*env)->GetDirectBufferAddress(env, piFirst)) + piFirst_position; GLsizei *piCount_address = ((GLsizei *)(*env)->GetDirectBufferAddress(env, piCount)) + piCount_position; + glMultiDrawArraysEXTPROC glMultiDrawArraysEXT = (glMultiDrawArraysEXTPROC)((intptr_t)function_pointer); glMultiDrawArraysEXT(mode, piFirst_address, piCount_address, primcount); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTMultiDrawArrays_initNativeStubs(JNIEnv *env, jclass clazz) { - 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); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTPalettedTexture.c b/src/native/common/ext/org_lwjgl_opengl_EXTPalettedTexture.c index 2b8e9674..484bce91 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTPalettedTexture.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTPalettedTexture.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetColorTableParameterfvEXTPROC) (GLenum target, GLenum pname, GLfloat * params); @@ -9,45 +10,33 @@ typedef void (APIENTRY *glGetColorTableEXTPROC) (GLenum target, GLenum format, G typedef void (APIENTRY *glColorSubTableEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data); typedef void (APIENTRY *glColorTableEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid * data); -static glGetColorTableParameterfvEXTPROC glGetColorTableParameterfvEXT; -static glGetColorTableParameterivEXTPROC glGetColorTableParameterivEXT; -static glGetColorTableEXTPROC glGetColorTableEXT; -static glColorSubTableEXTPROC glColorSubTableEXT; -static glColorTableEXTPROC glColorTableEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableParameterfvEXT(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableParameterfvEXT(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetColorTableParameterfvEXTPROC glGetColorTableParameterfvEXT = (glGetColorTableParameterfvEXTPROC)((intptr_t)function_pointer); glGetColorTableParameterfvEXT(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableParameterivEXT(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableParameterivEXT(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetColorTableParameterivEXTPROC glGetColorTableParameterivEXT = (glGetColorTableParameterivEXTPROC)((intptr_t)function_pointer); glGetColorTableParameterivEXT(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableEXT(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableEXT(JNIEnv *env, jclass clazz, jint target, jint format, jint type, jobject data, jint data_position, jlong function_pointer) { GLvoid *data_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glGetColorTableEXTPROC glGetColorTableEXT = (glGetColorTableEXTPROC)((intptr_t)function_pointer); glGetColorTableEXT(target, format, type, data_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglColorSubTableEXT(JNIEnv *env, jclass clazz, jint target, jint start, jint count, jint format, jint type, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglColorSubTableEXT(JNIEnv *env, jclass clazz, jint target, jint start, jint count, jint format, jint type, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glColorSubTableEXTPROC glColorSubTableEXT = (glColorSubTableEXTPROC)((intptr_t)function_pointer); glColorSubTableEXT(target, start, count, format, type, data_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglColorTableEXT(JNIEnv *env, jclass clazz, jint target, jint internalFormat, jint width, jint format, jint type, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_nglColorTableEXT(JNIEnv *env, jclass clazz, jint target, jint internalFormat, jint width, jint format, jint type, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glColorTableEXTPROC glColorTableEXT = (glColorTableEXTPROC)((intptr_t)function_pointer); glColorTableEXT(target, internalFormat, width, format, type, data_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPalettedTexture_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetColorTableParameterfvEXT", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableParameterfvEXT, "glGetColorTableParameterfvEXT", (void *)&glGetColorTableParameterfvEXT}, - {"nglGetColorTableParameterivEXT", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableParameterivEXT, "glGetColorTableParameterivEXT", (void *)&glGetColorTableParameterivEXT}, - {"nglGetColorTableEXT", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTPalettedTexture_nglGetColorTableEXT, "glGetColorTableEXT", (void *)&glGetColorTableEXT}, - {"nglColorSubTableEXT", "(IIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTPalettedTexture_nglColorSubTableEXT, "glColorSubTableEXT", (void *)&glColorSubTableEXT}, - {"nglColorTableEXT", "(IIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTPalettedTexture_nglColorTableEXT, "glColorTableEXT", (void *)&glColorTableEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTPointParameters.c b/src/native/common/ext/org_lwjgl_opengl_EXTPointParameters.c index e9a13322..9f5a0dab 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTPointParameters.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTPointParameters.c @@ -1,28 +1,20 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glPointParameterfvEXTPROC) (GLenum pname, const GLfloat * pfParams); typedef void (APIENTRY *glPointParameterfEXTPROC) (GLenum pname, GLfloat param); -static glPointParameterfvEXTPROC glPointParameterfvEXT; -static glPointParameterfEXTPROC glPointParameterfEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTPointParameters_nglPointParameterfvEXT(JNIEnv *env, jclass clazz, jint pname, jobject pfParams, jint pfParams_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPointParameters_nglPointParameterfvEXT(JNIEnv *env, jclass clazz, jint pname, jobject pfParams, jint pfParams_position, jlong function_pointer) { const GLfloat *pfParams_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, pfParams)) + pfParams_position; + glPointParameterfvEXTPROC glPointParameterfvEXT = (glPointParameterfvEXTPROC)((intptr_t)function_pointer); glPointParameterfvEXT(pname, pfParams_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTPointParameters_glPointParameterfEXT(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPointParameters_nglPointParameterfEXT(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glPointParameterfEXTPROC glPointParameterfEXT = (glPointParameterfEXTPROC)((intptr_t)function_pointer); glPointParameterfEXT(pname, param); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTPointParameters_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglPointParameterfvEXT", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTPointParameters_nglPointParameterfvEXT, "glPointParameterfvEXT", (void *)&glPointParameterfvEXT}, - {"glPointParameterfEXT", "(IF)V", (void *)&Java_org_lwjgl_opengl_EXTPointParameters_glPointParameterfEXT, "glPointParameterfEXT", (void *)&glPointParameterfEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTSecondaryColor.c b/src/native/common/ext/org_lwjgl_opengl_EXTSecondaryColor.c index cb1998b2..b7553473 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTSecondaryColor.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTSecondaryColor.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glSecondaryColorPointerEXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid * pPointer); @@ -8,41 +9,30 @@ typedef void (APIENTRY *glSecondaryColor3ubEXTPROC) (GLubyte red, GLubyte green, typedef void (APIENTRY *glSecondaryColor3fEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); typedef void (APIENTRY *glSecondaryColor3bEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); -static glSecondaryColorPointerEXTPROC glSecondaryColorPointerEXT; -static glSecondaryColor3ubEXTPROC glSecondaryColor3ubEXT; -static glSecondaryColor3fEXTPROC glSecondaryColor3fEXT; -static glSecondaryColor3bEXTPROC glSecondaryColor3bEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPointerEXT(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPointerEXT(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position, jlong function_pointer) { GLvoid *pPointer_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPointer)) + pPointer_position)); + glSecondaryColorPointerEXTPROC glSecondaryColorPointerEXT = (glSecondaryColorPointerEXTPROC)((intptr_t)function_pointer); glSecondaryColorPointerEXT(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPointerEXTBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPointerEXTBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset, jlong function_pointer) { GLvoid *pPointer_address = ((GLvoid *)offsetToPointer(pPointer_buffer_offset)); + glSecondaryColorPointerEXTPROC glSecondaryColorPointerEXT = (glSecondaryColorPointerEXTPROC)((intptr_t)function_pointer); glSecondaryColorPointerEXT(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3ubEXT(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColor3ubEXT(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jlong function_pointer) { + glSecondaryColor3ubEXTPROC glSecondaryColor3ubEXT = (glSecondaryColor3ubEXTPROC)((intptr_t)function_pointer); glSecondaryColor3ubEXT(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3fEXT(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColor3fEXT(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jlong function_pointer) { + glSecondaryColor3fEXTPROC glSecondaryColor3fEXT = (glSecondaryColor3fEXTPROC)((intptr_t)function_pointer); glSecondaryColor3fEXT(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3bEXT(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColor3bEXT(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jlong function_pointer) { + glSecondaryColor3bEXTPROC glSecondaryColor3bEXT = (glSecondaryColor3bEXTPROC)((intptr_t)function_pointer); glSecondaryColor3bEXT(red, green, blue); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTSecondaryColor_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglSecondaryColorPointerEXT", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPointerEXT, "glSecondaryColorPointerEXT", (void *)&glSecondaryColorPointerEXT}, - {"nglSecondaryColorPointerEXTBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_EXTSecondaryColor_nglSecondaryColorPointerEXTBO, "glSecondaryColorPointerEXT", (void *)&glSecondaryColorPointerEXT}, - {"glSecondaryColor3ubEXT", "(BBB)V", (void *)&Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3ubEXT, "glSecondaryColor3ubEXT", (void *)&glSecondaryColor3ubEXT}, - {"glSecondaryColor3fEXT", "(FFF)V", (void *)&Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3fEXT, "glSecondaryColor3fEXT", (void *)&glSecondaryColor3fEXT}, - {"glSecondaryColor3bEXT", "(BBB)V", (void *)&Java_org_lwjgl_opengl_EXTSecondaryColor_glSecondaryColor3bEXT, "glSecondaryColor3bEXT", (void *)&glSecondaryColor3bEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTStencilTwoSide.c b/src/native/common/ext/org_lwjgl_opengl_EXTStencilTwoSide.c index 17157fa1..584bf4dd 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTStencilTwoSide.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTStencilTwoSide.c @@ -1,20 +1,13 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glActiveStencilFaceEXTPROC) (GLenum face); -static glActiveStencilFaceEXTPROC glActiveStencilFaceEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTStencilTwoSide_glActiveStencilFaceEXT(JNIEnv *env, jclass clazz, jint face) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTStencilTwoSide_nglActiveStencilFaceEXT(JNIEnv *env, jclass clazz, jint face, jlong function_pointer) { + glActiveStencilFaceEXTPROC glActiveStencilFaceEXT = (glActiveStencilFaceEXTPROC)((intptr_t)function_pointer); glActiveStencilFaceEXT(face); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTStencilTwoSide_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glActiveStencilFaceEXT", "(I)V", (void *)&Java_org_lwjgl_opengl_EXTStencilTwoSide_glActiveStencilFaceEXT, "glActiveStencilFaceEXT", (void *)&glActiveStencilFaceEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTVertexShader.c b/src/native/common/ext/org_lwjgl_opengl_EXTVertexShader.c index d4c2153d..c4ab46fa 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTVertexShader.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTVertexShader.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetLocalConstantFloatvEXTPROC) (GLuint id, GLenum value, GLfloat * pbData); @@ -45,291 +46,243 @@ typedef void (APIENTRY *glBindVertexShaderEXTPROC) (GLuint id); typedef void (APIENTRY *glEndVertexShaderEXTPROC) (); typedef void (APIENTRY *glBeginVertexShaderEXTPROC) (); -static glGetLocalConstantFloatvEXTPROC glGetLocalConstantFloatvEXT; -static glGetLocalConstantIntegervEXTPROC glGetLocalConstantIntegervEXT; -static glGetLocalConstantBooleanvEXTPROC glGetLocalConstantBooleanvEXT; -static glGetInvariantFloatvEXTPROC glGetInvariantFloatvEXT; -static glGetInvariantIntegervEXTPROC glGetInvariantIntegervEXT; -static glGetInvariantBooleanvEXTPROC glGetInvariantBooleanvEXT; -static glGetVariantPointervEXTPROC glGetVariantPointervEXT; -static glGetVariantFloatvEXTPROC glGetVariantFloatvEXT; -static glGetVariantIntegervEXTPROC glGetVariantIntegervEXT; -static glGetVariantBooleanvEXTPROC glGetVariantBooleanvEXT; -static glIsVariantEnabledEXTPROC glIsVariantEnabledEXT; -static glBindParameterEXTPROC glBindParameterEXT; -static glBindTextureUnitParameterEXTPROC glBindTextureUnitParameterEXT; -static glBindTexGenParameterEXTPROC glBindTexGenParameterEXT; -static glBindMaterialParameterEXTPROC glBindMaterialParameterEXT; -static glBindLightParameterEXTPROC glBindLightParameterEXT; -static glDisableVariantClientStateEXTPROC glDisableVariantClientStateEXT; -static glEnableVariantClientStateEXTPROC glEnableVariantClientStateEXT; -static glVariantPointerEXTPROC glVariantPointerEXT; -static glVariantuivEXTPROC glVariantuivEXT; -static glVariantusvEXTPROC glVariantusvEXT; -static glVariantubvEXTPROC glVariantubvEXT; -static glVariantfvEXTPROC glVariantfvEXT; -static glVariantivEXTPROC glVariantivEXT; -static glVariantsvEXTPROC glVariantsvEXT; -static glVariantbvEXTPROC glVariantbvEXT; -static glSetLocalConstantEXTPROC glSetLocalConstantEXT; -static glSetInvariantEXTPROC glSetInvariantEXT; -static glGenSymbolsEXTPROC glGenSymbolsEXT; -static glExtractComponentEXTPROC glExtractComponentEXT; -static glInsertComponentEXTPROC glInsertComponentEXT; -static glWriteMaskEXTPROC glWriteMaskEXT; -static glSwizzleEXTPROC glSwizzleEXT; -static glShaderOp3EXTPROC glShaderOp3EXT; -static glShaderOp2EXTPROC glShaderOp2EXT; -static glShaderOp1EXTPROC glShaderOp1EXT; -static glDeleteVertexShaderEXTPROC glDeleteVertexShaderEXT; -static glGenVertexShadersEXTPROC glGenVertexShadersEXT; -static glBindVertexShaderEXTPROC glBindVertexShaderEXT; -static glEndVertexShaderEXTPROC glEndVertexShaderEXT; -static glBeginVertexShaderEXTPROC glBeginVertexShaderEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantFloatvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantFloatvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLfloat *pbData_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetLocalConstantFloatvEXTPROC glGetLocalConstantFloatvEXT = (glGetLocalConstantFloatvEXTPROC)((intptr_t)function_pointer); glGetLocalConstantFloatvEXT(id, value, pbData_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantIntegervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantIntegervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLint *pbData_address = ((GLint *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetLocalConstantIntegervEXTPROC glGetLocalConstantIntegervEXT = (glGetLocalConstantIntegervEXTPROC)((intptr_t)function_pointer); glGetLocalConstantIntegervEXT(id, value, pbData_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantBooleanvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantBooleanvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLbyte *pbData_address = ((GLbyte *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetLocalConstantBooleanvEXTPROC glGetLocalConstantBooleanvEXT = (glGetLocalConstantBooleanvEXTPROC)((intptr_t)function_pointer); glGetLocalConstantBooleanvEXT(id, value, pbData_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantFloatvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantFloatvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLfloat *pbData_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetInvariantFloatvEXTPROC glGetInvariantFloatvEXT = (glGetInvariantFloatvEXTPROC)((intptr_t)function_pointer); glGetInvariantFloatvEXT(id, value, pbData_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantIntegervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantIntegervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLint *pbData_address = ((GLint *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetInvariantIntegervEXTPROC glGetInvariantIntegervEXT = (glGetInvariantIntegervEXTPROC)((intptr_t)function_pointer); glGetInvariantIntegervEXT(id, value, pbData_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantBooleanvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantBooleanvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLbyte *pbData_address = ((GLbyte *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetInvariantBooleanvEXTPROC glGetInvariantBooleanvEXT = (glGetInvariantBooleanvEXTPROC)((intptr_t)function_pointer); glGetInvariantBooleanvEXT(id, value, pbData_address); } -static jobject JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantPointervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jint result_size) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantPointervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jint result_size, jlong function_pointer) { + glGetVariantPointervEXTPROC glGetVariantPointervEXT = (glGetVariantPointervEXTPROC)((intptr_t)function_pointer); GLvoid * __result; glGetVariantPointervEXT(id, value, &__result); return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantFloatvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantFloatvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLfloat *pbData_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetVariantFloatvEXTPROC glGetVariantFloatvEXT = (glGetVariantFloatvEXTPROC)((intptr_t)function_pointer); glGetVariantFloatvEXT(id, value, pbData_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantIntegervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantIntegervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLint *pbData_address = ((GLint *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetVariantIntegervEXTPROC glGetVariantIntegervEXT = (glGetVariantIntegervEXTPROC)((intptr_t)function_pointer); glGetVariantIntegervEXT(id, value, pbData_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantBooleanvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantBooleanvEXT(JNIEnv *env, jclass clazz, jint id, jint value, jobject pbData, jint pbData_position, jlong function_pointer) { GLbyte *pbData_address = ((GLbyte *)(*env)->GetDirectBufferAddress(env, pbData)) + pbData_position; + glGetVariantBooleanvEXTPROC glGetVariantBooleanvEXT = (glGetVariantBooleanvEXTPROC)((intptr_t)function_pointer); glGetVariantBooleanvEXT(id, value, pbData_address); } -static jboolean JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glIsVariantEnabledEXT(JNIEnv *env, jclass clazz, jint id, jint cap) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglIsVariantEnabledEXT(JNIEnv *env, jclass clazz, jint id, jint cap, jlong function_pointer) { + glIsVariantEnabledEXTPROC glIsVariantEnabledEXT = (glIsVariantEnabledEXTPROC)((intptr_t)function_pointer); GLboolean __result = glIsVariantEnabledEXT(id, cap); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glBindParameterEXT(JNIEnv *env, jclass clazz, jint value) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglBindParameterEXT(JNIEnv *env, jclass clazz, jint value, jlong function_pointer) { + glBindParameterEXTPROC glBindParameterEXT = (glBindParameterEXTPROC)((intptr_t)function_pointer); GLuint __result = glBindParameterEXT(value); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glBindTextureUnitParameterEXT(JNIEnv *env, jclass clazz, jint unit, jint value) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglBindTextureUnitParameterEXT(JNIEnv *env, jclass clazz, jint unit, jint value, jlong function_pointer) { + glBindTextureUnitParameterEXTPROC glBindTextureUnitParameterEXT = (glBindTextureUnitParameterEXTPROC)((intptr_t)function_pointer); GLuint __result = glBindTextureUnitParameterEXT(unit, value); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glBindTexGenParameterEXT(JNIEnv *env, jclass clazz, jint unit, jint coord, jint value) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglBindTexGenParameterEXT(JNIEnv *env, jclass clazz, jint unit, jint coord, jint value, jlong function_pointer) { + glBindTexGenParameterEXTPROC glBindTexGenParameterEXT = (glBindTexGenParameterEXTPROC)((intptr_t)function_pointer); GLuint __result = glBindTexGenParameterEXT(unit, coord, value); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glBindMaterialParameterEXT(JNIEnv *env, jclass clazz, jint face, jint value) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglBindMaterialParameterEXT(JNIEnv *env, jclass clazz, jint face, jint value, jlong function_pointer) { + glBindMaterialParameterEXTPROC glBindMaterialParameterEXT = (glBindMaterialParameterEXTPROC)((intptr_t)function_pointer); GLuint __result = glBindMaterialParameterEXT(face, value); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glBindLightParameterEXT(JNIEnv *env, jclass clazz, jint light, jint value) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglBindLightParameterEXT(JNIEnv *env, jclass clazz, jint light, jint value, jlong function_pointer) { + glBindLightParameterEXTPROC glBindLightParameterEXT = (glBindLightParameterEXTPROC)((intptr_t)function_pointer); GLuint __result = glBindLightParameterEXT(light, value); return __result; } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glDisableVariantClientStateEXT(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglDisableVariantClientStateEXT(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glDisableVariantClientStateEXTPROC glDisableVariantClientStateEXT = (glDisableVariantClientStateEXTPROC)((intptr_t)function_pointer); glDisableVariantClientStateEXT(id); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glEnableVariantClientStateEXT(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglEnableVariantClientStateEXT(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glEnableVariantClientStateEXTPROC glEnableVariantClientStateEXT = (glEnableVariantClientStateEXTPROC)((intptr_t)function_pointer); glEnableVariantClientStateEXT(id); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantPointerEXT(JNIEnv *env, jclass clazz, jint id, jint type, jint stride, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantPointerEXT(JNIEnv *env, jclass clazz, jint id, jint type, jint stride, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLvoid *pAddr_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position)); + glVariantPointerEXTPROC glVariantPointerEXT = (glVariantPointerEXTPROC)((intptr_t)function_pointer); glVariantPointerEXT(id, type, stride, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantPointerEXTBO(JNIEnv *env, jclass clazz, jint id, jint type, jint stride, jint pAddr_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantPointerEXTBO(JNIEnv *env, jclass clazz, jint id, jint type, jint stride, jint pAddr_buffer_offset, jlong function_pointer) { GLvoid *pAddr_address = ((GLvoid *)offsetToPointer(pAddr_buffer_offset)); + glVariantPointerEXTPROC glVariantPointerEXT = (glVariantPointerEXTPROC)((intptr_t)function_pointer); glVariantPointerEXT(id, type, stride, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantuivEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantuivEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLuint *pAddr_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position; + glVariantuivEXTPROC glVariantuivEXT = (glVariantuivEXTPROC)((intptr_t)function_pointer); glVariantuivEXT(id, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantusvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantusvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLushort *pAddr_address = ((GLushort *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position; + glVariantusvEXTPROC glVariantusvEXT = (glVariantusvEXTPROC)((intptr_t)function_pointer); glVariantusvEXT(id, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantubvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantubvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLubyte *pAddr_address = ((GLubyte *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position; + glVariantubvEXTPROC glVariantubvEXT = (glVariantubvEXTPROC)((intptr_t)function_pointer); glVariantubvEXT(id, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantfvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantfvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLfloat *pAddr_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position; + glVariantfvEXTPROC glVariantfvEXT = (glVariantfvEXTPROC)((intptr_t)function_pointer); glVariantfvEXT(id, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantivEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantivEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLint *pAddr_address = ((GLint *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position; + glVariantivEXTPROC glVariantivEXT = (glVariantivEXTPROC)((intptr_t)function_pointer); glVariantivEXT(id, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantsvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantsvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLshort *pAddr_address = ((GLshort *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position; + glVariantsvEXTPROC glVariantsvEXT = (glVariantsvEXTPROC)((intptr_t)function_pointer); glVariantsvEXT(id, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantbvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglVariantbvEXT(JNIEnv *env, jclass clazz, jint id, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLbyte *pAddr_address = ((GLbyte *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position; + glVariantbvEXTPROC glVariantbvEXT = (glVariantbvEXTPROC)((intptr_t)function_pointer); glVariantbvEXT(id, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglSetLocalConstantEXT(JNIEnv *env, jclass clazz, jint id, jint type, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglSetLocalConstantEXT(JNIEnv *env, jclass clazz, jint id, jint type, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLvoid *pAddr_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position)); + glSetLocalConstantEXTPROC glSetLocalConstantEXT = (glSetLocalConstantEXTPROC)((intptr_t)function_pointer); glSetLocalConstantEXT(id, type, pAddr_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglSetInvariantEXT(JNIEnv *env, jclass clazz, jint id, jint type, jobject pAddr, jint pAddr_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglSetInvariantEXT(JNIEnv *env, jclass clazz, jint id, jint type, jobject pAddr, jint pAddr_position, jlong function_pointer) { GLvoid *pAddr_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pAddr)) + pAddr_position)); + glSetInvariantEXTPROC glSetInvariantEXT = (glSetInvariantEXTPROC)((intptr_t)function_pointer); glSetInvariantEXT(id, type, pAddr_address); } -static jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glGenSymbolsEXT(JNIEnv *env, jclass clazz, jint dataType, jint storageType, jint range, jint components) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGenSymbolsEXT(JNIEnv *env, jclass clazz, jint dataType, jint storageType, jint range, jint components, jlong function_pointer) { + glGenSymbolsEXTPROC glGenSymbolsEXT = (glGenSymbolsEXTPROC)((intptr_t)function_pointer); GLuint __result = glGenSymbolsEXT(dataType, storageType, range, components); return __result; } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glExtractComponentEXT(JNIEnv *env, jclass clazz, jint res, jint src, jint num) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglExtractComponentEXT(JNIEnv *env, jclass clazz, jint res, jint src, jint num, jlong function_pointer) { + glExtractComponentEXTPROC glExtractComponentEXT = (glExtractComponentEXTPROC)((intptr_t)function_pointer); glExtractComponentEXT(res, src, num); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glInsertComponentEXT(JNIEnv *env, jclass clazz, jint res, jint src, jint num) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglInsertComponentEXT(JNIEnv *env, jclass clazz, jint res, jint src, jint num, jlong function_pointer) { + glInsertComponentEXTPROC glInsertComponentEXT = (glInsertComponentEXTPROC)((intptr_t)function_pointer); glInsertComponentEXT(res, src, num); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glWriteMaskEXT(JNIEnv *env, jclass clazz, jint res, jint in, jint outX, jint outY, jint outZ, jint outW) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglWriteMaskEXT(JNIEnv *env, jclass clazz, jint res, jint in, jint outX, jint outY, jint outZ, jint outW, jlong function_pointer) { + glWriteMaskEXTPROC glWriteMaskEXT = (glWriteMaskEXTPROC)((intptr_t)function_pointer); glWriteMaskEXT(res, in, outX, outY, outZ, outW); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glSwizzleEXT(JNIEnv *env, jclass clazz, jint res, jint in, jint outX, jint outY, jint outZ, jint outW) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglSwizzleEXT(JNIEnv *env, jclass clazz, jint res, jint in, jint outX, jint outY, jint outZ, jint outW, jlong function_pointer) { + glSwizzleEXTPROC glSwizzleEXT = (glSwizzleEXTPROC)((intptr_t)function_pointer); glSwizzleEXT(res, in, outX, outY, outZ, outW); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glShaderOp3EXT(JNIEnv *env, jclass clazz, jint op, jint res, jint arg1, jint arg2, jint arg3) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglShaderOp3EXT(JNIEnv *env, jclass clazz, jint op, jint res, jint arg1, jint arg2, jint arg3, jlong function_pointer) { + glShaderOp3EXTPROC glShaderOp3EXT = (glShaderOp3EXTPROC)((intptr_t)function_pointer); glShaderOp3EXT(op, res, arg1, arg2, arg3); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glShaderOp2EXT(JNIEnv *env, jclass clazz, jint op, jint res, jint arg1, jint arg2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglShaderOp2EXT(JNIEnv *env, jclass clazz, jint op, jint res, jint arg1, jint arg2, jlong function_pointer) { + glShaderOp2EXTPROC glShaderOp2EXT = (glShaderOp2EXTPROC)((intptr_t)function_pointer); glShaderOp2EXT(op, res, arg1, arg2); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glShaderOp1EXT(JNIEnv *env, jclass clazz, jint op, jint res, jint arg1) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglShaderOp1EXT(JNIEnv *env, jclass clazz, jint op, jint res, jint arg1, jlong function_pointer) { + glShaderOp1EXTPROC glShaderOp1EXT = (glShaderOp1EXTPROC)((intptr_t)function_pointer); glShaderOp1EXT(op, res, arg1); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glDeleteVertexShaderEXT(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglDeleteVertexShaderEXT(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glDeleteVertexShaderEXTPROC glDeleteVertexShaderEXT = (glDeleteVertexShaderEXTPROC)((intptr_t)function_pointer); glDeleteVertexShaderEXT(id); } -static jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glGenVertexShadersEXT(JNIEnv *env, jclass clazz, jint range) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGenVertexShadersEXT(JNIEnv *env, jclass clazz, jint range, jlong function_pointer) { + glGenVertexShadersEXTPROC glGenVertexShadersEXT = (glGenVertexShadersEXTPROC)((intptr_t)function_pointer); GLuint __result = glGenVertexShadersEXT(range); return __result; } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glBindVertexShaderEXT(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglBindVertexShaderEXT(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glBindVertexShaderEXTPROC glBindVertexShaderEXT = (glBindVertexShaderEXTPROC)((intptr_t)function_pointer); glBindVertexShaderEXT(id); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glEndVertexShaderEXT(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglEndVertexShaderEXT(JNIEnv *env, jclass clazz, jlong function_pointer) { + glEndVertexShaderEXTPROC glEndVertexShaderEXT = (glEndVertexShaderEXTPROC)((intptr_t)function_pointer); glEndVertexShaderEXT(); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_glBeginVertexShaderEXT(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglBeginVertexShaderEXT(JNIEnv *env, jclass clazz, jlong function_pointer) { + glBeginVertexShaderEXTPROC glBeginVertexShaderEXT = (glBeginVertexShaderEXTPROC)((intptr_t)function_pointer); glBeginVertexShaderEXT(); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexShader_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetLocalConstantFloatvEXT", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantFloatvEXT, "glGetLocalConstantFloatvEXT", (void *)&glGetLocalConstantFloatvEXT}, - {"nglGetLocalConstantIntegervEXT", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantIntegervEXT, "glGetLocalConstantIntegervEXT", (void *)&glGetLocalConstantIntegervEXT}, - {"nglGetLocalConstantBooleanvEXT", "(IILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetLocalConstantBooleanvEXT, "glGetLocalConstantBooleanvEXT", (void *)&glGetLocalConstantBooleanvEXT}, - {"nglGetInvariantFloatvEXT", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantFloatvEXT, "glGetInvariantFloatvEXT", (void *)&glGetInvariantFloatvEXT}, - {"nglGetInvariantIntegervEXT", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantIntegervEXT, "glGetInvariantIntegervEXT", (void *)&glGetInvariantIntegervEXT}, - {"nglGetInvariantBooleanvEXT", "(IILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetInvariantBooleanvEXT, "glGetInvariantBooleanvEXT", (void *)&glGetInvariantBooleanvEXT}, - {"nglGetVariantPointervEXT", "(III)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantPointervEXT, "glGetVariantPointervEXT", (void *)&glGetVariantPointervEXT}, - {"nglGetVariantFloatvEXT", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantFloatvEXT, "glGetVariantFloatvEXT", (void *)&glGetVariantFloatvEXT}, - {"nglGetVariantIntegervEXT", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantIntegervEXT, "glGetVariantIntegervEXT", (void *)&glGetVariantIntegervEXT}, - {"nglGetVariantBooleanvEXT", "(IILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantBooleanvEXT, "glGetVariantBooleanvEXT", (void *)&glGetVariantBooleanvEXT}, - {"glIsVariantEnabledEXT", "(II)Z", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glIsVariantEnabledEXT, "glIsVariantEnabledEXT", (void *)&glIsVariantEnabledEXT}, - {"glBindParameterEXT", "(I)I", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glBindParameterEXT, "glBindParameterEXT", (void *)&glBindParameterEXT}, - {"glBindTextureUnitParameterEXT", "(II)I", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glBindTextureUnitParameterEXT, "glBindTextureUnitParameterEXT", (void *)&glBindTextureUnitParameterEXT}, - {"glBindTexGenParameterEXT", "(III)I", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glBindTexGenParameterEXT, "glBindTexGenParameterEXT", (void *)&glBindTexGenParameterEXT}, - {"glBindMaterialParameterEXT", "(II)I", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glBindMaterialParameterEXT, "glBindMaterialParameterEXT", (void *)&glBindMaterialParameterEXT}, - {"glBindLightParameterEXT", "(II)I", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glBindLightParameterEXT, "glBindLightParameterEXT", (void *)&glBindLightParameterEXT}, - {"glDisableVariantClientStateEXT", "(I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glDisableVariantClientStateEXT, "glDisableVariantClientStateEXT", (void *)&glDisableVariantClientStateEXT}, - {"glEnableVariantClientStateEXT", "(I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glEnableVariantClientStateEXT, "glEnableVariantClientStateEXT", (void *)&glEnableVariantClientStateEXT}, - {"nglVariantPointerEXT", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantPointerEXT, "glVariantPointerEXT", (void *)&glVariantPointerEXT}, - {"nglVariantPointerEXTBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantPointerEXTBO, "glVariantPointerEXT", (void *)&glVariantPointerEXT}, - {"nglVariantuivEXT", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantuivEXT, "glVariantuivEXT", (void *)&glVariantuivEXT}, - {"nglVariantusvEXT", "(ILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantusvEXT, "glVariantusvEXT", (void *)&glVariantusvEXT}, - {"nglVariantubvEXT", "(ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantubvEXT, "glVariantubvEXT", (void *)&glVariantubvEXT}, - {"nglVariantfvEXT", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantfvEXT, "glVariantfvEXT", (void *)&glVariantfvEXT}, - {"nglVariantivEXT", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantivEXT, "glVariantivEXT", (void *)&glVariantivEXT}, - {"nglVariantsvEXT", "(ILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantsvEXT, "glVariantsvEXT", (void *)&glVariantsvEXT}, - {"nglVariantbvEXT", "(ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglVariantbvEXT, "glVariantbvEXT", (void *)&glVariantbvEXT}, - {"nglSetLocalConstantEXT", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglSetLocalConstantEXT, "glSetLocalConstantEXT", (void *)&glSetLocalConstantEXT}, - {"nglSetInvariantEXT", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_nglSetInvariantEXT, "glSetInvariantEXT", (void *)&glSetInvariantEXT}, - {"glGenSymbolsEXT", "(IIII)I", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glGenSymbolsEXT, "glGenSymbolsEXT", (void *)&glGenSymbolsEXT}, - {"glExtractComponentEXT", "(III)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glExtractComponentEXT, "glExtractComponentEXT", (void *)&glExtractComponentEXT}, - {"glInsertComponentEXT", "(III)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glInsertComponentEXT, "glInsertComponentEXT", (void *)&glInsertComponentEXT}, - {"glWriteMaskEXT", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glWriteMaskEXT, "glWriteMaskEXT", (void *)&glWriteMaskEXT}, - {"glSwizzleEXT", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glSwizzleEXT, "glSwizzleEXT", (void *)&glSwizzleEXT}, - {"glShaderOp3EXT", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glShaderOp3EXT, "glShaderOp3EXT", (void *)&glShaderOp3EXT}, - {"glShaderOp2EXT", "(IIII)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glShaderOp2EXT, "glShaderOp2EXT", (void *)&glShaderOp2EXT}, - {"glShaderOp1EXT", "(III)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glShaderOp1EXT, "glShaderOp1EXT", (void *)&glShaderOp1EXT}, - {"glDeleteVertexShaderEXT", "(I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glDeleteVertexShaderEXT, "glDeleteVertexShaderEXT", (void *)&glDeleteVertexShaderEXT}, - {"glGenVertexShadersEXT", "(I)I", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glGenVertexShadersEXT, "glGenVertexShadersEXT", (void *)&glGenVertexShadersEXT}, - {"glBindVertexShaderEXT", "(I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glBindVertexShaderEXT, "glBindVertexShaderEXT", (void *)&glBindVertexShaderEXT}, - {"glEndVertexShaderEXT", "()V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glEndVertexShaderEXT, "glEndVertexShaderEXT", (void *)&glEndVertexShaderEXT}, - {"glBeginVertexShaderEXT", "()V", (void *)&Java_org_lwjgl_opengl_EXTVertexShader_glBeginVertexShaderEXT, "glBeginVertexShaderEXT", (void *)&glBeginVertexShaderEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/ext/org_lwjgl_opengl_EXTVertexWeighting.c b/src/native/common/ext/org_lwjgl_opengl_EXTVertexWeighting.c index 2ea748a7..2d916693 100644 --- a/src/native/common/ext/org_lwjgl_opengl_EXTVertexWeighting.c +++ b/src/native/common/ext/org_lwjgl_opengl_EXTVertexWeighting.c @@ -1,34 +1,26 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glVertexWeightPointerEXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid * pPointer); typedef void (APIENTRY *glVertexWeightfEXTPROC) (GLfloat weight); -static glVertexWeightPointerEXTPROC glVertexWeightPointerEXT; -static glVertexWeightfEXTPROC glVertexWeightfEXT; - -static void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXT(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXT(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pPointer, jint pPointer_position, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPointer)) + pPointer_position)); + glVertexWeightPointerEXTPROC glVertexWeightPointerEXT = (glVertexWeightPointerEXTPROC)((intptr_t)function_pointer); glVertexWeightPointerEXT(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXTBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXTBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pPointer_buffer_offset, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)offsetToPointer(pPointer_buffer_offset)); + glVertexWeightPointerEXTPROC glVertexWeightPointerEXT = (glVertexWeightPointerEXTPROC)((intptr_t)function_pointer); glVertexWeightPointerEXT(size, type, stride, pPointer_address); } -static void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_glVertexWeightfEXT(JNIEnv *env, jclass clazz, jfloat weight) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightfEXT(JNIEnv *env, jclass clazz, jfloat weight, jlong function_pointer) { + glVertexWeightfEXTPROC glVertexWeightfEXT = (glVertexWeightfEXTPROC)((intptr_t)function_pointer); glVertexWeightfEXT(weight); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_EXTVertexWeighting_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglVertexWeightPointerEXT", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXT, "glVertexWeightPointerEXT", (void *)&glVertexWeightPointerEXT}, - {"nglVertexWeightPointerEXTBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_EXTVertexWeighting_nglVertexWeightPointerEXTBO, "glVertexWeightPointerEXT", (void *)&glVertexWeightPointerEXT}, - {"glVertexWeightfEXT", "(F)V", (void *)&Java_org_lwjgl_opengl_EXTVertexWeighting_glVertexWeightfEXT, "glVertexWeightfEXT", (void *)&glVertexWeightfEXT} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/extgl.h b/src/native/common/extgl.h index aedafa58..5e9273fd 100644 --- a/src/native/common/extgl.h +++ b/src/native/common/extgl.h @@ -193,6 +193,7 @@ extern void extgl_Close(void); extern void extgl_InitializeClass(JNIEnv *env, jclass clazz, int num_functions, JavaMethodAndExtFunction *functions); extern bool extgl_InitializeFunctions(int num_functions, ExtFunction *functions); extern bool extgl_QueryExtension(JNIEnv *env, const GLubyte*extensions, const char *name); +extern void *extgl_GetProcAddress(const char *name); #ifdef __cplusplus } diff --git a/src/native/common/nv/org_lwjgl_opengl_NVEvaluators.c b/src/native/common/nv/org_lwjgl_opengl_NVEvaluators.c index d92fb644..f6e4e4ae 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVEvaluators.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVEvaluators.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glEvalMapsNVPROC) (GLenum target, GLenum mode); @@ -13,72 +14,56 @@ typedef void (APIENTRY *glMapParameterfvNVPROC) (GLenum target, GLenum pname, co typedef void (APIENTRY *glMapControlPointsNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid * pPoints); typedef void (APIENTRY *glGetMapControlPointsNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, const GLvoid * pPoints); -static glEvalMapsNVPROC glEvalMapsNV; -static glGetMapAttribParameterivNVPROC glGetMapAttribParameterivNV; -static glGetMapAttribParameterfvNVPROC glGetMapAttribParameterfvNV; -static glGetMapParameterivNVPROC glGetMapParameterivNV; -static glGetMapParameterfvNVPROC glGetMapParameterfvNV; -static glMapParameterivNVPROC glMapParameterivNV; -static glMapParameterfvNVPROC glMapParameterfvNV; -static glMapControlPointsNVPROC glMapControlPointsNV; -static glGetMapControlPointsNVPROC glGetMapControlPointsNV; - -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_glEvalMapsNV(JNIEnv *env, jclass clazz, jint target, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglEvalMapsNV(JNIEnv *env, jclass clazz, jint target, jint mode, jlong function_pointer) { + glEvalMapsNVPROC glEvalMapsNV = (glEvalMapsNVPROC)((intptr_t)function_pointer); glEvalMapsNV(target, mode); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapAttribParameterivNV(JNIEnv *env, jclass clazz, jint target, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapAttribParameterivNV(JNIEnv *env, jclass clazz, jint target, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMapAttribParameterivNVPROC glGetMapAttribParameterivNV = (glGetMapAttribParameterivNVPROC)((intptr_t)function_pointer); glGetMapAttribParameterivNV(target, index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapAttribParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapAttribParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMapAttribParameterfvNVPROC glGetMapAttribParameterfvNV = (glGetMapAttribParameterfvNVPROC)((intptr_t)function_pointer); glGetMapAttribParameterfvNV(target, index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapParameterivNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapParameterivNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMapParameterivNVPROC glGetMapParameterivNV = (glGetMapParameterivNVPROC)((intptr_t)function_pointer); glGetMapParameterivNV(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMapParameterfvNVPROC glGetMapParameterfvNV = (glGetMapParameterfvNVPROC)((intptr_t)function_pointer); glGetMapParameterfvNV(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglMapParameterivNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglMapParameterivNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glMapParameterivNVPROC glMapParameterivNV = (glMapParameterivNVPROC)((intptr_t)function_pointer); glMapParameterivNV(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglMapParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglMapParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glMapParameterfvNVPROC glMapParameterfvNV = (glMapParameterfvNVPROC)((intptr_t)function_pointer); glMapParameterfvNV(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglMapControlPointsNV(JNIEnv *env, jclass clazz, jint target, jint index, jint type, jint ustride, jint vstride, jint uorder, jint vorder, jboolean packed, jobject pPoints, jint pPoints_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglMapControlPointsNV(JNIEnv *env, jclass clazz, jint target, jint index, jint type, jint ustride, jint vstride, jint uorder, jint vorder, jboolean packed, jobject pPoints, jint pPoints_position, jlong function_pointer) { const GLvoid *pPoints_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPoints)) + pPoints_position)); + glMapControlPointsNVPROC glMapControlPointsNV = (glMapControlPointsNVPROC)((intptr_t)function_pointer); glMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, pPoints_address); } -static void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapControlPointsNV(JNIEnv *env, jclass clazz, jint target, jint index, jint type, jint ustride, jint vstride, jboolean packed, jobject pPoints, jint pPoints_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_nglGetMapControlPointsNV(JNIEnv *env, jclass clazz, jint target, jint index, jint type, jint ustride, jint vstride, jboolean packed, jobject pPoints, jint pPoints_position, jlong function_pointer) { const GLvoid *pPoints_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPoints)) + pPoints_position)); + glGetMapControlPointsNVPROC glGetMapControlPointsNV = (glGetMapControlPointsNVPROC)((intptr_t)function_pointer); glGetMapControlPointsNV(target, index, type, ustride, vstride, packed, pPoints_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVEvaluators_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glEvalMapsNV", "(II)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_glEvalMapsNV, "glEvalMapsNV", (void *)&glEvalMapsNV}, - {"nglGetMapAttribParameterivNV", "(IIILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglGetMapAttribParameterivNV, "glGetMapAttribParameterivNV", (void *)&glGetMapAttribParameterivNV}, - {"nglGetMapAttribParameterfvNV", "(IIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglGetMapAttribParameterfvNV, "glGetMapAttribParameterfvNV", (void *)&glGetMapAttribParameterfvNV}, - {"nglGetMapParameterivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglGetMapParameterivNV, "glGetMapParameterivNV", (void *)&glGetMapParameterivNV}, - {"nglGetMapParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglGetMapParameterfvNV, "glGetMapParameterfvNV", (void *)&glGetMapParameterfvNV}, - {"nglMapParameterivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglMapParameterivNV, "glMapParameterivNV", (void *)&glMapParameterivNV}, - {"nglMapParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglMapParameterfvNV, "glMapParameterfvNV", (void *)&glMapParameterfvNV}, - {"nglMapControlPointsNV", "(IIIIIIIZLjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglMapControlPointsNV, "glMapControlPointsNV", (void *)&glMapControlPointsNV}, - {"nglGetMapControlPointsNV", "(IIIIIZLjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVEvaluators_nglGetMapControlPointsNV, "glGetMapControlPointsNV", (void *)&glGetMapControlPointsNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVFence.c b/src/native/common/nv/org_lwjgl_opengl_NVFence.c index 461ee568..7d94bb94 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVFence.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVFence.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetFenceivNVPROC) (GLuint fence, GLenum pname, GLint * piParams); @@ -11,57 +12,43 @@ typedef void (APIENTRY *glSetFenceNVPROC) (GLuint fence, GLenum condition); typedef void (APIENTRY *glDeleteFencesNVPROC) (GLsizei n, const GLuint * piFences); typedef void (APIENTRY *glGenFencesNVPROC) (GLsizei n, GLuint * piFences); -static glGetFenceivNVPROC glGetFenceivNV; -static glIsFenceNVPROC glIsFenceNV; -static glFinishFenceNVPROC glFinishFenceNV; -static glTestFenceNVPROC glTestFenceNV; -static glSetFenceNVPROC glSetFenceNV; -static glDeleteFencesNVPROC glDeleteFencesNV; -static glGenFencesNVPROC glGenFencesNV; - -static void JNICALL Java_org_lwjgl_opengl_NVFence_nglGetFenceivNV(JNIEnv *env, jclass clazz, jint fence, jint pname, jobject piParams, jint piParams_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFence_nglGetFenceivNV(JNIEnv *env, jclass clazz, jint fence, jint pname, jobject piParams, jint piParams_position, jlong function_pointer) { GLint *piParams_address = ((GLint *)(*env)->GetDirectBufferAddress(env, piParams)) + piParams_position; + glGetFenceivNVPROC glGetFenceivNV = (glGetFenceivNVPROC)((intptr_t)function_pointer); glGetFenceivNV(fence, pname, piParams_address); } -static jboolean JNICALL Java_org_lwjgl_opengl_NVFence_glIsFenceNV(JNIEnv *env, jclass clazz, jint fence) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_NVFence_nglIsFenceNV(JNIEnv *env, jclass clazz, jint fence, jlong function_pointer) { + glIsFenceNVPROC glIsFenceNV = (glIsFenceNVPROC)((intptr_t)function_pointer); GLboolean __result = glIsFenceNV(fence); return __result; } -static void JNICALL Java_org_lwjgl_opengl_NVFence_glFinishFenceNV(JNIEnv *env, jclass clazz, jint fence) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFence_nglFinishFenceNV(JNIEnv *env, jclass clazz, jint fence, jlong function_pointer) { + glFinishFenceNVPROC glFinishFenceNV = (glFinishFenceNVPROC)((intptr_t)function_pointer); glFinishFenceNV(fence); } -static jboolean JNICALL Java_org_lwjgl_opengl_NVFence_glTestFenceNV(JNIEnv *env, jclass clazz, jint fence) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_NVFence_nglTestFenceNV(JNIEnv *env, jclass clazz, jint fence, jlong function_pointer) { + glTestFenceNVPROC glTestFenceNV = (glTestFenceNVPROC)((intptr_t)function_pointer); GLboolean __result = glTestFenceNV(fence); return __result; } -static void JNICALL Java_org_lwjgl_opengl_NVFence_glSetFenceNV(JNIEnv *env, jclass clazz, jint fence, jint condition) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFence_nglSetFenceNV(JNIEnv *env, jclass clazz, jint fence, jint condition, jlong function_pointer) { + glSetFenceNVPROC glSetFenceNV = (glSetFenceNVPROC)((intptr_t)function_pointer); glSetFenceNV(fence, condition); } -static void JNICALL Java_org_lwjgl_opengl_NVFence_nglDeleteFencesNV(JNIEnv *env, jclass clazz, jint n, jobject piFences, jint piFences_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFence_nglDeleteFencesNV(JNIEnv *env, jclass clazz, jint n, jobject piFences, jint piFences_position, jlong function_pointer) { const GLuint *piFences_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, piFences)) + piFences_position; + glDeleteFencesNVPROC glDeleteFencesNV = (glDeleteFencesNVPROC)((intptr_t)function_pointer); glDeleteFencesNV(n, piFences_address); } -static void JNICALL Java_org_lwjgl_opengl_NVFence_nglGenFencesNV(JNIEnv *env, jclass clazz, jint n, jobject piFences, jint piFences_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFence_nglGenFencesNV(JNIEnv *env, jclass clazz, jint n, jobject piFences, jint piFences_position, jlong function_pointer) { GLuint *piFences_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, piFences)) + piFences_position; + glGenFencesNVPROC glGenFencesNV = (glGenFencesNVPROC)((intptr_t)function_pointer); glGenFencesNV(n, piFences_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFence_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetFenceivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVFence_nglGetFenceivNV, "glGetFenceivNV", (void *)&glGetFenceivNV}, - {"glIsFenceNV", "(I)Z", (void *)&Java_org_lwjgl_opengl_NVFence_glIsFenceNV, "glIsFenceNV", (void *)&glIsFenceNV}, - {"glFinishFenceNV", "(I)V", (void *)&Java_org_lwjgl_opengl_NVFence_glFinishFenceNV, "glFinishFenceNV", (void *)&glFinishFenceNV}, - {"glTestFenceNV", "(I)Z", (void *)&Java_org_lwjgl_opengl_NVFence_glTestFenceNV, "glTestFenceNV", (void *)&glTestFenceNV}, - {"glSetFenceNV", "(II)V", (void *)&Java_org_lwjgl_opengl_NVFence_glSetFenceNV, "glSetFenceNV", (void *)&glSetFenceNV}, - {"nglDeleteFencesNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVFence_nglDeleteFencesNV, "glDeleteFencesNV", (void *)&glDeleteFencesNV}, - {"nglGenFencesNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVFence_nglGenFencesNV, "glGenFencesNV", (void *)&glGenFencesNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVFragmentProgram.c b/src/native/common/nv/org_lwjgl_opengl_NVFragmentProgram.c index f52d6d88..fd5866c9 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVFragmentProgram.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVFragmentProgram.c @@ -1,30 +1,22 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetProgramNamedParameterfvNVPROC) (GLuint id, GLsizei length, const GLubyte * name, GLfloat * params); typedef void (APIENTRY *glProgramNamedParameter4fNVPROC) (GLuint id, GLsizei length, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -static glGetProgramNamedParameterfvNVPROC glGetProgramNamedParameterfvNV; -static glProgramNamedParameter4fNVPROC glProgramNamedParameter4fNV; - -static void JNICALL Java_org_lwjgl_opengl_NVFragmentProgram_nglGetProgramNamedParameterfvNV(JNIEnv *env, jclass clazz, jint id, jint length, jobject name, jint name_position, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFragmentProgram_nglGetProgramNamedParameterfvNV(JNIEnv *env, jclass clazz, jint id, jint length, jobject name, jint name_position, jobject params, jint params_position, jlong function_pointer) { const GLubyte *name_address = ((const GLubyte *)(*env)->GetDirectBufferAddress(env, name)) + name_position; GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramNamedParameterfvNVPROC glGetProgramNamedParameterfvNV = (glGetProgramNamedParameterfvNVPROC)((intptr_t)function_pointer); glGetProgramNamedParameterfvNV(id, length, name_address, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVFragmentProgram_nglProgramNamedParameter4fNV(JNIEnv *env, jclass clazz, jint id, jint length, jobject name, jint name_position, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFragmentProgram_nglProgramNamedParameter4fNV(JNIEnv *env, jclass clazz, jint id, jint length, jobject name, jint name_position, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { const GLubyte *name_address = ((const GLubyte *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glProgramNamedParameter4fNVPROC glProgramNamedParameter4fNV = (glProgramNamedParameter4fNVPROC)((intptr_t)function_pointer); glProgramNamedParameter4fNV(id, length, name_address, x, y, z, w); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVFragmentProgram_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetProgramNamedParameterfvNV", "(IILjava/nio/ByteBuffer;ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVFragmentProgram_nglGetProgramNamedParameterfvNV, "glGetProgramNamedParameterfvNV", (void *)&glGetProgramNamedParameterfvNV}, - {"nglProgramNamedParameter4fNV", "(IILjava/nio/ByteBuffer;IFFFF)V", (void *)&Java_org_lwjgl_opengl_NVFragmentProgram_nglProgramNamedParameter4fNV, "glProgramNamedParameter4fNV", (void *)&glProgramNamedParameter4fNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVHalfFloat.c b/src/native/common/nv/org_lwjgl_opengl_NVHalfFloat.c index 31e38447..e86dd5c1 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVHalfFloat.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVHalfFloat.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glVertexAttribs4hvNVPROC) (GLuint index, GLsizei n, const GLhalf * attribs); @@ -28,158 +29,127 @@ typedef void (APIENTRY *glVertex4hNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf typedef void (APIENTRY *glVertex3hNVPROC) (GLhalf x, GLhalf y, GLhalf z); typedef void (APIENTRY *glVertex2hNVPROC) (GLhalf x, GLhalf y); -static glVertexAttribs4hvNVPROC glVertexAttribs4hvNV; -static glVertexAttribs3hvNVPROC glVertexAttribs3hvNV; -static glVertexAttribs2hvNVPROC glVertexAttribs2hvNV; -static glVertexAttribs1hvNVPROC glVertexAttribs1hvNV; -static glVertexAttrib4hNVPROC glVertexAttrib4hNV; -static glVertexAttrib3hNVPROC glVertexAttrib3hNV; -static glVertexAttrib2hNVPROC glVertexAttrib2hNV; -static glVertexAttrib1hNVPROC glVertexAttrib1hNV; -static glSecondaryColor3hNVPROC glSecondaryColor3hNV; -static glFogCoordhNVPROC glFogCoordhNV; -static glMultiTexCoord4hNVPROC glMultiTexCoord4hNV; -static glMultiTexCoord3hNVPROC glMultiTexCoord3hNV; -static glMultiTexCoord2hNVPROC glMultiTexCoord2hNV; -static glMultiTexCoord1hNVPROC glMultiTexCoord1hNV; -static glTexCoord4hNVPROC glTexCoord4hNV; -static glTexCoord3hNVPROC glTexCoord3hNV; -static glTexCoord2hNVPROC glTexCoord2hNV; -static glTexCoord1hNVPROC glTexCoord1hNV; -static glColor4hNVPROC glColor4hNV; -static glColor3hNVPROC glColor3hNV; -static glNormal3hNVPROC glNormal3hNV; -static glVertex4hNVPROC glVertex4hNV; -static glVertex3hNVPROC glVertex3hNV; -static glVertex2hNVPROC glVertex2hNV; - -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs4hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs4hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position, jlong function_pointer) { const GLhalf *attribs_address = ((const GLhalf *)(*env)->GetDirectBufferAddress(env, attribs)) + attribs_position; + glVertexAttribs4hvNVPROC glVertexAttribs4hvNV = (glVertexAttribs4hvNVPROC)((intptr_t)function_pointer); glVertexAttribs4hvNV(index, n, attribs_address); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs3hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs3hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position, jlong function_pointer) { const GLhalf *attribs_address = ((const GLhalf *)(*env)->GetDirectBufferAddress(env, attribs)) + attribs_position; + glVertexAttribs3hvNVPROC glVertexAttribs3hvNV = (glVertexAttribs3hvNVPROC)((intptr_t)function_pointer); glVertexAttribs3hvNV(index, n, attribs_address); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs2hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs2hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position, jlong function_pointer) { const GLhalf *attribs_address = ((const GLhalf *)(*env)->GetDirectBufferAddress(env, attribs)) + attribs_position; + glVertexAttribs2hvNVPROC glVertexAttribs2hvNV = (glVertexAttribs2hvNVPROC)((intptr_t)function_pointer); glVertexAttribs2hvNV(index, n, attribs_address); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs1hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs1hvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject attribs, jint attribs_position, jlong function_pointer) { const GLhalf *attribs_address = ((const GLhalf *)(*env)->GetDirectBufferAddress(env, attribs)) + attribs_position; + glVertexAttribs1hvNVPROC glVertexAttribs1hvNV = (glVertexAttribs1hvNVPROC)((intptr_t)function_pointer); glVertexAttribs1hvNV(index, n, attribs_address); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib4hNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttrib4hNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w, jlong function_pointer) { + glVertexAttrib4hNVPROC glVertexAttrib4hNV = (glVertexAttrib4hNVPROC)((intptr_t)function_pointer); glVertexAttrib4hNV(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib3hNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttrib3hNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jlong function_pointer) { + glVertexAttrib3hNVPROC glVertexAttrib3hNV = (glVertexAttrib3hNVPROC)((intptr_t)function_pointer); glVertexAttrib3hNV(index, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib2hNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttrib2hNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jlong function_pointer) { + glVertexAttrib2hNVPROC glVertexAttrib2hNV = (glVertexAttrib2hNVPROC)((intptr_t)function_pointer); glVertexAttrib2hNV(index, x, y); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib1hNV(JNIEnv *env, jclass clazz, jint index, jshort x) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttrib1hNV(JNIEnv *env, jclass clazz, jint index, jshort x, jlong function_pointer) { + glVertexAttrib1hNVPROC glVertexAttrib1hNV = (glVertexAttrib1hNVPROC)((intptr_t)function_pointer); glVertexAttrib1hNV(index, x); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glSecondaryColor3hNV(JNIEnv *env, jclass clazz, jshort red, jshort green, jshort blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglSecondaryColor3hNV(JNIEnv *env, jclass clazz, jshort red, jshort green, jshort blue, jlong function_pointer) { + glSecondaryColor3hNVPROC glSecondaryColor3hNV = (glSecondaryColor3hNVPROC)((intptr_t)function_pointer); glSecondaryColor3hNV(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glFogCoordhNV(JNIEnv *env, jclass clazz, jshort fog) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglFogCoordhNV(JNIEnv *env, jclass clazz, jshort fog, jlong function_pointer) { + glFogCoordhNVPROC glFogCoordhNV = (glFogCoordhNVPROC)((intptr_t)function_pointer); glFogCoordhNV(fog); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord4hNV(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r, jshort q) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglMultiTexCoord4hNV(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r, jshort q, jlong function_pointer) { + glMultiTexCoord4hNVPROC glMultiTexCoord4hNV = (glMultiTexCoord4hNVPROC)((intptr_t)function_pointer); glMultiTexCoord4hNV(target, s, t, r, q); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord3hNV(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglMultiTexCoord3hNV(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jshort r, jlong function_pointer) { + glMultiTexCoord3hNVPROC glMultiTexCoord3hNV = (glMultiTexCoord3hNVPROC)((intptr_t)function_pointer); glMultiTexCoord3hNV(target, s, t, r); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord2hNV(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglMultiTexCoord2hNV(JNIEnv *env, jclass clazz, jint target, jshort s, jshort t, jlong function_pointer) { + glMultiTexCoord2hNVPROC glMultiTexCoord2hNV = (glMultiTexCoord2hNVPROC)((intptr_t)function_pointer); glMultiTexCoord2hNV(target, s, t); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord1hNV(JNIEnv *env, jclass clazz, jint target, jshort s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglMultiTexCoord1hNV(JNIEnv *env, jclass clazz, jint target, jshort s, jlong function_pointer) { + glMultiTexCoord1hNVPROC glMultiTexCoord1hNV = (glMultiTexCoord1hNVPROC)((intptr_t)function_pointer); glMultiTexCoord1hNV(target, s); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord4hNV(JNIEnv *env, jclass clazz, jshort s, jshort t, jshort r, jshort q) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglTexCoord4hNV(JNIEnv *env, jclass clazz, jshort s, jshort t, jshort r, jshort q, jlong function_pointer) { + glTexCoord4hNVPROC glTexCoord4hNV = (glTexCoord4hNVPROC)((intptr_t)function_pointer); glTexCoord4hNV(s, t, r, q); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord3hNV(JNIEnv *env, jclass clazz, jshort s, jshort t, jshort r) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglTexCoord3hNV(JNIEnv *env, jclass clazz, jshort s, jshort t, jshort r, jlong function_pointer) { + glTexCoord3hNVPROC glTexCoord3hNV = (glTexCoord3hNVPROC)((intptr_t)function_pointer); glTexCoord3hNV(s, t, r); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord2hNV(JNIEnv *env, jclass clazz, jshort s, jshort t) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglTexCoord2hNV(JNIEnv *env, jclass clazz, jshort s, jshort t, jlong function_pointer) { + glTexCoord2hNVPROC glTexCoord2hNV = (glTexCoord2hNVPROC)((intptr_t)function_pointer); glTexCoord2hNV(s, t); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord1hNV(JNIEnv *env, jclass clazz, jshort s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglTexCoord1hNV(JNIEnv *env, jclass clazz, jshort s, jlong function_pointer) { + glTexCoord1hNVPROC glTexCoord1hNV = (glTexCoord1hNVPROC)((intptr_t)function_pointer); glTexCoord1hNV(s); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glColor4hNV(JNIEnv *env, jclass clazz, jshort red, jshort green, jshort blue, jshort alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglColor4hNV(JNIEnv *env, jclass clazz, jshort red, jshort green, jshort blue, jshort alpha, jlong function_pointer) { + glColor4hNVPROC glColor4hNV = (glColor4hNVPROC)((intptr_t)function_pointer); glColor4hNV(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glColor3hNV(JNIEnv *env, jclass clazz, jshort red, jshort green, jshort blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglColor3hNV(JNIEnv *env, jclass clazz, jshort red, jshort green, jshort blue, jlong function_pointer) { + glColor3hNVPROC glColor3hNV = (glColor3hNVPROC)((intptr_t)function_pointer); glColor3hNV(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glNormal3hNV(JNIEnv *env, jclass clazz, jshort nx, jshort ny, jshort nz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglNormal3hNV(JNIEnv *env, jclass clazz, jshort nx, jshort ny, jshort nz, jlong function_pointer) { + glNormal3hNVPROC glNormal3hNV = (glNormal3hNVPROC)((intptr_t)function_pointer); glNormal3hNV(nx, ny, nz); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glVertex4hNV(JNIEnv *env, jclass clazz, jshort x, jshort y, jshort z, jshort w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertex4hNV(JNIEnv *env, jclass clazz, jshort x, jshort y, jshort z, jshort w, jlong function_pointer) { + glVertex4hNVPROC glVertex4hNV = (glVertex4hNVPROC)((intptr_t)function_pointer); glVertex4hNV(x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glVertex3hNV(JNIEnv *env, jclass clazz, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertex3hNV(JNIEnv *env, jclass clazz, jshort x, jshort y, jshort z, jlong function_pointer) { + glVertex3hNVPROC glVertex3hNV = (glVertex3hNVPROC)((intptr_t)function_pointer); glVertex3hNV(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_glVertex2hNV(JNIEnv *env, jclass clazz, jshort x, jshort y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_nglVertex2hNV(JNIEnv *env, jclass clazz, jshort x, jshort y, jlong function_pointer) { + glVertex2hNVPROC glVertex2hNV = (glVertex2hNVPROC)((intptr_t)function_pointer); glVertex2hNV(x, y); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVHalfFloat_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglVertexAttribs4hvNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs4hvNV, "glVertexAttribs4hvNV", (void *)&glVertexAttribs4hvNV}, - {"nglVertexAttribs3hvNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs3hvNV, "glVertexAttribs3hvNV", (void *)&glVertexAttribs3hvNV}, - {"nglVertexAttribs2hvNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs2hvNV, "glVertexAttribs2hvNV", (void *)&glVertexAttribs2hvNV}, - {"nglVertexAttribs1hvNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_nglVertexAttribs1hvNV, "glVertexAttribs1hvNV", (void *)&glVertexAttribs1hvNV}, - {"glVertexAttrib4hNV", "(ISSSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib4hNV, "glVertexAttrib4hNV", (void *)&glVertexAttrib4hNV}, - {"glVertexAttrib3hNV", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib3hNV, "glVertexAttrib3hNV", (void *)&glVertexAttrib3hNV}, - {"glVertexAttrib2hNV", "(ISS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib2hNV, "glVertexAttrib2hNV", (void *)&glVertexAttrib2hNV}, - {"glVertexAttrib1hNV", "(IS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glVertexAttrib1hNV, "glVertexAttrib1hNV", (void *)&glVertexAttrib1hNV}, - {"glSecondaryColor3hNV", "(SSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glSecondaryColor3hNV, "glSecondaryColor3hNV", (void *)&glSecondaryColor3hNV}, - {"glFogCoordhNV", "(S)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glFogCoordhNV, "glFogCoordhNV", (void *)&glFogCoordhNV}, - {"glMultiTexCoord4hNV", "(ISSSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord4hNV, "glMultiTexCoord4hNV", (void *)&glMultiTexCoord4hNV}, - {"glMultiTexCoord3hNV", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord3hNV, "glMultiTexCoord3hNV", (void *)&glMultiTexCoord3hNV}, - {"glMultiTexCoord2hNV", "(ISS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord2hNV, "glMultiTexCoord2hNV", (void *)&glMultiTexCoord2hNV}, - {"glMultiTexCoord1hNV", "(IS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glMultiTexCoord1hNV, "glMultiTexCoord1hNV", (void *)&glMultiTexCoord1hNV}, - {"glTexCoord4hNV", "(SSSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord4hNV, "glTexCoord4hNV", (void *)&glTexCoord4hNV}, - {"glTexCoord3hNV", "(SSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord3hNV, "glTexCoord3hNV", (void *)&glTexCoord3hNV}, - {"glTexCoord2hNV", "(SS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord2hNV, "glTexCoord2hNV", (void *)&glTexCoord2hNV}, - {"glTexCoord1hNV", "(S)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glTexCoord1hNV, "glTexCoord1hNV", (void *)&glTexCoord1hNV}, - {"glColor4hNV", "(SSSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glColor4hNV, "glColor4hNV", (void *)&glColor4hNV}, - {"glColor3hNV", "(SSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glColor3hNV, "glColor3hNV", (void *)&glColor3hNV}, - {"glNormal3hNV", "(SSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glNormal3hNV, "glNormal3hNV", (void *)&glNormal3hNV}, - {"glVertex4hNV", "(SSSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glVertex4hNV, "glVertex4hNV", (void *)&glVertex4hNV}, - {"glVertex3hNV", "(SSS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glVertex3hNV, "glVertex3hNV", (void *)&glVertex3hNV}, - {"glVertex2hNV", "(SS)V", (void *)&Java_org_lwjgl_opengl_NVHalfFloat_glVertex2hNV, "glVertex2hNV", (void *)&glVertex2hNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVOcclusionQuery.c b/src/native/common/nv/org_lwjgl_opengl_NVOcclusionQuery.c index 2a4b7c99..5f89e590 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVOcclusionQuery.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVOcclusionQuery.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetOcclusionQueryivNVPROC) (GLuint id, GLenum pname, GLint * params); @@ -11,57 +12,43 @@ typedef GLboolean (APIENTRY *glIsOcclusionQueryNVPROC) (GLuint id); typedef void (APIENTRY *glDeleteOcclusionQueriesNVPROC) (GLsizei n, const GLuint * piIDs); typedef void (APIENTRY *glGenOcclusionQueriesNVPROC) (GLsizei n, GLuint * piIDs); -static glGetOcclusionQueryivNVPROC glGetOcclusionQueryivNV; -static glGetOcclusionQueryuivNVPROC glGetOcclusionQueryuivNV; -static glEndOcclusionQueryNVPROC glEndOcclusionQueryNV; -static glBeginOcclusionQueryNVPROC glBeginOcclusionQueryNV; -static glIsOcclusionQueryNVPROC glIsOcclusionQueryNV; -static glDeleteOcclusionQueriesNVPROC glDeleteOcclusionQueriesNV; -static glGenOcclusionQueriesNVPROC glGenOcclusionQueriesNV; - -static void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryivNV(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryivNV(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetOcclusionQueryivNVPROC glGetOcclusionQueryivNV = (glGetOcclusionQueryivNVPROC)((intptr_t)function_pointer); glGetOcclusionQueryivNV(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryuivNV(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryuivNV(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLuint *params_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetOcclusionQueryuivNVPROC glGetOcclusionQueryuivNV = (glGetOcclusionQueryuivNVPROC)((intptr_t)function_pointer); glGetOcclusionQueryuivNV(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_glEndOcclusionQueryNV(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglEndOcclusionQueryNV(JNIEnv *env, jclass clazz, jlong function_pointer) { + glEndOcclusionQueryNVPROC glEndOcclusionQueryNV = (glEndOcclusionQueryNVPROC)((intptr_t)function_pointer); glEndOcclusionQueryNV(); } -static void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_glBeginOcclusionQueryNV(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglBeginOcclusionQueryNV(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glBeginOcclusionQueryNVPROC glBeginOcclusionQueryNV = (glBeginOcclusionQueryNVPROC)((intptr_t)function_pointer); glBeginOcclusionQueryNV(id); } -static jboolean JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_glIsOcclusionQueryNV(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglIsOcclusionQueryNV(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glIsOcclusionQueryNVPROC glIsOcclusionQueryNV = (glIsOcclusionQueryNVPROC)((intptr_t)function_pointer); GLboolean __result = glIsOcclusionQueryNV(id); return __result; } -static void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglDeleteOcclusionQueriesNV(JNIEnv *env, jclass clazz, jint n, jobject piIDs, jint piIDs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglDeleteOcclusionQueriesNV(JNIEnv *env, jclass clazz, jint n, jobject piIDs, jint piIDs_position, jlong function_pointer) { const GLuint *piIDs_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, piIDs)) + piIDs_position; + glDeleteOcclusionQueriesNVPROC glDeleteOcclusionQueriesNV = (glDeleteOcclusionQueriesNVPROC)((intptr_t)function_pointer); glDeleteOcclusionQueriesNV(n, piIDs_address); } -static void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglGenOcclusionQueriesNV(JNIEnv *env, jclass clazz, jint n, jobject piIDs, jint piIDs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_nglGenOcclusionQueriesNV(JNIEnv *env, jclass clazz, jint n, jobject piIDs, jint piIDs_position, jlong function_pointer) { GLuint *piIDs_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, piIDs)) + piIDs_position; + glGenOcclusionQueriesNVPROC glGenOcclusionQueriesNV = (glGenOcclusionQueriesNVPROC)((intptr_t)function_pointer); glGenOcclusionQueriesNV(n, piIDs_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVOcclusionQuery_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetOcclusionQueryivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryivNV, "glGetOcclusionQueryivNV", (void *)&glGetOcclusionQueryivNV}, - {"nglGetOcclusionQueryuivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVOcclusionQuery_nglGetOcclusionQueryuivNV, "glGetOcclusionQueryuivNV", (void *)&glGetOcclusionQueryuivNV}, - {"glEndOcclusionQueryNV", "()V", (void *)&Java_org_lwjgl_opengl_NVOcclusionQuery_glEndOcclusionQueryNV, "glEndOcclusionQueryNV", (void *)&glEndOcclusionQueryNV}, - {"glBeginOcclusionQueryNV", "(I)V", (void *)&Java_org_lwjgl_opengl_NVOcclusionQuery_glBeginOcclusionQueryNV, "glBeginOcclusionQueryNV", (void *)&glBeginOcclusionQueryNV}, - {"glIsOcclusionQueryNV", "(I)Z", (void *)&Java_org_lwjgl_opengl_NVOcclusionQuery_glIsOcclusionQueryNV, "glIsOcclusionQueryNV", (void *)&glIsOcclusionQueryNV}, - {"nglDeleteOcclusionQueriesNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVOcclusionQuery_nglDeleteOcclusionQueriesNV, "glDeleteOcclusionQueriesNV", (void *)&glDeleteOcclusionQueriesNV}, - {"nglGenOcclusionQueriesNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVOcclusionQuery_nglGenOcclusionQueriesNV, "glGenOcclusionQueriesNV", (void *)&glGenOcclusionQueriesNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVPixelDataRange.c b/src/native/common/nv/org_lwjgl_opengl_NVPixelDataRange.c index f0819ecf..ffcaed03 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVPixelDataRange.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVPixelDataRange.c @@ -1,28 +1,20 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glFlushPixelDataRangeNVPROC) (GLenum target); typedef void (APIENTRY *glPixelDataRangeNVPROC) (GLenum target, GLsizei length, GLvoid * data); -static glFlushPixelDataRangeNVPROC glFlushPixelDataRangeNV; -static glPixelDataRangeNVPROC glPixelDataRangeNV; - -static void JNICALL Java_org_lwjgl_opengl_NVPixelDataRange_glFlushPixelDataRangeNV(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPixelDataRange_nglFlushPixelDataRangeNV(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glFlushPixelDataRangeNVPROC glFlushPixelDataRangeNV = (glFlushPixelDataRangeNVPROC)((intptr_t)function_pointer); glFlushPixelDataRangeNV(target); } -static void JNICALL Java_org_lwjgl_opengl_NVPixelDataRange_nglPixelDataRangeNV(JNIEnv *env, jclass clazz, jint target, jint length, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPixelDataRange_nglPixelDataRangeNV(JNIEnv *env, jclass clazz, jint target, jint length, jobject data, jint data_position, jlong function_pointer) { GLvoid *data_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glPixelDataRangeNVPROC glPixelDataRangeNV = (glPixelDataRangeNVPROC)((intptr_t)function_pointer); glPixelDataRangeNV(target, length, data_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPixelDataRange_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glFlushPixelDataRangeNV", "(I)V", (void *)&Java_org_lwjgl_opengl_NVPixelDataRange_glFlushPixelDataRangeNV, "glFlushPixelDataRangeNV", (void *)&glFlushPixelDataRangeNV}, - {"nglPixelDataRangeNV", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVPixelDataRange_nglPixelDataRangeNV, "glPixelDataRangeNV", (void *)&glPixelDataRangeNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVPointSprite.c b/src/native/common/nv/org_lwjgl_opengl_NVPointSprite.c index 2e220972..a85a84b5 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVPointSprite.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVPointSprite.c @@ -1,28 +1,20 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glPointParameterivNVPROC) (GLenum pname, const GLint * params); typedef void (APIENTRY *glPointParameteriNVPROC) (GLenum pname, GLint param); -static glPointParameterivNVPROC glPointParameterivNV; -static glPointParameteriNVPROC glPointParameteriNV; - -static void JNICALL Java_org_lwjgl_opengl_NVPointSprite_nglPointParameterivNV(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPointSprite_nglPointParameterivNV(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glPointParameterivNVPROC glPointParameterivNV = (glPointParameterivNVPROC)((intptr_t)function_pointer); glPointParameterivNV(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVPointSprite_glPointParameteriNV(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPointSprite_nglPointParameteriNV(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glPointParameteriNVPROC glPointParameteriNV = (glPointParameteriNVPROC)((intptr_t)function_pointer); glPointParameteriNV(pname, param); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPointSprite_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglPointParameterivNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVPointSprite_nglPointParameterivNV, "glPointParameterivNV", (void *)&glPointParameterivNV}, - {"glPointParameteriNV", "(II)V", (void *)&Java_org_lwjgl_opengl_NVPointSprite_glPointParameteriNV, "glPointParameteriNV", (void *)&glPointParameteriNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVPrimitiveRestart.c b/src/native/common/nv/org_lwjgl_opengl_NVPrimitiveRestart.c index b6a5a2a9..fc6d6dfa 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVPrimitiveRestart.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVPrimitiveRestart.c @@ -1,27 +1,19 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glPrimitiveRestartIndexNVPROC) (GLuint index); typedef void (APIENTRY *glPrimitiveRestartNVPROC) (); -static glPrimitiveRestartIndexNVPROC glPrimitiveRestartIndexNV; -static glPrimitiveRestartNVPROC glPrimitiveRestartNV; - -static void JNICALL Java_org_lwjgl_opengl_NVPrimitiveRestart_glPrimitiveRestartIndexNV(JNIEnv *env, jclass clazz, jint index) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPrimitiveRestart_nglPrimitiveRestartIndexNV(JNIEnv *env, jclass clazz, jint index, jlong function_pointer) { + glPrimitiveRestartIndexNVPROC glPrimitiveRestartIndexNV = (glPrimitiveRestartIndexNVPROC)((intptr_t)function_pointer); glPrimitiveRestartIndexNV(index); } -static void JNICALL Java_org_lwjgl_opengl_NVPrimitiveRestart_glPrimitiveRestartNV(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPrimitiveRestart_nglPrimitiveRestartNV(JNIEnv *env, jclass clazz, jlong function_pointer) { + glPrimitiveRestartNVPROC glPrimitiveRestartNV = (glPrimitiveRestartNVPROC)((intptr_t)function_pointer); glPrimitiveRestartNV(); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVPrimitiveRestart_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glPrimitiveRestartIndexNV", "(I)V", (void *)&Java_org_lwjgl_opengl_NVPrimitiveRestart_glPrimitiveRestartIndexNV, "glPrimitiveRestartIndexNV", (void *)&glPrimitiveRestartIndexNV}, - {"glPrimitiveRestartNV", "()V", (void *)&Java_org_lwjgl_opengl_NVPrimitiveRestart_glPrimitiveRestartNV, "glPrimitiveRestartNV", (void *)&glPrimitiveRestartNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVProgram.c b/src/native/common/nv/org_lwjgl_opengl_NVProgram.c index 69adda64..fb836758 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVProgram.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVProgram.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glRequestResidentProgramsNVPROC) (GLsizei n, GLuint * programIDs); @@ -13,74 +14,58 @@ typedef void (APIENTRY *glDeleteProgramsNVPROC) (GLsizei n, const GLuint * progr typedef void (APIENTRY *glBindProgramNVPROC) (GLenum target, GLuint programID); typedef void (APIENTRY *glLoadProgramNVPROC) (GLenum target, GLuint programID, GLsizei length, const GLvoid * string); -static glRequestResidentProgramsNVPROC glRequestResidentProgramsNV; -static glAreProgramsResidentNVPROC glAreProgramsResidentNV; -static glIsProgramNVPROC glIsProgramNV; -static glGetProgramStringNVPROC glGetProgramStringNV; -static glGetProgramivNVPROC glGetProgramivNV; -static glGenProgramsNVPROC glGenProgramsNV; -static glDeleteProgramsNVPROC glDeleteProgramsNV; -static glBindProgramNVPROC glBindProgramNV; -static glLoadProgramNVPROC glLoadProgramNV; - -static void JNICALL Java_org_lwjgl_opengl_NVProgram_nglRequestResidentProgramsNV(JNIEnv *env, jclass clazz, jint n, jobject programIDs, jint programIDs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglRequestResidentProgramsNV(JNIEnv *env, jclass clazz, jint n, jobject programIDs, jint programIDs_position, jlong function_pointer) { GLuint *programIDs_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, programIDs)) + programIDs_position; + glRequestResidentProgramsNVPROC glRequestResidentProgramsNV = (glRequestResidentProgramsNVPROC)((intptr_t)function_pointer); glRequestResidentProgramsNV(n, programIDs_address); } -static jboolean JNICALL Java_org_lwjgl_opengl_NVProgram_nglAreProgramsResidentNV(JNIEnv *env, jclass clazz, jint n, jobject programIDs, jint programIDs_position, jobject programResidences, jint programResidences_position) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_NVProgram_nglAreProgramsResidentNV(JNIEnv *env, jclass clazz, jint n, jobject programIDs, jint programIDs_position, jobject programResidences, jint programResidences_position, jlong function_pointer) { const GLuint *programIDs_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, programIDs)) + programIDs_position; GLboolean *programResidences_address = ((GLboolean *)(*env)->GetDirectBufferAddress(env, programResidences)) + programResidences_position; + glAreProgramsResidentNVPROC glAreProgramsResidentNV = (glAreProgramsResidentNVPROC)((intptr_t)function_pointer); GLboolean __result = glAreProgramsResidentNV(n, programIDs_address, programResidences_address); return __result; } -static jboolean JNICALL Java_org_lwjgl_opengl_NVProgram_glIsProgramNV(JNIEnv *env, jclass clazz, jint programID) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_NVProgram_nglIsProgramNV(JNIEnv *env, jclass clazz, jint programID, jlong function_pointer) { + glIsProgramNVPROC glIsProgramNV = (glIsProgramNVPROC)((intptr_t)function_pointer); GLboolean __result = glIsProgramNV(programID); return __result; } -static void JNICALL Java_org_lwjgl_opengl_NVProgram_nglGetProgramStringNV(JNIEnv *env, jclass clazz, jint programID, jint parameterName, jobject paramString, jint paramString_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglGetProgramStringNV(JNIEnv *env, jclass clazz, jint programID, jint parameterName, jobject paramString, jint paramString_position, jlong function_pointer) { GLvoid *paramString_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, paramString)) + paramString_position)); + glGetProgramStringNVPROC glGetProgramStringNV = (glGetProgramStringNVPROC)((intptr_t)function_pointer); glGetProgramStringNV(programID, parameterName, paramString_address); } -static void JNICALL Java_org_lwjgl_opengl_NVProgram_nglGetProgramivNV(JNIEnv *env, jclass clazz, jint programID, jint parameterName, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglGetProgramivNV(JNIEnv *env, jclass clazz, jint programID, jint parameterName, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramivNVPROC glGetProgramivNV = (glGetProgramivNVPROC)((intptr_t)function_pointer); glGetProgramivNV(programID, parameterName, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVProgram_nglGenProgramsNV(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglGenProgramsNV(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position, jlong function_pointer) { GLuint *programs_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, programs)) + programs_position; + glGenProgramsNVPROC glGenProgramsNV = (glGenProgramsNVPROC)((intptr_t)function_pointer); glGenProgramsNV(n, programs_address); } -static void JNICALL Java_org_lwjgl_opengl_NVProgram_nglDeleteProgramsNV(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglDeleteProgramsNV(JNIEnv *env, jclass clazz, jint n, jobject programs, jint programs_position, jlong function_pointer) { const GLuint *programs_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, programs)) + programs_position; + glDeleteProgramsNVPROC glDeleteProgramsNV = (glDeleteProgramsNVPROC)((intptr_t)function_pointer); glDeleteProgramsNV(n, programs_address); } -static void JNICALL Java_org_lwjgl_opengl_NVProgram_glBindProgramNV(JNIEnv *env, jclass clazz, jint target, jint programID) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglBindProgramNV(JNIEnv *env, jclass clazz, jint target, jint programID, jlong function_pointer) { + glBindProgramNVPROC glBindProgramNV = (glBindProgramNVPROC)((intptr_t)function_pointer); glBindProgramNV(target, programID); } -static void JNICALL Java_org_lwjgl_opengl_NVProgram_nglLoadProgramNV(JNIEnv *env, jclass clazz, jint target, jint programID, jint length, jobject string, jint string_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_nglLoadProgramNV(JNIEnv *env, jclass clazz, jint target, jint programID, jint length, jobject string, jint string_position, jlong function_pointer) { const GLvoid *string_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, string)) + string_position)); + glLoadProgramNVPROC glLoadProgramNV = (glLoadProgramNVPROC)((intptr_t)function_pointer); glLoadProgramNV(target, programID, length, string_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVProgram_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglRequestResidentProgramsNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVProgram_nglRequestResidentProgramsNV, "glRequestResidentProgramsNV", (void *)&glRequestResidentProgramsNV}, - {"nglAreProgramsResidentNV", "(ILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)Z", (void *)&Java_org_lwjgl_opengl_NVProgram_nglAreProgramsResidentNV, "glAreProgramsResidentNV", (void *)&glAreProgramsResidentNV}, - {"glIsProgramNV", "(I)Z", (void *)&Java_org_lwjgl_opengl_NVProgram_glIsProgramNV, "glIsProgramNV", (void *)&glIsProgramNV}, - {"nglGetProgramStringNV", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVProgram_nglGetProgramStringNV, "glGetProgramStringNV", (void *)&glGetProgramStringNV}, - {"nglGetProgramivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVProgram_nglGetProgramivNV, "glGetProgramivNV", (void *)&glGetProgramivNV}, - {"nglGenProgramsNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVProgram_nglGenProgramsNV, "glGenProgramsNV", (void *)&glGenProgramsNV}, - {"nglDeleteProgramsNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVProgram_nglDeleteProgramsNV, "glDeleteProgramsNV", (void *)&glDeleteProgramsNV}, - {"glBindProgramNV", "(II)V", (void *)&Java_org_lwjgl_opengl_NVProgram_glBindProgramNV, "glBindProgramNV", (void *)&glBindProgramNV}, - {"nglLoadProgramNV", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVProgram_nglLoadProgramNV, "glLoadProgramNV", (void *)&glLoadProgramNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners.c b/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners.c index ed99b203..d1e41bd7 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetFinalCombinerInputParameterivNVPROC) (GLenum variable, GLenum pname, GLint * params); @@ -17,96 +18,76 @@ typedef void (APIENTRY *glCombinerParameteriNVPROC) (GLenum pname, GLint param); typedef void (APIENTRY *glCombinerParameterfvNVPROC) (GLenum pname, const GLfloat * params); typedef void (APIENTRY *glCombinerParameterfNVPROC) (GLenum pname, GLfloat param); -static glGetFinalCombinerInputParameterivNVPROC glGetFinalCombinerInputParameterivNV; -static glGetFinalCombinerInputParameterfvNVPROC glGetFinalCombinerInputParameterfvNV; -static glGetCombinerOutputParameterivNVPROC glGetCombinerOutputParameterivNV; -static glGetCombinerOutputParameterfvNVPROC glGetCombinerOutputParameterfvNV; -static glGetCombinerInputParameterivNVPROC glGetCombinerInputParameterivNV; -static glGetCombinerInputParameterfvNVPROC glGetCombinerInputParameterfvNV; -static glFinalCombinerInputNVPROC glFinalCombinerInputNV; -static glCombinerOutputNVPROC glCombinerOutputNV; -static glCombinerInputNVPROC glCombinerInputNV; -static glCombinerParameterivNVPROC glCombinerParameterivNV; -static glCombinerParameteriNVPROC glCombinerParameteriNV; -static glCombinerParameterfvNVPROC glCombinerParameterfvNV; -static glCombinerParameterfNVPROC glCombinerParameterfNV; - -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombinerInputParameterivNV(JNIEnv *env, jclass clazz, jint variable, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombinerInputParameterivNV(JNIEnv *env, jclass clazz, jint variable, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetFinalCombinerInputParameterivNVPROC glGetFinalCombinerInputParameterivNV = (glGetFinalCombinerInputParameterivNVPROC)((intptr_t)function_pointer); glGetFinalCombinerInputParameterivNV(variable, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombinerInputParameterfvNV(JNIEnv *env, jclass clazz, jint variable, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombinerInputParameterfvNV(JNIEnv *env, jclass clazz, jint variable, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetFinalCombinerInputParameterfvNVPROC glGetFinalCombinerInputParameterfvNV = (glGetFinalCombinerInputParameterfvNVPROC)((intptr_t)function_pointer); glGetFinalCombinerInputParameterfvNV(variable, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerOutputParameterivNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerOutputParameterivNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetCombinerOutputParameterivNVPROC glGetCombinerOutputParameterivNV = (glGetCombinerOutputParameterivNVPROC)((intptr_t)function_pointer); glGetCombinerOutputParameterivNV(stage, portion, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerOutputParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerOutputParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetCombinerOutputParameterfvNVPROC glGetCombinerOutputParameterfvNV = (glGetCombinerOutputParameterfvNVPROC)((intptr_t)function_pointer); glGetCombinerOutputParameterfvNV(stage, portion, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerInputParameterivNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint variable, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerInputParameterivNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint variable, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetCombinerInputParameterivNVPROC glGetCombinerInputParameterivNV = (glGetCombinerInputParameterivNVPROC)((intptr_t)function_pointer); glGetCombinerInputParameterivNV(stage, portion, variable, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerInputParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint variable, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerInputParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint variable, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetCombinerInputParameterfvNVPROC glGetCombinerInputParameterfvNV = (glGetCombinerInputParameterfvNVPROC)((intptr_t)function_pointer); glGetCombinerInputParameterfvNV(stage, portion, variable, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_glFinalCombinerInputNV(JNIEnv *env, jclass clazz, jint variable, jint input, jint mapping, jint componentUsage) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglFinalCombinerInputNV(JNIEnv *env, jclass clazz, jint variable, jint input, jint mapping, jint componentUsage, jlong function_pointer) { + glFinalCombinerInputNVPROC glFinalCombinerInputNV = (glFinalCombinerInputNVPROC)((intptr_t)function_pointer); glFinalCombinerInputNV(variable, input, mapping, componentUsage); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerOutputNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint abOutput, jint cdOutput, jint sumOutput, jint scale, jint bias, jboolean abDotProduct, jboolean cdDotProduct, jboolean muxSum) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerOutputNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint abOutput, jint cdOutput, jint sumOutput, jint scale, jint bias, jboolean abDotProduct, jboolean cdDotProduct, jboolean muxSum, jlong function_pointer) { + glCombinerOutputNVPROC glCombinerOutputNV = (glCombinerOutputNVPROC)((intptr_t)function_pointer); glCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerInputNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint variable, jint input, jint mapping, jint componentUsage) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerInputNV(JNIEnv *env, jclass clazz, jint stage, jint portion, jint variable, jint input, jint mapping, jint componentUsage, jlong function_pointer) { + glCombinerInputNVPROC glCombinerInputNV = (glCombinerInputNVPROC)((intptr_t)function_pointer); glCombinerInputNV(stage, portion, variable, input, mapping, componentUsage); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterivNV(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterivNV(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glCombinerParameterivNVPROC glCombinerParameterivNV = (glCombinerParameterivNVPROC)((intptr_t)function_pointer); glCombinerParameterivNV(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerParameteriNV(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameteriNV(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glCombinerParameteriNVPROC glCombinerParameteriNV = (glCombinerParameteriNVPROC)((intptr_t)function_pointer); glCombinerParameteriNV(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterfvNV(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterfvNV(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glCombinerParameterfvNVPROC glCombinerParameterfvNV = (glCombinerParameterfvNVPROC)((intptr_t)function_pointer); glCombinerParameterfvNV(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerParameterfNV(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterfNV(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glCombinerParameterfNVPROC glCombinerParameterfNV = (glCombinerParameterfNVPROC)((intptr_t)function_pointer); glCombinerParameterfNV(pname, param); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetFinalCombinerInputParameterivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombinerInputParameterivNV, "glGetFinalCombinerInputParameterivNV", (void *)&glGetFinalCombinerInputParameterivNV}, - {"nglGetFinalCombinerInputParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetFinalCombinerInputParameterfvNV, "glGetFinalCombinerInputParameterfvNV", (void *)&glGetFinalCombinerInputParameterfvNV}, - {"nglGetCombinerOutputParameterivNV", "(IIILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerOutputParameterivNV, "glGetCombinerOutputParameterivNV", (void *)&glGetCombinerOutputParameterivNV}, - {"nglGetCombinerOutputParameterfvNV", "(IIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerOutputParameterfvNV, "glGetCombinerOutputParameterfvNV", (void *)&glGetCombinerOutputParameterfvNV}, - {"nglGetCombinerInputParameterivNV", "(IIIILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerInputParameterivNV, "glGetCombinerInputParameterivNV", (void *)&glGetCombinerInputParameterivNV}, - {"nglGetCombinerInputParameterfvNV", "(IIIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglGetCombinerInputParameterfvNV, "glGetCombinerInputParameterfvNV", (void *)&glGetCombinerInputParameterfvNV}, - {"glFinalCombinerInputNV", "(IIII)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_glFinalCombinerInputNV, "glFinalCombinerInputNV", (void *)&glFinalCombinerInputNV}, - {"glCombinerOutputNV", "(IIIIIIIZZZ)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerOutputNV, "glCombinerOutputNV", (void *)&glCombinerOutputNV}, - {"glCombinerInputNV", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerInputNV, "glCombinerInputNV", (void *)&glCombinerInputNV}, - {"nglCombinerParameterivNV", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterivNV, "glCombinerParameterivNV", (void *)&glCombinerParameterivNV}, - {"glCombinerParameteriNV", "(II)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerParameteriNV, "glCombinerParameteriNV", (void *)&glCombinerParameteriNV}, - {"nglCombinerParameterfvNV", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_nglCombinerParameterfvNV, "glCombinerParameterfvNV", (void *)&glCombinerParameterfvNV}, - {"glCombinerParameterfNV", "(IF)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners_glCombinerParameterfNV, "glCombinerParameterfNV", (void *)&glCombinerParameterfNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners2.c b/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners2.c index 5fd995fd..41ac4898 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners2.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVRegisterCombiners2.c @@ -1,29 +1,21 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, GLfloat * params); typedef void (APIENTRY *glCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, const GLfloat * params); -static glGetCombinerStageParameterfvNVPROC glGetCombinerStageParameterfvNV; -static glCombinerStageParameterfvNVPROC glCombinerStageParameterfvNV; - -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners2_nglGetCombinerStageParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners2_nglGetCombinerStageParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetCombinerStageParameterfvNVPROC glGetCombinerStageParameterfvNV = (glGetCombinerStageParameterfvNVPROC)((intptr_t)function_pointer); glGetCombinerStageParameterfvNV(stage, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners2_nglCombinerStageParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners2_nglCombinerStageParameterfvNV(JNIEnv *env, jclass clazz, jint stage, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glCombinerStageParameterfvNVPROC glCombinerStageParameterfvNV = (glCombinerStageParameterfvNVPROC)((intptr_t)function_pointer); glCombinerStageParameterfvNV(stage, pname, params_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVRegisterCombiners2_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetCombinerStageParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners2_nglGetCombinerStageParameterfvNV, "glGetCombinerStageParameterfvNV", (void *)&glGetCombinerStageParameterfvNV}, - {"nglCombinerStageParameterfvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVRegisterCombiners2_nglCombinerStageParameterfvNV, "glCombinerStageParameterfvNV", (void *)&glCombinerStageParameterfvNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVVertexArrayRange.c b/src/native/common/nv/org_lwjgl_opengl_NVVertexArrayRange.c index 638abe01..deed4a6e 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVVertexArrayRange.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVVertexArrayRange.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glFreeMemoryNVPROC) (GLvoid * pointer); @@ -8,47 +9,26 @@ typedef GLvoid * (APIENTRY *glAllocateMemoryNVPROC) (GLint size, GLfloat readFre typedef void (APIENTRY *glFlushVertexArrayRangeNVPROC) (); typedef void (APIENTRY *glVertexArrayRangeNVPROC) (GLsizei size, const GLvoid * pPointer); -static glFreeMemoryNVPROC glFreeMemoryNV; -static glAllocateMemoryNVPROC glAllocateMemoryNV; -static glFlushVertexArrayRangeNVPROC glFlushVertexArrayRangeNV; -static glVertexArrayRangeNVPROC glVertexArrayRangeNV; - -static void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_nglFreeMemoryNV(JNIEnv *env, jclass clazz, jobject pointer, jint pointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_nglFreeMemoryNV(JNIEnv *env, jclass clazz, jobject pointer, jint pointer_position, jlong function_pointer) { GLvoid *pointer_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pointer)) + pointer_position)); + glFreeMemoryNVPROC glFreeMemoryNV = (glFreeMemoryNVPROC)((intptr_t)function_pointer); glFreeMemoryNV(pointer_address); } -static jobject JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_glAllocateMemoryNV(JNIEnv *env, jclass clazz, jint size, jfloat readFrequency, jfloat writeFrequency, jfloat priority) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_nglAllocateMemoryNV(JNIEnv *env, jclass clazz, jint size, jfloat readFrequency, jfloat writeFrequency, jfloat priority, jint result_size, jlong function_pointer) { + glAllocateMemoryNVPROC glAllocateMemoryNV = (glAllocateMemoryNVPROC)((intptr_t)function_pointer); GLvoid * __result = glAllocateMemoryNV(size, readFrequency, writeFrequency, priority); - return safeNewBuffer(env, __result, size); + return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_glFlushVertexArrayRangeNV(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_nglFlushVertexArrayRangeNV(JNIEnv *env, jclass clazz, jlong function_pointer) { + glFlushVertexArrayRangeNVPROC glFlushVertexArrayRangeNV = (glFlushVertexArrayRangeNVPROC)((intptr_t)function_pointer); glFlushVertexArrayRangeNV(); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_nglVertexArrayRangeNV(JNIEnv *env, jclass clazz, jint size, jobject pPointer, jint pPointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_nglVertexArrayRangeNV(JNIEnv *env, jclass clazz, jint size, jobject pPointer, jint pPointer_position, jlong function_pointer) { const GLvoid *pPointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pPointer)) + pPointer_position)); + glVertexArrayRangeNVPROC glVertexArrayRangeNV = (glVertexArrayRangeNVPROC)((intptr_t)function_pointer); glVertexArrayRangeNV(size, pPointer_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexArrayRange_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { -#ifdef _WIN32 - {"nglFreeMemoryNV", "(Ljava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexArrayRange_nglFreeMemoryNV, "wglFreeMemoryNV", (void *)&glFreeMemoryNV}, -#endif -#ifdef _X11 - {"nglFreeMemoryNV", "(Ljava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexArrayRange_nglFreeMemoryNV, "glXFreeMemoryNV", (void *)&glFreeMemoryNV}, -#endif -#ifdef _WIN32 - {"glAllocateMemoryNV", "(IFFFI)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_NVVertexArrayRange_glAllocateMemoryNV, "wglAllocateMemoryNV", (void *)&glAllocateMemoryNV}, -#endif -#ifdef _X11 - {"glAllocateMemoryNV", "(IFFFI)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_NVVertexArrayRange_glAllocateMemoryNV, "glXAllocateMemoryNV", (void *)&glAllocateMemoryNV}, -#endif - {"glFlushVertexArrayRangeNV", "()V", (void *)&Java_org_lwjgl_opengl_NVVertexArrayRange_glFlushVertexArrayRangeNV, "glFlushVertexArrayRangeNV", (void *)&glFlushVertexArrayRangeNV}, - {"nglVertexArrayRangeNV", "(ILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexArrayRange_nglVertexArrayRangeNV, "glVertexArrayRangeNV", (void *)&glVertexArrayRangeNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/nv/org_lwjgl_opengl_NVVertexProgram.c b/src/native/common/nv/org_lwjgl_opengl_NVVertexProgram.c index aef0abba..e7320cbc 100644 --- a/src/native/common/nv/org_lwjgl_opengl_NVVertexProgram.c +++ b/src/native/common/nv/org_lwjgl_opengl_NVVertexProgram.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glVertexAttribs4fvNVPROC) (GLuint index, GLsizei n, const GLfloat * v); @@ -31,195 +32,161 @@ typedef void (APIENTRY *glGetTrackMatrixivNVPROC) (GLenum target, GLuint address typedef void (APIENTRY *glGetProgramParameterfvNVPROC) (GLenum target, GLuint index, GLenum parameterName, GLfloat * params); typedef void (APIENTRY *glExecuteProgramNVPROC) (GLenum target, GLuint id, const GLfloat * params); -static glVertexAttribs4fvNVPROC glVertexAttribs4fvNV; -static glVertexAttribs4svNVPROC glVertexAttribs4svNV; -static glVertexAttribs3fvNVPROC glVertexAttribs3fvNV; -static glVertexAttribs3svNVPROC glVertexAttribs3svNV; -static glVertexAttribs2fvNVPROC glVertexAttribs2fvNV; -static glVertexAttribs2svNVPROC glVertexAttribs2svNV; -static glVertexAttribs1fvNVPROC glVertexAttribs1fvNV; -static glVertexAttribs1svNVPROC glVertexAttribs1svNV; -static glVertexAttrib4ubNVPROC glVertexAttrib4ubNV; -static glVertexAttrib4fNVPROC glVertexAttrib4fNV; -static glVertexAttrib4sNVPROC glVertexAttrib4sNV; -static glVertexAttrib3fNVPROC glVertexAttrib3fNV; -static glVertexAttrib3sNVPROC glVertexAttrib3sNV; -static glVertexAttrib2fNVPROC glVertexAttrib2fNV; -static glVertexAttrib2sNVPROC glVertexAttrib2sNV; -static glVertexAttrib1fNVPROC glVertexAttrib1fNV; -static glVertexAttrib1sNVPROC glVertexAttrib1sNV; -static glVertexAttribPointerNVPROC glVertexAttribPointerNV; -static glTrackMatrixNVPROC glTrackMatrixNV; -static glProgramParameters4fvNVPROC glProgramParameters4fvNV; -static glProgramParameter4fNVPROC glProgramParameter4fNV; -static glGetVertexAttribPointervNVPROC glGetVertexAttribPointervNV; -static glGetVertexAttribivNVPROC glGetVertexAttribivNV; -static glGetVertexAttribfvNVPROC glGetVertexAttribfvNV; -static glGetTrackMatrixivNVPROC glGetTrackMatrixivNV; -static glGetProgramParameterfvNVPROC glGetProgramParameterfvNV; -static glExecuteProgramNVPROC glExecuteProgramNV; - -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLfloat *v_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs4fvNVPROC glVertexAttribs4fvNV = (glVertexAttribs4fvNVPROC)((intptr_t)function_pointer); glVertexAttribs4fvNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLshort *v_address = ((const GLshort *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs4svNVPROC glVertexAttribs4svNV = (glVertexAttribs4svNVPROC)((intptr_t)function_pointer); glVertexAttribs4svNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs3fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs3fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLfloat *v_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs3fvNVPROC glVertexAttribs3fvNV = (glVertexAttribs3fvNVPROC)((intptr_t)function_pointer); glVertexAttribs3fvNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs3svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs3svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLshort *v_address = ((const GLshort *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs3svNVPROC glVertexAttribs3svNV = (glVertexAttribs3svNVPROC)((intptr_t)function_pointer); glVertexAttribs3svNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs2fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs2fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLfloat *v_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs2fvNVPROC glVertexAttribs2fvNV = (glVertexAttribs2fvNVPROC)((intptr_t)function_pointer); glVertexAttribs2fvNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs2svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs2svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLshort *v_address = ((const GLshort *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs2svNVPROC glVertexAttribs2svNV = (glVertexAttribs2svNVPROC)((intptr_t)function_pointer); glVertexAttribs2svNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs1fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs1fvNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLfloat *v_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs1fvNVPROC glVertexAttribs1fvNV = (glVertexAttribs1fvNVPROC)((intptr_t)function_pointer); glVertexAttribs1fvNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs1svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs1svNV(JNIEnv *env, jclass clazz, jint index, jint n, jobject v, jint v_position, jlong function_pointer) { const GLshort *v_address = ((const GLshort *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glVertexAttribs1svNVPROC glVertexAttribs1svNV = (glVertexAttribs1svNVPROC)((intptr_t)function_pointer); glVertexAttribs1svNV(index, n, v_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib4ubNV(JNIEnv *env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib4ubNV(JNIEnv *env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w, jlong function_pointer) { + glVertexAttrib4ubNVPROC glVertexAttrib4ubNV = (glVertexAttrib4ubNVPROC)((intptr_t)function_pointer); glVertexAttrib4ubNV(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib4fNV(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib4fNV(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glVertexAttrib4fNVPROC glVertexAttrib4fNV = (glVertexAttrib4fNVPROC)((intptr_t)function_pointer); glVertexAttrib4fNV(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib4sNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib4sNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w, jlong function_pointer) { + glVertexAttrib4sNVPROC glVertexAttrib4sNV = (glVertexAttrib4sNVPROC)((intptr_t)function_pointer); glVertexAttrib4sNV(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib3fNV(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib3fNV(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glVertexAttrib3fNVPROC glVertexAttrib3fNV = (glVertexAttrib3fNVPROC)((intptr_t)function_pointer); glVertexAttrib3fNV(index, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib3sNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib3sNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jlong function_pointer) { + glVertexAttrib3sNVPROC glVertexAttrib3sNV = (glVertexAttrib3sNVPROC)((intptr_t)function_pointer); glVertexAttrib3sNV(index, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib2fNV(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib2fNV(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jlong function_pointer) { + glVertexAttrib2fNVPROC glVertexAttrib2fNV = (glVertexAttrib2fNVPROC)((intptr_t)function_pointer); glVertexAttrib2fNV(index, x, y); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib2sNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib2sNV(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jlong function_pointer) { + glVertexAttrib2sNVPROC glVertexAttrib2sNV = (glVertexAttrib2sNVPROC)((intptr_t)function_pointer); glVertexAttrib2sNV(index, x, y); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib1fNV(JNIEnv *env, jclass clazz, jint index, jfloat x) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib1fNV(JNIEnv *env, jclass clazz, jint index, jfloat x, jlong function_pointer) { + glVertexAttrib1fNVPROC glVertexAttrib1fNV = (glVertexAttrib1fNVPROC)((intptr_t)function_pointer); glVertexAttrib1fNV(index, x); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib1sNV(JNIEnv *env, jclass clazz, jint index, jshort x) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttrib1sNV(JNIEnv *env, jclass clazz, jint index, jshort x, jlong function_pointer) { + glVertexAttrib1sNVPROC glVertexAttrib1sNV = (glVertexAttrib1sNVPROC)((intptr_t)function_pointer); glVertexAttrib1sNV(index, x); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribPointerNV(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jint stride, jobject buffer, jint buffer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribPointerNV(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jint stride, jobject buffer, jint buffer_position, jlong function_pointer) { const GLvoid *buffer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, buffer)) + buffer_position)); + glVertexAttribPointerNVPROC glVertexAttribPointerNV = (glVertexAttribPointerNVPROC)((intptr_t)function_pointer); glVertexAttribPointerNV(index, size, type, stride, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribPointerNVBO(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jint stride, jint buffer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribPointerNVBO(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jint stride, jint buffer_buffer_offset, jlong function_pointer) { const GLvoid *buffer_address = ((const GLvoid *)offsetToPointer(buffer_buffer_offset)); + glVertexAttribPointerNVPROC glVertexAttribPointerNV = (glVertexAttribPointerNVPROC)((intptr_t)function_pointer); glVertexAttribPointerNV(index, size, type, stride, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glTrackMatrixNV(JNIEnv *env, jclass clazz, jint target, jint address, jint matrix, jint transform) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglTrackMatrixNV(JNIEnv *env, jclass clazz, jint target, jint address, jint matrix, jint transform, jlong function_pointer) { + glTrackMatrixNVPROC glTrackMatrixNV = (glTrackMatrixNVPROC)((intptr_t)function_pointer); glTrackMatrixNV(target, address, matrix, transform); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglProgramParameters4fvNV(JNIEnv *env, jclass clazz, jint target, jint index, jint count, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglProgramParameters4fvNV(JNIEnv *env, jclass clazz, jint target, jint index, jint count, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glProgramParameters4fvNVPROC glProgramParameters4fvNV = (glProgramParameters4fvNVPROC)((intptr_t)function_pointer); glProgramParameters4fvNV(target, index, count, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_glProgramParameter4fNV(JNIEnv *env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglProgramParameter4fNV(JNIEnv *env, jclass clazz, jint target, jint index, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glProgramParameter4fNVPROC glProgramParameter4fNV = (glProgramParameter4fNVPROC)((intptr_t)function_pointer); glProgramParameter4fNV(target, index, x, y, z, w); } -static jobject JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribPointervNV(JNIEnv *env, jclass clazz, jint index, jint parameterName, jint result_size) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribPointervNV(JNIEnv *env, jclass clazz, jint index, jint parameterName, jint result_size, jlong function_pointer) { + glGetVertexAttribPointervNVPROC glGetVertexAttribPointervNV = (glGetVertexAttribPointervNVPROC)((intptr_t)function_pointer); GLvoid * __result; glGetVertexAttribPointervNV(index, parameterName, &__result); return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribivNV(JNIEnv *env, jclass clazz, jint index, jint parameterName, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribivNV(JNIEnv *env, jclass clazz, jint index, jint parameterName, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribivNVPROC glGetVertexAttribivNV = (glGetVertexAttribivNVPROC)((intptr_t)function_pointer); glGetVertexAttribivNV(index, parameterName, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribfvNV(JNIEnv *env, jclass clazz, jint index, jint parameterName, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribfvNV(JNIEnv *env, jclass clazz, jint index, jint parameterName, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribfvNVPROC glGetVertexAttribfvNV = (glGetVertexAttribfvNVPROC)((intptr_t)function_pointer); glGetVertexAttribfvNV(index, parameterName, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetTrackMatrixivNV(JNIEnv *env, jclass clazz, jint target, jint address, jint parameterName, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetTrackMatrixivNV(JNIEnv *env, jclass clazz, jint target, jint address, jint parameterName, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTrackMatrixivNVPROC glGetTrackMatrixivNV = (glGetTrackMatrixivNVPROC)((intptr_t)function_pointer); glGetTrackMatrixivNV(target, address, parameterName, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetProgramParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint index, jint parameterName, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglGetProgramParameterfvNV(JNIEnv *env, jclass clazz, jint target, jint index, jint parameterName, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramParameterfvNVPROC glGetProgramParameterfvNV = (glGetProgramParameterfvNVPROC)((intptr_t)function_pointer); glGetProgramParameterfvNV(target, index, parameterName, params_address); } -static void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglExecuteProgramNV(JNIEnv *env, jclass clazz, jint target, jint id, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_nglExecuteProgramNV(JNIEnv *env, jclass clazz, jint target, jint id, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glExecuteProgramNVPROC glExecuteProgramNV = (glExecuteProgramNVPROC)((intptr_t)function_pointer); glExecuteProgramNV(target, id, params_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_NVVertexProgram_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglVertexAttribs4fvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4fvNV, "glVertexAttribs4fvNV", (void *)&glVertexAttribs4fvNV}, - {"nglVertexAttribs4svNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs4svNV, "glVertexAttribs4svNV", (void *)&glVertexAttribs4svNV}, - {"nglVertexAttribs3fvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs3fvNV, "glVertexAttribs3fvNV", (void *)&glVertexAttribs3fvNV}, - {"nglVertexAttribs3svNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs3svNV, "glVertexAttribs3svNV", (void *)&glVertexAttribs3svNV}, - {"nglVertexAttribs2fvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs2fvNV, "glVertexAttribs2fvNV", (void *)&glVertexAttribs2fvNV}, - {"nglVertexAttribs2svNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs2svNV, "glVertexAttribs2svNV", (void *)&glVertexAttribs2svNV}, - {"nglVertexAttribs1fvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs1fvNV, "glVertexAttribs1fvNV", (void *)&glVertexAttribs1fvNV}, - {"nglVertexAttribs1svNV", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribs1svNV, "glVertexAttribs1svNV", (void *)&glVertexAttribs1svNV}, - {"glVertexAttrib4ubNV", "(IBBBB)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib4ubNV, "glVertexAttrib4ubNV", (void *)&glVertexAttrib4ubNV}, - {"glVertexAttrib4fNV", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib4fNV, "glVertexAttrib4fNV", (void *)&glVertexAttrib4fNV}, - {"glVertexAttrib4sNV", "(ISSSS)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib4sNV, "glVertexAttrib4sNV", (void *)&glVertexAttrib4sNV}, - {"glVertexAttrib3fNV", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib3fNV, "glVertexAttrib3fNV", (void *)&glVertexAttrib3fNV}, - {"glVertexAttrib3sNV", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib3sNV, "glVertexAttrib3sNV", (void *)&glVertexAttrib3sNV}, - {"glVertexAttrib2fNV", "(IFF)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib2fNV, "glVertexAttrib2fNV", (void *)&glVertexAttrib2fNV}, - {"glVertexAttrib2sNV", "(ISS)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib2sNV, "glVertexAttrib2sNV", (void *)&glVertexAttrib2sNV}, - {"glVertexAttrib1fNV", "(IF)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib1fNV, "glVertexAttrib1fNV", (void *)&glVertexAttrib1fNV}, - {"glVertexAttrib1sNV", "(IS)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glVertexAttrib1sNV, "glVertexAttrib1sNV", (void *)&glVertexAttrib1sNV}, - {"nglVertexAttribPointerNV", "(IIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribPointerNV, "glVertexAttribPointerNV", (void *)&glVertexAttribPointerNV}, - {"nglVertexAttribPointerNVBO", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglVertexAttribPointerNVBO, "glVertexAttribPointerNV", (void *)&glVertexAttribPointerNV}, - {"glTrackMatrixNV", "(IIII)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glTrackMatrixNV, "glTrackMatrixNV", (void *)&glTrackMatrixNV}, - {"nglProgramParameters4fvNV", "(IIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglProgramParameters4fvNV, "glProgramParameters4fvNV", (void *)&glProgramParameters4fvNV}, - {"glProgramParameter4fNV", "(IIFFFF)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_glProgramParameter4fNV, "glProgramParameter4fNV", (void *)&glProgramParameter4fNV}, - {"nglGetVertexAttribPointervNV", "(III)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribPointervNV, "glGetVertexAttribPointervNV", (void *)&glGetVertexAttribPointervNV}, - {"nglGetVertexAttribivNV", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribivNV, "glGetVertexAttribivNV", (void *)&glGetVertexAttribivNV}, - {"nglGetVertexAttribfvNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglGetVertexAttribfvNV, "glGetVertexAttribfvNV", (void *)&glGetVertexAttribfvNV}, - {"nglGetTrackMatrixivNV", "(IIILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglGetTrackMatrixivNV, "glGetTrackMatrixivNV", (void *)&glGetTrackMatrixivNV}, - {"nglGetProgramParameterfvNV", "(IIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglGetProgramParameterfvNV, "glGetProgramParameterfvNV", (void *)&glGetProgramParameterfvNV}, - {"nglExecuteProgramNV", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_NVVertexProgram_nglExecuteProgramNV, "glExecuteProgramNV", (void *)&glExecuteProgramNV} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/org_lwjgl_opengl_GL11.c b/src/native/common/org_lwjgl_opengl_GL11.c index a1454b68..de984e3f 100644 --- a/src/native/common/org_lwjgl_opengl_GL11.c +++ b/src/native/common/org_lwjgl_opengl_GL11.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glViewportPROC) (GLint x, GLint y, GLsizei width, GLsizei height); @@ -203,1417 +204,1211 @@ typedef void (APIENTRY *glClearColorPROC) (GLclampf red, GLclampf green, GLclamp typedef void (APIENTRY *glAlphaFuncPROC) (GLenum func, GLclampf ref); typedef void (APIENTRY *glAccumPROC) (GLenum op, GLfloat value); -static glViewportPROC glViewport; -static glStencilMaskPROC glStencilMask; -static glStencilOpPROC glStencilOp; -static glTexCoord4fPROC glTexCoord4f; -static glTexCoord3fPROC glTexCoord3f; -static glTexCoord2fPROC glTexCoord2f; -static glTexCoord1fPROC glTexCoord1f; -static glTexCoordPointerPROC glTexCoordPointer; -static glTexEnvivPROC glTexEnviv; -static glTexEnvfvPROC glTexEnvfv; -static glTexEnviPROC glTexEnvi; -static glTexEnvfPROC glTexEnvf; -static glTexGenivPROC glTexGeniv; -static glTexGeniPROC glTexGeni; -static glTexGenfvPROC glTexGenfv; -static glTexGenfPROC glTexGenf; -static glTexParameterivPROC glTexParameteriv; -static glTexParameterfvPROC glTexParameterfv; -static glTexParameteriPROC glTexParameteri; -static glTexParameterfPROC glTexParameterf; -static glTexSubImage2DPROC glTexSubImage2D; -static glTexSubImage1DPROC glTexSubImage1D; -static glTexImage2DPROC glTexImage2D; -static glTexImage1DPROC glTexImage1D; -static glTranslatefPROC glTranslatef; -static glVertex4iPROC glVertex4i; -static glVertex4fPROC glVertex4f; -static glVertex3iPROC glVertex3i; -static glVertex3fPROC glVertex3f; -static glVertex2iPROC glVertex2i; -static glVertex2fPROC glVertex2f; -static glVertexPointerPROC glVertexPointer; -static glStencilFuncPROC glStencilFunc; -static glPopAttribPROC glPopAttrib; -static glPushAttribPROC glPushAttrib; -static glPopClientAttribPROC glPopClientAttrib; -static glPushClientAttribPROC glPushClientAttrib; -static glPopMatrixPROC glPopMatrix; -static glPushMatrixPROC glPushMatrix; -static glPopNamePROC glPopName; -static glPushNamePROC glPushName; -static glRasterPos4iPROC glRasterPos4i; -static glRasterPos4fPROC glRasterPos4f; -static glRasterPos3iPROC glRasterPos3i; -static glRasterPos3fPROC glRasterPos3f; -static glRasterPos2iPROC glRasterPos2i; -static glRasterPos2fPROC glRasterPos2f; -static glReadBufferPROC glReadBuffer; -static glReadPixelsPROC glReadPixels; -static glRectiPROC glRecti; -static glRectfPROC glRectf; -static glRenderModePROC glRenderMode; -static glRotatefPROC glRotatef; -static glScalefPROC glScalef; -static glScissorPROC glScissor; -static glSelectBufferPROC glSelectBuffer; -static glShadeModelPROC glShadeModel; -static glMultMatrixfPROC glMultMatrixf; -static glEndListPROC glEndList; -static glNewListPROC glNewList; -static glNormal3iPROC glNormal3i; -static glNormal3fPROC glNormal3f; -static glNormal3bPROC glNormal3b; -static glNormalPointerPROC glNormalPointer; -static glOrthoPROC glOrtho; -static glPassThroughPROC glPassThrough; -static glPixelMapusvPROC glPixelMapusv; -static glPixelMapuivPROC glPixelMapuiv; -static glPixelMapfvPROC glPixelMapfv; -static glPixelStoreiPROC glPixelStorei; -static glPixelStorefPROC glPixelStoref; -static glPixelTransferiPROC glPixelTransferi; -static glPixelTransferfPROC glPixelTransferf; -static glPixelZoomPROC glPixelZoom; -static glPointSizePROC glPointSize; -static glPolygonModePROC glPolygonMode; -static glPolygonOffsetPROC glPolygonOffset; -static glPolygonStipplePROC glPolygonStipple; -static glMatrixModePROC glMatrixMode; -static glIsTexturePROC glIsTexture; -static glLightivPROC glLightiv; -static glLightfvPROC glLightfv; -static glLightiPROC glLighti; -static glLightfPROC glLightf; -static glLightModelivPROC glLightModeliv; -static glLightModelfvPROC glLightModelfv; -static glLightModeliPROC glLightModeli; -static glLightModelfPROC glLightModelf; -static glLineStipplePROC glLineStipple; -static glLineWidthPROC glLineWidth; -static glListBasePROC glListBase; -static glLoadIdentityPROC glLoadIdentity; -static glLoadMatrixfPROC glLoadMatrixf; -static glLoadNamePROC glLoadName; -static glLogicOpPROC glLogicOp; -static glMap1fPROC glMap1f; -static glMap2fPROC glMap2f; -static glMapGrid2fPROC glMapGrid2f; -static glMapGrid1fPROC glMapGrid1f; -static glMaterialivPROC glMaterialiv; -static glMaterialfvPROC glMaterialfv; -static glMaterialiPROC glMateriali; -static glMaterialfPROC glMaterialf; -static glIsListPROC glIsList; -static glGetPolygonStipplePROC glGetPolygonStipple; -static glGetStringPROC glGetString; -static glGetTexEnvfvPROC glGetTexEnvfv; -static glGetTexEnvivPROC glGetTexEnviv; -static glGetTexGenfvPROC glGetTexGenfv; -static glGetTexGenivPROC glGetTexGeniv; -static glGetTexImagePROC glGetTexImage; -static glGetTexLevelParameterivPROC glGetTexLevelParameteriv; -static glGetTexLevelParameterfvPROC glGetTexLevelParameterfv; -static glGetTexParameterivPROC glGetTexParameteriv; -static glGetTexParameterfvPROC glGetTexParameterfv; -static glHintPROC glHint; -static glInitNamesPROC glInitNames; -static glInterleavedArraysPROC glInterleavedArrays; -static glIsEnabledPROC glIsEnabled; -static glGetPointervPROC glGetPointerv; -static glFinishPROC glFinish; -static glFlushPROC glFlush; -static glFogivPROC glFogiv; -static glFogfvPROC glFogfv; -static glFogiPROC glFogi; -static glFogfPROC glFogf; -static glFrontFacePROC glFrontFace; -static glFrustumPROC glFrustum; -static glGenListsPROC glGenLists; -static glGenTexturesPROC glGenTextures; -static glGetIntegervPROC glGetIntegerv; -static glGetFloatvPROC glGetFloatv; -static glGetDoublevPROC glGetDoublev; -static glGetBooleanvPROC glGetBooleanv; -static glGetClipPlanePROC glGetClipPlane; -static glGetErrorPROC glGetError; -static glGetLightivPROC glGetLightiv; -static glGetLightfvPROC glGetLightfv; -static glGetMapivPROC glGetMapiv; -static glGetMapfvPROC glGetMapfv; -static glGetMaterialivPROC glGetMaterialiv; -static glGetMaterialfvPROC glGetMaterialfv; -static glGetPixelMapusvPROC glGetPixelMapusv; -static glGetPixelMapuivPROC glGetPixelMapuiv; -static glGetPixelMapfvPROC glGetPixelMapfv; -static glFeedbackBufferPROC glFeedbackBuffer; -static glDepthFuncPROC glDepthFunc; -static glDepthMaskPROC glDepthMask; -static glDepthRangePROC glDepthRange; -static glDrawArraysPROC glDrawArrays; -static glDrawBufferPROC glDrawBuffer; -static glDrawElementsPROC glDrawElements; -static glDrawPixelsPROC glDrawPixels; -static glEdgeFlagPROC glEdgeFlag; -static glEdgeFlagPointerPROC glEdgeFlagPointer; -static glDisablePROC glDisable; -static glEnablePROC glEnable; -static glDisableClientStatePROC glDisableClientState; -static glEnableClientStatePROC glEnableClientState; -static glEvalCoord2fPROC glEvalCoord2f; -static glEvalCoord1fPROC glEvalCoord1f; -static glEvalMesh2PROC glEvalMesh2; -static glEvalMesh1PROC glEvalMesh1; -static glEvalPoint2PROC glEvalPoint2; -static glEvalPoint1PROC glEvalPoint1; -static glClearIndexPROC glClearIndex; -static glClearStencilPROC glClearStencil; -static glClipPlanePROC glClipPlane; -static glColor4ubPROC glColor4ub; -static glColor4fPROC glColor4f; -static glColor4bPROC glColor4b; -static glColor3ubPROC glColor3ub; -static glColor3fPROC glColor3f; -static glColor3bPROC glColor3b; -static glColorMaskPROC glColorMask; -static glColorMaterialPROC glColorMaterial; -static glColorPointerPROC glColorPointer; -static glCopyPixelsPROC glCopyPixels; -static glCopyTexImage1DPROC glCopyTexImage1D; -static glCopyTexImage2DPROC glCopyTexImage2D; -static glCopyTexSubImage1DPROC glCopyTexSubImage1D; -static glCopyTexSubImage2DPROC glCopyTexSubImage2D; -static glCullFacePROC glCullFace; -static glDeleteTexturesPROC glDeleteTextures; -static glDeleteListsPROC glDeleteLists; -static glClearDepthPROC glClearDepth; -static glArrayElementPROC glArrayElement; -static glEndPROC glEnd; -static glBeginPROC glBegin; -static glBindTexturePROC glBindTexture; -static glBitmapPROC glBitmap; -static glBlendFuncPROC glBlendFunc; -static glCallListPROC glCallList; -static glCallListsPROC glCallLists; -static glClearPROC glClear; -static glClearAccumPROC glClearAccum; -static glClearColorPROC glClearColor; -static glAlphaFuncPROC glAlphaFunc; -static glAccumPROC glAccum; - -static void JNICALL Java_org_lwjgl_opengl_GL11_glViewport(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglViewport(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jlong function_pointer) { + glViewportPROC glViewport = (glViewportPROC)((intptr_t)function_pointer); glViewport(x, y, width, height); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glStencilMask(JNIEnv *env, jclass clazz, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglStencilMask(JNIEnv *env, jclass clazz, jint mask, jlong function_pointer) { + glStencilMaskPROC glStencilMask = (glStencilMaskPROC)((intptr_t)function_pointer); glStencilMask(mask); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glStencilOp(JNIEnv *env, jclass clazz, jint fail, jint zfail, jint zpass) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglStencilOp(JNIEnv *env, jclass clazz, jint fail, jint zfail, jint zpass, jlong function_pointer) { + glStencilOpPROC glStencilOp = (glStencilOpPROC)((intptr_t)function_pointer); glStencilOp(fail, zfail, zpass); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexCoord4f(JNIEnv *env, jclass clazz, jfloat s, jfloat t, jfloat r, jfloat q) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoord4f(JNIEnv *env, jclass clazz, jfloat s, jfloat t, jfloat r, jfloat q, jlong function_pointer) { + glTexCoord4fPROC glTexCoord4f = (glTexCoord4fPROC)((intptr_t)function_pointer); glTexCoord4f(s, t, r, q); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexCoord3f(JNIEnv *env, jclass clazz, jfloat s, jfloat t, jfloat r) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoord3f(JNIEnv *env, jclass clazz, jfloat s, jfloat t, jfloat r, jlong function_pointer) { + glTexCoord3fPROC glTexCoord3f = (glTexCoord3fPROC)((intptr_t)function_pointer); glTexCoord3f(s, t, r); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexCoord2f(JNIEnv *env, jclass clazz, jfloat s, jfloat t) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoord2f(JNIEnv *env, jclass clazz, jfloat s, jfloat t, jlong function_pointer) { + glTexCoord2fPROC glTexCoord2f = (glTexCoord2fPROC)((intptr_t)function_pointer); glTexCoord2f(s, t); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexCoord1f(JNIEnv *env, jclass clazz, jfloat s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoord1f(JNIEnv *env, jclass clazz, jfloat s, jlong function_pointer) { + glTexCoord1fPROC glTexCoord1f = (glTexCoord1fPROC)((intptr_t)function_pointer); glTexCoord1f(s); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoordPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pointer, jint pointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoordPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pointer, jint pointer_position, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pointer)) + pointer_position)); + glTexCoordPointerPROC glTexCoordPointer = (glTexCoordPointerPROC)((intptr_t)function_pointer); glTexCoordPointer(size, type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoordPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexCoordPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pointer_buffer_offset, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)offsetToPointer(pointer_buffer_offset)); + glTexCoordPointerPROC glTexCoordPointer = (glTexCoordPointerPROC)((intptr_t)function_pointer); glTexCoordPointer(size, type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexEnviv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexEnviv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glTexEnvivPROC glTexEnviv = (glTexEnvivPROC)((intptr_t)function_pointer); glTexEnviv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexEnvfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexEnvfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glTexEnvfvPROC glTexEnvfv = (glTexEnvfvPROC)((intptr_t)function_pointer); glTexEnvfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexEnvi(JNIEnv *env, jclass clazz, jint target, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexEnvi(JNIEnv *env, jclass clazz, jint target, jint pname, jint param, jlong function_pointer) { + glTexEnviPROC glTexEnvi = (glTexEnviPROC)((intptr_t)function_pointer); glTexEnvi(target, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexEnvf(JNIEnv *env, jclass clazz, jint target, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexEnvf(JNIEnv *env, jclass clazz, jint target, jint pname, jfloat param, jlong function_pointer) { + glTexEnvfPROC glTexEnvf = (glTexEnvfPROC)((intptr_t)function_pointer); glTexEnvf(target, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexGeniv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexGeniv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glTexGenivPROC glTexGeniv = (glTexGenivPROC)((intptr_t)function_pointer); glTexGeniv(coord, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexGeni(JNIEnv *env, jclass clazz, jint coord, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexGeni(JNIEnv *env, jclass clazz, jint coord, jint pname, jint param, jlong function_pointer) { + glTexGeniPROC glTexGeni = (glTexGeniPROC)((intptr_t)function_pointer); glTexGeni(coord, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexGenfv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexGenfv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glTexGenfvPROC glTexGenfv = (glTexGenfvPROC)((intptr_t)function_pointer); glTexGenfv(coord, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexGenf(JNIEnv *env, jclass clazz, jint coord, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexGenf(JNIEnv *env, jclass clazz, jint coord, jint pname, jfloat param, jlong function_pointer) { + glTexGenfPROC glTexGenf = (glTexGenfPROC)((intptr_t)function_pointer); glTexGenf(coord, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject param, jint param_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject param, jint param_position, jlong function_pointer) { const GLint *param_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, param)) + param_position; + glTexParameterivPROC glTexParameteriv = (glTexParameterivPROC)((intptr_t)function_pointer); glTexParameteriv(target, pname, param_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject param, jint param_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject param, jint param_position, jlong function_pointer) { const GLfloat *param_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, param)) + param_position; + glTexParameterfvPROC glTexParameterfv = (glTexParameterfvPROC)((intptr_t)function_pointer); glTexParameterfv(target, pname, param_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexParameteri(JNIEnv *env, jclass clazz, jint target, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexParameteri(JNIEnv *env, jclass clazz, jint target, jint pname, jint param, jlong function_pointer) { + glTexParameteriPROC glTexParameteri = (glTexParameteriPROC)((intptr_t)function_pointer); glTexParameteri(target, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTexParameterf(JNIEnv *env, jclass clazz, jint target, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexParameterf(JNIEnv *env, jclass clazz, jint target, jint pname, jfloat param, jlong function_pointer) { + glTexParameterfPROC glTexParameterf = (glTexParameterfPROC)((intptr_t)function_pointer); glTexParameterf(target, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pixels)) + pixels_position)); + glTexSubImage2DPROC glTexSubImage2D = (glTexSubImage2DPROC)((intptr_t)function_pointer); glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)offsetToPointer(pixels_buffer_offset)); + glTexSubImage2DPROC glTexSubImage2D = (glTexSubImage2DPROC)((intptr_t)function_pointer); glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pixels)) + pixels_position)); + glTexSubImage1DPROC glTexSubImage1D = (glTexSubImage1DPROC)((intptr_t)function_pointer); glTexSubImage1D(target, level, xoffset, width, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexSubImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)offsetToPointer(pixels_buffer_offset)); + glTexSubImage1DPROC glTexSubImage1D = (glTexSubImage1DPROC)((intptr_t)function_pointer); glTexSubImage1D(target, level, xoffset, width, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)(((char *)safeGetBufferAddress(env, pixels)) + pixels_position)); + glTexImage2DPROC glTexImage2D = (glTexImage2DPROC)((intptr_t)function_pointer); glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)offsetToPointer(pixels_buffer_offset)); + glTexImage2DPROC glTexImage2D = (glTexImage2DPROC)((intptr_t)function_pointer); glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)(((char *)safeGetBufferAddress(env, pixels)) + pixels_position)); + glTexImage1DPROC glTexImage1D = (glTexImage1DPROC)((intptr_t)function_pointer); glTexImage1D(target, level, internalformat, width, border, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTexImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)offsetToPointer(pixels_buffer_offset)); + glTexImage1DPROC glTexImage1D = (glTexImage1DPROC)((intptr_t)function_pointer); glTexImage1D(target, level, internalformat, width, border, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glTranslatef(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglTranslatef(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glTranslatefPROC glTranslatef = (glTranslatefPROC)((intptr_t)function_pointer); glTranslatef(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glVertex4i(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jint w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertex4i(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jint w, jlong function_pointer) { + glVertex4iPROC glVertex4i = (glVertex4iPROC)((intptr_t)function_pointer); glVertex4i(x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glVertex4f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertex4f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glVertex4fPROC glVertex4f = (glVertex4fPROC)((intptr_t)function_pointer); glVertex4f(x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glVertex3i(JNIEnv *env, jclass clazz, jint x, jint y, jint z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertex3i(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jlong function_pointer) { + glVertex3iPROC glVertex3i = (glVertex3iPROC)((intptr_t)function_pointer); glVertex3i(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glVertex3f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertex3f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glVertex3fPROC glVertex3f = (glVertex3fPROC)((intptr_t)function_pointer); glVertex3f(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glVertex2i(JNIEnv *env, jclass clazz, jint x, jint y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertex2i(JNIEnv *env, jclass clazz, jint x, jint y, jlong function_pointer) { + glVertex2iPROC glVertex2i = (glVertex2iPROC)((intptr_t)function_pointer); glVertex2i(x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glVertex2f(JNIEnv *env, jclass clazz, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertex2f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jlong function_pointer) { + glVertex2fPROC glVertex2f = (glVertex2fPROC)((intptr_t)function_pointer); glVertex2f(x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglVertexPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pointer, jint pointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertexPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pointer, jint pointer_position, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pointer)) + pointer_position)); + glVertexPointerPROC glVertexPointer = (glVertexPointerPROC)((intptr_t)function_pointer); glVertexPointer(size, type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglVertexPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglVertexPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pointer_buffer_offset, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)offsetToPointer(pointer_buffer_offset)); + glVertexPointerPROC glVertexPointer = (glVertexPointerPROC)((intptr_t)function_pointer); glVertexPointer(size, type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glStencilFunc(JNIEnv *env, jclass clazz, jint func, jint ref, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglStencilFunc(JNIEnv *env, jclass clazz, jint func, jint ref, jint mask, jlong function_pointer) { + glStencilFuncPROC glStencilFunc = (glStencilFuncPROC)((intptr_t)function_pointer); glStencilFunc(func, ref, mask); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPopAttrib(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPopAttrib(JNIEnv *env, jclass clazz, jlong function_pointer) { + glPopAttribPROC glPopAttrib = (glPopAttribPROC)((intptr_t)function_pointer); glPopAttrib(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPushAttrib(JNIEnv *env, jclass clazz, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPushAttrib(JNIEnv *env, jclass clazz, jint mask, jlong function_pointer) { + glPushAttribPROC glPushAttrib = (glPushAttribPROC)((intptr_t)function_pointer); glPushAttrib(mask); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPopClientAttrib(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPopClientAttrib(JNIEnv *env, jclass clazz, jlong function_pointer) { + glPopClientAttribPROC glPopClientAttrib = (glPopClientAttribPROC)((intptr_t)function_pointer); glPopClientAttrib(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPushClientAttrib(JNIEnv *env, jclass clazz, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPushClientAttrib(JNIEnv *env, jclass clazz, jint mask, jlong function_pointer) { + glPushClientAttribPROC glPushClientAttrib = (glPushClientAttribPROC)((intptr_t)function_pointer); glPushClientAttrib(mask); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPopMatrix(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPopMatrix(JNIEnv *env, jclass clazz, jlong function_pointer) { + glPopMatrixPROC glPopMatrix = (glPopMatrixPROC)((intptr_t)function_pointer); glPopMatrix(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPushMatrix(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPushMatrix(JNIEnv *env, jclass clazz, jlong function_pointer) { + glPushMatrixPROC glPushMatrix = (glPushMatrixPROC)((intptr_t)function_pointer); glPushMatrix(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPopName(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPopName(JNIEnv *env, jclass clazz, jlong function_pointer) { + glPopNamePROC glPopName = (glPopNamePROC)((intptr_t)function_pointer); glPopName(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPushName(JNIEnv *env, jclass clazz, jint name) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPushName(JNIEnv *env, jclass clazz, jint name, jlong function_pointer) { + glPushNamePROC glPushName = (glPushNamePROC)((intptr_t)function_pointer); glPushName(name); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRasterPos4i(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jint w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRasterPos4i(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jint w, jlong function_pointer) { + glRasterPos4iPROC glRasterPos4i = (glRasterPos4iPROC)((intptr_t)function_pointer); glRasterPos4i(x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRasterPos4f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRasterPos4f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glRasterPos4fPROC glRasterPos4f = (glRasterPos4fPROC)((intptr_t)function_pointer); glRasterPos4f(x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRasterPos3i(JNIEnv *env, jclass clazz, jint x, jint y, jint z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRasterPos3i(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jlong function_pointer) { + glRasterPos3iPROC glRasterPos3i = (glRasterPos3iPROC)((intptr_t)function_pointer); glRasterPos3i(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRasterPos3f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRasterPos3f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glRasterPos3fPROC glRasterPos3f = (glRasterPos3fPROC)((intptr_t)function_pointer); glRasterPos3f(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRasterPos2i(JNIEnv *env, jclass clazz, jint x, jint y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRasterPos2i(JNIEnv *env, jclass clazz, jint x, jint y, jlong function_pointer) { + glRasterPos2iPROC glRasterPos2i = (glRasterPos2iPROC)((intptr_t)function_pointer); glRasterPos2i(x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRasterPos2f(JNIEnv *env, jclass clazz, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRasterPos2f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jlong function_pointer) { + glRasterPos2fPROC glRasterPos2f = (glRasterPos2fPROC)((intptr_t)function_pointer); glRasterPos2f(x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glReadBuffer(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglReadBuffer(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glReadBufferPROC glReadBuffer = (glReadBufferPROC)((intptr_t)function_pointer); glReadBuffer(mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglReadPixels(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglReadPixels(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { GLvoid *pixels_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pixels)) + pixels_position)); + glReadPixelsPROC glReadPixels = (glReadPixelsPROC)((intptr_t)function_pointer); glReadPixels(x, y, width, height, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglReadPixelsBO(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglReadPixelsBO(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { GLvoid *pixels_address = ((GLvoid *)offsetToPointer(pixels_buffer_offset)); + glReadPixelsPROC glReadPixels = (glReadPixelsPROC)((intptr_t)function_pointer); glReadPixels(x, y, width, height, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRecti(JNIEnv *env, jclass clazz, jint x1, jint y1, jint x2, jint y2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRecti(JNIEnv *env, jclass clazz, jint x1, jint y1, jint x2, jint y2, jlong function_pointer) { + glRectiPROC glRecti = (glRectiPROC)((intptr_t)function_pointer); glRecti(x1, y1, x2, y2); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRectf(JNIEnv *env, jclass clazz, jfloat x1, jfloat y1, jfloat x2, jfloat y2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRectf(JNIEnv *env, jclass clazz, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jlong function_pointer) { + glRectfPROC glRectf = (glRectfPROC)((intptr_t)function_pointer); glRectf(x1, y1, x2, y2); } -static jint JNICALL Java_org_lwjgl_opengl_GL11_glRenderMode(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL11_nglRenderMode(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glRenderModePROC glRenderMode = (glRenderModePROC)((intptr_t)function_pointer); GLint __result = glRenderMode(mode); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL11_glRotatef(JNIEnv *env, jclass clazz, jfloat angle, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglRotatef(JNIEnv *env, jclass clazz, jfloat angle, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glRotatefPROC glRotatef = (glRotatefPROC)((intptr_t)function_pointer); glRotatef(angle, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glScalef(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglScalef(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glScalefPROC glScalef = (glScalefPROC)((intptr_t)function_pointer); glScalef(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glScissor(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglScissor(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jlong function_pointer) { + glScissorPROC glScissor = (glScissorPROC)((intptr_t)function_pointer); glScissor(x, y, width, height); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglSelectBuffer(JNIEnv *env, jclass clazz, jint size, jobject buffer, jint buffer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglSelectBuffer(JNIEnv *env, jclass clazz, jint size, jobject buffer, jint buffer_position, jlong function_pointer) { GLuint *buffer_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, buffer)) + buffer_position; + glSelectBufferPROC glSelectBuffer = (glSelectBufferPROC)((intptr_t)function_pointer); glSelectBuffer(size, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glShadeModel(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglShadeModel(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glShadeModelPROC glShadeModel = (glShadeModelPROC)((intptr_t)function_pointer); glShadeModel(mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglMultMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMultMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position, jlong function_pointer) { const GLfloat *m_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, m)) + m_position; + glMultMatrixfPROC glMultMatrixf = (glMultMatrixfPROC)((intptr_t)function_pointer); glMultMatrixf(m_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEndList(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEndList(JNIEnv *env, jclass clazz, jlong function_pointer) { + glEndListPROC glEndList = (glEndListPROC)((intptr_t)function_pointer); glEndList(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glNewList(JNIEnv *env, jclass clazz, jint list, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglNewList(JNIEnv *env, jclass clazz, jint list, jint mode, jlong function_pointer) { + glNewListPROC glNewList = (glNewListPROC)((intptr_t)function_pointer); glNewList(list, mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glNormal3i(JNIEnv *env, jclass clazz, jint nx, jint ny, jint nz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglNormal3i(JNIEnv *env, jclass clazz, jint nx, jint ny, jint nz, jlong function_pointer) { + glNormal3iPROC glNormal3i = (glNormal3iPROC)((intptr_t)function_pointer); glNormal3i(nx, ny, nz); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glNormal3f(JNIEnv *env, jclass clazz, jfloat nx, jfloat ny, jfloat nz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglNormal3f(JNIEnv *env, jclass clazz, jfloat nx, jfloat ny, jfloat nz, jlong function_pointer) { + glNormal3fPROC glNormal3f = (glNormal3fPROC)((intptr_t)function_pointer); glNormal3f(nx, ny, nz); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glNormal3b(JNIEnv *env, jclass clazz, jbyte nx, jbyte ny, jbyte nz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglNormal3b(JNIEnv *env, jclass clazz, jbyte nx, jbyte ny, jbyte nz, jlong function_pointer) { + glNormal3bPROC glNormal3b = (glNormal3bPROC)((intptr_t)function_pointer); glNormal3b(nx, ny, nz); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglNormalPointer(JNIEnv *env, jclass clazz, jint type, jint stride, jobject pointer, jint pointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglNormalPointer(JNIEnv *env, jclass clazz, jint type, jint stride, jobject pointer, jint pointer_position, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pointer)) + pointer_position)); + glNormalPointerPROC glNormalPointer = (glNormalPointerPROC)((intptr_t)function_pointer); glNormalPointer(type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglNormalPointerBO(JNIEnv *env, jclass clazz, jint type, jint stride, jint pointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglNormalPointerBO(JNIEnv *env, jclass clazz, jint type, jint stride, jint pointer_buffer_offset, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)offsetToPointer(pointer_buffer_offset)); + glNormalPointerPROC glNormalPointer = (glNormalPointerPROC)((intptr_t)function_pointer); glNormalPointer(type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glOrtho(JNIEnv *env, jclass clazz, jdouble left, jdouble right, jdouble bottom, jdouble top, jdouble zNear, jdouble zFar) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglOrtho(JNIEnv *env, jclass clazz, jdouble left, jdouble right, jdouble bottom, jdouble top, jdouble zNear, jdouble zFar, jlong function_pointer) { + glOrthoPROC glOrtho = (glOrthoPROC)((intptr_t)function_pointer); glOrtho(left, right, bottom, top, zNear, zFar); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPassThrough(JNIEnv *env, jclass clazz, jfloat token) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPassThrough(JNIEnv *env, jclass clazz, jfloat token, jlong function_pointer) { + glPassThroughPROC glPassThrough = (glPassThroughPROC)((intptr_t)function_pointer); glPassThrough(token); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapusv(JNIEnv *env, jclass clazz, jint map, jint mapsize, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapusv(JNIEnv *env, jclass clazz, jint map, jint mapsize, jobject values, jint values_position, jlong function_pointer) { const GLushort *values_address = ((const GLushort *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glPixelMapusvPROC glPixelMapusv = (glPixelMapusvPROC)((intptr_t)function_pointer); glPixelMapusv(map, mapsize, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapusvBO(JNIEnv *env, jclass clazz, jint map, jint mapsize, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapusvBO(JNIEnv *env, jclass clazz, jint map, jint mapsize, jint values_buffer_offset, jlong function_pointer) { const GLushort *values_address = ((const GLushort *)offsetToPointer(values_buffer_offset)); + glPixelMapusvPROC glPixelMapusv = (glPixelMapusvPROC)((intptr_t)function_pointer); glPixelMapusv(map, mapsize, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapuiv(JNIEnv *env, jclass clazz, jint map, jint mapsize, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapuiv(JNIEnv *env, jclass clazz, jint map, jint mapsize, jobject values, jint values_position, jlong function_pointer) { const GLuint *values_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glPixelMapuivPROC glPixelMapuiv = (glPixelMapuivPROC)((intptr_t)function_pointer); glPixelMapuiv(map, mapsize, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapuivBO(JNIEnv *env, jclass clazz, jint map, jint mapsize, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapuivBO(JNIEnv *env, jclass clazz, jint map, jint mapsize, jint values_buffer_offset, jlong function_pointer) { const GLuint *values_address = ((const GLuint *)offsetToPointer(values_buffer_offset)); + glPixelMapuivPROC glPixelMapuiv = (glPixelMapuivPROC)((intptr_t)function_pointer); glPixelMapuiv(map, mapsize, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapfv(JNIEnv *env, jclass clazz, jint map, jint mapsize, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapfv(JNIEnv *env, jclass clazz, jint map, jint mapsize, jobject values, jint values_position, jlong function_pointer) { const GLfloat *values_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glPixelMapfvPROC glPixelMapfv = (glPixelMapfvPROC)((intptr_t)function_pointer); glPixelMapfv(map, mapsize, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapfvBO(JNIEnv *env, jclass clazz, jint map, jint mapsize, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelMapfvBO(JNIEnv *env, jclass clazz, jint map, jint mapsize, jint values_buffer_offset, jlong function_pointer) { const GLfloat *values_address = ((const GLfloat *)offsetToPointer(values_buffer_offset)); + glPixelMapfvPROC glPixelMapfv = (glPixelMapfvPROC)((intptr_t)function_pointer); glPixelMapfv(map, mapsize, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPixelStorei(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelStorei(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glPixelStoreiPROC glPixelStorei = (glPixelStoreiPROC)((intptr_t)function_pointer); glPixelStorei(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPixelStoref(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelStoref(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glPixelStorefPROC glPixelStoref = (glPixelStorefPROC)((intptr_t)function_pointer); glPixelStoref(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPixelTransferi(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelTransferi(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glPixelTransferiPROC glPixelTransferi = (glPixelTransferiPROC)((intptr_t)function_pointer); glPixelTransferi(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPixelTransferf(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelTransferf(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glPixelTransferfPROC glPixelTransferf = (glPixelTransferfPROC)((intptr_t)function_pointer); glPixelTransferf(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPixelZoom(JNIEnv *env, jclass clazz, jfloat xfactor, jfloat yfactor) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPixelZoom(JNIEnv *env, jclass clazz, jfloat xfactor, jfloat yfactor, jlong function_pointer) { + glPixelZoomPROC glPixelZoom = (glPixelZoomPROC)((intptr_t)function_pointer); glPixelZoom(xfactor, yfactor); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPointSize(JNIEnv *env, jclass clazz, jfloat size) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPointSize(JNIEnv *env, jclass clazz, jfloat size, jlong function_pointer) { + glPointSizePROC glPointSize = (glPointSizePROC)((intptr_t)function_pointer); glPointSize(size); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPolygonMode(JNIEnv *env, jclass clazz, jint face, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPolygonMode(JNIEnv *env, jclass clazz, jint face, jint mode, jlong function_pointer) { + glPolygonModePROC glPolygonMode = (glPolygonModePROC)((intptr_t)function_pointer); glPolygonMode(face, mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glPolygonOffset(JNIEnv *env, jclass clazz, jfloat factor, jfloat units) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPolygonOffset(JNIEnv *env, jclass clazz, jfloat factor, jfloat units, jlong function_pointer) { + glPolygonOffsetPROC glPolygonOffset = (glPolygonOffsetPROC)((intptr_t)function_pointer); glPolygonOffset(factor, units); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPolygonStipple(JNIEnv *env, jclass clazz, jobject mask, jint mask_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPolygonStipple(JNIEnv *env, jclass clazz, jobject mask, jint mask_position, jlong function_pointer) { const GLubyte *mask_address = ((const GLubyte *)(*env)->GetDirectBufferAddress(env, mask)) + mask_position; + glPolygonStipplePROC glPolygonStipple = (glPolygonStipplePROC)((intptr_t)function_pointer); glPolygonStipple(mask_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglPolygonStippleBO(JNIEnv *env, jclass clazz, jint mask_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglPolygonStippleBO(JNIEnv *env, jclass clazz, jint mask_buffer_offset, jlong function_pointer) { const GLubyte *mask_address = ((const GLubyte *)offsetToPointer(mask_buffer_offset)); + glPolygonStipplePROC glPolygonStipple = (glPolygonStipplePROC)((intptr_t)function_pointer); glPolygonStipple(mask_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glMatrixMode(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMatrixMode(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glMatrixModePROC glMatrixMode = (glMatrixModePROC)((intptr_t)function_pointer); glMatrixMode(mode); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL11_glIsTexture(JNIEnv *env, jclass clazz, jint texture) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL11_nglIsTexture(JNIEnv *env, jclass clazz, jint texture, jlong function_pointer) { + glIsTexturePROC glIsTexture = (glIsTexturePROC)((intptr_t)function_pointer); GLboolean __result = glIsTexture(texture); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglLightiv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLightiv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glLightivPROC glLightiv = (glLightivPROC)((intptr_t)function_pointer); glLightiv(light, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglLightfv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLightfv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glLightfvPROC glLightfv = (glLightfvPROC)((intptr_t)function_pointer); glLightfv(light, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLighti(JNIEnv *env, jclass clazz, jint light, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLighti(JNIEnv *env, jclass clazz, jint light, jint pname, jint param, jlong function_pointer) { + glLightiPROC glLighti = (glLightiPROC)((intptr_t)function_pointer); glLighti(light, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLightf(JNIEnv *env, jclass clazz, jint light, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLightf(JNIEnv *env, jclass clazz, jint light, jint pname, jfloat param, jlong function_pointer) { + glLightfPROC glLightf = (glLightfPROC)((intptr_t)function_pointer); glLightf(light, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglLightModeliv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLightModeliv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glLightModelivPROC glLightModeliv = (glLightModelivPROC)((intptr_t)function_pointer); glLightModeliv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglLightModelfv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLightModelfv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glLightModelfvPROC glLightModelfv = (glLightModelfvPROC)((intptr_t)function_pointer); glLightModelfv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLightModeli(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLightModeli(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glLightModeliPROC glLightModeli = (glLightModeliPROC)((intptr_t)function_pointer); glLightModeli(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLightModelf(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLightModelf(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glLightModelfPROC glLightModelf = (glLightModelfPROC)((intptr_t)function_pointer); glLightModelf(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLineStipple(JNIEnv *env, jclass clazz, jint factor, jshort pattern) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLineStipple(JNIEnv *env, jclass clazz, jint factor, jshort pattern, jlong function_pointer) { + glLineStipplePROC glLineStipple = (glLineStipplePROC)((intptr_t)function_pointer); glLineStipple(factor, pattern); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLineWidth(JNIEnv *env, jclass clazz, jfloat width) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLineWidth(JNIEnv *env, jclass clazz, jfloat width, jlong function_pointer) { + glLineWidthPROC glLineWidth = (glLineWidthPROC)((intptr_t)function_pointer); glLineWidth(width); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glListBase(JNIEnv *env, jclass clazz, jint base) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglListBase(JNIEnv *env, jclass clazz, jint base, jlong function_pointer) { + glListBasePROC glListBase = (glListBasePROC)((intptr_t)function_pointer); glListBase(base); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLoadIdentity(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLoadIdentity(JNIEnv *env, jclass clazz, jlong function_pointer) { + glLoadIdentityPROC glLoadIdentity = (glLoadIdentityPROC)((intptr_t)function_pointer); glLoadIdentity(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglLoadMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLoadMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position, jlong function_pointer) { const GLfloat *m_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, m)) + m_position; + glLoadMatrixfPROC glLoadMatrixf = (glLoadMatrixfPROC)((intptr_t)function_pointer); glLoadMatrixf(m_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLoadName(JNIEnv *env, jclass clazz, jint name) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLoadName(JNIEnv *env, jclass clazz, jint name, jlong function_pointer) { + glLoadNamePROC glLoadName = (glLoadNamePROC)((intptr_t)function_pointer); glLoadName(name); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glLogicOp(JNIEnv *env, jclass clazz, jint opcode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglLogicOp(JNIEnv *env, jclass clazz, jint opcode, jlong function_pointer) { + glLogicOpPROC glLogicOp = (glLogicOpPROC)((intptr_t)function_pointer); glLogicOp(opcode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglMap1f(JNIEnv *env, jclass clazz, jint target, jfloat u1, jfloat u2, jint stride, jint order, jobject points, jint points_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMap1f(JNIEnv *env, jclass clazz, jint target, jfloat u1, jfloat u2, jint stride, jint order, jobject points, jint points_position, jlong function_pointer) { const GLfloat *points_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, points)) + points_position; + glMap1fPROC glMap1f = (glMap1fPROC)((intptr_t)function_pointer); glMap1f(target, u1, u2, stride, order, points_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglMap2f(JNIEnv *env, jclass clazz, jint target, jfloat u1, jfloat u2, jint ustride, jint uorder, jfloat v1, jfloat v2, jint vstride, jint vorder, jobject points, jint points_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMap2f(JNIEnv *env, jclass clazz, jint target, jfloat u1, jfloat u2, jint ustride, jint uorder, jfloat v1, jfloat v2, jint vstride, jint vorder, jobject points, jint points_position, jlong function_pointer) { const GLfloat *points_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, points)) + points_position; + glMap2fPROC glMap2f = (glMap2fPROC)((intptr_t)function_pointer); glMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glMapGrid2f(JNIEnv *env, jclass clazz, jint un, jfloat u1, jfloat u2, jint vn, jfloat v1, jfloat v2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMapGrid2f(JNIEnv *env, jclass clazz, jint un, jfloat u1, jfloat u2, jint vn, jfloat v1, jfloat v2, jlong function_pointer) { + glMapGrid2fPROC glMapGrid2f = (glMapGrid2fPROC)((intptr_t)function_pointer); glMapGrid2f(un, u1, u2, vn, v1, v2); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glMapGrid1f(JNIEnv *env, jclass clazz, jint un, jfloat u1, jfloat u2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMapGrid1f(JNIEnv *env, jclass clazz, jint un, jfloat u1, jfloat u2, jlong function_pointer) { + glMapGrid1fPROC glMapGrid1f = (glMapGrid1fPROC)((intptr_t)function_pointer); glMapGrid1f(un, u1, u2); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglMaterialiv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMaterialiv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glMaterialivPROC glMaterialiv = (glMaterialivPROC)((intptr_t)function_pointer); glMaterialiv(face, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglMaterialfv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMaterialfv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glMaterialfvPROC glMaterialfv = (glMaterialfvPROC)((intptr_t)function_pointer); glMaterialfv(face, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glMateriali(JNIEnv *env, jclass clazz, jint face, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMateriali(JNIEnv *env, jclass clazz, jint face, jint pname, jint param, jlong function_pointer) { + glMaterialiPROC glMateriali = (glMaterialiPROC)((intptr_t)function_pointer); glMateriali(face, pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glMaterialf(JNIEnv *env, jclass clazz, jint face, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglMaterialf(JNIEnv *env, jclass clazz, jint face, jint pname, jfloat param, jlong function_pointer) { + glMaterialfPROC glMaterialf = (glMaterialfPROC)((intptr_t)function_pointer); glMaterialf(face, pname, param); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL11_glIsList(JNIEnv *env, jclass clazz, jint list) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL11_nglIsList(JNIEnv *env, jclass clazz, jint list, jlong function_pointer) { + glIsListPROC glIsList = (glIsListPROC)((intptr_t)function_pointer); GLboolean __result = glIsList(list); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPolygonStipple(JNIEnv *env, jclass clazz, jobject mask, jint mask_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPolygonStipple(JNIEnv *env, jclass clazz, jobject mask, jint mask_position, jlong function_pointer) { GLubyte *mask_address = ((GLubyte *)(*env)->GetDirectBufferAddress(env, mask)) + mask_position; + glGetPolygonStipplePROC glGetPolygonStipple = (glGetPolygonStipplePROC)((intptr_t)function_pointer); glGetPolygonStipple(mask_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPolygonStippleBO(JNIEnv *env, jclass clazz, jint mask_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPolygonStippleBO(JNIEnv *env, jclass clazz, jint mask_buffer_offset, jlong function_pointer) { GLubyte *mask_address = ((GLubyte *)offsetToPointer(mask_buffer_offset)); + glGetPolygonStipplePROC glGetPolygonStipple = (glGetPolygonStipplePROC)((intptr_t)function_pointer); glGetPolygonStipple(mask_address); } -static jobject JNICALL Java_org_lwjgl_opengl_GL11_glGetString(JNIEnv *env, jclass clazz, jint name) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL11_nglGetString(JNIEnv *env, jclass clazz, jint name, jlong function_pointer) { + glGetStringPROC glGetString = (glGetStringPROC)((intptr_t)function_pointer); const GLubyte * __result = glGetString(name); return NewStringNative(env, __result); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexEnvfv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexEnvfv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexEnvfvPROC glGetTexEnvfv = (glGetTexEnvfvPROC)((intptr_t)function_pointer); glGetTexEnvfv(coord, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexEnviv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexEnviv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexEnvivPROC glGetTexEnviv = (glGetTexEnvivPROC)((intptr_t)function_pointer); glGetTexEnviv(coord, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexGenfv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexGenfv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexGenfvPROC glGetTexGenfv = (glGetTexGenfvPROC)((intptr_t)function_pointer); glGetTexGenfv(coord, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexGeniv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexGeniv(JNIEnv *env, jclass clazz, jint coord, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexGenivPROC glGetTexGeniv = (glGetTexGenivPROC)((intptr_t)function_pointer); glGetTexGeniv(coord, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexImage(JNIEnv *env, jclass clazz, jint target, jint level, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexImage(JNIEnv *env, jclass clazz, jint target, jint level, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { GLvoid *pixels_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pixels)) + pixels_position)); + glGetTexImagePROC glGetTexImage = (glGetTexImagePROC)((intptr_t)function_pointer); glGetTexImage(target, level, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexImageBO(JNIEnv *env, jclass clazz, jint target, jint level, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexImageBO(JNIEnv *env, jclass clazz, jint target, jint level, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { GLvoid *pixels_address = ((GLvoid *)offsetToPointer(pixels_buffer_offset)); + glGetTexImagePROC glGetTexImage = (glGetTexImagePROC)((intptr_t)function_pointer); glGetTexImage(target, level, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexLevelParameteriv(JNIEnv *env, jclass clazz, jint target, jint level, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexLevelParameteriv(JNIEnv *env, jclass clazz, jint target, jint level, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexLevelParameterivPROC glGetTexLevelParameteriv = (glGetTexLevelParameterivPROC)((intptr_t)function_pointer); glGetTexLevelParameteriv(target, level, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexLevelParameterfv(JNIEnv *env, jclass clazz, jint target, jint level, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexLevelParameterfv(JNIEnv *env, jclass clazz, jint target, jint level, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexLevelParameterfvPROC glGetTexLevelParameterfv = (glGetTexLevelParameterfvPROC)((intptr_t)function_pointer); glGetTexLevelParameterfv(target, level, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexParameterivPROC glGetTexParameteriv = (glGetTexParameterivPROC)((intptr_t)function_pointer); glGetTexParameteriv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetTexParameterfv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetTexParameterfvPROC glGetTexParameterfv = (glGetTexParameterfvPROC)((intptr_t)function_pointer); glGetTexParameterfv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glHint(JNIEnv *env, jclass clazz, jint target, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglHint(JNIEnv *env, jclass clazz, jint target, jint mode, jlong function_pointer) { + glHintPROC glHint = (glHintPROC)((intptr_t)function_pointer); glHint(target, mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glInitNames(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglInitNames(JNIEnv *env, jclass clazz, jlong function_pointer) { + glInitNamesPROC glInitNames = (glInitNamesPROC)((intptr_t)function_pointer); glInitNames(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglInterleavedArrays(JNIEnv *env, jclass clazz, jint format, jint stride, jobject pointer, jint pointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglInterleavedArrays(JNIEnv *env, jclass clazz, jint format, jint stride, jobject pointer, jint pointer_position, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pointer)) + pointer_position)); + glInterleavedArraysPROC glInterleavedArrays = (glInterleavedArraysPROC)((intptr_t)function_pointer); glInterleavedArrays(format, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglInterleavedArraysBO(JNIEnv *env, jclass clazz, jint format, jint stride, jint pointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglInterleavedArraysBO(JNIEnv *env, jclass clazz, jint format, jint stride, jint pointer_buffer_offset, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)offsetToPointer(pointer_buffer_offset)); + glInterleavedArraysPROC glInterleavedArrays = (glInterleavedArraysPROC)((intptr_t)function_pointer); glInterleavedArrays(format, stride, pointer_address); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL11_glIsEnabled(JNIEnv *env, jclass clazz, jint cap) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL11_nglIsEnabled(JNIEnv *env, jclass clazz, jint cap, jlong function_pointer) { + glIsEnabledPROC glIsEnabled = (glIsEnabledPROC)((intptr_t)function_pointer); GLboolean __result = glIsEnabled(cap); return __result; } -static jobject JNICALL Java_org_lwjgl_opengl_GL11_nglGetPointerv(JNIEnv *env, jclass clazz, jint pname, jint result_size) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL11_nglGetPointerv(JNIEnv *env, jclass clazz, jint pname, jint result_size, jlong function_pointer) { + glGetPointervPROC glGetPointerv = (glGetPointervPROC)((intptr_t)function_pointer); GLvoid * __result; glGetPointerv(pname, &__result); return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glFinish(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFinish(JNIEnv *env, jclass clazz, jlong function_pointer) { + glFinishPROC glFinish = (glFinishPROC)((intptr_t)function_pointer); glFinish(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glFlush(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFlush(JNIEnv *env, jclass clazz, jlong function_pointer) { + glFlushPROC glFlush = (glFlushPROC)((intptr_t)function_pointer); glFlush(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglFogiv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFogiv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLint *params_address = ((const GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glFogivPROC glFogiv = (glFogivPROC)((intptr_t)function_pointer); glFogiv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglFogfv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFogfv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { const GLfloat *params_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glFogfvPROC glFogfv = (glFogfvPROC)((intptr_t)function_pointer); glFogfv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glFogi(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFogi(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glFogiPROC glFogi = (glFogiPROC)((intptr_t)function_pointer); glFogi(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glFogf(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFogf(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glFogfPROC glFogf = (glFogfPROC)((intptr_t)function_pointer); glFogf(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glFrontFace(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFrontFace(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glFrontFacePROC glFrontFace = (glFrontFacePROC)((intptr_t)function_pointer); glFrontFace(mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glFrustum(JNIEnv *env, jclass clazz, jdouble left, jdouble right, jdouble bottom, jdouble top, jdouble zNear, jdouble zFar) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFrustum(JNIEnv *env, jclass clazz, jdouble left, jdouble right, jdouble bottom, jdouble top, jdouble zNear, jdouble zFar, jlong function_pointer) { + glFrustumPROC glFrustum = (glFrustumPROC)((intptr_t)function_pointer); glFrustum(left, right, bottom, top, zNear, zFar); } -static jint JNICALL Java_org_lwjgl_opengl_GL11_glGenLists(JNIEnv *env, jclass clazz, jint range) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL11_nglGenLists(JNIEnv *env, jclass clazz, jint range, jlong function_pointer) { + glGenListsPROC glGenLists = (glGenListsPROC)((intptr_t)function_pointer); GLuint __result = glGenLists(range); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGenTextures(JNIEnv *env, jclass clazz, jint n, jobject textures, jint textures_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGenTextures(JNIEnv *env, jclass clazz, jint n, jobject textures, jint textures_position, jlong function_pointer) { GLuint *textures_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, textures)) + textures_position; + glGenTexturesPROC glGenTextures = (glGenTexturesPROC)((intptr_t)function_pointer); glGenTextures(n, textures_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetIntegerv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetIntegerv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetIntegervPROC glGetIntegerv = (glGetIntegervPROC)((intptr_t)function_pointer); glGetIntegerv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetFloatv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetFloatv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetFloatvPROC glGetFloatv = (glGetFloatvPROC)((intptr_t)function_pointer); glGetFloatv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetDoublev(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetDoublev(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { GLdouble *params_address = ((GLdouble *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetDoublevPROC glGetDoublev = (glGetDoublevPROC)((intptr_t)function_pointer); glGetDoublev(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetBooleanv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetBooleanv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { GLboolean *params_address = ((GLboolean *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetBooleanvPROC glGetBooleanv = (glGetBooleanvPROC)((intptr_t)function_pointer); glGetBooleanv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetClipPlane(JNIEnv *env, jclass clazz, jint plane, jobject equation, jint equation_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetClipPlane(JNIEnv *env, jclass clazz, jint plane, jobject equation, jint equation_position, jlong function_pointer) { GLdouble *equation_address = ((GLdouble *)(*env)->GetDirectBufferAddress(env, equation)) + equation_position; + glGetClipPlanePROC glGetClipPlane = (glGetClipPlanePROC)((intptr_t)function_pointer); glGetClipPlane(plane, equation_address); } -static jint JNICALL Java_org_lwjgl_opengl_GL11_glGetError(JNIEnv *env, jclass clazz) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL11_nglGetError(JNIEnv *env, jclass clazz, jlong function_pointer) { + glGetErrorPROC glGetError = (glGetErrorPROC)((intptr_t)function_pointer); GLint __result = glGetError(); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetLightiv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetLightiv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetLightivPROC glGetLightiv = (glGetLightivPROC)((intptr_t)function_pointer); glGetLightiv(light, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetLightfv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetLightfv(JNIEnv *env, jclass clazz, jint light, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetLightfvPROC glGetLightfv = (glGetLightfvPROC)((intptr_t)function_pointer); glGetLightfv(light, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMapiv(JNIEnv *env, jclass clazz, jint target, jint query, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMapiv(JNIEnv *env, jclass clazz, jint target, jint query, jobject v, jint v_position, jlong function_pointer) { GLint *v_address = ((GLint *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glGetMapivPROC glGetMapiv = (glGetMapivPROC)((intptr_t)function_pointer); glGetMapiv(target, query, v_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMapfv(JNIEnv *env, jclass clazz, jint target, jint query, jobject v, jint v_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMapfv(JNIEnv *env, jclass clazz, jint target, jint query, jobject v, jint v_position, jlong function_pointer) { GLfloat *v_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, v)) + v_position; + glGetMapfvPROC glGetMapfv = (glGetMapfvPROC)((intptr_t)function_pointer); glGetMapfv(target, query, v_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMaterialiv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMaterialiv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMaterialivPROC glGetMaterialiv = (glGetMaterialivPROC)((intptr_t)function_pointer); glGetMaterialiv(face, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMaterialfv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetMaterialfv(JNIEnv *env, jclass clazz, jint face, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetMaterialfvPROC glGetMaterialfv = (glGetMaterialfvPROC)((intptr_t)function_pointer); glGetMaterialfv(face, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapusv(JNIEnv *env, jclass clazz, jint map, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapusv(JNIEnv *env, jclass clazz, jint map, jobject values, jint values_position, jlong function_pointer) { GLushort *values_address = ((GLushort *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glGetPixelMapusvPROC glGetPixelMapusv = (glGetPixelMapusvPROC)((intptr_t)function_pointer); glGetPixelMapusv(map, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapusvBO(JNIEnv *env, jclass clazz, jint map, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapusvBO(JNIEnv *env, jclass clazz, jint map, jint values_buffer_offset, jlong function_pointer) { GLushort *values_address = ((GLushort *)offsetToPointer(values_buffer_offset)); + glGetPixelMapusvPROC glGetPixelMapusv = (glGetPixelMapusvPROC)((intptr_t)function_pointer); glGetPixelMapusv(map, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapuiv(JNIEnv *env, jclass clazz, jint map, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapuiv(JNIEnv *env, jclass clazz, jint map, jobject values, jint values_position, jlong function_pointer) { GLuint *values_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glGetPixelMapuivPROC glGetPixelMapuiv = (glGetPixelMapuivPROC)((intptr_t)function_pointer); glGetPixelMapuiv(map, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapuivBO(JNIEnv *env, jclass clazz, jint map, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapuivBO(JNIEnv *env, jclass clazz, jint map, jint values_buffer_offset, jlong function_pointer) { GLuint *values_address = ((GLuint *)offsetToPointer(values_buffer_offset)); + glGetPixelMapuivPROC glGetPixelMapuiv = (glGetPixelMapuivPROC)((intptr_t)function_pointer); glGetPixelMapuiv(map, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapfv(JNIEnv *env, jclass clazz, jint map, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapfv(JNIEnv *env, jclass clazz, jint map, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glGetPixelMapfvPROC glGetPixelMapfv = (glGetPixelMapfvPROC)((intptr_t)function_pointer); glGetPixelMapfv(map, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapfvBO(JNIEnv *env, jclass clazz, jint map, jint values_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglGetPixelMapfvBO(JNIEnv *env, jclass clazz, jint map, jint values_buffer_offset, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)offsetToPointer(values_buffer_offset)); + glGetPixelMapfvPROC glGetPixelMapfv = (glGetPixelMapfvPROC)((intptr_t)function_pointer); glGetPixelMapfv(map, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglFeedbackBuffer(JNIEnv *env, jclass clazz, jint size, jint type, jobject buffer, jint buffer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglFeedbackBuffer(JNIEnv *env, jclass clazz, jint size, jint type, jobject buffer, jint buffer_position, jlong function_pointer) { GLfloat *buffer_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, buffer)) + buffer_position; + glFeedbackBufferPROC glFeedbackBuffer = (glFeedbackBufferPROC)((intptr_t)function_pointer); glFeedbackBuffer(size, type, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDepthFunc(JNIEnv *env, jclass clazz, jint func) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDepthFunc(JNIEnv *env, jclass clazz, jint func, jlong function_pointer) { + glDepthFuncPROC glDepthFunc = (glDepthFuncPROC)((intptr_t)function_pointer); glDepthFunc(func); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDepthMask(JNIEnv *env, jclass clazz, jboolean flag) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDepthMask(JNIEnv *env, jclass clazz, jboolean flag, jlong function_pointer) { + glDepthMaskPROC glDepthMask = (glDepthMaskPROC)((intptr_t)function_pointer); glDepthMask(flag); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDepthRange(JNIEnv *env, jclass clazz, jdouble zNear, jdouble zFar) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDepthRange(JNIEnv *env, jclass clazz, jdouble zNear, jdouble zFar, jlong function_pointer) { + glDepthRangePROC glDepthRange = (glDepthRangePROC)((intptr_t)function_pointer); glDepthRange(zNear, zFar); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDrawArrays(JNIEnv *env, jclass clazz, jint mode, jint first, jint count) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawArrays(JNIEnv *env, jclass clazz, jint mode, jint first, jint count, jlong function_pointer) { + glDrawArraysPROC glDrawArrays = (glDrawArraysPROC)((intptr_t)function_pointer); glDrawArrays(mode, first, count); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDrawBuffer(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawBuffer(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glDrawBufferPROC glDrawBuffer = (glDrawBufferPROC)((intptr_t)function_pointer); glDrawBuffer(mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawElements(JNIEnv *env, jclass clazz, jint mode, jint count, jint type, jobject indices, jint indices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawElements(JNIEnv *env, jclass clazz, jint mode, jint count, jint type, jobject indices, jint indices_position, jlong function_pointer) { const GLvoid *indices_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, indices)) + indices_position)); + glDrawElementsPROC glDrawElements = (glDrawElementsPROC)((intptr_t)function_pointer); glDrawElements(mode, count, type, indices_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawElementsBO(JNIEnv *env, jclass clazz, jint mode, jint count, jint type, jint indices_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawElementsBO(JNIEnv *env, jclass clazz, jint mode, jint count, jint type, jint indices_buffer_offset, jlong function_pointer) { const GLvoid *indices_address = ((const GLvoid *)offsetToPointer(indices_buffer_offset)); + glDrawElementsPROC glDrawElements = (glDrawElementsPROC)((intptr_t)function_pointer); glDrawElements(mode, count, type, indices_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawPixels(JNIEnv *env, jclass clazz, jint width, jint height, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawPixels(JNIEnv *env, jclass clazz, jint width, jint height, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pixels)) + pixels_position)); + glDrawPixelsPROC glDrawPixels = (glDrawPixelsPROC)((intptr_t)function_pointer); glDrawPixels(width, height, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawPixelsBO(JNIEnv *env, jclass clazz, jint width, jint height, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDrawPixelsBO(JNIEnv *env, jclass clazz, jint width, jint height, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)offsetToPointer(pixels_buffer_offset)); + glDrawPixelsPROC glDrawPixels = (glDrawPixelsPROC)((intptr_t)function_pointer); glDrawPixels(width, height, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEdgeFlag(JNIEnv *env, jclass clazz, jboolean flag) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEdgeFlag(JNIEnv *env, jclass clazz, jboolean flag, jlong function_pointer) { + glEdgeFlagPROC glEdgeFlag = (glEdgeFlagPROC)((intptr_t)function_pointer); glEdgeFlag(flag); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglEdgeFlagPointer(JNIEnv *env, jclass clazz, jint stride, jobject pointer, jint pointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEdgeFlagPointer(JNIEnv *env, jclass clazz, jint stride, jobject pointer, jint pointer_position, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pointer)) + pointer_position)); + glEdgeFlagPointerPROC glEdgeFlagPointer = (glEdgeFlagPointerPROC)((intptr_t)function_pointer); glEdgeFlagPointer(stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglEdgeFlagPointerBO(JNIEnv *env, jclass clazz, jint stride, jint pointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEdgeFlagPointerBO(JNIEnv *env, jclass clazz, jint stride, jint pointer_buffer_offset, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)offsetToPointer(pointer_buffer_offset)); + glEdgeFlagPointerPROC glEdgeFlagPointer = (glEdgeFlagPointerPROC)((intptr_t)function_pointer); glEdgeFlagPointer(stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDisable(JNIEnv *env, jclass clazz, jint cap) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDisable(JNIEnv *env, jclass clazz, jint cap, jlong function_pointer) { + glDisablePROC glDisable = (glDisablePROC)((intptr_t)function_pointer); glDisable(cap); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEnable(JNIEnv *env, jclass clazz, jint cap) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEnable(JNIEnv *env, jclass clazz, jint cap, jlong function_pointer) { + glEnablePROC glEnable = (glEnablePROC)((intptr_t)function_pointer); glEnable(cap); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDisableClientState(JNIEnv *env, jclass clazz, jint cap) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDisableClientState(JNIEnv *env, jclass clazz, jint cap, jlong function_pointer) { + glDisableClientStatePROC glDisableClientState = (glDisableClientStatePROC)((intptr_t)function_pointer); glDisableClientState(cap); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEnableClientState(JNIEnv *env, jclass clazz, jint cap) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEnableClientState(JNIEnv *env, jclass clazz, jint cap, jlong function_pointer) { + glEnableClientStatePROC glEnableClientState = (glEnableClientStatePROC)((intptr_t)function_pointer); glEnableClientState(cap); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEvalCoord2f(JNIEnv *env, jclass clazz, jfloat u, jfloat v) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEvalCoord2f(JNIEnv *env, jclass clazz, jfloat u, jfloat v, jlong function_pointer) { + glEvalCoord2fPROC glEvalCoord2f = (glEvalCoord2fPROC)((intptr_t)function_pointer); glEvalCoord2f(u, v); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEvalCoord1f(JNIEnv *env, jclass clazz, jfloat u) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEvalCoord1f(JNIEnv *env, jclass clazz, jfloat u, jlong function_pointer) { + glEvalCoord1fPROC glEvalCoord1f = (glEvalCoord1fPROC)((intptr_t)function_pointer); glEvalCoord1f(u); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEvalMesh2(JNIEnv *env, jclass clazz, jint mode, jint i1, jint i2, jint j1, jint j2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEvalMesh2(JNIEnv *env, jclass clazz, jint mode, jint i1, jint i2, jint j1, jint j2, jlong function_pointer) { + glEvalMesh2PROC glEvalMesh2 = (glEvalMesh2PROC)((intptr_t)function_pointer); glEvalMesh2(mode, i1, i2, j1, j2); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEvalMesh1(JNIEnv *env, jclass clazz, jint mode, jint i1, jint i2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEvalMesh1(JNIEnv *env, jclass clazz, jint mode, jint i1, jint i2, jlong function_pointer) { + glEvalMesh1PROC glEvalMesh1 = (glEvalMesh1PROC)((intptr_t)function_pointer); glEvalMesh1(mode, i1, i2); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEvalPoint2(JNIEnv *env, jclass clazz, jint i, jint j) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEvalPoint2(JNIEnv *env, jclass clazz, jint i, jint j, jlong function_pointer) { + glEvalPoint2PROC glEvalPoint2 = (glEvalPoint2PROC)((intptr_t)function_pointer); glEvalPoint2(i, j); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEvalPoint1(JNIEnv *env, jclass clazz, jint i) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEvalPoint1(JNIEnv *env, jclass clazz, jint i, jlong function_pointer) { + glEvalPoint1PROC glEvalPoint1 = (glEvalPoint1PROC)((intptr_t)function_pointer); glEvalPoint1(i); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glClearIndex(JNIEnv *env, jclass clazz, jfloat c) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglClearIndex(JNIEnv *env, jclass clazz, jfloat c, jlong function_pointer) { + glClearIndexPROC glClearIndex = (glClearIndexPROC)((intptr_t)function_pointer); glClearIndex(c); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glClearStencil(JNIEnv *env, jclass clazz, jint s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglClearStencil(JNIEnv *env, jclass clazz, jint s, jlong function_pointer) { + glClearStencilPROC glClearStencil = (glClearStencilPROC)((intptr_t)function_pointer); glClearStencil(s); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglClipPlane(JNIEnv *env, jclass clazz, jint plane, jobject equation, jint equation_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglClipPlane(JNIEnv *env, jclass clazz, jint plane, jobject equation, jint equation_position, jlong function_pointer) { const GLdouble *equation_address = ((const GLdouble *)(*env)->GetDirectBufferAddress(env, equation)) + equation_position; + glClipPlanePROC glClipPlane = (glClipPlanePROC)((intptr_t)function_pointer); glClipPlane(plane, equation_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColor4ub(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jbyte alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColor4ub(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jbyte alpha, jlong function_pointer) { + glColor4ubPROC glColor4ub = (glColor4ubPROC)((intptr_t)function_pointer); glColor4ub(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColor4f(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColor4f(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha, jlong function_pointer) { + glColor4fPROC glColor4f = (glColor4fPROC)((intptr_t)function_pointer); glColor4f(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColor4b(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jbyte alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColor4b(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jbyte alpha, jlong function_pointer) { + glColor4bPROC glColor4b = (glColor4bPROC)((intptr_t)function_pointer); glColor4b(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColor3ub(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColor3ub(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jlong function_pointer) { + glColor3ubPROC glColor3ub = (glColor3ubPROC)((intptr_t)function_pointer); glColor3ub(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColor3f(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColor3f(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jlong function_pointer) { + glColor3fPROC glColor3f = (glColor3fPROC)((intptr_t)function_pointer); glColor3f(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColor3b(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColor3b(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jlong function_pointer) { + glColor3bPROC glColor3b = (glColor3bPROC)((intptr_t)function_pointer); glColor3b(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColorMask(JNIEnv *env, jclass clazz, jboolean red, jboolean green, jboolean blue, jboolean alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColorMask(JNIEnv *env, jclass clazz, jboolean red, jboolean green, jboolean blue, jboolean alpha, jlong function_pointer) { + glColorMaskPROC glColorMask = (glColorMaskPROC)((intptr_t)function_pointer); glColorMask(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glColorMaterial(JNIEnv *env, jclass clazz, jint face, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColorMaterial(JNIEnv *env, jclass clazz, jint face, jint mode, jlong function_pointer) { + glColorMaterialPROC glColorMaterial = (glColorMaterialPROC)((intptr_t)function_pointer); glColorMaterial(face, mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglColorPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pointer, jint pointer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColorPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject pointer, jint pointer_position, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pointer)) + pointer_position)); + glColorPointerPROC glColorPointer = (glColorPointerPROC)((intptr_t)function_pointer); glColorPointer(size, type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglColorPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pointer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglColorPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint pointer_buffer_offset, jlong function_pointer) { const GLvoid *pointer_address = ((const GLvoid *)offsetToPointer(pointer_buffer_offset)); + glColorPointerPROC glColorPointer = (glColorPointerPROC)((intptr_t)function_pointer); glColorPointer(size, type, stride, pointer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glCopyPixels(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jint type) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCopyPixels(JNIEnv *env, jclass clazz, jint x, jint y, jint width, jint height, jint type, jlong function_pointer) { + glCopyPixelsPROC glCopyPixels = (glCopyPixelsPROC)((intptr_t)function_pointer); glCopyPixels(x, y, width, height, type); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glCopyTexImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint x, jint y, jint width, jint border) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCopyTexImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint x, jint y, jint width, jint border, jlong function_pointer) { + glCopyTexImage1DPROC glCopyTexImage1D = (glCopyTexImage1DPROC)((intptr_t)function_pointer); glCopyTexImage1D(target, level, internalFormat, x, y, width, border); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glCopyTexImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint x, jint y, jint width, jint height, jint border) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCopyTexImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint x, jint y, jint width, jint height, jint border, jlong function_pointer) { + glCopyTexImage2DPROC glCopyTexImage2D = (glCopyTexImage2DPROC)((intptr_t)function_pointer); glCopyTexImage2D(target, level, internalFormat, x, y, width, height, border); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glCopyTexSubImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint x, jint y, jint width) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCopyTexSubImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint x, jint y, jint width, jlong function_pointer) { + glCopyTexSubImage1DPROC glCopyTexSubImage1D = (glCopyTexSubImage1DPROC)((intptr_t)function_pointer); glCopyTexSubImage1D(target, level, xoffset, x, y, width); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glCopyTexSubImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCopyTexSubImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height, jlong function_pointer) { + glCopyTexSubImage2DPROC glCopyTexSubImage2D = (glCopyTexSubImage2DPROC)((intptr_t)function_pointer); glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glCullFace(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCullFace(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glCullFacePROC glCullFace = (glCullFacePROC)((intptr_t)function_pointer); glCullFace(mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglDeleteTextures(JNIEnv *env, jclass clazz, jint n, jobject textures, jint textures_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDeleteTextures(JNIEnv *env, jclass clazz, jint n, jobject textures, jint textures_position, jlong function_pointer) { const GLuint *textures_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, textures)) + textures_position; + glDeleteTexturesPROC glDeleteTextures = (glDeleteTexturesPROC)((intptr_t)function_pointer); glDeleteTextures(n, textures_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glDeleteLists(JNIEnv *env, jclass clazz, jint list, jint range) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglDeleteLists(JNIEnv *env, jclass clazz, jint list, jint range, jlong function_pointer) { + glDeleteListsPROC glDeleteLists = (glDeleteListsPROC)((intptr_t)function_pointer); glDeleteLists(list, range); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glClearDepth(JNIEnv *env, jclass clazz, jdouble depth) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglClearDepth(JNIEnv *env, jclass clazz, jdouble depth, jlong function_pointer) { + glClearDepthPROC glClearDepth = (glClearDepthPROC)((intptr_t)function_pointer); glClearDepth(depth); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glArrayElement(JNIEnv *env, jclass clazz, jint i) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglArrayElement(JNIEnv *env, jclass clazz, jint i, jlong function_pointer) { + glArrayElementPROC glArrayElement = (glArrayElementPROC)((intptr_t)function_pointer); glArrayElement(i); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glEnd(JNIEnv *env, jclass clazz) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglEnd(JNIEnv *env, jclass clazz, jlong function_pointer) { + glEndPROC glEnd = (glEndPROC)((intptr_t)function_pointer); glEnd(); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glBegin(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglBegin(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glBeginPROC glBegin = (glBeginPROC)((intptr_t)function_pointer); glBegin(mode); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glBindTexture(JNIEnv *env, jclass clazz, jint target, jint texture) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglBindTexture(JNIEnv *env, jclass clazz, jint target, jint texture, jlong function_pointer) { + glBindTexturePROC glBindTexture = (glBindTexturePROC)((intptr_t)function_pointer); glBindTexture(target, texture); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglBitmap(JNIEnv *env, jclass clazz, jint width, jint height, jfloat xorig, jfloat yorig, jfloat xmove, jfloat ymove, jobject bitmap, jint bitmap_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglBitmap(JNIEnv *env, jclass clazz, jint width, jint height, jfloat xorig, jfloat yorig, jfloat xmove, jfloat ymove, jobject bitmap, jint bitmap_position, jlong function_pointer) { const GLubyte *bitmap_address = ((const GLubyte *)(*env)->GetDirectBufferAddress(env, bitmap)) + bitmap_position; + glBitmapPROC glBitmap = (glBitmapPROC)((intptr_t)function_pointer); glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglBitmapBO(JNIEnv *env, jclass clazz, jint width, jint height, jfloat xorig, jfloat yorig, jfloat xmove, jfloat ymove, jint bitmap_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglBitmapBO(JNIEnv *env, jclass clazz, jint width, jint height, jfloat xorig, jfloat yorig, jfloat xmove, jfloat ymove, jint bitmap_buffer_offset, jlong function_pointer) { const GLubyte *bitmap_address = ((const GLubyte *)offsetToPointer(bitmap_buffer_offset)); + glBitmapPROC glBitmap = (glBitmapPROC)((intptr_t)function_pointer); glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glBlendFunc(JNIEnv *env, jclass clazz, jint sfactor, jint dfactor) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglBlendFunc(JNIEnv *env, jclass clazz, jint sfactor, jint dfactor, jlong function_pointer) { + glBlendFuncPROC glBlendFunc = (glBlendFuncPROC)((intptr_t)function_pointer); glBlendFunc(sfactor, dfactor); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glCallList(JNIEnv *env, jclass clazz, jint list) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCallList(JNIEnv *env, jclass clazz, jint list, jlong function_pointer) { + glCallListPROC glCallList = (glCallListPROC)((intptr_t)function_pointer); glCallList(list); } -static void JNICALL Java_org_lwjgl_opengl_GL11_nglCallLists(JNIEnv *env, jclass clazz, jint n, jint type, jobject lists, jint lists_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglCallLists(JNIEnv *env, jclass clazz, jint n, jint type, jobject lists, jint lists_position, jlong function_pointer) { const GLvoid *lists_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, lists)) + lists_position)); + glCallListsPROC glCallLists = (glCallListsPROC)((intptr_t)function_pointer); glCallLists(n, type, lists_address); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glClear(JNIEnv *env, jclass clazz, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglClear(JNIEnv *env, jclass clazz, jint mask, jlong function_pointer) { + glClearPROC glClear = (glClearPROC)((intptr_t)function_pointer); glClear(mask); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glClearAccum(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglClearAccum(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha, jlong function_pointer) { + glClearAccumPROC glClearAccum = (glClearAccumPROC)((intptr_t)function_pointer); glClearAccum(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glClearColor(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglClearColor(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha, jlong function_pointer) { + glClearColorPROC glClearColor = (glClearColorPROC)((intptr_t)function_pointer); glClearColor(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glAlphaFunc(JNIEnv *env, jclass clazz, jint func, jfloat ref) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglAlphaFunc(JNIEnv *env, jclass clazz, jint func, jfloat ref, jlong function_pointer) { + glAlphaFuncPROC glAlphaFunc = (glAlphaFuncPROC)((intptr_t)function_pointer); glAlphaFunc(func, ref); } -static void JNICALL Java_org_lwjgl_opengl_GL11_glAccum(JNIEnv *env, jclass clazz, jint op, jfloat value) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_nglAccum(JNIEnv *env, jclass clazz, jint op, jfloat value, jlong function_pointer) { + glAccumPROC glAccum = (glAccumPROC)((intptr_t)function_pointer); glAccum(op, value); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL11_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glViewport", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glViewport, "glViewport", (void *)&glViewport}, - {"glStencilMask", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glStencilMask, "glStencilMask", (void *)&glStencilMask}, - {"glStencilOp", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glStencilOp, "glStencilOp", (void *)&glStencilOp}, - {"glTexCoord4f", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexCoord4f, "glTexCoord4f", (void *)&glTexCoord4f}, - {"glTexCoord3f", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexCoord3f, "glTexCoord3f", (void *)&glTexCoord3f}, - {"glTexCoord2f", "(FF)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexCoord2f, "glTexCoord2f", (void *)&glTexCoord2f}, - {"glTexCoord1f", "(F)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexCoord1f, "glTexCoord1f", (void *)&glTexCoord1f}, - {"nglTexCoordPointer", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexCoordPointer, "glTexCoordPointer", (void *)&glTexCoordPointer}, - {"nglTexCoordPointerBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexCoordPointerBO, "glTexCoordPointer", (void *)&glTexCoordPointer}, - {"nglTexEnviv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexEnviv, "glTexEnviv", (void *)&glTexEnviv}, - {"nglTexEnvfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexEnvfv, "glTexEnvfv", (void *)&glTexEnvfv}, - {"glTexEnvi", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexEnvi, "glTexEnvi", (void *)&glTexEnvi}, - {"glTexEnvf", "(IIF)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexEnvf, "glTexEnvf", (void *)&glTexEnvf}, - {"nglTexGeniv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexGeniv, "glTexGeniv", (void *)&glTexGeniv}, - {"glTexGeni", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexGeni, "glTexGeni", (void *)&glTexGeni}, - {"nglTexGenfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexGenfv, "glTexGenfv", (void *)&glTexGenfv}, - {"glTexGenf", "(IIF)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexGenf, "glTexGenf", (void *)&glTexGenf}, - {"nglTexParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexParameteriv, "glTexParameteriv", (void *)&glTexParameteriv}, - {"nglTexParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexParameterfv, "glTexParameterfv", (void *)&glTexParameterfv}, - {"glTexParameteri", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexParameteri, "glTexParameteri", (void *)&glTexParameteri}, - {"glTexParameterf", "(IIF)V", (void *)&Java_org_lwjgl_opengl_GL11_glTexParameterf, "glTexParameterf", (void *)&glTexParameterf}, - {"nglTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexSubImage2D, "glTexSubImage2D", (void *)&glTexSubImage2D}, - {"nglTexSubImage2DBO", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexSubImage2DBO, "glTexSubImage2D", (void *)&glTexSubImage2D}, - {"nglTexSubImage1D", "(IIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexSubImage1D, "glTexSubImage1D", (void *)&glTexSubImage1D}, - {"nglTexSubImage1DBO", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexSubImage1DBO, "glTexSubImage1D", (void *)&glTexSubImage1D}, - {"nglTexImage2D", "(IIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexImage2D, "glTexImage2D", (void *)&glTexImage2D}, - {"nglTexImage2DBO", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexImage2DBO, "glTexImage2D", (void *)&glTexImage2D}, - {"nglTexImage1D", "(IIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexImage1D, "glTexImage1D", (void *)&glTexImage1D}, - {"nglTexImage1DBO", "(IIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglTexImage1DBO, "glTexImage1D", (void *)&glTexImage1D}, - {"glTranslatef", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glTranslatef, "glTranslatef", (void *)&glTranslatef}, - {"glVertex4i", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glVertex4i, "glVertex4i", (void *)&glVertex4i}, - {"glVertex4f", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glVertex4f, "glVertex4f", (void *)&glVertex4f}, - {"glVertex3i", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glVertex3i, "glVertex3i", (void *)&glVertex3i}, - {"glVertex3f", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glVertex3f, "glVertex3f", (void *)&glVertex3f}, - {"glVertex2i", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glVertex2i, "glVertex2i", (void *)&glVertex2i}, - {"glVertex2f", "(FF)V", (void *)&Java_org_lwjgl_opengl_GL11_glVertex2f, "glVertex2f", (void *)&glVertex2f}, - {"nglVertexPointer", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglVertexPointer, "glVertexPointer", (void *)&glVertexPointer}, - {"nglVertexPointerBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglVertexPointerBO, "glVertexPointer", (void *)&glVertexPointer}, - {"glStencilFunc", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glStencilFunc, "glStencilFunc", (void *)&glStencilFunc}, - {"glPopAttrib", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glPopAttrib, "glPopAttrib", (void *)&glPopAttrib}, - {"glPushAttrib", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glPushAttrib, "glPushAttrib", (void *)&glPushAttrib}, - {"nglPopClientAttrib", "()V", (void *)&Java_org_lwjgl_opengl_GL11_nglPopClientAttrib, "glPopClientAttrib", (void *)&glPopClientAttrib}, - {"nglPushClientAttrib", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPushClientAttrib, "glPushClientAttrib", (void *)&glPushClientAttrib}, - {"glPopMatrix", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glPopMatrix, "glPopMatrix", (void *)&glPopMatrix}, - {"glPushMatrix", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glPushMatrix, "glPushMatrix", (void *)&glPushMatrix}, - {"glPopName", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glPopName, "glPopName", (void *)&glPopName}, - {"glPushName", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glPushName, "glPushName", (void *)&glPushName}, - {"glRasterPos4i", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glRasterPos4i, "glRasterPos4i", (void *)&glRasterPos4i}, - {"glRasterPos4f", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glRasterPos4f, "glRasterPos4f", (void *)&glRasterPos4f}, - {"glRasterPos3i", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glRasterPos3i, "glRasterPos3i", (void *)&glRasterPos3i}, - {"glRasterPos3f", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glRasterPos3f, "glRasterPos3f", (void *)&glRasterPos3f}, - {"glRasterPos2i", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glRasterPos2i, "glRasterPos2i", (void *)&glRasterPos2i}, - {"glRasterPos2f", "(FF)V", (void *)&Java_org_lwjgl_opengl_GL11_glRasterPos2f, "glRasterPos2f", (void *)&glRasterPos2f}, - {"glReadBuffer", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glReadBuffer, "glReadBuffer", (void *)&glReadBuffer}, - {"nglReadPixels", "(IIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglReadPixels, "glReadPixels", (void *)&glReadPixels}, - {"nglReadPixelsBO", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglReadPixelsBO, "glReadPixels", (void *)&glReadPixels}, - {"glRecti", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glRecti, "glRecti", (void *)&glRecti}, - {"glRectf", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glRectf, "glRectf", (void *)&glRectf}, - {"glRenderMode", "(I)I", (void *)&Java_org_lwjgl_opengl_GL11_glRenderMode, "glRenderMode", (void *)&glRenderMode}, - {"glRotatef", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glRotatef, "glRotatef", (void *)&glRotatef}, - {"glScalef", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glScalef, "glScalef", (void *)&glScalef}, - {"glScissor", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glScissor, "glScissor", (void *)&glScissor}, - {"nglSelectBuffer", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglSelectBuffer, "glSelectBuffer", (void *)&glSelectBuffer}, - {"glShadeModel", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glShadeModel, "glShadeModel", (void *)&glShadeModel}, - {"nglMultMatrixf", "(Ljava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglMultMatrixf, "glMultMatrixf", (void *)&glMultMatrixf}, - {"glEndList", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glEndList, "glEndList", (void *)&glEndList}, - {"glNewList", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glNewList, "glNewList", (void *)&glNewList}, - {"glNormal3i", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glNormal3i, "glNormal3i", (void *)&glNormal3i}, - {"glNormal3f", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glNormal3f, "glNormal3f", (void *)&glNormal3f}, - {"glNormal3b", "(BBB)V", (void *)&Java_org_lwjgl_opengl_GL11_glNormal3b, "glNormal3b", (void *)&glNormal3b}, - {"nglNormalPointer", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglNormalPointer, "glNormalPointer", (void *)&glNormalPointer}, - {"nglNormalPointerBO", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_nglNormalPointerBO, "glNormalPointer", (void *)&glNormalPointer}, - {"glOrtho", "(DDDDDD)V", (void *)&Java_org_lwjgl_opengl_GL11_glOrtho, "glOrtho", (void *)&glOrtho}, - {"glPassThrough", "(F)V", (void *)&Java_org_lwjgl_opengl_GL11_glPassThrough, "glPassThrough", (void *)&glPassThrough}, - {"nglPixelMapusv", "(IILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPixelMapusv, "glPixelMapusv", (void *)&glPixelMapusv}, - {"nglPixelMapusvBO", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPixelMapusvBO, "glPixelMapusv", (void *)&glPixelMapusv}, - {"nglPixelMapuiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPixelMapuiv, "glPixelMapuiv", (void *)&glPixelMapuiv}, - {"nglPixelMapuivBO", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPixelMapuivBO, "glPixelMapuiv", (void *)&glPixelMapuiv}, - {"nglPixelMapfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPixelMapfv, "glPixelMapfv", (void *)&glPixelMapfv}, - {"nglPixelMapfvBO", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPixelMapfvBO, "glPixelMapfv", (void *)&glPixelMapfv}, - {"glPixelStorei", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glPixelStorei, "glPixelStorei", (void *)&glPixelStorei}, - {"glPixelStoref", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL11_glPixelStoref, "glPixelStoref", (void *)&glPixelStoref}, - {"glPixelTransferi", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glPixelTransferi, "glPixelTransferi", (void *)&glPixelTransferi}, - {"glPixelTransferf", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL11_glPixelTransferf, "glPixelTransferf", (void *)&glPixelTransferf}, - {"glPixelZoom", "(FF)V", (void *)&Java_org_lwjgl_opengl_GL11_glPixelZoom, "glPixelZoom", (void *)&glPixelZoom}, - {"glPointSize", "(F)V", (void *)&Java_org_lwjgl_opengl_GL11_glPointSize, "glPointSize", (void *)&glPointSize}, - {"glPolygonMode", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glPolygonMode, "glPolygonMode", (void *)&glPolygonMode}, - {"glPolygonOffset", "(FF)V", (void *)&Java_org_lwjgl_opengl_GL11_glPolygonOffset, "glPolygonOffset", (void *)&glPolygonOffset}, - {"nglPolygonStipple", "(Ljava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPolygonStipple, "glPolygonStipple", (void *)&glPolygonStipple}, - {"nglPolygonStippleBO", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglPolygonStippleBO, "glPolygonStipple", (void *)&glPolygonStipple}, - {"glMatrixMode", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glMatrixMode, "glMatrixMode", (void *)&glMatrixMode}, - {"glIsTexture", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL11_glIsTexture, "glIsTexture", (void *)&glIsTexture}, - {"nglLightiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglLightiv, "glLightiv", (void *)&glLightiv}, - {"nglLightfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglLightfv, "glLightfv", (void *)&glLightfv}, - {"glLighti", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glLighti, "glLighti", (void *)&glLighti}, - {"glLightf", "(IIF)V", (void *)&Java_org_lwjgl_opengl_GL11_glLightf, "glLightf", (void *)&glLightf}, - {"nglLightModeliv", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglLightModeliv, "glLightModeliv", (void *)&glLightModeliv}, - {"nglLightModelfv", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglLightModelfv, "glLightModelfv", (void *)&glLightModelfv}, - {"glLightModeli", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glLightModeli, "glLightModeli", (void *)&glLightModeli}, - {"glLightModelf", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL11_glLightModelf, "glLightModelf", (void *)&glLightModelf}, - {"glLineStipple", "(IS)V", (void *)&Java_org_lwjgl_opengl_GL11_glLineStipple, "glLineStipple", (void *)&glLineStipple}, - {"glLineWidth", "(F)V", (void *)&Java_org_lwjgl_opengl_GL11_glLineWidth, "glLineWidth", (void *)&glLineWidth}, - {"glListBase", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glListBase, "glListBase", (void *)&glListBase}, - {"glLoadIdentity", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glLoadIdentity, "glLoadIdentity", (void *)&glLoadIdentity}, - {"nglLoadMatrixf", "(Ljava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglLoadMatrixf, "glLoadMatrixf", (void *)&glLoadMatrixf}, - {"glLoadName", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glLoadName, "glLoadName", (void *)&glLoadName}, - {"glLogicOp", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glLogicOp, "glLogicOp", (void *)&glLogicOp}, - {"nglMap1f", "(IFFIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglMap1f, "glMap1f", (void *)&glMap1f}, - {"nglMap2f", "(IFFIIFFIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglMap2f, "glMap2f", (void *)&glMap2f}, - {"glMapGrid2f", "(IFFIFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glMapGrid2f, "glMapGrid2f", (void *)&glMapGrid2f}, - {"glMapGrid1f", "(IFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glMapGrid1f, "glMapGrid1f", (void *)&glMapGrid1f}, - {"nglMaterialiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglMaterialiv, "glMaterialiv", (void *)&glMaterialiv}, - {"nglMaterialfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglMaterialfv, "glMaterialfv", (void *)&glMaterialfv}, - {"glMateriali", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glMateriali, "glMateriali", (void *)&glMateriali}, - {"glMaterialf", "(IIF)V", (void *)&Java_org_lwjgl_opengl_GL11_glMaterialf, "glMaterialf", (void *)&glMaterialf}, - {"glIsList", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL11_glIsList, "glIsList", (void *)&glIsList}, - {"nglGetPolygonStipple", "(Ljava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPolygonStipple, "glGetPolygonStipple", (void *)&glGetPolygonStipple}, - {"nglGetPolygonStippleBO", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPolygonStippleBO, "glGetPolygonStipple", (void *)&glGetPolygonStipple}, - {"glGetString", "(I)Ljava/lang/String;", (void *)&Java_org_lwjgl_opengl_GL11_glGetString, "glGetString", (void *)&glGetString}, - {"nglGetTexEnvfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexEnvfv, "glGetTexEnvfv", (void *)&glGetTexEnvfv}, - {"nglGetTexEnviv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexEnviv, "glGetTexEnviv", (void *)&glGetTexEnviv}, - {"nglGetTexGenfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexGenfv, "glGetTexGenfv", (void *)&glGetTexGenfv}, - {"nglGetTexGeniv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexGeniv, "glGetTexGeniv", (void *)&glGetTexGeniv}, - {"nglGetTexImage", "(IIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexImage, "glGetTexImage", (void *)&glGetTexImage}, - {"nglGetTexImageBO", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexImageBO, "glGetTexImage", (void *)&glGetTexImage}, - {"nglGetTexLevelParameteriv", "(IIILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexLevelParameteriv, "glGetTexLevelParameteriv", (void *)&glGetTexLevelParameteriv}, - {"nglGetTexLevelParameterfv", "(IIILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexLevelParameterfv, "glGetTexLevelParameterfv", (void *)&glGetTexLevelParameterfv}, - {"nglGetTexParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexParameteriv, "glGetTexParameteriv", (void *)&glGetTexParameteriv}, - {"nglGetTexParameterfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetTexParameterfv, "glGetTexParameterfv", (void *)&glGetTexParameterfv}, - {"glHint", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glHint, "glHint", (void *)&glHint}, - {"glInitNames", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glInitNames, "glInitNames", (void *)&glInitNames}, - {"nglInterleavedArrays", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglInterleavedArrays, "glInterleavedArrays", (void *)&glInterleavedArrays}, - {"nglInterleavedArraysBO", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_nglInterleavedArraysBO, "glInterleavedArrays", (void *)&glInterleavedArrays}, - {"glIsEnabled", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL11_glIsEnabled, "glIsEnabled", (void *)&glIsEnabled}, - {"nglGetPointerv", "(II)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPointerv, "glGetPointerv", (void *)&glGetPointerv}, - {"glFinish", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glFinish, "glFinish", (void *)&glFinish}, - {"glFlush", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glFlush, "glFlush", (void *)&glFlush}, - {"nglFogiv", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglFogiv, "glFogiv", (void *)&glFogiv}, - {"nglFogfv", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglFogfv, "glFogfv", (void *)&glFogfv}, - {"glFogi", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glFogi, "glFogi", (void *)&glFogi}, - {"glFogf", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL11_glFogf, "glFogf", (void *)&glFogf}, - {"glFrontFace", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glFrontFace, "glFrontFace", (void *)&glFrontFace}, - {"glFrustum", "(DDDDDD)V", (void *)&Java_org_lwjgl_opengl_GL11_glFrustum, "glFrustum", (void *)&glFrustum}, - {"glGenLists", "(I)I", (void *)&Java_org_lwjgl_opengl_GL11_glGenLists, "glGenLists", (void *)&glGenLists}, - {"nglGenTextures", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGenTextures, "glGenTextures", (void *)&glGenTextures}, - {"nglGetIntegerv", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetIntegerv, "glGetIntegerv", (void *)&glGetIntegerv}, - {"nglGetFloatv", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetFloatv, "glGetFloatv", (void *)&glGetFloatv}, - {"nglGetDoublev", "(ILjava/nio/DoubleBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetDoublev, "glGetDoublev", (void *)&glGetDoublev}, - {"nglGetBooleanv", "(ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetBooleanv, "glGetBooleanv", (void *)&glGetBooleanv}, - {"nglGetClipPlane", "(ILjava/nio/DoubleBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetClipPlane, "glGetClipPlane", (void *)&glGetClipPlane}, - {"glGetError", "()I", (void *)&Java_org_lwjgl_opengl_GL11_glGetError, "glGetError", (void *)&glGetError}, - {"nglGetLightiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetLightiv, "glGetLightiv", (void *)&glGetLightiv}, - {"nglGetLightfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetLightfv, "glGetLightfv", (void *)&glGetLightfv}, - {"nglGetMapiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetMapiv, "glGetMapiv", (void *)&glGetMapiv}, - {"nglGetMapfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetMapfv, "glGetMapfv", (void *)&glGetMapfv}, - {"nglGetMaterialiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetMaterialiv, "glGetMaterialiv", (void *)&glGetMaterialiv}, - {"nglGetMaterialfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetMaterialfv, "glGetMaterialfv", (void *)&glGetMaterialfv}, - {"nglGetPixelMapusv", "(ILjava/nio/ShortBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPixelMapusv, "glGetPixelMapusv", (void *)&glGetPixelMapusv}, - {"nglGetPixelMapusvBO", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPixelMapusvBO, "glGetPixelMapusv", (void *)&glGetPixelMapusv}, - {"nglGetPixelMapuiv", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPixelMapuiv, "glGetPixelMapuiv", (void *)&glGetPixelMapuiv}, - {"nglGetPixelMapuivBO", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPixelMapuivBO, "glGetPixelMapuiv", (void *)&glGetPixelMapuiv}, - {"nglGetPixelMapfv", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPixelMapfv, "glGetPixelMapfv", (void *)&glGetPixelMapfv}, - {"nglGetPixelMapfvBO", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_nglGetPixelMapfvBO, "glGetPixelMapfv", (void *)&glGetPixelMapfv}, - {"nglFeedbackBuffer", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglFeedbackBuffer, "glFeedbackBuffer", (void *)&glFeedbackBuffer}, - {"glDepthFunc", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glDepthFunc, "glDepthFunc", (void *)&glDepthFunc}, - {"glDepthMask", "(Z)V", (void *)&Java_org_lwjgl_opengl_GL11_glDepthMask, "glDepthMask", (void *)&glDepthMask}, - {"glDepthRange", "(DD)V", (void *)&Java_org_lwjgl_opengl_GL11_glDepthRange, "glDepthRange", (void *)&glDepthRange}, - {"glDrawArrays", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glDrawArrays, "glDrawArrays", (void *)&glDrawArrays}, - {"glDrawBuffer", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glDrawBuffer, "glDrawBuffer", (void *)&glDrawBuffer}, - {"nglDrawElements", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglDrawElements, "glDrawElements", (void *)&glDrawElements}, - {"nglDrawElementsBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglDrawElementsBO, "glDrawElements", (void *)&glDrawElements}, - {"nglDrawPixels", "(IIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglDrawPixels, "glDrawPixels", (void *)&glDrawPixels}, - {"nglDrawPixelsBO", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglDrawPixelsBO, "glDrawPixels", (void *)&glDrawPixels}, - {"glEdgeFlag", "(Z)V", (void *)&Java_org_lwjgl_opengl_GL11_glEdgeFlag, "glEdgeFlag", (void *)&glEdgeFlag}, - {"nglEdgeFlagPointer", "(ILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglEdgeFlagPointer, "glEdgeFlagPointer", (void *)&glEdgeFlagPointer}, - {"nglEdgeFlagPointerBO", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_nglEdgeFlagPointerBO, "glEdgeFlagPointer", (void *)&glEdgeFlagPointer}, - {"glDisable", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glDisable, "glDisable", (void *)&glDisable}, - {"glEnable", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glEnable, "glEnable", (void *)&glEnable}, - {"glDisableClientState", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glDisableClientState, "glDisableClientState", (void *)&glDisableClientState}, - {"glEnableClientState", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glEnableClientState, "glEnableClientState", (void *)&glEnableClientState}, - {"glEvalCoord2f", "(FF)V", (void *)&Java_org_lwjgl_opengl_GL11_glEvalCoord2f, "glEvalCoord2f", (void *)&glEvalCoord2f}, - {"glEvalCoord1f", "(F)V", (void *)&Java_org_lwjgl_opengl_GL11_glEvalCoord1f, "glEvalCoord1f", (void *)&glEvalCoord1f}, - {"glEvalMesh2", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glEvalMesh2, "glEvalMesh2", (void *)&glEvalMesh2}, - {"glEvalMesh1", "(III)V", (void *)&Java_org_lwjgl_opengl_GL11_glEvalMesh1, "glEvalMesh1", (void *)&glEvalMesh1}, - {"glEvalPoint2", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glEvalPoint2, "glEvalPoint2", (void *)&glEvalPoint2}, - {"glEvalPoint1", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glEvalPoint1, "glEvalPoint1", (void *)&glEvalPoint1}, - {"glClearIndex", "(F)V", (void *)&Java_org_lwjgl_opengl_GL11_glClearIndex, "glClearIndex", (void *)&glClearIndex}, - {"glClearStencil", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glClearStencil, "glClearStencil", (void *)&glClearStencil}, - {"nglClipPlane", "(ILjava/nio/DoubleBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglClipPlane, "glClipPlane", (void *)&glClipPlane}, - {"glColor4ub", "(BBBB)V", (void *)&Java_org_lwjgl_opengl_GL11_glColor4ub, "glColor4ub", (void *)&glColor4ub}, - {"glColor4f", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glColor4f, "glColor4f", (void *)&glColor4f}, - {"glColor4b", "(BBBB)V", (void *)&Java_org_lwjgl_opengl_GL11_glColor4b, "glColor4b", (void *)&glColor4b}, - {"glColor3ub", "(BBB)V", (void *)&Java_org_lwjgl_opengl_GL11_glColor3ub, "glColor3ub", (void *)&glColor3ub}, - {"glColor3f", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glColor3f, "glColor3f", (void *)&glColor3f}, - {"glColor3b", "(BBB)V", (void *)&Java_org_lwjgl_opengl_GL11_glColor3b, "glColor3b", (void *)&glColor3b}, - {"glColorMask", "(ZZZZ)V", (void *)&Java_org_lwjgl_opengl_GL11_glColorMask, "glColorMask", (void *)&glColorMask}, - {"glColorMaterial", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glColorMaterial, "glColorMaterial", (void *)&glColorMaterial}, - {"nglColorPointer", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglColorPointer, "glColorPointer", (void *)&glColorPointer}, - {"nglColorPointerBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL11_nglColorPointerBO, "glColorPointer", (void *)&glColorPointer}, - {"glCopyPixels", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glCopyPixels, "glCopyPixels", (void *)&glCopyPixels}, - {"glCopyTexImage1D", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glCopyTexImage1D, "glCopyTexImage1D", (void *)&glCopyTexImage1D}, - {"glCopyTexImage2D", "(IIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glCopyTexImage2D, "glCopyTexImage2D", (void *)&glCopyTexImage2D}, - {"glCopyTexSubImage1D", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glCopyTexSubImage1D, "glCopyTexSubImage1D", (void *)&glCopyTexSubImage1D}, - {"glCopyTexSubImage2D", "(IIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL11_glCopyTexSubImage2D, "glCopyTexSubImage2D", (void *)&glCopyTexSubImage2D}, - {"glCullFace", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glCullFace, "glCullFace", (void *)&glCullFace}, - {"nglDeleteTextures", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglDeleteTextures, "glDeleteTextures", (void *)&glDeleteTextures}, - {"glDeleteLists", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glDeleteLists, "glDeleteLists", (void *)&glDeleteLists}, - {"glClearDepth", "(D)V", (void *)&Java_org_lwjgl_opengl_GL11_glClearDepth, "glClearDepth", (void *)&glClearDepth}, - {"glArrayElement", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glArrayElement, "glArrayElement", (void *)&glArrayElement}, - {"glEnd", "()V", (void *)&Java_org_lwjgl_opengl_GL11_glEnd, "glEnd", (void *)&glEnd}, - {"glBegin", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glBegin, "glBegin", (void *)&glBegin}, - {"glBindTexture", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glBindTexture, "glBindTexture", (void *)&glBindTexture}, - {"nglBitmap", "(IIFFFFLjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglBitmap, "glBitmap", (void *)&glBitmap}, - {"nglBitmapBO", "(IIFFFFI)V", (void *)&Java_org_lwjgl_opengl_GL11_nglBitmapBO, "glBitmap", (void *)&glBitmap}, - {"glBlendFunc", "(II)V", (void *)&Java_org_lwjgl_opengl_GL11_glBlendFunc, "glBlendFunc", (void *)&glBlendFunc}, - {"glCallList", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glCallList, "glCallList", (void *)&glCallList}, - {"nglCallLists", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL11_nglCallLists, "glCallLists", (void *)&glCallLists}, - {"glClear", "(I)V", (void *)&Java_org_lwjgl_opengl_GL11_glClear, "glClear", (void *)&glClear}, - {"glClearAccum", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glClearAccum, "glClearAccum", (void *)&glClearAccum}, - {"glClearColor", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL11_glClearColor, "glClearColor", (void *)&glClearColor}, - {"glAlphaFunc", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL11_glAlphaFunc, "glAlphaFunc", (void *)&glAlphaFunc}, - {"glAccum", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL11_glAccum, "glAccum", (void *)&glAccum} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/org_lwjgl_opengl_GL12.c b/src/native/common/org_lwjgl_opengl_GL12.c index b275d6dd..20b0884d 100644 --- a/src/native/common/org_lwjgl_opengl_GL12.c +++ b/src/native/common/org_lwjgl_opengl_GL12.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glCopyTexSubImage3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); @@ -8,55 +9,44 @@ typedef void (APIENTRY *glTexSubImage3DPROC) (GLenum target, GLint level, GLint typedef void (APIENTRY *glTexImage3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); typedef void (APIENTRY *glDrawRangeElementsPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices); -static glCopyTexSubImage3DPROC glCopyTexSubImage3D; -static glTexSubImage3DPROC glTexSubImage3D; -static glTexImage3DPROC glTexImage3D; -static glDrawRangeElementsPROC glDrawRangeElements; - -static void JNICALL Java_org_lwjgl_opengl_GL12_glCopyTexSubImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint x, jint y, jint width, jint height) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_nglCopyTexSubImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint x, jint y, jint width, jint height, jlong function_pointer) { + glCopyTexSubImage3DPROC glCopyTexSubImage3D = (glCopyTexSubImage3DPROC)((intptr_t)function_pointer); glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } -static void JNICALL Java_org_lwjgl_opengl_GL12_nglTexSubImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_nglTexSubImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, pixels)) + pixels_position)); + glTexSubImage3DPROC glTexSubImage3D = (glTexSubImage3DPROC)((intptr_t)function_pointer); glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL12_nglTexSubImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_nglTexSubImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)offsetToPointer(pixels_buffer_offset)); + glTexSubImage3DPROC glTexSubImage3D = (glTexSubImage3DPROC)((intptr_t)function_pointer); glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL12_nglTexImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint width, jint height, jint depth, jint border, jint format, jint type, jobject pixels, jint pixels_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_nglTexImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint width, jint height, jint depth, jint border, jint format, jint type, jobject pixels, jint pixels_position, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)(((char *)safeGetBufferAddress(env, pixels)) + pixels_position)); + glTexImage3DPROC glTexImage3D = (glTexImage3DPROC)((intptr_t)function_pointer); glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL12_nglTexImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint width, jint height, jint depth, jint border, jint format, jint type, jint pixels_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_nglTexImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalFormat, jint width, jint height, jint depth, jint border, jint format, jint type, jint pixels_buffer_offset, jlong function_pointer) { const GLvoid *pixels_address = ((const GLvoid *)offsetToPointer(pixels_buffer_offset)); + glTexImage3DPROC glTexImage3D = (glTexImage3DPROC)((intptr_t)function_pointer); glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels_address); } -static void JNICALL Java_org_lwjgl_opengl_GL12_nglDrawRangeElements(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jobject indices, jint indices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_nglDrawRangeElements(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jobject indices, jint indices_position, jlong function_pointer) { const GLvoid *indices_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, indices)) + indices_position)); + glDrawRangeElementsPROC glDrawRangeElements = (glDrawRangeElementsPROC)((intptr_t)function_pointer); glDrawRangeElements(mode, start, end, count, type, indices_address); } -static void JNICALL Java_org_lwjgl_opengl_GL12_nglDrawRangeElementsBO(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jint indices_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_nglDrawRangeElementsBO(JNIEnv *env, jclass clazz, jint mode, jint start, jint end, jint count, jint type, jint indices_buffer_offset, jlong function_pointer) { const GLvoid *indices_address = ((const GLvoid *)offsetToPointer(indices_buffer_offset)); + glDrawRangeElementsPROC glDrawRangeElements = (glDrawRangeElementsPROC)((intptr_t)function_pointer); glDrawRangeElements(mode, start, end, count, type, indices_address); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL12_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glCopyTexSubImage3D", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL12_glCopyTexSubImage3D, "glCopyTexSubImage3D", (void *)&glCopyTexSubImage3D}, - {"nglTexSubImage3D", "(IIIIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL12_nglTexSubImage3D, "glTexSubImage3D", (void *)&glTexSubImage3D}, - {"nglTexSubImage3DBO", "(IIIIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL12_nglTexSubImage3DBO, "glTexSubImage3D", (void *)&glTexSubImage3D}, - {"nglTexImage3D", "(IIIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL12_nglTexImage3D, "glTexImage3D", (void *)&glTexImage3D}, - {"nglTexImage3DBO", "(IIIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL12_nglTexImage3DBO, "glTexImage3D", (void *)&glTexImage3D}, - {"nglDrawRangeElements", "(IIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL12_nglDrawRangeElements, "glDrawRangeElements", (void *)&glDrawRangeElements}, - {"nglDrawRangeElementsBO", "(IIIIII)V", (void *)&Java_org_lwjgl_opengl_GL12_nglDrawRangeElementsBO, "glDrawRangeElements", (void *)&glDrawRangeElements} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/org_lwjgl_opengl_GL13.c b/src/native/common/org_lwjgl_opengl_GL13.c index 27b4fa96..51bfe05d 100644 --- a/src/native/common/org_lwjgl_opengl_GL13.c +++ b/src/native/common/org_lwjgl_opengl_GL13.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glSampleCoveragePROC) (GLclampf value, GLboolean invert); @@ -20,157 +21,134 @@ typedef void (APIENTRY *glCompressedTexImage1DPROC) (GLenum target, GLint level, typedef void (APIENTRY *glClientActiveTexturePROC) (GLenum texture); typedef void (APIENTRY *glActiveTexturePROC) (GLenum texture); -static glSampleCoveragePROC glSampleCoverage; -static glMultTransposeMatrixfPROC glMultTransposeMatrixf; -static glLoadTransposeMatrixfPROC glLoadTransposeMatrixf; -static glMultiTexCoord4fPROC glMultiTexCoord4f; -static glMultiTexCoord3fPROC glMultiTexCoord3f; -static glMultiTexCoord2fPROC glMultiTexCoord2f; -static glMultiTexCoord1fPROC glMultiTexCoord1f; -static glGetCompressedTexImagePROC glGetCompressedTexImage; -static glCompressedTexSubImage3DPROC glCompressedTexSubImage3D; -static glCompressedTexSubImage2DPROC glCompressedTexSubImage2D; -static glCompressedTexSubImage1DPROC glCompressedTexSubImage1D; -static glCompressedTexImage3DPROC glCompressedTexImage3D; -static glCompressedTexImage2DPROC glCompressedTexImage2D; -static glCompressedTexImage1DPROC glCompressedTexImage1D; -static glClientActiveTexturePROC glClientActiveTexture; -static glActiveTexturePROC glActiveTexture; - -static void JNICALL Java_org_lwjgl_opengl_GL13_glSampleCoverage(JNIEnv *env, jclass clazz, jfloat value, jboolean invert) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglSampleCoverage(JNIEnv *env, jclass clazz, jfloat value, jboolean invert, jlong function_pointer) { + glSampleCoveragePROC glSampleCoverage = (glSampleCoveragePROC)((intptr_t)function_pointer); glSampleCoverage(value, invert); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglMultTransposeMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglMultTransposeMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position, jlong function_pointer) { const GLfloat *m_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, m)) + m_position; + glMultTransposeMatrixfPROC glMultTransposeMatrixf = (glMultTransposeMatrixfPROC)((intptr_t)function_pointer); glMultTransposeMatrixf(m_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglLoadTransposeMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglLoadTransposeMatrixf(JNIEnv *env, jclass clazz, jobject m, jint m_position, jlong function_pointer) { const GLfloat *m_address = ((const GLfloat *)(*env)->GetDirectBufferAddress(env, m)) + m_position; + glLoadTransposeMatrixfPROC glLoadTransposeMatrixf = (glLoadTransposeMatrixfPROC)((intptr_t)function_pointer); glLoadTransposeMatrixf(m_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_glMultiTexCoord4f(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglMultiTexCoord4f(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r, jfloat q, jlong function_pointer) { + glMultiTexCoord4fPROC glMultiTexCoord4f = (glMultiTexCoord4fPROC)((intptr_t)function_pointer); glMultiTexCoord4f(target, s, t, r, q); } -static void JNICALL Java_org_lwjgl_opengl_GL13_glMultiTexCoord3f(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglMultiTexCoord3f(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jfloat r, jlong function_pointer) { + glMultiTexCoord3fPROC glMultiTexCoord3f = (glMultiTexCoord3fPROC)((intptr_t)function_pointer); glMultiTexCoord3f(target, s, t, r); } -static void JNICALL Java_org_lwjgl_opengl_GL13_glMultiTexCoord2f(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglMultiTexCoord2f(JNIEnv *env, jclass clazz, jint target, jfloat s, jfloat t, jlong function_pointer) { + glMultiTexCoord2fPROC glMultiTexCoord2f = (glMultiTexCoord2fPROC)((intptr_t)function_pointer); glMultiTexCoord2f(target, s, t); } -static void JNICALL Java_org_lwjgl_opengl_GL13_glMultiTexCoord1f(JNIEnv *env, jclass clazz, jint target, jfloat s) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglMultiTexCoord1f(JNIEnv *env, jclass clazz, jint target, jfloat s, jlong function_pointer) { + glMultiTexCoord1fPROC glMultiTexCoord1f = (glMultiTexCoord1fPROC)((intptr_t)function_pointer); glMultiTexCoord1f(target, s); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglGetCompressedTexImage(JNIEnv *env, jclass clazz, jint target, jint lod, jobject img, jint img_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglGetCompressedTexImage(JNIEnv *env, jclass clazz, jint target, jint lod, jobject img, jint img_position, jlong function_pointer) { GLvoid *img_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, img)) + img_position)); + glGetCompressedTexImagePROC glGetCompressedTexImage = (glGetCompressedTexImagePROC)((intptr_t)function_pointer); glGetCompressedTexImage(target, lod, img_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglGetCompressedTexImageBO(JNIEnv *env, jclass clazz, jint target, jint lod, jint img_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglGetCompressedTexImageBO(JNIEnv *env, jclass clazz, jint target, jint lod, jint img_buffer_offset, jlong function_pointer) { GLvoid *img_address = ((GLvoid *)offsetToPointer(img_buffer_offset)); + glGetCompressedTexImagePROC glGetCompressedTexImage = (glGetCompressedTexImagePROC)((intptr_t)function_pointer); glGetCompressedTexImage(target, lod, img_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glCompressedTexSubImage3DPROC glCompressedTexSubImage3D = (glCompressedTexSubImage3DPROC)((intptr_t)function_pointer); glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint imageSize, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glCompressedTexSubImage3DPROC glCompressedTexSubImage3D = (glCompressedTexSubImage3DPROC)((intptr_t)function_pointer); glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glCompressedTexSubImage2DPROC glCompressedTexSubImage2D = (glCompressedTexSubImage2DPROC)((intptr_t)function_pointer); glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glCompressedTexSubImage2DPROC glCompressedTexSubImage2D = (glCompressedTexSubImage2DPROC)((intptr_t)function_pointer); glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glCompressedTexSubImage1DPROC glCompressedTexSubImage1D = (glCompressedTexSubImage1DPROC)((intptr_t)function_pointer); glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint xoffset, jint width, jint format, jint imageSize, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glCompressedTexSubImage1DPROC glCompressedTexSubImage1D = (glCompressedTexSubImage1DPROC)((intptr_t)function_pointer); glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage3D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glCompressedTexImage3DPROC glCompressedTexImage3D = (glCompressedTexImage3DPROC)((intptr_t)function_pointer); glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage3DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint imageSize, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glCompressedTexImage3DPROC glCompressedTexImage3D = (glCompressedTexImage3DPROC)((intptr_t)function_pointer); glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage2D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glCompressedTexImage2DPROC glCompressedTexImage2D = (glCompressedTexImage2DPROC)((intptr_t)function_pointer); glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage2DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glCompressedTexImage2DPROC glCompressedTexImage2D = (glCompressedTexImage2DPROC)((intptr_t)function_pointer); glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage1D(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glCompressedTexImage1DPROC glCompressedTexImage1D = (glCompressedTexImage1DPROC)((intptr_t)function_pointer); glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglCompressedTexImage1DBO(JNIEnv *env, jclass clazz, jint target, jint level, jint internalformat, jint width, jint border, jint imageSize, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glCompressedTexImage1DPROC glCompressedTexImage1D = (glCompressedTexImage1DPROC)((intptr_t)function_pointer); glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL13_glClientActiveTexture(JNIEnv *env, jclass clazz, jint texture) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglClientActiveTexture(JNIEnv *env, jclass clazz, jint texture, jlong function_pointer) { + glClientActiveTexturePROC glClientActiveTexture = (glClientActiveTexturePROC)((intptr_t)function_pointer); glClientActiveTexture(texture); } -static void JNICALL Java_org_lwjgl_opengl_GL13_glActiveTexture(JNIEnv *env, jclass clazz, jint texture) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglActiveTexture(JNIEnv *env, jclass clazz, jint texture, jlong function_pointer) { + glActiveTexturePROC glActiveTexture = (glActiveTexturePROC)((intptr_t)function_pointer); glActiveTexture(texture); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glSampleCoverage", "(FZ)V", (void *)&Java_org_lwjgl_opengl_GL13_glSampleCoverage, "glSampleCoverage", (void *)&glSampleCoverage}, - {"nglMultTransposeMatrixf", "(Ljava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglMultTransposeMatrixf, "glMultTransposeMatrixf", (void *)&glMultTransposeMatrixf}, - {"nglLoadTransposeMatrixf", "(Ljava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglLoadTransposeMatrixf, "glLoadTransposeMatrixf", (void *)&glLoadTransposeMatrixf}, - {"glMultiTexCoord4f", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_GL13_glMultiTexCoord4f, "glMultiTexCoord4f", (void *)&glMultiTexCoord4f}, - {"glMultiTexCoord3f", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_GL13_glMultiTexCoord3f, "glMultiTexCoord3f", (void *)&glMultiTexCoord3f}, - {"glMultiTexCoord2f", "(IFF)V", (void *)&Java_org_lwjgl_opengl_GL13_glMultiTexCoord2f, "glMultiTexCoord2f", (void *)&glMultiTexCoord2f}, - {"glMultiTexCoord1f", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL13_glMultiTexCoord1f, "glMultiTexCoord1f", (void *)&glMultiTexCoord1f}, - {"nglGetCompressedTexImage", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglGetCompressedTexImage, "glGetCompressedTexImage", (void *)&glGetCompressedTexImage}, - {"nglGetCompressedTexImageBO", "(III)V", (void *)&Java_org_lwjgl_opengl_GL13_nglGetCompressedTexImageBO, "glGetCompressedTexImage", (void *)&glGetCompressedTexImage}, - {"nglCompressedTexSubImage3D", "(IIIIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage3D, "glCompressedTexSubImage3D", (void *)&glCompressedTexSubImage3D}, - {"nglCompressedTexSubImage3DBO", "(IIIIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage3DBO, "glCompressedTexSubImage3D", (void *)&glCompressedTexSubImage3D}, - {"nglCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage2D, "glCompressedTexSubImage2D", (void *)&glCompressedTexSubImage2D}, - {"nglCompressedTexSubImage2DBO", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage2DBO, "glCompressedTexSubImage2D", (void *)&glCompressedTexSubImage2D}, - {"nglCompressedTexSubImage1D", "(IIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage1D, "glCompressedTexSubImage1D", (void *)&glCompressedTexSubImage1D}, - {"nglCompressedTexSubImage1DBO", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexSubImage1DBO, "glCompressedTexSubImage1D", (void *)&glCompressedTexSubImage1D}, - {"nglCompressedTexImage3D", "(IIIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexImage3D, "glCompressedTexImage3D", (void *)&glCompressedTexImage3D}, - {"nglCompressedTexImage3DBO", "(IIIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexImage3DBO, "glCompressedTexImage3D", (void *)&glCompressedTexImage3D}, - {"nglCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexImage2D, "glCompressedTexImage2D", (void *)&glCompressedTexImage2D}, - {"nglCompressedTexImage2DBO", "(IIIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexImage2DBO, "glCompressedTexImage2D", (void *)&glCompressedTexImage2D}, - {"nglCompressedTexImage1D", "(IIIIIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexImage1D, "glCompressedTexImage1D", (void *)&glCompressedTexImage1D}, - {"nglCompressedTexImage1DBO", "(IIIIIII)V", (void *)&Java_org_lwjgl_opengl_GL13_nglCompressedTexImage1DBO, "glCompressedTexImage1D", (void *)&glCompressedTexImage1D}, - {"glClientActiveTexture", "(I)V", (void *)&Java_org_lwjgl_opengl_GL13_glClientActiveTexture, "glClientActiveTexture", (void *)&glClientActiveTexture}, - {"glActiveTexture", "(I)V", (void *)&Java_org_lwjgl_opengl_GL13_glActiveTexture, "glActiveTexture", (void *)&glActiveTexture} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/org_lwjgl_opengl_GL14.c b/src/native/common/org_lwjgl_opengl_GL14.c index 924ff042..fd3d3355 100644 --- a/src/native/common/org_lwjgl_opengl_GL14.c +++ b/src/native/common/org_lwjgl_opengl_GL14.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glWindowPos3iPROC) (GLint x, GLint y, GLint z); @@ -22,136 +23,111 @@ typedef void (APIENTRY *glFogCoordfPROC) (GLfloat coord); typedef void (APIENTRY *glBlendColorPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); typedef void (APIENTRY *glBlendEquationPROC) (GLenum mode); -static glWindowPos3iPROC glWindowPos3i; -static glWindowPos3fPROC glWindowPos3f; -static glWindowPos2iPROC glWindowPos2i; -static glWindowPos2fPROC glWindowPos2f; -static glBlendFuncSeparatePROC glBlendFuncSeparate; -static glSecondaryColorPointerPROC glSecondaryColorPointer; -static glSecondaryColor3ubPROC glSecondaryColor3ub; -static glSecondaryColor3fPROC glSecondaryColor3f; -static glSecondaryColor3bPROC glSecondaryColor3b; -static glPointParameterfvPROC glPointParameterfv; -static glPointParameterivPROC glPointParameteriv; -static glPointParameterfPROC glPointParameterf; -static glPointParameteriPROC glPointParameteri; -static glMultiDrawArraysPROC glMultiDrawArrays; -static glFogCoordPointerPROC glFogCoordPointer; -static glFogCoordfPROC glFogCoordf; -static glBlendColorPROC glBlendColor; -static glBlendEquationPROC glBlendEquation; - -static void JNICALL Java_org_lwjgl_opengl_GL14_glWindowPos3i(JNIEnv *env, jclass clazz, jint x, jint y, jint z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglWindowPos3i(JNIEnv *env, jclass clazz, jint x, jint y, jint z, jlong function_pointer) { + glWindowPos3iPROC glWindowPos3i = (glWindowPos3iPROC)((intptr_t)function_pointer); glWindowPos3i(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glWindowPos3f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglWindowPos3f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glWindowPos3fPROC glWindowPos3f = (glWindowPos3fPROC)((intptr_t)function_pointer); glWindowPos3f(x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glWindowPos2i(JNIEnv *env, jclass clazz, jint x, jint y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglWindowPos2i(JNIEnv *env, jclass clazz, jint x, jint y, jlong function_pointer) { + glWindowPos2iPROC glWindowPos2i = (glWindowPos2iPROC)((intptr_t)function_pointer); glWindowPos2i(x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glWindowPos2f(JNIEnv *env, jclass clazz, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglWindowPos2f(JNIEnv *env, jclass clazz, jfloat x, jfloat y, jlong function_pointer) { + glWindowPos2fPROC glWindowPos2f = (glWindowPos2fPROC)((intptr_t)function_pointer); glWindowPos2f(x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glBlendFuncSeparate(JNIEnv *env, jclass clazz, jint sfactorRGB, jint dfactorRGB, jint sfactorAlpha, jint dfactorAlpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglBlendFuncSeparate(JNIEnv *env, jclass clazz, jint sfactorRGB, jint dfactorRGB, jint sfactorAlpha, jint dfactorAlpha, jlong function_pointer) { + glBlendFuncSeparatePROC glBlendFuncSeparate = (glBlendFuncSeparatePROC)((intptr_t)function_pointer); glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } -static void JNICALL Java_org_lwjgl_opengl_GL14_nglSecondaryColorPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglSecondaryColorPointer(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glSecondaryColorPointerPROC glSecondaryColorPointer = (glSecondaryColorPointerPROC)((intptr_t)function_pointer); glSecondaryColorPointer(size, type, stride, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL14_nglSecondaryColorPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglSecondaryColorPointerBO(JNIEnv *env, jclass clazz, jint size, jint type, jint stride, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glSecondaryColorPointerPROC glSecondaryColorPointer = (glSecondaryColorPointerPROC)((intptr_t)function_pointer); glSecondaryColorPointer(size, type, stride, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glSecondaryColor3ub(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglSecondaryColor3ub(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jlong function_pointer) { + glSecondaryColor3ubPROC glSecondaryColor3ub = (glSecondaryColor3ubPROC)((intptr_t)function_pointer); glSecondaryColor3ub(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glSecondaryColor3f(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglSecondaryColor3f(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jlong function_pointer) { + glSecondaryColor3fPROC glSecondaryColor3f = (glSecondaryColor3fPROC)((intptr_t)function_pointer); glSecondaryColor3f(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glSecondaryColor3b(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglSecondaryColor3b(JNIEnv *env, jclass clazz, jbyte red, jbyte green, jbyte blue, jlong function_pointer) { + glSecondaryColor3bPROC glSecondaryColor3b = (glSecondaryColor3bPROC)((intptr_t)function_pointer); glSecondaryColor3b(red, green, blue); } -static void JNICALL Java_org_lwjgl_opengl_GL14_nglPointParameterfv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglPointParameterfv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glPointParameterfvPROC glPointParameterfv = (glPointParameterfvPROC)((intptr_t)function_pointer); glPointParameterfv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL14_nglPointParameteriv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglPointParameteriv(JNIEnv *env, jclass clazz, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glPointParameterivPROC glPointParameteriv = (glPointParameterivPROC)((intptr_t)function_pointer); glPointParameteriv(pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glPointParameterf(JNIEnv *env, jclass clazz, jint pname, jfloat param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglPointParameterf(JNIEnv *env, jclass clazz, jint pname, jfloat param, jlong function_pointer) { + glPointParameterfPROC glPointParameterf = (glPointParameterfPROC)((intptr_t)function_pointer); glPointParameterf(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glPointParameteri(JNIEnv *env, jclass clazz, jint pname, jint param) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglPointParameteri(JNIEnv *env, jclass clazz, jint pname, jint param, jlong function_pointer) { + glPointParameteriPROC glPointParameteri = (glPointParameteriPROC)((intptr_t)function_pointer); glPointParameteri(pname, param); } -static void JNICALL Java_org_lwjgl_opengl_GL14_nglMultiDrawArrays(JNIEnv *env, jclass clazz, jint mode, jobject piFirst, jint piFirst_position, jobject piCount, jint piCount_position, jint primcount) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglMultiDrawArrays(JNIEnv *env, jclass clazz, jint mode, jobject piFirst, jint piFirst_position, jobject piCount, jint piCount_position, jint primcount, jlong function_pointer) { GLint *piFirst_address = ((GLint *)(*env)->GetDirectBufferAddress(env, piFirst)) + piFirst_position; GLsizei *piCount_address = ((GLsizei *)(*env)->GetDirectBufferAddress(env, piCount)) + piCount_position; + glMultiDrawArraysPROC glMultiDrawArrays = (glMultiDrawArraysPROC)((intptr_t)function_pointer); glMultiDrawArrays(mode, piFirst_address, piCount_address, primcount); } -static void JNICALL Java_org_lwjgl_opengl_GL14_nglFogCoordPointer(JNIEnv *env, jclass clazz, jint type, jint stride, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglFogCoordPointer(JNIEnv *env, jclass clazz, jint type, jint stride, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glFogCoordPointerPROC glFogCoordPointer = (glFogCoordPointerPROC)((intptr_t)function_pointer); glFogCoordPointer(type, stride, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL14_nglFogCoordPointerBO(JNIEnv *env, jclass clazz, jint type, jint stride, jint data_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglFogCoordPointerBO(JNIEnv *env, jclass clazz, jint type, jint stride, jint data_buffer_offset, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)offsetToPointer(data_buffer_offset)); + glFogCoordPointerPROC glFogCoordPointer = (glFogCoordPointerPROC)((intptr_t)function_pointer); glFogCoordPointer(type, stride, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glFogCoordf(JNIEnv *env, jclass clazz, jfloat coord) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglFogCoordf(JNIEnv *env, jclass clazz, jfloat coord, jlong function_pointer) { + glFogCoordfPROC glFogCoordf = (glFogCoordfPROC)((intptr_t)function_pointer); glFogCoordf(coord); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glBlendColor(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglBlendColor(JNIEnv *env, jclass clazz, jfloat red, jfloat green, jfloat blue, jfloat alpha, jlong function_pointer) { + glBlendColorPROC glBlendColor = (glBlendColorPROC)((intptr_t)function_pointer); glBlendColor(red, green, blue, alpha); } -static void JNICALL Java_org_lwjgl_opengl_GL14_glBlendEquation(JNIEnv *env, jclass clazz, jint mode) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_nglBlendEquation(JNIEnv *env, jclass clazz, jint mode, jlong function_pointer) { + glBlendEquationPROC glBlendEquation = (glBlendEquationPROC)((intptr_t)function_pointer); glBlendEquation(mode); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL14_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glWindowPos3i", "(III)V", (void *)&Java_org_lwjgl_opengl_GL14_glWindowPos3i, "glWindowPos3i", (void *)&glWindowPos3i}, - {"glWindowPos3f", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL14_glWindowPos3f, "glWindowPos3f", (void *)&glWindowPos3f}, - {"glWindowPos2i", "(II)V", (void *)&Java_org_lwjgl_opengl_GL14_glWindowPos2i, "glWindowPos2i", (void *)&glWindowPos2i}, - {"glWindowPos2f", "(FF)V", (void *)&Java_org_lwjgl_opengl_GL14_glWindowPos2f, "glWindowPos2f", (void *)&glWindowPos2f}, - {"glBlendFuncSeparate", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL14_glBlendFuncSeparate, "glBlendFuncSeparate", (void *)&glBlendFuncSeparate}, - {"nglSecondaryColorPointer", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL14_nglSecondaryColorPointer, "glSecondaryColorPointer", (void *)&glSecondaryColorPointer}, - {"nglSecondaryColorPointerBO", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL14_nglSecondaryColorPointerBO, "glSecondaryColorPointer", (void *)&glSecondaryColorPointer}, - {"glSecondaryColor3ub", "(BBB)V", (void *)&Java_org_lwjgl_opengl_GL14_glSecondaryColor3ub, "glSecondaryColor3ub", (void *)&glSecondaryColor3ub}, - {"glSecondaryColor3f", "(FFF)V", (void *)&Java_org_lwjgl_opengl_GL14_glSecondaryColor3f, "glSecondaryColor3f", (void *)&glSecondaryColor3f}, - {"glSecondaryColor3b", "(BBB)V", (void *)&Java_org_lwjgl_opengl_GL14_glSecondaryColor3b, "glSecondaryColor3b", (void *)&glSecondaryColor3b}, - {"nglPointParameterfv", "(ILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL14_nglPointParameterfv, "glPointParameterfv", (void *)&glPointParameterfv}, - {"nglPointParameteriv", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL14_nglPointParameteriv, "glPointParameteriv", (void *)&glPointParameteriv}, - {"glPointParameterf", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL14_glPointParameterf, "glPointParameterf", (void *)&glPointParameterf}, - {"glPointParameteri", "(II)V", (void *)&Java_org_lwjgl_opengl_GL14_glPointParameteri, "glPointParameteri", (void *)&glPointParameteri}, - {"nglMultiDrawArrays", "(ILjava/nio/IntBuffer;ILjava/nio/IntBuffer;II)V", (void *)&Java_org_lwjgl_opengl_GL14_nglMultiDrawArrays, "glMultiDrawArrays", (void *)&glMultiDrawArrays}, - {"nglFogCoordPointer", "(IILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL14_nglFogCoordPointer, "glFogCoordPointer", (void *)&glFogCoordPointer}, - {"nglFogCoordPointerBO", "(III)V", (void *)&Java_org_lwjgl_opengl_GL14_nglFogCoordPointerBO, "glFogCoordPointer", (void *)&glFogCoordPointer}, - {"glFogCoordf", "(F)V", (void *)&Java_org_lwjgl_opengl_GL14_glFogCoordf, "glFogCoordf", (void *)&glFogCoordf}, - {"glBlendColor", "(FFFF)V", (void *)&Java_org_lwjgl_opengl_GL14_glBlendColor, "glBlendColor", (void *)&glBlendColor}, - {"glBlendEquation", "(I)V", (void *)&Java_org_lwjgl_opengl_GL14_glBlendEquation, "glBlendEquation", (void *)&glBlendEquation} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/org_lwjgl_opengl_GL15.c b/src/native/common/org_lwjgl_opengl_GL15.c index 4304ff76..ad080b65 100644 --- a/src/native/common/org_lwjgl_opengl_GL15.c +++ b/src/native/common/org_lwjgl_opengl_GL15.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glGetQueryObjectuivPROC) (GLenum id, GLenum pname, GLuint * params); @@ -23,141 +24,115 @@ typedef void (APIENTRY *glGenBuffersPROC) (GLsizei n, GLuint * buffers); typedef void (APIENTRY *glDeleteBuffersPROC) (GLsizei n, const GLuint * buffers); typedef void (APIENTRY *glBindBufferPROC) (GLenum target, GLuint buffer); -static glGetQueryObjectuivPROC glGetQueryObjectuiv; -static glGetQueryObjectivPROC glGetQueryObjectiv; -static glGetQueryivPROC glGetQueryiv; -static glEndQueryPROC glEndQuery; -static glBeginQueryPROC glBeginQuery; -static glIsQueryPROC glIsQuery; -static glDeleteQueriesPROC glDeleteQueries; -static glGenQueriesPROC glGenQueries; -static glGetBufferPointervPROC glGetBufferPointerv; -static glGetBufferParameterivPROC glGetBufferParameteriv; -static glUnmapBufferPROC glUnmapBuffer; -static glMapBufferPROC glMapBuffer; -static glGetBufferSubDataPROC glGetBufferSubData; -static glBufferSubDataPROC glBufferSubData; -static glBufferDataPROC glBufferData; -static glIsBufferPROC glIsBuffer; -static glGenBuffersPROC glGenBuffers; -static glDeleteBuffersPROC glDeleteBuffers; -static glBindBufferPROC glBindBuffer; - -static void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectuiv(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectuiv(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLuint *params_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetQueryObjectuivPROC glGetQueryObjectuiv = (glGetQueryObjectuivPROC)((intptr_t)function_pointer); glGetQueryObjectuiv(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectiv(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryObjectiv(JNIEnv *env, jclass clazz, jint id, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetQueryObjectivPROC glGetQueryObjectiv = (glGetQueryObjectivPROC)((intptr_t)function_pointer); glGetQueryObjectiv(id, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryiv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetQueryiv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetQueryivPROC glGetQueryiv = (glGetQueryivPROC)((intptr_t)function_pointer); glGetQueryiv(target, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_glEndQuery(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglEndQuery(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glEndQueryPROC glEndQuery = (glEndQueryPROC)((intptr_t)function_pointer); glEndQuery(target); } -static void JNICALL Java_org_lwjgl_opengl_GL15_glBeginQuery(JNIEnv *env, jclass clazz, jint target, jint id) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBeginQuery(JNIEnv *env, jclass clazz, jint target, jint id, jlong function_pointer) { + glBeginQueryPROC glBeginQuery = (glBeginQueryPROC)((intptr_t)function_pointer); glBeginQuery(target, id); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL15_glIsQuery(JNIEnv *env, jclass clazz, jint id) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_nglIsQuery(JNIEnv *env, jclass clazz, jint id, jlong function_pointer) { + glIsQueryPROC glIsQuery = (glIsQueryPROC)((intptr_t)function_pointer); GLboolean __result = glIsQuery(id); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteQueries(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteQueries(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position, jlong function_pointer) { GLuint *ids_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, ids)) + ids_position; + glDeleteQueriesPROC glDeleteQueries = (glDeleteQueriesPROC)((intptr_t)function_pointer); glDeleteQueries(n, ids_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglGenQueries(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGenQueries(JNIEnv *env, jclass clazz, jint n, jobject ids, jint ids_position, jlong function_pointer) { GLuint *ids_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, ids)) + ids_position; + glGenQueriesPROC glGenQueries = (glGenQueriesPROC)((intptr_t)function_pointer); glGenQueries(n, ids_address); } -static jobject JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferPointerv(JNIEnv *env, jclass clazz, jint target, jint pname, jint result_size) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferPointerv(JNIEnv *env, jclass clazz, jint target, jint pname, jint result_size, jlong function_pointer) { + glGetBufferPointervPROC glGetBufferPointerv = (glGetBufferPointervPROC)((intptr_t)function_pointer); GLvoid * __result; glGetBufferPointerv(target, pname, &__result); return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferParameteriv(JNIEnv *env, jclass clazz, jint target, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetBufferParameterivPROC glGetBufferParameteriv = (glGetBufferParameterivPROC)((intptr_t)function_pointer); glGetBufferParameteriv(target, pname, params_address); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL15_glUnmapBuffer(JNIEnv *env, jclass clazz, jint target) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_nglUnmapBuffer(JNIEnv *env, jclass clazz, jint target, jlong function_pointer) { + glUnmapBufferPROC glUnmapBuffer = (glUnmapBufferPROC)((intptr_t)function_pointer); GLboolean __result = glUnmapBuffer(target); return __result; } -static jobject JNICALL Java_org_lwjgl_opengl_GL15_nglMapBuffer(JNIEnv *env, jclass clazz, jint target, jint access, jint result_size, jobject old_buffer) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL15_nglMapBuffer(JNIEnv *env, jclass clazz, jint target, jint access, jint result_size, jobject old_buffer, jlong function_pointer) { + glMapBufferPROC glMapBuffer = (glMapBufferPROC)((intptr_t)function_pointer); GLvoid * __result = glMapBuffer(target, access); return safeNewBufferCached(env, __result, result_size, old_buffer); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferSubData(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGetBufferSubData(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position, jlong function_pointer) { GLvoid *data_address = ((GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glGetBufferSubDataPROC glGetBufferSubData = (glGetBufferSubDataPROC)((intptr_t)function_pointer); glGetBufferSubData(target, offset, size, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferSubData(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferSubData(JNIEnv *env, jclass clazz, jint target, jint offset, jint size, jobject data, jint data_position, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, data)) + data_position)); + glBufferSubDataPROC glBufferSubData = (glBufferSubDataPROC)((intptr_t)function_pointer); glBufferSubData(target, offset, size, data_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferData(JNIEnv *env, jclass clazz, jint target, jint size, jobject data, jint data_position, jint usage) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBufferData(JNIEnv *env, jclass clazz, jint target, jint size, jobject data, jint data_position, jint usage, jlong function_pointer) { const GLvoid *data_address = ((const GLvoid *)(((char *)safeGetBufferAddress(env, data)) + data_position)); + glBufferDataPROC glBufferData = (glBufferDataPROC)((intptr_t)function_pointer); glBufferData(target, size, data_address, usage); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL15_glIsBuffer(JNIEnv *env, jclass clazz, jint buffer) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL15_nglIsBuffer(JNIEnv *env, jclass clazz, jint buffer, jlong function_pointer) { + glIsBufferPROC glIsBuffer = (glIsBufferPROC)((intptr_t)function_pointer); GLboolean __result = glIsBuffer(buffer); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglGenBuffers(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglGenBuffers(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position, jlong function_pointer) { GLuint *buffers_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, buffers)) + buffers_position; + glGenBuffersPROC glGenBuffers = (glGenBuffersPROC)((intptr_t)function_pointer); glGenBuffers(n, buffers_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteBuffers(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglDeleteBuffers(JNIEnv *env, jclass clazz, jint n, jobject buffers, jint buffers_position, jlong function_pointer) { const GLuint *buffers_address = ((const GLuint *)(*env)->GetDirectBufferAddress(env, buffers)) + buffers_position; + glDeleteBuffersPROC glDeleteBuffers = (glDeleteBuffersPROC)((intptr_t)function_pointer); glDeleteBuffers(n, buffers_address); } -static void JNICALL Java_org_lwjgl_opengl_GL15_nglBindBuffer(JNIEnv *env, jclass clazz, jint target, jint buffer) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_nglBindBuffer(JNIEnv *env, jclass clazz, jint target, jint buffer, jlong function_pointer) { + glBindBufferPROC glBindBuffer = (glBindBufferPROC)((intptr_t)function_pointer); glBindBuffer(target, buffer); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL15_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"nglGetQueryObjectuiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglGetQueryObjectuiv, "glGetQueryObjectuiv", (void *)&glGetQueryObjectuiv}, - {"nglGetQueryObjectiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglGetQueryObjectiv, "glGetQueryObjectiv", (void *)&glGetQueryObjectiv}, - {"nglGetQueryiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglGetQueryiv, "glGetQueryiv", (void *)&glGetQueryiv}, - {"glEndQuery", "(I)V", (void *)&Java_org_lwjgl_opengl_GL15_glEndQuery, "glEndQuery", (void *)&glEndQuery}, - {"glBeginQuery", "(II)V", (void *)&Java_org_lwjgl_opengl_GL15_glBeginQuery, "glBeginQuery", (void *)&glBeginQuery}, - {"glIsQuery", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL15_glIsQuery, "glIsQuery", (void *)&glIsQuery}, - {"nglDeleteQueries", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglDeleteQueries, "glDeleteQueries", (void *)&glDeleteQueries}, - {"nglGenQueries", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglGenQueries, "glGenQueries", (void *)&glGenQueries}, - {"nglGetBufferPointerv", "(III)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_GL15_nglGetBufferPointerv, "glGetBufferPointerv", (void *)&glGetBufferPointerv}, - {"nglGetBufferParameteriv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglGetBufferParameteriv, "glGetBufferParameteriv", (void *)&glGetBufferParameteriv}, - {"glUnmapBuffer", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL15_glUnmapBuffer, "glUnmapBuffer", (void *)&glUnmapBuffer}, - {"nglMapBuffer", "(IIILjava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_GL15_nglMapBuffer, "glMapBuffer", (void *)&glMapBuffer}, - {"nglGetBufferSubData", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglGetBufferSubData, "glGetBufferSubData", (void *)&glGetBufferSubData}, - {"nglBufferSubData", "(IIILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglBufferSubData, "glBufferSubData", (void *)&glBufferSubData}, - {"nglBufferData", "(IILjava/nio/Buffer;II)V", (void *)&Java_org_lwjgl_opengl_GL15_nglBufferData, "glBufferData", (void *)&glBufferData}, - {"glIsBuffer", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL15_glIsBuffer, "glIsBuffer", (void *)&glIsBuffer}, - {"nglGenBuffers", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglGenBuffers, "glGenBuffers", (void *)&glGenBuffers}, - {"nglDeleteBuffers", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL15_nglDeleteBuffers, "glDeleteBuffers", (void *)&glDeleteBuffers}, - {"nglBindBuffer", "(II)V", (void *)&Java_org_lwjgl_opengl_GL15_nglBindBuffer, "glBindBuffer", (void *)&glBindBuffer} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/org_lwjgl_opengl_GL20.c b/src/native/common/org_lwjgl_opengl_GL20.c index c368d60d..56cdebb5 100644 --- a/src/native/common/org_lwjgl_opengl_GL20.c +++ b/src/native/common/org_lwjgl_opengl_GL20.c @@ -1,6 +1,7 @@ /* MACHINE GENERATED FILE, DO NOT EDIT */ #include +#include #include "extgl.h" typedef void (APIENTRY *glBlendEquationSeparatePROC) (GLenum modeRGB, GLenum modeAlpha); @@ -71,467 +72,393 @@ typedef GLboolean (APIENTRY *glIsShaderPROC) (GLuint shader); typedef GLint (APIENTRY *glCreateShaderPROC) (GLuint type); typedef void (APIENTRY *glShaderSourcePROC) (GLuint shader, GLsizei count, const GLchar ** string, const GLint* length); -static glBlendEquationSeparatePROC glBlendEquationSeparate; -static glStencilMaskSeparatePROC glStencilMaskSeparate; -static glStencilFuncSeparatePROC glStencilFuncSeparate; -static glStencilOpSeparatePROC glStencilOpSeparate; -static glDrawBuffersPROC glDrawBuffers; -static glGetAttribLocationPROC glGetAttribLocation; -static glGetActiveAttribPROC glGetActiveAttrib; -static glBindAttribLocationPROC glBindAttribLocation; -static glGetVertexAttribPointervPROC glGetVertexAttribPointerv; -static glGetVertexAttribivPROC glGetVertexAttribiv; -static glGetVertexAttribfvPROC glGetVertexAttribfv; -static glDisableVertexAttribArrayPROC glDisableVertexAttribArray; -static glEnableVertexAttribArrayPROC glEnableVertexAttribArray; -static glVertexAttribPointerPROC glVertexAttribPointer; -static glVertexAttrib4NubPROC glVertexAttrib4Nub; -static glVertexAttrib4fPROC glVertexAttrib4f; -static glVertexAttrib4sPROC glVertexAttrib4s; -static glVertexAttrib3fPROC glVertexAttrib3f; -static glVertexAttrib3sPROC glVertexAttrib3s; -static glVertexAttrib2fPROC glVertexAttrib2f; -static glVertexAttrib2sPROC glVertexAttrib2s; -static glVertexAttrib1fPROC glVertexAttrib1f; -static glVertexAttrib1sPROC glVertexAttrib1s; -static glGetShaderSourcePROC glGetShaderSource; -static glGetUniformivPROC glGetUniformiv; -static glGetUniformfvPROC glGetUniformfv; -static glGetActiveUniformPROC glGetActiveUniform; -static glGetUniformLocationPROC glGetUniformLocation; -static glGetAttachedShadersPROC glGetAttachedShaders; -static glGetProgramInfoLogPROC glGetProgramInfoLog; -static glGetShaderInfoLogPROC glGetShaderInfoLog; -static glGetProgramivPROC glGetProgramiv; -static glGetProgramfvPROC glGetProgramfv; -static glGetShaderivPROC glGetShaderiv; -static glGetShaderfvPROC glGetShaderfv; -static glUniformMatrix4fvPROC glUniformMatrix4fv; -static glUniformMatrix3fvPROC glUniformMatrix3fv; -static glUniformMatrix2fvPROC glUniformMatrix2fv; -static glUniform4ivPROC glUniform4iv; -static glUniform3ivPROC glUniform3iv; -static glUniform2ivPROC glUniform2iv; -static glUniform1ivPROC glUniform1iv; -static glUniform4fvPROC glUniform4fv; -static glUniform3fvPROC glUniform3fv; -static glUniform2fvPROC glUniform2fv; -static glUniform1fvPROC glUniform1fv; -static glUniform4iPROC glUniform4i; -static glUniform3iPROC glUniform3i; -static glUniform2iPROC glUniform2i; -static glUniform1iPROC glUniform1i; -static glUniform4fPROC glUniform4f; -static glUniform3fPROC glUniform3f; -static glUniform2fPROC glUniform2f; -static glUniform1fPROC glUniform1f; -static glDeleteProgramPROC glDeleteProgram; -static glValidateProgramPROC glValidateProgram; -static glUseProgramPROC glUseProgram; -static glLinkProgramPROC glLinkProgram; -static glDetachShaderPROC glDetachShader; -static glAttachShaderPROC glAttachShader; -static glIsProgramPROC glIsProgram; -static glCreateProgramPROC glCreateProgram; -static glDeleteShaderPROC glDeleteShader; -static glCompileShaderPROC glCompileShader; -static glIsShaderPROC glIsShader; -static glCreateShaderPROC glCreateShader; -static glShaderSourcePROC glShaderSource; - -static void JNICALL Java_org_lwjgl_opengl_GL20_glBlendEquationSeparate(JNIEnv *env, jclass clazz, jint modeRGB, jint modeAlpha) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglBlendEquationSeparate(JNIEnv *env, jclass clazz, jint modeRGB, jint modeAlpha, jlong function_pointer) { + glBlendEquationSeparatePROC glBlendEquationSeparate = (glBlendEquationSeparatePROC)((intptr_t)function_pointer); glBlendEquationSeparate(modeRGB, modeAlpha); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glStencilMaskSeparate(JNIEnv *env, jclass clazz, jint face, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglStencilMaskSeparate(JNIEnv *env, jclass clazz, jint face, jint mask, jlong function_pointer) { + glStencilMaskSeparatePROC glStencilMaskSeparate = (glStencilMaskSeparatePROC)((intptr_t)function_pointer); glStencilMaskSeparate(face, mask); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glStencilFuncSeparate(JNIEnv *env, jclass clazz, jint face, jint func, jint ref, jint mask) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglStencilFuncSeparate(JNIEnv *env, jclass clazz, jint face, jint func, jint ref, jint mask, jlong function_pointer) { + glStencilFuncSeparatePROC glStencilFuncSeparate = (glStencilFuncSeparatePROC)((intptr_t)function_pointer); glStencilFuncSeparate(face, func, ref, mask); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glStencilOpSeparate(JNIEnv *env, jclass clazz, jint face, jint sfail, jint dpfail, jint dppass) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglStencilOpSeparate(JNIEnv *env, jclass clazz, jint face, jint sfail, jint dpfail, jint dppass, jlong function_pointer) { + glStencilOpSeparatePROC glStencilOpSeparate = (glStencilOpSeparatePROC)((intptr_t)function_pointer); glStencilOpSeparate(face, sfail, dpfail, dppass); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglDrawBuffers(JNIEnv *env, jclass clazz, jint size, jobject buffers, jint buffers_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglDrawBuffers(JNIEnv *env, jclass clazz, jint size, jobject buffers, jint buffers_position, jlong function_pointer) { const GLenum *buffers_address = ((const GLenum *)(*env)->GetDirectBufferAddress(env, buffers)) + buffers_position; + glDrawBuffersPROC glDrawBuffers = (glDrawBuffersPROC)((intptr_t)function_pointer); glDrawBuffers(size, buffers_address); } -static jint JNICALL Java_org_lwjgl_opengl_GL20_nglGetAttribLocation(JNIEnv *env, jclass clazz, jint program, jobject name, jint name_position) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL20_nglGetAttribLocation(JNIEnv *env, jclass clazz, jint program, jobject name, jint name_position, jlong function_pointer) { const GLchar *name_address = ((const GLchar *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetAttribLocationPROC glGetAttribLocation = (glGetAttribLocationPROC)((intptr_t)function_pointer); GLint __result = glGetAttribLocation(program, name_address); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetActiveAttrib(JNIEnv *env, jclass clazz, jint program, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetActiveAttrib(JNIEnv *env, jclass clazz, jint program, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLint *size_address = ((GLint *)(*env)->GetDirectBufferAddress(env, size)) + size_position; GLenum *type_address = ((GLenum *)(*env)->GetDirectBufferAddress(env, type)) + type_position; const GLchar *name_address = ((const GLchar *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetActiveAttribPROC glGetActiveAttrib = (glGetActiveAttribPROC)((intptr_t)function_pointer); glGetActiveAttrib(program, index, maxLength, length_address, size_address, type_address, name_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglBindAttribLocation(JNIEnv *env, jclass clazz, jint program, jint index, jobject name, jint name_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglBindAttribLocation(JNIEnv *env, jclass clazz, jint program, jint index, jobject name, jint name_position, jlong function_pointer) { const GLchar *name_address = ((const GLchar *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glBindAttribLocationPROC glBindAttribLocation = (glBindAttribLocationPROC)((intptr_t)function_pointer); glBindAttribLocation(program, index, name_address); } -static jobject JNICALL Java_org_lwjgl_opengl_GL20_nglGetVertexAttribPointerv(JNIEnv *env, jclass clazz, jint index, jint pname, jint result_size) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_GL20_nglGetVertexAttribPointerv(JNIEnv *env, jclass clazz, jint index, jint pname, jint result_size, jlong function_pointer) { + glGetVertexAttribPointervPROC glGetVertexAttribPointerv = (glGetVertexAttribPointervPROC)((intptr_t)function_pointer); GLvoid * __result; glGetVertexAttribPointerv(index, pname, &__result); return safeNewBuffer(env, __result, result_size); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetVertexAttribiv(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetVertexAttribiv(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribivPROC glGetVertexAttribiv = (glGetVertexAttribivPROC)((intptr_t)function_pointer); glGetVertexAttribiv(index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetVertexAttribfv(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetVertexAttribfv(JNIEnv *env, jclass clazz, jint index, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetVertexAttribfvPROC glGetVertexAttribfv = (glGetVertexAttribfvPROC)((intptr_t)function_pointer); glGetVertexAttribfv(index, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glDisableVertexAttribArray(JNIEnv *env, jclass clazz, jint index) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglDisableVertexAttribArray(JNIEnv *env, jclass clazz, jint index, jlong function_pointer) { + glDisableVertexAttribArrayPROC glDisableVertexAttribArray = (glDisableVertexAttribArrayPROC)((intptr_t)function_pointer); glDisableVertexAttribArray(index); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glEnableVertexAttribArray(JNIEnv *env, jclass clazz, jint index) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglEnableVertexAttribArray(JNIEnv *env, jclass clazz, jint index, jlong function_pointer) { + glEnableVertexAttribArrayPROC glEnableVertexAttribArray = (glEnableVertexAttribArrayPROC)((intptr_t)function_pointer); glEnableVertexAttribArray(index); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttribPointer(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jobject buffer, jint buffer_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttribPointer(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jobject buffer, jint buffer_position, jlong function_pointer) { const GLvoid *buffer_address = ((const GLvoid *)(((char *)(*env)->GetDirectBufferAddress(env, buffer)) + buffer_position)); + glVertexAttribPointerPROC glVertexAttribPointer = (glVertexAttribPointerPROC)((intptr_t)function_pointer); glVertexAttribPointer(index, size, type, normalized, stride, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttribPointerBO(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jint buffer_buffer_offset) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttribPointerBO(JNIEnv *env, jclass clazz, jint index, jint size, jint type, jboolean normalized, jint stride, jint buffer_buffer_offset, jlong function_pointer) { const GLvoid *buffer_address = ((const GLvoid *)offsetToPointer(buffer_buffer_offset)); + glVertexAttribPointerPROC glVertexAttribPointer = (glVertexAttribPointerPROC)((intptr_t)function_pointer); glVertexAttribPointer(index, size, type, normalized, stride, buffer_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib4Nub(JNIEnv *env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib4Nub(JNIEnv *env, jclass clazz, jint index, jbyte x, jbyte y, jbyte z, jbyte w, jlong function_pointer) { + glVertexAttrib4NubPROC glVertexAttrib4Nub = (glVertexAttrib4NubPROC)((intptr_t)function_pointer); glVertexAttrib4Nub(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib4f(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib4f(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jfloat w, jlong function_pointer) { + glVertexAttrib4fPROC glVertexAttrib4f = (glVertexAttrib4fPROC)((intptr_t)function_pointer); glVertexAttrib4f(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib4s(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib4s(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jshort w, jlong function_pointer) { + glVertexAttrib4sPROC glVertexAttrib4s = (glVertexAttrib4sPROC)((intptr_t)function_pointer); glVertexAttrib4s(index, x, y, z, w); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib3f(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib3f(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jfloat z, jlong function_pointer) { + glVertexAttrib3fPROC glVertexAttrib3f = (glVertexAttrib3fPROC)((intptr_t)function_pointer); glVertexAttrib3f(index, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib3s(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib3s(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jshort z, jlong function_pointer) { + glVertexAttrib3sPROC glVertexAttrib3s = (glVertexAttrib3sPROC)((intptr_t)function_pointer); glVertexAttrib3s(index, x, y, z); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib2f(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib2f(JNIEnv *env, jclass clazz, jint index, jfloat x, jfloat y, jlong function_pointer) { + glVertexAttrib2fPROC glVertexAttrib2f = (glVertexAttrib2fPROC)((intptr_t)function_pointer); glVertexAttrib2f(index, x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib2s(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib2s(JNIEnv *env, jclass clazz, jint index, jshort x, jshort y, jlong function_pointer) { + glVertexAttrib2sPROC glVertexAttrib2s = (glVertexAttrib2sPROC)((intptr_t)function_pointer); glVertexAttrib2s(index, x, y); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib1f(JNIEnv *env, jclass clazz, jint index, jfloat x) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib1f(JNIEnv *env, jclass clazz, jint index, jfloat x, jlong function_pointer) { + glVertexAttrib1fPROC glVertexAttrib1f = (glVertexAttrib1fPROC)((intptr_t)function_pointer); glVertexAttrib1f(index, x); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glVertexAttrib1s(JNIEnv *env, jclass clazz, jint index, jshort x) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglVertexAttrib1s(JNIEnv *env, jclass clazz, jint index, jshort x, jlong function_pointer) { + glVertexAttrib1sPROC glVertexAttrib1s = (glVertexAttrib1sPROC)((intptr_t)function_pointer); glVertexAttrib1s(index, x); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderSource(JNIEnv *env, jclass clazz, jint shader, jint maxLength, jobject length, jint length_position, jobject source, jint source_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderSource(JNIEnv *env, jclass clazz, jint shader, jint maxLength, jobject length, jint length_position, jobject source, jint source_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLchar *source_address = ((GLchar *)(*env)->GetDirectBufferAddress(env, source)) + source_position; + glGetShaderSourcePROC glGetShaderSource = (glGetShaderSourcePROC)((intptr_t)function_pointer); glGetShaderSource(shader, maxLength, length_address, source_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetUniformiv(JNIEnv *env, jclass clazz, jint program, jint location, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetUniformiv(JNIEnv *env, jclass clazz, jint program, jint location, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetUniformivPROC glGetUniformiv = (glGetUniformivPROC)((intptr_t)function_pointer); glGetUniformiv(program, location, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetUniformfv(JNIEnv *env, jclass clazz, jint program, jint location, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetUniformfv(JNIEnv *env, jclass clazz, jint program, jint location, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetUniformfvPROC glGetUniformfv = (glGetUniformfvPROC)((intptr_t)function_pointer); glGetUniformfv(program, location, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetActiveUniform(JNIEnv *env, jclass clazz, jint program, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetActiveUniform(JNIEnv *env, jclass clazz, jint program, jint index, jint maxLength, jobject length, jint length_position, jobject size, jint size_position, jobject type, jint type_position, jobject name, jint name_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLsizei *size_address = ((GLsizei *)(*env)->GetDirectBufferAddress(env, size)) + size_position; GLenum *type_address = ((GLenum *)(*env)->GetDirectBufferAddress(env, type)) + type_position; GLchar *name_address = ((GLchar *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetActiveUniformPROC glGetActiveUniform = (glGetActiveUniformPROC)((intptr_t)function_pointer); glGetActiveUniform(program, index, maxLength, length_address, size_address, type_address, name_address); } -static jint JNICALL Java_org_lwjgl_opengl_GL20_nglGetUniformLocation(JNIEnv *env, jclass clazz, jint program, jobject name, jint name_position) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL20_nglGetUniformLocation(JNIEnv *env, jclass clazz, jint program, jobject name, jint name_position, jlong function_pointer) { const GLchar *name_address = ((const GLchar *)(*env)->GetDirectBufferAddress(env, name)) + name_position; + glGetUniformLocationPROC glGetUniformLocation = (glGetUniformLocationPROC)((intptr_t)function_pointer); GLint __result = glGetUniformLocation(program, name_address); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetAttachedShaders(JNIEnv *env, jclass clazz, jint program, jint maxCount, jobject count, jint count_position, jobject shaders, jint shaders_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetAttachedShaders(JNIEnv *env, jclass clazz, jint program, jint maxCount, jobject count, jint count_position, jobject shaders, jint shaders_position, jlong function_pointer) { GLsizei *count_address = ((GLsizei *)safeGetBufferAddress(env, count)) + count_position; GLuint *shaders_address = ((GLuint *)(*env)->GetDirectBufferAddress(env, shaders)) + shaders_position; + glGetAttachedShadersPROC glGetAttachedShaders = (glGetAttachedShadersPROC)((intptr_t)function_pointer); glGetAttachedShaders(program, maxCount, count_address, shaders_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetProgramInfoLog(JNIEnv *env, jclass clazz, jint program, jint maxLength, jobject length, jint length_position, jobject infoLog, jint infoLog_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetProgramInfoLog(JNIEnv *env, jclass clazz, jint program, jint maxLength, jobject length, jint length_position, jobject infoLog, jint infoLog_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLchar *infoLog_address = ((GLchar *)(*env)->GetDirectBufferAddress(env, infoLog)) + infoLog_position; + glGetProgramInfoLogPROC glGetProgramInfoLog = (glGetProgramInfoLogPROC)((intptr_t)function_pointer); glGetProgramInfoLog(program, maxLength, length_address, infoLog_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderInfoLog(JNIEnv *env, jclass clazz, jint shader, jint maxLength, jobject length, jint length_position, jobject infoLog, jint infoLog_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderInfoLog(JNIEnv *env, jclass clazz, jint shader, jint maxLength, jobject length, jint length_position, jobject infoLog, jint infoLog_position, jlong function_pointer) { GLsizei *length_address = ((GLsizei *)safeGetBufferAddress(env, length)) + length_position; GLchar *infoLog_address = ((GLchar *)(*env)->GetDirectBufferAddress(env, infoLog)) + infoLog_position; + glGetShaderInfoLogPROC glGetShaderInfoLog = (glGetShaderInfoLogPROC)((intptr_t)function_pointer); glGetShaderInfoLog(shader, maxLength, length_address, infoLog_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetProgramiv(JNIEnv *env, jclass clazz, jint program, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetProgramiv(JNIEnv *env, jclass clazz, jint program, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramivPROC glGetProgramiv = (glGetProgramivPROC)((intptr_t)function_pointer); glGetProgramiv(program, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetProgramfv(JNIEnv *env, jclass clazz, jint program, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetProgramfv(JNIEnv *env, jclass clazz, jint program, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetProgramfvPROC glGetProgramfv = (glGetProgramfvPROC)((intptr_t)function_pointer); glGetProgramfv(program, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderiv(JNIEnv *env, jclass clazz, jint shader, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderiv(JNIEnv *env, jclass clazz, jint shader, jint pname, jobject params, jint params_position, jlong function_pointer) { GLint *params_address = ((GLint *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetShaderivPROC glGetShaderiv = (glGetShaderivPROC)((intptr_t)function_pointer); glGetShaderiv(shader, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderfv(JNIEnv *env, jclass clazz, jint shader, jint pname, jobject params, jint params_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglGetShaderfv(JNIEnv *env, jclass clazz, jint shader, jint pname, jobject params, jint params_position, jlong function_pointer) { GLfloat *params_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, params)) + params_position; + glGetShaderfvPROC glGetShaderfv = (glGetShaderfvPROC)((intptr_t)function_pointer); glGetShaderfv(shader, pname, params_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniformMatrix4fv(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniformMatrix4fv(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position, jlong function_pointer) { GLfloat *matrices_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, matrices)) + matrices_position; + glUniformMatrix4fvPROC glUniformMatrix4fv = (glUniformMatrix4fvPROC)((intptr_t)function_pointer); glUniformMatrix4fv(location, count, transpose, matrices_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniformMatrix3fv(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniformMatrix3fv(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position, jlong function_pointer) { GLfloat *matrices_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, matrices)) + matrices_position; + glUniformMatrix3fvPROC glUniformMatrix3fv = (glUniformMatrix3fvPROC)((intptr_t)function_pointer); glUniformMatrix3fv(location, count, transpose, matrices_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniformMatrix2fv(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniformMatrix2fv(JNIEnv *env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matrices_position, jlong function_pointer) { GLfloat *matrices_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, matrices)) + matrices_position; + glUniformMatrix2fvPROC glUniformMatrix2fv = (glUniformMatrix2fvPROC)((intptr_t)function_pointer); glUniformMatrix2fv(location, count, transpose, matrices_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform4iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform4iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform4ivPROC glUniform4iv = (glUniform4ivPROC)((intptr_t)function_pointer); glUniform4iv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform3iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform3iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform3ivPROC glUniform3iv = (glUniform3ivPROC)((intptr_t)function_pointer); glUniform3iv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform2iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform2iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform2ivPROC glUniform2iv = (glUniform2ivPROC)((intptr_t)function_pointer); glUniform2iv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform1iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform1iv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLint *values_address = ((GLint *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform1ivPROC glUniform1iv = (glUniform1ivPROC)((intptr_t)function_pointer); glUniform1iv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform4fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform4fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform4fvPROC glUniform4fv = (glUniform4fvPROC)((intptr_t)function_pointer); glUniform4fv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform3fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform3fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform3fvPROC glUniform3fv = (glUniform3fvPROC)((intptr_t)function_pointer); glUniform3fv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform2fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform2fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform2fvPROC glUniform2fv = (glUniform2fvPROC)((intptr_t)function_pointer); glUniform2fv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform1fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform1fv(JNIEnv *env, jclass clazz, jint location, jint count, jobject values, jint values_position, jlong function_pointer) { GLfloat *values_address = ((GLfloat *)(*env)->GetDirectBufferAddress(env, values)) + values_position; + glUniform1fvPROC glUniform1fv = (glUniform1fvPROC)((intptr_t)function_pointer); glUniform1fv(location, count, values_address); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform4i(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2, jint v3) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform4i(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2, jint v3, jlong function_pointer) { + glUniform4iPROC glUniform4i = (glUniform4iPROC)((intptr_t)function_pointer); glUniform4i(location, v0, v1, v2, v3); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform3i(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform3i(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jint v2, jlong function_pointer) { + glUniform3iPROC glUniform3i = (glUniform3iPROC)((intptr_t)function_pointer); glUniform3i(location, v0, v1, v2); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform2i(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform2i(JNIEnv *env, jclass clazz, jint location, jint v0, jint v1, jlong function_pointer) { + glUniform2iPROC glUniform2i = (glUniform2iPROC)((intptr_t)function_pointer); glUniform2i(location, v0, v1); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform1i(JNIEnv *env, jclass clazz, jint location, jint v0) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform1i(JNIEnv *env, jclass clazz, jint location, jint v0, jlong function_pointer) { + glUniform1iPROC glUniform1i = (glUniform1iPROC)((intptr_t)function_pointer); glUniform1i(location, v0); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform4f(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2, jfloat v3) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform4f(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2, jfloat v3, jlong function_pointer) { + glUniform4fPROC glUniform4f = (glUniform4fPROC)((intptr_t)function_pointer); glUniform4f(location, v0, v1, v2, v3); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform3f(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform3f(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2, jlong function_pointer) { + glUniform3fPROC glUniform3f = (glUniform3fPROC)((intptr_t)function_pointer); glUniform3f(location, v0, v1, v2); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform2f(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform2f(JNIEnv *env, jclass clazz, jint location, jfloat v0, jfloat v1, jlong function_pointer) { + glUniform2fPROC glUniform2f = (glUniform2fPROC)((intptr_t)function_pointer); glUniform2f(location, v0, v1); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUniform1f(JNIEnv *env, jclass clazz, jint location, jfloat v0) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUniform1f(JNIEnv *env, jclass clazz, jint location, jfloat v0, jlong function_pointer) { + glUniform1fPROC glUniform1f = (glUniform1fPROC)((intptr_t)function_pointer); glUniform1f(location, v0); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glDeleteProgram(JNIEnv *env, jclass clazz, jint program) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglDeleteProgram(JNIEnv *env, jclass clazz, jint program, jlong function_pointer) { + glDeleteProgramPROC glDeleteProgram = (glDeleteProgramPROC)((intptr_t)function_pointer); glDeleteProgram(program); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glValidateProgram(JNIEnv *env, jclass clazz, jint program) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglValidateProgram(JNIEnv *env, jclass clazz, jint program, jlong function_pointer) { + glValidateProgramPROC glValidateProgram = (glValidateProgramPROC)((intptr_t)function_pointer); glValidateProgram(program); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glUseProgram(JNIEnv *env, jclass clazz, jint program) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglUseProgram(JNIEnv *env, jclass clazz, jint program, jlong function_pointer) { + glUseProgramPROC glUseProgram = (glUseProgramPROC)((intptr_t)function_pointer); glUseProgram(program); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glLinkProgram(JNIEnv *env, jclass clazz, jint program) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglLinkProgram(JNIEnv *env, jclass clazz, jint program, jlong function_pointer) { + glLinkProgramPROC glLinkProgram = (glLinkProgramPROC)((intptr_t)function_pointer); glLinkProgram(program); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glDetachShader(JNIEnv *env, jclass clazz, jint program, jint shader) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglDetachShader(JNIEnv *env, jclass clazz, jint program, jint shader, jlong function_pointer) { + glDetachShaderPROC glDetachShader = (glDetachShaderPROC)((intptr_t)function_pointer); glDetachShader(program, shader); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glAttachShader(JNIEnv *env, jclass clazz, jint program, jint shader) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglAttachShader(JNIEnv *env, jclass clazz, jint program, jint shader, jlong function_pointer) { + glAttachShaderPROC glAttachShader = (glAttachShaderPROC)((intptr_t)function_pointer); glAttachShader(program, shader); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL20_glIsProgram(JNIEnv *env, jclass clazz, jint program) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL20_nglIsProgram(JNIEnv *env, jclass clazz, jint program, jlong function_pointer) { + glIsProgramPROC glIsProgram = (glIsProgramPROC)((intptr_t)function_pointer); GLboolean __result = glIsProgram(program); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_GL20_glCreateProgram(JNIEnv *env, jclass clazz) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL20_nglCreateProgram(JNIEnv *env, jclass clazz, jlong function_pointer) { + glCreateProgramPROC glCreateProgram = (glCreateProgramPROC)((intptr_t)function_pointer); GLint __result = glCreateProgram(); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL20_glDeleteShader(JNIEnv *env, jclass clazz, jint shader) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglDeleteShader(JNIEnv *env, jclass clazz, jint shader, jlong function_pointer) { + glDeleteShaderPROC glDeleteShader = (glDeleteShaderPROC)((intptr_t)function_pointer); glDeleteShader(shader); } -static void JNICALL Java_org_lwjgl_opengl_GL20_glCompileShader(JNIEnv *env, jclass clazz, jint shader) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglCompileShader(JNIEnv *env, jclass clazz, jint shader, jlong function_pointer) { + glCompileShaderPROC glCompileShader = (glCompileShaderPROC)((intptr_t)function_pointer); glCompileShader(shader); } -static jboolean JNICALL Java_org_lwjgl_opengl_GL20_glIsShader(JNIEnv *env, jclass clazz, jint shader) { +JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL20_nglIsShader(JNIEnv *env, jclass clazz, jint shader, jlong function_pointer) { + glIsShaderPROC glIsShader = (glIsShaderPROC)((intptr_t)function_pointer); GLboolean __result = glIsShader(shader); return __result; } -static jint JNICALL Java_org_lwjgl_opengl_GL20_glCreateShader(JNIEnv *env, jclass clazz, jint type) { +JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL20_nglCreateShader(JNIEnv *env, jclass clazz, jint type, jlong function_pointer) { + glCreateShaderPROC glCreateShader = (glCreateShaderPROC)((intptr_t)function_pointer); GLint __result = glCreateShader(type); return __result; } -static void JNICALL Java_org_lwjgl_opengl_GL20_nglShaderSource(JNIEnv *env, jclass clazz, jint shader, jint count, jobject string, jint string_position, jint length) { +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_nglShaderSource(JNIEnv *env, jclass clazz, jint shader, jint count, jobject string, jint string_position, jint length, jlong function_pointer) { const GLchar *string_address = ((const GLchar *)(*env)->GetDirectBufferAddress(env, string)) + string_position; + glShaderSourcePROC glShaderSource = (glShaderSourcePROC)((intptr_t)function_pointer); glShaderSource(shader, count, &string_address, &length); } -JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL20_initNativeStubs(JNIEnv *env, jclass clazz) { - JavaMethodAndExtFunction functions[] = { - {"glBlendEquationSeparate", "(II)V", (void *)&Java_org_lwjgl_opengl_GL20_glBlendEquationSeparate, "glBlendEquationSeparate", (void *)&glBlendEquationSeparate}, - {"glStencilMaskSeparate", "(II)V", (void *)&Java_org_lwjgl_opengl_GL20_glStencilMaskSeparate, "glStencilMaskSeparate", (void *)&glStencilMaskSeparate}, - {"glStencilFuncSeparate", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL20_glStencilFuncSeparate, "glStencilFuncSeparate", (void *)&glStencilFuncSeparate}, - {"glStencilOpSeparate", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL20_glStencilOpSeparate, "glStencilOpSeparate", (void *)&glStencilOpSeparate}, - {"nglDrawBuffers", "(ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglDrawBuffers, "glDrawBuffers", (void *)&glDrawBuffers}, - {"nglGetAttribLocation", "(ILjava/nio/ByteBuffer;I)I", (void *)&Java_org_lwjgl_opengl_GL20_nglGetAttribLocation, "glGetAttribLocation", (void *)&glGetAttribLocation}, - {"nglGetActiveAttrib", "(IIILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetActiveAttrib, "glGetActiveAttrib", (void *)&glGetActiveAttrib}, - {"nglBindAttribLocation", "(IILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglBindAttribLocation, "glBindAttribLocation", (void *)&glBindAttribLocation}, - {"nglGetVertexAttribPointerv", "(III)Ljava/nio/ByteBuffer;", (void *)&Java_org_lwjgl_opengl_GL20_nglGetVertexAttribPointerv, "glGetVertexAttribPointerv", (void *)&glGetVertexAttribPointerv}, - {"nglGetVertexAttribiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetVertexAttribiv, "glGetVertexAttribiv", (void *)&glGetVertexAttribiv}, - {"nglGetVertexAttribfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetVertexAttribfv, "glGetVertexAttribfv", (void *)&glGetVertexAttribfv}, - {"glDisableVertexAttribArray", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glDisableVertexAttribArray, "glDisableVertexAttribArray", (void *)&glDisableVertexAttribArray}, - {"glEnableVertexAttribArray", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glEnableVertexAttribArray, "glEnableVertexAttribArray", (void *)&glEnableVertexAttribArray}, - {"nglVertexAttribPointer", "(IIIZILjava/nio/Buffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglVertexAttribPointer, "glVertexAttribPointer", (void *)&glVertexAttribPointer}, - {"nglVertexAttribPointerBO", "(IIIZII)V", (void *)&Java_org_lwjgl_opengl_GL20_nglVertexAttribPointerBO, "glVertexAttribPointer", (void *)&glVertexAttribPointer}, - {"glVertexAttrib4Nub", "(IBBBB)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib4Nub, "glVertexAttrib4Nub", (void *)&glVertexAttrib4Nub}, - {"glVertexAttrib4f", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib4f, "glVertexAttrib4f", (void *)&glVertexAttrib4f}, - {"glVertexAttrib4s", "(ISSSS)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib4s, "glVertexAttrib4s", (void *)&glVertexAttrib4s}, - {"glVertexAttrib3f", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib3f, "glVertexAttrib3f", (void *)&glVertexAttrib3f}, - {"glVertexAttrib3s", "(ISSS)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib3s, "glVertexAttrib3s", (void *)&glVertexAttrib3s}, - {"glVertexAttrib2f", "(IFF)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib2f, "glVertexAttrib2f", (void *)&glVertexAttrib2f}, - {"glVertexAttrib2s", "(ISS)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib2s, "glVertexAttrib2s", (void *)&glVertexAttrib2s}, - {"glVertexAttrib1f", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib1f, "glVertexAttrib1f", (void *)&glVertexAttrib1f}, - {"glVertexAttrib1s", "(IS)V", (void *)&Java_org_lwjgl_opengl_GL20_glVertexAttrib1s, "glVertexAttrib1s", (void *)&glVertexAttrib1s}, - {"nglGetShaderSource", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetShaderSource, "glGetShaderSource", (void *)&glGetShaderSource}, - {"nglGetUniformiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetUniformiv, "glGetUniformiv", (void *)&glGetUniformiv}, - {"nglGetUniformfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetUniformfv, "glGetUniformfv", (void *)&glGetUniformfv}, - {"nglGetActiveUniform", "(IIILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetActiveUniform, "glGetActiveUniform", (void *)&glGetActiveUniform}, - {"nglGetUniformLocation", "(ILjava/nio/ByteBuffer;I)I", (void *)&Java_org_lwjgl_opengl_GL20_nglGetUniformLocation, "glGetUniformLocation", (void *)&glGetUniformLocation}, - {"nglGetAttachedShaders", "(IILjava/nio/IntBuffer;ILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetAttachedShaders, "glGetAttachedShaders", (void *)&glGetAttachedShaders}, - {"nglGetProgramInfoLog", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetProgramInfoLog, "glGetProgramInfoLog", (void *)&glGetProgramInfoLog}, - {"nglGetShaderInfoLog", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetShaderInfoLog, "glGetShaderInfoLog", (void *)&glGetShaderInfoLog}, - {"nglGetProgramiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetProgramiv, "glGetProgramiv", (void *)&glGetProgramiv}, - {"nglGetProgramfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetProgramfv, "glGetProgramfv", (void *)&glGetProgramfv}, - {"nglGetShaderiv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetShaderiv, "glGetShaderiv", (void *)&glGetShaderiv}, - {"nglGetShaderfv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglGetShaderfv, "glGetShaderfv", (void *)&glGetShaderfv}, - {"nglUniformMatrix4fv", "(IIZLjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniformMatrix4fv, "glUniformMatrix4fv", (void *)&glUniformMatrix4fv}, - {"nglUniformMatrix3fv", "(IIZLjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniformMatrix3fv, "glUniformMatrix3fv", (void *)&glUniformMatrix3fv}, - {"nglUniformMatrix2fv", "(IIZLjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniformMatrix2fv, "glUniformMatrix2fv", (void *)&glUniformMatrix2fv}, - {"nglUniform4iv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform4iv, "glUniform4iv", (void *)&glUniform4iv}, - {"nglUniform3iv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform3iv, "glUniform3iv", (void *)&glUniform3iv}, - {"nglUniform2iv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform2iv, "glUniform2iv", (void *)&glUniform2iv}, - {"nglUniform1iv", "(IILjava/nio/IntBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform1iv, "glUniform1iv", (void *)&glUniform1iv}, - {"nglUniform4fv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform4fv, "glUniform4fv", (void *)&glUniform4fv}, - {"nglUniform3fv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform3fv, "glUniform3fv", (void *)&glUniform3fv}, - {"nglUniform2fv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform2fv, "glUniform2fv", (void *)&glUniform2fv}, - {"nglUniform1fv", "(IILjava/nio/FloatBuffer;I)V", (void *)&Java_org_lwjgl_opengl_GL20_nglUniform1fv, "glUniform1fv", (void *)&glUniform1fv}, - {"glUniform4i", "(IIIII)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform4i, "glUniform4i", (void *)&glUniform4i}, - {"glUniform3i", "(IIII)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform3i, "glUniform3i", (void *)&glUniform3i}, - {"glUniform2i", "(III)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform2i, "glUniform2i", (void *)&glUniform2i}, - {"glUniform1i", "(II)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform1i, "glUniform1i", (void *)&glUniform1i}, - {"glUniform4f", "(IFFFF)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform4f, "glUniform4f", (void *)&glUniform4f}, - {"glUniform3f", "(IFFF)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform3f, "glUniform3f", (void *)&glUniform3f}, - {"glUniform2f", "(IFF)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform2f, "glUniform2f", (void *)&glUniform2f}, - {"glUniform1f", "(IF)V", (void *)&Java_org_lwjgl_opengl_GL20_glUniform1f, "glUniform1f", (void *)&glUniform1f}, - {"glDeleteProgram", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glDeleteProgram, "glDeleteProgram", (void *)&glDeleteProgram}, - {"glValidateProgram", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glValidateProgram, "glValidateProgram", (void *)&glValidateProgram}, - {"glUseProgram", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glUseProgram, "glUseProgram", (void *)&glUseProgram}, - {"glLinkProgram", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glLinkProgram, "glLinkProgram", (void *)&glLinkProgram}, - {"glDetachShader", "(II)V", (void *)&Java_org_lwjgl_opengl_GL20_glDetachShader, "glDetachShader", (void *)&glDetachShader}, - {"glAttachShader", "(II)V", (void *)&Java_org_lwjgl_opengl_GL20_glAttachShader, "glAttachShader", (void *)&glAttachShader}, - {"glIsProgram", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL20_glIsProgram, "glIsProgram", (void *)&glIsProgram}, - {"glCreateProgram", "()I", (void *)&Java_org_lwjgl_opengl_GL20_glCreateProgram, "glCreateProgram", (void *)&glCreateProgram}, - {"glDeleteShader", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glDeleteShader, "glDeleteShader", (void *)&glDeleteShader}, - {"glCompileShader", "(I)V", (void *)&Java_org_lwjgl_opengl_GL20_glCompileShader, "glCompileShader", (void *)&glCompileShader}, - {"glIsShader", "(I)Z", (void *)&Java_org_lwjgl_opengl_GL20_glIsShader, "glIsShader", (void *)&glIsShader}, - {"glCreateShader", "(I)I", (void *)&Java_org_lwjgl_opengl_GL20_glCreateShader, "glCreateShader", (void *)&glCreateShader}, - {"nglShaderSource", "(IILjava/nio/ByteBuffer;II)V", (void *)&Java_org_lwjgl_opengl_GL20_nglShaderSource, "glShaderSource", (void *)&glShaderSource} - }; - int num_functions = NUMFUNCTIONS(functions); - extgl_InitializeClass(env, clazz, num_functions, functions); -} diff --git a/src/native/common/org_lwjgl_opengl_GLContext.c b/src/native/common/org_lwjgl_opengl_GLContext.c index 20445c5f..41cff229 100644 --- a/src/native/common/org_lwjgl_opengl_GLContext.c +++ b/src/native/common/org_lwjgl_opengl_GLContext.c @@ -30,9 +30,18 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include #include "org_lwjgl_opengl_GLContext.h" #include "extgl.h" +JNIEXPORT jlong JNICALL Java_org_lwjgl_opengl_GLContext_getFunctionAddress(JNIEnv *env, jclass clazz, jstring function_name) { + char *function_name_pointer = GetStringNativeChars(env, function_name); + void *address = extgl_GetProcAddress(function_name_pointer); + free(function_name_pointer); + jlong address_jlong = (jlong)(intptr_t)address; + return address_jlong; +} + JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GLContext_nLoadOpenGLLibrary(JNIEnv * env, jclass clazz) { extgl_Open(env); } diff --git a/src/templates/org/lwjgl/opengl/NV_vertex_array_range.java b/src/templates/org/lwjgl/opengl/NV_vertex_array_range.java index 1b35f998..1f17ffc0 100644 --- a/src/templates/org/lwjgl/opengl/NV_vertex_array_range.java +++ b/src/templates/org/lwjgl/opengl/NV_vertex_array_range.java @@ -54,7 +54,7 @@ public interface NV_vertex_array_range { void glFlushVertexArrayRangeNV(); @PlatformDependent({Platform.WGL, Platform.GLX}) - @GLvoid ByteBuffer glAllocateMemoryNV(int size, float readFrequency, float writeFrequency, float priority); + @GLvoid ByteBuffer glAllocateMemoryNV(@AutoResultSize int size, float readFrequency, float writeFrequency, float priority); @PlatformDependent({Platform.WGL, Platform.GLX}) void glFreeMemoryNV(@Check @GLbyte Buffer pointer);