From a7509548413e64f81eedb5ff5dc908f94995e6d2 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 28 Jul 2023 12:17:26 +0800 Subject: [PATCH 01/44] Bump to JDK 22 --- .github/workflows/gradle.yml | 4 ++-- README.md | 12 ++++++++++-- build.gradle.kts | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 8c5e506a..6386cd01 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: java: [ - 21-ea + 22-ea ] os: [ ubuntu-latest, windows-latest ] runs-on: ${{ matrix.os }} @@ -43,7 +43,7 @@ jobs: modules/overrungl/**/build/reports/ modules/**/build/reports/ - name: Capture build artifacts - if: ${{ runner.os == 'Linux' && matrix.java == '21-ea' }} + if: ${{ runner.os == 'Linux' && matrix.java == '22-ea' }} uses: actions/upload-artifact@v3 with: name: Artifacts diff --git a/README.md b/README.md index 3705bf75..39c71230 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ## Introduction -Overrun Game Library is a high-performance library that implemented with Java 21, +Overrun Game Library is a high-performance library that implemented with Java 22, enables cross-platform access to a set of C/C++ library bindings, and provides some useful utilities. ### OverrunGL vs. LWJGL @@ -19,13 +19,21 @@ enables cross-platform access to a set of C/C++ library bindings, and provides s [LWJGL 3](https://github.com/LWJGL/lwjgl3) is also a Java library that enables native access. LWJGL 3 uses JNI to access native functions, -but OverrunGL uses [FFM API](https://openjdk.org/jeps/434), which has better performance. +but OverrunGL uses [FFM API](https://openjdk.org/jeps/8310626), which has better performance. ## Getting Started You can check our [wiki](https://github.com/Over-Run/overrungl/wiki) or the [samples](modules/samples/src/test/java/overrungl/demo). +### Enable native access + +You must enable the access of OverrunGL by adding a VM argument or a manifest attribute. + +``` +--enable-preview-acecss=overrungl.core,... +``` + ## Using as a Dependency ~~The libraries are available on Maven Central.~~ Currently, we are developing with the first version, and it is very diff --git a/build.gradle.kts b/build.gradle.kts index 569fe3a3..be51ceb9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,8 +19,8 @@ val orgName: String by project val orgUrl: String by project val developers: String by project -val jdkEABuildDoc: String? = "jdk21" -val targetJavaVersion = 21 +val jdkEABuildDoc: String? = "jdk22" +val targetJavaVersion = 22 val enablePreview = true group = projGroupId From d30e253a60d810f5d8f8435e75423e21bffefd23 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Wed, 23 Aug 2023 19:06:15 +0800 Subject: [PATCH 02/44] [OpenGL] Update extensions --- build.gradle.kts | 6 + modules/overrungl.opengl/build.gradle.kts | 16 +- .../java/overrungl/opengl/FuncParam.java | 24 - .../java/overrungl/opengl/GLExtFunc.java | 24 - .../java/overrungl/opengl/GLExtension.java | 26 - .../overrungl/opengl/OpenGLGenerator.java | 482 ---------- .../generator/java/overrungl/opengl/Type.java | 33 - .../overrungl/opengl/OpenGLGenerator.kt | 826 ++++++++++++++++++ .../main/java/overrungl/opengl/GLConstC.java | 97 -- .../main/java/overrungl/opengl/GLExtCaps.java | 48 +- .../java/overrungl/opengl/GLLoadFunc.java | 14 + .../opengl/ext/arb/GLARBRobustness.java | 137 ++- .../opengl/ext/arb/GLARBSampleLocations.java | 82 +- .../opengl/ext/arb/GLARBSampleShading.java | 43 +- .../opengl/ext/arb/GLARBShaderObjects.java | 557 ++++++------ .../ext/arb/GLARBShadingLanguageInclude.java | 115 +-- .../overrungl/opengl/ext/arb/GLARBShadow.java | 30 +- .../opengl/ext/arb/GLARBShadowAmbient.java | 28 +- .../opengl/ext/arb/GLARBSparseBuffer.java | 73 +- .../opengl/ext/arb/GLARBSparseTexture.java | 59 +- .../ext/arb/GLARBTextureBorderClamp.java | 28 +- .../ext/arb/GLARBTextureBufferObject.java | 47 +- .../ext/arb/GLARBTextureCompression.java | 139 ++- .../ext/arb/GLARBTextureCompressionBptc.java | 32 +- .../opengl/ext/arb/GLARBTextureCubeMap.java | 42 +- .../ext/arb/GLARBTextureCubeMapArray.java | 34 +- .../ext/arb/GLARBTextureEnvCombine.java | 58 +- .../opengl/ext/arb/GLARBTextureEnvDot3.java | 30 +- .../ext/arb/GLARBTextureFilterMinmax.java | 30 +- .../opengl/ext/arb/GLARBTextureFloat.java | 56 +- .../opengl/ext/arb/GLARBTextureGather.java | 30 +- .../ext/arb/GLARBTextureMirroredRepeat.java | 28 +- .../opengl/ext/arb/GLARBTextureRectangle.java | 30 +- .../GLARBTransformFeedbackOverflowQuery.java | 28 +- .../opengl/ext/arb/GLARBTransposeMatrix.java | 90 +- .../opengl/ext/arb/GLARBVertexBlend.java | 143 +++ .../ext/arb/GLARBVertexBufferObject.java | 143 +++ .../opengl/ext/arb/GLARBVertexProgram.java | 381 ++++++++ .../opengl/ext/arb/GLARBVertexShader.java | 53 ++ .../opengl/ext/arb/GLARBViewportArray.java | 37 + .../opengl/ext/arb/GLARBWindowPos.java | 149 ++++ 41 files changed, 2555 insertions(+), 1773 deletions(-) delete mode 100644 modules/overrungl.opengl/src/generator/java/overrungl/opengl/FuncParam.java delete mode 100644 modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtFunc.java delete mode 100644 modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtension.java delete mode 100644 modules/overrungl.opengl/src/generator/java/overrungl/opengl/OpenGLGenerator.java delete mode 100644 modules/overrungl.opengl/src/generator/java/overrungl/opengl/Type.java create mode 100644 modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java diff --git a/build.gradle.kts b/build.gradle.kts index 0e6decf0..20783b10 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,5 @@ import org.gradle.plugins.ide.idea.model.IdeaModel +import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension import java.nio.file.Files import kotlin.io.path.Path @@ -7,6 +8,7 @@ plugins { `maven-publish` signing id("me.champeau.jmh") version "0.7.1" apply false + embeddedKotlin("jvm") apply false } val projGroupId: String by project @@ -22,6 +24,7 @@ val developers: String by project val jdkEABuildDoc: String? = "jdk21" val targetJavaVersion = 21 val enablePreview = true +rootProject.ext["enablePreview"] = enablePreview group = projGroupId version = projVersion @@ -121,6 +124,7 @@ subprojects { apply(plugin = "java-library") apply(plugin = "idea") apply(plugin = "me.champeau.jmh") + apply(plugin = "org.jetbrains.kotlin.jvm") group = projGroupId version = projVersion @@ -198,6 +202,8 @@ subprojects { } the().module.inheritOutputDirs = true + + the().jvmToolchain(20) } tasks.register("assembleJavadocArgs") { diff --git a/modules/overrungl.opengl/build.gradle.kts b/modules/overrungl.opengl/build.gradle.kts index 63e2c606..e9b367f2 100644 --- a/modules/overrungl.opengl/build.gradle.kts +++ b/modules/overrungl.opengl/build.gradle.kts @@ -1,10 +1,22 @@ +val enablePreview: Boolean by rootProject.ext + sourceSets { create("generator") } +tasks.named("compileGeneratorJava") { + javaCompiler.set(javaToolchains.compilerFor { + targetCompatibility = "20" + languageVersion.set(JavaLanguageVersion.of(21)) + }) +} + tasks.register("generate") { classpath(sourceSets["generator"].runtimeClasspath) - jvmArgs("--enable-preview") - mainClass.set("overrungl.opengl.OpenGLGenerator") + javaLauncher.set(javaToolchains.launcherFor { + languageVersion.set(JavaLanguageVersion.of(21)) + }) + if (enablePreview) jvmArgs("--enable-preview") + mainClass.set("overrungl.opengl.OpenGLGeneratorKt") workingDir = File("src/main/java/overrungl/opengl") } diff --git a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/FuncParam.java b/modules/overrungl.opengl/src/generator/java/overrungl/opengl/FuncParam.java deleted file mode 100644 index 574da3ff..00000000 --- a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/FuncParam.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -/** - * @author squid233 - * @since 0.1.0 - */ -public record FuncParam(Type type, String name) { -} diff --git a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtFunc.java b/modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtFunc.java deleted file mode 100644 index bbbf1e36..00000000 --- a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtFunc.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -/** - * @author squid233 - * @since 0.1.0 - */ -public record GLExtFunc(String name, Type returnType, FuncParam... params) { -} diff --git a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtension.java b/modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtension.java deleted file mode 100644 index bc6089c4..00000000 --- a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/GLExtension.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -import java.util.Map; - -/** - * @author squid233 - * @since 0.1.0 - */ -public record GLExtension(String name, Map constants, GLExtFunc[] functions) { -} diff --git a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/OpenGLGenerator.java b/modules/overrungl.opengl/src/generator/java/overrungl/opengl/OpenGLGenerator.java deleted file mode 100644 index 36d7c5d1..00000000 --- a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/OpenGLGenerator.java +++ /dev/null @@ -1,482 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Map; - -/** - * @author squid233 - * @since 0.1.0 - */ -public final class OpenGLGenerator { - public static void main(String[] args) throws IOException { - generateFiles(); - } - - @SuppressWarnings("unchecked") - private static Map constants(String... strings) { - final int length = strings.length; - if (length % 2 != 0) { - throw new IllegalArgumentException(STR."strings.length must be an even; got \{length}"); - } - Map.Entry[] entries = new Map.Entry[length / 2]; - for (int i = 0; i < entries.length; i++) { - entries[i] = Map.entry(strings[i * 2], strings[i * 2 + 1]); - } - return Map.ofEntries(entries); - } - - private static Map constants(String constantsTable) { - return constants(constantsTable.split("\\s+")); - } - - private static GLExtFunc[] functions(GLExtFunc... functions) { - return functions; - } - - private static GLExtFunc func(String name, Type returnType, FuncParam... params) { - return new GLExtFunc(name, returnType, params); - } - - private static FuncParam z(String name) { - return new FuncParam(Type.Boolean, name); - } - - private static FuncParam i(String name) { - return new FuncParam(Type.Int, name); - } - - private static FuncParam j(String name) { - return new FuncParam(Type.Long, name); - } - - private static FuncParam f(String name) { - return new FuncParam(Type.Float, name); - } - - private static FuncParam p(String name) { - return new FuncParam(Type.Address, name); - } - - private static void generateFiles() throws IOException { - generateFile("GLARBRobustness", new GLExtension("GL_ARB_robustness", - constants( - "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB", "0x00000004", - "GL_LOSE_CONTEXT_ON_RESET_ARB", "0x8252", - "GL_GUILTY_CONTEXT_RESET_ARB", "0x8253", - "GL_INNOCENT_CONTEXT_RESET_ARB", "0x8254", - "GL_UNKNOWN_CONTEXT_RESET_ARB", "0x8255", - "GL_RESET_NOTIFICATION_STRATEGY_ARB", "0x8256", - "GL_NO_RESET_NOTIFICATION_ARB", "0x8261" - ), functions( - func("glGetGraphicsResetStatusARB", Type.Int), - func("glGetnCompressedTexImageARB", Type.Void, i("target"), i("lod"), i("bufSize"), p("img")), - func("glGetnTexImageARB", Type.Void, i("target"), i("level"), i("format"), i("type"), i("bufSize"), p("img")), - func("glGetnUniformdvARB", Type.Void, i("program"), i("location"), i("bufSize"), p("params")), - func("glGetnUniformfvARB", Type.Void, i("program"), i("location"), i("bufSize"), p("params")), - func("glGetnUniformivARB", Type.Void, i("program"), i("location"), i("bufSize"), p("params")), - func("glGetnUniformuivARB", Type.Void, i("program"), i("location"), i("bufSize"), p("params")), - func("glReadnPixelsARB", Type.Void, i("x"), i("y"), i("width"), i("height"), i("format"), i("type"), i("bufSize"), p("data")) - ))); - generateFile("GLARBSampleLocations", new GLExtension("GL_ARB_sample_locations", - constants( - "GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB", "0x933D", - "GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB", "0x933E", - "GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB", "0x933F", - "GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB", "0x9340", - "GL_SAMPLE_LOCATION_ARB", "0x8E50", - "GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB", "0x9341", - "GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB", "0x9342", - "GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB", "0x9343" - ), functions( - func("glEvaluateDepthValuesARB", Type.Void), - func("glFramebufferSampleLocationsfvARB", Type.Void, i("target"), i("start"), i("count"), p("v")), - func("glNamedFramebufferSampleLocationsfvARB", Type.Void, i("framebuffer"), i("start"), i("count"), p("v")) - ))); - generateFile("GLARBSampleShading", new GLExtension("GL_ARB_sample_shading", - constants( - "GL_SAMPLE_SHADING_ARB", "0x8C36", - "GL_MIN_SAMPLE_SHADING_VALUE_ARB", "0x8C37" - ), functions( - func("glMinSampleShadingARB", Type.Void, f("value")) - ))); - generateFile("GLARBShaderObjects", new GLExtension("GL_ARB_shader_objects", - constants( - "GL_PROGRAM_OBJECT_ARB", "0x8B40", - "GL_SHADER_OBJECT_ARB", "0x8B48", - "GL_OBJECT_TYPE_ARB", "0x8B4E", - "GL_OBJECT_SUBTYPE_ARB", "0x8B4F", - "GL_FLOAT_VEC2_ARB", "0x8B50", - "GL_FLOAT_VEC3_ARB", "0x8B51", - "GL_FLOAT_VEC4_ARB", "0x8B52", - "GL_INT_VEC2_ARB", "0x8B53", - "GL_INT_VEC3_ARB", "0x8B54", - "GL_INT_VEC4_ARB", "0x8B55", - "GL_BOOL_ARB", "0x8B56", - "GL_BOOL_VEC2_ARB", "0x8B57", - "GL_BOOL_VEC3_ARB", "0x8B58", - "GL_BOOL_VEC4_ARB", "0x8B59", - "GL_FLOAT_MAT2_ARB", "0x8B5A", - "GL_FLOAT_MAT3_ARB", "0x8B5B", - "GL_FLOAT_MAT4_ARB", "0x8B5C", - "GL_SAMPLER_1D_ARB", "0x8B5D", - "GL_SAMPLER_2D_ARB", "0x8B5E", - "GL_SAMPLER_3D_ARB", "0x8B5F", - "GL_SAMPLER_CUBE_ARB", "0x8B60", - "GL_SAMPLER_1D_SHADOW_ARB", "0x8B61", - "GL_SAMPLER_2D_SHADOW_ARB", "0x8B62", - "GL_SAMPLER_2D_RECT_ARB", "0x8B63", - "GL_SAMPLER_2D_RECT_SHADOW_ARB", "0x8B64", - "GL_OBJECT_DELETE_STATUS_ARB", "0x8B80", - "GL_OBJECT_COMPILE_STATUS_ARB", "0x8B81", - "GL_OBJECT_LINK_STATUS_ARB", "0x8B82", - "GL_OBJECT_VALIDATE_STATUS_ARB", "0x8B83", - "GL_OBJECT_INFO_LOG_LENGTH_ARB", "0x8B84", - "GL_OBJECT_ATTACHED_OBJECTS_ARB", "0x8B85", - "GL_OBJECT_ACTIVE_UNIFORMS_ARB", "0x8B86", - "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB", "0x8B87", - "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB", "0x8B88" - ), functions( - func("glDeleteObjectARB", Type.Void, i("obj")), - func("glGetHandleARB", Type.Int, i("pname")), - func("glDetachObjectARB", Type.Void, i("containerObj"), i("attachedObj")), - func("glCreateShaderObjectARB", Type.Int, i("shaderType")), - func("glShaderSourceARB", Type.Void, i("shaderObj"), i("count"), p("string"), p("length")), - func("glCompileShaderARB", Type.Void, i("shaderObj")), - func("glCreateProgramObjectARB", Type.Int), - func("glAttachObjectARB", Type.Void, i("containerObj"), i("obj")), - func("glLinkProgramARB", Type.Void, i("programObj")), - func("glUseProgramObjectARB", Type.Void, i("programObj")), - func("glValidateProgramARB", Type.Void, i("programObj")), - func("glUniform1fARB", Type.Void, i("location"), f("v0")), - func("glUniform2fARB", Type.Void, i("location"), f("v0"), f("v1")), - func("glUniform3fARB", Type.Void, i("location"), f("v0"), f("v1"), f("v2")), - func("glUniform4fARB", Type.Void, i("location"), f("v0"), f("v1"), f("v2"), f("v3")), - func("glUniform1iARB", Type.Void, i("location"), i("v0")), - func("glUniform2iARB", Type.Void, i("location"), i("v0"), i("v1")), - func("glUniform3iARB", Type.Void, i("location"), i("v0"), i("v1"), i("v2")), - func("glUniform4iARB", Type.Void, i("location"), i("v0"), i("v1"), i("v2"), i("v3")), - func("glUniform1fvARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniform2fvARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniform3fvARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniform4fvARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniform1ivARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniform2ivARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniform3ivARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniform4ivARB", Type.Void, i("location"), i("count"), p("value")), - func("glUniformMatrix2fvARB", Type.Void, i("location"), i("count"), z("transpose"), p("value")), - func("glUniformMatrix3fvARB", Type.Void, i("location"), i("count"), z("transpose"), p("value")), - func("glUniformMatrix4fvARB", Type.Void, i("location"), i("count"), z("transpose"), p("value")), - func("glGetObjectParameterfvARB", Type.Void, i("obj"), i("pname"), p("params")), - func("glGetObjectParameterivARB", Type.Void, i("obj"), i("pname"), p("params")), - func("glGetInfoLogARB", Type.Void, i("obj"), i("maxLength"), p("length"), p("infoLog")), - func("glGetAttachedObjectsARB", Type.Void, i("containerObj"), i("maxCount"), p("count"), p("obj")), - func("glGetUniformLocationARB", Type.Int, i("programObj"), p("name")), - func("glGetActiveUniformARB", Type.Void, i("programObj"), i("index"), i("maxLength"), p("length"), p("size"), p("type"), p("name")), - func("glGetUniformfvARB", Type.Void, i("programObj"), i("location"), p("params")), - func("glGetUniformivARB", Type.Void, i("programObj"), i("location"), p("params")), - func("glGetShaderSourceARB", Type.Void, i("obj"), i("maxLength"), p("length"), p("source")) - ))); - generateFile("GLARBShadingLanguageInclude", new GLExtension("GL_ARB_shading_language_include", - constants( - "GL_SHADER_INCLUDE_ARB", "0x8DAE", - "GL_NAMED_STRING_LENGTH_ARB", "0x8DE9", - "GL_NAMED_STRING_TYPE_ARB", "0x8DEA" - ), functions( - func("glNamedStringARB", Type.Void, i("type"), i("nameLen"), p("name"), i("stringLen"), p("string")), - func("glDeleteNamedStringARB", Type.Void, i("nameLen"), p("name")), - func("glCompileShaderIncludeARB", Type.Void, i("shader"), i("count"), p("path"), p("length")), - func("glIsNamedStringARB", Type.Boolean, i("nameLen"), p("name")), - func("glGetNamedStringARB", Type.Void, i("nameLen"), p("name"), i("bufSize"), p("stringLen"), p("string")), - func("glGetNamedStringivARB", Type.Void, i("nameLen"), p("name"), i("pname"), p("params")) - ))); - generateFile("GLARBShadow", "GL_ARB_shadow", - "GL_TEXTURE_COMPARE_MODE_ARB", "0x884C", - "GL_TEXTURE_COMPARE_FUNC_ARB", "0x884D", - "GL_COMPARE_R_TO_TEXTURE_ARB", "0x884E" - ); - generateFile("GLARBShadowAmbient", "GL_ARB_shadow_ambient", - "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB", "0x80BF"); - generateFile("GLARBSparseBuffer", new GLExtension("GL_ARB_sparse_buffer", - constants( - "GL_SPARSE_STORAGE_BIT_ARB", "0x0400", - "GL_SPARSE_BUFFER_PAGE_SIZE_ARB", "0x82F8" - ), functions( - func("glBufferPageCommitmentARB", Type.Void, i("target"), j("offset"), j("size"), z("commit")), - func("glNamedBufferPageCommitmentEXT", Type.Void, i("buffer"), j("offset"), j("size"), z("commit")), - func("glNamedBufferPageCommitmentARB", Type.Void, i("buffer"), j("offset"), j("size"), z("commit")) - ))); - generateFile("GLARBSparseTexture", new GLExtension("GL_ARB_sparse_texture", - constants( - "GL_TEXTURE_SPARSE_ARB", "0x91A6", - "GL_VIRTUAL_PAGE_SIZE_INDEX_ARB", "0x91A7", - "GL_NUM_SPARSE_LEVELS_ARB", "0x91AA", - "GL_NUM_VIRTUAL_PAGE_SIZES_ARB", "0x91A8", - "GL_VIRTUAL_PAGE_SIZE_X_ARB", "0x9195", - "GL_VIRTUAL_PAGE_SIZE_Y_ARB", "0x9196", - "GL_VIRTUAL_PAGE_SIZE_Z_ARB", "0x9197", - "GL_MAX_SPARSE_TEXTURE_SIZE_ARB", "0x9198", - "GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB", "0x9199", - "GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB", "0x919A", - "GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB", "0x91A9" - ), functions( - func("glTexPageCommitmentARB", Type.Void, i("target"), i("level"), i("xoffset"), i("yoffset"), i("zoffset"), i("width"), i("height"), i("depth"), z("commit")) - ))); - generateFile("GLARBTextureBorderClamp", "GL_ARB_texture_border_clamp", - "GL_CLAMP_TO_BORDER_ARB", "0x812D"); - generateFile("GLARBTextureBufferObject", new GLExtension("GL_ARB_texture_buffer_object", - constants( - "GL_TEXTURE_BUFFER_ARB", "0x8C2A", - "GL_MAX_TEXTURE_BUFFER_SIZE_ARB", "0x8C2B", - "GL_TEXTURE_BINDING_BUFFER_ARB", "0x8C2C", - "GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB", "0x8C2D", - "GL_TEXTURE_BUFFER_FORMAT_ARB", "0x8C2E" - ), functions( - func("glTexBufferARB", Type.Void, i("target"), i("internalFormat"), i("buffer")) - ))); - generateFile("GLARBTextureCompression", new GLExtension("GL_ARB_texture_compression", - constants( - "GL_COMPRESSED_ALPHA_ARB", "0x84E9", - "GL_COMPRESSED_LUMINANCE_ARB", "0x84EA", - "GL_COMPRESSED_LUMINANCE_ALPHA_ARB", "0x84EB", - "GL_COMPRESSED_INTENSITY_ARB", "0x84EC", - "GL_COMPRESSED_RGB_ARB", "0x84ED", - "GL_COMPRESSED_RGBA_ARB", "0x84EE", - "GL_TEXTURE_COMPRESSION_HINT_ARB", "0x84EF", - "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB", "0x86A0", - "GL_TEXTURE_COMPRESSED_ARB", "0x86A1", - "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB", "0x86A2", - "GL_COMPRESSED_TEXTURE_FORMATS_ARB", "0x86A3" - ), functions( - func("glCompressedTexImage3DARB", Type.Void, i("target"), i("level"), i("internalFormat"), i("width"), i("height"), i("depth"), i("border"), i("imageSize"), p("data")), - func("glCompressedTexImage2DARB", Type.Void, i("target"), i("level"), i("internalFormat"), i("width"), i("height"), i("border"), i("imageSize"), p("data")), - func("glCompressedTexImage1DARB", Type.Void, i("target"), i("level"), i("internalFormat"), i("width"), i("border"), i("imageSize"), p("data")), - func("glCompressedTexSubImage3DARB", Type.Void, i("target"), i("level"), i("xoffset"), i("yoffset"), i("zoffset"), i("width"), i("height"), i("depth"), i("format"), i("imageSize"), p("data")), - func("glCompressedTexSubImage2DARB", Type.Void, i("target"), i("level"), i("xoffset"), i("yoffset"), i("width"), i("height"), i("format"), i("imageSize"), p("data")), - func("glCompressedTexSubImage1DARB", Type.Void, i("target"), i("level"), i("xoffset"), i("width"), i("format"), i("imageSize"), p("data")), - func("glGetCompressedTexImageARB", Type.Void, i("target"), i("level"), p("img")) - ))); - generateFile("GLARBTextureCompressionBptc", "GL_ARB_texture_compression_bptc", - "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB", "0x8E8C", - "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB", "0x8E8D", - "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB", "0x8E8E", - "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB", "0x8E8F" - ); - generateFile("GLARBTextureCubeMap", "GL_ARB_texture_cube_map", - "GL_NORMAL_MAP_ARB", "0x8511", - "GL_REFLECTION_MAP_ARB", "0x8512", - "GL_TEXTURE_CUBE_MAP_ARB", "0x8513", - "GL_TEXTURE_BINDING_CUBE_MAP_ARB", "0x8514", - "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB", "0x8515", - "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB", "0x8516", - "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB", "0x8517", - "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB", "0x8518", - "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB", "0x8519", - "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB", "0x851A", - "GL_PROXY_TEXTURE_CUBE_MAP_ARB", "0x851B", - "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB", "0x851C" - ); - generateFile("GLARBTextureCubeMapArray", "GL_ARB_texture_cube_map_array", - "GL_TEXTURE_CUBE_MAP_ARRAY_ARB", "0x9009", - "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB", "0x900A", - "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB", "0x900B", - "GL_SAMPLER_CUBE_MAP_ARRAY_ARB", "0x900C", - "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB", "0x900D", - "GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB", "0x900E", - "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB", "0x900F" - ); - generateFile("GLARBTextureEnvCombine", "GL_ARB_texture_env_combine", - "GL_COMBINE_ARB", "0x8570", - "GL_COMBINE_RGB_ARB", "0x8571", - "GL_COMBINE_ALPHA_ARB", "0x8572", - "GL_SOURCE0_RGB_ARB", "0x8580", - "GL_SOURCE1_RGB_ARB", "0x8581", - "GL_SOURCE2_RGB_ARB", "0x8582", - "GL_SOURCE0_ALPHA_ARB", "0x8588", - "GL_SOURCE1_ALPHA_ARB", "0x8589", - "GL_SOURCE2_ALPHA_ARB", "0x858A", - "GL_OPERAND0_RGB_ARB", "0x8590", - "GL_OPERAND1_RGB_ARB", "0x8591", - "GL_OPERAND2_RGB_ARB", "0x8592", - "GL_OPERAND0_ALPHA_ARB", "0x8598", - "GL_OPERAND1_ALPHA_ARB", "0x8599", - "GL_OPERAND2_ALPHA_ARB", "0x859A", - "GL_RGB_SCALE_ARB", "0x8573", - "GL_ADD_SIGNED_ARB", "0x8574", - "GL_INTERPOLATE_ARB", "0x8575", - "GL_SUBTRACT_ARB", "0x84E7", - "GL_CONSTANT_ARB", "0x8576", - "GL_PRIMARY_COLOR_ARB", "0x8577", - "GL_PREVIOUS_ARB", "0x8578" - ); - generateFile("GLARBTextureEnvDot3", "GL_ARB_texture_env_dot3", - "GL_DOT3_RGB_ARB", "0x86AE", - "GL_DOT3_RGBA_ARB", "0x86AF" - ); - generateFile("GLARBTextureFilterMinmax", "GL_ARB_texture_filter_minmax", - "GL_TEXTURE_REDUCTION_MODE_ARB", "0x9366", - "GL_WEIGHTED_AVERAGE_ARB", "0x9367" - ); - generateFile("GLARBTextureFloat", "GL_ARB_texture_float", - "GL_TEXTURE_RED_TYPE_ARB", "0x8C10", - "GL_TEXTURE_GREEN_TYPE_ARB", "0x8C11", - "GL_TEXTURE_BLUE_TYPE_ARB", "0x8C12", - "GL_TEXTURE_ALPHA_TYPE_ARB", "0x8C13", - "GL_TEXTURE_LUMINANCE_TYPE_ARB", "0x8C14", - "GL_TEXTURE_INTENSITY_TYPE_ARB", "0x8C15", - "GL_TEXTURE_DEPTH_TYPE_ARB", "0x8C16", - "GL_UNSIGNED_NORMALIZED_ARB", "0x8C17", - "GL_RGBA32F_ARB", "0x8814", - "GL_RGB32F_ARB", "0x8815", - "GL_ALPHA32F_ARB", "0x8816", - "GL_INTENSITY32F_ARB", "0x8817", - "GL_LUMINANCE32F_ARB", "0x8818", - "GL_LUMINANCE_ALPHA32F_ARB", "0x8819", - "GL_RGBA16F_ARB", "0x881A", - "GL_RGB16F_ARB", "0x881B", - "GL_ALPHA16F_ARB", "0x881C", - "GL_INTENSITY16F_ARB", "0x881D", - "GL_LUMINANCE16F_ARB", "0x881E", - "GL_LUMINANCE_ALPHA16F_ARB", "0x881F" - ); - generateFile("GLARBTextureGather", "GL_ARB_texture_gather", """ - GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E - GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F - GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F"""); - generateFile("GLARBTextureMirroredRepeat", "GL_ARB_texture_mirrored_repeat", - "GL_MIRRORED_REPEAT_ARB", "0x8370"); - generateFile("GLARBTextureRectangle", "GL_ARB_texture_rectangle", """ - GL_TEXTURE_RECTANGLE_ARB 0x84F5 - GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 - GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 - GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8"""); - generateFile("GLARBTransformFeedbackOverflowQuery", "GL_ARB_transform_feedback_overflow_query", """ - GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC - GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED"""); - generateFile("GLARBTransposeMatrix", new GLExtension("GL_ARB_transpose_matrix", - constants(""" - GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 - GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 - GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 - GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6"""), functions( - func("glLoadTransposeMatrixfARB", Type.Void, p("m")), - func("glLoadTransposeMatrixdARB", Type.Void, p("m")), - func("glMultTransposeMatrixfARB", Type.Void, p("m")), - func("glMultTransposeMatrixdARB", Type.Void, p("m")) - ))); - } - - private static void generateFile(String filename, String extName, String constantsTable) throws IOException { - generateFile(filename, new GLExtension(extName, constants(constantsTable), null)); - } - - private static void generateFile(String filename, String extName, String... constants) throws IOException { - generateFile(filename, new GLExtension(extName, constants(constants), null)); - } - - private static void generateFile(String filename, GLExtension extension) throws IOException { - final StringBuilder sb = new StringBuilder(2048); - final boolean isArb = filename.startsWith("GLARB"); - // file-header - sb.append(""" - // this file is auto-generated. DO NOT EDIT! - package overrungl.opengl.ext"""); - if (isArb) { - sb.append(".arb"); - } - sb.append(";").append(""" - - - import overrungl.*; - import overrungl.opengl.*; - import java.lang.foreign.MemorySegment; - import static overrungl.FunctionDescriptors.*; - - /** - *""").append(" {@code ").append(extension.name()).append(""" - } - */ - public final class\s""").append(filename).append(" {"); - // constants - for (var e : extension.constants().entrySet()) { - sb.append("\n public static final int ").append(e.getKey()).append(" = ").append(e.getValue()).append(';'); - } - // load functions - final GLExtFunc[] functions = extension.functions(); - if (functions != null) { - sb.append(""" - \n - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.""").append(extension.name()).append(") return;"); - for (GLExtFunc(String name, Type returnType, FuncParam[] params) : functions) { - sb.append("\n ext.").append(name).append(" = load.invoke(\"").append(name).append("\", "); - for (FuncParam param : params) { - sb.append(param.type().shortStr()); - } - sb.append(returnType.shortStr()); - sb.append(");"); - } - sb.append("\n }\n"); - // declare methods - for (GLExtFunc(String name, Type returnType, FuncParam[] params) : functions) { - sb.append("\n public static ").append(returnType.name()).append(' ').append(name).append("("); - // parameters - int i = 0; - for (FuncParam(Type type, String paramName) : params) { - if (i > 0) sb.append(", "); - sb.append(type.name()).append(' ').append(paramName); - i++; - } - // method body - sb.append(""" - ) { - final var ext = GLLoader.getExtCapabilities(); - try { - \s"""); - if (!returnType.equals(Type.Void)) { - sb.append("return (").append(returnType.name()).append(") "); - } - // invoke function - sb.append("GLLoader.check(ext.").append(name).append(").invokeExact("); - i = 0; - for (FuncParam param : params) { - if (i > 0) sb.append(", "); - sb.append(param.name()); - i++; - } - sb.append(""" - ); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - }"""); - } - } - // eof - sb.append("\n}\n"); - String prefix; - if (isArb) { - prefix = "arb/"; - } else { - prefix = ""; - } - Files.writeString(Path.of(STR."ext/\{prefix}\{filename}.java"), sb); - } -} diff --git a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/Type.java b/modules/overrungl.opengl/src/generator/java/overrungl/opengl/Type.java deleted file mode 100644 index db4df07e..00000000 --- a/modules/overrungl.opengl/src/generator/java/overrungl/opengl/Type.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -/** - * @author squid233 - * @since 0.1.0 - */ -public record Type(String name, String shortStr) { - public static final Type Void = new Type("void", "V"); - public static final Type Boolean = new Type("byte", "Z"); - public static final Type Byte = new Type("byte", "B"); - public static final Type Short = new Type("short", "S"); - public static final Type Int = new Type("int", "I"); - public static final Type Long = new Type("long", "J"); - public static final Type Float = new Type("float", "F"); - public static final Type Double = new Type("double", "D"); - public static final Type Address = new Type("MemorySegment", "P"); -} diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt new file mode 100644 index 00000000..68ea9466 --- /dev/null +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -0,0 +1,826 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl + +import overrungl.opengl.OpenGLExt.ARB +import overrungl.opengl.OpenGLExt.CORE +import java.nio.file.Files +import kotlin.io.path.Path + +enum class OpenGLExt(val dir: String, val packageName: String, val extName: String) { + CORE("", "", ""), + ARB("ext/arb", ".ext.arb", "ARB") +} + +data class Type(val name: String, val layout: String?) { + operator fun invoke(name: String, nativeType: String? = null): Parameter = Parameter(this, name, nativeType) + override fun toString(): String = name +} + +val void = Type("void", null) +val boolean = Type("boolean", "JAVA_BYTE") +val byte = Type("byte", "JAVA_BYTE") +val short = Type("short", "JAVA_SHORT") +val int = Type("int", "JAVA_INT") +val long = Type("long", "JAVA_LONG") +val float = Type("float", "JAVA_FLOAT") +val double = Type("double", "JAVA_DOUBLE") +val address = Type("MemorySegment", "ADDRESS") +val GLboolean = boolean +val GLbyte = byte +val GLubyte = byte +val GLshort = short +val GLushort = short +val GLint = int +val GLuint = int +val GLenum = int +val GLsizei = int +val GLfloat = float +val GLdouble = double + +val GLsizeiptrARB = long +val GLintptrARB = long +val GLhandleARB = int // Don't know how to handle on APPLE +val GLcharARB = byte + +data class Parameter( + val type: Type, + val name: String, + val nativeType: String? +) + +data class Function( + val name: String, + val returnType: Type = void, + val nativeType: String?, + val params: List +) + +class OpenGLFile( + private val name: String, + private val ext: OpenGLExt = CORE, + private val extName: String = "EXT" +) { + private val constants = LinkedHashMap() + private val functions = ArrayList() + + operator fun String.invoke(value: String) { + constants[this] = value + } + + operator fun String.invoke(returnType: Type, vararg params: Parameter, nativeType: String?=null) { + functions.add(Function(this, returnType, nativeType, params.toList())) + } + + internal fun generate() { + Files.writeString(Path("${ext.dir}/GL${ext.extName}$name.java"), buildString { + // file-header + appendLine( + """ + // this file is auto-generated. DO NOT EDIT! + package overrungl.opengl${ext.packageName}; + + import overrungl.*; + import overrungl.opengl.*; + import java.lang.foreign.*; + import static java.lang.foreign.FunctionDescriptor.of; + import static java.lang.foreign.FunctionDescriptor.ofVoid; + import static java.lang.foreign.ValueLayout.*; + import static overrungl.opengl.GLLoader.*; + + /** + * {@code $extName} + */ + public final class GL${ext.extName}$name { + """.trimIndent() + ) + // constants + constants.forEach { (name, value) -> + appendLine(" public static final int $name = $value;") + } + if (functions.isNotEmpty()) { + appendLine() + // loader + appendLine(" public static void load(GLExtCaps ext, GLLoadFunc load) {") + appendLine(" if (!ext.$extName) return;") + functions.forEach { f -> + append(" ext.${f.name} = load.invoke(\"${f.name}\", ${if (f.returnType == void) "ofVoid" else "of"}(") + if (f.returnType != void) + append(f.returnType.layout) + f.params.forEachIndexed { index, it -> + if (index != 0 || f.returnType != void) append(", ") + append(it.type.layout) + } + appendLine("));") + } + appendLine(" }") + appendLine() + // functions + functions.forEach { f -> + append(" public static ") + if (f.nativeType!=null) + append("@NativeType(\"${f.nativeType}\") ") + append("${f.returnType} ${f.name}(") + f.params.forEachIndexed { index, it -> + if (index != 0) append(", ") + if (it.nativeType != null) + append("@NativeType(\"${it.nativeType}\") ") + append("${it.type} ${it.name}") + } + appendLine(") {") + appendLine(" final var ext = getExtCapabilities();") + appendLine(" try {") + if (f.returnType != void) + appendLine(" return (${f.returnType})") + append(" check(ext.${f.name}).invokeExact(") + f.params.forEachIndexed { index, it -> + if (index != 0) append(", ") + append(it.name) + } + appendLine( + """); + | } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + | } + """.trimMargin() + ) + appendLine() + } + } + appendLine("}") + }) + } +} + +fun file( + name: String, + ext: OpenGLExt = CORE, + extName: String = "EXT", + block: OpenGLFile.() -> Unit +) { + OpenGLFile(name, ext, extName).also(block).generate() +} + +fun file( + name: String, + ext: OpenGLExt = CORE, + extName: String = "EXT", + vararg const: Pair +) { + file(name, ext, extName) { + const.forEach { (name, value) -> name(value) } + } +} + +/** + * @author squid233 + * @since 0.1.0 + */ +fun main() { + file("Robustness", ARB, "GL_ARB_robustness") { + "GL_NO_RESET_NOTIFICATION_ARB"("0x8261") + "GL_RESET_NOTIFICATION_STRATEGY_ARB"("0x8256") + "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"("0x00000004") + "GL_UNKNOWN_CONTEXT_RESET_ARB"("0x8255") + "GL_LOSE_CONTEXT_ON_RESET_ARB"("0x8252") + "GL_INNOCENT_CONTEXT_RESET_ARB"("0x8254") + "GL_GUILTY_CONTEXT_RESET_ARB"("0x8253") + "glGetGraphicsResetStatusARB"(int) + "glGetnCompressedTexImageARB"(void, int("target"), int("lod"), int("bufSize"), address("img", "void*")) + "glGetnTexImageARB"( + void, + int("target"), + int("level"), + int("format"), + int("type"), + int("bufSize"), + address("img", "void*") + ) + "glGetnUniformdvARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLdouble*")) + "glGetnUniformfvARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLfloat*")) + "glGetnUniformivARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLint*")) + "glGetnUniformuivARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLuint*")) + "glReadnPixelsARB"( + void, + int("x"), + int("y"), + int("width"), + int("height"), + int("format"), + int("type"), + int("bufSize"), + address("data", "void*") + ) + } + file("SampleLocations", ARB, "GL_ARB_sample_locations") { + "GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB"("0x933D") + "GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB"("0x933E") + "GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB"("0x933F") + "GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB"("0x9340") + "GL_SAMPLE_LOCATION_ARB"("0x8E50") + "GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB"("0x9341") + "GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB"("0x9342") + "GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB"("0x9343") + "glEvaluateDepthValuesARB"(void) + "glFramebufferSampleLocationsfvARB"(void, int("target"), int("start"), int("count"), address("v", "const GLfloat *v")) + "glNamedFramebufferSampleLocationsfvARB"(void, int("framebuffer"), int("start"), int("count"), address("v", "const GLfloat *v")) + } + file("SampleShading", ARB, "GL_ARB_sample_shading") { + "GL_SAMPLE_SHADING_ARB"("0x8C36") + "GL_MIN_SAMPLE_SHADING_VALUE_ARB"("0x8C37") + "glMinSampleShadingARB"(void, float("value")) + } + file("ShaderObjects", ARB, "GL_ARB_shader_objects") { + "GL_PROGRAM_OBJECT_ARB"("0x8B40") + "GL_SHADER_OBJECT_ARB"("0x8B48") + "GL_OBJECT_TYPE_ARB"("0x8B4E") + "GL_OBJECT_SUBTYPE_ARB"("0x8B4F") + "GL_FLOAT_VEC2_ARB"("0x8B50") + "GL_FLOAT_VEC3_ARB"("0x8B51") + "GL_FLOAT_VEC4_ARB"("0x8B52") + "GL_INT_VEC2_ARB"("0x8B53") + "GL_INT_VEC3_ARB"("0x8B54") + "GL_INT_VEC4_ARB"("0x8B55") + "GL_BOOL_ARB"("0x8B56") + "GL_BOOL_VEC2_ARB"("0x8B57") + "GL_BOOL_VEC3_ARB"("0x8B58") + "GL_BOOL_VEC4_ARB"("0x8B59") + "GL_FLOAT_MAT2_ARB"("0x8B5A") + "GL_FLOAT_MAT3_ARB"("0x8B5B") + "GL_FLOAT_MAT4_ARB"("0x8B5C") + "GL_SAMPLER_1D_ARB"("0x8B5D") + "GL_SAMPLER_2D_ARB"("0x8B5E") + "GL_SAMPLER_3D_ARB"("0x8B5F") + "GL_SAMPLER_CUBE_ARB"("0x8B60") + "GL_SAMPLER_1D_SHADOW_ARB"("0x8B61") + "GL_SAMPLER_2D_SHADOW_ARB"("0x8B62") + "GL_SAMPLER_2D_RECT_ARB"("0x8B63") + "GL_SAMPLER_2D_RECT_SHADOW_ARB"("0x8B64") + "GL_OBJECT_DELETE_STATUS_ARB"("0x8B80") + "GL_OBJECT_COMPILE_STATUS_ARB"("0x8B81") + "GL_OBJECT_LINK_STATUS_ARB"("0x8B82") + "GL_OBJECT_VALIDATE_STATUS_ARB"("0x8B83") + "GL_OBJECT_INFO_LOG_LENGTH_ARB"("0x8B84") + "GL_OBJECT_ATTACHED_OBJECTS_ARB"("0x8B85") + "GL_OBJECT_ACTIVE_UNIFORMS_ARB"("0x8B86") + "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB"("0x8B87") + "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB"("0x8B88") + "glDeleteObjectARB"(void, int("obj")) + "glGetHandleARB"(int, int("pname")) + "glDetachObjectARB"(void, int("containerObj"), int("attachedObj")) + "glCreateShaderObjectARB"(int, int("shaderType")) + "glShaderSourceARB"(void, int("shaderObj"), int("count"), address("string", "const GLcharARB**"), address("length", "const GLint*")) + "glCompileShaderARB"(void, int("shaderObj")) + "glCreateProgramObjectARB"(int) + "glAttachObjectARB"(void, int("containerObj"), int("obj")) + "glLinkProgramARB"(void, int("programObj")) + "glUseProgramObjectARB"(void, int("programObj")) + "glValidateProgramARB"(void, int("programObj")) + "glUniform1fARB"(void, int("location"), float("v0")) + "glUniform2fARB"(void, int("location"), float("v0"), float("v1")) + "glUniform3fARB"(void, int("location"), float("v0"), float("v1"), float("v2")) + "glUniform4fARB"(void, int("location"), float("v0"), float("v1"), float("v2"), float("v3")) + "glUniform1iARB"(void, int("location"), int("v0")) + "glUniform2iARB"(void, int("location"), int("v0"), int("v1")) + "glUniform3iARB"(void, int("location"), int("v0"), int("v1"), int("v2")) + "glUniform4iARB"(void, int("location"), int("v0"), int("v1"), int("v2"), int("v3")) + "glUniform1fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform2fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform3fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform4fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform1ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniform2ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniform3ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniform4ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniformMatrix2fvARB"(void, int("location"), int("count"), boolean("transpose"), address("value", "const GLfloat*")) + "glUniformMatrix3fvARB"(void, int("location"), int("count"), boolean("transpose"), address("value", "const GLfloat*")) + "glUniformMatrix4fvARB"(void, int("location"), int("count"), boolean("transpose"), address("value", "const GLfloat*")) + "glGetObjectParameterfvARB"(void, int("obj"), int("pname"), address("params", "GLfloat*")) + "glGetObjectParameterivARB"(void, int("obj"), int("pname"), address("params", "GLint*")) + "glGetInfoLogARB"(void, int("obj"), int("maxLength"), address("length", "GLsizei*"), address("infoLog", "GLcharARB*")) + "glGetAttachedObjectsARB"(void, int("containerObj"), int("maxCount"), address("count", "GLsizei*"), address("obj", "GLhandleARB*")) + "glGetUniformLocationARB"(int, int("programObj"), address("name", "const GLcharARB*")) + "glGetActiveUniformARB"( + void, + int("programObj"), + int("index"), + int("maxLength"), + address("length", "GLsizei*"), + address("size", "GLint*"), + address("type", "GLenum*"), + address("name", "GLcharARB*") + ) + "glGetUniformfvARB"(void, int("programObj"), int("location"), address("params", "GLfloat*")) + "glGetUniformivARB"(void, int("programObj"), int("location"), address("params", "GLint*")) + "glGetShaderSourceARB"(void, int("obj"), int("maxLength"), address("length", "GLsizei*"), address("source", "GLcharARB*")) + } + file("ShadingLanguageInclude", ARB, "GL_ARB_shading_language_include") { + "GL_SHADER_INCLUDE_ARB"("0x8DAE") + "GL_NAMED_STRING_LENGTH_ARB"("0x8DE9") + "GL_NAMED_STRING_TYPE_ARB"("0x8DEA") + "glNamedStringARB"(void, int("type"), int("nameLen"), address("name", "const GLchar*"), int("stringLen"), address("string", "const GLchar*")) + "glDeleteNamedStringARB"(void, int("nameLen"), address("name", "const GLchar*")) + "glCompileShaderIncludeARB"(void, int("shader"), int("count"), address("path", "const GLchar *const*"), address("length", "const GLint*")) + "glIsNamedStringARB"(boolean, int("nameLen"), address("name", "const GLchar*")) + "glGetNamedStringARB"( + void, + int("nameLen"), + address("name", "const GLchar*"), + int("bufSize"), + address("stringLen", "GLint*"), + address("string", "GLchar*") + ) + "glGetNamedStringivARB"(void, int("nameLen"), address("name", "const GLchar*"), int("pname"), address("params", "GLint*")) + } + file("Shadow", ARB, "GL_ARB_shadow") { + "GL_TEXTURE_COMPARE_MODE_ARB"("0x884C") + "GL_TEXTURE_COMPARE_FUNC_ARB"("0x884D") + "GL_COMPARE_R_TO_TEXTURE_ARB"("0x884E") + } + file("ShadowAmbient", ARB, "GL_ARB_shadow_ambient") { + "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"("0x80BF") + } + file("SparseBuffer", ARB, "GL_ARB_sparse_buffer") { + "GL_SPARSE_STORAGE_BIT_ARB"("0x0400") + "GL_SPARSE_BUFFER_PAGE_SIZE_ARB"("0x82F8") + "glBufferPageCommitmentARB"(void, int("target"), long("offset"), long("size"), boolean("commit")) + "glNamedBufferPageCommitmentEXT"(void, int("buffer"), long("offset"), long("size"), boolean("commit")) + "glNamedBufferPageCommitmentARB"(void, int("buffer"), long("offset"), long("size"), boolean("commit")) + } + file("SparseTexture", ARB, "GL_ARB_sparse_texture") { + "GL_TEXTURE_SPARSE_ARB"("0x91A6") + "GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"("0x91A7") + "GL_NUM_SPARSE_LEVELS_ARB"("0x91AA") + "GL_NUM_VIRTUAL_PAGE_SIZES_ARB"("0x91A8") + "GL_VIRTUAL_PAGE_SIZE_X_ARB"("0x9195") + "GL_VIRTUAL_PAGE_SIZE_Y_ARB"("0x9196") + "GL_VIRTUAL_PAGE_SIZE_Z_ARB"("0x9197") + "GL_MAX_SPARSE_TEXTURE_SIZE_ARB"("0x9198") + "GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"("0x9199") + "GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"("0x919A") + "GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"("0x91A9") + "glTexPageCommitmentARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("yoffset"), + int("zoffset"), + int("width"), + int("height"), + int("depth"), + boolean("commit") + ) + } + file("TextureBorderClamp", ARB, "GL_ARB_texture_border_clamp") { + "GL_CLAMP_TO_BORDER_ARB"("0x812D") + } + file("TextureBufferObject", ARB, "GL_ARB_texture_buffer_object") { + "GL_TEXTURE_BUFFER_ARB"("0x8C2A") + "GL_MAX_TEXTURE_BUFFER_SIZE_ARB"("0x8C2B") + "GL_TEXTURE_BINDING_BUFFER_ARB"("0x8C2C") + "GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"("0x8C2D") + "GL_TEXTURE_BUFFER_FORMAT_ARB"("0x8C2E") + "glTexBufferARB"(void, int("target"), int("internalFormat"), int("buffer")) + } + file("TextureCompression", ARB, "GL_ARB_texture_compression") { + "GL_COMPRESSED_ALPHA_ARB"("0x84E9") + "GL_COMPRESSED_LUMINANCE_ARB"("0x84EA") + "GL_COMPRESSED_LUMINANCE_ALPHA_ARB"("0x84EB") + "GL_COMPRESSED_INTENSITY_ARB"("0x84EC") + "GL_COMPRESSED_RGB_ARB"("0x84ED") + "GL_COMPRESSED_RGBA_ARB"("0x84EE") + "GL_TEXTURE_COMPRESSION_HINT_ARB"("0x84EF") + "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB"("0x86A0") + "GL_TEXTURE_COMPRESSED_ARB"("0x86A1") + "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB"("0x86A2") + "GL_COMPRESSED_TEXTURE_FORMATS_ARB"("0x86A3") + "glCompressedTexImage3DARB"( + void, + int("target"), + int("level"), + int("internalFormat"), + int("width"), + int("height"), + int("depth"), + int("border"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexImage2DARB"( + void, + int("target"), + int("level"), + int("internalFormat"), + int("width"), + int("height"), + int("border"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexImage1DARB"( + void, + int("target"), + int("level"), + int("internalFormat"), + int("width"), + int("border"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexSubImage3DARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("yoffset"), + int("zoffset"), + int("width"), + int("height"), + int("depth"), + int("format"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexSubImage2DARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("yoffset"), + int("width"), + int("height"), + int("format"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexSubImage1DARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("width"), + int("format"), + int("imageSize"), + address("data", "const void*") + ) + "glGetCompressedTexImageARB"(void, int("target"), int("level"), address("img", "void*")) + } + file("TextureCompressionBptc", ARB, "GL_ARB_texture_compression_bptc") { + "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"("0x8E8C") + "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"("0x8E8D") + "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"("0x8E8E") + "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"("0x8E8F") + } + file("TextureCubeMap", ARB, "GL_ARB_texture_cube_map") { + "GL_NORMAL_MAP_ARB"("0x8511") + "GL_REFLECTION_MAP_ARB"("0x8512") + "GL_TEXTURE_CUBE_MAP_ARB"("0x8513") + "GL_TEXTURE_BINDING_CUBE_MAP_ARB"("0x8514") + "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"("0x8515") + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"("0x8516") + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"("0x8517") + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"("0x8518") + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"("0x8519") + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"("0x851A") + "GL_PROXY_TEXTURE_CUBE_MAP_ARB"("0x851B") + "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB"("0x851C") + } + file("TextureCubeMapArray", ARB, "GL_ARB_texture_cube_map_array") { + "GL_TEXTURE_CUBE_MAP_ARRAY_ARB"("0x9009") + "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB"("0x900A") + "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB"("0x900B") + "GL_SAMPLER_CUBE_MAP_ARRAY_ARB"("0x900C") + "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB"("0x900D") + "GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"("0x900E") + "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"("0x900F") + } + file("TextureEnvCombine", ARB, "GL_ARB_texture_env_combine") { + "GL_COMBINE_ARB"("0x8570") + "GL_COMBINE_RGB_ARB"("0x8571") + "GL_COMBINE_ALPHA_ARB"("0x8572") + "GL_SOURCE0_RGB_ARB"("0x8580") + "GL_SOURCE1_RGB_ARB"("0x8581") + "GL_SOURCE2_RGB_ARB"("0x8582") + "GL_SOURCE0_ALPHA_ARB"("0x8588") + "GL_SOURCE1_ALPHA_ARB"("0x8589") + "GL_SOURCE2_ALPHA_ARB"("0x858A") + "GL_OPERAND0_RGB_ARB"("0x8590") + "GL_OPERAND1_RGB_ARB"("0x8591") + "GL_OPERAND2_RGB_ARB"("0x8592") + "GL_OPERAND0_ALPHA_ARB"("0x8598") + "GL_OPERAND1_ALPHA_ARB"("0x8599") + "GL_OPERAND2_ALPHA_ARB"("0x859A") + "GL_RGB_SCALE_ARB"("0x8573") + "GL_ADD_SIGNED_ARB"("0x8574") + "GL_INTERPOLATE_ARB"("0x8575") + "GL_SUBTRACT_ARB"("0x84E7") + "GL_CONSTANT_ARB"("0x8576") + "GL_PRIMARY_COLOR_ARB"("0x8577") + "GL_PREVIOUS_ARB"("0x8578") + } + file("TextureEnvDot3", ARB, "GL_ARB_texture_env_dot3") { + "GL_DOT3_RGB_ARB"("0x86AE") + "GL_DOT3_RGBA_ARB"("0x86AF") + } + file("TextureFilterMinmax", ARB, "GL_ARB_texture_filter_minmax") { + "GL_TEXTURE_REDUCTION_MODE_ARB"("0x9366") + "GL_WEIGHTED_AVERAGE_ARB"("0x9367") + } + file("TextureFloat", ARB, "GL_ARB_texture_float") { + "GL_TEXTURE_RED_TYPE_ARB"("0x8C10") + "GL_TEXTURE_GREEN_TYPE_ARB"("0x8C11") + "GL_TEXTURE_BLUE_TYPE_ARB"("0x8C12") + "GL_TEXTURE_ALPHA_TYPE_ARB"("0x8C13") + "GL_TEXTURE_LUMINANCE_TYPE_ARB"("0x8C14") + "GL_TEXTURE_INTENSITY_TYPE_ARB"("0x8C15") + "GL_TEXTURE_DEPTH_TYPE_ARB"("0x8C16") + "GL_UNSIGNED_NORMALIZED_ARB"("0x8C17") + "GL_RGBA32F_ARB"("0x8814") + "GL_RGB32F_ARB"("0x8815") + "GL_ALPHA32F_ARB"("0x8816") + "GL_INTENSITY32F_ARB"("0x8817") + "GL_LUMINANCE32F_ARB"("0x8818") + "GL_LUMINANCE_ALPHA32F_ARB"("0x8819") + "GL_RGBA16F_ARB"("0x881A") + "GL_RGB16F_ARB"("0x881B") + "GL_ALPHA16F_ARB"("0x881C") + "GL_INTENSITY16F_ARB"("0x881D") + "GL_LUMINANCE16F_ARB"("0x881E") + "GL_LUMINANCE_ALPHA16F_ARB"("0x881F") + } + file("TextureGather", ARB, "GL_ARB_texture_gather") { + "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"("0x8E5E") + "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"("0x8E5F") + "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB"("0x8F9F") + } + file("TextureMirroredRepeat", ARB, "GL_ARB_texture_mirrored_repeat") { + "GL_MIRRORED_REPEAT_ARB"("0x8370") + } + file("TextureRectangle", ARB, "GL_ARB_texture_rectangle") { + "GL_TEXTURE_RECTANGLE_ARB"("0x84F5") + "GL_TEXTURE_BINDING_RECTANGLE_ARB"("0x84F6") + "GL_PROXY_TEXTURE_RECTANGLE_ARB"("0x84F7") + "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB"("0x84F8") + } + file("TransformFeedbackOverflowQuery", ARB, "GL_ARB_transform_feedback_overflow_query") { + "GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB"("0x82EC") + "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB"("0x82ED") + } + file("TransposeMatrix", ARB, "GL_ARB_transpose_matrix") { + "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"("0x84E3") + "GL_TRANSPOSE_PROJECTION_MATRIX_ARB"("0x84E4") + "GL_TRANSPOSE_TEXTURE_MATRIX_ARB"("0x84E5") + "GL_TRANSPOSE_COLOR_MATRIX_ARB"("0x84E6") + "glLoadTransposeMatrixfARB"(void, address("m", "const GLfloat*")) + "glLoadTransposeMatrixdARB"(void, address("m", "const GLdouble*")) + "glMultTransposeMatrixfARB"(void, address("m", "const GLfloat*")) + "glMultTransposeMatrixdARB"(void, address("m", "const GLdouble*")) + } + file("VertexBlend", ARB, "GL_ARB_vertex_blend") { + "GL_MAX_VERTEX_UNITS_ARB"("0x86A4") + "GL_ACTIVE_VERTEX_UNITS_ARB"("0x86A5") + "GL_WEIGHT_SUM_UNITY_ARB"("0x86A6") + "GL_VERTEX_BLEND_ARB"("0x86A7") + "GL_CURRENT_WEIGHT_ARB"("0x86A8") + "GL_WEIGHT_ARRAY_TYPE_ARB"("0x86A9") + "GL_WEIGHT_ARRAY_STRIDE_ARB"("0x86AA") + "GL_WEIGHT_ARRAY_SIZE_ARB"("0x86AB") + "GL_WEIGHT_ARRAY_POINTER_ARB"("0x86AC") + "GL_WEIGHT_ARRAY_ARB"("0x86AD") + "GL_MODELVIEW0_ARB"("0x1700") + "GL_MODELVIEW1_ARB"("0x850A") + "GL_MODELVIEW2_ARB"("0x8722") + "GL_MODELVIEW3_ARB"("0x8723") + "GL_MODELVIEW4_ARB"("0x8724") + "GL_MODELVIEW5_ARB"("0x8725") + "GL_MODELVIEW6_ARB"("0x8726") + "GL_MODELVIEW7_ARB"("0x8727") + "GL_MODELVIEW8_ARB"("0x8728") + "GL_MODELVIEW9_ARB"("0x8729") + "GL_MODELVIEW10_ARB"("0x872A") + "GL_MODELVIEW11_ARB"("0x872B") + "GL_MODELVIEW12_ARB"("0x872C") + "GL_MODELVIEW13_ARB"("0x872D") + "GL_MODELVIEW14_ARB"("0x872E") + "GL_MODELVIEW15_ARB"("0x872F") + "GL_MODELVIEW16_ARB"("0x8730") + "GL_MODELVIEW17_ARB"("0x8731") + "GL_MODELVIEW18_ARB"("0x8732") + "GL_MODELVIEW19_ARB"("0x8733") + "GL_MODELVIEW20_ARB"("0x8734") + "GL_MODELVIEW21_ARB"("0x8735") + "GL_MODELVIEW22_ARB"("0x8736") + "GL_MODELVIEW23_ARB"("0x8737") + "GL_MODELVIEW24_ARB"("0x8738") + "GL_MODELVIEW25_ARB"("0x8739") + "GL_MODELVIEW26_ARB"("0x873A") + "GL_MODELVIEW27_ARB"("0x873B") + "GL_MODELVIEW28_ARB"("0x873C") + "GL_MODELVIEW29_ARB"("0x873D") + "GL_MODELVIEW30_ARB"("0x873E") + "GL_MODELVIEW31_ARB"("0x873F") + "glWeightbvARB"(void, GLint("size"), address("weights", "const GLbyte*")) + "glWeightsvARB"(void, GLint("size"), address("weights", "const GLshort*")) + "glWeightivARB"(void, GLint("size"), address("weights", "const GLint*")) + "glWeightfvARB"(void, GLint("size"), address("weights", "const GLfloat*")) + "glWeightdvARB"(void, GLint("size"), address("weights", "const GLdouble*")) + "glWeightubvARB"(void, GLint("size"), address("weights", "const GLubyte*")) + "glWeightusvARB"(void, GLint("size"), address("weights", "const GLushort*")) + "glWeightuivARB"(void, GLint("size"), address("weights", "const GLuint*")) + "glWeightPointerARB"(void, GLint("size"), GLenum("type"), GLsizei("stride"), address("pointer", "const void*")) + "glVertexBlendARB"(void, GLint("count")) + } + file("VertexBufferObject", ARB, "GL_ARB_vertex_buffer_object") { + "GL_BUFFER_SIZE_ARB"("0x8764") + "GL_BUFFER_USAGE_ARB"("0x8765") + "GL_ARRAY_BUFFER_ARB"("0x8892") + "GL_ELEMENT_ARRAY_BUFFER_ARB"("0x8893") + "GL_ARRAY_BUFFER_BINDING_ARB"("0x8894") + "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB"("0x8895") + "GL_VERTEX_ARRAY_BUFFER_BINDING_ARB"("0x8896") + "GL_NORMAL_ARRAY_BUFFER_BINDING_ARB"("0x8897") + "GL_COLOR_ARRAY_BUFFER_BINDING_ARB"("0x8898") + "GL_INDEX_ARRAY_BUFFER_BINDING_ARB"("0x8899") + "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB"("0x889A") + "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB"("0x889B") + "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB"("0x889C") + "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB"("0x889D") + "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB"("0x889E") + "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB"("0x889F") + "GL_READ_ONLY_ARB"("0x88B8") + "GL_WRITE_ONLY_ARB"("0x88B9") + "GL_READ_WRITE_ARB"("0x88BA") + "GL_BUFFER_ACCESS_ARB"("0x88BB") + "GL_BUFFER_MAPPED_ARB"("0x88BC") + "GL_BUFFER_MAP_POINTER_ARB"("0x88BD") + "GL_STREAM_DRAW_ARB"("0x88E0") + "GL_STREAM_READ_ARB"("0x88E1") + "GL_STREAM_COPY_ARB"("0x88E2") + "GL_STATIC_DRAW_ARB"("0x88E4") + "GL_STATIC_READ_ARB"("0x88E5") + "GL_STATIC_COPY_ARB"("0x88E6") + "GL_DYNAMIC_DRAW_ARB"("0x88E8") + "GL_DYNAMIC_READ_ARB"("0x88E9") + "GL_DYNAMIC_COPY_ARB"("0x88EA") + "glBindBufferARB"(void, GLenum("target"), GLuint("buffer")) + "glDeleteBuffersARB"(void, GLsizei("n"), address("buffers", "const GLuint*")) + "glGenBuffersARB"(void, GLsizei("n"), address("buffers", "GLuint*")) + "glIsBufferARB"(boolean, GLuint("buffer")) + "glBufferDataARB"( + void, + GLenum("target"), + GLsizeiptrARB("size"), + address("data", "const void*"), + GLenum("usage") + ) + "glBufferSubDataARB"( + void, + GLenum("target"), + GLintptrARB("offset"), + GLsizeiptrARB("size"), + address("data", "const void*") + ) + "glGetBufferSubDataARB"( + void, + GLenum("target"), + GLintptrARB("offset"), + GLsizeiptrARB("size"), + address("data", "void*") + ) + "glMapBufferARB"(address, GLenum("target"), GLenum("access"), nativeType = "void*") + "glUnmapBufferARB"(boolean, GLenum("target")) + "glGetBufferParameterivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint*")) + "glGetBufferPointervARB"(void, GLenum("target"), GLenum("pname"), address("params", "void**")) + } + file("VertexProgram", ARB, "GL_ARB_vertex_program") { + "GL_COLOR_SUM_ARB"("0x8458") + "GL_VERTEX_PROGRAM_ARB"("0x8620") + "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"("0x8622") + "GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"("0x8623") + "GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"("0x8624") + "GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"("0x8625") + "GL_CURRENT_VERTEX_ATTRIB_ARB"("0x8626") + "GL_VERTEX_PROGRAM_POINT_SIZE_ARB"("0x8642") + "GL_VERTEX_PROGRAM_TWO_SIDE_ARB"("0x8643") + "GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"("0x8645") + "GL_MAX_VERTEX_ATTRIBS_ARB"("0x8869") + "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"("0x886A") + "GL_PROGRAM_ADDRESS_REGISTERS_ARB"("0x88B0") + "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"("0x88B1") + "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"("0x88B2") + "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"("0x88B3") + "glVertexAttrib1dARB"(void, GLuint("index"), GLdouble("x")) + "glVertexAttrib1dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib1fARB"(void, GLuint("index"), GLfloat("x")) + "glVertexAttrib1fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib1sARB"(void, GLuint("index"), GLshort("x")) + "glVertexAttrib1svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib2dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y")) + "glVertexAttrib2dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib2fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y")) + "glVertexAttrib2fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib2sARB"(void, GLuint("index"), GLshort("x"), GLshort("y")) + "glVertexAttrib2svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib3dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glVertexAttrib3dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib3fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glVertexAttrib3fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib3sARB"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z")) + "glVertexAttrib3svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4NbvARB"(void, GLuint("index"), address("v", "const GLbyte *")) + "glVertexAttrib4NivARB"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttrib4NsvARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4NubARB"(void, GLuint("index"), GLubyte("x"), GLubyte("y"), GLubyte("z"), GLubyte("w")) + "glVertexAttrib4NubvARB"(void, GLuint("index"), address("v", "const GLubyte *")) + "glVertexAttrib4NuivARB"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttrib4NusvARB"(void, GLuint("index"), address("v", "const GLushort *")) + "glVertexAttrib4bvARB"(void, GLuint("index"), address("v", "const GLbyte *")) + "glVertexAttrib4dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z"), GLdouble("w")) + "glVertexAttrib4dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib4fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z"), GLfloat("w")) + "glVertexAttrib4fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib4ivARB"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttrib4sARB"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z"), GLshort("w")) + "glVertexAttrib4svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4ubvARB"(void, GLuint("index"), address("v", "const GLubyte *")) + "glVertexAttrib4uivARB"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttrib4usvARB"(void, GLuint("index"), address("v", "const GLushort *")) + "glVertexAttribPointerARB"( + void, + GLuint("index"), + GLint("size"), + GLenum("type"), + GLboolean("normalized"), + GLsizei("stride"), + address("pointer", "const void *") + ) + "glEnableVertexAttribArrayARB"(void, GLuint("index")) + "glDisableVertexAttribArrayARB"(void, GLuint("index")) + "glGetVertexAttribdvARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLdouble *")) + "glGetVertexAttribfvARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLfloat *")) + "glGetVertexAttribivARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLint *")) + "glGetVertexAttribPointervARB"(void, GLuint("index"), GLenum("pname"), address("pointer", "void **")) + } + file("VertexShader", ARB, "GL_ARB_vertex_shader") { + "GL_VERTEX_SHADER_ARB"("0x8B31") + "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB"("0x8B4A") + "GL_MAX_VARYING_FLOATS_ARB"("0x8B4B") + "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"("0x8B4C") + "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB"("0x8B4D") + "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB"("0x8B89") + "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB"("0x8B8A") + "glBindAttribLocationARB"( + void, + GLhandleARB("programObj"), + GLuint("index"), + address("name", "const GLcharARB *") + ) + "glGetActiveAttribARB"( + void, + GLhandleARB("programObj"), + GLuint("index"), + GLsizei("maxLength"), + address("length", "GLsizei *"), + address("size", "GLint *"), + address("type", "GLenum *"), + address("name", "GLcharARB *") + ) + "glGetAttribLocationARB"(GLint, GLhandleARB("programObj"), address("name", "const GLcharARB *")) + } + file("ViewportArray", ARB, "GL_ARB_viewport_array") { + "glDepthRangeArraydvNV"(void, GLuint("first"), GLsizei("count"), address("v", "const GLdouble *")) + "glDepthRangeIndexeddNV"(void, GLuint("index"), GLdouble("n"), GLdouble("f")) + } + file("WindowPos", ARB, "GL_ARB_window_pos") { + "glWindowPos2dARB"(void, GLdouble("x"), GLdouble("y")) + "glWindowPos2dvARB"(void, address("v", "const GLdouble *")) + "glWindowPos2fARB"(void, GLfloat("x"), GLfloat("y")) + "glWindowPos2fvARB"(void, address("v", "const GLfloat *")) + "glWindowPos2iARB"(void, GLint("x"), GLint("y")) + "glWindowPos2ivARB"(void, address("v", "const GLint *")) + "glWindowPos2sARB"(void, GLshort("x"), GLshort("y")) + "glWindowPos2svARB"(void, address("v", "const GLshort *")) + "glWindowPos3dARB"(void, GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glWindowPos3dvARB"(void, address("v", "const GLdouble *")) + "glWindowPos3fARB"(void, GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glWindowPos3fvARB"(void, address("v", "const GLfloat *")) + "glWindowPos3iARB"(void, GLint("x"), GLint("y"), GLint("z")) + "glWindowPos3ivARB"(void, address("v", "const GLint *")) + "glWindowPos3sARB"(void, GLshort("x"), GLshort("y"), GLshort("z")) + "glWindowPos3svARB"(void, address("v", "const GLshort *")) + } +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java index ac5f4e93..91a9e0a4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java @@ -52,7 +52,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_ACTIVE_TEXTURE_ARB = 0x84E0; public static final int GL_ACTIVE_VARYINGS_NV = 0x8C81; public static final int GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; - public static final int GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5; public static final int GL_ADD_ATI = 0x8963; public static final int GL_ADD_SIGNED_EXT = 0x8574; public static final int GL_ADJACENT_PAIRS_NV = 0x90AE; @@ -95,8 +94,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_ALWAYS_FAST_HINT_PGI = 0x1A20C; public static final int GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D; public static final int GL_ARC_TO_NV = 0xFE; - public static final int GL_ARRAY_BUFFER_ARB = 0x8892; - public static final int GL_ARRAY_BUFFER_BINDING_ARB = 0x8894; public static final int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; public static final int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; public static final int GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; @@ -157,17 +154,12 @@ public sealed class GLConstC permits GLConst { public static final int GL_BOLD_BIT_NV = 0x01; public static final int GL_BOUNDING_BOX_NV = 0x908D; public static final int GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; - public static final int GL_BUFFER_ACCESS_ARB = 0x88BB; public static final int GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; public static final int GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D; - public static final int GL_BUFFER_MAPPED_ARB = 0x88BC; - public static final int GL_BUFFER_MAP_POINTER_ARB = 0x88BD; public static final int GL_BUFFER_OBJECT_APPLE = 0x85B3; public static final int GL_BUFFER_OBJECT_EXT = 0x9151; public static final int GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; - public static final int GL_BUFFER_SIZE_ARB = 0x8764; public static final int GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; - public static final int GL_BUFFER_USAGE_ARB = 0x8765; public static final int GL_BUMP_ENVMAP_ATI = 0x877B; public static final int GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777; public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775; @@ -201,7 +193,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_COLORDODGE_NV = 0x9299; public static final int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; public static final int GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23; - public static final int GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; public static final int GL_COLOR_ARRAY_COUNT_EXT = 0x8084; public static final int GL_COLOR_ARRAY_EXT = 0x8076; public static final int GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D; @@ -239,7 +230,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_COLOR_MATRIX_SGI = 0x80B1; public static final int GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; public static final int GL_COLOR_SAMPLES_NV = 0x8E20; - public static final int GL_COLOR_SUM_ARB = 0x8458; public static final int GL_COLOR_SUM_CLAMP_NV = 0x854F; public static final int GL_COLOR_SUM_EXT = 0x8458; public static final int GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; @@ -430,10 +420,8 @@ public sealed class GLConstC permits GLConst { public static final int GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459; public static final int GL_CURRENT_TANGENT_EXT = 0x843B; public static final int GL_CURRENT_TIME_NV = 0x8E28; - public static final int GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626; public static final int GL_CURRENT_VERTEX_EXT = 0x87E2; public static final int GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B; - public static final int GL_CURRENT_WEIGHT_ARB = 0x86A8; public static final int GL_D3D12_FENCE_VALUE_EXT = 0x9595; public static final int GL_DARKEN_KHR = 0x9297; public static final int GL_DARKEN_NV = 0x9297; @@ -599,12 +587,8 @@ public sealed class GLConstC permits GLConst { public static final int GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; public static final int GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; public static final int GL_DYNAMIC_ATI = 0x8761; - public static final int GL_DYNAMIC_COPY_ARB = 0x88EA; - public static final int GL_DYNAMIC_DRAW_ARB = 0x88E8; - public static final int GL_DYNAMIC_READ_ARB = 0x88E9; public static final int GL_EDGEFLAG_BIT_PGI = 0x00040000; public static final int GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; - public static final int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; public static final int GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; public static final int GL_EDGE_FLAG_ARRAY_EXT = 0x8079; public static final int GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; @@ -619,8 +603,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_ELEMENT_ARRAY_APPLE = 0x8A0C; public static final int GL_ELEMENT_ARRAY_ATI = 0x8768; public static final int GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; - public static final int GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893; - public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; public static final int GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33; public static final int GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; public static final int GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; @@ -706,7 +688,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_FLOAT_RGB_NV = 0x8882; public static final int GL_FLOAT_RG_NV = 0x8881; public static final int GL_FLOAT_R_NV = 0x8880; - public static final int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; public static final int GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; public static final int GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076; public static final int GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; @@ -918,7 +899,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_INCLUSIVE_EXT = 0x8F10; public static final int GL_INCR_WRAP_EXT = 0x8507; public static final int GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24; - public static final int GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; public static final int GL_INDEX_ARRAY_COUNT_EXT = 0x8087; public static final int GL_INDEX_ARRAY_EXT = 0x8077; public static final int GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E; @@ -1205,7 +1185,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; public static final int GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; public static final int GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; - public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; public static final int GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; public static final int GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A; public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; @@ -1263,7 +1242,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_MAX_PALETTE_MATRICES_ARB = 0x8842; public static final int GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; public static final int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; - public static final int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; public static final int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; public static final int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; public static final int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; @@ -1279,7 +1257,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; public static final int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; public static final int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; - public static final int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; public static final int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; public static final int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; public static final int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; @@ -1344,9 +1321,7 @@ public sealed class GLConstC permits GLConst { public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; public static final int GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B; - public static final int GL_MAX_VARYING_FLOATS_ARB = 0x8B4B; public static final int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; - public static final int GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869; public static final int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; public static final int GL_MAX_VERTEX_HINT_PGI = 0x1A22D; public static final int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; @@ -1355,9 +1330,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; public static final int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; public static final int GL_MAX_VERTEX_STREAMS_ATI = 0x876B; - public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; - public static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; - public static final int GL_MAX_VERTEX_UNITS_ARB = 0x86A4; public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; public static final int GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14; public static final int GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; @@ -1395,44 +1367,11 @@ public sealed class GLConstC permits GLConst { public static final int GL_MITER_TRUNCATE_NV = 0x90A8; public static final int GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; public static final int GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; - public static final int GL_MODELVIEW0_ARB = 0x1700; public static final int GL_MODELVIEW0_EXT = 0x1700; public static final int GL_MODELVIEW0_MATRIX_EXT = 0x0BA6; - public static final int GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; - public static final int GL_MODELVIEW10_ARB = 0x872A; - public static final int GL_MODELVIEW11_ARB = 0x872B; - public static final int GL_MODELVIEW12_ARB = 0x872C; - public static final int GL_MODELVIEW13_ARB = 0x872D; - public static final int GL_MODELVIEW14_ARB = 0x872E; - public static final int GL_MODELVIEW15_ARB = 0x872F; - public static final int GL_MODELVIEW16_ARB = 0x8730; - public static final int GL_MODELVIEW17_ARB = 0x8731; - public static final int GL_MODELVIEW18_ARB = 0x8732; - public static final int GL_MODELVIEW19_ARB = 0x8733; - public static final int GL_MODELVIEW1_ARB = 0x850A; public static final int GL_MODELVIEW1_EXT = 0x850A; public static final int GL_MODELVIEW1_MATRIX_EXT = 0x8506; public static final int GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502; - public static final int GL_MODELVIEW20_ARB = 0x8734; - public static final int GL_MODELVIEW21_ARB = 0x8735; - public static final int GL_MODELVIEW22_ARB = 0x8736; - public static final int GL_MODELVIEW23_ARB = 0x8737; - public static final int GL_MODELVIEW24_ARB = 0x8738; - public static final int GL_MODELVIEW25_ARB = 0x8739; - public static final int GL_MODELVIEW26_ARB = 0x873A; - public static final int GL_MODELVIEW27_ARB = 0x873B; - public static final int GL_MODELVIEW28_ARB = 0x873C; - public static final int GL_MODELVIEW29_ARB = 0x873D; - public static final int GL_MODELVIEW2_ARB = 0x8722; - public static final int GL_MODELVIEW30_ARB = 0x873E; - public static final int GL_MODELVIEW31_ARB = 0x873F; - public static final int GL_MODELVIEW3_ARB = 0x8723; - public static final int GL_MODELVIEW4_ARB = 0x8724; - public static final int GL_MODELVIEW5_ARB = 0x8725; - public static final int GL_MODELVIEW6_ARB = 0x8726; - public static final int GL_MODELVIEW7_ARB = 0x8727; - public static final int GL_MODELVIEW8_ARB = 0x8728; - public static final int GL_MODELVIEW9_ARB = 0x8729; public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; public static final int GL_MODULATE_ADD_ATI = 0x8744; public static final int GL_MODULATE_SIGNED_ADD_ATI = 0x8745; @@ -1474,7 +1413,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_NOP_COMMAND_NV = 0x0001; public static final int GL_NORMALIZED_RANGE_EXT = 0x87E0; public static final int GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22; - public static final int GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; public static final int GL_NORMAL_ARRAY_COUNT_EXT = 0x8080; public static final int GL_NORMAL_ARRAY_EXT = 0x8075; public static final int GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C; @@ -1501,8 +1439,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_NUM_TILING_TYPES_EXT = 0x9582; public static final int GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; public static final int GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15; - public static final int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; - public static final int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; public static final int GL_OBJECT_BUFFER_SIZE_ATI = 0x8764; public static final int GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; public static final int GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; @@ -1781,7 +1717,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_PRIMITIVE_RESTART_NV = 0x8558; public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; - public static final int GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; public static final int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; public static final int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; public static final int GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; @@ -1798,7 +1733,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_PROGRAM_LENGTH_NV = 0x8627; public static final int GL_PROGRAM_MATRIX_EXT = 0x8E2D; public static final int GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; - public static final int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; public static final int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; public static final int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; public static final int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; @@ -1891,11 +1825,9 @@ public sealed class GLConstC permits GLConst { public static final int GL_RASTER_SAMPLES_EXT = 0x9328; public static final int GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; public static final int GL_READ_FRAMEBUFFER_EXT = 0x8CA8; - public static final int GL_READ_ONLY_ARB = 0x88B8; public static final int GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; public static final int GL_READ_PIXEL_DATA_RANGE_NV = 0x8879; public static final int GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; - public static final int GL_READ_WRITE_ARB = 0x88BA; public static final int GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; public static final int GL_RECT_NV = 0xF6; public static final int GL_REDUCE_EXT = 0x8016; @@ -2117,7 +2049,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_SCREEN_KHR = 0x9295; public static final int GL_SCREEN_NV = 0x9295; public static final int GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; - public static final int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; public static final int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; public static final int GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; public static final int GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; @@ -2241,9 +2172,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_STANDARD_FONT_FORMAT_NV = 0x936C; public static final int GL_STANDARD_FONT_NAME_NV = 0x9072; public static final int GL_STATIC_ATI = 0x8760; - public static final int GL_STATIC_COPY_ARB = 0x88E6; - public static final int GL_STATIC_DRAW_ARB = 0x88E4; - public static final int GL_STATIC_READ_ARB = 0x88E5; public static final int GL_STATIC_VERTEX_ARRAY_IBM = 103061; public static final int GL_STENCIL_ATTACHMENT_EXT = 0x8D20; public static final int GL_STENCIL_BACK_FAIL_ATI = 0x8801; @@ -2265,10 +2193,7 @@ public sealed class GLConstC permits GLConst { public static final int GL_STORAGE_CLIENT_APPLE = 0x85B4; public static final int GL_STORAGE_PRIVATE_APPLE = 0x85BD; public static final int GL_STORAGE_SHARED_APPLE = 0x85BF; - public static final int GL_STREAM_COPY_ARB = 0x88E2; - public static final int GL_STREAM_DRAW_ARB = 0x88E0; public static final int GL_STREAM_RASTERIZATION_AMD = 0x91A0; - public static final int GL_STREAM_READ_ARB = 0x88E1; public static final int GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; public static final int GL_STRICT_LIGHTING_HINT_PGI = 0x1A217; public static final int GL_STRICT_SCISSOR_HINT_PGI = 0x1A218; @@ -2369,7 +2294,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_TEXTURE_COMPARE_SGIX = 0x819A; public static final int GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; public static final int GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; - public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; public static final int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; public static final int GL_TEXTURE_COORD_ARRAY_EXT = 0x8078; public static final int GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; @@ -2604,7 +2528,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_VERTEX4_BIT_PGI = 0x00000008; public static final int GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21; public static final int GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5; - public static final int GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; public static final int GL_VERTEX_ARRAY_COUNT_EXT = 0x807D; public static final int GL_VERTEX_ARRAY_EXT = 0x8074; public static final int GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B; @@ -2644,16 +2567,9 @@ public sealed class GLConstC permits GLConst { public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; public static final int GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; public static final int GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; - public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; - public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; public static final int GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; - public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; - public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; - public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; - public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; - public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; public static final int GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; public static final int GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; public static final int GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; @@ -2665,7 +2581,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; public static final int GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; public static final int GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; - public static final int GL_VERTEX_BLEND_ARB = 0x86A7; public static final int GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; public static final int GL_VERTEX_DATA_HINT_PGI = 0x1A22A; public static final int GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; @@ -2673,15 +2588,11 @@ public sealed class GLConstC permits GLConst { public static final int GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5; public static final int GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF; public static final int GL_VERTEX_PRECLIP_SGIX = 0x83EE; - public static final int GL_VERTEX_PROGRAM_ARB = 0x8620; public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; public static final int GL_VERTEX_PROGRAM_NV = 0x8620; public static final int GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; - public static final int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; - public static final int GL_VERTEX_SHADER_ARB = 0x8B31; public static final int GL_VERTEX_SHADER_BINDING_EXT = 0x8781; public static final int GL_VERTEX_SHADER_EXT = 0x8780; public static final int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; @@ -2747,19 +2658,11 @@ public sealed class GLConstC permits GLConst { public static final int GL_WARPS_PER_SM_NV = 0x933A; public static final int GL_WARP_SIZE_NV = 0x9339; public static final int GL_WEIGHTED_AVERAGE_EXT = 0x9367; - public static final int GL_WEIGHT_ARRAY_ARB = 0x86AD; - public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; - public static final int GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC; - public static final int GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB; - public static final int GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; - public static final int GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9; - public static final int GL_WEIGHT_SUM_UNITY_ARB = 0x86A6; public static final int GL_WIDE_LINE_HINT_PGI = 0x1A222; public static final int GL_WINDOW_RECTANGLE_EXT = 0x8F12; public static final int GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13; public static final int GL_WRAP_BORDER_SUN = 0x81D4; public static final int GL_WRITE_DISCARD_NV = 0x88BE; - public static final int GL_WRITE_ONLY_ARB = 0x88B9; public static final int GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; public static final int GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878; public static final int GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index ee53aac4..4da6ee9a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -451,6 +451,41 @@ public final class GLExtCaps { * {@code GL_ARB_transpose_matrix} extension method handles. */ public MethodHandle glLoadTransposeMatrixfARB, glLoadTransposeMatrixdARB, glMultTransposeMatrixfARB, glMultTransposeMatrixdARB; + /** + * {@code GL_ARB_vertex_blend} extension method handles. + */ + public MethodHandle glWeightbvARB, glWeightsvARB, glWeightivARB, glWeightfvARB, glWeightdvARB, glWeightubvARB, glWeightusvARB, + glWeightuivARB, glWeightPointerARB, glVertexBlendARB; + /** + * {@code GL_ARB_vertex_buffer_object} extension method handles. + */ + public MethodHandle glBindBufferARB, glDeleteBuffersARB, glGenBuffersARB, glIsBufferARB, glBufferDataARB, glBufferSubDataARB, + glGetBufferSubDataARB, glMapBufferARB, glUnmapBufferARB, glGetBufferParameterivARB, glGetBufferPointervARB; + /** + * {@code GL_ARB_vertex_program} extension method handles. + */ + public MethodHandle glVertexAttrib1dARB, glVertexAttrib1dvARB, glVertexAttrib1fARB, glVertexAttrib1fvARB, glVertexAttrib1sARB, glVertexAttrib1svARB, + glVertexAttrib2dARB, glVertexAttrib2dvARB, glVertexAttrib2fARB, glVertexAttrib2fvARB, glVertexAttrib2sARB, glVertexAttrib2svARB, + glVertexAttrib3dARB, glVertexAttrib3dvARB, glVertexAttrib3fARB, glVertexAttrib3fvARB, glVertexAttrib3sARB, glVertexAttrib3svARB, + glVertexAttrib4NbvARB, glVertexAttrib4NivARB, glVertexAttrib4NsvARB, glVertexAttrib4NubARB, glVertexAttrib4NubvARB, glVertexAttrib4NuivARB, + glVertexAttrib4NusvARB, glVertexAttrib4bvARB, glVertexAttrib4dARB, glVertexAttrib4dvARB, glVertexAttrib4fARB, glVertexAttrib4fvARB, + glVertexAttrib4ivARB, glVertexAttrib4sARB, glVertexAttrib4svARB, glVertexAttrib4ubvARB, glVertexAttrib4uivARB, glVertexAttrib4usvARB, + glVertexAttribPointerARB, glEnableVertexAttribArrayARB, glDisableVertexAttribArrayARB, glGetVertexAttribdvARB, glGetVertexAttribfvARB, glGetVertexAttribivARB, + glGetVertexAttribPointervARB; + /** + * {@code GL_ARB_vertex_shader} extension method handles. + */ + public MethodHandle glBindAttribLocationARB, glGetActiveAttribARB, glGetAttribLocationARB; + /** + * {@code GL_ARB_viewport_array} extension method handles. + */ + public MethodHandle glDepthRangeArraydvNV, glDepthRangeIndexeddNV; + /** + * {@code GL_ARB_window_pos} extension method handles. + */ + public MethodHandle glWindowPos2dARB, glWindowPos2dvARB, glWindowPos2fARB, glWindowPos2fvARB, glWindowPos2iARB, glWindowPos2ivARB, + glWindowPos2sARB, glWindowPos2svARB, glWindowPos3dARB, glWindowPos3dvARB, glWindowPos3fARB, glWindowPos3fvARB, + glWindowPos3iARB, glWindowPos3ivARB, glWindowPos3sARB, glWindowPos3svARB; // endregion @@ -731,12 +766,13 @@ void load(GLLoadFunc load) { GLARBSparseTexture.load(this, load); GLARBTextureBufferObject.load(this, load); GLARBTextureCompression.load(this, load); - // GLARBTranspose_matrix.load(load); - // GLARBVertex_blend.load(load); - // GLARBVertex_buffer_object.load(load); - // GLARBVertex_program.load(load); - // GLARBVertex_shader.load(load); - // GLARBWindow_pos.load(load); + GLARBTransposeMatrix.load(this, load); + GLARBVertexBlend.load(this, load); + GLARBVertexBufferObject.load(this, load); + GLARBVertexProgram.load(this, load); + GLARBVertexShader.load(this, load); + GLARBViewportArray.load(this, load); + GLARBWindowPos.load(this, load); // GLATIDraw_buffers.load(load); // GLATIElement_array.load(load); // GLATIEnvmap_bumpmap.load(load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java index bfe76fd0..b9890e25 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java @@ -20,6 +20,7 @@ import overrungl.FunctionDescriptors; import overrungl.internal.RuntimeHelper; +import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.Linker; import java.lang.foreign.MemorySegment; import java.lang.invoke.MethodHandle; @@ -46,6 +47,19 @@ public interface GLLoadFunc { */ MemorySegment invoke(String string); + /** + * Load a function by the given name and creates a downcall handle or {@code null}. + * + * @param procName the function name + * @param function the function descriptor of the target function. + * @param options the linker options associated with this linkage request. + * @return a downcall method handle, or {@code null} if the symbol is {@link MemorySegment#NULL} + */ + @Nullable + default MethodHandle invoke(String procName, FunctionDescriptor function, Linker.Option... options) { + return RuntimeHelper.downcallSafe(invoke(procName), function, options); + } + /** * Load a function by the given name and creates a downcall handle or {@code null}. * diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java index 5cb450d0..9ac8c9e7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java @@ -1,33 +1,17 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_robustness} - */ + * {@code GL_ARB_robustness} + */ public final class GLARBRobustness { public static final int GL_NO_RESET_NOTIFICATION_ARB = 0x8261; public static final int GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; @@ -39,78 +23,71 @@ public final class GLARBRobustness { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_robustness) return; - ext.glGetGraphicsResetStatusARB = load.invoke("glGetGraphicsResetStatusARB", I); - ext.glGetnCompressedTexImageARB = load.invoke("glGetnCompressedTexImageARB", IIIPV); - ext.glGetnTexImageARB = load.invoke("glGetnTexImageARB", IIIIIPV); - ext.glGetnUniformdvARB = load.invoke("glGetnUniformdvARB", IIIPV); - ext.glGetnUniformfvARB = load.invoke("glGetnUniformfvARB", IIIPV); - ext.glGetnUniformivARB = load.invoke("glGetnUniformivARB", IIIPV); - ext.glGetnUniformuivARB = load.invoke("glGetnUniformuivARB", IIIPV); - ext.glReadnPixelsARB = load.invoke("glReadnPixelsARB", IIIIIIIPV); + ext.glGetGraphicsResetStatusARB = load.invoke("glGetGraphicsResetStatusARB", of(JAVA_INT)); + ext.glGetnCompressedTexImageARB = load.invoke("glGetnCompressedTexImageARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetnTexImageARB = load.invoke("glGetnTexImageARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetnUniformdvARB = load.invoke("glGetnUniformdvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetnUniformfvARB = load.invoke("glGetnUniformfvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetnUniformivARB = load.invoke("glGetnUniformivARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetnUniformuivARB = load.invoke("glGetnUniformuivARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glReadnPixelsARB = load.invoke("glReadnPixelsARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); } public static int glGetGraphicsResetStatusARB() { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glGetGraphicsResetStatusARB).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glGetGraphicsResetStatusARB).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetnCompressedTexImageARB(int target, int lod, int bufSize, MemorySegment img) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetnCompressedTexImageARB(int target, int lod, int bufSize, @NativeType("void*") MemorySegment img) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetnCompressedTexImageARB).invokeExact(target, lod, bufSize, img); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetnCompressedTexImageARB).invokeExact(target, lod, bufSize, img); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetnTexImageARB(int target, int level, int format, int type, int bufSize, MemorySegment img) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetnTexImageARB(int target, int level, int format, int type, int bufSize, @NativeType("void*") MemorySegment img) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetnTexImageARB).invokeExact(target, level, format, type, bufSize, img); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetnTexImageARB).invokeExact(target, level, format, type, bufSize, img); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetnUniformdvARB(int program, int location, int bufSize, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetnUniformdvARB(int program, int location, int bufSize, @NativeType("GLdouble*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetnUniformdvARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetnUniformdvARB).invokeExact(program, location, bufSize, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetnUniformfvARB(int program, int location, int bufSize, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetnUniformfvARB(int program, int location, int bufSize, @NativeType("GLfloat*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetnUniformfvARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetnUniformfvARB).invokeExact(program, location, bufSize, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetnUniformivARB(int program, int location, int bufSize, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetnUniformivARB(int program, int location, int bufSize, @NativeType("GLint*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetnUniformivARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetnUniformivARB).invokeExact(program, location, bufSize, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetnUniformuivARB(int program, int location, int bufSize, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetnUniformuivARB(int program, int location, int bufSize, @NativeType("GLuint*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetnUniformuivARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetnUniformuivARB).invokeExact(program, location, bufSize, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, int bufSize, MemorySegment data) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, int bufSize, @NativeType("void*") MemorySegment data) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReadnPixelsARB).invokeExact(x, y, width, height, format, type, bufSize, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReadnPixelsARB).invokeExact(x, y, width, height, format, type, bufSize, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java index 370c1a05..05d15769 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java @@ -1,73 +1,53 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.IIIPV; -import static overrungl.FunctionDescriptors.V; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sample_locations} - */ + * {@code GL_ARB_sample_locations} + */ public final class GLARBSampleLocations { + public static final int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; - public static final int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; + public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; + public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; public static final int GL_SAMPLE_LOCATION_ARB = 0x8E50; - public static final int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; - public static final int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; - public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; - public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; + public static final int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; + public static final int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sample_locations) return; - ext.glEvaluateDepthValuesARB = load.invoke("glEvaluateDepthValuesARB", V); - ext.glFramebufferSampleLocationsfvARB = load.invoke("glFramebufferSampleLocationsfvARB", IIIPV); - ext.glNamedFramebufferSampleLocationsfvARB = load.invoke("glNamedFramebufferSampleLocationsfvARB", IIIPV); + ext.glEvaluateDepthValuesARB = load.invoke("glEvaluateDepthValuesARB", ofVoid()); + ext.glFramebufferSampleLocationsfvARB = load.invoke("glFramebufferSampleLocationsfvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedFramebufferSampleLocationsfvARB = load.invoke("glNamedFramebufferSampleLocationsfvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); } public static void glEvaluateDepthValuesARB() { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glEvaluateDepthValuesARB).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glEvaluateDepthValuesARB).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glFramebufferSampleLocationsfvARB(int target, int start, int count, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glFramebufferSampleLocationsfvARB(int target, int start, int count, @NativeType("const GLfloat *v") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFramebufferSampleLocationsfvARB).invokeExact(target, start, count, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFramebufferSampleLocationsfvARB).invokeExact(target, start, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glNamedFramebufferSampleLocationsfvARB(int framebuffer, int start, int count, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glNamedFramebufferSampleLocationsfvARB(int framebuffer, int start, int count, @NativeType("const GLfloat *v") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNamedFramebufferSampleLocationsfvARB).invokeExact(framebuffer, start, count, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNamedFramebufferSampleLocationsfvARB).invokeExact(framebuffer, start, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java index a246d0c6..f211d241 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java @@ -1,46 +1,31 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.FV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sample_shading} - */ + * {@code GL_ARB_sample_shading} + */ public final class GLARBSampleShading { public static final int GL_SAMPLE_SHADING_ARB = 0x8C36; public static final int GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sample_shading) return; - ext.glMinSampleShadingARB = load.invoke("glMinSampleShadingARB", FV); + ext.glMinSampleShadingARB = load.invoke("glMinSampleShadingARB", ofVoid(JAVA_FLOAT)); } public static void glMinSampleShadingARB(float value) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMinSampleShadingARB).invokeExact(value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMinSampleShadingARB).invokeExact(value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java index 013e4776..04407a15 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java @@ -1,422 +1,371 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_shader_objects} - */ + * {@code GL_ARB_shader_objects} + */ public final class GLARBShaderObjects { + public static final int GL_PROGRAM_OBJECT_ARB = 0x8B40; + public static final int GL_SHADER_OBJECT_ARB = 0x8B48; + public static final int GL_OBJECT_TYPE_ARB = 0x8B4E; + public static final int GL_OBJECT_SUBTYPE_ARB = 0x8B4F; + public static final int GL_FLOAT_VEC2_ARB = 0x8B50; + public static final int GL_FLOAT_VEC3_ARB = 0x8B51; public static final int GL_FLOAT_VEC4_ARB = 0x8B52; - public static final int GL_FLOAT_MAT3_ARB = 0x8B5B; - public static final int GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; + public static final int GL_INT_VEC2_ARB = 0x8B53; + public static final int GL_INT_VEC3_ARB = 0x8B54; + public static final int GL_INT_VEC4_ARB = 0x8B55; public static final int GL_BOOL_ARB = 0x8B56; - public static final int GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; - public static final int GL_OBJECT_LINK_STATUS_ARB = 0x8B82; - public static final int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; - public static final int GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; - public static final int GL_FLOAT_MAT2_ARB = 0x8B5A; - public static final int GL_FLOAT_VEC3_ARB = 0x8B51; + public static final int GL_BOOL_VEC2_ARB = 0x8B57; + public static final int GL_BOOL_VEC3_ARB = 0x8B58; public static final int GL_BOOL_VEC4_ARB = 0x8B59; - public static final int GL_OBJECT_TYPE_ARB = 0x8B4E; - public static final int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; - public static final int GL_INT_VEC4_ARB = 0x8B55; - public static final int GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83; + public static final int GL_FLOAT_MAT2_ARB = 0x8B5A; + public static final int GL_FLOAT_MAT3_ARB = 0x8B5B; + public static final int GL_FLOAT_MAT4_ARB = 0x8B5C; public static final int GL_SAMPLER_1D_ARB = 0x8B5D; - public static final int GL_FLOAT_VEC2_ARB = 0x8B50; - public static final int GL_BOOL_VEC3_ARB = 0x8B58; - public static final int GL_SAMPLER_2D_RECT_ARB = 0x8B63; public static final int GL_SAMPLER_2D_ARB = 0x8B5E; public static final int GL_SAMPLER_3D_ARB = 0x8B5F; - public static final int GL_INT_VEC3_ARB = 0x8B54; public static final int GL_SAMPLER_CUBE_ARB = 0x8B60; - public static final int GL_BOOL_VEC2_ARB = 0x8B57; - public static final int GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81; - public static final int GL_SHADER_OBJECT_ARB = 0x8B48; - public static final int GL_INT_VEC2_ARB = 0x8B53; public static final int GL_SAMPLER_1D_SHADOW_ARB = 0x8B61; - public static final int GL_OBJECT_DELETE_STATUS_ARB = 0x8B80; - public static final int GL_FLOAT_MAT4_ARB = 0x8B5C; public static final int GL_SAMPLER_2D_SHADOW_ARB = 0x8B62; + public static final int GL_SAMPLER_2D_RECT_ARB = 0x8B63; + public static final int GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; + public static final int GL_OBJECT_DELETE_STATUS_ARB = 0x8B80; + public static final int GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81; + public static final int GL_OBJECT_LINK_STATUS_ARB = 0x8B82; + public static final int GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83; + public static final int GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; + public static final int GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; public static final int GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; - public static final int GL_PROGRAM_OBJECT_ARB = 0x8B40; - public static final int GL_OBJECT_SUBTYPE_ARB = 0x8B4F; + public static final int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; + public static final int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_shader_objects) return; - ext.glDeleteObjectARB = load.invoke("glDeleteObjectARB", IV); - ext.glGetHandleARB = load.invoke("glGetHandleARB", II); - ext.glDetachObjectARB = load.invoke("glDetachObjectARB", IIV); - ext.glCreateShaderObjectARB = load.invoke("glCreateShaderObjectARB", II); - ext.glShaderSourceARB = load.invoke("glShaderSourceARB", IIPPV); - ext.glCompileShaderARB = load.invoke("glCompileShaderARB", IV); - ext.glCreateProgramObjectARB = load.invoke("glCreateProgramObjectARB", I); - ext.glAttachObjectARB = load.invoke("glAttachObjectARB", IIV); - ext.glLinkProgramARB = load.invoke("glLinkProgramARB", IV); - ext.glUseProgramObjectARB = load.invoke("glUseProgramObjectARB", IV); - ext.glValidateProgramARB = load.invoke("glValidateProgramARB", IV); - ext.glUniform1fARB = load.invoke("glUniform1fARB", IFV); - ext.glUniform2fARB = load.invoke("glUniform2fARB", IFFV); - ext.glUniform3fARB = load.invoke("glUniform3fARB", IFFFV); - ext.glUniform4fARB = load.invoke("glUniform4fARB", IFFFFV); - ext.glUniform1iARB = load.invoke("glUniform1iARB", IIV); - ext.glUniform2iARB = load.invoke("glUniform2iARB", IIIV); - ext.glUniform3iARB = load.invoke("glUniform3iARB", IIIIV); - ext.glUniform4iARB = load.invoke("glUniform4iARB", IIIIIV); - ext.glUniform1fvARB = load.invoke("glUniform1fvARB", IIPV); - ext.glUniform2fvARB = load.invoke("glUniform2fvARB", IIPV); - ext.glUniform3fvARB = load.invoke("glUniform3fvARB", IIPV); - ext.glUniform4fvARB = load.invoke("glUniform4fvARB", IIPV); - ext.glUniform1ivARB = load.invoke("glUniform1ivARB", IIPV); - ext.glUniform2ivARB = load.invoke("glUniform2ivARB", IIPV); - ext.glUniform3ivARB = load.invoke("glUniform3ivARB", IIPV); - ext.glUniform4ivARB = load.invoke("glUniform4ivARB", IIPV); - ext.glUniformMatrix2fvARB = load.invoke("glUniformMatrix2fvARB", IIZPV); - ext.glUniformMatrix3fvARB = load.invoke("glUniformMatrix3fvARB", IIZPV); - ext.glUniformMatrix4fvARB = load.invoke("glUniformMatrix4fvARB", IIZPV); - ext.glGetObjectParameterfvARB = load.invoke("glGetObjectParameterfvARB", IIPV); - ext.glGetObjectParameterivARB = load.invoke("glGetObjectParameterivARB", IIPV); - ext.glGetInfoLogARB = load.invoke("glGetInfoLogARB", IIPPV); - ext.glGetAttachedObjectsARB = load.invoke("glGetAttachedObjectsARB", IIPPV); - ext.glGetUniformLocationARB = load.invoke("glGetUniformLocationARB", IPI); - ext.glGetActiveUniformARB = load.invoke("glGetActiveUniformARB", IIIPPPPV); - ext.glGetUniformfvARB = load.invoke("glGetUniformfvARB", IIPV); - ext.glGetUniformivARB = load.invoke("glGetUniformivARB", IIPV); - ext.glGetShaderSourceARB = load.invoke("glGetShaderSourceARB", IIPPV); + ext.glDeleteObjectARB = load.invoke("glDeleteObjectARB", ofVoid(JAVA_INT)); + ext.glGetHandleARB = load.invoke("glGetHandleARB", of(JAVA_INT, JAVA_INT)); + ext.glDetachObjectARB = load.invoke("glDetachObjectARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glCreateShaderObjectARB = load.invoke("glCreateShaderObjectARB", of(JAVA_INT, JAVA_INT)); + ext.glShaderSourceARB = load.invoke("glShaderSourceARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glCompileShaderARB = load.invoke("glCompileShaderARB", ofVoid(JAVA_INT)); + ext.glCreateProgramObjectARB = load.invoke("glCreateProgramObjectARB", of(JAVA_INT)); + ext.glAttachObjectARB = load.invoke("glAttachObjectARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glLinkProgramARB = load.invoke("glLinkProgramARB", ofVoid(JAVA_INT)); + ext.glUseProgramObjectARB = load.invoke("glUseProgramObjectARB", ofVoid(JAVA_INT)); + ext.glValidateProgramARB = load.invoke("glValidateProgramARB", ofVoid(JAVA_INT)); + ext.glUniform1fARB = load.invoke("glUniform1fARB", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glUniform2fARB = load.invoke("glUniform2fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glUniform3fARB = load.invoke("glUniform3fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glUniform4fARB = load.invoke("glUniform4fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glUniform1iARB = load.invoke("glUniform1iARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glUniform2iARB = load.invoke("glUniform2iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glUniform3iARB = load.invoke("glUniform3iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glUniform4iARB = load.invoke("glUniform4iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glUniform1fvARB = load.invoke("glUniform1fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform2fvARB = load.invoke("glUniform2fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform3fvARB = load.invoke("glUniform3fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform4fvARB = load.invoke("glUniform4fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform1ivARB = load.invoke("glUniform1ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform2ivARB = load.invoke("glUniform2ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform3ivARB = load.invoke("glUniform3ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform4ivARB = load.invoke("glUniform4ivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniformMatrix2fvARB = load.invoke("glUniformMatrix2fvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glUniformMatrix3fvARB = load.invoke("glUniformMatrix3fvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glUniformMatrix4fvARB = load.invoke("glUniformMatrix4fvARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glGetObjectParameterfvARB = load.invoke("glGetObjectParameterfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetObjectParameterivARB = load.invoke("glGetObjectParameterivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetInfoLogARB = load.invoke("glGetInfoLogARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetAttachedObjectsARB = load.invoke("glGetAttachedObjectsARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetUniformLocationARB = load.invoke("glGetUniformLocationARB", of(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetActiveUniformARB = load.invoke("glGetActiveUniformARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glGetUniformfvARB = load.invoke("glGetUniformfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetUniformivARB = load.invoke("glGetUniformivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetShaderSourceARB = load.invoke("glGetShaderSourceARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); } public static void glDeleteObjectARB(int obj) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDeleteObjectARB).invokeExact(obj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDeleteObjectARB).invokeExact(obj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static int glGetHandleARB(int pname) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glGetHandleARB).invokeExact(pname); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glGetHandleARB).invokeExact(pname); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glDetachObjectARB(int containerObj, int attachedObj) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDetachObjectARB).invokeExact(containerObj, attachedObj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDetachObjectARB).invokeExact(containerObj, attachedObj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static int glCreateShaderObjectARB(int shaderType) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glCreateShaderObjectARB).invokeExact(shaderType); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glCreateShaderObjectARB).invokeExact(shaderType); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glShaderSourceARB(int shaderObj, int count, MemorySegment string, MemorySegment length) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glShaderSourceARB(int shaderObj, int count, @NativeType("const GLcharARB**") MemorySegment string, @NativeType("const GLint*") MemorySegment length) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glShaderSourceARB).invokeExact(shaderObj, count, string, length); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glShaderSourceARB).invokeExact(shaderObj, count, string, length); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glCompileShaderARB(int shaderObj) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompileShaderARB).invokeExact(shaderObj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompileShaderARB).invokeExact(shaderObj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static int glCreateProgramObjectARB() { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glCreateProgramObjectARB).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glCreateProgramObjectARB).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glAttachObjectARB(int containerObj, int obj) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glAttachObjectARB).invokeExact(containerObj, obj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glAttachObjectARB).invokeExact(containerObj, obj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glLinkProgramARB(int programObj) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glLinkProgramARB).invokeExact(programObj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glLinkProgramARB).invokeExact(programObj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUseProgramObjectARB(int programObj) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUseProgramObjectARB).invokeExact(programObj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUseProgramObjectARB).invokeExact(programObj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glValidateProgramARB(int programObj) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glValidateProgramARB).invokeExact(programObj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glValidateProgramARB).invokeExact(programObj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform1fARB(int location, float v0) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform1fARB).invokeExact(location, v0); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform1fARB).invokeExact(location, v0); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform2fARB(int location, float v0, float v1) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform2fARB).invokeExact(location, v0, v1); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform2fARB).invokeExact(location, v0, v1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform3fARB(int location, float v0, float v1, float v2) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform3fARB).invokeExact(location, v0, v1, v2); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform3fARB).invokeExact(location, v0, v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform4fARB(int location, float v0, float v1, float v2, float v3) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform4fARB).invokeExact(location, v0, v1, v2, v3); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform4fARB).invokeExact(location, v0, v1, v2, v3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform1iARB(int location, int v0) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform1iARB).invokeExact(location, v0); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform1iARB).invokeExact(location, v0); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform2iARB(int location, int v0, int v1) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform2iARB).invokeExact(location, v0, v1); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform2iARB).invokeExact(location, v0, v1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform3iARB(int location, int v0, int v1, int v2) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform3iARB).invokeExact(location, v0, v1, v2); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform3iARB).invokeExact(location, v0, v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + public static void glUniform4iARB(int location, int v0, int v1, int v2, int v3) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform4iARB).invokeExact(location, v0, v1, v2, v3); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform4iARB).invokeExact(location, v0, v1, v2, v3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform1fvARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform1fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform1fvARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform1fvARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform2fvARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform2fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform2fvARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform2fvARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform3fvARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform3fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform3fvARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform3fvARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform4fvARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform4fvARB(int location, int count, @NativeType("const GLfloat*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform4fvARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform4fvARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform1ivARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform1ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform1ivARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform1ivARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform2ivARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform2ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform2ivARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform2ivARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform3ivARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform3ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform3ivARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform3ivARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniform4ivARB(int location, int count, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniform4ivARB(int location, int count, @NativeType("const GLint*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniform4ivARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniform4ivARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniformMatrix2fvARB(int location, int count, byte transpose, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniformMatrix2fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniformMatrix2fvARB).invokeExact(location, count, transpose, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniformMatrix2fvARB).invokeExact(location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniformMatrix3fvARB(int location, int count, byte transpose, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniformMatrix3fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniformMatrix3fvARB).invokeExact(location, count, transpose, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniformMatrix3fvARB).invokeExact(location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniformMatrix4fvARB(int location, int count, byte transpose, MemorySegment value) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glUniformMatrix4fvARB(int location, int count, boolean transpose, @NativeType("const GLfloat*") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniformMatrix4fvARB).invokeExact(location, count, transpose, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniformMatrix4fvARB).invokeExact(location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetObjectParameterfvARB(int obj, int pname, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetObjectParameterfvARB(int obj, int pname, @NativeType("GLfloat*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetObjectParameterfvARB).invokeExact(obj, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetObjectParameterfvARB).invokeExact(obj, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetObjectParameterivARB(int obj, int pname, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetObjectParameterivARB(int obj, int pname, @NativeType("GLint*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetObjectParameterivARB).invokeExact(obj, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetObjectParameterivARB).invokeExact(obj, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetInfoLogARB(int obj, int maxLength, MemorySegment length, MemorySegment infoLog) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetInfoLogARB(int obj, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLcharARB*") MemorySegment infoLog) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetInfoLogARB).invokeExact(obj, maxLength, length, infoLog); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetInfoLogARB).invokeExact(obj, maxLength, length, infoLog); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetAttachedObjectsARB(int containerObj, int maxCount, MemorySegment count, MemorySegment obj) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetAttachedObjectsARB(int containerObj, int maxCount, @NativeType("GLsizei*") MemorySegment count, @NativeType("GLhandleARB*") MemorySegment obj) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetAttachedObjectsARB).invokeExact(containerObj, maxCount, count, obj); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetAttachedObjectsARB).invokeExact(containerObj, maxCount, count, obj); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static int glGetUniformLocationARB(int programObj, MemorySegment name) { - final var ext = GLLoader.getExtCapabilities(); + + public static int glGetUniformLocationARB(int programObj, @NativeType("const GLcharARB*") MemorySegment name) { + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glGetUniformLocationARB).invokeExact(programObj, name); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glGetUniformLocationARB).invokeExact(programObj, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetActiveUniformARB(int programObj, int index, int maxLength, MemorySegment length, MemorySegment size, MemorySegment type, MemorySegment name) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetActiveUniformARB(int programObj, int index, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLint*") MemorySegment size, @NativeType("GLenum*") MemorySegment type, @NativeType("GLcharARB*") MemorySegment name) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetActiveUniformARB).invokeExact(programObj, index, maxLength, length, size, type, name); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetActiveUniformARB).invokeExact(programObj, index, maxLength, length, size, type, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetUniformfvARB(int programObj, int location, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetUniformfvARB(int programObj, int location, @NativeType("GLfloat*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetUniformfvARB).invokeExact(programObj, location, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetUniformfvARB).invokeExact(programObj, location, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetUniformivARB(int programObj, int location, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetUniformivARB(int programObj, int location, @NativeType("GLint*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetUniformivARB).invokeExact(programObj, location, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetUniformivARB).invokeExact(programObj, location, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetShaderSourceARB(int obj, int maxLength, MemorySegment length, MemorySegment source) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetShaderSourceARB(int obj, int maxLength, @NativeType("GLsizei*") MemorySegment length, @NativeType("GLcharARB*") MemorySegment source) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetShaderSourceARB).invokeExact(obj, maxLength, length, source); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetShaderSourceARB).invokeExact(obj, maxLength, length, source); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java index 13591bf6..e515781d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java @@ -1,94 +1,73 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_shading_language_include} - */ + * {@code GL_ARB_shading_language_include} + */ public final class GLARBShadingLanguageInclude { + public static final int GL_SHADER_INCLUDE_ARB = 0x8DAE; public static final int GL_NAMED_STRING_LENGTH_ARB = 0x8DE9; public static final int GL_NAMED_STRING_TYPE_ARB = 0x8DEA; - public static final int GL_SHADER_INCLUDE_ARB = 0x8DAE; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_shading_language_include) return; - ext.glNamedStringARB = load.invoke("glNamedStringARB", IIPIPV); - ext.glDeleteNamedStringARB = load.invoke("glDeleteNamedStringARB", IPV); - ext.glCompileShaderIncludeARB = load.invoke("glCompileShaderIncludeARB", IIPPV); - ext.glIsNamedStringARB = load.invoke("glIsNamedStringARB", IPZ); - ext.glGetNamedStringARB = load.invoke("glGetNamedStringARB", IPIPPV); - ext.glGetNamedStringivARB = load.invoke("glGetNamedStringivARB", IPIPV); + ext.glNamedStringARB = load.invoke("glNamedStringARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS)); + ext.glDeleteNamedStringARB = load.invoke("glDeleteNamedStringARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glCompileShaderIncludeARB = load.invoke("glCompileShaderIncludeARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glIsNamedStringARB = load.invoke("glIsNamedStringARB", of(JAVA_BYTE, JAVA_INT, ADDRESS)); + ext.glGetNamedStringARB = load.invoke("glGetNamedStringARB", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetNamedStringivARB = load.invoke("glGetNamedStringivARB", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS)); } - public static void glNamedStringARB(int type, int nameLen, MemorySegment name, int stringLen, MemorySegment string) { - final var ext = GLLoader.getExtCapabilities(); + public static void glNamedStringARB(int type, int nameLen, @NativeType("const GLchar*") MemorySegment name, int stringLen, @NativeType("const GLchar*") MemorySegment string) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNamedStringARB).invokeExact(type, nameLen, name, stringLen, string); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNamedStringARB).invokeExact(type, nameLen, name, stringLen, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDeleteNamedStringARB(int nameLen, MemorySegment name) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glDeleteNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDeleteNamedStringARB).invokeExact(nameLen, name); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDeleteNamedStringARB).invokeExact(nameLen, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glCompileShaderIncludeARB(int shader, int count, MemorySegment path, MemorySegment length) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glCompileShaderIncludeARB(int shader, int count, @NativeType("const GLchar *const*") MemorySegment path, @NativeType("const GLint*") MemorySegment length) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompileShaderIncludeARB).invokeExact(shader, count, path, length); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompileShaderIncludeARB).invokeExact(shader, count, path, length); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static byte glIsNamedStringARB(int nameLen, MemorySegment name) { - final var ext = GLLoader.getExtCapabilities(); + + public static boolean glIsNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name) { + final var ext = getExtCapabilities(); try { - return (byte) GLLoader.check(ext.glIsNamedStringARB).invokeExact(nameLen, name); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (boolean) + check(ext.glIsNamedStringARB).invokeExact(nameLen, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetNamedStringARB(int nameLen, MemorySegment name, int bufSize, MemorySegment stringLen, MemorySegment string) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetNamedStringARB(int nameLen, @NativeType("const GLchar*") MemorySegment name, int bufSize, @NativeType("GLint*") MemorySegment stringLen, @NativeType("GLchar*") MemorySegment string) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetNamedStringARB).invokeExact(nameLen, name, bufSize, stringLen, string); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetNamedStringARB).invokeExact(nameLen, name, bufSize, stringLen, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetNamedStringivARB(int nameLen, MemorySegment name, int pname, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetNamedStringivARB(int nameLen, @NativeType("const GLchar*") MemorySegment name, int pname, @NativeType("GLint*") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetNamedStringivARB).invokeExact(nameLen, name, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetNamedStringivARB).invokeExact(nameLen, name, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java index 0bf0b168..a749a987 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java @@ -1,27 +1,19 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_shadow} - */ + * {@code GL_ARB_shadow} + */ public final class GLARBShadow { + public static final int GL_TEXTURE_COMPARE_MODE_ARB = 0x884C; public static final int GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D; public static final int GL_COMPARE_R_TO_TEXTURE_ARB = 0x884E; - public static final int GL_TEXTURE_COMPARE_MODE_ARB = 0x884C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java index 68b8fdb5..7d34cb66 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java @@ -1,25 +1,17 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_shadow_ambient} - */ + * {@code GL_ARB_shadow_ambient} + */ public final class GLARBShadowAmbient { public static final int GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java index f5179e88..36809721 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java @@ -1,64 +1,47 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.IJJZV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sparse_buffer} - */ + * {@code GL_ARB_sparse_buffer} + */ public final class GLARBSparseBuffer { - public static final int GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; public static final int GL_SPARSE_STORAGE_BIT_ARB = 0x0400; + public static final int GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sparse_buffer) return; - ext.glBufferPageCommitmentARB = load.invoke("glBufferPageCommitmentARB", IJJZV); - ext.glNamedBufferPageCommitmentEXT = load.invoke("glNamedBufferPageCommitmentEXT", IJJZV); - ext.glNamedBufferPageCommitmentARB = load.invoke("glNamedBufferPageCommitmentARB", IJJZV); + ext.glBufferPageCommitmentARB = load.invoke("glBufferPageCommitmentARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_BYTE)); + ext.glNamedBufferPageCommitmentEXT = load.invoke("glNamedBufferPageCommitmentEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_BYTE)); + ext.glNamedBufferPageCommitmentARB = load.invoke("glNamedBufferPageCommitmentARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_BYTE)); } - public static void glBufferPageCommitmentARB(int target, long offset, long size, byte commit) { - final var ext = GLLoader.getExtCapabilities(); + public static void glBufferPageCommitmentARB(int target, long offset, long size, boolean commit) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBufferPageCommitmentARB).invokeExact(target, offset, size, commit); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBufferPageCommitmentARB).invokeExact(target, offset, size, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glNamedBufferPageCommitmentEXT(int buffer, long offset, long size, byte commit) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glNamedBufferPageCommitmentEXT(int buffer, long offset, long size, boolean commit) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNamedBufferPageCommitmentEXT).invokeExact(buffer, offset, size, commit); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNamedBufferPageCommitmentEXT).invokeExact(buffer, offset, size, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glNamedBufferPageCommitmentARB(int buffer, long offset, long size, byte commit) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glNamedBufferPageCommitmentARB(int buffer, long offset, long size, boolean commit) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNamedBufferPageCommitmentARB).invokeExact(buffer, offset, size, commit); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNamedBufferPageCommitmentARB).invokeExact(buffer, offset, size, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java index f821311b..216082d4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java @@ -1,55 +1,40 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.IIIIIIIIZV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sparse_texture} - */ + * {@code GL_ARB_sparse_texture} + */ public final class GLARBSparseTexture { + public static final int GL_TEXTURE_SPARSE_ARB = 0x91A6; + public static final int GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; + public static final int GL_NUM_SPARSE_LEVELS_ARB = 0x91AA; + public static final int GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; + public static final int GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; + public static final int GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; public static final int GL_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197; public static final int GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198; - public static final int GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; - public static final int GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; - public static final int GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; - public static final int GL_TEXTURE_SPARSE_ARB = 0x91A6; - public static final int GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; - public static final int GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; - public static final int GL_NUM_SPARSE_LEVELS_ARB = 0x91AA; public static final int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; + public static final int GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sparse_texture) return; - ext.glTexPageCommitmentARB = load.invoke("glTexPageCommitmentARB", IIIIIIIIZV); + ext.glTexPageCommitmentARB = load.invoke("glTexPageCommitmentARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); } - public static void glTexPageCommitmentARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, byte commit) { - final var ext = GLLoader.getExtCapabilities(); + public static void glTexPageCommitmentARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, boolean commit) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexPageCommitmentARB).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, commit); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexPageCommitmentARB).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java index 95e12f44..4b7e2020 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java @@ -1,25 +1,17 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_border_clamp} - */ + * {@code GL_ARB_texture_border_clamp} + */ public final class GLARBTextureBorderClamp { public static final int GL_CLAMP_TO_BORDER_ARB = 0x812D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java index b63b6981..308b4a6a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java @@ -1,49 +1,34 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.IIIV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_buffer_object} - */ + * {@code GL_ARB_texture_buffer_object} + */ public final class GLARBTextureBufferObject { - public static final int GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; - public static final int GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; public static final int GL_TEXTURE_BUFFER_ARB = 0x8C2A; + public static final int GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; public static final int GL_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; + public static final int GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_texture_buffer_object) return; - ext.glTexBufferARB = load.invoke("glTexBufferARB", IIIV); + ext.glTexBufferARB = load.invoke("glTexBufferARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); } public static void glTexBufferARB(int target, int internalFormat, int buffer) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexBufferARB).invokeExact(target, internalFormat, buffer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexBufferARB).invokeExact(target, internalFormat, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java index 620c166f..d75f5ea5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java @@ -1,111 +1,88 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_compression} - */ + * {@code GL_ARB_texture_compression} + */ public final class GLARBTextureCompression { public static final int GL_COMPRESSED_ALPHA_ARB = 0x84E9; - public static final int GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; - public static final int GL_COMPRESSED_RGBA_ARB = 0x84EE; - public static final int GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; public static final int GL_COMPRESSED_LUMINANCE_ARB = 0x84EA; - public static final int GL_TEXTURE_COMPRESSED_ARB = 0x86A1; - public static final int GL_COMPRESSED_RGB_ARB = 0x84ED; - public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; + public static final int GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; public static final int GL_COMPRESSED_INTENSITY_ARB = 0x84EC; + public static final int GL_COMPRESSED_RGB_ARB = 0x84ED; + public static final int GL_COMPRESSED_RGBA_ARB = 0x84EE; public static final int GL_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF; - public static final int GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; + public static final int GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; + public static final int GL_TEXTURE_COMPRESSED_ARB = 0x86A1; + public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; + public static final int GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_texture_compression) return; - ext.glCompressedTexImage3DARB = load.invoke("glCompressedTexImage3DARB", IIIIIIIIPV); - ext.glCompressedTexImage2DARB = load.invoke("glCompressedTexImage2DARB", IIIIIIIPV); - ext.glCompressedTexImage1DARB = load.invoke("glCompressedTexImage1DARB", IIIIIIPV); - ext.glCompressedTexSubImage3DARB = load.invoke("glCompressedTexSubImage3DARB", IIIIIIIIIIPV); - ext.glCompressedTexSubImage2DARB = load.invoke("glCompressedTexSubImage2DARB", IIIIIIIIPV); - ext.glCompressedTexSubImage1DARB = load.invoke("glCompressedTexSubImage1DARB", IIIIIIPV); - ext.glGetCompressedTexImageARB = load.invoke("glGetCompressedTexImageARB", IIPV); + ext.glCompressedTexImage3DARB = load.invoke("glCompressedTexImage3DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTexImage2DARB = load.invoke("glCompressedTexImage2DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTexImage1DARB = load.invoke("glCompressedTexImage1DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTexSubImage3DARB = load.invoke("glCompressedTexSubImage3DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTexSubImage2DARB = load.invoke("glCompressedTexSubImage2DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTexSubImage1DARB = load.invoke("glCompressedTexSubImage1DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetCompressedTexImageARB = load.invoke("glGetCompressedTexImageARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glCompressedTexImage3DARB(int target, int level, int internalFormat, int width, int height, int depth, int border, int imageSize, MemorySegment data) { - final var ext = GLLoader.getExtCapabilities(); + public static void glCompressedTexImage3DARB(int target, int level, int internalFormat, int width, int height, int depth, int border, int imageSize, @NativeType("const void*") MemorySegment data) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompressedTexImage3DARB).invokeExact(target, level, internalFormat, width, height, depth, border, imageSize, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompressedTexImage3DARB).invokeExact(target, level, internalFormat, width, height, depth, border, imageSize, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glCompressedTexImage2DARB(int target, int level, int internalFormat, int width, int height, int border, int imageSize, MemorySegment data) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glCompressedTexImage2DARB(int target, int level, int internalFormat, int width, int height, int border, int imageSize, @NativeType("const void*") MemorySegment data) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompressedTexImage2DARB).invokeExact(target, level, internalFormat, width, height, border, imageSize, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompressedTexImage2DARB).invokeExact(target, level, internalFormat, width, height, border, imageSize, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glCompressedTexImage1DARB(int target, int level, int internalFormat, int width, int border, int imageSize, MemorySegment data) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glCompressedTexImage1DARB(int target, int level, int internalFormat, int width, int border, int imageSize, @NativeType("const void*") MemorySegment data) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompressedTexImage1DARB).invokeExact(target, level, internalFormat, width, border, imageSize, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompressedTexImage1DARB).invokeExact(target, level, internalFormat, width, border, imageSize, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, MemorySegment data) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void*") MemorySegment data) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompressedTexSubImage3DARB).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompressedTexSubImage3DARB).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, MemorySegment data) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void*") MemorySegment data) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompressedTexSubImage2DARB).invokeExact(target, level, xoffset, yoffset, width, height, format, imageSize, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompressedTexSubImage2DARB).invokeExact(target, level, xoffset, yoffset, width, height, format, imageSize, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, MemorySegment data) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void*") MemorySegment data) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCompressedTexSubImage1DARB).invokeExact(target, level, xoffset, width, format, imageSize, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCompressedTexSubImage1DARB).invokeExact(target, level, xoffset, width, format, imageSize, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetCompressedTexImageARB(int target, int level, MemorySegment img) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glGetCompressedTexImageARB(int target, int level, @NativeType("void*") MemorySegment img) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetCompressedTexImageARB).invokeExact(target, level, img); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetCompressedTexImageARB).invokeExact(target, level, img); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java index 9f522cff..577880e7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java @@ -1,28 +1,20 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_compression_bptc} - */ + * {@code GL_ARB_texture_compression_bptc} + */ public final class GLARBTextureCompressionBptc { - public static final int GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; - public static final int GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; public static final int GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; + public static final int GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; public static final int GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E; + public static final int GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java index 49204a5c..bc30709f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java @@ -1,36 +1,28 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_cube_map} - */ + * {@code GL_ARB_texture_cube_map} + */ public final class GLARBTextureCubeMap { - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; public static final int GL_NORMAL_MAP_ARB = 0x8511; - public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; public static final int GL_REFLECTION_MAP_ARB = 0x8512; - public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; public static final int GL_TEXTURE_CUBE_MAP_ARB = 0x8513; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; + public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516; - public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; + public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; + public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java index c6894083..e8578f9d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java @@ -1,31 +1,23 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_cube_map_array} - */ + * {@code GL_ARB_texture_cube_map_array} + */ public final class GLARBTextureCubeMapArray { public static final int GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; - public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; + public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; + public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; public static final int GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; + public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; - public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; - public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java index 7e546d15..a37dbb78 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java @@ -1,46 +1,38 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_env_combine} - */ + * {@code GL_ARB_texture_env_combine} + */ public final class GLARBTextureEnvCombine { - public static final int GL_SUBTRACT_ARB = 0x84E7; - public static final int GL_INTERPOLATE_ARB = 0x8575; - public static final int GL_RGB_SCALE_ARB = 0x8573; - public static final int GL_OPERAND1_RGB_ARB = 0x8591; + public static final int GL_COMBINE_ARB = 0x8570; public static final int GL_COMBINE_RGB_ARB = 0x8571; - public static final int GL_SOURCE0_ALPHA_ARB = 0x8588; public static final int GL_COMBINE_ALPHA_ARB = 0x8572; + public static final int GL_SOURCE0_RGB_ARB = 0x8580; public static final int GL_SOURCE1_RGB_ARB = 0x8581; - public static final int GL_OPERAND1_ALPHA_ARB = 0x8599; + public static final int GL_SOURCE2_RGB_ARB = 0x8582; + public static final int GL_SOURCE0_ALPHA_ARB = 0x8588; + public static final int GL_SOURCE1_ALPHA_ARB = 0x8589; public static final int GL_SOURCE2_ALPHA_ARB = 0x858A; - public static final int GL_COMBINE_ARB = 0x8570; - public static final int GL_CONSTANT_ARB = 0x8576; - public static final int GL_PREVIOUS_ARB = 0x8578; - public static final int GL_OPERAND2_RGB_ARB = 0x8592; - public static final int GL_PRIMARY_COLOR_ARB = 0x8577; public static final int GL_OPERAND0_RGB_ARB = 0x8590; - public static final int GL_ADD_SIGNED_ARB = 0x8574; + public static final int GL_OPERAND1_RGB_ARB = 0x8591; + public static final int GL_OPERAND2_RGB_ARB = 0x8592; public static final int GL_OPERAND0_ALPHA_ARB = 0x8598; - public static final int GL_SOURCE1_ALPHA_ARB = 0x8589; - public static final int GL_SOURCE2_RGB_ARB = 0x8582; - public static final int GL_SOURCE0_RGB_ARB = 0x8580; + public static final int GL_OPERAND1_ALPHA_ARB = 0x8599; public static final int GL_OPERAND2_ALPHA_ARB = 0x859A; + public static final int GL_RGB_SCALE_ARB = 0x8573; + public static final int GL_ADD_SIGNED_ARB = 0x8574; + public static final int GL_INTERPOLATE_ARB = 0x8575; + public static final int GL_SUBTRACT_ARB = 0x84E7; + public static final int GL_CONSTANT_ARB = 0x8576; + public static final int GL_PRIMARY_COLOR_ARB = 0x8577; + public static final int GL_PREVIOUS_ARB = 0x8578; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java index 38f909f5..5ab60e84 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java @@ -1,26 +1,18 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_env_dot3} - */ + * {@code GL_ARB_texture_env_dot3} + */ public final class GLARBTextureEnvDot3 { - public static final int GL_DOT3_RGBA_ARB = 0x86AF; public static final int GL_DOT3_RGB_ARB = 0x86AE; + public static final int GL_DOT3_RGBA_ARB = 0x86AF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java index f7ae8ecf..ed94f2b2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java @@ -1,26 +1,18 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_filter_minmax} - */ + * {@code GL_ARB_texture_filter_minmax} + */ public final class GLARBTextureFilterMinmax { - public static final int GL_WEIGHTED_AVERAGE_ARB = 0x9367; public static final int GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366; + public static final int GL_WEIGHTED_AVERAGE_ARB = 0x9367; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java index b8fcad2e..4ae8853a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java @@ -1,44 +1,36 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_float} - */ + * {@code GL_ARB_texture_float} + */ public final class GLARBTextureFloat { - public static final int GL_LUMINANCE_ALPHA32F_ARB = 0x8819; - public static final int GL_LUMINANCE16F_ARB = 0x881E; - public static final int GL_LUMINANCE32F_ARB = 0x8818; + public static final int GL_TEXTURE_RED_TYPE_ARB = 0x8C10; + public static final int GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11; public static final int GL_TEXTURE_BLUE_TYPE_ARB = 0x8C12; - public static final int GL_INTENSITY16F_ARB = 0x881D; - public static final int GL_INTENSITY32F_ARB = 0x8817; - public static final int GL_ALPHA16F_ARB = 0x881C; - public static final int GL_RGB32F_ARB = 0x8815; - public static final int GL_ALPHA32F_ARB = 0x8816; - public static final int GL_UNSIGNED_NORMALIZED_ARB = 0x8C17; + public static final int GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13; public static final int GL_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14; + public static final int GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; public static final int GL_TEXTURE_DEPTH_TYPE_ARB = 0x8C16; - public static final int GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11; - public static final int GL_RGBA16F_ARB = 0x881A; + public static final int GL_UNSIGNED_NORMALIZED_ARB = 0x8C17; public static final int GL_RGBA32F_ARB = 0x8814; - public static final int GL_TEXTURE_RED_TYPE_ARB = 0x8C10; - public static final int GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; - public static final int GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13; + public static final int GL_RGB32F_ARB = 0x8815; + public static final int GL_ALPHA32F_ARB = 0x8816; + public static final int GL_INTENSITY32F_ARB = 0x8817; + public static final int GL_LUMINANCE32F_ARB = 0x8818; + public static final int GL_LUMINANCE_ALPHA32F_ARB = 0x8819; + public static final int GL_RGBA16F_ARB = 0x881A; public static final int GL_RGB16F_ARB = 0x881B; + public static final int GL_ALPHA16F_ARB = 0x881C; + public static final int GL_INTENSITY16F_ARB = 0x881D; + public static final int GL_LUMINANCE16F_ARB = 0x881E; public static final int GL_LUMINANCE_ALPHA16F_ARB = 0x881F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java index dc1ca1a1..ac6f67f1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java @@ -1,27 +1,19 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_gather} - */ + * {@code GL_ARB_texture_gather} + */ public final class GLARBTextureGather { public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; - public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; + public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java index 04176485..2ef4c6c2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java @@ -1,25 +1,17 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_mirrored_repeat} - */ + * {@code GL_ARB_texture_mirrored_repeat} + */ public final class GLARBTextureMirroredRepeat { public static final int GL_MIRRORED_REPEAT_ARB = 0x8370; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java index 582f477a..cc795cff 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java @@ -1,28 +1,20 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_texture_rectangle} - */ + * {@code GL_ARB_texture_rectangle} + */ public final class GLARBTextureRectangle { public static final int GL_TEXTURE_RECTANGLE_ARB = 0x84F5; - public static final int GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; public static final int GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; + public static final int GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; public static final int GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java index 9322a17c..b5a65caf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java @@ -1,25 +1,17 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** - * {@code GL_ARB_transform_feedback_overflow_query} - */ + * {@code GL_ARB_transform_feedback_overflow_query} + */ public final class GLARBTransformFeedbackOverflowQuery { public static final int GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; public static final int GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java index 37cc20da..46e7906c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java @@ -1,77 +1,57 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - // this file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.PV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_transpose_matrix} - */ + * {@code GL_ARB_transpose_matrix} + */ public final class GLARBTransposeMatrix { + public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; public static final int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; - public static final int GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; public static final int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; - public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; + public static final int GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_transpose_matrix) return; - ext.glLoadTransposeMatrixfARB = load.invoke("glLoadTransposeMatrixfARB", PV); - ext.glLoadTransposeMatrixdARB = load.invoke("glLoadTransposeMatrixdARB", PV); - ext.glMultTransposeMatrixfARB = load.invoke("glMultTransposeMatrixfARB", PV); - ext.glMultTransposeMatrixdARB = load.invoke("glMultTransposeMatrixdARB", PV); + ext.glLoadTransposeMatrixfARB = load.invoke("glLoadTransposeMatrixfARB", ofVoid(ADDRESS)); + ext.glLoadTransposeMatrixdARB = load.invoke("glLoadTransposeMatrixdARB", ofVoid(ADDRESS)); + ext.glMultTransposeMatrixfARB = load.invoke("glMultTransposeMatrixfARB", ofVoid(ADDRESS)); + ext.glMultTransposeMatrixdARB = load.invoke("glMultTransposeMatrixdARB", ofVoid(ADDRESS)); } - public static void glLoadTransposeMatrixfARB(MemorySegment m) { - final var ext = GLLoader.getExtCapabilities(); + public static void glLoadTransposeMatrixfARB(@NativeType("const GLfloat*") MemorySegment m) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glLoadTransposeMatrixfARB).invokeExact(m); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glLoadTransposeMatrixfARB).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glLoadTransposeMatrixdARB(MemorySegment m) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glLoadTransposeMatrixdARB(@NativeType("const GLdouble*") MemorySegment m) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glLoadTransposeMatrixdARB).invokeExact(m); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glLoadTransposeMatrixdARB).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultTransposeMatrixfARB(MemorySegment m) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glMultTransposeMatrixfARB(@NativeType("const GLfloat*") MemorySegment m) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultTransposeMatrixfARB).invokeExact(m); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultTransposeMatrixfARB).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultTransposeMatrixdARB(MemorySegment m) { - final var ext = GLLoader.getExtCapabilities(); + + public static void glMultTransposeMatrixdARB(@NativeType("const GLdouble*") MemorySegment m) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultTransposeMatrixdARB).invokeExact(m); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultTransposeMatrixdARB).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java new file mode 100644 index 00000000..aa67c9f1 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java @@ -0,0 +1,143 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_vertex_blend} + */ +public final class GLARBVertexBlend { + public static final int GL_MAX_VERTEX_UNITS_ARB = 0x86A4; + public static final int GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5; + public static final int GL_WEIGHT_SUM_UNITY_ARB = 0x86A6; + public static final int GL_VERTEX_BLEND_ARB = 0x86A7; + public static final int GL_CURRENT_WEIGHT_ARB = 0x86A8; + public static final int GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9; + public static final int GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; + public static final int GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB; + public static final int GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC; + public static final int GL_WEIGHT_ARRAY_ARB = 0x86AD; + public static final int GL_MODELVIEW0_ARB = 0x1700; + public static final int GL_MODELVIEW1_ARB = 0x850A; + public static final int GL_MODELVIEW2_ARB = 0x8722; + public static final int GL_MODELVIEW3_ARB = 0x8723; + public static final int GL_MODELVIEW4_ARB = 0x8724; + public static final int GL_MODELVIEW5_ARB = 0x8725; + public static final int GL_MODELVIEW6_ARB = 0x8726; + public static final int GL_MODELVIEW7_ARB = 0x8727; + public static final int GL_MODELVIEW8_ARB = 0x8728; + public static final int GL_MODELVIEW9_ARB = 0x8729; + public static final int GL_MODELVIEW10_ARB = 0x872A; + public static final int GL_MODELVIEW11_ARB = 0x872B; + public static final int GL_MODELVIEW12_ARB = 0x872C; + public static final int GL_MODELVIEW13_ARB = 0x872D; + public static final int GL_MODELVIEW14_ARB = 0x872E; + public static final int GL_MODELVIEW15_ARB = 0x872F; + public static final int GL_MODELVIEW16_ARB = 0x8730; + public static final int GL_MODELVIEW17_ARB = 0x8731; + public static final int GL_MODELVIEW18_ARB = 0x8732; + public static final int GL_MODELVIEW19_ARB = 0x8733; + public static final int GL_MODELVIEW20_ARB = 0x8734; + public static final int GL_MODELVIEW21_ARB = 0x8735; + public static final int GL_MODELVIEW22_ARB = 0x8736; + public static final int GL_MODELVIEW23_ARB = 0x8737; + public static final int GL_MODELVIEW24_ARB = 0x8738; + public static final int GL_MODELVIEW25_ARB = 0x8739; + public static final int GL_MODELVIEW26_ARB = 0x873A; + public static final int GL_MODELVIEW27_ARB = 0x873B; + public static final int GL_MODELVIEW28_ARB = 0x873C; + public static final int GL_MODELVIEW29_ARB = 0x873D; + public static final int GL_MODELVIEW30_ARB = 0x873E; + public static final int GL_MODELVIEW31_ARB = 0x873F; + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_vertex_blend) return; + ext.glWeightbvARB = load.invoke("glWeightbvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightsvARB = load.invoke("glWeightsvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightivARB = load.invoke("glWeightivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightfvARB = load.invoke("glWeightfvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightdvARB = load.invoke("glWeightdvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightubvARB = load.invoke("glWeightubvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightusvARB = load.invoke("glWeightusvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightuivARB = load.invoke("glWeightuivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glWeightPointerARB = load.invoke("glWeightPointerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexBlendARB = load.invoke("glVertexBlendARB", ofVoid(JAVA_INT)); + } + + public static void glWeightbvARB(int size, @NativeType("const GLbyte*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightbvARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightsvARB(int size, @NativeType("const GLshort*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightsvARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightivARB(int size, @NativeType("const GLint*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightivARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightfvARB(int size, @NativeType("const GLfloat*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightfvARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightdvARB(int size, @NativeType("const GLdouble*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightdvARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightubvARB(int size, @NativeType("const GLubyte*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightubvARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightusvARB(int size, @NativeType("const GLushort*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightusvARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightuivARB(int size, @NativeType("const GLuint*") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightuivARB).invokeExact(size, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightPointerARB(int size, int type, int stride, @NativeType("const void*") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightPointerARB).invokeExact(size, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexBlendARB(int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexBlendARB).invokeExact(count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java new file mode 100644 index 00000000..ddac7154 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java @@ -0,0 +1,143 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_vertex_buffer_object} + */ +public final class GLARBVertexBufferObject { + public static final int GL_BUFFER_SIZE_ARB = 0x8764; + public static final int GL_BUFFER_USAGE_ARB = 0x8765; + public static final int GL_ARRAY_BUFFER_ARB = 0x8892; + public static final int GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893; + public static final int GL_ARRAY_BUFFER_BINDING_ARB = 0x8894; + public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; + public static final int GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; + public static final int GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; + public static final int GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; + public static final int GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; + public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; + public static final int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; + public static final int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; + public static final int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; + public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; + public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; + public static final int GL_READ_ONLY_ARB = 0x88B8; + public static final int GL_WRITE_ONLY_ARB = 0x88B9; + public static final int GL_READ_WRITE_ARB = 0x88BA; + public static final int GL_BUFFER_ACCESS_ARB = 0x88BB; + public static final int GL_BUFFER_MAPPED_ARB = 0x88BC; + public static final int GL_BUFFER_MAP_POINTER_ARB = 0x88BD; + public static final int GL_STREAM_DRAW_ARB = 0x88E0; + public static final int GL_STREAM_READ_ARB = 0x88E1; + public static final int GL_STREAM_COPY_ARB = 0x88E2; + public static final int GL_STATIC_DRAW_ARB = 0x88E4; + public static final int GL_STATIC_READ_ARB = 0x88E5; + public static final int GL_STATIC_COPY_ARB = 0x88E6; + public static final int GL_DYNAMIC_DRAW_ARB = 0x88E8; + public static final int GL_DYNAMIC_READ_ARB = 0x88E9; + public static final int GL_DYNAMIC_COPY_ARB = 0x88EA; + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_vertex_buffer_object) return; + ext.glBindBufferARB = load.invoke("glBindBufferARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDeleteBuffersARB = load.invoke("glDeleteBuffersARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenBuffersARB = load.invoke("glGenBuffersARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsBufferARB = load.invoke("glIsBufferARB", of(JAVA_BYTE, JAVA_INT)); + ext.glBufferDataARB = load.invoke("glBufferDataARB", ofVoid(JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT)); + ext.glBufferSubDataARB = load.invoke("glBufferSubDataARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); + ext.glGetBufferSubDataARB = load.invoke("glGetBufferSubDataARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); + ext.glMapBufferARB = load.invoke("glMapBufferARB", of(ADDRESS, JAVA_INT, JAVA_INT)); + ext.glUnmapBufferARB = load.invoke("glUnmapBufferARB", of(JAVA_BYTE, JAVA_INT)); + ext.glGetBufferParameterivARB = load.invoke("glGetBufferParameterivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetBufferPointervARB = load.invoke("glGetBufferPointervARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glBindBufferARB(int target, int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindBufferARB).invokeExact(target, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteBuffersARB(int n, @NativeType("const GLuint*") MemorySegment buffers) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteBuffersARB).invokeExact(n, buffers); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenBuffersARB(int n, @NativeType("GLuint*") MemorySegment buffers) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenBuffersARB).invokeExact(n, buffers); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsBufferARB(int buffer) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsBufferARB).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBufferDataARB(int target, long size, @NativeType("const void*") MemorySegment data, int usage) { + final var ext = getExtCapabilities(); + try { + check(ext.glBufferDataARB).invokeExact(target, size, data, usage); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBufferSubDataARB(int target, long offset, long size, @NativeType("const void*") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glBufferSubDataARB).invokeExact(target, offset, size, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetBufferSubDataARB(int target, long offset, long size, @NativeType("void*") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetBufferSubDataARB).invokeExact(target, offset, size, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static @NativeType("void*") MemorySegment glMapBufferARB(int target, int access) { + final var ext = getExtCapabilities(); + try { + return (MemorySegment) + check(ext.glMapBufferARB).invokeExact(target, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glUnmapBufferARB(int target) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glUnmapBufferARB).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetBufferParameterivARB(int target, int pname, @NativeType("GLint*") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetBufferParameterivARB).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetBufferPointervARB(int target, int pname, @NativeType("void**") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetBufferPointervARB).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java new file mode 100644 index 00000000..49200ad6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java @@ -0,0 +1,381 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_vertex_program} + */ +public final class GLARBVertexProgram { + public static final int GL_COLOR_SUM_ARB = 0x8458; + public static final int GL_VERTEX_PROGRAM_ARB = 0x8620; + public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; + public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; + public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; + public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; + public static final int GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626; + public static final int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; + public static final int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; + public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; + public static final int GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869; + public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; + public static final int GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; + public static final int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; + public static final int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; + public static final int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_vertex_program) return; + ext.glVertexAttrib1dARB = load.invoke("glVertexAttrib1dARB", ofVoid(JAVA_INT, JAVA_DOUBLE)); + ext.glVertexAttrib1dvARB = load.invoke("glVertexAttrib1dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib1fARB = load.invoke("glVertexAttrib1fARB", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glVertexAttrib1fvARB = load.invoke("glVertexAttrib1fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib1sARB = load.invoke("glVertexAttrib1sARB", ofVoid(JAVA_INT, JAVA_SHORT)); + ext.glVertexAttrib1svARB = load.invoke("glVertexAttrib1svARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib2dARB = load.invoke("glVertexAttrib2dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttrib2dvARB = load.invoke("glVertexAttrib2dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib2fARB = load.invoke("glVertexAttrib2fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexAttrib2fvARB = load.invoke("glVertexAttrib2fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib2sARB = load.invoke("glVertexAttrib2sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib2svARB = load.invoke("glVertexAttrib2svARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib3dARB = load.invoke("glVertexAttrib3dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttrib3dvARB = load.invoke("glVertexAttrib3dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib3fARB = load.invoke("glVertexAttrib3fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexAttrib3fvARB = load.invoke("glVertexAttrib3fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib3sARB = load.invoke("glVertexAttrib3sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib3svARB = load.invoke("glVertexAttrib3svARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4NbvARB = load.invoke("glVertexAttrib4NbvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4NivARB = load.invoke("glVertexAttrib4NivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4NsvARB = load.invoke("glVertexAttrib4NsvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4NubARB = load.invoke("glVertexAttrib4NubARB", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glVertexAttrib4NubvARB = load.invoke("glVertexAttrib4NubvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4NuivARB = load.invoke("glVertexAttrib4NuivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4NusvARB = load.invoke("glVertexAttrib4NusvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4bvARB = load.invoke("glVertexAttrib4bvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4dARB = load.invoke("glVertexAttrib4dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttrib4dvARB = load.invoke("glVertexAttrib4dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4fARB = load.invoke("glVertexAttrib4fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexAttrib4fvARB = load.invoke("glVertexAttrib4fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4ivARB = load.invoke("glVertexAttrib4ivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4sARB = load.invoke("glVertexAttrib4sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib4svARB = load.invoke("glVertexAttrib4svARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4ubvARB = load.invoke("glVertexAttrib4ubvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4uivARB = load.invoke("glVertexAttrib4uivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4usvARB = load.invoke("glVertexAttrib4usvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribPointerARB = load.invoke("glVertexAttribPointerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, ADDRESS)); + ext.glEnableVertexAttribArrayARB = load.invoke("glEnableVertexAttribArrayARB", ofVoid(JAVA_INT)); + ext.glDisableVertexAttribArrayARB = load.invoke("glDisableVertexAttribArrayARB", ofVoid(JAVA_INT)); + ext.glGetVertexAttribdvARB = load.invoke("glGetVertexAttribdvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribfvARB = load.invoke("glGetVertexAttribfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribivARB = load.invoke("glGetVertexAttribivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribPointervARB = load.invoke("glGetVertexAttribPointervARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glVertexAttrib1dARB(int index, double x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1dARB).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1dvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1fARB(int index, float x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1fARB).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1fvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1sARB(int index, short x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1sARB).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1svARB(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1svARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2dARB(int index, double x, double y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2dARB).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2dvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2fARB(int index, float x, float y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2fARB).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2fvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2sARB(int index, short x, short y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2sARB).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2svARB(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2svARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3dARB(int index, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3dARB).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3dvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3fARB(int index, float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3fARB).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3fvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3sARB(int index, short x, short y, short z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3sARB).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3svARB(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3svARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4NbvARB(int index, @NativeType("const GLbyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4NbvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4NivARB(int index, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4NivARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4NsvARB(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4NsvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4NubARB(int index, byte x, byte y, byte z, byte w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4NubARB).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4NubvARB(int index, @NativeType("const GLubyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4NubvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4NuivARB(int index, @NativeType("const GLuint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4NuivARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4NusvARB(int index, @NativeType("const GLushort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4NusvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4bvARB(int index, @NativeType("const GLbyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4bvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4dARB(int index, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4dARB).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4dvARB(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4dvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4fARB(int index, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4fARB).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4fvARB(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4fvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4ivARB(int index, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4ivARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4sARB(int index, short x, short y, short z, short w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4sARB).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4svARB(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4svARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4ubvARB(int index, @NativeType("const GLubyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4ubvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4uivARB(int index, @NativeType("const GLuint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4uivARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4usvARB(int index, @NativeType("const GLushort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4usvARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribPointerARB).invokeExact(index, size, type, normalized, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEnableVertexAttribArrayARB(int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glEnableVertexAttribArrayARB).invokeExact(index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDisableVertexAttribArrayARB(int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glDisableVertexAttribArrayARB).invokeExact(index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribdvARB(int index, int pname, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribdvARB).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribfvARB(int index, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribfvARB).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribivARB(int index, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribivARB).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribPointervARB(int index, int pname, @NativeType("void **") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribPointervARB).invokeExact(index, pname, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java new file mode 100644 index 00000000..55e05c24 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java @@ -0,0 +1,53 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_vertex_shader} + */ +public final class GLARBVertexShader { + public static final int GL_VERTEX_SHADER_ARB = 0x8B31; + public static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; + public static final int GL_MAX_VARYING_FLOATS_ARB = 0x8B4B; + public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; + public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; + public static final int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; + public static final int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_vertex_shader) return; + ext.glBindAttribLocationARB = load.invoke("glBindAttribLocationARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetActiveAttribARB = load.invoke("glGetActiveAttribARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glGetAttribLocationARB = load.invoke("glGetAttribLocationARB", of(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glBindAttribLocationARB(int programObj, int index, @NativeType("const GLcharARB *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindAttribLocationARB).invokeExact(programObj, index, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetActiveAttribARB(int programObj, int index, int maxLength, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLint *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLcharARB *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetActiveAttribARB).invokeExact(programObj, index, maxLength, length, size, type, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGetAttribLocationARB(int programObj, @NativeType("const GLcharARB *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGetAttribLocationARB).invokeExact(programObj, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java new file mode 100644 index 00000000..5c624400 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java @@ -0,0 +1,37 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_viewport_array} + */ +public final class GLARBViewportArray { + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_viewport_array) return; + ext.glDepthRangeArraydvNV = load.invoke("glDepthRangeArraydvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDepthRangeIndexeddNV = load.invoke("glDepthRangeIndexeddNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); + } + + public static void glDepthRangeArraydvNV(int first, int count, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glDepthRangeArraydvNV).invokeExact(first, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDepthRangeIndexeddNV(int index, double n, double f) { + final var ext = getExtCapabilities(); + try { + check(ext.glDepthRangeIndexeddNV).invokeExact(index, n, f); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java new file mode 100644 index 00000000..a9b1b49f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java @@ -0,0 +1,149 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_window_pos} + */ +public final class GLARBWindowPos { + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_window_pos) return; + ext.glWindowPos2dARB = load.invoke("glWindowPos2dARB", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glWindowPos2dvARB = load.invoke("glWindowPos2dvARB", ofVoid(ADDRESS)); + ext.glWindowPos2fARB = load.invoke("glWindowPos2fARB", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); + ext.glWindowPos2fvARB = load.invoke("glWindowPos2fvARB", ofVoid(ADDRESS)); + ext.glWindowPos2iARB = load.invoke("glWindowPos2iARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glWindowPos2ivARB = load.invoke("glWindowPos2ivARB", ofVoid(ADDRESS)); + ext.glWindowPos2sARB = load.invoke("glWindowPos2sARB", ofVoid(JAVA_SHORT, JAVA_SHORT)); + ext.glWindowPos2svARB = load.invoke("glWindowPos2svARB", ofVoid(ADDRESS)); + ext.glWindowPos3dARB = load.invoke("glWindowPos3dARB", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glWindowPos3dvARB = load.invoke("glWindowPos3dvARB", ofVoid(ADDRESS)); + ext.glWindowPos3fARB = load.invoke("glWindowPos3fARB", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glWindowPos3fvARB = load.invoke("glWindowPos3fvARB", ofVoid(ADDRESS)); + ext.glWindowPos3iARB = load.invoke("glWindowPos3iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glWindowPos3ivARB = load.invoke("glWindowPos3ivARB", ofVoid(ADDRESS)); + ext.glWindowPos3sARB = load.invoke("glWindowPos3sARB", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glWindowPos3svARB = load.invoke("glWindowPos3svARB", ofVoid(ADDRESS)); + } + + public static void glWindowPos2dARB(double x, double y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2dARB).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2dvARB(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2dvARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2fARB(float x, float y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2fARB).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2fvARB(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2fvARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2iARB(int x, int y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2iARB).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2ivARB(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2ivARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2sARB(short x, short y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2sARB).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2svARB(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2svARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3dARB(double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3dARB).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3dvARB(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3dvARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3fARB(float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3fARB).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3fvARB(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3fvARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3iARB(int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3iARB).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3ivARB(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3ivARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3sARB(short x, short y, short z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3sARB).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3svARB(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3svARB).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} From 105383f45146e984e00a6ff496ab69502dd8bf69 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Wed, 23 Aug 2023 20:26:54 +0800 Subject: [PATCH 03/44] [OpenGL] Add KHR extensions --- .../overrungl/opengl/OpenGLGenerator.kt | 100 ++++++++++++++++-- .../src/main/java/overrungl/opengl/GL14.java | 7 ++ .../src/main/java/overrungl/opengl/GL15C.java | 4 +- .../src/main/java/overrungl/opengl/GL20C.java | 4 +- .../src/main/java/overrungl/opengl/GL41C.java | 3 +- .../main/java/overrungl/opengl/GLConstC.java | 59 ----------- .../main/java/overrungl/opengl/GLExtCaps.java | 2 + .../ext/GLKHRBlendEquationAdvanced.java | 44 -------- .../ext/GLKHRParallelShaderCompile.java | 44 -------- .../ext/khr/GLKHRBlendEquationAdvanced.java | 44 ++++++++ .../GLKHRBlendEquationAdvancedCoherent.java | 17 +++ .../opengl/ext/khr/GLKHRNoError.java | 17 +++ .../ext/khr/GLKHRParallelShaderCompile.java | 31 ++++++ .../opengl/ext/khr/GLKHRRobustness.java | 17 +++ .../opengl/ext/khr/GLKHRShaderSubgroup.java | 28 +++++ .../khr/GLKHRTextureCompressionAstcHdr.java | 44 ++++++++ 16 files changed, 307 insertions(+), 158 deletions(-) delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRBlendEquationAdvanced.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRParallelShaderCompile.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 68ea9466..9d3a926b 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -16,14 +16,14 @@ package overrungl.opengl -import overrungl.opengl.OpenGLExt.ARB -import overrungl.opengl.OpenGLExt.CORE +import overrungl.opengl.OpenGLExt.* import java.nio.file.Files import kotlin.io.path.Path enum class OpenGLExt(val dir: String, val packageName: String, val extName: String) { CORE("", "", ""), - ARB("ext/arb", ".ext.arb", "ARB") + ARB("ext/arb", ".ext.arb", "ARB"), + KHR("ext/khr", ".ext.khr", "KHR") } data class Type(val name: String, val layout: String?) { @@ -185,11 +185,7 @@ fun file( } } -/** - * @author squid233 - * @since 0.1.0 - */ -fun main() { +fun arb() { file("Robustness", ARB, "GL_ARB_robustness") { "GL_NO_RESET_NOTIFICATION_ARB"("0x8261") "GL_RESET_NOTIFICATION_STRATEGY_ARB"("0x8256") @@ -824,3 +820,91 @@ fun main() { "glWindowPos3svARB"(void, address("v", "const GLshort *")) } } + +fun khr() { + file("BlendEquationAdvanced", KHR, "GL_KHR_blend_equation_advanced") { + "GL_MULTIPLY_KHR"("0x9294") + "GL_SCREEN_KHR"("0x9295") + "GL_OVERLAY_KHR"("0x9296") + "GL_DARKEN_KHR"("0x9297") + "GL_LIGHTEN_KHR"("0x9298") + "GL_COLORDODGE_KHR"("0x9299") + "GL_COLORBURN_KHR"("0x929A") + "GL_HARDLIGHT_KHR"("0x929B") + "GL_SOFTLIGHT_KHR"("0x929C") + "GL_DIFFERENCE_KHR"("0x929E") + "GL_EXCLUSION_KHR"("0x92A0") + "GL_HSL_HUE_KHR"("0x92AD") + "GL_HSL_SATURATION_KHR"("0x92AE") + "GL_HSL_COLOR_KHR"("0x92AF") + "GL_HSL_LUMINOSITY_KHR"("0x92B0") + "glBlendBarrierKHR"(void) + } + file("BlendEquationAdvancedCoherent", KHR, "GL_KHR_blend_equation_advanced_coherent") { + "GL_BLEND_ADVANCED_COHERENT_KHR"("0x9285") + } + file("NoError", KHR, "GL_KHR_no_error") { + "GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR"("0x00000008") + } + file("ParallelShaderCompile", KHR, "GL_KHR_parallel_shader_compile") { + "GL_MAX_SHADER_COMPILER_THREADS_KHR"("0x91B0") + "GL_COMPLETION_STATUS_KHR"("0x91B1") + "glMaxShaderCompilerThreadsKHR"(void, GLuint("count")) + } + file("Robustness", KHR, "GL_KHR_robustness") { + "GL_CONTEXT_ROBUST_ACCESS"("0x90F3") + } + file("ShaderSubgroup", KHR, "GL_KHR_shader_subgroup") { + "GL_SUBGROUP_SIZE_KHR"("0x9532") + "GL_SUBGROUP_SUPPORTED_STAGES_KHR"("0x9533") + "GL_SUBGROUP_SUPPORTED_FEATURES_KHR"("0x9534") + "GL_SUBGROUP_QUAD_ALL_STAGES_KHR"("0x9535") + "GL_SUBGROUP_FEATURE_BASIC_BIT_KHR"("0x00000001") + "GL_SUBGROUP_FEATURE_VOTE_BIT_KHR"("0x00000002") + "GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR"("0x00000004") + "GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR"("0x00000008") + "GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR"("0x00000010") + "GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR"("0x00000020") + "GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR"("0x00000040") + "GL_SUBGROUP_FEATURE_QUAD_BIT_KHR"("0x00000080") + } + file("TextureCompressionAstcHdr", KHR, "GL_KHR_texture_compression_astc_hdr") { + "GL_COMPRESSED_RGBA_ASTC_4x4_KHR"("0x93B0") + "GL_COMPRESSED_RGBA_ASTC_5x4_KHR"("0x93B1") + "GL_COMPRESSED_RGBA_ASTC_5x5_KHR"("0x93B2") + "GL_COMPRESSED_RGBA_ASTC_6x5_KHR"("0x93B3") + "GL_COMPRESSED_RGBA_ASTC_6x6_KHR"("0x93B4") + "GL_COMPRESSED_RGBA_ASTC_8x5_KHR"("0x93B5") + "GL_COMPRESSED_RGBA_ASTC_8x6_KHR"("0x93B6") + "GL_COMPRESSED_RGBA_ASTC_8x8_KHR"("0x93B7") + "GL_COMPRESSED_RGBA_ASTC_10x5_KHR"("0x93B8") + "GL_COMPRESSED_RGBA_ASTC_10x6_KHR"("0x93B9") + "GL_COMPRESSED_RGBA_ASTC_10x8_KHR"("0x93BA") + "GL_COMPRESSED_RGBA_ASTC_10x10_KHR"("0x93BB") + "GL_COMPRESSED_RGBA_ASTC_12x10_KHR"("0x93BC") + "GL_COMPRESSED_RGBA_ASTC_12x12_KHR"("0x93BD") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"("0x93D0") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"("0x93D1") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"("0x93D2") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"("0x93D3") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"("0x93D4") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"("0x93D5") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"("0x93D6") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"("0x93D7") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"("0x93D8") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"("0x93D9") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"("0x93DA") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"("0x93DB") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"("0x93DC") + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"("0x93DD") + } +} + +/** + * @author squid233 + * @since 0.1.0 + */ +fun main() { + arb() + khr() +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java index 56328c42..596d064c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java @@ -16,6 +16,8 @@ package overrungl.opengl; +import overrungl.opengl.ext.arb.GLARBWindowPos; + import java.lang.foreign.MemorySegment; import java.lang.foreign.SegmentAllocator; @@ -24,6 +26,11 @@ /** * The OpenGL 1.4 functions. + *

+ * These extensions are promoted in this version: + *

    + *
  • {@linkplain GLARBWindowPos GL_ARB_window_pos}
  • + *
* * @author squid233 * @since 0.1.0 diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java index 69fe470c..afd1ecc5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java @@ -16,8 +16,9 @@ package overrungl.opengl; -import overrungl.opengl.ext.arb.GLARBOcclusionQuery; import overrungl.internal.RuntimeHelper; +import overrungl.opengl.ext.arb.GLARBOcclusionQuery; +import overrungl.opengl.ext.arb.GLARBVertexBufferObject; import overrungl.util.MemoryStack; import java.lang.foreign.MemorySegment; @@ -32,6 +33,7 @@ * These extensions are promoted in this version: *
    *
  • {@linkplain GLARBOcclusionQuery GL_ARB_occlusion_query}
  • + *
  • {@linkplain GLARBVertexBufferObject GL_ARB_vertex_buffer_object}
  • *
* * @author squid233 diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java index 99d60b1f..37eeaffd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java @@ -17,10 +17,11 @@ package overrungl.opengl; import org.jetbrains.annotations.Nullable; +import overrungl.internal.RuntimeHelper; import overrungl.opengl.ext.arb.GLARBDrawBuffers; import overrungl.opengl.ext.arb.GLARBFragmentProgram; import overrungl.opengl.ext.arb.GLARBShaderObjects; -import overrungl.internal.RuntimeHelper; +import overrungl.opengl.ext.arb.GLARBVertexProgram; import overrungl.util.MemoryStack; import java.lang.foreign.Arena; @@ -39,6 +40,7 @@ *
  • {@linkplain GLARBDrawBuffers GL_ARB_draw_buffers}
  • *
  • {@linkplain GLARBFragmentProgram GL_ARB_fragment_program}
  • *
  • {@linkplain GLARBShaderObjects GL_ARB_shader_objects}
  • + *
  • {@linkplain GLARBVertexProgram GL_ARB_vertex_program}
  • * * * @author squid233 diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java index 7518051b..e3acb89f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java @@ -18,6 +18,7 @@ import org.jetbrains.annotations.Nullable; import overrungl.internal.RuntimeHelper; +import overrungl.opengl.ext.arb.GLARBViewportArray; import overrungl.util.MemoryStack; import java.lang.foreign.MemorySegment; @@ -36,7 +37,7 @@ *
  • GL_ARB_get_program_binary
  • *
  • GL_ARB_separate_shader_objects
  • *
  • GL_ARB_vertex_attrib_64bit
  • - *
  • GL_ARB_viewport_array
  • + *
  • {@link GLARBViewportArray GL_ARB_viewport_array}
  • * * * @author squid233 diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java index 91a9e0a4..02ff6d4b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java @@ -133,7 +133,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441; public static final int GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440; public static final int GL_BLACKHOLE_RENDER_INTEL = 0x83FC; - public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285; public static final int GL_BLEND_ADVANCED_COHERENT_NV = 0x9285; public static final int GL_BLEND_COLOR_COMMAND_NV = 0x000B; public static final int GL_BLEND_COLOR_EXT = 0x8005; @@ -187,9 +186,7 @@ public sealed class GLConstC permits GLConst { public static final int GL_CND_ATI = 0x896A; public static final int GL_COLOR3_BIT_PGI = 0x00010000; public static final int GL_COLOR4_BIT_PGI = 0x00020000; - public static final int GL_COLORBURN_KHR = 0x929A; public static final int GL_COLORBURN_NV = 0x929A; - public static final int GL_COLORDODGE_KHR = 0x9299; public static final int GL_COLORDODGE_NV = 0x9299; public static final int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; public static final int GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23; @@ -268,25 +265,10 @@ public sealed class GLConstC permits GLConst { public static final int GL_COMBINE_RGB_EXT = 0x8571; public static final int GL_COMMAND_BARRIER_BIT_EXT = 0x00000040; public static final int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; - public static final int GL_COMPLETION_STATUS_KHR = 0x91B1; public static final int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; public static final int GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; public static final int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; public static final int GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB; - public static final int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; - public static final int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; - public static final int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; - public static final int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; - public static final int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; - public static final int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; - public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; - public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; - public static final int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; - public static final int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; - public static final int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; - public static final int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; - public static final int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; - public static final int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; public static final int GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; public static final int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; public static final int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; @@ -299,20 +281,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; public static final int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; public static final int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; - public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; public static final int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; @@ -342,7 +310,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_CONSTANT_COLOR_EXT = 0x8001; public static final int GL_CONSTANT_EXT = 0x8576; public static final int GL_CONST_EYE_NV = 0x86E5; - public static final int GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; public static final int GL_CONTINUOUS_AMD = 0x9007; public static final int GL_CONTRAST_NV = 0x92A1; public static final int GL_CONVEX_HULL_NV = 0x908B; @@ -423,7 +390,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_CURRENT_VERTEX_EXT = 0x87E2; public static final int GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B; public static final int GL_D3D12_FENCE_VALUE_EXT = 0x9595; - public static final int GL_DARKEN_KHR = 0x9297; public static final int GL_DARKEN_NV = 0x9297; public static final int GL_DATA_BUFFER_AMD = 0x9151; public static final int GL_DECODE_EXT = 0x8A49; @@ -469,7 +435,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_DEVICE_LUID_EXT = 0x9599; public static final int GL_DEVICE_NODE_MASK_EXT = 0x959A; public static final int GL_DEVICE_UUID_EXT = 0x9597; - public static final int GL_DIFFERENCE_KHR = 0x929E; public static final int GL_DIFFERENCE_NV = 0x929E; public static final int GL_DISCARD_ATI = 0x8763; public static final int GL_DISCARD_NV = 0x8530; @@ -631,7 +596,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD; public static final int GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE; public static final int GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF; - public static final int GL_EXCLUSION_KHR = 0x92A0; public static final int GL_EXCLUSION_NV = 0x92A0; public static final int GL_EXCLUSIVE_EXT = 0x8F11; public static final int GL_EXPAND_NEGATE_NV = 0x8539; @@ -838,7 +802,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; - public static final int GL_HARDLIGHT_KHR = 0x929B; public static final int GL_HARDLIGHT_NV = 0x929B; public static final int GL_HARDMIX_NV = 0x92A9; public static final int GL_HILO16_NV = 0x86F8; @@ -856,13 +819,9 @@ public sealed class GLConstC permits GLConst { public static final int GL_HI_BIAS_NV = 0x8714; public static final int GL_HI_SCALE_NV = 0x870E; public static final int GL_HORIZONTAL_LINE_TO_NV = 0x06; - public static final int GL_HSL_COLOR_KHR = 0x92AF; public static final int GL_HSL_COLOR_NV = 0x92AF; - public static final int GL_HSL_HUE_KHR = 0x92AD; public static final int GL_HSL_HUE_NV = 0x92AD; - public static final int GL_HSL_LUMINOSITY_KHR = 0x92B0; public static final int GL_HSL_LUMINOSITY_NV = 0x92B0; - public static final int GL_HSL_SATURATION_KHR = 0x92AE; public static final int GL_HSL_SATURATION_NV = 0x92AE; public static final int GL_IDENTITY_NV = 0x862A; public static final int GL_IGNORE_BORDER_HP = 0x8150; @@ -1004,7 +963,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_LAYOUT_TRANSFER_SRC_EXT = 0x9592; public static final int GL_LERP_ATI = 0x8969; public static final int GL_LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; - public static final int GL_LIGHTEN_KHR = 0x9298; public static final int GL_LIGHTEN_NV = 0x9298; public static final int GL_LIGHT_ENV_MODE_SGIX = 0x8407; public static final int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; @@ -1286,7 +1244,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_MAX_SAMPLES_EXT = 0x8D57; public static final int GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; public static final int GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; - public static final int GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; public static final int GL_MAX_SHININESS_NV = 0x8504; public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; public static final int GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; @@ -1382,7 +1339,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_MOV_ATI = 0x8961; public static final int GL_MULTICAST_GPUS_NV = 0x92BA; public static final int GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; - public static final int GL_MULTIPLY_KHR = 0x9294; public static final int GL_MULTIPLY_NV = 0x9294; public static final int GL_MULTISAMPLES_NV = 0x9371; public static final int GL_MULTISAMPLE_3DFX = 0x86B2; @@ -1537,7 +1493,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; public static final int GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; public static final int GL_OUTPUT_VERTEX_EXT = 0x879A; - public static final int GL_OVERLAY_KHR = 0x9296; public static final int GL_OVERLAY_NV = 0x9296; public static final int GL_PACK_CMYK_HINT_EXT = 0x800E; public static final int GL_PACK_IMAGE_DEPTH_SGIS = 0x8131; @@ -2046,7 +2001,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; public static final int GL_SCISSOR_COMMAND_NV = 0x0011; public static final int GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; - public static final int GL_SCREEN_KHR = 0x9295; public static final int GL_SCREEN_NV = 0x9295; public static final int GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; public static final int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; @@ -2136,7 +2090,6 @@ public sealed class GLConstC permits GLConst { public static final int GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10; public static final int GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; public static final int GL_SM_COUNT_NV = 0x933B; - public static final int GL_SOFTLIGHT_KHR = 0x929C; public static final int GL_SOFTLIGHT_NV = 0x929C; public static final int GL_SOURCE0_ALPHA_EXT = 0x8588; public static final int GL_SOURCE0_RGB_EXT = 0x8580; @@ -2197,19 +2150,7 @@ public sealed class GLConstC permits GLConst { public static final int GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; public static final int GL_STRICT_LIGHTING_HINT_PGI = 0x1A217; public static final int GL_STRICT_SCISSOR_HINT_PGI = 0x1A218; - public static final int GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004; - public static final int GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008; - public static final int GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001; - public static final int GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040; public static final int GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; - public static final int GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080; - public static final int GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010; - public static final int GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020; - public static final int GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002; - public static final int GL_SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535; - public static final int GL_SUBGROUP_SIZE_KHR = 0x9532; - public static final int GL_SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534; - public static final int GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; public static final int GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; public static final int GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; public static final int GL_SUBSAMPLE_DISTANCE_AMD = 0x883F; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 4da6ee9a..60258238 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -20,6 +20,8 @@ import overrungl.opengl.ext.amd.*; import overrungl.opengl.ext.apple.*; import overrungl.opengl.ext.arb.*; +import overrungl.opengl.ext.khr.GLKHRBlendEquationAdvanced; +import overrungl.opengl.ext.khr.GLKHRParallelShaderCompile; import overrungl.opengl.ext.sun.*; import java.lang.invoke.MethodHandle; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRBlendEquationAdvanced.java deleted file mode 100644 index 92fe73c9..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRBlendEquationAdvanced.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -/** - * {@code GL_KHR_blend_equation_advanced} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLKHRBlendEquationAdvanced { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_KHR_blend_equation_advanced) return; - ext.glBlendBarrierKHR = load.invoke("glBlendBarrierKHR", FunctionDescriptors.V); - } - - public static void glBlendBarrierKHR() { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glBlendBarrierKHR).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRParallelShaderCompile.java deleted file mode 100644 index 201601ea..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLKHRParallelShaderCompile.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -/** - * {@code GL_KHR_parallel_shader_compile} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLKHRParallelShaderCompile { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_KHR_parallel_shader_compile) return; - ext.glMaxShaderCompilerThreadsKHR = load.invoke("glMaxShaderCompilerThreadsKHR", FunctionDescriptors.IV); - } - - public static void glMaxShaderCompilerThreadsKHR(int count) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glMaxShaderCompilerThreadsKHR).invokeExact(count); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java new file mode 100644 index 00000000..f3139a28 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java @@ -0,0 +1,44 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.khr; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_KHR_blend_equation_advanced} + */ +public final class GLKHRBlendEquationAdvanced { + public static final int GL_MULTIPLY_KHR = 0x9294; + public static final int GL_SCREEN_KHR = 0x9295; + public static final int GL_OVERLAY_KHR = 0x9296; + public static final int GL_DARKEN_KHR = 0x9297; + public static final int GL_LIGHTEN_KHR = 0x9298; + public static final int GL_COLORDODGE_KHR = 0x9299; + public static final int GL_COLORBURN_KHR = 0x929A; + public static final int GL_HARDLIGHT_KHR = 0x929B; + public static final int GL_SOFTLIGHT_KHR = 0x929C; + public static final int GL_DIFFERENCE_KHR = 0x929E; + public static final int GL_EXCLUSION_KHR = 0x92A0; + public static final int GL_HSL_HUE_KHR = 0x92AD; + public static final int GL_HSL_SATURATION_KHR = 0x92AE; + public static final int GL_HSL_COLOR_KHR = 0x92AF; + public static final int GL_HSL_LUMINOSITY_KHR = 0x92B0; + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_KHR_blend_equation_advanced) return; + ext.glBlendBarrierKHR = load.invoke("glBlendBarrierKHR", ofVoid()); + } + + public static void glBlendBarrierKHR() { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendBarrierKHR).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java new file mode 100644 index 00000000..6f80eded --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java @@ -0,0 +1,17 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.khr; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_KHR_blend_equation_advanced_coherent} + */ +public final class GLKHRBlendEquationAdvancedCoherent { + public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java new file mode 100644 index 00000000..c25ba91f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java @@ -0,0 +1,17 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.khr; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_KHR_no_error} + */ +public final class GLKHRNoError { + public static final int GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java new file mode 100644 index 00000000..0baafa66 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java @@ -0,0 +1,31 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.khr; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_KHR_parallel_shader_compile} + */ +public final class GLKHRParallelShaderCompile { + public static final int GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; + public static final int GL_COMPLETION_STATUS_KHR = 0x91B1; + + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_KHR_parallel_shader_compile) return; + ext.glMaxShaderCompilerThreadsKHR = load.invoke("glMaxShaderCompilerThreadsKHR", ofVoid(JAVA_INT)); + } + + public static void glMaxShaderCompilerThreadsKHR(int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glMaxShaderCompilerThreadsKHR).invokeExact(count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java new file mode 100644 index 00000000..95909150 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java @@ -0,0 +1,17 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.khr; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_KHR_robustness} + */ +public final class GLKHRRobustness { + public static final int GL_CONTEXT_ROBUST_ACCESS = 0x90F3; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java new file mode 100644 index 00000000..b7128680 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java @@ -0,0 +1,28 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.khr; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_KHR_shader_subgroup} + */ +public final class GLKHRShaderSubgroup { + public static final int GL_SUBGROUP_SIZE_KHR = 0x9532; + public static final int GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; + public static final int GL_SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534; + public static final int GL_SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535; + public static final int GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001; + public static final int GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002; + public static final int GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004; + public static final int GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008; + public static final int GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010; + public static final int GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020; + public static final int GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040; + public static final int GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java new file mode 100644 index 00000000..5554a404 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java @@ -0,0 +1,44 @@ +// this file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.khr; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_KHR_texture_compression_astc_hdr} + */ +public final class GLKHRTextureCompressionAstcHdr { + public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; + public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; + public static final int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; + public static final int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; + public static final int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; + public static final int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; + public static final int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; + public static final int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; + public static final int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; + public static final int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; + public static final int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; + public static final int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; + public static final int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; + public static final int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; + public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; +} From ee0459f101bc0658444cd15423b4489f7c4d2b99 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sun, 17 Sep 2023 11:33:42 +0800 Subject: [PATCH 04/44] Uses string templates --- .../java/overrungl/FunctionDescriptors.java | 7 ++- .../java/overrungl/internal/Exceptions.java | 37 ++++++++++++++++ .../overrungl/internal/RuntimeHelper.java | 10 ++--- .../main/java/overrungl/os/Architecture.java | 8 +++- .../src/main/java/overrungl/os/Platform.java | 23 ++++++++-- .../main/java/overrungl/util/CheckUtil.java | 2 +- .../java/overrungl/util/DebugAllocator.java | 43 +++++++------------ .../src/main/java/overrungl/glfw/GLFW.java | 2 + .../overrungl/glfw/GLFWErrorCallback.java | 13 ++---- .../src/main/java/overrungl/nfd/NFD.java | 4 +- .../java/overrungl/nfd/NFDEnumerator.java | 2 +- .../main/java/overrungl/opengl/GLUtil.java | 24 +++-------- .../test/java/overrungl/demo/nfd/NFDTest.java | 20 ++++----- 13 files changed, 113 insertions(+), 82 deletions(-) create mode 100644 modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java diff --git a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java index 77b8d514..8a8ba594 100644 --- a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java +++ b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java @@ -16,6 +16,7 @@ package overrungl; +import overrungl.internal.Exceptions; import overrungl.util.MemoryUtil; import java.lang.foreign.FunctionDescriptor; @@ -38,7 +39,7 @@ * case 'D' -> JAVA_DOUBLE; * case 'P' -> ADDRESS; * case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; - * default -> throw new IllegalStateException(); + * default -> throw new IllegalArgumentException(); * }} * * @author squid233 @@ -124,9 +125,7 @@ public static ValueLayout ofValue(char c) throws IllegalArgumentException { case 'P' -> ADDRESS; case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; default -> - throw new IllegalArgumentException( - STR."Invalid argument c: expected one of B, S, I, J, C, Z, F, D, P or p; got '\{c}'" - ); + throw Exceptions.IAE. "Invalid argument c: expected one of B, S, I, J, C, Z, F, D, P or p; got '\{ c }'" ; }; } diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java b/modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java new file mode 100644 index 00000000..54e12662 --- /dev/null +++ b/modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java @@ -0,0 +1,37 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.internal; + +/** + * Quick create exceptions + * + * @author squid233 + * @since 0.1.0 + */ +public final class Exceptions { + /** + * {@link IllegalStateException} + */ + public static final StringTemplate.Processor ISE = stringTemplate -> + new IllegalStateException(stringTemplate.interpolate()); + + /** + * {@link IllegalArgumentException} + */ + public static final StringTemplate.Processor IAE = stringTemplate -> + new IllegalArgumentException(stringTemplate.interpolate()); +} diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index 570bcf6d..00c87c5f 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -137,7 +137,7 @@ public static String unknownToken(int token) { * @return the string is formatted in {@code STR."\{description} [0x\{toHexString(token)}]"}. */ public static String unknownToken(String description, int token) { - return description + "[0x" + Integer.toHexString(token) + "]"; + return STR. "\{ description } [0x\{ Integer.toHexString(token) }]" ; } /** @@ -161,7 +161,7 @@ public static SymbolLookup load(String module, String basename, String version) uri = localFile.toURI(); } else { // 2. Load from classpath - var file = new File(tmpdir, "overrungl" + System.getProperty("user.name")); + var file = new File(tmpdir, STR. "overrungl\{ System.getProperty("user.name") }" ); if (!file.exists()) { // Create directory file.mkdir(); @@ -171,15 +171,15 @@ public static SymbolLookup load(String module, String basename, String version) // Create directory file.mkdir(); } - var libFile = new File(file, basename + "-" + version + suffix); + var libFile = new File(file, STR. "\{ basename }-\{ version }\{ suffix }" ); if (!libFile.exists()) { // Extract try (var is = STACK_WALKER.getCallerClass().getClassLoader().getResourceAsStream( - module + "/" + os.familyName() + "/" + Architecture.current() + "/" + path + STR. "\{ module }/\{ os.familyName() }/\{ Architecture.current() }/\{ path }" )) { Files.copy(Objects.requireNonNull(is), Path.of(libFile.getAbsolutePath())); } catch (Exception e) { - var exception = new IllegalStateException("File not found: " + file + "; try setting property -Doverrungl.natives to a valid path"); + var exception = new IllegalStateException(STR. "File not found: \{ file }; try setting property -Doverrungl.natives to a valid path" ); exception.addSuppressed(e); throw exception; } diff --git a/modules/overrungl.core/src/main/java/overrungl/os/Architecture.java b/modules/overrungl.core/src/main/java/overrungl/os/Architecture.java index 3239f4fd..a29af38a 100644 --- a/modules/overrungl.core/src/main/java/overrungl/os/Architecture.java +++ b/modules/overrungl.core/src/main/java/overrungl/os/Architecture.java @@ -16,6 +16,8 @@ package overrungl.os; +import overrungl.internal.Exceptions; + import java.util.Locale; /** @@ -29,6 +31,8 @@ public enum Architecture { ARM64, ARM32; + private final String toStringValue = name().toLowerCase(Locale.ROOT); + /** * {@return the current architecture of the current {@linkplain Platform platform}} */ @@ -45,7 +49,7 @@ class Holder { X64; case Platform.MacOSX _ -> arch.startsWith("aarch64") ? ARM64 : X64; case Platform.Windows _ when arch.contains("64") -> arch.startsWith("aarch64") ? ARM64 : X64; - default -> throw new IllegalStateException("Unrecognized or unsupported architecture: " + arch); + default -> throw Exceptions.ISE. "Unrecognized or unsupported architecture: \{ arch }" ; }; } } @@ -54,6 +58,6 @@ class Holder { @Override public String toString() { - return name().toLowerCase(Locale.ROOT); + return toStringValue; } } diff --git a/modules/overrungl.core/src/main/java/overrungl/os/Platform.java b/modules/overrungl.core/src/main/java/overrungl/os/Platform.java index d833d158..72183c55 100644 --- a/modules/overrungl.core/src/main/java/overrungl/os/Platform.java +++ b/modules/overrungl.core/src/main/java/overrungl/os/Platform.java @@ -16,6 +16,8 @@ package overrungl.os; +import overrungl.internal.Exceptions; + /** * The native platform, identifying the operating system and the architecture. * @@ -38,7 +40,7 @@ else if (os.startsWith("Mac OS X") || os.startsWith("Darwin")) CURRENT = MacOSX.INSTANCE; else if (os.startsWith("Windows")) CURRENT = Windows.INSTANCE; - else throw new IllegalStateException("Unrecognized or unsupported platform: " + os); + else throw Exceptions.ISE. "Unrecognized or unsupported platform: \{ os }" ; } } return Holder.CURRENT; @@ -85,6 +87,11 @@ public String sharedLibrarySuffix() { public String sharedLibraryName(String libraryName) { return Platform.unixSharedLibraryName(libraryName, sharedLibrarySuffix()); } + + @Override + public String toString() { + return familyName(); + } } /** @@ -110,6 +117,11 @@ public String sharedLibrarySuffix() { public String sharedLibraryName(String libraryName) { return Platform.unixSharedLibraryName(libraryName, sharedLibrarySuffix()); } + + @Override + public String toString() { + return familyName(); + } } /** @@ -135,6 +147,11 @@ public String sharedLibrarySuffix() { public String sharedLibraryName(String libraryName) { return Platform.withExtension(libraryName, sharedLibrarySuffix()); } + + @Override + public String toString() { + return familyName(); + } } private static String unixSharedLibraryName(String libraryName, String suffix) { @@ -143,9 +160,9 @@ private static String unixSharedLibraryName(String libraryName, String suffix) { } int pos = libraryName.lastIndexOf('/'); if (pos >= 0) { - return libraryName.substring(0, pos + 1) + "lib" + libraryName.substring(pos + 1) + suffix; + return STR. "\{ libraryName.substring(0, pos + 1) }lib\{ libraryName.substring(pos + 1) }\{ suffix }" ; } - return "lib" + libraryName + suffix; + return STR. "lib\{ libraryName }\{ suffix }" ; } /** diff --git a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java index 058d20c3..41743db4 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java @@ -78,7 +78,7 @@ public static void check(boolean condition, String message) throws IllegalStateE * @see #checkNotNullptr(MemorySegment, String) */ public static void checkNotNullptr(MemorySegment segment) throws IllegalStateException { - checkNotNullptr(segment, "condition == false"); + checkNotNullptr(segment, "segment is NULL"); } /** diff --git a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java index c7de2ad2..28d6309d 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java @@ -20,6 +20,7 @@ import org.jetbrains.annotations.Nullable; import overrungl.Configurations; import overrungl.OverrunGL; +import overrungl.internal.Exceptions; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -44,22 +45,16 @@ final class DebugAllocator { for (Allocation allocation : ALLOCATIONS.keySet()) { StringBuilder sb = new StringBuilder(512); - sb.append("[OverrunGL] ") - .append(allocation.size) - .append(" bytes leaked, thread ") - .append(allocation.threadId) - .append(" (") - .append(THREADS.get(allocation.threadId)) - .append("), address: 0x") - .append(Long.toHexString(allocation.address).toUpperCase()) - .append("\n"); + sb.append(STR. """ + [OverrunGL] \{ allocation.size } bytes leaked,\ + thread \{ allocation.threadId } (\{ THREADS.get(allocation.threadId) }),\ + address: 0x\{ Long.toHexString(allocation.address).toUpperCase() } + """ ); StackTraceElement[] stackTrace = allocation.getElements(); if (stackTrace != null) { for (Object el : stackTrace) { - sb.append("\tat ") - .append(el.toString()) - .append("\n"); + sb.append(STR. "\tat \{ el.toString() }\n" ); } } else { missingStacktrace = true; @@ -104,30 +99,22 @@ private static void trackAbort(long address, Allocation allocationOld, Allocatio trackAbortPrint(allocationOld, "Old", addressHex); trackAbortPrint(allocationNew, "New", addressHex); - throw new IllegalStateException(STR."The memory address specified is already being tracked: 0x\{addressHex}"); + throw Exceptions.ISE. "The memory address specified is already being tracked: 0x\{ addressHex }" ; } private static void trackAbortPrint(Allocation allocation, String name, String address) { StringBuilder sb = new StringBuilder(512); - sb.append("[OverrunGL] ") - .append(name) - .append(" allocation with size ") - .append(allocation.size) - .append(", thread ") - .append(allocation.threadId) - .append(" (") - .append(THREADS.get(allocation.threadId)) - .append("), address: 0x") - .append(address) - .append("\n"); + sb.append(STR. """ + [OverrunGL] \{ name } allocation with size \{ allocation.size },\ + thread \{ allocation.threadId } (\{ THREADS.get(allocation.threadId) }),\ + address: 0x\{ address } + """ ); StackTraceElement[] stackTrace = allocation.getElements(); if (stackTrace != null) { for (Object el : stackTrace) { - sb.append("\tat ") - .append(el.toString()) - .append("\n"); + sb.append(STR. "\tat \{ el.toString() }\n" ); } } @@ -151,7 +138,7 @@ static long untrack(long address) { private static void untrackAbort(long address) { String addressHex = Long.toHexString(address).toUpperCase(); - throw new IllegalStateException(STR."The memory address specified is not being tracked: 0x\{addressHex}"); + throw Exceptions.ISE. "The memory address specified is not being tracked: 0x\{ addressHex }" ; } private record Allocation(long address, long size, long threadId, @Nullable Object[] stacktrace) { diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java index bfc4465a..7fe07306 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java @@ -855,6 +855,8 @@ private GLFW() { /** * Converts the given error code to a readable string. + *

    + * This method is created by OverrunGL and does not belong to the original GLFW library. * * @param errorCode the error code. * @return the error string. diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWErrorCallback.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWErrorCallback.java index 5531ac1f..a96b6c37 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWErrorCallback.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWErrorCallback.java @@ -17,6 +17,7 @@ package overrungl.glfw; import overrungl.OverrunGL; +import overrungl.internal.Exceptions; import java.io.PrintStream; import java.util.function.Consumer; @@ -37,7 +38,7 @@ private GLFWErrorCallback() { */ public static IGLFWErrorFun createThrow() { return (errorCode, description) -> { - throw new IllegalStateException(String.format("GLFW error [0x%X]: %s", errorCode, description)); + throw Exceptions.ISE. "GLFW error [0x\{ Integer.toHexString(errorCode) }]: \{ description }" ; }; } @@ -49,16 +50,10 @@ public static IGLFWErrorFun createThrow() { public static IGLFWErrorFun createLog(Consumer logger) { return (errorCode, description) -> { var sb = new StringBuilder(512); - sb.append("[OverrunGL] GLFW ") - .append(GLFW.getErrorString(errorCode)) - .append(" error: ") - .append(description) - .append("\n"); + sb.append(STR. "[OverrunGL] GLFW \{ GLFW.getErrorString(errorCode) } error: \{ description }\n" ); var stack = Thread.currentThread().getStackTrace(); for (int i = 3; i < stack.length; i++) { - sb.append(" at ") - .append(stack[i]) - .append("\n"); + sb.append(STR. " at \{ stack[i] }\n" ); } logger.accept(sb.toString()); }; diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index d69db9f7..9ee4deef 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -64,8 +64,8 @@ * new Pair<>("Image file", "png,jpg")); * var result = NFD.openDialogN(outPath, filterItem, null); * switch (result) { - * case ERROR -> System.err.println("Error: " + NFD.getError()); - * case OKAY -> System.out.println("Success! " + outPath[0]); + * case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); + * case OKAY -> System.out.println(STR. "Success! \{ outPath[0] }" ); * case CANCEL -> System.out.println("User pressed cancel."); * } * } diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDEnumerator.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDEnumerator.java index a788e148..6a92ed55 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDEnumerator.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDEnumerator.java @@ -148,7 +148,7 @@ public static Tuple2 fromPathSetU8(SegmentAllocator al } private static IllegalStateException errorIterating() { - return new IllegalStateException("Error iterating: " + NFD.getError()); + return new IllegalStateException(STR. "Error iterating: \{ NFD.getError() }" ); } @NotNull diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java index d6424a57..ca34423a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLUtil.java @@ -78,16 +78,14 @@ public static Arena setupDebugMessageCallback(Consumer logger) { GL.debugMessageCallback(arena, (source, type, id, severity, message, userParam) -> { var sb = new StringBuilder(768); sb.append("[OverrunGL] OpenGL debug message\n"); - printDetail(sb, "ID", STR."0x\{Integer.toHexString(id).toUpperCase(Locale.ROOT)}"); + printDetail(sb, "ID", STR. "0x\{ Integer.toHexString(id).toUpperCase(Locale.ROOT) }" ); printDetail(sb, "Source", getDebugSource(source)); printDetail(sb, "Type", getDebugType(type)); printDetail(sb, "Severity", getDebugSeverity(severity)); printDetail(sb, "Message", message); var stack = Thread.currentThread().getStackTrace(); for (int i = 3; i < stack.length; i++) { - sb.append(" at ") - .append(stack[i]) - .append("\n"); + sb.append(STR. " at \{ stack[i] }\n" ); } logger.accept(sb.toString()); }, MemorySegment.NULL); @@ -106,16 +104,14 @@ public static Arena setupDebugMessageCallback(Consumer logger) { glDebugMessageCallbackARB(arena, (source, type, id, severity, message, userParam) -> { var sb = new StringBuilder(768); sb.append("[OverrunGL] ARB_debug_output message\n"); - printDetail(sb, "ID", STR."0x\{Integer.toHexString(id).toUpperCase(Locale.ROOT)}"); + printDetail(sb, "ID", STR. "0x\{ Integer.toHexString(id).toUpperCase(Locale.ROOT) }" ); printDetail(sb, "Source", getSourceARB(source)); printDetail(sb, "Type", getTypeARB(type)); printDetail(sb, "Severity", getSeverityARB(severity)); printDetail(sb, "Message", message); var stack = Thread.currentThread().getStackTrace(); for (int i = 3; i < stack.length; i++) { - sb.append(" at ") - .append(stack[i]) - .append("\n"); + sb.append(STR. " at \{ stack[i] }\n" ); } logger.accept(sb.toString()); }, MemorySegment.NULL); @@ -128,15 +124,13 @@ public static Arena setupDebugMessageCallback(Consumer logger) { glDebugMessageCallbackAMD(arena, (id, category, severity, message, userParam) -> { var sb = new StringBuilder(768); sb.append("[OverrunGL] AMD_debug_output message\n"); - printDetail(sb, "ID", STR."0x\{Integer.toHexString(id).toUpperCase(Locale.ROOT)}"); + printDetail(sb, "ID", STR. "0x\{ Integer.toHexString(id).toUpperCase(Locale.ROOT) }" ); printDetail(sb, "Category", getCategoryAMD(category)); printDetail(sb, "Severity", getSeverityAMD(severity)); printDetail(sb, "Message", message); var stack = Thread.currentThread().getStackTrace(); for (int i = 3; i < stack.length; i++) { - sb.append(" at ") - .append(stack[i]) - .append("\n"); + sb.append(STR. " at \{ stack[i] }\n" ); } logger.accept(sb.toString()); }, MemorySegment.NULL); @@ -148,11 +142,7 @@ public static Arena setupDebugMessageCallback(Consumer logger) { } private static void printDetail(StringBuilder sb, String type, String message) { - sb.append(" ") - .append(type) - .append(": ") - .append(message) - .append("\n"); + sb.append(STR. " \{ type }: \{ message }\n" ); } private static String getDebugSource(int source) { diff --git a/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java b/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java index 75be4ada..7374f897 100644 --- a/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java +++ b/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java @@ -50,8 +50,8 @@ private static void openDialog() { final NFDResult result = NFD.openDialogN(outPath, filterItem, null); switch (result) { - case ERROR -> System.err.println("Error: " + NFD.getError()); - case OKAY -> System.out.println("Success! " + outPath[0]); + case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); + case OKAY -> System.out.println(STR. "Success! \{ outPath[0] }" ); case CANCEL -> System.out.println("User pressed cancel."); } } @@ -81,13 +81,13 @@ private static void openDialogMultiple() { MemorySegment outPaths = pOutPaths.get(ValueLayout.ADDRESS, 0); switch (result) { - case ERROR -> System.err.println("Error: " + NFD.getError()); + case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); case OKAY -> { System.out.println("Success!"); for (long i = 0, numPaths = NFD.pathSetGetCount(outPaths).y(); i < numPaths; i++) { NFD.pathSetGetPathN(outPaths, i, outPath); - System.out.println("Path " + i + ": " + outPath[0]); + System.out.println(STR. "Path \{ i }: \{ outPath[0] }" ); } // remember to free the path-set memory (since NFDResult::OKAY is returned) @@ -121,14 +121,14 @@ private static void openDialogMultipleEnum() { MemorySegment outPaths = pOutPaths.get(ValueLayout.ADDRESS, 0); switch (result) { - case ERROR -> System.err.println("Error: " + NFD.getError()); + case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); case OKAY -> { System.out.println("Success!"); try (NFDEnumerator enumerator = NFDEnumerator.fromPathSetN(stack, outPaths).y()) { int i = 0; for (String path : enumerator) { - System.out.println("Path " + i + ": " + path); + System.out.println(STR. "Path \{ i }: \{ path }" ); i++; } } @@ -157,8 +157,8 @@ private static void pickFolder() { // show the dialog final NFDResult result = NFD.pickFolderN(outPath, null); switch (result) { - case ERROR -> System.err.println("Error: " + NFD.getError()); - case OKAY -> System.out.println("Success! " + outPath[0]); + case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); + case OKAY -> System.out.println(STR. "Success! \{ outPath[0] }" ); case CANCEL -> System.out.println("User pressed cancel."); } } @@ -185,8 +185,8 @@ private static void saveDialog() { // show the dialog final NFDResult result = NFD.saveDialogN(savePath, filterItem, null, "Untitled.java"); switch (result) { - case ERROR -> System.err.println("Error: " + NFD.getError()); - case OKAY -> System.out.println("Success! " + savePath[0]); + case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); + case OKAY -> System.out.println(STR. "Success! \{ savePath[0] }" ); case CANCEL -> System.out.println("User pressed cancel."); } } From e1f9ebda99b28dfe9458c84e77df3ca27f5323c4 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Wed, 20 Sep 2023 13:40:18 +0800 Subject: [PATCH 05/44] [OpenGL] Update Generator --- .../overrungl/opengl/OpenGLGenerator.kt | 1175 ++++++++++++++--- 1 file changed, 988 insertions(+), 187 deletions(-) diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 9d3a926b..35bb146c 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -18,12 +18,40 @@ package overrungl.opengl import overrungl.opengl.OpenGLExt.* import java.nio.file.Files +import java.time.Clock +import java.time.LocalDate import kotlin.io.path.Path enum class OpenGLExt(val dir: String, val packageName: String, val extName: String) { CORE("", "", ""), - ARB("ext/arb", ".ext.arb", "ARB"), - KHR("ext/khr", ".ext.khr", "KHR") + ARB("ext/arb/", ".ext.arb", "ARB"), + KHR("ext/khr/", ".ext.khr", "KHR"), + OES("ext/oes/", ".ext.oes", "OES"), + `3DFX`("ext/", ".ext", "3DFX"), + AMD("ext/amd/", ".ext.amd", "AMD"), + APPLE("ext/apple/", ".ext.apple", "APPLE"), + ATI("ext/ati/", ".ext.ati", "ATI"), + EXT("ext/ext/", ".ext.ext", "EXT"), + GREMEDY("ext/", ".ext", "GREMEDY"), + HP("ext/", ".ext", "HP"), + IBM("ext/ibm/", ".ext.ibm", "IBM"), + INGR("ext/", ".ext", "INGR"), + INTEL("ext/intel/", ".ext.intel", "INTEL"), + MESAX("ext/mesa/", ".ext.mesa", "MESAX"), + MESA("ext/mesa/", ".ext.mesa", "MESA"), + NVX("ext/nv/", ".ext.nv", "NVX"), + NV("ext/nv/", ".ext.nv", "NV"), + OML("ext/", ".ext", "OML"), + OVR("ext/", ".ext", "OVR"), + PGI("ext/", ".ext", "PGI"), + REND("ext/", ".ext", "REND"), + S3("ext/", ".ext", "S3"), + SGIS("ext/sgi/", ".ext.sgi", "SGIS"), + SGIX("ext/sgi/", ".ext.sgi", "SGIX"), + SGI("ext/sgi/", ".ext.sgi", "SGI"), + SUNX("ext/sun/", ".ext.sun", "SUNX"), + SUN("ext/sun/", ".ext.sun", "SUN"), + WIN("ext/", ".ext", "WIN") } data class Type(val name: String, val layout: String?) { @@ -31,6 +59,29 @@ data class Type(val name: String, val layout: String?) { override fun toString(): String = name } +val fileHeader = """/* + * MIT License + * + * Copyright (c) 2022-${LocalDate.now(Clock.systemUTC()).year} Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT!""" + +private val generatedFunctions = ArrayList() +private val generatedExtFunctions = ArrayList() +private val generatedClasses = ArrayList() +private val generatedExtClasses = ArrayList() + val void = Type("void", null) val boolean = Type("boolean", "JAVA_BYTE") val byte = Type("byte", "JAVA_BYTE") @@ -71,9 +122,9 @@ data class Function( ) class OpenGLFile( - private val name: String, - private val ext: OpenGLExt = CORE, - private val extName: String = "EXT" + val name: String, + val ext: OpenGLExt, + private val extName: String ) { private val constants = LinkedHashMap() private val functions = ArrayList() @@ -82,16 +133,22 @@ class OpenGLFile( constants[this] = value } - operator fun String.invoke(returnType: Type, vararg params: Parameter, nativeType: String?=null) { - functions.add(Function(this, returnType, nativeType, params.toList())) + operator fun String.invoke(returnType: Type, vararg params: Parameter, nativeType: String? = null) { + Function(this, returnType, nativeType, params.toList()).also { + functions.add(it) + when (ext) { + CORE -> generatedFunctions.add(it) + else -> generatedExtFunctions.add(it) + } + } } internal fun generate() { - Files.writeString(Path("${ext.dir}/GL${ext.extName}$name.java"), buildString { + Files.writeString(Path("${ext.dir}GL${ext.extName}$name.java"), buildString { // file-header appendLine( """ - // this file is auto-generated. DO NOT EDIT! + $fileHeader package overrungl.opengl${ext.packageName}; import overrungl.*; @@ -132,7 +189,7 @@ class OpenGLFile( // functions functions.forEach { f -> append(" public static ") - if (f.nativeType!=null) + if (f.nativeType != null) append("@NativeType(\"${f.nativeType}\") ") append("${f.returnType} ${f.name}(") f.params.forEachIndexed { index, it -> @@ -168,16 +225,22 @@ class OpenGLFile( fun file( name: String, ext: OpenGLExt = CORE, - extName: String = "EXT", + extName: String = "GL", block: OpenGLFile.() -> Unit ) { - OpenGLFile(name, ext, extName).also(block).generate() + OpenGLFile(name, ext, extName).also { + block(it) + when (ext) { + CORE -> generatedClasses.add(it) + else -> generatedExtClasses.add(it) + } + }.generate() } fun file( name: String, ext: OpenGLExt = CORE, - extName: String = "EXT", + extName: String = "GL", vararg const: Pair ) { file(name, ext, extName) { @@ -231,8 +294,20 @@ fun arb() { "GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB"("0x9342") "GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB"("0x9343") "glEvaluateDepthValuesARB"(void) - "glFramebufferSampleLocationsfvARB"(void, int("target"), int("start"), int("count"), address("v", "const GLfloat *v")) - "glNamedFramebufferSampleLocationsfvARB"(void, int("framebuffer"), int("start"), int("count"), address("v", "const GLfloat *v")) + "glFramebufferSampleLocationsfvARB"( + void, + int("target"), + int("start"), + int("count"), + address("v", "const GLfloat *v") + ) + "glNamedFramebufferSampleLocationsfvARB"( + void, + int("framebuffer"), + int("start"), + int("count"), + address("v", "const GLfloat *v") + ) } file("SampleShading", ARB, "GL_ARB_sample_shading") { "GL_SAMPLE_SHADING_ARB"("0x8C36") @@ -278,7 +353,13 @@ fun arb() { "glGetHandleARB"(int, int("pname")) "glDetachObjectARB"(void, int("containerObj"), int("attachedObj")) "glCreateShaderObjectARB"(int, int("shaderType")) - "glShaderSourceARB"(void, int("shaderObj"), int("count"), address("string", "const GLcharARB**"), address("length", "const GLint*")) + "glShaderSourceARB"( + void, + int("shaderObj"), + int("count"), + address("string", "const GLcharARB**"), + address("length", "const GLint*") + ) "glCompileShaderARB"(void, int("shaderObj")) "glCreateProgramObjectARB"(int) "glAttachObjectARB"(void, int("containerObj"), int("obj")) @@ -301,13 +382,43 @@ fun arb() { "glUniform2ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) "glUniform3ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) "glUniform4ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) - "glUniformMatrix2fvARB"(void, int("location"), int("count"), boolean("transpose"), address("value", "const GLfloat*")) - "glUniformMatrix3fvARB"(void, int("location"), int("count"), boolean("transpose"), address("value", "const GLfloat*")) - "glUniformMatrix4fvARB"(void, int("location"), int("count"), boolean("transpose"), address("value", "const GLfloat*")) + "glUniformMatrix2fvARB"( + void, + int("location"), + int("count"), + boolean("transpose"), + address("value", "const GLfloat*") + ) + "glUniformMatrix3fvARB"( + void, + int("location"), + int("count"), + boolean("transpose"), + address("value", "const GLfloat*") + ) + "glUniformMatrix4fvARB"( + void, + int("location"), + int("count"), + boolean("transpose"), + address("value", "const GLfloat*") + ) "glGetObjectParameterfvARB"(void, int("obj"), int("pname"), address("params", "GLfloat*")) "glGetObjectParameterivARB"(void, int("obj"), int("pname"), address("params", "GLint*")) - "glGetInfoLogARB"(void, int("obj"), int("maxLength"), address("length", "GLsizei*"), address("infoLog", "GLcharARB*")) - "glGetAttachedObjectsARB"(void, int("containerObj"), int("maxCount"), address("count", "GLsizei*"), address("obj", "GLhandleARB*")) + "glGetInfoLogARB"( + void, + int("obj"), + int("maxLength"), + address("length", "GLsizei*"), + address("infoLog", "GLcharARB*") + ) + "glGetAttachedObjectsARB"( + void, + int("containerObj"), + int("maxCount"), + address("count", "GLsizei*"), + address("obj", "GLhandleARB*") + ) "glGetUniformLocationARB"(int, int("programObj"), address("name", "const GLcharARB*")) "glGetActiveUniformARB"( void, @@ -321,15 +432,34 @@ fun arb() { ) "glGetUniformfvARB"(void, int("programObj"), int("location"), address("params", "GLfloat*")) "glGetUniformivARB"(void, int("programObj"), int("location"), address("params", "GLint*")) - "glGetShaderSourceARB"(void, int("obj"), int("maxLength"), address("length", "GLsizei*"), address("source", "GLcharARB*")) + "glGetShaderSourceARB"( + void, + int("obj"), + int("maxLength"), + address("length", "GLsizei*"), + address("source", "GLcharARB*") + ) } file("ShadingLanguageInclude", ARB, "GL_ARB_shading_language_include") { "GL_SHADER_INCLUDE_ARB"("0x8DAE") "GL_NAMED_STRING_LENGTH_ARB"("0x8DE9") "GL_NAMED_STRING_TYPE_ARB"("0x8DEA") - "glNamedStringARB"(void, int("type"), int("nameLen"), address("name", "const GLchar*"), int("stringLen"), address("string", "const GLchar*")) + "glNamedStringARB"( + void, + int("type"), + int("nameLen"), + address("name", "const GLchar*"), + int("stringLen"), + address("string", "const GLchar*") + ) "glDeleteNamedStringARB"(void, int("nameLen"), address("name", "const GLchar*")) - "glCompileShaderIncludeARB"(void, int("shader"), int("count"), address("path", "const GLchar *const*"), address("length", "const GLint*")) + "glCompileShaderIncludeARB"( + void, + int("shader"), + int("count"), + address("path", "const GLchar *const*"), + address("length", "const GLint*") + ) "glIsNamedStringARB"(boolean, int("nameLen"), address("name", "const GLchar*")) "glGetNamedStringARB"( void, @@ -339,16 +469,24 @@ fun arb() { address("stringLen", "GLint*"), address("string", "GLchar*") ) - "glGetNamedStringivARB"(void, int("nameLen"), address("name", "const GLchar*"), int("pname"), address("params", "GLint*")) - } - file("Shadow", ARB, "GL_ARB_shadow") { - "GL_TEXTURE_COMPARE_MODE_ARB"("0x884C") - "GL_TEXTURE_COMPARE_FUNC_ARB"("0x884D") - "GL_COMPARE_R_TO_TEXTURE_ARB"("0x884E") - } - file("ShadowAmbient", ARB, "GL_ARB_shadow_ambient") { - "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"("0x80BF") + "glGetNamedStringivARB"( + void, + int("nameLen"), + address("name", "const GLchar*"), + int("pname"), + address("params", "GLint*") + ) } + file( + "Shadow", ARB, "GL_ARB_shadow", + "GL_TEXTURE_COMPARE_MODE_ARB" to "0x884C", + "GL_TEXTURE_COMPARE_FUNC_ARB" to "0x884D", + "GL_COMPARE_R_TO_TEXTURE_ARB" to "0x884E" + ) + file( + "ShadowAmbient", ARB, "GL_ARB_shadow_ambient", + "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB" to "0x80BF" + ) file("SparseBuffer", ARB, "GL_ARB_sparse_buffer") { "GL_SPARSE_STORAGE_BIT_ARB"("0x0400") "GL_SPARSE_BUFFER_PAGE_SIZE_ARB"("0x82F8") @@ -381,9 +519,10 @@ fun arb() { boolean("commit") ) } - file("TextureBorderClamp", ARB, "GL_ARB_texture_border_clamp") { - "GL_CLAMP_TO_BORDER_ARB"("0x812D") - } + file( + "TextureBorderClamp", ARB, "GL_ARB_texture_border_clamp", + "GL_CLAMP_TO_BORDER_ARB" to "0x812D" + ) file("TextureBufferObject", ARB, "GL_ARB_texture_buffer_object") { "GL_TEXTURE_BUFFER_ARB"("0x8C2A") "GL_MAX_TEXTURE_BUFFER_SIZE_ARB"("0x8C2B") @@ -475,107 +614,118 @@ fun arb() { ) "glGetCompressedTexImageARB"(void, int("target"), int("level"), address("img", "void*")) } - file("TextureCompressionBptc", ARB, "GL_ARB_texture_compression_bptc") { - "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"("0x8E8C") - "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"("0x8E8D") - "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"("0x8E8E") - "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"("0x8E8F") - } - file("TextureCubeMap", ARB, "GL_ARB_texture_cube_map") { - "GL_NORMAL_MAP_ARB"("0x8511") - "GL_REFLECTION_MAP_ARB"("0x8512") - "GL_TEXTURE_CUBE_MAP_ARB"("0x8513") - "GL_TEXTURE_BINDING_CUBE_MAP_ARB"("0x8514") - "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"("0x8515") - "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"("0x8516") - "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"("0x8517") - "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"("0x8518") - "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"("0x8519") - "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"("0x851A") - "GL_PROXY_TEXTURE_CUBE_MAP_ARB"("0x851B") - "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB"("0x851C") - } - file("TextureCubeMapArray", ARB, "GL_ARB_texture_cube_map_array") { - "GL_TEXTURE_CUBE_MAP_ARRAY_ARB"("0x9009") - "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB"("0x900A") - "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB"("0x900B") - "GL_SAMPLER_CUBE_MAP_ARRAY_ARB"("0x900C") - "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB"("0x900D") - "GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"("0x900E") - "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"("0x900F") - } - file("TextureEnvCombine", ARB, "GL_ARB_texture_env_combine") { - "GL_COMBINE_ARB"("0x8570") - "GL_COMBINE_RGB_ARB"("0x8571") - "GL_COMBINE_ALPHA_ARB"("0x8572") - "GL_SOURCE0_RGB_ARB"("0x8580") - "GL_SOURCE1_RGB_ARB"("0x8581") - "GL_SOURCE2_RGB_ARB"("0x8582") - "GL_SOURCE0_ALPHA_ARB"("0x8588") - "GL_SOURCE1_ALPHA_ARB"("0x8589") - "GL_SOURCE2_ALPHA_ARB"("0x858A") - "GL_OPERAND0_RGB_ARB"("0x8590") - "GL_OPERAND1_RGB_ARB"("0x8591") - "GL_OPERAND2_RGB_ARB"("0x8592") - "GL_OPERAND0_ALPHA_ARB"("0x8598") - "GL_OPERAND1_ALPHA_ARB"("0x8599") - "GL_OPERAND2_ALPHA_ARB"("0x859A") - "GL_RGB_SCALE_ARB"("0x8573") - "GL_ADD_SIGNED_ARB"("0x8574") - "GL_INTERPOLATE_ARB"("0x8575") - "GL_SUBTRACT_ARB"("0x84E7") - "GL_CONSTANT_ARB"("0x8576") - "GL_PRIMARY_COLOR_ARB"("0x8577") - "GL_PREVIOUS_ARB"("0x8578") - } - file("TextureEnvDot3", ARB, "GL_ARB_texture_env_dot3") { - "GL_DOT3_RGB_ARB"("0x86AE") - "GL_DOT3_RGBA_ARB"("0x86AF") - } - file("TextureFilterMinmax", ARB, "GL_ARB_texture_filter_minmax") { - "GL_TEXTURE_REDUCTION_MODE_ARB"("0x9366") - "GL_WEIGHTED_AVERAGE_ARB"("0x9367") - } - file("TextureFloat", ARB, "GL_ARB_texture_float") { - "GL_TEXTURE_RED_TYPE_ARB"("0x8C10") - "GL_TEXTURE_GREEN_TYPE_ARB"("0x8C11") - "GL_TEXTURE_BLUE_TYPE_ARB"("0x8C12") - "GL_TEXTURE_ALPHA_TYPE_ARB"("0x8C13") - "GL_TEXTURE_LUMINANCE_TYPE_ARB"("0x8C14") - "GL_TEXTURE_INTENSITY_TYPE_ARB"("0x8C15") - "GL_TEXTURE_DEPTH_TYPE_ARB"("0x8C16") - "GL_UNSIGNED_NORMALIZED_ARB"("0x8C17") - "GL_RGBA32F_ARB"("0x8814") - "GL_RGB32F_ARB"("0x8815") - "GL_ALPHA32F_ARB"("0x8816") - "GL_INTENSITY32F_ARB"("0x8817") - "GL_LUMINANCE32F_ARB"("0x8818") - "GL_LUMINANCE_ALPHA32F_ARB"("0x8819") - "GL_RGBA16F_ARB"("0x881A") - "GL_RGB16F_ARB"("0x881B") - "GL_ALPHA16F_ARB"("0x881C") - "GL_INTENSITY16F_ARB"("0x881D") - "GL_LUMINANCE16F_ARB"("0x881E") - "GL_LUMINANCE_ALPHA16F_ARB"("0x881F") - } - file("TextureGather", ARB, "GL_ARB_texture_gather") { - "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"("0x8E5E") - "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"("0x8E5F") - "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB"("0x8F9F") - } - file("TextureMirroredRepeat", ARB, "GL_ARB_texture_mirrored_repeat") { - "GL_MIRRORED_REPEAT_ARB"("0x8370") - } - file("TextureRectangle", ARB, "GL_ARB_texture_rectangle") { - "GL_TEXTURE_RECTANGLE_ARB"("0x84F5") - "GL_TEXTURE_BINDING_RECTANGLE_ARB"("0x84F6") - "GL_PROXY_TEXTURE_RECTANGLE_ARB"("0x84F7") - "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB"("0x84F8") - } - file("TransformFeedbackOverflowQuery", ARB, "GL_ARB_transform_feedback_overflow_query") { - "GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB"("0x82EC") - "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB"("0x82ED") - } + file( + "TextureCompressionBptc", ARB, "GL_ARB_texture_compression_bptc", + "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB" to "0x8E8C", + "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB" to "0x8E8D", + "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB" to "0x8E8E", + "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB" to "0x8E8F" + ) + file( + "TextureCubeMap", ARB, "GL_ARB_texture_cube_map", + "GL_NORMAL_MAP_ARB" to "0x8511", + "GL_REFLECTION_MAP_ARB" to "0x8512", + "GL_TEXTURE_CUBE_MAP_ARB" to "0x8513", + "GL_TEXTURE_BINDING_CUBE_MAP_ARB" to "0x8514", + "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB" to "0x8515", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB" to "0x8516", + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB" to "0x8517", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB" to "0x8518", + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB" to "0x8519", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB" to "0x851A", + "GL_PROXY_TEXTURE_CUBE_MAP_ARB" to "0x851B", + "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB" to "0x851C" + ) + file( + "TextureCubeMapArray", ARB, "GL_ARB_texture_cube_map_array", + "GL_TEXTURE_CUBE_MAP_ARRAY_ARB" to "0x9009", + "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB" to "0x900A", + "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB" to "0x900B", + "GL_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900C", + "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB" to "0x900D", + "GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900E", + "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900F" + ) + file( + "TextureEnvCombine", ARB, "GL_ARB_texture_env_combine", + "GL_COMBINE_ARB" to "0x8570", + "GL_COMBINE_RGB_ARB" to "0x8571", + "GL_COMBINE_ALPHA_ARB" to "0x8572", + "GL_SOURCE0_RGB_ARB" to "0x8580", + "GL_SOURCE1_RGB_ARB" to "0x8581", + "GL_SOURCE2_RGB_ARB" to "0x8582", + "GL_SOURCE0_ALPHA_ARB" to "0x8588", + "GL_SOURCE1_ALPHA_ARB" to "0x8589", + "GL_SOURCE2_ALPHA_ARB" to "0x858A", + "GL_OPERAND0_RGB_ARB" to "0x8590", + "GL_OPERAND1_RGB_ARB" to "0x8591", + "GL_OPERAND2_RGB_ARB" to "0x8592", + "GL_OPERAND0_ALPHA_ARB" to "0x8598", + "GL_OPERAND1_ALPHA_ARB" to "0x8599", + "GL_OPERAND2_ALPHA_ARB" to "0x859A", + "GL_RGB_SCALE_ARB" to "0x8573", + "GL_ADD_SIGNED_ARB" to "0x8574", + "GL_INTERPOLATE_ARB" to "0x8575", + "GL_SUBTRACT_ARB" to "0x84E7", + "GL_CONSTANT_ARB" to "0x8576", + "GL_PRIMARY_COLOR_ARB" to "0x8577", + "GL_PREVIOUS_ARB" to "0x8578" + ) + file( + "TextureEnvDot3", ARB, "GL_ARB_texture_env_dot3", + "GL_DOT3_RGB_ARB" to "0x86AE", + "GL_DOT3_RGBA_ARB" to "0x86AF" + ) + file( + "TextureFilterMinmax", ARB, "GL_ARB_texture_filter_minmax", + "GL_TEXTURE_REDUCTION_MODE_ARB" to "0x9366", + "GL_WEIGHTED_AVERAGE_ARB" to "0x9367" + ) + file( + "TextureFloat", ARB, "GL_ARB_texture_float", + "GL_TEXTURE_RED_TYPE_ARB" to "0x8C10", + "GL_TEXTURE_GREEN_TYPE_ARB" to "0x8C11", + "GL_TEXTURE_BLUE_TYPE_ARB" to "0x8C12", + "GL_TEXTURE_ALPHA_TYPE_ARB" to "0x8C13", + "GL_TEXTURE_LUMINANCE_TYPE_ARB" to "0x8C14", + "GL_TEXTURE_INTENSITY_TYPE_ARB" to "0x8C15", + "GL_TEXTURE_DEPTH_TYPE_ARB" to "0x8C16", + "GL_UNSIGNED_NORMALIZED_ARB" to "0x8C17", + "GL_RGBA32F_ARB" to "0x8814", + "GL_RGB32F_ARB" to "0x8815", + "GL_ALPHA32F_ARB" to "0x8816", + "GL_INTENSITY32F_ARB" to "0x8817", + "GL_LUMINANCE32F_ARB" to "0x8818", + "GL_LUMINANCE_ALPHA32F_ARB" to "0x8819", + "GL_RGBA16F_ARB" to "0x881A", + "GL_RGB16F_ARB" to "0x881B", + "GL_ALPHA16F_ARB" to "0x881C", + "GL_INTENSITY16F_ARB" to "0x881D", + "GL_LUMINANCE16F_ARB" to "0x881E", + "GL_LUMINANCE_ALPHA16F_ARB" to "0x881F" + ) + file( + "TextureGather", ARB, "GL_ARB_texture_gather", + "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB" to "0x8E5E", + "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB" to "0x8E5F", + "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB" to "0x8F9F" + ) + file( + "TextureMirroredRepeat", ARB, "GL_ARB_texture_mirrored_repeat", + "GL_MIRRORED_REPEAT_ARB" to "0x8370" + ) + file( + "TextureRectangle", ARB, "GL_ARB_texture_rectangle", + "GL_TEXTURE_RECTANGLE_ARB" to "0x84F5", + "GL_TEXTURE_BINDING_RECTANGLE_ARB" to "0x84F6", + "GL_PROXY_TEXTURE_RECTANGLE_ARB" to "0x84F7", + "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB" to "0x84F8" + ) + file( + "TransformFeedbackOverflowQuery", ARB, "GL_ARB_transform_feedback_overflow_query", + "GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB" to "0x82EC", + "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB" to "0x82ED" + ) file("TransposeMatrix", ARB, "GL_ARB_transpose_matrix") { "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"("0x84E3") "GL_TRANSPOSE_PROJECTION_MATRIX_ARB"("0x84E4") @@ -840,66 +990,695 @@ fun khr() { "GL_HSL_LUMINOSITY_KHR"("0x92B0") "glBlendBarrierKHR"(void) } - file("BlendEquationAdvancedCoherent", KHR, "GL_KHR_blend_equation_advanced_coherent") { - "GL_BLEND_ADVANCED_COHERENT_KHR"("0x9285") - } - file("NoError", KHR, "GL_KHR_no_error") { - "GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR"("0x00000008") - } + file( + "BlendEquationAdvancedCoherent", KHR, "GL_KHR_blend_equation_advanced_coherent", + "GL_BLEND_ADVANCED_COHERENT_KHR" to "0x9285" + ) + file( + "NoError", KHR, "GL_KHR_no_error", + "GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR" to "0x00000008" + ) file("ParallelShaderCompile", KHR, "GL_KHR_parallel_shader_compile") { "GL_MAX_SHADER_COMPILER_THREADS_KHR"("0x91B0") "GL_COMPLETION_STATUS_KHR"("0x91B1") "glMaxShaderCompilerThreadsKHR"(void, GLuint("count")) } - file("Robustness", KHR, "GL_KHR_robustness") { - "GL_CONTEXT_ROBUST_ACCESS"("0x90F3") + file( + "Robustness", KHR, "GL_KHR_robustness", + "GL_CONTEXT_ROBUST_ACCESS" to "0x90F3" + ) + file( + "ShaderSubgroup", KHR, "GL_KHR_shader_subgroup", + "GL_SUBGROUP_SIZE_KHR" to "0x9532", + "GL_SUBGROUP_SUPPORTED_STAGES_KHR" to "0x9533", + "GL_SUBGROUP_SUPPORTED_FEATURES_KHR" to "0x9534", + "GL_SUBGROUP_QUAD_ALL_STAGES_KHR" to "0x9535", + "GL_SUBGROUP_FEATURE_BASIC_BIT_KHR" to "0x00000001", + "GL_SUBGROUP_FEATURE_VOTE_BIT_KHR" to "0x00000002", + "GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR" to "0x00000004", + "GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR" to "0x00000008", + "GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR" to "0x00000010", + "GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR" to "0x00000020", + "GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR" to "0x00000040", + "GL_SUBGROUP_FEATURE_QUAD_BIT_KHR" to "0x00000080" + ) + file( + "TextureCompressionAstcHdr", KHR, "GL_KHR_texture_compression_astc_hdr", + "GL_COMPRESSED_RGBA_ASTC_4x4_KHR" to "0x93B0", + "GL_COMPRESSED_RGBA_ASTC_5x4_KHR" to "0x93B1", + "GL_COMPRESSED_RGBA_ASTC_5x5_KHR" to "0x93B2", + "GL_COMPRESSED_RGBA_ASTC_6x5_KHR" to "0x93B3", + "GL_COMPRESSED_RGBA_ASTC_6x6_KHR" to "0x93B4", + "GL_COMPRESSED_RGBA_ASTC_8x5_KHR" to "0x93B5", + "GL_COMPRESSED_RGBA_ASTC_8x6_KHR" to "0x93B6", + "GL_COMPRESSED_RGBA_ASTC_8x8_KHR" to "0x93B7", + "GL_COMPRESSED_RGBA_ASTC_10x5_KHR" to "0x93B8", + "GL_COMPRESSED_RGBA_ASTC_10x6_KHR" to "0x93B9", + "GL_COMPRESSED_RGBA_ASTC_10x8_KHR" to "0x93BA", + "GL_COMPRESSED_RGBA_ASTC_10x10_KHR" to "0x93BB", + "GL_COMPRESSED_RGBA_ASTC_12x10_KHR" to "0x93BC", + "GL_COMPRESSED_RGBA_ASTC_12x12_KHR" to "0x93BD", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR" to "0x93D0", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR" to "0x93D1", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR" to "0x93D2", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR" to "0x93D3", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR" to "0x93D4", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR" to "0x93D5", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR" to "0x93D6", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR" to "0x93D7", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR" to "0x93D8", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR" to "0x93D9", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR" to "0x93DA", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR" to "0x93DB", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR" to "0x93DC", + "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR" to "0x93DD" + ) +} + +fun oes() { +} + +fun `3dfx`() { + file( + "Multisample", `3DFX`, "GL_3DFX_multisample", + "GL_MULTISAMPLE_3DFX" to "0x86B2", + "GL_SAMPLE_BUFFERS_3DFX" to "0x86B3", + "GL_SAMPLES_3DFX" to "0x86B4", + "GL_MULTISAMPLE_BIT_3DFX" to "0x20000000" + ) + file("Tbuffer", `3DFX`, "GL_3DFX_tbuffer") { + "glTbufferMask3DFX"(void, GLuint("mask")) + } + file( + "TextureCompressionFXT1", `3DFX`, "GL_3DFX_texture_compression_FXT1", + "GL_COMPRESSED_RGB_FXT1_3DFX" to "0x86B0", + "GL_COMPRESSED_RGBA_FXT1_3DFX" to "0x86B1" + ) +} + +fun amd() {} + +fun apple() {} + +fun ati() {} + +fun ext() {} + +fun gremedy() {} + +fun hp() {} + +fun ibm() {} + +fun ingr() {} + +fun intel() {} + +fun mesa() {} + +fun nv() {} + +fun oml() {} + +fun ovr() {} + +fun pgi() {} + +fun rend() {} + +fun s3() {} + +fun sgi() {} + +fun sun() { + file("ConstantData", SUNX, "GL_SUNX_constant_data") { + "GL_UNPACK_CONSTANT_DATA_SUNX"("0x81D5") + "GL_TEXTURE_CONSTANT_DATA_SUNX"("0x81D6") + "glFinishTextureSUNX"(void) + } + file( + "ConvolutionBorderModes", SUN, "GL_SUN_convolution_border_modes", + "GL_WRAP_BORDER_SUN" to "0x81D4" + ) + file("GlobalAlpha", SUN, "GL_SUN_global_alpha") { + "GL_GLOBAL_ALPHA_SUN"("0x81D9") + "GL_GLOBAL_ALPHA_FACTOR_SUN"("0x81DA") + "glGlobalAlphaFactorbSUN"(void, GLbyte("factor")) + "glGlobalAlphaFactorsSUN"(void, GLshort("factor")) + "glGlobalAlphaFactoriSUN"(void, GLint("factor")) + "glGlobalAlphaFactorfSUN"(void, GLfloat("factor")) + "glGlobalAlphaFactordSUN"(void, GLdouble("factor")) + "glGlobalAlphaFactorubSUN"(void, GLubyte("factor")) + "glGlobalAlphaFactorusSUN"(void, GLushort("factor")) + "glGlobalAlphaFactoruiSUN"(void, GLuint("factor")) } - file("ShaderSubgroup", KHR, "GL_KHR_shader_subgroup") { - "GL_SUBGROUP_SIZE_KHR"("0x9532") - "GL_SUBGROUP_SUPPORTED_STAGES_KHR"("0x9533") - "GL_SUBGROUP_SUPPORTED_FEATURES_KHR"("0x9534") - "GL_SUBGROUP_QUAD_ALL_STAGES_KHR"("0x9535") - "GL_SUBGROUP_FEATURE_BASIC_BIT_KHR"("0x00000001") - "GL_SUBGROUP_FEATURE_VOTE_BIT_KHR"("0x00000002") - "GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR"("0x00000004") - "GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR"("0x00000008") - "GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR"("0x00000010") - "GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR"("0x00000020") - "GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR"("0x00000040") - "GL_SUBGROUP_FEATURE_QUAD_BIT_KHR"("0x00000080") + file("MeshArray", SUN, "GL_SUN_mesh_array") { + "GL_QUAD_MESH_SUN"("0x8614") + "GL_TRIANGLE_MESH_SUN"("0x8615") + "glDrawMeshArraysSUN"(void, GLenum("mode"), GLint("first"), GLsizei("count"), GLsizei("width")) } - file("TextureCompressionAstcHdr", KHR, "GL_KHR_texture_compression_astc_hdr") { - "GL_COMPRESSED_RGBA_ASTC_4x4_KHR"("0x93B0") - "GL_COMPRESSED_RGBA_ASTC_5x4_KHR"("0x93B1") - "GL_COMPRESSED_RGBA_ASTC_5x5_KHR"("0x93B2") - "GL_COMPRESSED_RGBA_ASTC_6x5_KHR"("0x93B3") - "GL_COMPRESSED_RGBA_ASTC_6x6_KHR"("0x93B4") - "GL_COMPRESSED_RGBA_ASTC_8x5_KHR"("0x93B5") - "GL_COMPRESSED_RGBA_ASTC_8x6_KHR"("0x93B6") - "GL_COMPRESSED_RGBA_ASTC_8x8_KHR"("0x93B7") - "GL_COMPRESSED_RGBA_ASTC_10x5_KHR"("0x93B8") - "GL_COMPRESSED_RGBA_ASTC_10x6_KHR"("0x93B9") - "GL_COMPRESSED_RGBA_ASTC_10x8_KHR"("0x93BA") - "GL_COMPRESSED_RGBA_ASTC_10x10_KHR"("0x93BB") - "GL_COMPRESSED_RGBA_ASTC_12x10_KHR"("0x93BC") - "GL_COMPRESSED_RGBA_ASTC_12x12_KHR"("0x93BD") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"("0x93D0") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"("0x93D1") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"("0x93D2") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"("0x93D3") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"("0x93D4") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"("0x93D5") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"("0x93D6") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"("0x93D7") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"("0x93D8") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"("0x93D9") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"("0x93DA") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"("0x93DB") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"("0x93DC") - "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"("0x93DD") + file( + "SliceAccum", SUN, "GL_SUN_slice_accum", + "GL_SLICE_ACCUM_SUN" to "0x85CC" + ) + file("TriangleList", SUN, "GL_SUN_triangle_list") { + "GL_RESTART_SUN"("0x0001") + "GL_REPLACE_MIDDLE_SUN"("0x0002") + "GL_REPLACE_OLDEST_SUN"("0x0003") + "GL_TRIANGLE_LIST_SUN"("0x81D7") + "GL_REPLACEMENT_CODE_SUN"("0x81D8") + "GL_REPLACEMENT_CODE_ARRAY_SUN"("0x85C0") + "GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN"("0x85C1") + "GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN"("0x85C2") + "GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN"("0x85C3") + "GL_R1UI_V3F_SUN"("0x85C4") + "GL_R1UI_C4UB_V3F_SUN"("0x85C5") + "GL_R1UI_C3F_V3F_SUN"("0x85C6") + "GL_R1UI_N3F_V3F_SUN"("0x85C7") + "GL_R1UI_C4F_N3F_V3F_SUN"("0x85C8") + "GL_R1UI_T2F_V3F_SUN"("0x85C9") + "GL_R1UI_T2F_N3F_V3F_SUN"("0x85CA") + "GL_R1UI_T2F_C4F_N3F_V3F_SUN"("0x85CB") + "glReplacementCodeuiSUN"(void, GLuint("code")) + "glReplacementCodeusSUN"(void, GLushort("code")) + "glReplacementCodeubSUN"(void, GLubyte("code")) + "glReplacementCodeuivSUN"(void, address("code", "const GLuint *")) + "glReplacementCodeusvSUN"(void, address("code", "const GLushort *")) + "glReplacementCodeubvSUN"(void, address("code", "const GLubyte *")) + "glReplacementCodePointerSUN"(void, GLenum("type"), GLsizei("stride"), address("pointer", "const void **")) + } + file("Vertex", SUN, "GL_SUN_vertex") { + "glColor4ubVertex2fSUN"( + void, + GLubyte("r"), + GLubyte("g"), + GLubyte("b"), + GLubyte("a"), + GLfloat("x"), + GLfloat("y") + ) + "glColor4ubVertex2fvSUN"(void, address("c", "const GLubyte *"), address("v", "const GLfloat *")) + "glColor4ubVertex3fSUN"( + void, + GLubyte("r"), + GLubyte("g"), + GLubyte("b"), + GLubyte("a"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glColor4ubVertex3fvSUN"(void, address("c", "const GLubyte *"), address("v", "const GLfloat *")) + "glColor3fVertex3fSUN"(void, GLfloat("r"), GLfloat("g"), GLfloat("b"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glColor3fVertex3fvSUN"(void, address("c", "const GLfloat *"), address("v", "const GLfloat *")) + "glNormal3fVertex3fSUN"( + void, + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glNormal3fVertex3fvSUN"(void, address("n", "const GLfloat *"), address("v", "const GLfloat *")) + "glColor4fNormal3fVertex3fSUN"( + void, + GLfloat("r"), + GLfloat("g"), + GLfloat("b"), + GLfloat("a"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glColor4fNormal3fVertex3fvSUN"( + void, + address("c", "const GLfloat *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glTexCoord2fVertex3fSUN"(void, GLfloat("s"), GLfloat("t"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glTexCoord2fVertex3fvSUN"(void, address("tc", "const GLfloat *"), address("v", "const GLfloat *")) + "glTexCoord4fVertex4fSUN"( + void, + GLfloat("s"), + GLfloat("t"), + GLfloat("p"), + GLfloat("q"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glTexCoord4fVertex4fvSUN"(void, address("tc", "const GLfloat *"), address("v", "const GLfloat *")) + "glTexCoord2fColor4ubVertex3fSUN"( + void, + GLfloat("s"), + GLfloat("t"), + GLubyte("r"), + GLubyte("g"), + GLubyte("b"), + GLubyte("a"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glTexCoord2fColor4ubVertex3fvSUN"( + void, + address("tc", "const GLfloat *"), + address("c", "const GLubyte *"), + address("v", "const GLfloat *") + ) + "glTexCoord2fColor3fVertex3fSUN"( + void, + GLfloat("s"), + GLfloat("t"), + GLfloat("r"), + GLfloat("g"), + GLfloat("b"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glTexCoord2fColor3fVertex3fvSUN"( + void, + address("tc", "const GLfloat *"), + address("c", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glTexCoord2fNormal3fVertex3fSUN"( + void, + GLfloat("s"), + GLfloat("t"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glTexCoord2fNormal3fVertex3fvSUN"( + void, + address("tc", "const GLfloat *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glTexCoord2fColor4fNormal3fVertex3fSUN"( + void, + GLfloat("s"), + GLfloat("t"), + GLfloat("r"), + GLfloat("g"), + GLfloat("b"), + GLfloat("a"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glTexCoord2fColor4fNormal3fVertex3fvSUN"( + void, + address("tc", "const GLfloat *"), + address("c", "const GLfloat *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glTexCoord4fColor4fNormal3fVertex4fSUN"( + void, + GLfloat("s"), + GLfloat("t"), + GLfloat("p"), + GLfloat("q"), + GLfloat("r"), + GLfloat("g"), + GLfloat("b"), + GLfloat("a"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glTexCoord4fColor4fNormal3fVertex4fvSUN"( + void, + address("tc", "const GLfloat *"), + address("c", "const GLfloat *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glReplacementCodeuiVertex3fSUN"(void, GLuint("rc"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glReplacementCodeuiVertex3fvSUN"(void, address("rc", "const GLuint *"), address("v", "const GLfloat *")) + "glReplacementCodeuiColor4ubVertex3fSUN"( + void, + GLuint("rc"), + GLubyte("r"), + GLubyte("g"), + GLubyte("b"), + GLubyte("a"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glReplacementCodeuiColor4ubVertex3fvSUN"( + void, + address("rc", "const GLuint *"), + address("c", "const GLubyte *"), + address("v", "const GLfloat *") + ) + "glReplacementCodeuiColor3fVertex3fSUN"( + void, + GLuint("rc"), + GLfloat("r"), + GLfloat("g"), + GLfloat("b"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glReplacementCodeuiColor3fVertex3fvSUN"( + void, + address("rc", "const GLuint *"), + address("c", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glReplacementCodeuiNormal3fVertex3fSUN"( + void, + GLuint("rc"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glReplacementCodeuiNormal3fVertex3fvSUN"( + void, + address("rc", "const GLuint *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glReplacementCodeuiColor4fNormal3fVertex3fSUN"( + void, + GLuint("rc"), + GLfloat("r"), + GLfloat("g"), + GLfloat("b"), + GLfloat("a"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glReplacementCodeuiColor4fNormal3fVertex3fvSUN"( + void, + address("rc", "const GLuint *"), + address("c", "const GLfloat *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glReplacementCodeuiTexCoord2fVertex3fSUN"( + void, + GLuint("rc"), + GLfloat("s"), + GLfloat("t"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glReplacementCodeuiTexCoord2fVertex3fvSUN"( + void, + address("rc", "const GLuint *"), + address("tc", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN"( + void, + GLuint("rc"), + GLfloat("s"), + GLfloat("t"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN"( + void, + address("rc", "const GLuint *"), + address("tc", "const GLfloat *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) + "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN"( + void, + GLuint("rc"), + GLfloat("s"), + GLfloat("t"), + GLfloat("r"), + GLfloat("g"), + GLfloat("b"), + GLfloat("a"), + GLfloat("nx"), + GLfloat("ny"), + GLfloat("nz"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z") + ) + "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN"( + void, + address("rc", "const GLuint *"), + address("tc", "const GLfloat *"), + address("c", "const GLfloat *"), + address("n", "const GLfloat *"), + address("v", "const GLfloat *") + ) } } +fun win() { + file( + "PhongShading", WIN, "GL_WIN_phong_shading", + "GL_PHONG_WIN" to "0x80EA", + "GL_PHONG_HINT_WIN" to "0x80EB" + ) + file( + "SpecularFog", WIN, "GL_WIN_specular_fog", + "GL_FOG_SPECULAR_TEXTURE_WIN" to "0x80EC" + ) +} + +fun glExtCaps() { + Files.writeString(Path("GLExtCaps.java"), buildString { + appendLine( + """ + $fileHeader + package overrungl.opengl; + + import overrungl.opengl.ext.*; + import overrungl.opengl.ext.arb.*; + import overrungl.opengl.ext.khr.*; + import overrungl.opengl.ext.amd.*; + import overrungl.opengl.ext.apple.*; + import overrungl.opengl.ext.sun.*; + + import java.lang.invoke.MethodHandle; + + /** + * The OpenGL extension capabilities. + * + * @since 0.1.0 + */ + public final class GLExtCaps { + /** The OpenGL extension flags. */ + public boolean GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, + GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, + GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, + GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, + GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, + GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, + GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, + GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, + GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, + GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, + GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, + GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, + GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, + GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, + GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, + GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, + GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, + GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, + GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, + GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, + GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, + GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, + GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, + GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, + GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, + GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, + GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, + GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, + GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, + GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, + GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, + GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, + GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, + GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, + GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, + GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, + GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, + GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, + GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, + GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, + GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, + GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, + GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, + GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, + GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, + GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, + GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, + GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, + GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, + GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, + GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, + GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, + GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, + GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, + GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, + GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, + GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, + GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_element_array, + GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, + GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, + GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, + GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, + GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, + GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, + GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, + GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, + GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, + GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, + GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, + GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, + GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, + GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, + GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, + GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, + GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, + GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, + GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, + GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, + GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, + GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, + GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, + GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, + GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, + GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, + GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, + GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, + GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, + GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, + GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, + GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, + GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, + GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, + GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, + GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, + GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, + GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, + GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, + GL_KHR_texture_compression_astc_sliced_3d, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, + GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, + GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, + GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, + GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, + GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, + GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, + GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, + GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, + GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, + GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, + GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, + GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, + GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, + GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, + GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, + GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, + GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, + GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, + GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, + GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, + GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, + GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, + GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, + GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, + GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, + GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, + GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, + GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, + GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, + GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, + GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, + GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, + GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, + GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OES_byte_coordinates, + GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, + GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, + GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, + GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, + GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, + GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, + GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, + GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, + GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, + GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, + GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, + GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, + GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, + GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, + GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, + GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; + + /** GLCapabilities */ + public final GLCapabilities caps; + + /** + * Construct incomplete OpenGL extension capabilities. + * + * @param caps The parent capabilities. + */ + public GLExtCaps(GLCapabilities caps) { + this.caps = caps; + } + + /** Method handles. */ + public MethodHandle + """.trimIndent() + ) + generatedExtFunctions.forEachIndexed { index, function -> + if (index == 0) append(" ") + else append(", ") + append(function.name) + } + appendLine(";\n void load(GLLoadFunc load) {") + generatedExtClasses.forEach { + appendLine(" ${it.ext.extName}${it.name}.load(this, load);") + } + appendLine(" }\n}") + }) +} + /** * @author squid233 * @since 0.1.0 @@ -907,4 +1686,26 @@ fun khr() { fun main() { arb() khr() + oes() + `3dfx`() + amd() + apple() + ati() + ext() + gremedy() + hp() + ibm() + ingr() + intel() + mesa() + nv() + oml() + ovr() + pgi() + rend() + s3() + sgi() + sun() + win() + glExtCaps() } From f2d977ebe9288ff82cbef8cd2dbef68e71ccad68 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 23 Sep 2023 19:43:42 +0800 Subject: [PATCH 06/44] [OpenGL] Add support to function overload --- .../overrungl/opengl/OpenGLGenerator.kt | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 35bb146c..091aecf8 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -118,8 +118,17 @@ data class Function( val name: String, val returnType: Type = void, val nativeType: String?, - val params: List -) + val params: List, + val content: String? = null +) { + private val _overloads = ArrayList() + val overloads: List + get() = _overloads + + operator fun String.invoke(returnType: Type, content: String, vararg params: Parameter, nativeType: String? = null) { + _overloads.add(Function(this, returnType, nativeType, params.toList(), content)) + } +} class OpenGLFile( val name: String, @@ -187,7 +196,7 @@ class OpenGLFile( appendLine(" }") appendLine() // functions - functions.forEach { f -> + fun appendFuncHeader(f: Function) { append(" public static ") if (f.nativeType != null) append("@NativeType(\"${f.nativeType}\") ") @@ -199,6 +208,9 @@ class OpenGLFile( append("${it.type} ${it.name}") } appendLine(") {") + } + functions.forEach { f -> + appendFuncHeader(f) appendLine(" final var ext = getExtCapabilities();") appendLine(" try {") if (f.returnType != void) @@ -215,6 +227,15 @@ class OpenGLFile( """.trimMargin() ) appendLine() + + // overloads + if (f.overloads.isNotEmpty()) { + f.overloads.forEach { overload -> + appendFuncHeader(overload) + appendLine(overload.content!!.prependIndent(" ")) + appendLine(" }\n") + } + } } } appendLine("}") From 0188777c41700a415853e05cd5df85214dab8be1 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 23 Sep 2023 19:51:27 +0800 Subject: [PATCH 07/44] Update project information --- .github/workflows/gradle.yml | 3 +-- README.md | 4 ++-- gradle.properties | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 8c5e506a..be47646f 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: java: [ - 21-ea + 21 ] os: [ ubuntu-latest, windows-latest ] runs-on: ${{ matrix.os }} @@ -25,7 +25,6 @@ jobs: with: java-version: | ${{ matrix.java }} - 20 distribution: 'temurin' - name: Grant execute permission for gradlew if: ${{ runner.os != 'Windows' }} diff --git a/README.md b/README.md index 9afaa80d..36cbea26 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ## Introduction -Overrun Game Library is a high-performance library that implemented with Java 21, +Overrun Game Library is a high-performance library implemented with Java 21, enables cross-platform access to a set of C/C++ library bindings, and provides some useful utilities. ### OverrunGL vs. LWJGL @@ -19,7 +19,7 @@ enables cross-platform access to a set of C/C++ library bindings, and provides s [LWJGL 3](https://github.com/LWJGL/lwjgl3) is also a Java library that enables native access. LWJGL 3 uses JNI to access native functions, -but OverrunGL uses [FFM API](https://openjdk.org/jeps/434), which has better performance. +but OverrunGL uses [FFM API](https://openjdk.org/jeps/442), which has better performance. ## Getting Started diff --git a/gradle.properties b/gradle.properties index b646765c..10e64037 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ projArtifactId=overrungl projName=overrungl projVersion=0.1.0-SNAPSHOT projVcs=Over-Run/overrungl -projBranch=0.x +projBranch=main # Organization orgName=Overrun Organization From a06ed74274408d16d4fc0687d16ed8aa99781772 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 23 Sep 2023 21:28:46 +0800 Subject: [PATCH 08/44] [OpenGL] Updated generator OES, AMD & APPLE --- .../overrungl/opengl/OpenGLGenerator.kt | 885 +++++++++++++++++- 1 file changed, 878 insertions(+), 7 deletions(-) diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 091aecf8..fcd31f44 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -91,6 +91,9 @@ val long = Type("long", "JAVA_LONG") val float = Type("float", "JAVA_FLOAT") val double = Type("double", "JAVA_DOUBLE") val address = Type("MemorySegment", "ADDRESS") + +val arena = Type("Arena", null) + val GLboolean = boolean val GLbyte = byte val GLubyte = byte @@ -98,15 +101,24 @@ val GLshort = short val GLushort = short val GLint = int val GLuint = int -val GLenum = int +val GLfixed = int val GLsizei = int +val GLenum = int +val GLintptr = long +val GLsizeiptr = long +val GLbitfield = int val GLfloat = float +val GLclampf = float val GLdouble = double +val GLclampd = double +val GLchar = byte val GLsizeiptrARB = long val GLintptrARB = long val GLhandleARB = int // Don't know how to handle on APPLE val GLcharARB = byte +val GLint64EXT = long +val GLuint64EXT = long data class Parameter( val type: Type, @@ -125,6 +137,10 @@ data class Function( val overloads: List get() = _overloads + operator fun invoke(action: Function.() -> Unit) { + action() + } + operator fun String.invoke(returnType: Type, content: String, vararg params: Parameter, nativeType: String? = null) { _overloads.add(Function(this, returnType, nativeType, params.toList(), content)) } @@ -142,7 +158,7 @@ class OpenGLFile( constants[this] = value } - operator fun String.invoke(returnType: Type, vararg params: Parameter, nativeType: String? = null) { + operator fun String.invoke(returnType: Type, vararg params: Parameter, nativeType: String? = null): Function = Function(this, returnType, nativeType, params.toList()).also { functions.add(it) when (ext) { @@ -150,7 +166,6 @@ class OpenGLFile( else -> generatedExtFunctions.add(it) } } - } internal fun generate() { Files.writeString(Path("${ext.dir}GL${ext.extName}$name.java"), buildString { @@ -163,8 +178,7 @@ class OpenGLFile( import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; - import static java.lang.foreign.FunctionDescriptor.of; - import static java.lang.foreign.FunctionDescriptor.ofVoid; + import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -1077,6 +1091,205 @@ fun khr() { } fun oes() { + file("ByteCoordinates", OES, "GL_OES_byte_coordinates") { + "glMultiTexCoord1bOES"(void, GLenum("texture"), GLbyte("s")) + "glMultiTexCoord1bvOES"(void, GLenum("texture"), address("coords", "const GLbyte *")) + "glMultiTexCoord2bOES"(void, GLenum("texture"), GLbyte("s"), GLbyte("t")) + "glMultiTexCoord2bvOES"(void, GLenum("texture"), address("coords", "const GLbyte *")) + "glMultiTexCoord3bOES"(void, GLenum("texture"), GLbyte("s"), GLbyte("t"), GLbyte("r")) + "glMultiTexCoord3bvOES"(void, GLenum("texture"), address("coords", "const GLbyte *")) + "glMultiTexCoord4bOES"(void, GLenum("texture"), GLbyte("s"), GLbyte("t"), GLbyte("r"), GLbyte("q")) + "glMultiTexCoord4bvOES"(void, GLenum("texture"), address("coords", "const GLbyte *")) + "glTexCoord1bOES"(void, GLbyte("s")) + "glTexCoord1bvOES"(void, address("coords", "const GLbyte *")) + "glTexCoord2bOES"(void, GLbyte("s"), GLbyte("t")) + "glTexCoord2bvOES"(void, address("coords", "const GLbyte *")) + "glTexCoord3bOES"(void, GLbyte("s"), GLbyte("t"), GLbyte("r")) + "glTexCoord3bvOES"(void, address("coords", "const GLbyte *")) + "glTexCoord4bOES"(void, GLbyte("s"), GLbyte("t"), GLbyte("r"), GLbyte("q")) + "glTexCoord4bvOES"(void, address("coords", "const GLbyte *")) + "glVertex2bOES"(void, GLbyte("x"), GLbyte("y")) + "glVertex2bvOES"(void, address("coords", "const GLbyte *")) + "glVertex3bOES"(void, GLbyte("x"), GLbyte("y"), GLbyte("z")) + "glVertex3bvOES"(void, address("coords", "const GLbyte *")) + "glVertex4bOES"(void, GLbyte("x"), GLbyte("y"), GLbyte("z"), GLbyte("w")) + "glVertex4bvOES"(void, address("coords", "const GLbyte *")) + } + file( + "CompressedPalettedTexture", OES, "GL_OES_compressed_paletted_texture", + "GL_PALETTE4_RGB8_OES" to "0x8B90", + "GL_PALETTE4_RGBA8_OES" to "0x8B91", + "GL_PALETTE4_R5_G6_B5_OES" to "0x8B92", + "GL_PALETTE4_RGBA4_OES" to "0x8B93", + "GL_PALETTE4_RGB5_A1_OES" to "0x8B94", + "GL_PALETTE8_RGB8_OES" to "0x8B95", + "GL_PALETTE8_RGBA8_OES" to "0x8B96", + "GL_PALETTE8_R5_G6_B5_OES" to "0x8B97", + "GL_PALETTE8_RGBA4_OES" to "0x8B98", + "GL_PALETTE8_RGB5_A1_OES" to "0x8B99" + ) + file("FixedPoint", OES, "GL_OES_fixed_point") { + "GL_FIXED_OES"("0x140C") + "glAlphaFuncxOES"(void, GLenum("func"), GLfixed("ref")) + "glClearColorxOES"(void, GLfixed("red"), GLfixed("green"), GLfixed("blue"), GLfixed("alpha")) + "glClearDepthxOES"(void, GLfixed("depth")) + "glClipPlanexOES"(void, GLenum("plane"), address("equation", "const GLfixed *")) + "glColor4xOES"(void, GLfixed("red"), GLfixed("green"), GLfixed("blue"), GLfixed("alpha")) + "glDepthRangexOES"(void, GLfixed("n"), GLfixed("f")) + "glFogxOES"(void, GLenum("pname"), GLfixed("param")) + "glFogxvOES"(void, GLenum("pname"), address("param", "const GLfixed *")) + "glFrustumxOES"(void, GLfixed("l"), GLfixed("r"), GLfixed("b"), GLfixed("t"), GLfixed("n"), GLfixed("f")) + "glGetClipPlanexOES"(void, GLenum("plane"), address("equation", "GLfixed *")) + "glGetFixedvOES"(void, GLenum("pname"), address("params", "GLfixed *")) + "glGetTexEnvxvOES"(void, GLenum("target"), GLenum("pname"), address("params", "GLfixed *")) + "glGetTexParameterxvOES"(void, GLenum("target"), GLenum("pname"), address("params", "GLfixed *")) + "glLightModelxOES"(void, GLenum("pname"), GLfixed("param")) + "glLightModelxvOES"(void, GLenum("pname"), address("param", "const GLfixed *")) + "glLightxOES"(void, GLenum("light"), GLenum("pname"), GLfixed("param")) + "glLightxvOES"(void, GLenum("light"), GLenum("pname"), address("params", "const GLfixed *")) + "glLineWidthxOES"(void, GLfixed("width")) + "glLoadMatrixxOES"(void, address("m", "const GLfixed *")) + "glMaterialxOES"(void, GLenum("face"), GLenum("pname"), GLfixed("param")) + "glMaterialxvOES"(void, GLenum("face"), GLenum("pname"), address("param", "const GLfixed *")) + "glMultMatrixxOES"(void, address("m", "const GLfixed *")) + "glMultiTexCoord4xOES"(void, GLenum("texture"), GLfixed("s"), GLfixed("t"), GLfixed("r"), GLfixed("q")) + "glNormal3xOES"(void, GLfixed("nx"), GLfixed("ny"), GLfixed("nz")) + "glOrthoxOES"(void, GLfixed("l"), GLfixed("r"), GLfixed("b"), GLfixed("t"), GLfixed("n"), GLfixed("f")) + "glPointParameterxvOES"(void, GLenum("pname"), address("params", "const GLfixed *")) + "glPointSizexOES"(void, GLfixed("size")) + "glPolygonOffsetxOES"(void, GLfixed("factor"), GLfixed("units")) + "glRotatexOES"(void, GLfixed("angle"), GLfixed("x"), GLfixed("y"), GLfixed("z")) + "glScalexOES"(void, GLfixed("x"), GLfixed("y"), GLfixed("z")) + "glTexEnvxOES"(void, GLenum("target"), GLenum("pname"), GLfixed("param")) + "glTexEnvxvOES"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfixed *")) + "glTexParameterxOES"(void, GLenum("target"), GLenum("pname"), GLfixed("param")) + "glTexParameterxvOES"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfixed *")) + "glTranslatexOES"(void, GLfixed("x"), GLfixed("y"), GLfixed("z")) + "glAccumxOES"(void, GLenum("op"), GLfixed("value")) + "glBitmapxOES"( + void, + GLsizei("width"), + GLsizei("height"), + GLfixed("xorig"), + GLfixed("yorig"), + GLfixed("xmove"), + GLfixed("ymove"), + address("bitmap", "const GLubyte *") + ) + "glBlendColorxOES"(void, GLfixed("red"), GLfixed("green"), GLfixed("blue"), GLfixed("alpha")) + "glClearAccumxOES"(void, GLfixed("red"), GLfixed("green"), GLfixed("blue"), GLfixed("alpha")) + "glColor3xOES"(void, GLfixed("red"), GLfixed("green"), GLfixed("blue")) + "glColor3xvOES"(void, address("components", "const GLfixed *")) + "glColor4xvOES"(void, address("components", "const GLfixed *")) + "glConvolutionParameterxOES"(void, GLenum("target"), GLenum("pname"), GLfixed("param")) + "glConvolutionParameterxvOES"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfixed *")) + "glEvalCoord1xOES"(void, GLfixed("u")) + "glEvalCoord1xvOES"(void, address("coords", "const GLfixed *")) + "glEvalCoord2xOES"(void, GLfixed("u"), GLfixed("v")) + "glEvalCoord2xvOES"(void, address("coords", "const GLfixed *")) + "glFeedbackBufferxOES"(void, GLsizei("n"), GLenum("type"), address("buffer", "const GLfixed *")) + "glGetConvolutionParameterxvOES"(void, GLenum("target"), GLenum("pname"), address("params", "GLfixed *")) + "glGetHistogramParameterxvOES"(void, GLenum("target"), GLenum("pname"), address("params", "GLfixed *")) + "glGetLightxOES"(void, GLenum("light"), GLenum("pname"), address("params", "GLfixed *")) + "glGetMapxvOES"(void, GLenum("target"), GLenum("query"), address("v", "GLfixed *")) + "glGetMaterialxOES"(void, GLenum("face"), GLenum("pname"), GLfixed("param")) + "glGetPixelMapxv"(void, GLenum("map"), GLint("size"), address("values", "GLfixed *")) + "glGetTexGenxvOES"(void, GLenum("coord"), GLenum("pname"), address("params", "GLfixed *")) + "glGetTexLevelParameterxvOES"( + void, + GLenum("target"), + GLint("level"), + GLenum("pname"), + address("params", "GLfixed *") + ) + "glIndexxOES"(void, GLfixed("component")) + "glIndexxvOES"(void, address("component", "const GLfixed *")) + "glLoadTransposeMatrixxOES"(void, address("m", "const GLfixed *")) + "glMap1xOES"( + void, + GLenum("target"), + GLfixed("u1"), + GLfixed("u2"), + GLint("stride"), + GLint("order"), + GLfixed("points") + ) + "glMap2xOES"( + void, + GLenum("target"), + GLfixed("u1"), + GLfixed("u2"), + GLint("ustride"), + GLint("uorder"), + GLfixed("v1"), + GLfixed("v2"), + GLint("vstride"), + GLint("vorder"), + GLfixed("points") + ) + "glMapGrid1xOES"(void, GLint("n"), GLfixed("u1"), GLfixed("u2")) + "glMapGrid2xOES"(void, GLint("n"), GLfixed("u1"), GLfixed("u2"), GLfixed("v1"), GLfixed("v2")) + "glMultTransposeMatrixxOES"(void, address("m", "const GLfixed *")) + "glMultiTexCoord1xOES"(void, GLenum("texture"), GLfixed("s")) + "glMultiTexCoord1xvOES"(void, GLenum("texture"), address("coords", "const GLfixed *")) + "glMultiTexCoord2xOES"(void, GLenum("texture"), GLfixed("s"), GLfixed("t")) + "glMultiTexCoord2xvOES"(void, GLenum("texture"), address("coords", "const GLfixed *")) + "glMultiTexCoord3xOES"(void, GLenum("texture"), GLfixed("s"), GLfixed("t"), GLfixed("r")) + "glMultiTexCoord3xvOES"(void, GLenum("texture"), address("coords", "const GLfixed *")) + "glMultiTexCoord4xvOES"(void, GLenum("texture"), address("coords", "const GLfixed *")) + "glNormal3xvOES"(void, address("coords", "const GLfixed *")) + "glPassThroughxOES"(void, GLfixed("token")) + "glPixelMapx"(void, GLenum("map"), GLint("size"), address("values", "const GLfixed *")) + "glPixelStorex"(void, GLenum("pname"), GLfixed("param")) + "glPixelTransferxOES"(void, GLenum("pname"), GLfixed("param")) + "glPixelZoomxOES"(void, GLfixed("xfactor"), GLfixed("yfactor")) + "glPrioritizeTexturesxOES"( + void, + GLsizei("n"), + address("textures", "const GLuint *"), + address("priorities", "const GLfixed *") + ) + "glRasterPos2xOES"(void, GLfixed("x"), GLfixed("y")) + "glRasterPos2xvOES"(void, address("coords", "const GLfixed *")) + "glRasterPos3xOES"(void, GLfixed("x"), GLfixed("y"), GLfixed("z")) + "glRasterPos3xvOES"(void, address("coords", "const GLfixed *")) + "glRasterPos4xOES"(void, GLfixed("x"), GLfixed("y"), GLfixed("z"), GLfixed("w")) + "glRasterPos4xvOES"(void, address("coords", "const GLfixed *")) + "glRectxOES"(void, GLfixed("x1"), GLfixed("y1"), GLfixed("x2"), GLfixed("y2")) + "glRectxvOES"(void, address("v1", "const GLfixed *"), address("v2", "const GLfixed *")) + "glTexCoord1xOES"(void, GLfixed("s")) + "glTexCoord1xvOES"(void, address("coords", "const GLfixed *")) + "glTexCoord2xOES"(void, GLfixed("s"), GLfixed("t")) + "glTexCoord2xvOES"(void, address("coords", "const GLfixed *")) + "glTexCoord3xOES"(void, GLfixed("s"), GLfixed("t"), GLfixed("r")) + "glTexCoord3xvOES"(void, address("coords", "const GLfixed *")) + "glTexCoord4xOES"(void, GLfixed("s"), GLfixed("t"), GLfixed("r"), GLfixed("q")) + "glTexCoord4xvOES"(void, address("coords", "const GLfixed *")) + "glTexGenxOES"(void, GLenum("coord"), GLenum("pname"), GLfixed("param")) + "glTexGenxvOES"(void, GLenum("coord"), GLenum("pname"), address("params", "const GLfixed *")) + "glVertex2xOES"(void, GLfixed("x")) + "glVertex2xvOES"(void, address("coords", "const GLfixed *")) + "glVertex3xOES"(void, GLfixed("x"), GLfixed("y")) + "glVertex3xvOES"(void, address("coords", "const GLfixed *")) + "glVertex4xOES"(void, GLfixed("x"), GLfixed("y"), GLfixed("z")) + "glVertex4xvOES"(void, address("coords", "const GLfixed *")) + } + file("QueryMatrix", OES, "GL_OES_query_matrix") { + "glQueryMatrixxOES"(GLbitfield, address("mantissa", "GLfixed *"), address("exponent", "GLint *")) + } + file( + "ReadFormat", OES, "GL_OES_read_format", + "GL_IMPLEMENTATION_COLOR_READ_TYPE_OES" to "0x8B9A", + "GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES" to "0x8B9B" + ) + file("SinglePrecision", OES, "GL_OES_single_precision") { + "glClearDepthfOES"(void, GLclampf("depth")) + "glClipPlanefOES"(void, GLenum("plane"), address("equation", "const GLfloat *")) + "glDepthRangefOES"(void, GLclampf("n"), GLclampf("f")) + "glFrustumfOES"(void, GLfloat("l"), GLfloat("r"), GLfloat("b"), GLfloat("t"), GLfloat("n"), GLfloat("f")) + "glGetClipPlanefOES"(void, GLenum("plane"), address("equation", "GLfloat *")) + "glOrthofOES"(void, GLfloat("l"), GLfloat("r"), GLfloat("b"), GLfloat("t"), GLfloat("n"), GLfloat("f")) + } } fun `3dfx`() { @@ -1097,9 +1310,667 @@ fun `3dfx`() { ) } -fun amd() {} +fun amd() { + file( + "BlendMinmaxFactor", AMD, "GL_AMD_blend_minmax_factor", + "GL_FACTOR_MIN_AMD" to "0x901C", + "GL_FACTOR_MAX_AMD" to "0x901D" + ) + file("DebugOutput",AMD,"GL_AMD_debug_output") { + "GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"("0x9143") + "GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"("0x9144") + "GL_DEBUG_LOGGED_MESSAGES_AMD"("0x9145") + "GL_DEBUG_SEVERITY_HIGH_AMD"("0x9146") + "GL_DEBUG_SEVERITY_MEDIUM_AMD"("0x9147") + "GL_DEBUG_SEVERITY_LOW_AMD"("0x9148") + "GL_DEBUG_CATEGORY_API_ERROR_AMD"("0x9149") + "GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"("0x914A") + "GL_DEBUG_CATEGORY_DEPRECATION_AMD"("0x914B") + "GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"("0x914C") + "GL_DEBUG_CATEGORY_PERFORMANCE_AMD"("0x914D") + "GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"("0x914E") + "GL_DEBUG_CATEGORY_APPLICATION_AMD"("0x914F") + "GL_DEBUG_CATEGORY_OTHER_AMD"("0x9150") + "glDebugMessageEnableAMD"( + void, + GLenum("category"), + GLenum("severity"), + GLsizei("count"), + address("ids", "const GLuint *"), + GLboolean("enabled") + ) + "glDebugMessageInsertAMD"( + void, + GLenum("category"), + GLenum("severity"), + GLuint("id"), + GLsizei("length"), + address("buf", "const GLchar *") + ) + ("glDebugMessageCallbackAMD"(void, address("callback", "GLDEBUGPROCAMD"), address("userParam", "void *"))) { + "glDebugMessageCallbackAMD"( + void, + "glDebugMessageCallbackAMD(callback.address(arena), userParam);", + arena("arena"), + Type("GLDebugProcAMD", null)("callback"), + address("userParam", "void *") + ) + } + "glGetDebugMessageLogAMD"( + GLuint, + GLuint("count"), + GLsizei("bufSize"), + address("categories", "GLenum *"), + address("severities", "GLenum *"), + address("ids", "GLuint *"), + address("lengths", "GLsizei *"), + address("message", "GLchar *") + ) + } + file( + "DepthClampSeparate", AMD, "GL_AMD_depth_clamp_separate", + "GL_DEPTH_CLAMP_NEAR_AMD" to "0x901E", + "GL_DEPTH_CLAMP_FAR_AMD" to "0x901F" + ) + file("DrawBuffersBlend", AMD, "GL_AMD_draw_buffers_blend") { + "glBlendFuncIndexedAMD"(void, GLuint("buf"), GLenum("src"), GLenum("dst")) + "glBlendFuncSeparateIndexedAMD"( + void, + GLuint("buf"), + GLenum("srcRGB"), + GLenum("dstRGB"), + GLenum("srcAlpha"), + GLenum("dstAlpha") + ) + "glBlendEquationIndexedAMD"(void, GLuint("buf"), GLenum("mode")) + "glBlendEquationSeparateIndexedAMD"(void, GLuint("buf"), GLenum("modeRGB"), GLenum("modeAlpha")) + } + file("FramebufferMultisampleAdvanced", AMD, "GL_AMD_framebuffer_multisample_advanced") { + "GL_RENDERBUFFER_STORAGE_SAMPLES_AMD"("0x91B2") + "GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD"("0x91B3") + "GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD"("0x91B4") + "GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD"("0x91B5") + "GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD"("0x91B6") + "GL_SUPPORTED_MULTISAMPLE_MODES_AMD"("0x91B7") + "glRenderbufferStorageMultisampleAdvancedAMD"( + void, + GLenum("target"), + GLsizei("samples"), + GLsizei("storageSamples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + "glNamedRenderbufferStorageMultisampleAdvancedAMD"( + void, + GLuint("renderbuffer"), + GLsizei("samples"), + GLsizei("storageSamples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + } + file("FramebufferSamplePositions", AMD, "GL_AMD_framebuffer_sample_positions") { + "GL_SUBSAMPLE_DISTANCE_AMD"("0x883F") + "GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD"("0x91AE") + "GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD"("0x91AF") + "GL_ALL_PIXELS_AMD"("0xFFFFFFFF") + "glFramebufferSamplePositionsfvAMD"( + void, + GLenum("target"), + GLuint("numsamples"), + GLuint("pixelindex"), + address("values", "const GLfloat *") + ) + "glNamedFramebufferSamplePositionsfvAMD"( + void, + GLuint("framebuffer"), + GLuint("numsamples"), + GLuint("pixelindex"), + address("values", "const GLfloat *") + ) + "glGetFramebufferParameterfvAMD"( + void, + GLenum("target"), + GLenum("pname"), + GLuint("numsamples"), + GLuint("pixelindex"), + GLsizei("size"), + address("values", "GLfloat *") + ) + "glGetNamedFramebufferParameterfvAMD"( + void, + GLuint("framebuffer"), + GLenum("pname"), + GLuint("numsamples"), + GLuint("pixelindex"), + GLsizei("size"), + address("values", "GLfloat *") + ) + } + file( + "GpuShaderHalfFloat", AMD, "GL_AMD_gpu_shader_half_float", + "GL_FLOAT16_NV" to "0x8FF8", + "GL_FLOAT16_VEC2_NV" to "0x8FF9", + "GL_FLOAT16_VEC3_NV" to "0x8FFA", + "GL_FLOAT16_VEC4_NV" to "0x8FFB", + "GL_FLOAT16_MAT2_AMD" to "0x91C5", + "GL_FLOAT16_MAT3_AMD" to "0x91C6", + "GL_FLOAT16_MAT4_AMD" to "0x91C7", + "GL_FLOAT16_MAT2x3_AMD" to "0x91C8", + "GL_FLOAT16_MAT2x4_AMD" to "0x91C9", + "GL_FLOAT16_MAT3x2_AMD" to "0x91CA", + "GL_FLOAT16_MAT3x4_AMD" to "0x91CB", + "GL_FLOAT16_MAT4x2_AMD" to "0x91CC", + "GL_FLOAT16_MAT4x3_AMD" to "0x91CD" + ) + file("GpuShaderInt64", AMD, "GL_AMD_gpu_shader_int64") { + "GL_INT64_NV"("0x140E") + "GL_UNSIGNED_INT64_NV"("0x140F") + "GL_INT8_NV"("0x8FE0") + "GL_INT8_VEC2_NV"("0x8FE1") + "GL_INT8_VEC3_NV"("0x8FE2") + "GL_INT8_VEC4_NV"("0x8FE3") + "GL_INT16_NV"("0x8FE4") + "GL_INT16_VEC2_NV"("0x8FE5") + "GL_INT16_VEC3_NV"("0x8FE6") + "GL_INT16_VEC4_NV"("0x8FE7") + "GL_INT64_VEC2_NV"("0x8FE9") + "GL_INT64_VEC3_NV"("0x8FEA") + "GL_INT64_VEC4_NV"("0x8FEB") + "GL_UNSIGNED_INT8_NV"("0x8FEC") + "GL_UNSIGNED_INT8_VEC2_NV"("0x8FED") + "GL_UNSIGNED_INT8_VEC3_NV"("0x8FEE") + "GL_UNSIGNED_INT8_VEC4_NV"("0x8FEF") + "GL_UNSIGNED_INT16_NV"("0x8FF0") + "GL_UNSIGNED_INT16_VEC2_NV"("0x8FF1") + "GL_UNSIGNED_INT16_VEC3_NV"("0x8FF2") + "GL_UNSIGNED_INT16_VEC4_NV"("0x8FF3") + "GL_UNSIGNED_INT64_VEC2_NV"("0x8FF5") + "GL_UNSIGNED_INT64_VEC3_NV"("0x8FF6") + "GL_UNSIGNED_INT64_VEC4_NV"("0x8FF7") + "glUniform1i64NV"(void, GLint("location"), GLint64EXT("x")) + "glUniform2i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y")) + "glUniform3i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y"), GLint64EXT("z")) + "glUniform4i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y"), GLint64EXT("z"), GLint64EXT("w")) + "glUniform1i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform2i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform3i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform4i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform1ui64NV"(void, GLint("location"), GLuint64EXT("x")) + "glUniform2ui64NV"(void, GLint("location"), GLuint64EXT("x"), GLuint64EXT("y")) + "glUniform3ui64NV"(void, GLint("location"), GLuint64EXT("x"), GLuint64EXT("y"), GLuint64EXT("z")) + "glUniform4ui64NV"( + void, + GLint("location"), + GLuint64EXT("x"), + GLuint64EXT("y"), + GLuint64EXT("z"), + GLuint64EXT("w") + ) + "glUniform1ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glUniform2ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glUniform3ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glUniform4ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glGetUniformi64vNV"(void, GLuint("program"), GLint("location"), address("params", "GLint64EXT *")) + "glGetUniformui64vNV"(void, GLuint("program"), GLint("location"), address("params", "GLuint64EXT *")) + "glProgramUniform1i64NV"(void, GLuint("program"), GLint("location"), GLint64EXT("x")) + "glProgramUniform2i64NV"(void, GLuint("program"), GLint("location"), GLint64EXT("x"), GLint64EXT("y")) + "glProgramUniform3i64NV"( + void, + GLuint("program"), + GLint("location"), + GLint64EXT("x"), + GLint64EXT("y"), + GLint64EXT("z") + ) + "glProgramUniform4i64NV"( + void, + GLuint("program"), + GLint("location"), + GLint64EXT("x"), + GLint64EXT("y"), + GLint64EXT("z"), + GLint64EXT("w") + ) + "glProgramUniform1i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform2i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform3i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform4i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform1ui64NV"(void, GLuint("program"), GLint("location"), GLuint64EXT("x")) + "glProgramUniform2ui64NV"(void, GLuint("program"), GLint("location"), GLuint64EXT("x"), GLuint64EXT("y")) + "glProgramUniform3ui64NV"( + void, + GLuint("program"), + GLint("location"), + GLuint64EXT("x"), + GLuint64EXT("y"), + GLuint64EXT("z") + ) + "glProgramUniform4ui64NV"( + void, + GLuint("program"), + GLint("location"), + GLuint64EXT("x"), + GLuint64EXT("y"), + GLuint64EXT("z"), + GLuint64EXT("w") + ) + "glProgramUniform1ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + "glProgramUniform2ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + "glProgramUniform3ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + "glProgramUniform4ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + } + file("InterleavedElements", AMD, "GL_AMD_interleaved_elements") { + "GL_VERTEX_ELEMENT_SWIZZLE_AMD"("0x91A4") + "GL_VERTEX_ID_SWIZZLE_AMD"("0x91A5") + "glVertexAttribParameteriAMD"(void, GLuint("index"), GLenum("pname"), GLint("param")) + } + file("MultiDrawIndirect", AMD, "GL_AMD_multi_draw_indirect") { + "glMultiDrawArraysIndirectAMD"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLsizei("primcount"), + GLsizei("stride") + ) + "glMultiDrawElementsIndirectAMD"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLsizei("primcount"), + GLsizei("stride") + ) + } + file("NameGenDelete", AMD, "GL_AMD_name_gen_delete") { + "GL_DATA_BUFFER_AMD"("0x9151") + "GL_PERFORMANCE_MONITOR_AMD"("0x9152") + "GL_QUERY_OBJECT_AMD"("0x9153") + "GL_VERTEX_ARRAY_OBJECT_AMD"("0x9154") + "GL_SAMPLER_OBJECT_AMD"("0x9155") + "glGenNamesAMD"(void, GLenum("identifier"), GLuint("num"), address("names", "GLuint *")) + "glDeleteNamesAMD"(void, GLenum("identifier"), GLuint("num"), address("names", "const GLuint *")) + "glIsNameAMD"(GLboolean, GLenum("identifier"), GLuint("name")) + } + file("OcclusionQueryEvent", AMD, "GL_AMD_occlusion_query_event") { + "GL_OCCLUSION_QUERY_EVENT_MASK_AMD"("0x874F") + "GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"("0x00000001") + "GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"("0x00000002") + "GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"("0x00000004") + "GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"("0x00000008") + "GL_QUERY_ALL_EVENT_BITS_AMD"("0xFFFFFFFF") + "glQueryObjectParameteruiAMD"(void, GLenum("target"), GLuint("id"), GLenum("pname"), GLuint("param")) + } + file("PerformanceMonitor", AMD, "GL_AMD_performance_monitor") { + "GL_COUNTER_TYPE_AMD"("0x8BC0") + "GL_COUNTER_RANGE_AMD"("0x8BC1") + "GL_UNSIGNED_INT64_AMD"("0x8BC2") + "GL_PERCENTAGE_AMD"("0x8BC3") + "GL_PERFMON_RESULT_AVAILABLE_AMD"("0x8BC4") + "GL_PERFMON_RESULT_SIZE_AMD"("0x8BC5") + "GL_PERFMON_RESULT_AMD"("0x8BC6") + "glGetPerfMonitorGroupsAMD"( + void, + address("numGroups", "GLint *"), + GLsizei("groupsSize"), + address("groups", "GLuint *") + ) + "glGetPerfMonitorCountersAMD"( + void, + GLuint("group"), + address("numCounters", "GLint *"), + address("maxActiveCounters", "GLint *"), + GLsizei("counterSize"), + address("counters", "GLuint *") + ) + "glGetPerfMonitorGroupStringAMD"( + void, + GLuint("group"), + GLsizei("bufSize"), + address("length", "GLsizei *"), + address("groupString", "GLchar *") + ) + "glGetPerfMonitorCounterStringAMD"( + void, + GLuint("group"), + GLuint("counter"), + GLsizei("bufSize"), + address("length", "GLsizei *"), + address("counterString", "GLchar *") + ) + "glGetPerfMonitorCounterInfoAMD"( + void, + GLuint("group"), + GLuint("counter"), + GLenum("pname"), + address("data", "void *") + ) + "glGenPerfMonitorsAMD"(void, GLsizei("n"), address("monitors", "GLuint *")) + "glDeletePerfMonitorsAMD"(void, GLsizei("n"), address("monitors", "GLuint *")) + "glSelectPerfMonitorCountersAMD"( + void, + GLuint("monitor"), + GLboolean("enable"), + GLuint("group"), + GLint("numCounters"), + address("counterList", "GLuint *") + ) + "glBeginPerfMonitorAMD"(void, GLuint("monitor")) + "glEndPerfMonitorAMD"(void, GLuint("monitor")) + "glGetPerfMonitorCounterDataAMD"( + void, + GLuint("monitor"), + GLenum("pname"), + GLsizei("dataSize"), + address("data", "GLuint *"), + address("bytesWritten", "GLint *") + ) + } + file("PinnedMemory", AMD, "GL_AMD_pinned_memory", "GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD" to "0x9160") + file( + "QueryBufferObject", AMD, "GL_AMD_query_buffer_object", + "GL_QUERY_BUFFER_AMD" to "0x9192", + "GL_QUERY_BUFFER_BINDING_AMD" to "0x9193", + "GL_QUERY_RESULT_NO_WAIT_AMD" to "0x9194" + ) + file("SamplePositions", AMD, "GL_AMD_sample_positions") { + "glSetMultisamplefvAMD"(void, GLenum("pname"), GLuint("index"), address("val", "const GLfloat *")) + } + file("SparseTexture", AMD, "GL_AMD_sparse_texture") { + "GL_VIRTUAL_PAGE_SIZE_X_AMD"("0x9195") + "GL_VIRTUAL_PAGE_SIZE_Y_AMD"("0x9196") + "GL_VIRTUAL_PAGE_SIZE_Z_AMD"("0x9197") + "GL_MAX_SPARSE_TEXTURE_SIZE_AMD"("0x9198") + "GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"("0x9199") + "GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"("0x919A") + "GL_MIN_SPARSE_LEVEL_AMD"("0x919B") + "GL_MIN_LOD_WARNING_AMD"("0x919C") + "GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"("0x00000001") + "glTexStorageSparseAMD"( + void, + GLenum("target"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLsizei("layers"), + GLbitfield("flags") + ) + "glTextureStorageSparseAMD"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLsizei("layers"), + GLbitfield("flags") + ) + } + file("StencilOperationExtended", AMD, "GL_AMD_stencil_operation_extended") { + "GL_SET_AMD"("0x874A") + "GL_REPLACE_VALUE_AMD"("0x874B") + "GL_STENCIL_OP_VALUE_AMD"("0x874C") + "GL_STENCIL_BACK_OP_VALUE_AMD"("0x874D") + "glStencilOpValueAMD"(void, GLenum("face"), GLuint("value")) + } + file("TransformFeedback4", AMD, "GL_AMD_transform_feedback4", "GL_STREAM_RASTERIZATION_AMD" to "0x91A0") + file("VertexShaderTessellator", AMD, "GL_AMD_vertex_shader_tessellator") { + "GL_SAMPLER_BUFFER_AMD"("0x9001") + "GL_INT_SAMPLER_BUFFER_AMD"("0x9002") + "GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"("0x9003") + "GL_TESSELLATION_MODE_AMD"("0x9004") + "GL_TESSELLATION_FACTOR_AMD"("0x9005") + "GL_DISCRETE_AMD"("0x9006") + "GL_CONTINUOUS_AMD"("0x9007") + "glTessellationFactorAMD"(void, GLfloat("factor")) + "glTessellationModeAMD"(void, GLenum("mode")) + } +} -fun apple() {} +fun apple() { + file("AuxDepthStencil", APPLE, "GL_APPLE_aux_depth_stencil", "GL_AUX_DEPTH_STENCIL_APPLE" to "0x8A14") + file("ClientStorage", APPLE, "GL_APPLE_client_storage", "GL_UNPACK_CLIENT_STORAGE_APPLE" to "0x85B2") + file("ElementArray", APPLE, "GL_APPLE_element_array") { + "GL_ELEMENT_ARRAY_APPLE"("0x8A0C") + "GL_ELEMENT_ARRAY_TYPE_APPLE"("0x8A0D") + "GL_ELEMENT_ARRAY_POINTER_APPLE"("0x8A0E") + "glElementPointerAPPLE"(void, GLenum("type"), address("pointer", "const void *")) + "glDrawElementArrayAPPLE"(void, GLenum("mode"), GLint("first"), GLsizei("count")) + "glDrawRangeElementArrayAPPLE"( + void, + GLenum("mode"), + GLuint("start"), + GLuint("end"), + GLint("first"), + GLsizei("count") + ) + "glMultiDrawElementArrayAPPLE"( + void, + GLenum("mode"), + address("first", "const GLint *"), + address("count", "const GLsizei *"), + GLsizei("primcount") + ) + "glMultiDrawRangeElementArrayAPPLE"( + void, + GLenum("mode"), + GLuint("start"), + GLuint("end"), + address("first", "const GLint *"), + address("count", "const GLsizei *"), + GLsizei("primcount") + ) + } + file("Fence", APPLE, "GL_APPLE_fence") { + "GL_DRAW_PIXELS_APPLE"("0x8A0A") + "GL_FENCE_APPLE"("0x8A0B") + "glGenFencesAPPLE"(void, GLsizei("n"), address("fences", "GLuint *")) + "glDeleteFencesAPPLE"(void, GLsizei("n"), address("fences", "const GLuint *")) + "glSetFenceAPPLE"(void, GLuint("fence")) + "glIsFenceAPPLE"(GLboolean, GLuint("fence")) + "glTestFenceAPPLE"(GLboolean, GLuint("fence")) + "glFinishFenceAPPLE"(void, GLuint("fence")) + "glTestObjectAPPLE"(GLboolean, GLenum("object"), GLuint("name")) + "glFinishObjectAPPLE"(void, GLenum("object"), GLint("name")) + } + file( + "FloatPixels", APPLE, "GL_APPLE_float_pixels", + "GL_HALF_APPLE" to "0x140B", + "GL_RGBA_FLOAT32_APPLE" to "0x8814", + "GL_RGB_FLOAT32_APPLE" to "0x8815", + "GL_ALPHA_FLOAT32_APPLE" to "0x8816", + "GL_INTENSITY_FLOAT32_APPLE" to "0x8817", + "GL_LUMINANCE_FLOAT32_APPLE" to "0x8818", + "GL_LUMINANCE_ALPHA_FLOAT32_APPLE" to "0x8819", + "GL_RGBA_FLOAT16_APPLE" to "0x881A", + "GL_RGB_FLOAT16_APPLE" to "0x881B", + "GL_ALPHA_FLOAT16_APPLE" to "0x881C", + "GL_INTENSITY_FLOAT16_APPLE" to "0x881D", + "GL_LUMINANCE_FLOAT16_APPLE" to "0x881E", + "GL_LUMINANCE_ALPHA_FLOAT16_APPLE" to "0x881F", + "GL_COLOR_FLOAT_APPLE" to "0x8A0F" + ) + file("FlushBufferRange", APPLE, "GL_APPLE_flush_buffer_range") { + "GL_BUFFER_SERIALIZED_MODIFY_APPLE"("0x8A12") + "GL_BUFFER_FLUSHING_UNMAP_APPLE"("0x8A13") + "glBufferParameteriAPPLE"(void, GLenum("target"), GLenum("pname"), GLint("param")) + "glFlushMappedBufferRangeAPPLE"(void, GLenum("target"), GLintptr("offset"), GLsizeiptr("size")) + } + file("ObjectPurgeable", APPLE, "GL_APPLE_object_purgeable") { + "GL_BUFFER_OBJECT_APPLE"("0x85B3") + "GL_RELEASED_APPLE"("0x8A19") + "GL_VOLATILE_APPLE"("0x8A1A") + "GL_RETAINED_APPLE"("0x8A1B") + "GL_UNDEFINED_APPLE"("0x8A1C") + "GL_PURGEABLE_APPLE"("0x8A1D") + "glObjectPurgeableAPPLE"(GLenum, GLenum("objectType"), GLuint("name"), GLenum("option")) + "glObjectUnpurgeableAPPLE"(GLenum, GLenum("objectType"), GLuint("name"), GLenum("option")) + "glGetObjectParameterivAPPLE"( + void, + GLenum("objectType"), + GLuint("name"), + GLenum("pname"), + address("params", "GLint *") + ) + } + file( + "Rgb422", APPLE, "GL_APPLE_rgb_422", + "GL_RGB_422_APPLE" to "0x8A1F", + "GL_UNSIGNED_SHORT_8_8_APPLE" to "0x85BA", + "GL_UNSIGNED_SHORT_8_8_REV_APPLE" to "0x85BB", + "GL_RGB_RAW_422_APPLE" to "0x8A51" + ) + file( + "RowBytes", APPLE, "GL_APPLE_row_bytes", + "GL_PACK_ROW_BYTES_APPLE" to "0x8A15", + "GL_UNPACK_ROW_BYTES_APPLE" to "0x8A16" + ) + file("SpecularVector", APPLE, "GL_APPLE_specular_vector", "GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE" to "0x85B0") + file("TextureRange", APPLE, "GL_APPLE_texture_range") { + "GL_TEXTURE_RANGE_LENGTH_APPLE"("0x85B7") + "GL_TEXTURE_RANGE_POINTER_APPLE"("0x85B8") + "GL_TEXTURE_STORAGE_HINT_APPLE"("0x85BC") + "GL_STORAGE_PRIVATE_APPLE"("0x85BD") + "GL_STORAGE_CACHED_APPLE"("0x85BE") + "GL_STORAGE_SHARED_APPLE"("0x85BF") + "glTextureRangeAPPLE"(void, GLenum("target"), GLsizei("length"), address("pointer", "const void *")) + "glGetTexParameterPointervAPPLE"(void, GLenum("target"), GLenum("pname"), address("params", "void **")) + } + file("TransformHint", APPLE, "GL_APPLE_transform_hint", "GL_TRANSFORM_HINT_APPLE" to "0x85B1") + file("VertexArrayObject", APPLE, "GL_APPLE_vertex_array_object") { + "GL_VERTEX_ARRAY_BINDING_APPLE"("0x85B5") + "glBindVertexArrayAPPLE"(void, GLuint("array")) + "glDeleteVertexArraysAPPLE"(void, GLsizei("n"), address("arrays", "const GLuint *")) + "glGenVertexArraysAPPLE"(void, GLsizei("n"), address("arrays", "GLuint *")) + "glIsVertexArrayAPPLE"(GLboolean, GLuint("array")) + } + file("VertexArrayRange", APPLE, "GL_APPLE_vertex_array_range") { + "GL_VERTEX_ARRAY_RANGE_APPLE"("0x851D") + "GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE"("0x851E") + "GL_VERTEX_ARRAY_STORAGE_HINT_APPLE"("0x851F") + "GL_VERTEX_ARRAY_RANGE_POINTER_APPLE"("0x8521") + "GL_STORAGE_CLIENT_APPLE"("0x85B4") + "glVertexArrayRangeAPPLE"(void, GLsizei("length"), address("pointer", "void *")) + "glFlushVertexArrayRangeAPPLE"(void, GLsizei("length"), address("pointer", "void *")) + "glVertexArrayParameteriAPPLE"(void, GLenum("pname"), GLint("param")) + } + file("VertexProgramEvaluators", APPLE, "GL_APPLE_vertex_program_evaluators") { + "GL_VERTEX_ATTRIB_MAP1_APPLE"("0x8A00") + "GL_VERTEX_ATTRIB_MAP2_APPLE"("0x8A01") + "GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE"("0x8A02") + "GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE"("0x8A03") + "GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE"("0x8A04") + "GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE"("0x8A05") + "GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE"("0x8A06") + "GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE"("0x8A07") + "GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE"("0x8A08") + "GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE"("0x8A09") + "glEnableVertexAttribAPPLE"(void, GLuint("index"), GLenum("pname")) + "glDisableVertexAttribAPPLE"(void, GLuint("index"), GLenum("pname")) + "glIsVertexAttribEnabledAPPLE"(GLboolean, GLuint("index"), GLenum("pname")) + "glMapVertexAttrib1dAPPLE"( + void, + GLuint("index"), + GLuint("size"), + GLdouble("u1"), + GLdouble("u2"), + GLint("stride"), + GLint("order"), + address("points", "const GLdouble *") + ) + "glMapVertexAttrib1fAPPLE"( + void, + GLuint("index"), + GLuint("size"), + GLfloat("u1"), + GLfloat("u2"), + GLint("stride"), + GLint("order"), + address("points", "const GLfloat *") + ) + "glMapVertexAttrib2dAPPLE"( + void, + GLuint("index"), + GLuint("size"), + GLdouble("u1"), + GLdouble("u2"), + GLint("ustride"), + GLint("uorder"), + GLdouble("v1"), + GLdouble("v2"), + GLint("vstride"), + GLint("vorder"), + address("points", "const GLdouble *") + ) + "glMapVertexAttrib2fAPPLE"( + void, + GLuint("index"), + GLuint("size"), + GLfloat("u1"), + GLfloat("u2"), + GLint("ustride"), + GLint("uorder"), + GLfloat("v1"), + GLfloat("v2"), + GLint("vstride"), + GLint("vorder"), + address("points", "const GLfloat *") + ) + } + file("Ycbcr422", APPLE, "GL_APPLE_ycbcr_422", "GL_YCBCR_422_APPLE" to "0x85B9") +} fun ati() {} From 7e485ab7e07917d3a5d9f6015fff0010ebd31f24 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:30:09 +0800 Subject: [PATCH 09/44] [OpenGL] Update generator GREMEDY, HP, IBM, INGR, INTEL, MESA, OVR & PGI --- .../overrungl/opengl/OpenGLGenerator.kt | 415 +++++++++++++++++- 1 file changed, 407 insertions(+), 8 deletions(-) diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index fcd31f44..0a5743f7 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -1976,25 +1976,416 @@ fun ati() {} fun ext() {} -fun gremedy() {} +fun gremedy() { + file("FrameTerminator", GREMEDY, "GL_GREMEDY_frame_terminator") { + "glFrameTerminatorGREMEDY"(void) + } + file("StringMarker", GREMEDY, "GL_GREMEDY_string_marker") { + "glStringMarkerGREMEDY"(void, GLsizei("len"), address("string", "const void *")) + } +} -fun hp() {} +fun hp() { + file( + "ConvolutionBorderModes", HP, "GL_HP_convolution_border_modes", + "GL_IGNORE_BORDER_HP" to "0x8150", + "GL_CONSTANT_BORDER_HP" to "0x8151", + "GL_REPLICATE_BORDER_HP" to "0x8153", + "GL_CONVOLUTION_BORDER_COLOR_HP" to "0x8154" + ) + file("ImageTransform", HP, "GL_HP_image_transform") { + "GL_IMAGE_SCALE_X_HP"("0x8155") + "GL_IMAGE_SCALE_Y_HP"("0x8156") + "GL_IMAGE_TRANSLATE_X_HP"("0x8157") + "GL_IMAGE_TRANSLATE_Y_HP"("0x8158") + "GL_IMAGE_ROTATE_ANGLE_HP"("0x8159") + "GL_IMAGE_ROTATE_ORIGIN_X_HP"("0x815A") + "GL_IMAGE_ROTATE_ORIGIN_Y_HP"("0x815B") + "GL_IMAGE_MAG_FILTER_HP"("0x815C") + "GL_IMAGE_MIN_FILTER_HP"("0x815D") + "GL_IMAGE_CUBIC_WEIGHT_HP"("0x815E") + "GL_CUBIC_HP"("0x815F") + "GL_AVERAGE_HP"("0x8160") + "GL_IMAGE_TRANSFORM_2D_HP"("0x8161") + "GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"("0x8162") + "GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"("0x8163") + "glImageTransformParameteriHP"(void, GLenum("target"), GLenum("pname"), GLint("param")) + "glImageTransformParameterfHP"(void, GLenum("target"), GLenum("pname"), GLfloat("param")) + "glImageTransformParameterivHP"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glImageTransformParameterfvHP"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glGetImageTransformParameterivHP"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetImageTransformParameterfvHP"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + } + file( + "OcclusionTest", HP, "GL_HP_occlusion_test", + "GL_OCCLUSION_TEST_HP" to "0x8165", + "GL_OCCLUSION_TEST_RESULT_HP" to "0x8166" + ) + file( + "TextureLighting", HP, "GL_HP_texture_lighting", + "GL_TEXTURE_LIGHTING_MODE_HP" to "0x8167", + "GL_TEXTURE_POST_SPECULAR_HP" to "0x8168", + "GL_TEXTURE_PRE_SPECULAR_HP" to "0x8169" + ) +} -fun ibm() {} +fun ibm() { + file("CullVertex", IBM, "GL_IBM_cull_vertex", "GL_CULL_VERTEX_IBM" to "103050") + file("MultimodeDrawArrays", IBM, "GL_IBM_multimode_draw_arrays") { + "glMultiModeDrawArraysIBM"( + void, + address("mode", "const GLenum *"), + address("first", "const GLint *"), + address("count", "const GLsizei *"), + GLsizei("primcount"), + GLint("modestride") + ) + "glMultiModeDrawElementsIBM"( + void, + address("mode", "const GLenum *"), + address("count", "const GLsizei *"), + GLenum("type"), + address("indices", "const void *const*"), + GLsizei("primcount"), + GLint("modestride") + ) + } + file("RasterposClip", IBM, "GL_IBM_rasterpos_clip", "GL_RASTER_POSITION_UNCLIPPED_IBM" to "0x19262") + file("StaticData", IBM, "GL_IBM_static_data") { + "GL_ALL_STATIC_DATA_IBM"("103060") + "GL_STATIC_VERTEX_ARRAY_IBM"("103061") + "glFlushStaticDataIBM"(void, GLenum("target")) + } + file("TextureMirroredRepeat", IBM, "GL_IBM_texture_mirrored_repeat", "GL_MIRRORED_REPEAT_IBM" to "0x8370") + file("VertexArrayLists", IBM, "GL_IBM_vertex_array_lists") { + "GL_VERTEX_ARRAY_LIST_IBM"("103070") + "GL_NORMAL_ARRAY_LIST_IBM"("103071") + "GL_COLOR_ARRAY_LIST_IBM"("103072") + "GL_INDEX_ARRAY_LIST_IBM"("103073") + "GL_TEXTURE_COORD_ARRAY_LIST_IBM"("103074") + "GL_EDGE_FLAG_ARRAY_LIST_IBM"("103075") + "GL_FOG_COORDINATE_ARRAY_LIST_IBM"("103076") + "GL_SECONDARY_COLOR_ARRAY_LIST_IBM"("103077") + "GL_VERTEX_ARRAY_LIST_STRIDE_IBM"("103080") + "GL_NORMAL_ARRAY_LIST_STRIDE_IBM"("103081") + "GL_COLOR_ARRAY_LIST_STRIDE_IBM"("103082") + "GL_INDEX_ARRAY_LIST_STRIDE_IBM"("103083") + "GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM"("103084") + "GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM"("103085") + "GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM"("103086") + "GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM"("103087") + "glColorPointerListIBM"( + void, + GLint("size"), + GLenum("type"), + GLint("stride"), + address("pointer", "const void **"), + GLint("ptrstride") + ) + "glSecondaryColorPointerListIBM"( + void, + GLint("size"), + GLenum("type"), + GLint("stride"), + address("pointer", "const void **"), + GLint("ptrstride") + ) + "glEdgeFlagPointerListIBM"(void, GLint("stride"), address("pointer", "const GLboolean **"), GLint("ptrstride")) + "glFogCoordPointerListIBM"( + void, + GLenum("type"), + GLint("stride"), + address("pointer", "const void **"), + GLint("ptrstride") + ) + "glIndexPointerListIBM"( + void, + GLenum("type"), + GLint("stride"), + address("pointer", "const void **"), + GLint("ptrstride") + ) + "glNormalPointerListIBM"( + void, + GLenum("type"), + GLint("stride"), + address("pointer", "const void **"), + GLint("ptrstride") + ) + "glTexCoordPointerListIBM"( + void, + GLint("size"), + GLenum("type"), + GLint("stride"), + address("pointer", "const void **"), + GLint("ptrstride") + ) + "glVertexPointerListIBM"( + void, + GLint("size"), + GLenum("type"), + GLint("stride"), + address("pointer", "const void **"), + GLint("ptrstride") + ) + } +} -fun ingr() {} +fun ingr() { + file("BlendFuncSeparate", INGR, "GL_INGR_blend_func_separate") { + "glBlendFuncSeparateINGR"( + void, + GLenum("sfactorRGB"), + GLenum("dfactorRGB"), + GLenum("sfactorAlpha"), + GLenum("dfactorAlpha") + ) + } + file( + "ColorClamp", INGR, "GL_INGR_color_clamp", + "GL_RED_MIN_CLAMP_INGR" to "0x8560", + "GL_GREEN_MIN_CLAMP_INGR" to "0x8561", + "GL_BLUE_MIN_CLAMP_INGR" to "0x8562", + "GL_ALPHA_MIN_CLAMP_INGR" to "0x8563", + "GL_RED_MAX_CLAMP_INGR" to "0x8564", + "GL_GREEN_MAX_CLAMP_INGR" to "0x8565", + "GL_BLUE_MAX_CLAMP_INGR" to "0x8566", + "GL_ALPHA_MAX_CLAMP_INGR" to "0x8567" + ) + file("InterlaceRead", INGR, "GL_INGR_interlace_read", "GL_INTERLACE_READ_INGR" to "0x8568") +} -fun intel() {} +fun intel() { + file("BlackholeRender", INTEL, "GL_INTEL_blackhole_render", "GL_BLACKHOLE_RENDER_INTEL" to "0x83FC") + file("ConservativeRasterization", INTEL, "GL_INTEL_conservative_rasterization", "GL_CONSERVATIVE_RASTERIZATION_INTEL" to "0x83FE") + file("FramebufferCMAA", INTEL, "GL_INTEL_framebuffer_CMAA") { + "glApplyFramebufferAttachmentCMAAINTEL"(void) + } + file("MapTexture", INTEL, "GL_INTEL_map_texture") { + "GL_TEXTURE_MEMORY_LAYOUT_INTEL"("0x83FF") + "GL_LAYOUT_DEFAULT_INTEL"("0") + "GL_LAYOUT_LINEAR_INTEL"("1") + "GL_LAYOUT_LINEAR_CPU_CACHED_INTEL"("2") + "glSyncTextureINTEL"(void, GLuint("texture")) + "glUnmapTexture2DINTEL"(void, GLuint("texture"), GLint("level")) + "glMapTexture2DINTEL"( + address, + GLuint("texture"), + GLint("level"), + GLbitfield("access"), + address("stride", "GLint *"), + address("layout", "GLenum *"), + nativeType = "void*" + ) + } + file("ParallelArrays", INTEL, "GL_INTEL_parallel_arrays") { + "GL_PARALLEL_ARRAYS_INTEL"("0x83F4") + "GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"("0x83F5") + "GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"("0x83F6") + "GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"("0x83F7") + "GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"("0x83F8") + "glVertexPointervINTEL"(void, GLint("size"), GLenum("type"), address("pointer", "const void **")) + "glNormalPointervINTEL"(void, GLenum("type"), address("pointer", "const void **")) + "glColorPointervINTEL"(void, GLint("size"), GLenum("type"), address("pointer", "const void **")) + "glTexCoordPointervINTEL"(void, GLint("size"), GLenum("type"), address("pointer", "const void **")) + } + file("PerformanceQuery", INTEL, "GL_INTEL_performance_query") { + "GL_PERFQUERY_SINGLE_CONTEXT_INTEL"("0x00000000") + "GL_PERFQUERY_GLOBAL_CONTEXT_INTEL"("0x00000001") + "GL_PERFQUERY_WAIT_INTEL"("0x83FB") + "GL_PERFQUERY_FLUSH_INTEL"("0x83FA") + "GL_PERFQUERY_DONOT_FLUSH_INTEL"("0x83F9") + "GL_PERFQUERY_COUNTER_EVENT_INTEL"("0x94F0") + "GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL"("0x94F1") + "GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL"("0x94F2") + "GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL"("0x94F3") + "GL_PERFQUERY_COUNTER_RAW_INTEL"("0x94F4") + "GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL"("0x94F5") + "GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL"("0x94F8") + "GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL"("0x94F9") + "GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL"("0x94FA") + "GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL"("0x94FB") + "GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL"("0x94FC") + "GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL"("0x94FD") + "GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL"("0x94FE") + "GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL"("0x94FF") + "GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL"("0x9500") + "glBeginPerfQueryINTEL"(void, GLuint("queryHandle")) + "glCreatePerfQueryINTEL"(void, GLuint("queryId"), address("queryHandle", "GLuint *")) + "glDeletePerfQueryINTEL"(void, GLuint("queryHandle")) + "glEndPerfQueryINTEL"(void, GLuint("queryHandle")) + "glGetFirstPerfQueryIdINTEL"(void, address("queryId", "GLuint *")) + "glGetNextPerfQueryIdINTEL"(void, GLuint("queryId"), address("nextQueryId", "GLuint *")) + "glGetPerfCounterInfoINTEL"( + void, + GLuint("queryId"), + GLuint("counterId"), + GLuint("counterNameLength"), + address("counterName", "GLchar *"), + GLuint("counterDescLength"), + address("counterDesc", "GLchar *"), + address("counterOffset", "GLuint *"), + address("counterDataSize", "GLuint *"), + address("counterTypeEnum", "GLuint *"), + address("counterDataTypeEnum", "GLuint *"), + address("rawCounterMaxValue", "GLuint64 *") + ) + "glGetPerfQueryDataINTEL"( + void, + GLuint("queryHandle"), + GLuint("flags"), + GLsizei("dataSize"), + address("data", "void *"), + address("bytesWritten", "GLuint *") + ) + "glGetPerfQueryIdByNameINTEL"(void, address("queryName", "GLchar *"), address("queryId", "GLuint *")) + "glGetPerfQueryInfoINTEL"( + void, + GLuint("queryId"), + GLuint("queryNameLength"), + address("queryName", "GLchar *"), + address("dataSize", "GLuint *"), + address("noCounters", "GLuint *"), + address("noInstances", "GLuint *"), + address("capsMask", "GLuint *") + ) + } +} -fun mesa() {} +fun mesa() { + file( + "TextureStack", MESAX, "GL_MESAX_texture_stack", + "GL_TEXTURE_1D_STACK_MESAX" to "0x8759", + "GL_TEXTURE_2D_STACK_MESAX" to "0x875A", + "GL_PROXY_TEXTURE_1D_STACK_MESAX" to "0x875B", + "GL_PROXY_TEXTURE_2D_STACK_MESAX" to "0x875C", + "GL_TEXTURE_1D_STACK_BINDING_MESAX" to "0x875D", + "GL_TEXTURE_2D_STACK_BINDING_MESAX" to "0x875E" + ) + file("FramebufferFlipX", MESA, "GL_MESA_framebuffer_flip_x", "GL_FRAMEBUFFER_FLIP_X_MESA" to "0x8BBC") + file("FramebufferFlipY", MESA, "GL_MESA_framebuffer_flip_y") { + "GL_FRAMEBUFFER_FLIP_Y_MESA"("0x8BBB") + "glFramebufferParameteriMESA"(void, GLenum("target"), GLenum("pname"), GLint("param")) + "glGetFramebufferParameterivMESA"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + } + file("FramebufferSwapXY", MESA, "GL_MESA_framebuffer_swap_xy", "GL_FRAMEBUFFER_SWAP_XY_MESA" to "0x8BBD") + file("PackInvert", MESA, "GL_MESA_pack_invert", "GL_PACK_INVERT_MESA" to "0x8758") + file("ProgramBinaryFormats", MESA, "GL_MESA_program_binary_formats", "GL_PROGRAM_BINARY_FORMAT_MESA" to "0x875F") + file("ResizeBuffers", MESA, "GL_MESA_resize_buffers") { + "glResizeBuffersMESA"(void) + } + file( + "TileRasterOrder", MESA, "GL_MESA_tile_raster_order", + "GL_TILE_RASTER_ORDER_FIXED_MESA" to "0x8BB8", + "GL_TILE_RASTER_ORDER_INCREASING_X_MESA" to "0x8BB9", + "GL_TILE_RASTER_ORDER_INCREASING_Y_MESA" to "0x8BBA" + ) + file("WindowPos", MESA, "GL_MESA_window_pos") { + "glWindowPos2dMESA"(void, GLdouble("x"), GLdouble("y")) + "glWindowPos2dvMESA"(void, address("v", "const GLdouble *")) + "glWindowPos2fMESA"(void, GLfloat("x"), GLfloat("y")) + "glWindowPos2fvMESA"(void, address("v", "const GLfloat *")) + "glWindowPos2iMESA"(void, GLint("x"), GLint("y")) + "glWindowPos2ivMESA"(void, address("v", "const GLint *")) + "glWindowPos2sMESA"(void, GLshort("x"), GLshort("y")) + "glWindowPos2svMESA"(void, address("v", "const GLshort *")) + "glWindowPos3dMESA"(void, GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glWindowPos3dvMESA"(void, address("v", "const GLdouble *")) + "glWindowPos3fMESA"(void, GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glWindowPos3fvMESA"(void, address("v", "const GLfloat *")) + "glWindowPos3iMESA"(void, GLint("x"), GLint("y"), GLint("z")) + "glWindowPos3ivMESA"(void, address("v", "const GLint *")) + "glWindowPos3sMESA"(void, GLshort("x"), GLshort("y"), GLshort("z")) + "glWindowPos3svMESA"(void, address("v", "const GLshort *")) + "glWindowPos4dMESA"(void, GLdouble("x"), GLdouble("y"), GLdouble("z"), GLdouble("w")) + "glWindowPos4dvMESA"(void, address("v", "const GLdouble *")) + "glWindowPos4fMESA"(void, GLfloat("x"), GLfloat("y"), GLfloat("z"), GLfloat("w")) + "glWindowPos4fvMESA"(void, address("v", "const GLfloat *")) + "glWindowPos4iMESA"(void, GLint("x"), GLint("y"), GLint("z"), GLint("w")) + "glWindowPos4ivMESA"(void, address("v", "const GLint *")) + "glWindowPos4sMESA"(void, GLshort("x"), GLshort("y"), GLshort("z"), GLshort("w")) + "glWindowPos4svMESA"(void, address("v", "const GLshort *")) + } + file( + "YcbcrTexture", MESA, "GL_MESA_ycbcr_texture", + "GL_UNSIGNED_SHORT_8_8_MESA" to "0x85BA", + "GL_UNSIGNED_SHORT_8_8_REV_MESA" to "0x85BB", + "GL_YCBCR_MESA" to "0x8757" + ) +} fun nv() {} fun oml() {} -fun ovr() {} +fun ovr() { + file("Multiview", OVR, "GL_OVR_multiview") { + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR"("0x9630") + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR"("0x9632") + "GL_MAX_VIEWS_OVR"("0x9631") + "GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR"("0x9633") + "glFramebufferTextureMultiviewOVR"( + void, + GLenum("target"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLint("baseViewIndex"), + GLsizei("numViews") + ) + } +} -fun pgi() {} +fun pgi() { + file("MiscHints", PGI, "GL_PGI_misc_hints") { + "GL_PREFER_DOUBLEBUFFER_HINT_PGI"("0x1A1F8") + "GL_CONSERVE_MEMORY_HINT_PGI"("0x1A1FD") + "GL_RECLAIM_MEMORY_HINT_PGI"("0x1A1FE") + "GL_NATIVE_GRAPHICS_HANDLE_PGI"("0x1A202") + "GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI"("0x1A203") + "GL_NATIVE_GRAPHICS_END_HINT_PGI"("0x1A204") + "GL_ALWAYS_FAST_HINT_PGI"("0x1A20C") + "GL_ALWAYS_SOFT_HINT_PGI"("0x1A20D") + "GL_ALLOW_DRAW_OBJ_HINT_PGI"("0x1A20E") + "GL_ALLOW_DRAW_WIN_HINT_PGI"("0x1A20F") + "GL_ALLOW_DRAW_FRG_HINT_PGI"("0x1A210") + "GL_ALLOW_DRAW_MEM_HINT_PGI"("0x1A211") + "GL_STRICT_DEPTHFUNC_HINT_PGI"("0x1A216") + "GL_STRICT_LIGHTING_HINT_PGI"("0x1A217") + "GL_STRICT_SCISSOR_HINT_PGI"("0x1A218") + "GL_FULL_STIPPLE_HINT_PGI"("0x1A219") + "GL_CLIP_NEAR_HINT_PGI"("0x1A220") + "GL_CLIP_FAR_HINT_PGI"("0x1A221") + "GL_WIDE_LINE_HINT_PGI"("0x1A222") + "GL_BACK_NORMALS_HINT_PGI"("0x1A223") + "glHintPGI"(void, GLenum("target"), GLint("mode")) + } + file( + "VertexHints", PGI, "GL_PGI_vertex_hints", + "GL_VERTEX_DATA_HINT_PGI" to "0x1A22A", + "GL_VERTEX_CONSISTENT_HINT_PGI" to "0x1A22B", + "GL_MATERIAL_SIDE_HINT_PGI" to "0x1A22C", + "GL_MAX_VERTEX_HINT_PGI" to "0x1A22D", + "GL_COLOR3_BIT_PGI" to "0x00010000", + "GL_COLOR4_BIT_PGI" to "0x00020000", + "GL_EDGEFLAG_BIT_PGI" to "0x00040000", + "GL_INDEX_BIT_PGI" to "0x00080000", + "GL_MAT_AMBIENT_BIT_PGI" to "0x00100000", + "GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI" to "0x00200000", + "GL_MAT_DIFFUSE_BIT_PGI" to "0x00400000", + "GL_MAT_EMISSION_BIT_PGI" to "0x00800000", + "GL_MAT_COLOR_INDEXES_BIT_PGI" to "0x01000000", + "GL_MAT_SHININESS_BIT_PGI" to "0x02000000", + "GL_MAT_SPECULAR_BIT_PGI" to "0x04000000", + "GL_NORMAL_BIT_PGI" to "0x08000000", + "GL_TEXCOORD1_BIT_PGI" to "0x10000000", + "GL_TEXCOORD2_BIT_PGI" to "0x20000000", + "GL_TEXCOORD3_BIT_PGI" to "0x40000000", + "GL_TEXCOORD4_BIT_PGI" to "0x80000000", + "GL_VERTEX23_BIT_PGI" to "0x00000004", + "GL_VERTEX4_BIT_PGI" to "0x00000008" + ) +} fun rend() {} @@ -2380,8 +2771,16 @@ fun glExtCaps() { import overrungl.opengl.ext.*; import overrungl.opengl.ext.arb.*; import overrungl.opengl.ext.khr.*; + import overrungl.opengl.ext.oes.*; import overrungl.opengl.ext.amd.*; import overrungl.opengl.ext.apple.*; + //import overrungl.opengl.ext.ati.*; + //import overrungl.opengl.ext.ext.*; + import overrungl.opengl.ext.ibm.*; + import overrungl.opengl.ext.intel.*; + import overrungl.opengl.ext.mesa.*; + //import overrungl.opengl.ext.nv.*; + //import overrungl.opengl.ext.sgi.*; import overrungl.opengl.ext.sun.*; import java.lang.invoke.MethodHandle; From f73af888f2e2a4cdead1765a84e4590a8d8fa106 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:52:11 +0800 Subject: [PATCH 10/44] [OpenGL] Generate files --- .../overrungl/opengl/OpenGLGenerator.kt | 410 ++++----- .../main/java/overrungl/opengl/GLExtCaps.java | 807 ++-------------- .../opengl/ext/GL3DFXMultisample.java | 35 + .../overrungl/opengl/ext/GL3DFXTbuffer.java | 29 +- .../ext/GL3DFXTextureCompressionFXT1.java | 33 + .../opengl/ext/GLGREMEDYFrameTerminator.java | 29 +- .../opengl/ext/GLGREMEDYStringMarker.java | 33 +- .../ext/GLHPConvolutionBorderModes.java | 35 + .../opengl/ext/GLHPImageTransform.java | 130 ++- .../opengl/ext/GLHPOcclusionTest.java | 33 + .../opengl/ext/GLHPTextureLighting.java | 34 + .../opengl/ext/GLIBMMultimodeDrawArrays.java | 75 -- .../opengl/ext/GLIBMVertexArrayLists.java | 117 --- .../opengl/ext/GLINGRBlendFuncSeparate.java | 31 +- .../opengl/ext/GLINGRColorClamp.java | 39 + .../opengl/ext/GLINGRInterlaceRead.java | 32 + .../opengl/ext/GLINTELMapTexture.java | 78 -- .../opengl/ext/GLINTELParallelArrays.java | 78 -- .../opengl/ext/GLINTELPerformanceQuery.java | 250 ----- .../opengl/ext/GLMESAFramebufferFlipY.java | 82 -- .../overrungl/opengl/ext/GLMESAWindowPos.java | 327 ------- .../overrungl/opengl/ext/GLOVRMultiview.java | 30 +- .../overrungl/opengl/ext/GLPGIMiscHints.java | 49 +- .../opengl/ext/GLPGIVertexHints.java | 53 ++ .../opengl/ext/GLWINPhongShading.java | 33 + .../opengl/ext/GLWINSpecularFog.java | 32 + .../ext/amd/GLAMDBlendMinmaxFactor.java | 33 + .../opengl/ext/amd/GLAMDDebugOutput.java | 106 +-- .../ext/amd/GLAMDDepthClampSeparate.java | 33 + .../opengl/ext/amd/GLAMDDrawBuffersBlend.java | 68 +- .../GLAMDFramebufferMultisampleAdvanced.java | 50 +- .../amd/GLAMDFramebufferSamplePositions.java | 96 +- .../ext/amd/GLAMDGpuShaderHalfFloat.java | 44 + .../opengl/ext/amd/GLAMDGpuShaderInt64.java | 331 +++++++ .../ext/amd/GLAMDInterleavedElements.java | 31 +- .../ext/amd/GLAMDMultiDrawIndirect.java | 45 +- .../opengl/ext/amd/GLAMDNameGenDelete.java | 98 +- .../ext/amd/GLAMDOcclusionQueryEvent.java | 35 +- .../ext/amd/GLAMDPerformanceMonitor.java | 252 ++--- .../opengl/ext/amd/GLAMDPinnedMemory.java | 32 + .../ext/amd/GLAMDQueryBufferObject.java | 34 + .../opengl/ext/amd/GLAMDSamplePositions.java | 37 +- .../opengl/ext/amd/GLAMDSparseTexture.java | 50 +- .../amd/GLAMDStencilOperationExtended.java | 33 +- .../ext/amd/GLAMDTransformFeedback4.java | 32 + .../ext/amd/GLAMDVertexShaderTessellator.java | 46 +- .../ext/apple/GLAPPLEAuxDepthStencil.java | 32 + .../ext/apple/GLAPPLEClientStorage.java | 32 + .../opengl/ext/apple/GLAPPLEElementArray.java | 93 +- .../opengl/ext/apple/GLAPPLEFence.java | 144 ++- .../opengl/ext/apple/GLAPPLEFloatPixels.java | 45 + .../ext/apple/GLAPPLEFlushBufferRange.java | 41 +- .../ext/apple/GLAPPLEObjectPurgeable.java | 71 +- .../opengl/ext/apple/GLAPPLERgb422.java | 35 + .../opengl/ext/apple/GLAPPLERowBytes.java | 33 + .../ext/apple/GLAPPLESpecularVector.java | 32 + .../opengl/ext/apple/GLAPPLETextureRange.java | 52 +- .../ext/apple/GLAPPLETransformHint.java | 32 + .../ext/apple/GLAPPLEVertexArrayObject.java | 98 +- .../ext/apple/GLAPPLEVertexArrayRange.java | 62 +- .../apple/GLAPPLEVertexProgramEvaluators.java | 132 ++- .../opengl/ext/apple/GLAPPLEYcbcr422.java | 32 + .../opengl/ext/arb/GLARBRobustness.java | 22 +- .../opengl/ext/arb/GLARBSampleLocations.java | 22 +- .../opengl/ext/arb/GLARBSampleShading.java | 22 +- .../opengl/ext/arb/GLARBShaderObjects.java | 22 +- .../ext/arb/GLARBShadingLanguageInclude.java | 22 +- .../overrungl/opengl/ext/arb/GLARBShadow.java | 21 +- .../opengl/ext/arb/GLARBShadowAmbient.java | 21 +- .../opengl/ext/arb/GLARBSparseBuffer.java | 22 +- .../opengl/ext/arb/GLARBSparseTexture.java | 22 +- .../ext/arb/GLARBTextureBorderClamp.java | 21 +- .../ext/arb/GLARBTextureBufferObject.java | 22 +- .../ext/arb/GLARBTextureCompression.java | 22 +- .../ext/arb/GLARBTextureCompressionBptc.java | 21 +- .../opengl/ext/arb/GLARBTextureCubeMap.java | 21 +- .../ext/arb/GLARBTextureCubeMapArray.java | 21 +- .../ext/arb/GLARBTextureEnvCombine.java | 21 +- .../opengl/ext/arb/GLARBTextureEnvDot3.java | 21 +- .../ext/arb/GLARBTextureFilterMinmax.java | 21 +- .../opengl/ext/arb/GLARBTextureFloat.java | 21 +- .../opengl/ext/arb/GLARBTextureGather.java | 21 +- .../ext/arb/GLARBTextureMirroredRepeat.java | 21 +- .../opengl/ext/arb/GLARBTextureRectangle.java | 21 +- .../GLARBTransformFeedbackOverflowQuery.java | 21 +- .../opengl/ext/arb/GLARBTransposeMatrix.java | 22 +- .../opengl/ext/arb/GLARBVertexBlend.java | 22 +- .../ext/arb/GLARBVertexBufferObject.java | 22 +- .../opengl/ext/arb/GLARBVertexProgram.java | 22 +- .../opengl/ext/arb/GLARBVertexShader.java | 22 +- .../opengl/ext/arb/GLARBViewportArray.java | 22 +- .../opengl/ext/arb/GLARBWindowPos.java | 22 +- .../opengl/ext/ibm/GLIBMCullVertex.java | 32 + .../ext/ibm/GLIBMMultimodeDrawArrays.java | 51 ++ .../opengl/ext/ibm/GLIBMRasterposClip.java | 32 + .../opengl/ext/{ => ibm}/GLIBMStaticData.java | 33 +- .../ext/ibm/GLIBMTextureMirroredRepeat.java | 32 + .../opengl/ext/ibm/GLIBMVertexArrayLists.java | 115 +++ .../GLINTELBlackholeRender.java} | 28 +- .../GLINTELConservativeRasterization.java | 32 + .../{ => intel}/GLINTELFramebufferCMAA.java | 31 +- .../opengl/ext/intel/GLINTELMapTexture.java | 64 ++ .../ext/intel/GLINTELParallelArrays.java | 72 ++ .../ext/intel/GLINTELPerformanceQuery.java | 135 +++ .../ext/khr/GLKHRBlendEquationAdvanced.java | 22 +- .../GLKHRBlendEquationAdvancedCoherent.java | 21 +- .../opengl/ext/khr/GLKHRNoError.java | 21 +- .../ext/khr/GLKHRParallelShaderCompile.java | 22 +- .../opengl/ext/khr/GLKHRRobustness.java | 21 +- .../opengl/ext/khr/GLKHRShaderSubgroup.java | 21 +- .../khr/GLKHRTextureCompressionAstcHdr.java | 21 +- .../ext/mesa/GLMESAFramebufferFlipX.java | 32 + .../ext/mesa/GLMESAFramebufferFlipY.java | 52 ++ .../ext/mesa/GLMESAFramebufferSwapXY.java | 32 + .../opengl/ext/mesa/GLMESAPackInvert.java | 32 + .../ext/mesa/GLMESAProgramBinaryFormats.java | 32 + .../ext/{ => mesa}/GLMESAResizeBuffers.java | 31 +- .../ext/mesa/GLMESATileRasterOrder.java | 34 + .../opengl/ext/mesa/GLMESAWindowPos.java | 227 +++++ .../opengl/ext/mesa/GLMESAXTextureStack.java | 37 + .../opengl/ext/mesa/GLMESAYcbcrTexture.java | 34 + .../opengl/ext/oes/GLOESByteCoordinates.java | 211 +++++ .../oes/GLOESCompressedPalettedTexture.java | 41 + .../opengl/ext/oes/GLOESFixedPoint.java | 860 ++++++++++++++++++ .../opengl/ext/oes/GLOESQueryMatrix.java | 44 + .../opengl/ext/oes/GLOESReadFormat.java | 33 + .../opengl/ext/oes/GLOESSinglePrecision.java | 83 ++ .../ext/sun/GLSUNConvolutionBorderModes.java | 32 + .../opengl/ext/sun/GLSUNGlobalAlpha.java | 114 +-- .../opengl/ext/sun/GLSUNMeshArray.java | 31 +- .../opengl/ext/sun/GLSUNSliceAccum.java | 32 + .../opengl/ext/sun/GLSUNTriangleList.java | 133 ++- .../overrungl/opengl/ext/sun/GLSUNVertex.java | 578 +++++------- .../opengl/ext/sun/GLSUNXConstantData.java | 31 +- 134 files changed, 5747 insertions(+), 3837 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMMultimodeDrawArrays.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMVertexArrayLists.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELMapTexture.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELParallelArrays.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAFramebufferFlipY.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAWindowPos.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java rename modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/{ => ibm}/GLIBMStaticData.java (58%) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java rename modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/{GLINTELConst.java => intel/GLINTELBlackholeRender.java} (61%) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java rename modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/{ => intel}/GLINTELFramebufferCMAA.java (61%) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java rename modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/{ => mesa}/GLMESAResizeBuffers.java (63%) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 0a5743f7..9afa95af 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -153,6 +153,8 @@ class OpenGLFile( ) { private val constants = LinkedHashMap() private val functions = ArrayList() + val hasFunction: Boolean + get() = functions.isNotEmpty() operator fun String.invoke(value: String) { constants[this] = value @@ -172,28 +174,27 @@ class OpenGLFile( // file-header appendLine( """ - $fileHeader - package overrungl.opengl${ext.packageName}; + ${fileHeader.prependIndent("|")} + |package overrungl.opengl${ext.packageName}; - import overrungl.*; - import overrungl.opengl.*; - import java.lang.foreign.*; - import static java.lang.foreign.FunctionDescriptor.*; - import static java.lang.foreign.ValueLayout.*; - import static overrungl.opengl.GLLoader.*; + |import overrungl.*; + |import overrungl.opengl.*; + |import java.lang.foreign.*; + |import static java.lang.foreign.FunctionDescriptor.*; + |import static java.lang.foreign.ValueLayout.*; + |import static overrungl.opengl.GLLoader.*; - /** - * {@code $extName} - */ - public final class GL${ext.extName}$name { - """.trimIndent() + |/** + | * {@code $extName} + | */ + |public final class GL${ext.extName}$name { + """.trimMargin() ) // constants constants.forEach { (name, value) -> appendLine(" public static final int $name = $value;") } if (functions.isNotEmpty()) { - appendLine() // loader appendLine(" public static void load(GLExtCaps ext, GLLoadFunc load) {") appendLine(" if (!ext.$extName) return;") @@ -2763,208 +2764,211 @@ fun win() { fun glExtCaps() { Files.writeString(Path("GLExtCaps.java"), buildString { - appendLine( + append( """ - $fileHeader - package overrungl.opengl; + ${fileHeader.prependIndent("|")} + |package overrungl.opengl; - import overrungl.opengl.ext.*; - import overrungl.opengl.ext.arb.*; - import overrungl.opengl.ext.khr.*; - import overrungl.opengl.ext.oes.*; - import overrungl.opengl.ext.amd.*; - import overrungl.opengl.ext.apple.*; - //import overrungl.opengl.ext.ati.*; - //import overrungl.opengl.ext.ext.*; - import overrungl.opengl.ext.ibm.*; - import overrungl.opengl.ext.intel.*; - import overrungl.opengl.ext.mesa.*; - //import overrungl.opengl.ext.nv.*; - //import overrungl.opengl.ext.sgi.*; - import overrungl.opengl.ext.sun.*; + |import overrungl.opengl.ext.*; + |import overrungl.opengl.ext.arb.*; + |import overrungl.opengl.ext.khr.*; + |import overrungl.opengl.ext.oes.*; + |import overrungl.opengl.ext.amd.*; + |import overrungl.opengl.ext.apple.*; + |//import overrungl.opengl.ext.ati.*; + |//import overrungl.opengl.ext.ext.*; + |import overrungl.opengl.ext.ibm.*; + |import overrungl.opengl.ext.intel.*; + |import overrungl.opengl.ext.mesa.*; + |//import overrungl.opengl.ext.nv.*; + |//import overrungl.opengl.ext.sgi.*; + |import overrungl.opengl.ext.sun.*; - import java.lang.invoke.MethodHandle; + |import java.lang.invoke.MethodHandle; - /** - * The OpenGL extension capabilities. - * - * @since 0.1.0 - */ - public final class GLExtCaps { - /** The OpenGL extension flags. */ - public boolean GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, - GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, - GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, - GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, - GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, - GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, - GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, - GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, - GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, - GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, - GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, - GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, - GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, - GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, - GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, - GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, - GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, - GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, - GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, - GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, - GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, - GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, - GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, - GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, - GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, - GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, - GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, - GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, - GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, - GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, - GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, - GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, - GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, - GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, - GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, - GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, - GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, - GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, - GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, - GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, - GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, - GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, - GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, - GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, - GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, - GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, - GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, - GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, - GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, - GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, - GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, - GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, - GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, - GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, - GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, - GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, - GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, - GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_element_array, - GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, - GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, - GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, - GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, - GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, - GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, - GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, - GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, - GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, - GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, - GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, - GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, - GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, - GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, - GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, - GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, - GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, - GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, - GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, - GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, - GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, - GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, - GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, - GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, - GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, - GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, - GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, - GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, - GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, - GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, - GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, - GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, - GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, - GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, - GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, - GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, - GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, - GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, - GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, - GL_KHR_texture_compression_astc_sliced_3d, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, - GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, - GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, - GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, - GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, - GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, - GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, - GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, - GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, - GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, - GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, - GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, - GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, - GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, - GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, - GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, - GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, - GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, - GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, - GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, - GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, - GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, - GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, - GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, - GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, - GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, - GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, - GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, - GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, - GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, - GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, - GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, - GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, - GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, - GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OES_byte_coordinates, - GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, - GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, - GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, - GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, - GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, - GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, - GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, - GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, - GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, - GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, - GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, - GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, - GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, - GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, - GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, - GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; + |/** + | * The OpenGL extension capabilities. + | * + | * @since 0.1.0 + | */ + |public final class GLExtCaps { + | /** The OpenGL extension flags. */ + | public boolean GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, + | GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, + | GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, + | GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, + | GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, + | GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, + | GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, + | GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, + | GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, + | GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, + | GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, + | GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, + | GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, + | GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, + | GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, + | GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, + | GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, + | GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, + | GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, + | GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, + | GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, + | GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, + | GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, + | GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, + | GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, + | GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, + | GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, + | GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, + | GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, + | GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, + | GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, + | GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, + | GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, + | GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, + | GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, + | GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, + | GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, + | GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, + | GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, + | GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, + | GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, + | GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, + | GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, + | GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, + | GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, + | GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, + | GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, + | GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, + | GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, + | GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, + | GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, + | GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, + | GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, + | GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, + | GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, + | GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, + | GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, + | GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_element_array, + | GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, + | GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, + | GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, + | GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, + | GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, + | GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, + | GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, + | GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, + | GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, + | GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, + | GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, + | GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, + | GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, + | GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, + | GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, + | GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, + | GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, + | GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, + | GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, + | GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, + | GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, + | GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, + | GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, + | GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, + | GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, + | GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, + | GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, + | GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, + | GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, + | GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, + | GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, + | GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, + | GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, + | GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, + | GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, + | GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, + | GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, + | GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, + | GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, + | GL_KHR_texture_compression_astc_sliced_3d, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, + | GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, + | GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, + | GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, + | GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, + | GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, + | GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, + | GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, + | GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, + | GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, + | GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, + | GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, + | GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, + | GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, + | GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, + | GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, + | GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, + | GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, + | GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, + | GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, + | GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, + | GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, + | GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, + | GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, + | GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, + | GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, + | GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, + | GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, + | GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, + | GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, + | GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, + | GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, + | GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, + | GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, + | GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OES_byte_coordinates, + | GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, + | GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, + | GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, + | GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, + | GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, + | GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, + | GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, + | GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, + | GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, + | GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, + | GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, + | GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, + | GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, + | GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, + | GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, + | GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; - /** GLCapabilities */ - public final GLCapabilities caps; + | /** GLCapabilities */ + | public final GLCapabilities caps; - /** - * Construct incomplete OpenGL extension capabilities. - * - * @param caps The parent capabilities. - */ - public GLExtCaps(GLCapabilities caps) { - this.caps = caps; - } + | /** + | * Construct incomplete OpenGL extension capabilities. + | * + | * @param caps The parent capabilities. + | */ + | public GLExtCaps(GLCapabilities caps) { + | this.caps = caps; + | } - /** Method handles. */ - public MethodHandle - """.trimIndent() + | /** Method handles. */ + | public MethodHandle + """.trimMargin() ) generatedExtFunctions.forEachIndexed { index, function -> - if (index == 0) append(" ") + if (index.rem(16) == 0) { + if (index == 0) append("\n ") + else append(",\n ") + } else append(", ") append(function.name) } - appendLine(";\n void load(GLLoadFunc load) {") + appendLine(";\n\n void load(GLLoadFunc load) {") generatedExtClasses.forEach { - appendLine(" ${it.ext.extName}${it.name}.load(this, load);") + if (it.hasFunction) appendLine(" GL${it.ext.extName}${it.name}.load(this, load);") } appendLine(" }\n}") }) diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 60258238..fe2a840f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -14,14 +14,22 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl; import overrungl.opengl.ext.*; +import overrungl.opengl.ext.arb.*; +import overrungl.opengl.ext.khr.*; +import overrungl.opengl.ext.oes.*; import overrungl.opengl.ext.amd.*; import overrungl.opengl.ext.apple.*; -import overrungl.opengl.ext.arb.*; -import overrungl.opengl.ext.khr.GLKHRBlendEquationAdvanced; -import overrungl.opengl.ext.khr.GLKHRParallelShaderCompile; +//import overrungl.opengl.ext.ati.*; +//import overrungl.opengl.ext.ext.*; +import overrungl.opengl.ext.ibm.*; +import overrungl.opengl.ext.intel.*; +import overrungl.opengl.ext.mesa.*; +//import overrungl.opengl.ext.nv.*; +//import overrungl.opengl.ext.sgi.*; import overrungl.opengl.ext.sun.*; import java.lang.invoke.MethodHandle; @@ -29,14 +37,10 @@ /** * The OpenGL extension capabilities. * - * @author squid233 * @since 0.1.0 */ public final class GLExtCaps { - // region Flags - /** - * The OpenGL extension flags. - */ + /** The OpenGL extension flags. */ public boolean GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, @@ -185,524 +189,8 @@ public final class GLExtCaps { GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region 3DFX - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_3DFX_tbuffer} extension method handles. - */ - public MethodHandle glTbufferMask3DFX; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region AMD - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_AMD_debug_output} extension method handles. - */ - public MethodHandle glDebugMessageCallbackAMD, glDebugMessageEnableAMD, glDebugMessageInsertAMD, glGetDebugMessageLogAMD; - /** - * {@code GL_AMD_draw_buffers_blend} extension method handles. - */ - public MethodHandle glBlendEquationIndexedAMD, glBlendEquationSeparateIndexedAMD, glBlendFuncIndexedAMD, glBlendFuncSeparateIndexedAMD; - /** - * {@code GL_AMD_framebuffer_multisample_advanced} extension method handles. - */ - public MethodHandle glNamedRenderbufferStorageMultisampleAdvancedAMD, glRenderbufferStorageMultisampleAdvancedAMD; - /** - * {@code GL_AMD_framebuffer_sample_positions} extension method handles. - */ - public MethodHandle glFramebufferSamplePositionsfvAMD, glGetFramebufferParameterfvAMD, glGetNamedFramebufferParameterfvAMD, - glNamedFramebufferSamplePositionsfvAMD; - /** - * {@code GL_AMD_interleaved_elements} extension method handles. - */ - public MethodHandle glVertexAttribParameteriAMD; - /** - * {@code GL_AMD_multi_draw_indirect} extension method handles. - */ - public MethodHandle glMultiDrawArraysIndirectAMD, glMultiDrawElementsIndirectAMD; - /** - * {@code GL_AMD_name_gen_delete} extension method handles. - */ - public MethodHandle glDeleteNamesAMD, glGenNamesAMD, glIsNameAMD; - /** - * {@code GL_AMD_occlusion_query_event} extension method handles. - */ - public MethodHandle glQueryObjectParameteruiAMD; - /** - * {@code GL_AMD_performance_monitor} extension method handles. - */ - public MethodHandle glBeginPerfMonitorAMD, glDeletePerfMonitorsAMD, glEndPerfMonitorAMD, glGenPerfMonitorsAMD, - glGetPerfMonitorCounterDataAMD, glGetPerfMonitorCounterInfoAMD, glGetPerfMonitorCounterStringAMD, - glGetPerfMonitorCountersAMD, glGetPerfMonitorGroupStringAMD, glGetPerfMonitorGroupsAMD, - glSelectPerfMonitorCountersAMD; - /** - * {@code GL_AMD_sample_positions} extension method handles. - */ - public MethodHandle glSetMultisamplefvAMD; - /** - * {@code GL_AMD_sparse_texture} extension method handles. - */ - public MethodHandle glTexStorageSparseAMD, glTextureStorageSparseAMD; - /** - * {@code GL_AMD_stencil_operation_extended} extension method handles. - */ - public MethodHandle glStencilOpValueAMD; - /** - * {@code GL_AMD_vertex_shader_tessellator} extension method handles. - */ - public MethodHandle glTessellationFactorAMD, glTessellationModeAMD; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region APPLE - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_APPLE_element_array} extension method handles. - */ - public MethodHandle glDrawElementArrayAPPLE, glDrawRangeElementArrayAPPLE, glElementPointerAPPLE, - glMultiDrawElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE; - /** - * {@code GL_APPLE_fence} extension method handles. - */ - public MethodHandle glDeleteFencesAPPLE, glFinishFenceAPPLE, glFinishObjectAPPLE, glGenFencesAPPLE, - glIsFenceAPPLE, glSetFenceAPPLE, glTestFenceAPPLE, glTestObjectAPPLE; - /** - * {@code GL_APPLE_flush_buffer_range} extension method handles. - */ - public MethodHandle glBufferParameteriAPPLE, glFlushMappedBufferRangeAPPLE; - /** - * {@code GL_APPLE_object_purgeable} extension method handles. - */ - public MethodHandle glGetObjectParameterivAPPLE, glObjectPurgeableAPPLE, glObjectUnpurgeableAPPLE; - /** - * {@code GL_APPLE_texture_range} extension method handles. - */ - public MethodHandle glGetTexParameterPointervAPPLE, glTextureRangeAPPLE; - /** - * {@code GL_APPLE_vertex_array_object} extension method handles. - */ - public MethodHandle glBindVertexArrayAPPLE, glDeleteVertexArraysAPPLE, glGenVertexArraysAPPLE, glIsVertexArrayAPPLE; - /** - * {@code GL_APPLE_vertex_array_range} extension method handles. - */ - public MethodHandle glFlushVertexArrayRangeAPPLE, glVertexArrayParameteriAPPLE, glVertexArrayRangeAPPLE; - /** - * {@code GL_APPLE_vertex_program_evaluators} extension method handles. - */ - public MethodHandle glDisableVertexAttribAPPLE, glEnableVertexAttribAPPLE, glIsVertexAttribEnabledAPPLE, - glMapVertexAttrib1dAPPLE, glMapVertexAttrib1fAPPLE, glMapVertexAttrib2dAPPLE, glMapVertexAttrib2fAPPLE; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region ARB - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_ARB_debug_output} extension method handles. - */ - public MethodHandle glDebugMessageCallbackARB, glDebugMessageControlARB, glDebugMessageInsertARB, glGetDebugMessageLogARB; - /** - * {@code GL_ARB_ES3_1_compatibility} extension method handles. - */ - public MethodHandle glPrimitiveBoundingBoxARB; - /** - * {@code GL_ARB_bindless_texture} extension method handles. - */ - public MethodHandle glGetImageHandleARB, glGetTextureHandleARB, glGetTextureSamplerHandleARB, glGetVertexAttribLui64vARB, glIsImageHandleResidentARB, - glIsTextureHandleResidentARB, glMakeImageHandleNonResidentARB, glMakeImageHandleResidentARB, glMakeTextureHandleNonResidentARB, glMakeTextureHandleResidentARB, - glProgramUniformHandleui64ARB, glProgramUniformHandleui64vARB, glUniformHandleui64ARB, glUniformHandleui64vARB, glVertexAttribL1ui64ARB, glVertexAttribL1ui64vARB; - /** - * {@code GL_ARB_cl_event} extension method handles. - */ - public MethodHandle glCreateSyncFromCLeventARB; - /** - * {@code GL_ARB_color_buffer_float} extension method handles. - */ - public MethodHandle glClampColorARB; - /** - * {@code GL_ARB_compute_variable_group_size} extension method handles. - */ - public MethodHandle glDispatchComputeGroupSizeARB; - /** - * {@code GL_ARB_draw_buffers} extension method handles. - */ - public MethodHandle glDrawBuffersARB; - /** - * {@code GL_ARB_draw_buffers_blend} extension method handles. - */ - public MethodHandle glBlendEquationSeparateiARB, glBlendEquationiARB, glBlendFuncSeparateiARB, glBlendFunciARB; - /** - * {@code GL_ARB_draw_instanced} extension method handles. - */ - public MethodHandle glDrawArraysInstancedARB, glDrawElementsInstancedARB; - /** - * {@code GL_ARB_fragment_program} extension method handles. - */ - public MethodHandle glBindProgramARB, glDeleteProgramsARB, glGenProgramsARB, glGetProgramEnvParameterdvARB, glGetProgramEnvParameterfvARB, glGetProgramLocalParameterdvARB, - glGetProgramLocalParameterfvARB, glGetProgramStringARB, glGetProgramivARB, glIsProgramARB, glProgramEnvParameter4dARB, glProgramEnvParameter4dvARB, glProgramEnvParameter4fARB, - glProgramEnvParameter4fvARB, glProgramLocalParameter4dARB, glProgramLocalParameter4dvARB, glProgramLocalParameter4fARB, glProgramLocalParameter4fvARB, glProgramStringARB; - /** - * {@code GL_ARB_geometry_shader4} extension method handles. - */ - public MethodHandle glFramebufferTextureARB, glFramebufferTextureFaceARB, glFramebufferTextureLayerARB, glProgramParameteriARB; - /** - * {@code GL_ARB_gl_spirv} extension method handles. - */ - public MethodHandle glSpecializeShaderARB; - /** - * {@code GL_ARB_gpu_shader_int64} extension method handles. - */ - public MethodHandle glGetUniformi64vARB, glGetUniformui64vARB, glGetnUniformi64vARB, glGetnUniformui64vARB, glProgramUniform1i64ARB, glProgramUniform1i64vARB, - glProgramUniform1ui64ARB, glProgramUniform1ui64vARB, glProgramUniform2i64ARB, glProgramUniform2i64vARB, glProgramUniform2ui64ARB, glProgramUniform2ui64vARB, - glProgramUniform3i64ARB, glProgramUniform3i64vARB, glProgramUniform3ui64ARB, glProgramUniform3ui64vARB, glProgramUniform4i64ARB, glProgramUniform4i64vARB, - glProgramUniform4ui64ARB, glProgramUniform4ui64vARB, glUniform1i64ARB, glUniform1i64vARB, glUniform1ui64ARB, glUniform1ui64vARB, - glUniform2i64ARB, glUniform2i64vARB, glUniform2ui64ARB, glUniform2ui64vARB, glUniform3i64ARB, glUniform3i64vARB, - glUniform3ui64ARB, glUniform3ui64vARB, glUniform4i64ARB, glUniform4i64vARB, glUniform4ui64ARB, glUniform4ui64vARB; - /** - * {@code GL_ARB_indirect_parameters} extension method handles. - */ - public MethodHandle glMultiDrawArraysIndirectCountARB, glMultiDrawElementsIndirectCountARB; - /** - * {@code GL_ARB_instanced_arrays} extension method handles. - */ - public MethodHandle glVertexAttribDivisorARB; - /** - * {@code GL_ARB_matrix_palette} extension method handles. - */ - public MethodHandle glCurrentPaletteMatrixARB, glMatrixIndexPointerARB, glMatrixIndexubvARB, glMatrixIndexuivARB, glMatrixIndexusvARB; - /** - * {@code GL_ARB_multisample} extension method handles. - */ - public MethodHandle glSampleCoverageARB; - /** - * {@code GL_ARB_multitexture} extension method handles. - */ - public MethodHandle glActiveTextureARB, glClientActiveTextureARB, glMultiTexCoord1dARB, glMultiTexCoord1dvARB, - glMultiTexCoord1fARB, glMultiTexCoord1fvARB, glMultiTexCoord1iARB, glMultiTexCoord1ivARB, glMultiTexCoord1sARB, glMultiTexCoord1svARB, - glMultiTexCoord2dARB, glMultiTexCoord2dvARB, glMultiTexCoord2fARB, glMultiTexCoord2fvARB, glMultiTexCoord2iARB, glMultiTexCoord2ivARB, - glMultiTexCoord2sARB, glMultiTexCoord2svARB, glMultiTexCoord3dARB, glMultiTexCoord3dvARB, glMultiTexCoord3fARB, glMultiTexCoord3fvARB, - glMultiTexCoord3iARB, glMultiTexCoord3ivARB, glMultiTexCoord3sARB, glMultiTexCoord3svARB, glMultiTexCoord4dARB, glMultiTexCoord4dvARB, - glMultiTexCoord4fARB, glMultiTexCoord4fvARB, glMultiTexCoord4iARB, glMultiTexCoord4ivARB, glMultiTexCoord4sARB, glMultiTexCoord4svARB; - /** - * {@code GL_ARB_occlusion_query} extension method handles. - */ - public MethodHandle glBeginQueryARB, glDeleteQueriesARB, glEndQueryARB, glGenQueriesARB, glGetQueryObjectivARB, - glGetQueryObjectuivARB, glGetQueryivARB, glIsQueryARB; - /** - * {@code GL_ARB_parallel_shader_compile} extension method handles. - */ - public MethodHandle glMaxShaderCompilerThreadsARB; - /** - * {@code GL_ARB_point_parameters} extension method handles. - */ - public MethodHandle glPointParameterfARB, glPointParameterfvARB; - /** - * {@code GL_ARB_robustness} extension method handles. - */ - public MethodHandle glGetGraphicsResetStatusARB, glGetnCompressedTexImageARB, glGetnTexImageARB, glGetnUniformdvARB, - glGetnUniformfvARB, glGetnUniformivARB, glGetnUniformuivARB, glReadnPixelsARB; - /** - * {@code GL_ARB_sample_locations} extension method handles. - */ - public MethodHandle glEvaluateDepthValuesARB, glFramebufferSampleLocationsfvARB, glNamedFramebufferSampleLocationsfvARB; - /** - * {@code GL_ARB_sample_shading} extension method handles. - */ - public MethodHandle glMinSampleShadingARB; - /** - * {@code GL_ARB_shader_objects} extension method handles. - */ - public MethodHandle glDeleteObjectARB, glGetHandleARB, glDetachObjectARB, glCreateShaderObjectARB, glShaderSourceARB, glCompileShaderARB, - glCreateProgramObjectARB, glAttachObjectARB, glLinkProgramARB, glUseProgramObjectARB, glValidateProgramARB, glUniform1fARB, - glUniform2fARB, glUniform3fARB, glUniform4fARB, glUniform1iARB, glUniform2iARB, glUniform3iARB, glUniform4iARB, glUniform1fvARB, - glUniform2fvARB, glUniform3fvARB, glUniform4fvARB, glUniform1ivARB, glUniform2ivARB, glUniform3ivARB, glUniform4ivARB, - glUniformMatrix2fvARB, glUniformMatrix3fvARB, glUniformMatrix4fvARB, glGetObjectParameterfvARB, glGetObjectParameterivARB, glGetInfoLogARB, - glGetAttachedObjectsARB, glGetUniformLocationARB, glGetActiveUniformARB, glGetUniformfvARB, glGetUniformivARB, glGetShaderSourceARB; - /** - * {@code GL_ARB_shading_language_include} extension method handles. - */ - public MethodHandle glNamedStringARB, glDeleteNamedStringARB, glCompileShaderIncludeARB, glIsNamedStringARB, glGetNamedStringARB, glGetNamedStringivARB; - /** - * {@code GL_ARB_sparse_buffer} extension method handles. - */ - public MethodHandle glBufferPageCommitmentARB, glNamedBufferPageCommitmentEXT, glNamedBufferPageCommitmentARB; - /** - * {@code GL_ARB_sparse_texture} extension method handles. - */ - public MethodHandle glTexPageCommitmentARB; - /** - * {@code GL_ARB_texture_buffer_object} extension method handles. - */ - public MethodHandle glTexBufferARB; - /** - * {@code GL_ARB_texture_compression} extension method handles. - */ - public MethodHandle glCompressedTexImage3DARB, glCompressedTexImage2DARB, glCompressedTexImage1DARB, glCompressedTexSubImage3DARB, - glCompressedTexSubImage2DARB, glCompressedTexSubImage1DARB, glGetCompressedTexImageARB; - /** - * {@code GL_ARB_transpose_matrix} extension method handles. - */ - public MethodHandle glLoadTransposeMatrixfARB, glLoadTransposeMatrixdARB, glMultTransposeMatrixfARB, glMultTransposeMatrixdARB; - /** - * {@code GL_ARB_vertex_blend} extension method handles. - */ - public MethodHandle glWeightbvARB, glWeightsvARB, glWeightivARB, glWeightfvARB, glWeightdvARB, glWeightubvARB, glWeightusvARB, - glWeightuivARB, glWeightPointerARB, glVertexBlendARB; - /** - * {@code GL_ARB_vertex_buffer_object} extension method handles. - */ - public MethodHandle glBindBufferARB, glDeleteBuffersARB, glGenBuffersARB, glIsBufferARB, glBufferDataARB, glBufferSubDataARB, - glGetBufferSubDataARB, glMapBufferARB, glUnmapBufferARB, glGetBufferParameterivARB, glGetBufferPointervARB; - /** - * {@code GL_ARB_vertex_program} extension method handles. - */ - public MethodHandle glVertexAttrib1dARB, glVertexAttrib1dvARB, glVertexAttrib1fARB, glVertexAttrib1fvARB, glVertexAttrib1sARB, glVertexAttrib1svARB, - glVertexAttrib2dARB, glVertexAttrib2dvARB, glVertexAttrib2fARB, glVertexAttrib2fvARB, glVertexAttrib2sARB, glVertexAttrib2svARB, - glVertexAttrib3dARB, glVertexAttrib3dvARB, glVertexAttrib3fARB, glVertexAttrib3fvARB, glVertexAttrib3sARB, glVertexAttrib3svARB, - glVertexAttrib4NbvARB, glVertexAttrib4NivARB, glVertexAttrib4NsvARB, glVertexAttrib4NubARB, glVertexAttrib4NubvARB, glVertexAttrib4NuivARB, - glVertexAttrib4NusvARB, glVertexAttrib4bvARB, glVertexAttrib4dARB, glVertexAttrib4dvARB, glVertexAttrib4fARB, glVertexAttrib4fvARB, - glVertexAttrib4ivARB, glVertexAttrib4sARB, glVertexAttrib4svARB, glVertexAttrib4ubvARB, glVertexAttrib4uivARB, glVertexAttrib4usvARB, - glVertexAttribPointerARB, glEnableVertexAttribArrayARB, glDisableVertexAttribArrayARB, glGetVertexAttribdvARB, glGetVertexAttribfvARB, glGetVertexAttribivARB, - glGetVertexAttribPointervARB; - /** - * {@code GL_ARB_vertex_shader} extension method handles. - */ - public MethodHandle glBindAttribLocationARB, glGetActiveAttribARB, glGetAttribLocationARB; - /** - * {@code GL_ARB_viewport_array} extension method handles. - */ - public MethodHandle glDepthRangeArraydvNV, glDepthRangeIndexeddNV; - /** - * {@code GL_ARB_window_pos} extension method handles. - */ - public MethodHandle glWindowPos2dARB, glWindowPos2dvARB, glWindowPos2fARB, glWindowPos2fvARB, glWindowPos2iARB, glWindowPos2ivARB, - glWindowPos2sARB, glWindowPos2svARB, glWindowPos3dARB, glWindowPos3dvARB, glWindowPos3fARB, glWindowPos3fvARB, - glWindowPos3iARB, glWindowPos3ivARB, glWindowPos3sARB, glWindowPos3svARB; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region ATI - /////////////////////////////////////////////////////////////////////////// - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region EXT - /////////////////////////////////////////////////////////////////////////// - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region GREMEDY - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_GREMEDY_frame_terminator} extension method handles. - */ - public MethodHandle glFrameTerminatorGREMEDY; - /** - * {@code GL_GREMEDY_string_marker} extension method handles. - */ - public MethodHandle glStringMarkerGREMEDY; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region HP - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_HP_image_transform} extension method handles. - */ - public MethodHandle glGetImageTransformParameterfvHP, glGetImageTransformParameterivHP, glImageTransformParameterfHP, - glImageTransformParameterfvHP, glImageTransformParameteriHP, glImageTransformParameterivHP; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region IBM - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_IBM_multimode_draw_arrays} extension method handles. - */ - public MethodHandle glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM; - /** - * {@code GL_IBM_static_data} extension method handles. - */ - public MethodHandle glFlushStaticDataIBM; - /** - * {@code GL_IBM_vertex_array_lists} extension method handles. - */ - public MethodHandle glColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, - glNormalPointerListIBM, glSecondaryColorPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region INGR - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_INGR_blend_func_separate} extension method handles. - */ - public MethodHandle glBlendFuncSeparateINGR; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region INTEL - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_INTEL_framebuffer_CMAA} extension method handles. - */ - public MethodHandle glApplyFramebufferAttachmentCMAAINTEL; - /** - * {@code GL_INTEL_map_texture} extension method handles. - */ - public MethodHandle glMapTexture2DINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL; - /** - * {@code GL_INTEL_parallel_arrays} extension method handles. - */ - public MethodHandle glColorPointervINTEL, glNormalPointervINTEL, glTexCoordPointervINTEL, glVertexPointervINTEL; - /** - * {@code GL_INTEL_performance_query} extension method handles. - */ - public MethodHandle glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, - glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region KHR - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_KHR_blend_equation_advanced} extension method handles. - */ - public MethodHandle glBlendBarrierKHR; - /** - * {@code GL_KHR_parallel_shader_compile} extension method handles. - */ - public MethodHandle glMaxShaderCompilerThreadsKHR; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region MESA - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_MESA_framebuffer_flip_y} extension method handles. - */ - public MethodHandle glFramebufferParameteriMESA, glGetFramebufferParameterivMESA; - /** - * {@code GL_MESA_resize_buffers} extension method handles. - */ - public MethodHandle glResizeBuffersMESA; - /** - * {@code GL_MESA_window_pos} extension method handles. - */ - public MethodHandle glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, - glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, - glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, - glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region NV - /////////////////////////////////////////////////////////////////////////// - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region OES - /////////////////////////////////////////////////////////////////////////// - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region OVR - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_OVR_multiview} extension method handles. - */ - public MethodHandle glFramebufferTextureMultiviewOVR; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region PGI - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_PGI_misc_hints} extension method handles. - */ - public MethodHandle glHintPGI; - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region SGI - /////////////////////////////////////////////////////////////////////////// - - // endregion - - /////////////////////////////////////////////////////////////////////////// - // region SUN - /////////////////////////////////////////////////////////////////////////// - - /** - * {@code GL_SUNX_constant_data} extension method handles. - */ - public MethodHandle glFinishTextureSUNX; - /** - * {@code GL_SUN_global_alpha} extension method handles. - */ - public MethodHandle glGlobalAlphaFactorbSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactoriSUN, - glGlobalAlphaFactorsSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactoruiSUN, glGlobalAlphaFactorusSUN; - /** - * {@code GL_SUN_mesh_array} extension method handles. - */ - public MethodHandle glDrawMeshArraysSUN; - /** - * {@code GL_SUN_triangle_list} extension method handles. - */ - public MethodHandle glReplacementCodePointerSUN, glReplacementCodeubSUN, glReplacementCodeubvSUN, - glReplacementCodeuiSUN, glReplacementCodeuivSUN, glReplacementCodeusSUN, glReplacementCodeusvSUN; - /** - * {@code GL_SUN_vertex} extension method handles. - */ - public MethodHandle glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, - glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glNormal3fVertex3fSUN, - glNormal3fVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, - glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, - glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, - glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, - glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, - glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiVertex3fSUN, - glReplacementCodeuiVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, - glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord2fColor4ubVertex3fSUN, - glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, - glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, - glTexCoord4fColor4fNormal3fVertex4fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN; - - // endregion + /** GLCapabilities */ public final GLCapabilities caps; /** @@ -714,13 +202,71 @@ public GLExtCaps(GLCapabilities caps) { this.caps = caps; } + /** Method handles. */ + public MethodHandle + glGetGraphicsResetStatusARB, glGetnCompressedTexImageARB, glGetnTexImageARB, glGetnUniformdvARB, glGetnUniformfvARB, glGetnUniformivARB, glGetnUniformuivARB, glReadnPixelsARB, glEvaluateDepthValuesARB, glFramebufferSampleLocationsfvARB, glNamedFramebufferSampleLocationsfvARB, glMinSampleShadingARB, glDeleteObjectARB, glGetHandleARB, glDetachObjectARB, glCreateShaderObjectARB, + glShaderSourceARB, glCompileShaderARB, glCreateProgramObjectARB, glAttachObjectARB, glLinkProgramARB, glUseProgramObjectARB, glValidateProgramARB, glUniform1fARB, glUniform2fARB, glUniform3fARB, glUniform4fARB, glUniform1iARB, glUniform2iARB, glUniform3iARB, glUniform4iARB, glUniform1fvARB, + glUniform2fvARB, glUniform3fvARB, glUniform4fvARB, glUniform1ivARB, glUniform2ivARB, glUniform3ivARB, glUniform4ivARB, glUniformMatrix2fvARB, glUniformMatrix3fvARB, glUniformMatrix4fvARB, glGetObjectParameterfvARB, glGetObjectParameterivARB, glGetInfoLogARB, glGetAttachedObjectsARB, glGetUniformLocationARB, glGetActiveUniformARB, + glGetUniformfvARB, glGetUniformivARB, glGetShaderSourceARB, glNamedStringARB, glDeleteNamedStringARB, glCompileShaderIncludeARB, glIsNamedStringARB, glGetNamedStringARB, glGetNamedStringivARB, glBufferPageCommitmentARB, glNamedBufferPageCommitmentEXT, glNamedBufferPageCommitmentARB, glTexPageCommitmentARB, glTexBufferARB, glCompressedTexImage3DARB, glCompressedTexImage2DARB, + glCompressedTexImage1DARB, glCompressedTexSubImage3DARB, glCompressedTexSubImage2DARB, glCompressedTexSubImage1DARB, glGetCompressedTexImageARB, glLoadTransposeMatrixfARB, glLoadTransposeMatrixdARB, glMultTransposeMatrixfARB, glMultTransposeMatrixdARB, glWeightbvARB, glWeightsvARB, glWeightivARB, glWeightfvARB, glWeightdvARB, glWeightubvARB, glWeightusvARB, + glWeightuivARB, glWeightPointerARB, glVertexBlendARB, glBindBufferARB, glDeleteBuffersARB, glGenBuffersARB, glIsBufferARB, glBufferDataARB, glBufferSubDataARB, glGetBufferSubDataARB, glMapBufferARB, glUnmapBufferARB, glGetBufferParameterivARB, glGetBufferPointervARB, glVertexAttrib1dARB, glVertexAttrib1dvARB, + glVertexAttrib1fARB, glVertexAttrib1fvARB, glVertexAttrib1sARB, glVertexAttrib1svARB, glVertexAttrib2dARB, glVertexAttrib2dvARB, glVertexAttrib2fARB, glVertexAttrib2fvARB, glVertexAttrib2sARB, glVertexAttrib2svARB, glVertexAttrib3dARB, glVertexAttrib3dvARB, glVertexAttrib3fARB, glVertexAttrib3fvARB, glVertexAttrib3sARB, glVertexAttrib3svARB, + glVertexAttrib4NbvARB, glVertexAttrib4NivARB, glVertexAttrib4NsvARB, glVertexAttrib4NubARB, glVertexAttrib4NubvARB, glVertexAttrib4NuivARB, glVertexAttrib4NusvARB, glVertexAttrib4bvARB, glVertexAttrib4dARB, glVertexAttrib4dvARB, glVertexAttrib4fARB, glVertexAttrib4fvARB, glVertexAttrib4ivARB, glVertexAttrib4sARB, glVertexAttrib4svARB, glVertexAttrib4ubvARB, + glVertexAttrib4uivARB, glVertexAttrib4usvARB, glVertexAttribPointerARB, glEnableVertexAttribArrayARB, glDisableVertexAttribArrayARB, glGetVertexAttribdvARB, glGetVertexAttribfvARB, glGetVertexAttribivARB, glGetVertexAttribPointervARB, glBindAttribLocationARB, glGetActiveAttribARB, glGetAttribLocationARB, glDepthRangeArraydvNV, glDepthRangeIndexeddNV, glWindowPos2dARB, glWindowPos2dvARB, + glWindowPos2fARB, glWindowPos2fvARB, glWindowPos2iARB, glWindowPos2ivARB, glWindowPos2sARB, glWindowPos2svARB, glWindowPos3dARB, glWindowPos3dvARB, glWindowPos3fARB, glWindowPos3fvARB, glWindowPos3iARB, glWindowPos3ivARB, glWindowPos3sARB, glWindowPos3svARB, glBlendBarrierKHR, glMaxShaderCompilerThreadsKHR, + glMultiTexCoord1bOES, glMultiTexCoord1bvOES, glMultiTexCoord2bOES, glMultiTexCoord2bvOES, glMultiTexCoord3bOES, glMultiTexCoord3bvOES, glMultiTexCoord4bOES, glMultiTexCoord4bvOES, glTexCoord1bOES, glTexCoord1bvOES, glTexCoord2bOES, glTexCoord2bvOES, glTexCoord3bOES, glTexCoord3bvOES, glTexCoord4bOES, glTexCoord4bvOES, + glVertex2bOES, glVertex2bvOES, glVertex3bOES, glVertex3bvOES, glVertex4bOES, glVertex4bvOES, glAlphaFuncxOES, glClearColorxOES, glClearDepthxOES, glClipPlanexOES, glColor4xOES, glDepthRangexOES, glFogxOES, glFogxvOES, glFrustumxOES, glGetClipPlanexOES, + glGetFixedvOES, glGetTexEnvxvOES, glGetTexParameterxvOES, glLightModelxOES, glLightModelxvOES, glLightxOES, glLightxvOES, glLineWidthxOES, glLoadMatrixxOES, glMaterialxOES, glMaterialxvOES, glMultMatrixxOES, glMultiTexCoord4xOES, glNormal3xOES, glOrthoxOES, glPointParameterxvOES, + glPointSizexOES, glPolygonOffsetxOES, glRotatexOES, glScalexOES, glTexEnvxOES, glTexEnvxvOES, glTexParameterxOES, glTexParameterxvOES, glTranslatexOES, glAccumxOES, glBitmapxOES, glBlendColorxOES, glClearAccumxOES, glColor3xOES, glColor3xvOES, glColor4xvOES, + glConvolutionParameterxOES, glConvolutionParameterxvOES, glEvalCoord1xOES, glEvalCoord1xvOES, glEvalCoord2xOES, glEvalCoord2xvOES, glFeedbackBufferxOES, glGetConvolutionParameterxvOES, glGetHistogramParameterxvOES, glGetLightxOES, glGetMapxvOES, glGetMaterialxOES, glGetPixelMapxv, glGetTexGenxvOES, glGetTexLevelParameterxvOES, glIndexxOES, + glIndexxvOES, glLoadTransposeMatrixxOES, glMap1xOES, glMap2xOES, glMapGrid1xOES, glMapGrid2xOES, glMultTransposeMatrixxOES, glMultiTexCoord1xOES, glMultiTexCoord1xvOES, glMultiTexCoord2xOES, glMultiTexCoord2xvOES, glMultiTexCoord3xOES, glMultiTexCoord3xvOES, glMultiTexCoord4xvOES, glNormal3xvOES, glPassThroughxOES, + glPixelMapx, glPixelStorex, glPixelTransferxOES, glPixelZoomxOES, glPrioritizeTexturesxOES, glRasterPos2xOES, glRasterPos2xvOES, glRasterPos3xOES, glRasterPos3xvOES, glRasterPos4xOES, glRasterPos4xvOES, glRectxOES, glRectxvOES, glTexCoord1xOES, glTexCoord1xvOES, glTexCoord2xOES, + glTexCoord2xvOES, glTexCoord3xOES, glTexCoord3xvOES, glTexCoord4xOES, glTexCoord4xvOES, glTexGenxOES, glTexGenxvOES, glVertex2xOES, glVertex2xvOES, glVertex3xOES, glVertex3xvOES, glVertex4xOES, glVertex4xvOES, glQueryMatrixxOES, glClearDepthfOES, glClipPlanefOES, + glDepthRangefOES, glFrustumfOES, glGetClipPlanefOES, glOrthofOES, glTbufferMask3DFX, glDebugMessageEnableAMD, glDebugMessageInsertAMD, glDebugMessageCallbackAMD, glGetDebugMessageLogAMD, glBlendFuncIndexedAMD, glBlendFuncSeparateIndexedAMD, glBlendEquationIndexedAMD, glBlendEquationSeparateIndexedAMD, glRenderbufferStorageMultisampleAdvancedAMD, glNamedRenderbufferStorageMultisampleAdvancedAMD, glFramebufferSamplePositionsfvAMD, + glNamedFramebufferSamplePositionsfvAMD, glGetFramebufferParameterfvAMD, glGetNamedFramebufferParameterfvAMD, glUniform1i64NV, glUniform2i64NV, glUniform3i64NV, glUniform4i64NV, glUniform1i64vNV, glUniform2i64vNV, glUniform3i64vNV, glUniform4i64vNV, glUniform1ui64NV, glUniform2ui64NV, glUniform3ui64NV, glUniform4ui64NV, glUniform1ui64vNV, + glUniform2ui64vNV, glUniform3ui64vNV, glUniform4ui64vNV, glGetUniformi64vNV, glGetUniformui64vNV, glProgramUniform1i64NV, glProgramUniform2i64NV, glProgramUniform3i64NV, glProgramUniform4i64NV, glProgramUniform1i64vNV, glProgramUniform2i64vNV, glProgramUniform3i64vNV, glProgramUniform4i64vNV, glProgramUniform1ui64NV, glProgramUniform2ui64NV, glProgramUniform3ui64NV, + glProgramUniform4ui64NV, glProgramUniform1ui64vNV, glProgramUniform2ui64vNV, glProgramUniform3ui64vNV, glProgramUniform4ui64vNV, glVertexAttribParameteriAMD, glMultiDrawArraysIndirectAMD, glMultiDrawElementsIndirectAMD, glGenNamesAMD, glDeleteNamesAMD, glIsNameAMD, glQueryObjectParameteruiAMD, glGetPerfMonitorGroupsAMD, glGetPerfMonitorCountersAMD, glGetPerfMonitorGroupStringAMD, glGetPerfMonitorCounterStringAMD, + glGetPerfMonitorCounterInfoAMD, glGenPerfMonitorsAMD, glDeletePerfMonitorsAMD, glSelectPerfMonitorCountersAMD, glBeginPerfMonitorAMD, glEndPerfMonitorAMD, glGetPerfMonitorCounterDataAMD, glSetMultisamplefvAMD, glTexStorageSparseAMD, glTextureStorageSparseAMD, glStencilOpValueAMD, glTessellationFactorAMD, glTessellationModeAMD, glElementPointerAPPLE, glDrawElementArrayAPPLE, glDrawRangeElementArrayAPPLE, + glMultiDrawElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE, glGenFencesAPPLE, glDeleteFencesAPPLE, glSetFenceAPPLE, glIsFenceAPPLE, glTestFenceAPPLE, glFinishFenceAPPLE, glTestObjectAPPLE, glFinishObjectAPPLE, glBufferParameteriAPPLE, glFlushMappedBufferRangeAPPLE, glObjectPurgeableAPPLE, glObjectUnpurgeableAPPLE, glGetObjectParameterivAPPLE, glTextureRangeAPPLE, + glGetTexParameterPointervAPPLE, glBindVertexArrayAPPLE, glDeleteVertexArraysAPPLE, glGenVertexArraysAPPLE, glIsVertexArrayAPPLE, glVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE, glVertexArrayParameteriAPPLE, glEnableVertexAttribAPPLE, glDisableVertexAttribAPPLE, glIsVertexAttribEnabledAPPLE, glMapVertexAttrib1dAPPLE, glMapVertexAttrib1fAPPLE, glMapVertexAttrib2dAPPLE, glMapVertexAttrib2fAPPLE, glFrameTerminatorGREMEDY, + glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, + glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, + glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, + glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, + glFramebufferTextureMultiviewOVR, glHintPGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, + glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, + glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, + glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + void load(GLLoadFunc load) { + GLARBRobustness.load(this, load); + GLARBSampleLocations.load(this, load); + GLARBSampleShading.load(this, load); + GLARBShaderObjects.load(this, load); + GLARBShadingLanguageInclude.load(this, load); + GLARBSparseBuffer.load(this, load); + GLARBSparseTexture.load(this, load); + GLARBTextureBufferObject.load(this, load); + GLARBTextureCompression.load(this, load); + GLARBTransposeMatrix.load(this, load); + GLARBVertexBlend.load(this, load); + GLARBVertexBufferObject.load(this, load); + GLARBVertexProgram.load(this, load); + GLARBVertexShader.load(this, load); + GLARBViewportArray.load(this, load); + GLARBWindowPos.load(this, load); + GLKHRBlendEquationAdvanced.load(this, load); + GLKHRParallelShaderCompile.load(this, load); + GLOESByteCoordinates.load(this, load); + GLOESFixedPoint.load(this, load); + GLOESQueryMatrix.load(this, load); + GLOESSinglePrecision.load(this, load); GL3DFXTbuffer.load(this, load); GLAMDDebugOutput.load(this, load); GLAMDDrawBuffersBlend.load(this, load); GLAMDFramebufferMultisampleAdvanced.load(this, load); GLAMDFramebufferSamplePositions.load(this, load); - // TODO: GLAMDGpuShaderInt64.load(this, load); + GLAMDGpuShaderInt64.load(this, load); GLAMDInterleavedElements.load(this, load); GLAMDMultiDrawIndirect.load(this, load); GLAMDNameGenDelete.load(this, load); @@ -738,122 +284,6 @@ void load(GLLoadFunc load) { GLAPPLEVertexArrayObject.load(this, load); GLAPPLEVertexArrayRange.load(this, load); GLAPPLEVertexProgramEvaluators.load(this, load); - GLARBES32Compatibility.load(this, load); - GLARBBindlessTexture.load(this, load); - GLARBCLEvent.load(this, load); - GLARBColorBufferFloat.load(this, load); - GLARBComputeVariableGroupSize.load(this, load); - GLARBDebugOutput.load(this, load); - GLARBDrawBuffers.load(this, load); - GLARBDrawBuffersBlend.load(this, load); - GLARBDrawInstanced.load(this, load); - GLARBFragmentProgram.load(this, load); - GLARBGeometryShader4.load(this, load); - GLARBGLSpirv.load(this, load); - GLARBGPUShaderInt64.load(this, load); - GLARBIndirectParameters.load(this, load); - GLARBInstancedArrays.load(this, load); - GLARBMatrixPalette.load(this, load); - GLARBMultisample.load(this, load); - GLARBMultitexture.load(this, load); - GLARBOcclusionQuery.load(this, load); - GLARBParallelShaderCompile.load(this, load); - GLARBPointParameters.load(this, load); - GLARBRobustness.load(this, load); - GLARBSampleLocations.load(this, load); - GLARBSampleShading.load(this, load); - GLARBShaderObjects.load(this, load); - GLARBShadingLanguageInclude.load(this, load); - GLARBSparseBuffer.load(this, load); - GLARBSparseTexture.load(this, load); - GLARBTextureBufferObject.load(this, load); - GLARBTextureCompression.load(this, load); - GLARBTransposeMatrix.load(this, load); - GLARBVertexBlend.load(this, load); - GLARBVertexBufferObject.load(this, load); - GLARBVertexProgram.load(this, load); - GLARBVertexShader.load(this, load); - GLARBViewportArray.load(this, load); - GLARBWindowPos.load(this, load); - // GLATIDraw_buffers.load(load); - // GLATIElement_array.load(load); - // GLATIEnvmap_bumpmap.load(load); - // GLATIFragment_shader.load(load); - // GLATIMap_object_buffer.load(load); - // GLATIPn_triangles.load(load); - // GLATISeparate_stencil.load(load); - // GLATIVertex_array_object.load(load); - // GLATIVertex_attrib_array_object.load(load); - // GLATIVertex_streams.load(load); - // GLEXT_EGL_image_storage.load(load); - // GLEXT_bindable_uniform.load(load); - // GLEXT_blend_color.load(load); - // GLEXT_blend_equation_separate.load(load); - // GLEXT_blend_func_separate.load(load); - // GLEXT_blend_minmax.load(load); - // GLEXT_color_subtable.load(load); - // GLEXT_compiled_vertex_array.load(load); - // GLEXT_convolution.load(load); - // GLEXT_coordinate_frame.load(load); - // GLEXT_copy_texture.load(load); - // GLEXT_cull_vertex.load(load); - // GLEXT_debug_label.load(load); - // GLEXT_debug_marker.load(load); - // GLEXT_depth_bounds_test.load(load); - // GLEXT_direct_state_access.load(load); - // GLEXT_draw_buffers2.load(load); - // GLEXT_draw_instanced.load(load); - // GLEXT_draw_range_elements.load(load); - // GLEXT_external_buffer.load(load); - // GLEXT_fog_coord.load(load); - // GLEXT_framebuffer_blit.load(load); - // GLEXT_framebuffer_multisample.load(load); - // GLEXT_framebuffer_object.load(load); - // GLEXT_geometry_shader4.load(load); - // GLEXT_gpu_program_parameters.load(load); - // GLEXT_gpu_shader4.load(load); - // GLEXT_histogram.load(load); - // GLEXT_index_func.load(load); - // GLEXT_index_material.load(load); - // GLEXT_light_texture.load(load); - // GLEXT_memory_object.load(load); - // GLEXT_memory_object_fd.load(load); - // GLEXT_memory_object_win32.load(load); - // GLEXT_multi_draw_arrays.load(load); - // GLEXT_multisample.load(load); - // GLEXT_paletted_texture.load(load); - // GLEXT_pixel_transform.load(load); - // GLEXT_point_parameters.load(load); - // GLEXT_polygon_offset.load(load); - // GLEXT_polygon_offset_clamp.load(load); - // GLEXT_provoking_vertex.load(load); - // GLEXT_raster_multisample.load(load); - // GLEXT_secondary_color.load(load); - // GLEXT_semaphore.load(load); - // GLEXT_semaphore_fd.load(load); - // GLEXT_semaphore_win32.load(load); - // GLEXT_separate_shader_objects.load(load); - // GLEXT_shader_framebuffer_fetch_non_coherent.load(load); - // GLEXT_shader_image_load_store.load(load); - // GLEXT_stencil_clear_tag.load(load); - // GLEXT_stencil_two_side.load(load); - // GLEXT_subtexture.load(load); - // GLEXT_texture3D.load(load); - // GLEXT_texture_array.load(load); - // GLEXT_texture_buffer_object.load(load); - // GLEXT_texture_integer.load(load); - // GLEXT_texture_object.load(load); - // GLEXT_texture_perturb_normal.load(load); - // GLEXT_texture_storage.load(load); - // GLEXT_timer_query.load(load); - // GLEXT_transform_feedback.load(load); - // GLEXT_vertex_array.load(load); - // GLEXT_vertex_attrib_64bit.load(load); - // GLEXT_vertex_shader.load(load); - // GLEXT_vertex_weighting.load(load); - // GLEXT_win32_keyed_mutex.load(load); - // GLEXT_window_rectangles.load(load); - // GLEXT_x11_sync_object.load(load); GLGREMEDYFrameTerminator.load(this, load); GLGREMEDYStringMarker.load(this, load); GLHPImageTransform.load(this, load); @@ -865,104 +295,11 @@ void load(GLLoadFunc load) { GLINTELMapTexture.load(this, load); GLINTELParallelArrays.load(this, load); GLINTELPerformanceQuery.load(this, load); - GLKHRBlendEquationAdvanced.load(this, load); - GLKHRParallelShaderCompile.load(this, load); GLMESAFramebufferFlipY.load(this, load); GLMESAResizeBuffers.load(this, load); GLMESAWindowPos.load(this, load); - // GLNVX_conditional_render.load(load); - // GLNVX_gpu_multicast2.load(load); - // GLNVX_linked_gpu_multicast.load(load); - // GLNVX_progress_fence.load(load); - // GLNV_alpha_to_coverage_dither_control.load(load); - // GLNV_bindless_multi_draw_indirect.load(load); - // GLNV_bindless_multi_draw_indirect_count.load(load); - // GLNV_bindless_texture.load(load); - // GLNV_blend_equation_advanced.load(load); - // GLNV_clip_space_w_scaling.load(load); - // GLNV_command_list.load(load); - // GLNV_conditional_render.load(load); - // GLNV_conservative_raster.load(load); - // GLNV_conservative_raster_dilate.load(load); - // GLNV_conservative_raster_pre_snap_triangles.load(load); - // GLNV_copy_image.load(load); - // GLNV_depth_buffer_float.load(load); - // GLNV_draw_texture.load(load); - // GLNV_draw_vulkan_image.load(load); - // GLNV_evaluators.load(load); - // GLNV_explicit_multisample.load(load); - // GLNV_fence.load(load); - // GLNV_fragment_coverage_to_color.load(load); - // GLNV_fragment_program.load(load); - // GLNV_framebuffer_mixed_samples.load(load); - // GLNV_framebuffer_multisample_coverage.load(load); - // GLNV_geometry_program4.load(load); - // GLNV_gpu_multicast.load(load); - // GLNV_gpu_program4.load(load); - // GLNV_gpu_program5.load(load); - // GLNV_gpu_shader5.load(load); - // GLNV_half_float.load(load); - // GLNV_internalformat_sample_query.load(load); - // GLNV_memory_attachment.load(load); - // GLNV_memory_object_sparse.load(load); - // GLNV_mesh_shader.load(load); - // GLNV_occlusion_query.load(load); - // GLNV_parameter_buffer_object.load(load); - // GLNV_path_rendering.load(load); - // GLNV_pixel_data_range.load(load); - // GLNV_point_sprite.load(load); - // GLNV_present_video.load(load); - // GLNV_primitive_restart.load(load); - // GLNV_query_resource.load(load); - // GLNV_query_resource_tag.load(load); - // GLNV_register_combiners.load(load); - // GLNV_register_combiners2.load(load); - // GLNV_sample_locations.load(load); - // GLNV_scissor_exclusive.load(load); - // GLNV_shader_buffer_load.load(load); - // GLNV_shading_rate_image.load(load); - // GLNV_texture_barrier.load(load); - // GLNV_texture_multisample.load(load); - // GLNV_timeline_semaphore.load(load); - // GLNV_transform_feedback.load(load); - // GLNV_transform_feedback2.load(load); - // GLNV_vdpau_interop.load(load); - // GLNV_vdpau_interop2.load(load); - // GLNV_vertex_array_range.load(load); - // GLNV_vertex_attrib_integer_64bit.load(load); - // GLNV_vertex_buffer_unified_memory.load(load); - // GLNV_vertex_program.load(load); - // GLNV_vertex_program4.load(load); - // GLNV_video_capture.load(load); - // GLNV_viewport_swizzle.load(load); - // GLOES_byte_coordinates.load(load); - // GLOES_fixed_point.load(load); - // GLOES_query_matrix.load(load); - // GLOES_single_precision.load(load); GLOVRMultiview.load(this, load); GLPGIMiscHints.load(this, load); - // GLSGISDetailTexture.load(load); - // GLSGISFogFunction.load(load); - // GLSGISMultisample.load(load); - // GLSGISPixelTexture.load(load); - // GLSGISPointParameters.load(load); - // GLSGISSharpenTexture.load(load); - // GLSGISTexture4D.load(load); - // GLSGISTextureColorMask.load(load); - // GLSGISTextureFilter4.load(load); - // GLSGIXAsync.load(load); - // GLSGIXFlushRaster.load(load); - // GLSGIXFragmentLighting.load(load); - // GLSGIXFramezoom.load(load); - // GLSGIXIglooInterface.load(load); - // GLSGIXInstruments.load(load); - // GLSGIXListPriority.load(load); - // GLSGIXPixelTexture.load(load); - // GLSGIXPolynomialFfd.load(load); - // GLSGIXReferencePlane.load(load); - // GLSGIXSprite.load(load); - // GLSGIXTagSampleBuffer.load(load); - // GLSGIColorTable.load(load); GLSUNXConstantData.load(this, load); GLSUNGlobalAlpha.load(this, load); GLSUNMeshArray.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java new file mode 100644 index 00000000..2c031de6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_3DFX_multisample} + */ +public final class GL3DFXMultisample { + public static final int GL_MULTISAMPLE_3DFX = 0x86B2; + public static final int GL_SAMPLE_BUFFERS_3DFX = 0x86B3; + public static final int GL_SAMPLES_3DFX = 0x86B4; + public static final int GL_MULTISAMPLE_BIT_3DFX = 0x20000000; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java index 369b41f4..9f49a643 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java @@ -14,31 +14,30 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_3DFX_tbuffer} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_3DFX_tbuffer} + */ public final class GL3DFXTbuffer { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_3DFX_tbuffer) return; - ext.glTbufferMask3DFX = load.invoke("glTbufferMask3DFX", FunctionDescriptors.IV); + ext.glTbufferMask3DFX = load.invoke("glTbufferMask3DFX", ofVoid(JAVA_INT)); } public static void glTbufferMask3DFX(int mask) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTbufferMask3DFX).invokeExact(mask); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTbufferMask3DFX).invokeExact(mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java new file mode 100644 index 00000000..4af7fd0d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_3DFX_texture_compression_FXT1} + */ +public final class GL3DFXTextureCompressionFXT1 { + public static final int GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0; + public static final int GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java index 6fb5af1d..d3654e39 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java @@ -14,31 +14,30 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_GREMEDY_frame_terminator} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_GREMEDY_frame_terminator} + */ public final class GLGREMEDYFrameTerminator { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_GREMEDY_frame_terminator) return; - ext.glFrameTerminatorGREMEDY = load.invoke("glFrameTerminatorGREMEDY", FunctionDescriptors.V); + ext.glFrameTerminatorGREMEDY = load.invoke("glFrameTerminatorGREMEDY", ofVoid()); } public static void glFrameTerminatorGREMEDY() { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFrameTerminatorGREMEDY).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFrameTerminatorGREMEDY).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java index 7db2d567..bd095284 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java @@ -14,33 +14,30 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_GREMEDY_string_marker} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_GREMEDY_string_marker} + */ public final class GLGREMEDYStringMarker { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_GREMEDY_string_marker) return; - ext.glStringMarkerGREMEDY = load.invoke("glStringMarkerGREMEDY", FunctionDescriptors.IPV); + ext.glStringMarkerGREMEDY = load.invoke("glStringMarkerGREMEDY", ofVoid(JAVA_INT, ADDRESS)); } - public static void glStringMarkerGREMEDY(int len, MemorySegment string) { - var ext = GLLoader.getExtCapabilities(); + public static void glStringMarkerGREMEDY(int len, @NativeType("const void *") MemorySegment string) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glStringMarkerGREMEDY).invokeExact(len, string); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glStringMarkerGREMEDY).invokeExact(len, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java new file mode 100644 index 00000000..ebc1c403 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_HP_convolution_border_modes} + */ +public final class GLHPConvolutionBorderModes { + public static final int GL_IGNORE_BORDER_HP = 0x8150; + public static final int GL_CONSTANT_BORDER_HP = 0x8151; + public static final int GL_REPLICATE_BORDER_HP = 0x8153; + public static final int GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java index 01bc872c..d2143737 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java @@ -14,107 +14,85 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.internal.RuntimeHelper; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; -import java.lang.foreign.ValueLayout; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_HP_image_transform} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_HP_image_transform} + */ public final class GLHPImageTransform { + public static final int GL_IMAGE_SCALE_X_HP = 0x8155; + public static final int GL_IMAGE_SCALE_Y_HP = 0x8156; + public static final int GL_IMAGE_TRANSLATE_X_HP = 0x8157; + public static final int GL_IMAGE_TRANSLATE_Y_HP = 0x8158; + public static final int GL_IMAGE_ROTATE_ANGLE_HP = 0x8159; + public static final int GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; + public static final int GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; + public static final int GL_IMAGE_MAG_FILTER_HP = 0x815C; + public static final int GL_IMAGE_MIN_FILTER_HP = 0x815D; + public static final int GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E; + public static final int GL_CUBIC_HP = 0x815F; + public static final int GL_AVERAGE_HP = 0x8160; + public static final int GL_IMAGE_TRANSFORM_2D_HP = 0x8161; + public static final int GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; + public static final int GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_HP_image_transform) return; - ext.glGetImageTransformParameterfvHP = load.invoke("glGetImageTransformParameterfvHP", IIPV); - ext.glGetImageTransformParameterivHP = load.invoke("glGetImageTransformParameterivHP", IIPV); - ext.glImageTransformParameterfHP = load.invoke("glImageTransformParameterfHP", IIFV); - ext.glImageTransformParameterfvHP = load.invoke("glImageTransformParameterfvHP", IIPV); - ext.glImageTransformParameteriHP = load.invoke("glImageTransformParameteriHP", IIIV); - ext.glImageTransformParameterivHP = load.invoke("glImageTransformParameterivHP", IIPV); + ext.glImageTransformParameteriHP = load.invoke("glImageTransformParameteriHP", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glImageTransformParameterfHP = load.invoke("glImageTransformParameterfHP", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glImageTransformParameterivHP = load.invoke("glImageTransformParameterivHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glImageTransformParameterfvHP = load.invoke("glImageTransformParameterfvHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetImageTransformParameterivHP = load.invoke("glGetImageTransformParameterivHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetImageTransformParameterfvHP = load.invoke("glGetImageTransformParameterfvHP", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glGetImageTransformParameterfvHP(int target, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetImageTransformParameterfvHP).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetImageTransformParameterfvHP(SegmentAllocator allocator, int target, int pname, float[] params) { - var seg = allocator.allocateArray(ValueLayout.JAVA_FLOAT, params.length); - glGetImageTransformParameterfvHP(target, pname, seg); - RuntimeHelper.toArray(seg, params); - } - - public static void glGetImageTransformParameterivHP(int target, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glImageTransformParameteriHP(int target, int pname, int param) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetImageTransformParameterivHP).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetImageTransformParameterivHP(SegmentAllocator allocator, int target, int pname, int[] params) { - var seg = allocator.allocateArray(ValueLayout.JAVA_INT, params.length); - glGetImageTransformParameterivHP(target, pname, seg); - RuntimeHelper.toArray(seg, params); + check(ext.glImageTransformParameteriHP).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glImageTransformParameterfHP(int target, int pname, float param) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glImageTransformParameterfHP).invokeExact(target, pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glImageTransformParameterfHP).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glImageTransformParameterfvHP(int target, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glImageTransformParameterivHP(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glImageTransformParameterfvHP).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glImageTransformParameterivHP).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glImageTransformParameterfvHP(SegmentAllocator allocator, int target, int pname, float[] params) { - glImageTransformParameterfvHP(target, pname, allocator.allocateArray(ValueLayout.JAVA_FLOAT, params)); + public static void glImageTransformParameterfvHP(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glImageTransformParameterfvHP).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glImageTransformParameteriHP(int target, int pname, int param) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetImageTransformParameterivHP(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glImageTransformParameteriHP).invokeExact(target, pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetImageTransformParameterivHP).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glImageTransformParameterivHP(int target, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetImageTransformParameterfvHP(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glImageTransformParameterivHP).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetImageTransformParameterfvHP).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glImageTransformParameterivHP(SegmentAllocator allocator, int target, int pname, int[] params) { - glImageTransformParameterivHP(target, pname, allocator.allocateArray(ValueLayout.JAVA_INT, params)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java new file mode 100644 index 00000000..e8a982a0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_HP_occlusion_test} + */ +public final class GLHPOcclusionTest { + public static final int GL_OCCLUSION_TEST_HP = 0x8165; + public static final int GL_OCCLUSION_TEST_RESULT_HP = 0x8166; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java new file mode 100644 index 00000000..6ab52e78 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_HP_texture_lighting} + */ +public final class GLHPTextureLighting { + public static final int GL_TEXTURE_LIGHTING_MODE_HP = 0x8167; + public static final int GL_TEXTURE_POST_SPECULAR_HP = 0x8168; + public static final int GL_TEXTURE_PRE_SPECULAR_HP = 0x8169; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMMultimodeDrawArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMMultimodeDrawArrays.java deleted file mode 100644 index 6ae2ff08..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMMultimodeDrawArrays.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.*; - -/** - * {@code GL_IBM_multimode_draw_arrays} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLIBMMultimodeDrawArrays { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_IBM_multimode_draw_arrays) return; - ext.glMultiModeDrawArraysIBM = load.invoke("glMultiModeDrawArraysIBM", FunctionDescriptors.PPPIIV); - ext.glMultiModeDrawElementsIBM = load.invoke("glMultiModeDrawElementsIBM", FunctionDescriptors.PPIPIIV); - } - - public static void glMultiModeDrawArraysIBM(MemorySegment mode, MemorySegment first, MemorySegment count, int primCount, int modeStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glMultiModeDrawArraysIBM).invokeExact(mode, first, count, primCount, modeStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glMultiModeDrawArraysIBM(SegmentAllocator allocator, int[] mode, int[] first, int[] count, int primCount, int modeStride) { - glMultiModeDrawArraysIBM(allocator.allocateArray(JAVA_INT, mode), allocator.allocateArray(JAVA_INT, first), allocator.allocateArray(JAVA_INT, count), primCount, modeStride); - } - - public static void glMultiModeDrawElementsIBM(MemorySegment mode, MemorySegment count, int type, MemorySegment indices, int primCount, int modeStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glMultiModeDrawElementsIBM).invokeExact(mode, count, type, indices, primCount, modeStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glMultiModeDrawElementsIBM(SegmentAllocator allocator, int[] mode, int[] count, int type, byte[] indices, int primCount, int modeStride) { - glMultiModeDrawElementsIBM(allocator.allocateArray(JAVA_INT, mode), allocator.allocateArray(JAVA_INT, count), type, allocator.allocateArray(JAVA_BYTE, indices), primCount, modeStride); - } - - public static void glMultiModeDrawElementsIBM(SegmentAllocator allocator, int[] mode, int[] count, int type, short[] indices, int primCount, int modeStride) { - glMultiModeDrawElementsIBM(allocator.allocateArray(JAVA_INT, mode), allocator.allocateArray(JAVA_INT, count), type, allocator.allocateArray(JAVA_SHORT, indices), primCount, modeStride); - } - - public static void glMultiModeDrawElementsIBM(SegmentAllocator allocator, int[] mode, int[] count, int type, int[] indices, int primCount, int modeStride) { - glMultiModeDrawElementsIBM(allocator.allocateArray(JAVA_INT, mode), allocator.allocateArray(JAVA_INT, count), type, allocator.allocateArray(JAVA_INT, indices), primCount, modeStride); - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMVertexArrayLists.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMVertexArrayLists.java deleted file mode 100644 index ea37755b..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMVertexArrayLists.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; - -/** - * {@code GL_IBM_vertex_array_lists} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLIBMVertexArrayLists { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_IBM_vertex_array_lists) return; - ext.glColorPointerListIBM = load.invoke("glColorPointerListIBM", IIIPIV); - ext.glEdgeFlagPointerListIBM = load.invoke("glEdgeFlagPointerListIBM", IPIV); - ext.glFogCoordPointerListIBM = load.invoke("glFogCoordPointerListIBM", IIPIV); - ext.glIndexPointerListIBM = load.invoke("glIndexPointerListIBM", IIPIV); - ext.glNormalPointerListIBM = load.invoke("glNormalPointerListIBM", IIPIV); - ext.glSecondaryColorPointerListIBM = load.invoke("glSecondaryColorPointerListIBM", IIIPIV); - ext.glTexCoordPointerListIBM = load.invoke("glTexCoordPointerListIBM", IIIPIV); - ext.glVertexPointerListIBM = load.invoke("glVertexPointerListIBM", IIIPIV); - } - - public static void glColorPointerListIBM(int size, int type, int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glColorPointerListIBM).invokeExact(size, type, stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glEdgeFlagPointerListIBM(int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glEdgeFlagPointerListIBM).invokeExact(stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glFogCoordPointerListIBM(int type, int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glFogCoordPointerListIBM).invokeExact(type, stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glIndexPointerListIBM(int type, int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glIndexPointerListIBM).invokeExact(type, stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glNormalPointerListIBM(int type, int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glNormalPointerListIBM).invokeExact(type, stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glSecondaryColorPointerListIBM(int size, int type, int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glSecondaryColorPointerListIBM).invokeExact(size, type, stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glTexCoordPointerListIBM(int size, int type, int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glTexCoordPointerListIBM).invokeExact(size, type, stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glVertexPointerListIBM(int size, int type, int stride, MemorySegment pointer, int ptrStride) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glVertexPointerListIBM).invokeExact(size, type, stride, pointer, ptrStride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java index 2c3c9d64..222c25ae 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java @@ -14,31 +14,30 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INGR_blend_func_separate} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_INGR_blend_func_separate} + */ public final class GLINGRBlendFuncSeparate { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_INGR_blend_func_separate) return; - ext.glBlendFuncSeparateINGR = load.invoke("glBlendFuncSeparateINGR", FunctionDescriptors.IIIIV); + ext.glBlendFuncSeparateINGR = load.invoke("glBlendFuncSeparateINGR", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } - public static void glBlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfacctorAlpha) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendFuncSeparateINGR).invokeExact(sfactorRGB, dfactorRGB, sfactorAlpha, dfacctorAlpha); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendFuncSeparateINGR).invokeExact(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java new file mode 100644 index 00000000..0fbc4532 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java @@ -0,0 +1,39 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_INGR_color_clamp} + */ +public final class GLINGRColorClamp { + public static final int GL_RED_MIN_CLAMP_INGR = 0x8560; + public static final int GL_GREEN_MIN_CLAMP_INGR = 0x8561; + public static final int GL_BLUE_MIN_CLAMP_INGR = 0x8562; + public static final int GL_ALPHA_MIN_CLAMP_INGR = 0x8563; + public static final int GL_RED_MAX_CLAMP_INGR = 0x8564; + public static final int GL_GREEN_MAX_CLAMP_INGR = 0x8565; + public static final int GL_BLUE_MAX_CLAMP_INGR = 0x8566; + public static final int GL_ALPHA_MAX_CLAMP_INGR = 0x8567; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java new file mode 100644 index 00000000..2b92b2da --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_INGR_interlace_read} + */ +public final class GLINGRInterlaceRead { + public static final int GL_INTERLACE_READ_INGR = 0x8568; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELMapTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELMapTexture.java deleted file mode 100644 index f7f154e9..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELMapTexture.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; -import java.lang.foreign.ValueLayout; - -import static overrungl.FunctionDescriptors.*; - -/** - * {@code GL_INTEL_map_texture} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLINTELMapTexture { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INTEL_map_texture) return; - ext.glMapTexture2DINTEL = load.invoke("glMapTexture2DINTEL", IIIPPP); - ext.glSyncTextureINTEL = load.invoke("glSyncTextureINTEL", IV); - ext.glUnmapTexture2DINTEL = load.invoke("glUnmapTexture2DINTEL", IIV); - } - - public static MemorySegment glMapTexture2DINTEL(int texture, int level, int access, MemorySegment stride, MemorySegment layout) { - var ext = GLLoader.getExtCapabilities(); - try { - return (MemorySegment) GLLoader.check(ext.glMapTexture2DINTEL).invokeExact(texture, level, access, stride, layout); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static MemorySegment glMapTexture2DINTEL(SegmentAllocator allocator, int texture, int level, int access, int[] stride, int[] layout) { - var pStride = allocator.allocate(ValueLayout.JAVA_INT); - var pLayout = allocator.allocate(ValueLayout.JAVA_INT); - var result = glMapTexture2DINTEL(texture, level, access, pStride, pLayout); - stride[0] = pStride.get(ValueLayout.JAVA_INT, 0); - layout[0] = pLayout.get(ValueLayout.JAVA_INT, 0); - return result; - } - - public static void glSyncTextureINTEL(int texture) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glSyncTextureINTEL).invokeExact(texture); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUnmapTexture2DINTEL(int texture, int level) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUnmapTexture2DINTEL).invokeExact(texture, level); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELParallelArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELParallelArrays.java deleted file mode 100644 index 83ab3ee0..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELParallelArrays.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.IIPV; -import static overrungl.FunctionDescriptors.IV; - -/** - * {@code GL_INTEL_parallel_arrays} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLINTELParallelArrays { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INTEL_parallel_arrays) return; - ext.glColorPointervINTEL = load.invoke("glColorPointervINTEL", IIPV); - ext.glNormalPointervINTEL = load.invoke("glNormalPointervINTEL", IV); - ext.glTexCoordPointervINTEL = load.invoke("glTexCoordPointervINTEL", IIPV); - ext.glVertexPointervINTEL = load.invoke("glVertexPointervINTEL", IIPV); - } - - public static void glColorPointervINTEL(int size, int type, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glColorPointervINTEL).invokeExact(size, type, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glNormalPointervINTEL(int type, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glNormalPointervINTEL).invokeExact(type, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glTexCoordPointervINTEL(int size, int type, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glTexCoordPointervINTEL).invokeExact(size, type, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glVertexPointervINTEL(int size, int type, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glVertexPointervINTEL).invokeExact(size, type, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java deleted file mode 100644 index dc31ffcc..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.util.MemoryStack; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.*; -import static overrungl.FunctionDescriptors.*; - -/** - * {@code GL_INTEL_performance_query} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLINTELPerformanceQuery { - public static final int GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; - public static final int GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; - public static final int GL_PERFQUERY_WAIT_INTEL = 0x83FB; - public static final int GL_PERFQUERY_FLUSH_INTEL = 0x83FA; - public static final int GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; - public static final int GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; - public static final int GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; - public static final int GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; - public static final int GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; - public static final int GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; - public static final int GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; - public static final int GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; - public static final int GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; - public static final int GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; - public static final int GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; - public static final int GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; - public static final int GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; - public static final int GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; - public static final int GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; - public static final int GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; - - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_INTEL_performance_query) return; - ext.glBeginPerfQueryINTEL = load.invoke("glBeginPerfQueryINTEL", IV); - ext.glCreatePerfQueryINTEL = load.invoke("glCreatePerfQueryINTEL", IPV); - ext.glDeletePerfQueryINTEL = load.invoke("glDeletePerfQueryINTEL", IV); - ext.glEndPerfQueryINTEL = load.invoke("glEndPerfQueryINTEL", IV); - ext.glGetFirstPerfQueryIdINTEL = load.invoke("glGetFirstPerfQueryIdINTEL", PV); - ext.glGetNextPerfQueryIdINTEL = load.invoke("glGetNextPerfQueryIdINTEL", IPV); - ext.glGetPerfCounterInfoINTEL = load.invoke("glGetPerfCounterInfoINTEL", IIIPIPPPPPPV); - ext.glGetPerfQueryDataINTEL = load.invoke("glGetPerfQueryDataINTEL", IIIPPV); - ext.glGetPerfQueryIdByNameINTEL = load.invoke("glGetPerfQueryIdByNameINTEL", PPV); - ext.glGetPerfQueryInfoINTEL = load.invoke("glGetPerfQueryInfoINTEL", IIPPPPPV); - } - - public static void glBeginPerfQueryINTEL(int queryHandle) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glBeginPerfQueryINTEL).invokeExact(queryHandle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glCreatePerfQueryINTEL(int queryId, MemorySegment queryHandle) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glCreatePerfQueryINTEL).invokeExact(queryId, queryHandle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static int glCreatePerfQueryINTEL(int queryId) { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); - try { - var seg = stack.callocInt(); - glCreatePerfQueryINTEL(queryId, seg); - return seg.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } - } - - public static void glDeletePerfQueryINTEL(int queryHandle) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glDeletePerfQueryINTEL).invokeExact(queryHandle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glEndPerfQueryINTEL(int queryHandle) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glEndPerfQueryINTEL).invokeExact(queryHandle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetFirstPerfQueryIdINTEL(MemorySegment queryId) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetFirstPerfQueryIdINTEL).invokeExact(queryId); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static int glGetFirstPerfQueryIdINTEL() { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); - try { - var seg = stack.callocInt(); - glGetFirstPerfQueryIdINTEL(seg); - return seg.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } - } - - public static void glGetNextPerfQueryIdINTEL(int queryId, MemorySegment nextQueryId) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetNextPerfQueryIdINTEL).invokeExact(queryId, nextQueryId); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static int glGetNextPerfQueryIdINTEL(int queryId) { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); - try { - var seg = stack.callocInt(); - glGetNextPerfQueryIdINTEL(queryId, seg); - return seg.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } - } - - public static void glGetPerfCounterInfoINTEL(int queryId, int counterId, - int counterNameLength, MemorySegment counterName, - int counterDescLength, MemorySegment counterDesc, - MemorySegment counterOffset, MemorySegment counterDataSize, MemorySegment counterTypeEnum, - MemorySegment counterDataTypeEnum, MemorySegment rawCounterMaxValue) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetPerfCounterInfoINTEL).invokeExact(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetPerfCounterInfoINTEL(SegmentAllocator allocator, - int queryId, int counterId, - int counterNameLength, String[] counterName, - int counterDescLength, String[] counterDesc, - int[] counterOffset, int[] counterDataSize, int[] counterTypeEnum, - int[] counterDataTypeEnum, long[] rawCounterMaxValue) { - var pn = allocator.allocateArray(JAVA_BYTE, counterNameLength); - var pd = allocator.allocateArray(JAVA_BYTE, counterDescLength); - var po = allocator.allocate(JAVA_INT); - var ps = allocator.allocate(JAVA_INT); - var pte = allocator.allocate(JAVA_INT); - var pdte = allocator.allocate(JAVA_INT); - var pv = allocator.allocate(JAVA_LONG); - glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, pn, counterDescLength, pd, po, ps, pte, pdte, pv); - counterName[0] = pn.getUtf8String(0); - counterDesc[0] = pd.getUtf8String(0); - counterOffset[0] = po.get(JAVA_INT, 0); - counterDataSize[0] = ps.get(JAVA_INT, 0); - counterTypeEnum[0] = pte.get(JAVA_INT, 0); - counterDataTypeEnum[0] = pdte.get(JAVA_INT, 0); - rawCounterMaxValue[0] = pv.get(JAVA_LONG, 0); - } - - public static void glGetPerfQueryDataINTEL(int queryHandle, int flags, int dataSize, MemorySegment data, MemorySegment bytesWritten) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetPerfQueryDataINTEL).invokeExact(queryHandle, flags, dataSize, data, bytesWritten); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetPerfQueryDataINTEL(SegmentAllocator allocator, int queryHandle, int flags, int dataSize, MemorySegment data, int[] bytesWritten) { - var seg = allocator.allocate(JAVA_INT); - glGetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, seg); - bytesWritten[0] = seg.get(JAVA_INT, 0); - } - - public static void glGetPerfQueryIdByNameINTEL(MemorySegment queryName, MemorySegment queryId) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetPerfQueryIdByNameINTEL).invokeExact(queryName, queryId); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static int glGetPerfQueryIdByNameINTEL(SegmentAllocator allocator, String queryName) { - var seg = allocator.allocate(JAVA_INT); - glGetPerfQueryIdByNameINTEL(allocator.allocateUtf8String(queryName), seg); - return seg.get(JAVA_INT, 0); - } - - public static void glGetPerfQueryInfoINTEL(int queryId, int queryNameLength, MemorySegment queryName, MemorySegment dataSize, MemorySegment noCounters, MemorySegment noInstances, MemorySegment capsMask) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetPerfQueryInfoINTEL).invokeExact(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetPerfQueryInfoINTEL(SegmentAllocator allocator, int queryId, int queryNameLength, String[] queryName, int[] dataSize, int[] noCounters, int[] noInstances, int[] capsMask) { - var pn = allocator.allocateArray(JAVA_BYTE, queryNameLength); - var ps = allocator.allocate(JAVA_INT); - var pc = allocator.allocate(JAVA_INT); - var pi = allocator.allocate(JAVA_INT); - var pm = allocator.allocate(JAVA_INT); - glGetPerfQueryInfoINTEL(queryId, queryNameLength, pn, ps, pc, pi, pm); - queryName[0] = pn.getUtf8String(0); - dataSize[0] = ps.get(JAVA_INT, 0); - noCounters[0] = pc.get(JAVA_INT, 0); - noInstances[0] = pi.get(JAVA_INT, 0); - capsMask[0] = pm.get(JAVA_INT, 0); - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAFramebufferFlipY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAFramebufferFlipY.java deleted file mode 100644 index 429b3dab..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAFramebufferFlipY.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; -import overrungl.internal.RuntimeHelper; -import overrungl.util.MemoryStack; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; -import java.lang.foreign.ValueLayout; - -/** - * {@code GL_MESA_framebuffer_flip_y} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLMESAFramebufferFlipY { - public static final int GL_FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; - public static final int GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; - public static final int GL_FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; - - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_MESA_framebuffer_flip_y) return; - ext.glFramebufferParameteriMESA = load.invoke("glFramebufferParameteriMESA", FunctionDescriptors.IIIV); - ext.glGetFramebufferParameterivMESA = load.invoke("glGetFramebufferParameterivMESA", FunctionDescriptors.IIPV); - } - - public static void glFramebufferParameteriMESA(int target, int pname, int param) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glFramebufferParameteriMESA).invokeExact(target, pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetFramebufferParameterivMESA(int target, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetFramebufferParameterivMESA).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetFramebufferParameterivMESA(SegmentAllocator allocator, int target, int pname, int[] params) { - var seg = allocator.allocateArray(ValueLayout.JAVA_INT, params.length); - glGetFramebufferParameterivMESA(target, pname, seg); - RuntimeHelper.toArray(seg, params); - } - - public static int glGetFramebufferParameteriMESA(int target, int pname) { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); - try { - var seg = stack.callocInt(); - glGetFramebufferParameterivMESA(target, pname, seg); - return seg.get(ValueLayout.JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAWindowPos.java deleted file mode 100644 index 346251b2..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAWindowPos.java +++ /dev/null @@ -1,327 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.*; -import static overrungl.FunctionDescriptors.*; - -/** - * {@code GL_MESA_window_pos} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLMESAWindowPos { - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_MESA_window_pos) return; - ext.glWindowPos2dMESA = load.invoke("glWindowPos2dMESA", DDV); - ext.glWindowPos2dvMESA = load.invoke("glWindowPos2dvMESA", PV); - ext.glWindowPos2fMESA = load.invoke("glWindowPos2fMESA", FFV); - ext.glWindowPos2fvMESA = load.invoke("glWindowPos2fvMESA", PV); - ext.glWindowPos2iMESA = load.invoke("glWindowPos2iMESA", IIV); - ext.glWindowPos2ivMESA = load.invoke("glWindowPos2ivMESA", PV); - ext.glWindowPos2sMESA = load.invoke("glWindowPos2sMESA", SSV); - ext.glWindowPos2svMESA = load.invoke("glWindowPos2svMESA", PV); - ext.glWindowPos3dMESA = load.invoke("glWindowPos3dMESA", DDDV); - ext.glWindowPos3dvMESA = load.invoke("glWindowPos3dvMESA", PV); - ext.glWindowPos3fMESA = load.invoke("glWindowPos3fMESA", FFFV); - ext.glWindowPos3fvMESA = load.invoke("glWindowPos3fvMESA", PV); - ext.glWindowPos3iMESA = load.invoke("glWindowPos3iMESA", IIIV); - ext.glWindowPos3ivMESA = load.invoke("glWindowPos3ivMESA", PV); - ext.glWindowPos3sMESA = load.invoke("glWindowPos3sMESA", SSSV); - ext.glWindowPos3svMESA = load.invoke("glWindowPos3svMESA", PV); - ext.glWindowPos4dMESA = load.invoke("glWindowPos4dMESA", DDDDV); - ext.glWindowPos4dvMESA = load.invoke("glWindowPos4dvMESA", PV); - ext.glWindowPos4fMESA = load.invoke("glWindowPos4fMESA", FFFFV); - ext.glWindowPos4fvMESA = load.invoke("glWindowPos4fvMESA", PV); - ext.glWindowPos4iMESA = load.invoke("glWindowPos4iMESA", IIIIV); - ext.glWindowPos4ivMESA = load.invoke("glWindowPos4ivMESA", PV); - ext.glWindowPos4sMESA = load.invoke("glWindowPos4sMESA", SSSSV); - ext.glWindowPos4svMESA = load.invoke("glWindowPos4svMESA", PV); - } - - public static void glWindowPos2dMESA(double x, double y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2dMESA).invokeExact(x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2dvMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2dvMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2dvMESA(SegmentAllocator allocator, double[] value) { - glWindowPos2dvMESA(allocator.allocateArray(JAVA_DOUBLE, value)); - } - - public static void glWindowPos2fMESA(float x, float y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2fMESA).invokeExact(x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2fvMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2fvMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2fvMESA(SegmentAllocator allocator, float[] value) { - glWindowPos2fvMESA(allocator.allocateArray(JAVA_FLOAT, value)); - } - - public static void glWindowPos2iMESA(int x, int y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2iMESA).invokeExact(x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2ivMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2ivMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2ivMESA(SegmentAllocator allocator, int[] value) { - glWindowPos2ivMESA(allocator.allocateArray(JAVA_INT, value)); - } - - public static void glWindowPos2sMESA(short x, short y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2sMESA).invokeExact(x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2svMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos2svMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos2svMESA(SegmentAllocator allocator, short[] value) { - glWindowPos2svMESA(allocator.allocateArray(JAVA_SHORT, value)); - } - - public static void glWindowPos3dMESA(double x, double y, double z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3dMESA).invokeExact(x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3dvMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3dvMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3dvMESA(SegmentAllocator allocator, double[] value) { - glWindowPos3dvMESA(allocator.allocateArray(JAVA_DOUBLE, value)); - } - - public static void glWindowPos3fMESA(float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3fMESA).invokeExact(x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3fvMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3fvMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3fvMESA(SegmentAllocator allocator, float[] value) { - glWindowPos3fvMESA(allocator.allocateArray(JAVA_FLOAT, value)); - } - - public static void glWindowPos3iMESA(int x, int y, int z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3iMESA).invokeExact(x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3ivMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3ivMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3ivMESA(SegmentAllocator allocator, int[] value) { - glWindowPos3ivMESA(allocator.allocateArray(JAVA_INT, value)); - } - - public static void glWindowPos3sMESA(short x, short y, short z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3sMESA).invokeExact(x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3svMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos3svMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos3svMESA(SegmentAllocator allocator, short[] value) { - glWindowPos3svMESA(allocator.allocateArray(JAVA_SHORT, value)); - } - - public static void glWindowPos4dMESA(double x, double y, double z, double w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4dMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4dvMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4dvMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4dvMESA(SegmentAllocator allocator, double[] value) { - glWindowPos4dvMESA(allocator.allocateArray(JAVA_DOUBLE, value)); - } - - public static void glWindowPos4fMESA(float x, float y, float z, float w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4fMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4fvMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4fvMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4fvMESA(SegmentAllocator allocator, float[] value) { - glWindowPos4fvMESA(allocator.allocateArray(JAVA_FLOAT, value)); - } - - public static void glWindowPos4iMESA(int x, int y, int z, int w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4iMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4ivMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4ivMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4ivMESA(SegmentAllocator allocator, int[] value) { - glWindowPos4ivMESA(allocator.allocateArray(JAVA_INT, value)); - } - - public static void glWindowPos4sMESA(short x, short y, short z, short w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4sMESA).invokeExact(x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4svMESA(MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glWindowPos4svMESA).invokeExact(v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glWindowPos4svMESA(SegmentAllocator allocator, short[] value) { - glWindowPos4svMESA(allocator.allocateArray(JAVA_SHORT, value)); - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java index 8ac4d769..7038938a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java @@ -14,36 +14,34 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OVR_multiview} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_OVR_multiview} + */ public final class GLOVRMultiview { public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; public static final int GL_MAX_VIEWS_OVR = 0x9631; public static final int GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_OVR_multiview) return; - ext.glFramebufferTextureMultiviewOVR = load.invoke("glFramebufferTextureMultiviewOVR", FunctionDescriptors.IIIIIIV); + ext.glFramebufferTextureMultiviewOVR = load.invoke("glFramebufferTextureMultiviewOVR", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } public static void glFramebufferTextureMultiviewOVR(int target, int attachment, int texture, int level, int baseViewIndex, int numViews) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFramebufferTextureMultiviewOVR).invokeExact(target, attachment, texture, level, baseViewIndex, numViews); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFramebufferTextureMultiviewOVR).invokeExact(target, attachment, texture, level, baseViewIndex, numViews); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java index c1a8ca8a..ec40e58d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java @@ -14,31 +14,50 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_PGI_misc_hints} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_PGI_misc_hints} + */ public final class GLPGIMiscHints { + public static final int GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; + public static final int GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; + public static final int GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; + public static final int GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; + public static final int GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; + public static final int GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; + public static final int GL_ALWAYS_FAST_HINT_PGI = 0x1A20C; + public static final int GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D; + public static final int GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; + public static final int GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; + public static final int GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; + public static final int GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; + public static final int GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; + public static final int GL_STRICT_LIGHTING_HINT_PGI = 0x1A217; + public static final int GL_STRICT_SCISSOR_HINT_PGI = 0x1A218; + public static final int GL_FULL_STIPPLE_HINT_PGI = 0x1A219; + public static final int GL_CLIP_NEAR_HINT_PGI = 0x1A220; + public static final int GL_CLIP_FAR_HINT_PGI = 0x1A221; + public static final int GL_WIDE_LINE_HINT_PGI = 0x1A222; + public static final int GL_BACK_NORMALS_HINT_PGI = 0x1A223; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_PGI_misc_hints) return; - ext.glHintPGI = load.invoke("glHintPGI", FunctionDescriptors.IIV); + ext.glHintPGI = load.invoke("glHintPGI", ofVoid(JAVA_INT, JAVA_INT)); } public static void glHintPGI(int target, int mode) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glHintPGI).invokeExact(target, mode); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glHintPGI).invokeExact(target, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java new file mode 100644 index 00000000..56357b45 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_PGI_vertex_hints} + */ +public final class GLPGIVertexHints { + public static final int GL_VERTEX_DATA_HINT_PGI = 0x1A22A; + public static final int GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; + public static final int GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C; + public static final int GL_MAX_VERTEX_HINT_PGI = 0x1A22D; + public static final int GL_COLOR3_BIT_PGI = 0x00010000; + public static final int GL_COLOR4_BIT_PGI = 0x00020000; + public static final int GL_EDGEFLAG_BIT_PGI = 0x00040000; + public static final int GL_INDEX_BIT_PGI = 0x00080000; + public static final int GL_MAT_AMBIENT_BIT_PGI = 0x00100000; + public static final int GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; + public static final int GL_MAT_DIFFUSE_BIT_PGI = 0x00400000; + public static final int GL_MAT_EMISSION_BIT_PGI = 0x00800000; + public static final int GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; + public static final int GL_MAT_SHININESS_BIT_PGI = 0x02000000; + public static final int GL_MAT_SPECULAR_BIT_PGI = 0x04000000; + public static final int GL_NORMAL_BIT_PGI = 0x08000000; + public static final int GL_TEXCOORD1_BIT_PGI = 0x10000000; + public static final int GL_TEXCOORD2_BIT_PGI = 0x20000000; + public static final int GL_TEXCOORD3_BIT_PGI = 0x40000000; + public static final int GL_TEXCOORD4_BIT_PGI = 0x80000000; + public static final int GL_VERTEX23_BIT_PGI = 0x00000004; + public static final int GL_VERTEX4_BIT_PGI = 0x00000008; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java new file mode 100644 index 00000000..69ba14a6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_WIN_phong_shading} + */ +public final class GLWINPhongShading { + public static final int GL_PHONG_WIN = 0x80EA; + public static final int GL_PHONG_HINT_WIN = 0x80EB; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java new file mode 100644 index 00000000..936e4105 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_WIN_specular_fog} + */ +public final class GLWINSpecularFog { + public static final int GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java new file mode 100644 index 00000000..280f71bc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.amd; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_AMD_blend_minmax_factor} + */ +public final class GLAMDBlendMinmaxFactor { + public static final int GL_FACTOR_MIN_AMD = 0x901C; + public static final int GL_FACTOR_MAX_AMD = 0x901D; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java index 713e4424..8fecbb27 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java @@ -14,27 +14,19 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.internal.RuntimeHelper; - -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_BYTE; -import static java.lang.foreign.ValueLayout.JAVA_INT; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_debug_output} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_debug_output} + */ public final class GLAMDDebugOutput { public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; @@ -50,79 +42,45 @@ public final class GLAMDDebugOutput { public static final int GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E; public static final int GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F; public static final int GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_debug_output) return; - ext.glDebugMessageCallbackAMD = load.invoke("glDebugMessageCallbackAMD", PPV); - ext.glDebugMessageEnableAMD = load.invoke("glDebugMessageEnableAMD", IIIPZV); - ext.glDebugMessageInsertAMD = load.invoke("glDebugMessageInsertAMD", IIIIPV); - ext.glGetDebugMessageLogAMD = load.invoke("glGetDebugMessageLogAMD", IIPPPPPI); + ext.glDebugMessageEnableAMD = load.invoke("glDebugMessageEnableAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_BYTE)); + ext.glDebugMessageInsertAMD = load.invoke("glDebugMessageInsertAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDebugMessageCallbackAMD = load.invoke("glDebugMessageCallbackAMD", ofVoid(ADDRESS, ADDRESS)); + ext.glGetDebugMessageLogAMD = load.invoke("glGetDebugMessageLogAMD", of(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); } - public static void glDebugMessageCallbackAMD(MemorySegment callback, MemorySegment userParam) { - var ext = GLLoader.getExtCapabilities(); + public static void glDebugMessageEnableAMD(int category, int severity, int count, @NativeType("const GLuint *") MemorySegment ids, boolean enabled) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDebugMessageCallbackAMD).invokeExact(callback, userParam); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDebugMessageCallbackAMD(Arena arena, GLDebugProcAMD callback, MemorySegment userParam) { - glDebugMessageCallbackAMD(callback.address(arena), userParam); + check(ext.glDebugMessageEnableAMD).invokeExact(category, severity, count, ids, enabled); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDebugMessageEnableAMD(int category, int severity, int count, MemorySegment ids, boolean enabled) { - var ext = GLLoader.getExtCapabilities(); + public static void glDebugMessageInsertAMD(int category, int severity, int id, int length, @NativeType("const GLchar *") MemorySegment buf) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDebugMessageEnableAMD).invokeExact(category, severity, count, ids, enabled); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDebugMessageEnableAMD(SegmentAllocator allocator, int category, int severity, int[] ids, boolean enabled) { - glDebugMessageEnableAMD(category, severity, ids.length, allocator.allocateArray(JAVA_INT, ids), enabled); + check(ext.glDebugMessageInsertAMD).invokeExact(category, severity, id, length, buf); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDebugMessageInsertAMD(int category, int severity, int id, int length, MemorySegment buf) { - var ext = GLLoader.getExtCapabilities(); + public static void glDebugMessageCallbackAMD(@NativeType("GLDEBUGPROCAMD") MemorySegment callback, @NativeType("void *") MemorySegment userParam) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDebugMessageInsertAMD).invokeExact(category, severity, id, length, buf); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDebugMessageCallbackAMD).invokeExact(callback, userParam); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDebugMessageInsertAMD(SegmentAllocator allocator, int category, int severity, int id, String buf) { - glDebugMessageInsertAMD(category, severity, id, 0, allocator.allocateUtf8String(buf)); + public static void glDebugMessageCallbackAMD(Arena arena, GLDebugProcAMD callback, @NativeType("void *") MemorySegment userParam) { + glDebugMessageCallbackAMD(callback.address(arena), userParam); } - public static int glGetDebugMessageLogAMD(int count, int bufSize, MemorySegment categories, MemorySegment severities, MemorySegment ids, MemorySegment lengths, MemorySegment message) { - var ext = GLLoader.getExtCapabilities(); + public static int glGetDebugMessageLogAMD(int count, int bufSize, @NativeType("GLenum *") MemorySegment categories, @NativeType("GLenum *") MemorySegment severities, @NativeType("GLuint *") MemorySegment ids, @NativeType("GLsizei *") MemorySegment lengths, @NativeType("GLchar *") MemorySegment message) { + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glGetDebugMessageLogAMD).invokeExact(count, bufSize, categories, severities, ids, lengths, message); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glGetDebugMessageLogAMD).invokeExact(count, bufSize, categories, severities, ids, lengths, message); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static int glGetDebugMessageLogAMD(int count, MemorySegment categories, MemorySegment severities, MemorySegment ids, MemorySegment lengths, MemorySegment messageLog) { - return glGetDebugMessageLogAMD(count, (int) messageLog.byteSize(), categories, severities, ids, lengths, messageLog); - } - - public static int glGetDebugMessageLogAMD(SegmentAllocator allocator, int count, int bufSize, int[] categories, int[] severities, int[] ids, int[] lengths, String[] messageLog) { - var pCgr = allocator.allocateArray(JAVA_INT, categories.length); - var pSvr = allocator.allocateArray(JAVA_INT, severities.length); - var pIds = allocator.allocateArray(JAVA_INT, ids.length); - var pLen = allocator.allocateArray(JAVA_INT, lengths.length); - var pLog = allocator.allocateArray(JAVA_BYTE, bufSize); - int num = glGetDebugMessageLogAMD(count, bufSize, pCgr, pSvr, pIds, pLen, pLog); - RuntimeHelper.toArray(pCgr, categories); - RuntimeHelper.toArray(pSvr, severities); - RuntimeHelper.toArray(pIds, ids); - RuntimeHelper.toArray(pLen, lengths); - messageLog[0] = pLog.getUtf8String(0); - return num; - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java new file mode 100644 index 00000000..695f6efc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.amd; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_AMD_depth_clamp_separate} + */ +public final class GLAMDDepthClampSeparate { + public static final int GL_DEPTH_CLAMP_NEAR_AMD = 0x901E; + public static final int GL_DEPTH_CLAMP_FAR_AMD = 0x901F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java index 64035c5c..33a745b4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java @@ -14,62 +14,54 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_draw_buffers_blend} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_draw_buffers_blend} + */ public final class GLAMDDrawBuffersBlend { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_draw_buffers_blend) return; - ext.glBlendEquationIndexedAMD = load.invoke("glBlendEquationIndexedAMD", IIV); - ext.glBlendEquationSeparateIndexedAMD = load.invoke("glBlendEquationSeparateIndexedAMD", IIIV); - ext.glBlendFuncIndexedAMD = load.invoke("glBlendFuncIndexedAMD", IIIV); - ext.glBlendFuncSeparateIndexedAMD = load.invoke("glBlendFuncSeparateIndexedAMD", IIIIIV); + ext.glBlendFuncIndexedAMD = load.invoke("glBlendFuncIndexedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBlendFuncSeparateIndexedAMD = load.invoke("glBlendFuncSeparateIndexedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBlendEquationIndexedAMD = load.invoke("glBlendEquationIndexedAMD", ofVoid(JAVA_INT, JAVA_INT)); + ext.glBlendEquationSeparateIndexedAMD = load.invoke("glBlendEquationSeparateIndexedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); } - public static void glBlendEquationIndexedAMD(int buf, int mode) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendFuncIndexedAMD(int buf, int src, int dst) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendEquationIndexedAMD).invokeExact(buf, mode); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendFuncIndexedAMD).invokeExact(buf, src, dst); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glBlendEquationSeparateIndexedAMD(int buf, int modeRGB, int modeAlpha) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendFuncSeparateIndexedAMD(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendEquationSeparateIndexedAMD).invokeExact(buf, modeRGB, modeAlpha); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendFuncSeparateIndexedAMD).invokeExact(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glBlendFuncIndexedAMD(int buf, int src, int dst) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendEquationIndexedAMD(int buf, int mode) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendFuncIndexedAMD).invokeExact(buf, src, dst); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendEquationIndexedAMD).invokeExact(buf, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glBlendFuncSeparateIndexedAMD(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendEquationSeparateIndexedAMD(int buf, int modeRGB, int modeAlpha) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendFuncSeparateIndexedAMD).invokeExact(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendEquationSeparateIndexedAMD).invokeExact(buf, modeRGB, modeAlpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java index 55dc8983..7192f84a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java @@ -14,42 +14,44 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.IIIIIIV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_framebuffer_multisample_advanced} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_framebuffer_multisample_advanced} + */ public final class GLAMDFramebufferMultisampleAdvanced { + public static final int GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; + public static final int GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; + public static final int GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4; + public static final int GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5; + public static final int GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6; + public static final int GL_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_framebuffer_multisample_advanced) return; - ext.glNamedRenderbufferStorageMultisampleAdvancedAMD = load.invoke("glNamedRenderbufferStorageMultisampleAdvancedAMD", IIIIIIV); - ext.glRenderbufferStorageMultisampleAdvancedAMD = load.invoke("glRenderbufferStorageMultisampleAdvancedAMD", IIIIIIV); + ext.glRenderbufferStorageMultisampleAdvancedAMD = load.invoke("glRenderbufferStorageMultisampleAdvancedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedRenderbufferStorageMultisampleAdvancedAMD = load.invoke("glNamedRenderbufferStorageMultisampleAdvancedAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } - public static void glNamedRenderbufferStorageMultisampleAdvancedAMD(int renderbuffer, int samples, int storageSamples, int internalFormat, int width, int height) { - var ext = GLLoader.getExtCapabilities(); + public static void glRenderbufferStorageMultisampleAdvancedAMD(int target, int samples, int storageSamples, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNamedRenderbufferStorageMultisampleAdvancedAMD).invokeExact(renderbuffer, samples, storageSamples, internalFormat, width, height); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glRenderbufferStorageMultisampleAdvancedAMD).invokeExact(target, samples, storageSamples, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glRenderbufferStorageMultisampleAdvancedAMD(int target, int samples, int storageSamples, int internalFormat, int width, int height) { - var ext = GLLoader.getExtCapabilities(); + public static void glNamedRenderbufferStorageMultisampleAdvancedAMD(int renderbuffer, int samples, int storageSamples, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glRenderbufferStorageMultisampleAdvancedAMD).invokeExact(target, samples, storageSamples, internalFormat, width, height); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNamedRenderbufferStorageMultisampleAdvancedAMD).invokeExact(renderbuffer, samples, storageSamples, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java index 60dd9b7a..99b50325 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java @@ -14,88 +14,58 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.internal.RuntimeHelper; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_FLOAT; -import static overrungl.FunctionDescriptors.IIIIIPV; -import static overrungl.FunctionDescriptors.IIIPV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_framebuffer_sample_positions} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_framebuffer_sample_positions} + */ public final class GLAMDFramebufferSamplePositions { + public static final int GL_SUBSAMPLE_DISTANCE_AMD = 0x883F; + public static final int GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; + public static final int GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF; + public static final int GL_ALL_PIXELS_AMD = 0xFFFFFFFF; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_framebuffer_sample_positions) return; - ext.glFramebufferSamplePositionsfvAMD = load.invoke("glFramebufferSamplePositionsfvAMD", IIIPV); - ext.glGetFramebufferParameterfvAMD = load.invoke("glGetFramebufferParameterfvAMD", IIIIIPV); - ext.glGetNamedFramebufferParameterfvAMD = load.invoke("glGetNamedFramebufferParameterfvAMD", IIIIIPV); - ext.glNamedFramebufferSamplePositionsfvAMD = load.invoke("glNamedFramebufferSamplePositionsfvAMD", IIIPV); + ext.glFramebufferSamplePositionsfvAMD = load.invoke("glFramebufferSamplePositionsfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedFramebufferSamplePositionsfvAMD = load.invoke("glNamedFramebufferSamplePositionsfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFramebufferParameterfvAMD = load.invoke("glGetFramebufferParameterfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedFramebufferParameterfvAMD = load.invoke("glGetNamedFramebufferParameterfvAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glFramebufferSamplePositionsfvAMD(int target, int numSamples, int pixelIndex, MemorySegment values) { - var ext = GLLoader.getExtCapabilities(); + public static void glFramebufferSamplePositionsfvAMD(int target, int numsamples, int pixelindex, @NativeType("const GLfloat *") MemorySegment values) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFramebufferSamplePositionsfvAMD).invokeExact(target, numSamples, pixelIndex, values); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glFramebufferSamplePositionsfvAMD(SegmentAllocator allocator, int target, int numSamples, int pixelIndex, float[] values) { - glFramebufferSamplePositionsfvAMD(target, numSamples, pixelIndex, allocator.allocateArray(JAVA_FLOAT, values)); + check(ext.glFramebufferSamplePositionsfvAMD).invokeExact(target, numsamples, pixelindex, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetFramebufferParameterfvAMD(int target, int pname, int numSamples, int pixelIndex, int size, MemorySegment values) { - var ext = GLLoader.getExtCapabilities(); + public static void glNamedFramebufferSamplePositionsfvAMD(int framebuffer, int numsamples, int pixelindex, @NativeType("const GLfloat *") MemorySegment values) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetFramebufferParameterfvAMD).invokeExact(target, pname, numSamples, pixelIndex, size, values); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNamedFramebufferSamplePositionsfvAMD).invokeExact(framebuffer, numsamples, pixelindex, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetFramebufferParameterfvAMD(SegmentAllocator allocator, int target, int pname, int numSamples, int pixelIndex, int size, float[] values) { - var seg = allocator.allocateArray(JAVA_FLOAT, values.length); - glGetFramebufferParameterfvAMD(target, pname, numSamples, pixelIndex, size, seg); - RuntimeHelper.toArray(seg, values); - } - - public static void glGetNamedFramebufferParameterfvAMD(int framebuffer, int pname, int numSamples, int pixelIndex, int size, MemorySegment values) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetFramebufferParameterfvAMD(int target, int pname, int numsamples, int pixelindex, int size, @NativeType("GLfloat *") MemorySegment values) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetNamedFramebufferParameterfvAMD).invokeExact(framebuffer, pname, numSamples, pixelIndex, size, values); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetFramebufferParameterfvAMD).invokeExact(target, pname, numsamples, pixelindex, size, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetNamedFramebufferParameterfvAMD(SegmentAllocator allocator, int framebuffer, int pname, int numSamples, int pixelIndex, int size, float[] values) { - var seg = allocator.allocateArray(JAVA_FLOAT, values.length); - glGetNamedFramebufferParameterfvAMD(framebuffer, pname, numSamples, pixelIndex, size, seg); - RuntimeHelper.toArray(seg, values); - } - - public static void glNamedFramebufferSamplePositionsfvAMD(int target, int numSamples, int pixelIndex, MemorySegment values) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetNamedFramebufferParameterfvAMD(int framebuffer, int pname, int numsamples, int pixelindex, int size, @NativeType("GLfloat *") MemorySegment values) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNamedFramebufferSamplePositionsfvAMD).invokeExact(target, numSamples, pixelIndex, values); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetNamedFramebufferParameterfvAMD).invokeExact(framebuffer, pname, numsamples, pixelindex, size, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glNamedFramebufferSamplePositionsfvAMD(SegmentAllocator allocator, int target, int numSamples, int pixelIndex, float[] values) { - glNamedFramebufferSamplePositionsfvAMD(target, numSamples, pixelIndex, allocator.allocateArray(JAVA_FLOAT, values)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java new file mode 100644 index 00000000..4c48a47a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java @@ -0,0 +1,44 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.amd; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_AMD_gpu_shader_half_float} + */ +public final class GLAMDGpuShaderHalfFloat { + public static final int GL_FLOAT16_NV = 0x8FF8; + public static final int GL_FLOAT16_VEC2_NV = 0x8FF9; + public static final int GL_FLOAT16_VEC3_NV = 0x8FFA; + public static final int GL_FLOAT16_VEC4_NV = 0x8FFB; + public static final int GL_FLOAT16_MAT2_AMD = 0x91C5; + public static final int GL_FLOAT16_MAT3_AMD = 0x91C6; + public static final int GL_FLOAT16_MAT4_AMD = 0x91C7; + public static final int GL_FLOAT16_MAT2x3_AMD = 0x91C8; + public static final int GL_FLOAT16_MAT2x4_AMD = 0x91C9; + public static final int GL_FLOAT16_MAT3x2_AMD = 0x91CA; + public static final int GL_FLOAT16_MAT3x4_AMD = 0x91CB; + public static final int GL_FLOAT16_MAT4x2_AMD = 0x91CC; + public static final int GL_FLOAT16_MAT4x3_AMD = 0x91CD; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java new file mode 100644 index 00000000..a00cebf3 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java @@ -0,0 +1,331 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.amd; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_AMD_gpu_shader_int64} + */ +public final class GLAMDGpuShaderInt64 { + public static final int GL_INT64_NV = 0x140E; + public static final int GL_UNSIGNED_INT64_NV = 0x140F; + public static final int GL_INT8_NV = 0x8FE0; + public static final int GL_INT8_VEC2_NV = 0x8FE1; + public static final int GL_INT8_VEC3_NV = 0x8FE2; + public static final int GL_INT8_VEC4_NV = 0x8FE3; + public static final int GL_INT16_NV = 0x8FE4; + public static final int GL_INT16_VEC2_NV = 0x8FE5; + public static final int GL_INT16_VEC3_NV = 0x8FE6; + public static final int GL_INT16_VEC4_NV = 0x8FE7; + public static final int GL_INT64_VEC2_NV = 0x8FE9; + public static final int GL_INT64_VEC3_NV = 0x8FEA; + public static final int GL_INT64_VEC4_NV = 0x8FEB; + public static final int GL_UNSIGNED_INT8_NV = 0x8FEC; + public static final int GL_UNSIGNED_INT8_VEC2_NV = 0x8FED; + public static final int GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE; + public static final int GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF; + public static final int GL_UNSIGNED_INT16_NV = 0x8FF0; + public static final int GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1; + public static final int GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2; + public static final int GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3; + public static final int GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5; + public static final int GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6; + public static final int GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_AMD_gpu_shader_int64) return; + ext.glUniform1i64NV = load.invoke("glUniform1i64NV", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glUniform2i64NV = load.invoke("glUniform2i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glUniform3i64NV = load.invoke("glUniform3i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform4i64NV = load.invoke("glUniform4i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform1i64vNV = load.invoke("glUniform1i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform2i64vNV = load.invoke("glUniform2i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform3i64vNV = load.invoke("glUniform3i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform4i64vNV = load.invoke("glUniform4i64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform1ui64NV = load.invoke("glUniform1ui64NV", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glUniform2ui64NV = load.invoke("glUniform2ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glUniform3ui64NV = load.invoke("glUniform3ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform4ui64NV = load.invoke("glUniform4ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform1ui64vNV = load.invoke("glUniform1ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform2ui64vNV = load.invoke("glUniform2ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform3ui64vNV = load.invoke("glUniform3ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform4ui64vNV = load.invoke("glUniform4ui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetUniformi64vNV = load.invoke("glGetUniformi64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetUniformui64vNV = load.invoke("glGetUniformui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform1i64NV = load.invoke("glProgramUniform1i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glProgramUniform2i64NV = load.invoke("glProgramUniform2i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform3i64NV = load.invoke("glProgramUniform3i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform4i64NV = load.invoke("glProgramUniform4i64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform1i64vNV = load.invoke("glProgramUniform1i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2i64vNV = load.invoke("glProgramUniform2i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3i64vNV = load.invoke("glProgramUniform3i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4i64vNV = load.invoke("glProgramUniform4i64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform1ui64NV = load.invoke("glProgramUniform1ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glProgramUniform2ui64NV = load.invoke("glProgramUniform2ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform3ui64NV = load.invoke("glProgramUniform3ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform4ui64NV = load.invoke("glProgramUniform4ui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform1ui64vNV = load.invoke("glProgramUniform1ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2ui64vNV = load.invoke("glProgramUniform2ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3ui64vNV = load.invoke("glProgramUniform3ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4ui64vNV = load.invoke("glProgramUniform4ui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glUniform1i64NV(int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1i64NV).invokeExact(location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2i64NV(int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2i64NV).invokeExact(location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3i64NV(int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3i64NV).invokeExact(location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4i64NV(int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4i64NV).invokeExact(location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1i64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2i64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3i64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4i64vNV(int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4i64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1ui64NV(int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1ui64NV).invokeExact(location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2ui64NV(int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2ui64NV).invokeExact(location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3ui64NV(int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3ui64NV).invokeExact(location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4ui64NV(int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4ui64NV).invokeExact(location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1ui64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2ui64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3ui64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4ui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4ui64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetUniformi64vNV(int program, int location, @NativeType("GLint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetUniformi64vNV).invokeExact(program, location, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetUniformui64vNV(int program, int location, @NativeType("GLuint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetUniformui64vNV).invokeExact(program, location, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1i64NV(int program, int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1i64NV).invokeExact(program, location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2i64NV(int program, int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2i64NV).invokeExact(program, location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3i64NV(int program, int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3i64NV).invokeExact(program, location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4i64NV(int program, int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4i64NV).invokeExact(program, location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1i64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2i64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3i64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4i64vNV(int program, int location, int count, @NativeType("const GLint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4i64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1ui64NV(int program, int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1ui64NV).invokeExact(program, location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2ui64NV(int program, int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2ui64NV).invokeExact(program, location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3ui64NV(int program, int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3ui64NV).invokeExact(program, location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4ui64NV(int program, int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4ui64NV).invokeExact(program, location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1ui64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2ui64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3ui64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4ui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4ui64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java index c1ca9708..819e463e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java @@ -14,31 +14,32 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_interleaved_elements} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_interleaved_elements} + */ public final class GLAMDInterleavedElements { + public static final int GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; + public static final int GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_interleaved_elements) return; - ext.glVertexAttribParameteriAMD = load.invoke("glVertexAttribParameteriAMD", FunctionDescriptors.IIIV); + ext.glVertexAttribParameteriAMD = load.invoke("glVertexAttribParameteriAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); } public static void glVertexAttribParameteriAMD(int index, int pname, int param) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glVertexAttribParameteriAMD).invokeExact(index, pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glVertexAttribParameteriAMD).invokeExact(index, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java index 8c6bbcc0..4b719c69 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java @@ -14,43 +14,38 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_multi_draw_indirect} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_multi_draw_indirect} + */ public final class GLAMDMultiDrawIndirect { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_multi_draw_indirect) return; - ext.glMultiDrawArraysIndirectAMD = load.invoke("glMultiDrawArraysIndirectAMD", FunctionDescriptors.IPIIV); - ext.glMultiDrawElementsIndirectAMD = load.invoke("glMultiDrawElementsIndirectAMD", FunctionDescriptors.IIPIIV); + ext.glMultiDrawArraysIndirectAMD = load.invoke("glMultiDrawArraysIndirectAMD", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT)); + ext.glMultiDrawElementsIndirectAMD = load.invoke("glMultiDrawElementsIndirectAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT)); } - public static void glMultiDrawArraysIndirectAMD(int mode, MemorySegment indirect, int primCount, int stride) { - var ext = GLLoader.getExtCapabilities(); + public static void glMultiDrawArraysIndirectAMD(int mode, @NativeType("const void *") MemorySegment indirect, int primcount, int stride) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiDrawArraysIndirectAMD).invokeExact(mode, indirect, primCount, stride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiDrawArraysIndirectAMD).invokeExact(mode, indirect, primcount, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiDrawElementsIndirectAMD(int mode, int type, MemorySegment indirect, int primCount, int stride) { - var ext = GLLoader.getExtCapabilities(); + public static void glMultiDrawElementsIndirectAMD(int mode, int type, @NativeType("const void *") MemorySegment indirect, int primcount, int stride) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiDrawElementsIndirectAMD).invokeExact(mode, type, indirect, primCount, stride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiDrawElementsIndirectAMD).invokeExact(mode, type, indirect, primcount, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java index 8ac23f19..f0025953 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java @@ -14,90 +14,52 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; -import overrungl.internal.RuntimeHelper; -import overrungl.util.MemoryStack; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_INT; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_name_gen_delete} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_name_gen_delete} + */ public final class GLAMDNameGenDelete { + public static final int GL_DATA_BUFFER_AMD = 0x9151; + public static final int GL_PERFORMANCE_MONITOR_AMD = 0x9152; + public static final int GL_QUERY_OBJECT_AMD = 0x9153; + public static final int GL_VERTEX_ARRAY_OBJECT_AMD = 0x9154; + public static final int GL_SAMPLER_OBJECT_AMD = 0x9155; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_name_gen_delete) return; - ext.glDeleteNamesAMD = load.invoke("glDeleteNamesAMD", FunctionDescriptors.IIPV); - ext.glGenNamesAMD = load.invoke("glGenNamesAMD", FunctionDescriptors.IIPV); - ext.glIsNameAMD = load.invoke("glIsNameAMD", FunctionDescriptors.IIZ); + ext.glGenNamesAMD = load.invoke("glGenNamesAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDeleteNamesAMD = load.invoke("glDeleteNamesAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glIsNameAMD = load.invoke("glIsNameAMD", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); } - public static void glDeleteNamesAMD(int identifier, int num, MemorySegment names) { - var ext = GLLoader.getExtCapabilities(); + public static void glGenNamesAMD(int identifier, int num, @NativeType("GLuint *") MemorySegment names) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDeleteNamesAMD).invokeExact(identifier, num, names); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGenNamesAMD).invokeExact(identifier, num, names); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDeleteNamesAMD(SegmentAllocator allocator, int identifier, int[] names) { - glDeleteNamesAMD(identifier, names.length, allocator.allocateArray(JAVA_INT, names)); - } - - public static void glDeleteNameAMD(int identifier, int name) { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); + public static void glDeleteNamesAMD(int identifier, int num, @NativeType("const GLuint *") MemorySegment names) { + final var ext = getExtCapabilities(); try { - glDeleteNamesAMD(identifier, 1, stack.ints(name)); - } finally { - stack.setPointer(stackPointer); - } - } - - public static void glGenNamesAMD(int identifier, int num, MemorySegment names) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGenNamesAMD).invokeExact(identifier, num, names); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGenNamesAMD(SegmentAllocator allocator, int identifier, int[] names) { - var seg = allocator.allocateArray(JAVA_INT, names.length); - glGenNamesAMD(identifier, names.length, seg); - RuntimeHelper.toArray(seg, names); - } - - public static int glGenNameAMD(int identifier) { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); - try { - var seg = stack.callocInt(); - glGenNamesAMD(identifier, 1, seg); - return seg.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } + check(ext.glDeleteNamesAMD).invokeExact(identifier, num, names); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static boolean glIsNameAMD(int identifier, int name) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsNameAMD).invokeExact(identifier, name); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (boolean) + check(ext.glIsNameAMD).invokeExact(identifier, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java index a4f5d82e..279cec60 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java @@ -14,31 +14,36 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_occlusion_query_event} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_occlusion_query_event} + */ public final class GLAMDOcclusionQueryEvent { + public static final int GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; + public static final int GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; + public static final int GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; + public static final int GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; + public static final int GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; + public static final int GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_occlusion_query_event) return; - ext.glQueryObjectParameteruiAMD = load.invoke("glQueryObjectParameteruiAMD", FunctionDescriptors.IIIIV); + ext.glQueryObjectParameteruiAMD = load.invoke("glQueryObjectParameteruiAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } public static void glQueryObjectParameteruiAMD(int target, int id, int pname, int param) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glQueryObjectParameteruiAMD).invokeExact(target, id, pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glQueryObjectParameteruiAMD).invokeExact(target, id, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java index 11904519..8f28a144 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java @@ -14,223 +14,117 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.internal.RuntimeHelper; -import overrungl.util.MemoryStack; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_BYTE; -import static java.lang.foreign.ValueLayout.JAVA_INT; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_performance_monitor} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_performance_monitor} + */ public final class GLAMDPerformanceMonitor { + public static final int GL_COUNTER_TYPE_AMD = 0x8BC0; + public static final int GL_COUNTER_RANGE_AMD = 0x8BC1; + public static final int GL_UNSIGNED_INT64_AMD = 0x8BC2; + public static final int GL_PERCENTAGE_AMD = 0x8BC3; + public static final int GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; + public static final int GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5; + public static final int GL_PERFMON_RESULT_AMD = 0x8BC6; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_performance_monitor) return; - ext.glBeginPerfMonitorAMD = load.invoke("glBeginPerfMonitorAMD", IV); - ext.glDeletePerfMonitorsAMD = load.invoke("glDeletePerfMonitorsAMD", IPV); - ext.glEndPerfMonitorAMD = load.invoke("glEndPerfMonitorAMD", IV); - ext.glGenPerfMonitorsAMD = load.invoke("glGenPerfMonitorsAMD", IPV); - ext.glGetPerfMonitorCounterDataAMD = load.invoke("glGetPerfMonitorCounterDataAMD", IIIPPV); - ext.glGetPerfMonitorCounterInfoAMD = load.invoke("glGetPerfMonitorCounterInfoAMD", IIIPV); - ext.glGetPerfMonitorCounterStringAMD = load.invoke("glGetPerfMonitorCounterStringAMD", IIIPPV); - ext.glGetPerfMonitorCountersAMD = load.invoke("glGetPerfMonitorCountersAMD", IPPIPV); - ext.glGetPerfMonitorGroupStringAMD = load.invoke("glGetPerfMonitorGroupStringAMD", IIPPV); - ext.glGetPerfMonitorGroupsAMD = load.invoke("glGetPerfMonitorGroupsAMD", PIPV); - ext.glSelectPerfMonitorCountersAMD = load.invoke("glSelectPerfMonitorCountersAMD", IZIIPV); - } - - public static void glBeginPerfMonitorAMD(int monitor) { - var ext = GLLoader.getExtCapabilities(); + ext.glGetPerfMonitorGroupsAMD = load.invoke("glGetPerfMonitorGroupsAMD", ofVoid(ADDRESS, JAVA_INT, ADDRESS)); + ext.glGetPerfMonitorCountersAMD = load.invoke("glGetPerfMonitorCountersAMD", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT, ADDRESS)); + ext.glGetPerfMonitorGroupStringAMD = load.invoke("glGetPerfMonitorGroupStringAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetPerfMonitorCounterStringAMD = load.invoke("glGetPerfMonitorCounterStringAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetPerfMonitorCounterInfoAMD = load.invoke("glGetPerfMonitorCounterInfoAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGenPerfMonitorsAMD = load.invoke("glGenPerfMonitorsAMD", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeletePerfMonitorsAMD = load.invoke("glDeletePerfMonitorsAMD", ofVoid(JAVA_INT, ADDRESS)); + ext.glSelectPerfMonitorCountersAMD = load.invoke("glSelectPerfMonitorCountersAMD", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glBeginPerfMonitorAMD = load.invoke("glBeginPerfMonitorAMD", ofVoid(JAVA_INT)); + ext.glEndPerfMonitorAMD = load.invoke("glEndPerfMonitorAMD", ofVoid(JAVA_INT)); + ext.glGetPerfMonitorCounterDataAMD = load.invoke("glGetPerfMonitorCounterDataAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glGetPerfMonitorGroupsAMD(@NativeType("GLint *") MemorySegment numGroups, int groupsSize, @NativeType("GLuint *") MemorySegment groups) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBeginPerfMonitorAMD).invokeExact(monitor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetPerfMonitorGroupsAMD).invokeExact(numGroups, groupsSize, groups); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDeletePerfMonitorsAMD(int n, MemorySegment monitors) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetPerfMonitorCountersAMD(int group, @NativeType("GLint *") MemorySegment numCounters, @NativeType("GLint *") MemorySegment maxActiveCounters, int counterSize, @NativeType("GLuint *") MemorySegment counters) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDeletePerfMonitorsAMD).invokeExact(n, monitors); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDeletePerfMonitorsAMD(SegmentAllocator allocator, int[] monitors) { - glDeletePerfMonitorsAMD(monitors.length, allocator.allocateArray(JAVA_INT, monitors)); + check(ext.glGetPerfMonitorCountersAMD).invokeExact(group, numCounters, maxActiveCounters, counterSize, counters); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDeletePerfMonitorAMD(int monitor) { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); + public static void glGetPerfMonitorGroupStringAMD(int group, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment groupString) { + final var ext = getExtCapabilities(); try { - glDeletePerfMonitorsAMD(1, stack.ints(monitor)); - } finally { - stack.setPointer(stackPointer); - } + check(ext.glGetPerfMonitorGroupStringAMD).invokeExact(group, bufSize, length, groupString); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glEndPerfMonitorAMD(int monitor) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glEndPerfMonitorAMD).invokeExact(monitor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGenPerfMonitorsAMD(int n, MemorySegment monitors) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetPerfMonitorCounterStringAMD(int group, int counter, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment counterString) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGenPerfMonitorsAMD).invokeExact(n, monitors); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetPerfMonitorCounterStringAMD).invokeExact(group, counter, bufSize, length, counterString); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGenPerfMonitorsAMD(SegmentAllocator allocator, int[] monitors) { - var seg = allocator.allocateArray(JAVA_INT, monitors.length); - glGenPerfMonitorsAMD(monitors.length, seg); - RuntimeHelper.toArray(seg, monitors); - } - - public static int glGenPerfMonitorAMD() { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); + public static void glGetPerfMonitorCounterInfoAMD(int group, int counter, int pname, @NativeType("void *") MemorySegment data) { + final var ext = getExtCapabilities(); try { - var seg = stack.callocInt(); - glGenPerfMonitorsAMD(1, seg); - return seg.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } + check(ext.glGetPerfMonitorCounterInfoAMD).invokeExact(group, counter, pname, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetPerfMonitorCounterDataAMD(int monitor, int pname, int dataSize, MemorySegment data, MemorySegment bytesWritten) { - var ext = GLLoader.getExtCapabilities(); + public static void glGenPerfMonitorsAMD(int n, @NativeType("GLuint *") MemorySegment monitors) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetPerfMonitorCounterDataAMD).invokeExact(monitor, pname, dataSize, data, bytesWritten); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetPerfMonitorCounterDataAMD(SegmentAllocator allocator, int monitor, int pname, int[] data, int @Nullable [] bytesWritten) { - var pData = allocator.allocateArray(JAVA_INT, data.length); - var pNum = bytesWritten != null ? allocator.allocateArray(JAVA_INT, bytesWritten.length) : MemorySegment.NULL; - glGetPerfMonitorCounterDataAMD(monitor, pname, data.length, pData, pNum); - RuntimeHelper.toArray(pData, data); - if (bytesWritten != null && bytesWritten.length > 0) { - bytesWritten[0] = pNum.get(JAVA_INT, 0); - } + check(ext.glGenPerfMonitorsAMD).invokeExact(n, monitors); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetPerfMonitorCounterInfoAMD(int group, int counter, int pname, MemorySegment data) { - var ext = GLLoader.getExtCapabilities(); + public static void glDeletePerfMonitorsAMD(int n, @NativeType("GLuint *") MemorySegment monitors) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetPerfMonitorCounterInfoAMD).invokeExact(group, counter, pname, data); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDeletePerfMonitorsAMD).invokeExact(n, monitors); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetPerfMonitorCounterStringAMD(int group, int counter, int bufSize, MemorySegment length, MemorySegment counterString) { - var ext = GLLoader.getExtCapabilities(); + public static void glSelectPerfMonitorCountersAMD(int monitor, boolean enable, int group, int numCounters, @NativeType("GLuint *") MemorySegment counterList) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetPerfMonitorCounterStringAMD).invokeExact(group, counter, bufSize, length, counterString); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glSelectPerfMonitorCountersAMD).invokeExact(monitor, enable, group, numCounters, counterList); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static String glGetPerfMonitorCounterStringAMD(SegmentAllocator allocator, int group, int counter, int bufSize) { - var seg = allocator.allocateArray(JAVA_BYTE, bufSize); - glGetPerfMonitorCounterStringAMD(group, counter, bufSize, MemorySegment.NULL, seg); - return seg.getUtf8String(0); - } - - public static void glGetPerfMonitorCountersAMD(int group, MemorySegment numCounters, MemorySegment maxActiveCounters, int counterSize, MemorySegment counters) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetPerfMonitorCountersAMD).invokeExact(group, numCounters, maxActiveCounters, counterSize, counters); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetPerfMonitorCountersAMD(SegmentAllocator allocator, int group, int @Nullable [] numCounters, int @Nullable [] maxActiveCounters, int counterSize, int @Nullable [] counters) { - var pNum = numCounters != null ? allocator.allocateArray(JAVA_INT, numCounters.length) : MemorySegment.NULL; - var pMax = maxActiveCounters != null ? allocator.allocateArray(JAVA_INT, maxActiveCounters.length) : MemorySegment.NULL; - var pc = counters != null ? allocator.allocateArray(JAVA_INT, counters.length) : MemorySegment.NULL; - glGetPerfMonitorCountersAMD(group, pNum, pMax, counters != null ? counters.length : counterSize, pc); - } - - public static void glGetPerfMonitorCountersAMD(SegmentAllocator allocator, int group, int @Nullable [] numCounters, int @Nullable [] maxActiveCounters, int @NotNull [] counters) { - glGetPerfMonitorCountersAMD(allocator, group, numCounters, maxActiveCounters, counters.length, counters); - } - - public static void glGetPerfMonitorGroupStringAMD(int group, int bufSize, MemorySegment length, MemorySegment groupString) { - var ext = GLLoader.getExtCapabilities(); + public static void glBeginPerfMonitorAMD(int monitor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetPerfMonitorGroupStringAMD).invokeExact(group, bufSize, length, groupString); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static String glGetPerfMonitorGroupStringAMD(SegmentAllocator allocator, int group, int bufSize) { - var seg = allocator.allocateArray(JAVA_BYTE, bufSize); - glGetPerfMonitorGroupStringAMD(group, bufSize, MemorySegment.NULL, seg); - return seg.getUtf8String(0); + check(ext.glBeginPerfMonitorAMD).invokeExact(monitor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetPerfMonitorGroupsAMD(MemorySegment numGroups, int groupsSize, MemorySegment groups) { - var ext = GLLoader.getExtCapabilities(); + public static void glEndPerfMonitorAMD(int monitor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetPerfMonitorGroupsAMD).invokeExact(numGroups, groupsSize, groups); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetPerfMonitorGroupsAMD(SegmentAllocator allocator, int @Nullable [] numGroups, int @Nullable [] groups) { - var pn = numGroups != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - final boolean hasGroups = groups != null; - var pg = groups != null ? allocator.allocateArray(JAVA_INT, groups.length) : MemorySegment.NULL; - glGetPerfMonitorGroupsAMD(pn, groups != null ? groups.length : 0, pg); - if (numGroups != null && numGroups.length > 0) { - numGroups[0] = pn.get(JAVA_INT, 0); - } - if (hasGroups) { - RuntimeHelper.toArray(pg, groups); - } + check(ext.glEndPerfMonitorAMD).invokeExact(monitor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glSelectPerfMonitorCountersAMD(int monitor, boolean enable, int group, int numCounters, MemorySegment counterList) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetPerfMonitorCounterDataAMD(int monitor, int pname, int dataSize, @NativeType("GLuint *") MemorySegment data, @NativeType("GLint *") MemorySegment bytesWritten) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glSelectPerfMonitorCountersAMD).invokeExact(monitor, enable, group, numCounters, counterList); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetPerfMonitorCounterDataAMD).invokeExact(monitor, pname, dataSize, data, bytesWritten); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glSelectPerfMonitorCountersAMD(SegmentAllocator allocator, int monitor, boolean enable, int group, int[] counterList) { - glSelectPerfMonitorCountersAMD(monitor, enable, group, counterList.length, allocator.allocateArray(JAVA_INT, counterList)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java new file mode 100644 index 00000000..afbd6535 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.amd; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_AMD_pinned_memory} + */ +public final class GLAMDPinnedMemory { + public static final int GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java new file mode 100644 index 00000000..e9da4c9f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.amd; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_AMD_query_buffer_object} + */ +public final class GLAMDQueryBufferObject { + public static final int GL_QUERY_BUFFER_AMD = 0x9192; + public static final int GL_QUERY_BUFFER_BINDING_AMD = 0x9193; + public static final int GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java index 1c5d8e7b..941da07b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java @@ -14,39 +14,30 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; -import java.lang.foreign.ValueLayout; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_sample_positions} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_sample_positions} + */ public final class GLAMDSamplePositions { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_sample_positions) return; - ext.glSetMultisamplefvAMD = load.invoke("glSetMultisamplefvAMD", FunctionDescriptors.IIPV); + ext.glSetMultisamplefvAMD = load.invoke("glSetMultisamplefvAMD", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glSetMultisamplefvAMD(int pname, int index, MemorySegment val) { - var ext = GLLoader.getExtCapabilities(); + public static void glSetMultisamplefvAMD(int pname, int index, @NativeType("const GLfloat *") MemorySegment val) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glSetMultisamplefvAMD).invokeExact(pname, index, val); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glSetMultisamplefvAMD).invokeExact(pname, index, val); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glSetMultisamplefvAMD(SegmentAllocator allocator, int pname, int index, float[] val) { - glSetMultisamplefvAMD(pname, index, allocator.allocateArray(ValueLayout.JAVA_FLOAT, val)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java index e905c447..79de1baf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java @@ -14,41 +14,47 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_sparse_texture} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_sparse_texture} + */ public final class GLAMDSparseTexture { + public static final int GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; + public static final int GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; + public static final int GL_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; + public static final int GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; + public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; + public static final int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A; + public static final int GL_MIN_SPARSE_LEVEL_AMD = 0x919B; + public static final int GL_MIN_LOD_WARNING_AMD = 0x919C; + public static final int GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_sparse_texture) return; - ext.glTexStorageSparseAMD = load.invoke("glTexStorageSparseAMD", FunctionDescriptors.IIIIIIIV); - ext.glTextureStorageSparseAMD = load.invoke("glTextureStorageSparseAMD", FunctionDescriptors.IIIIIIIIV); + ext.glTexStorageSparseAMD = load.invoke("glTexStorageSparseAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTextureStorageSparseAMD = load.invoke("glTextureStorageSparseAMD", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } public static void glTexStorageSparseAMD(int target, int internalFormat, int width, int height, int depth, int layers, int flags) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexStorageSparseAMD).invokeExact(target, internalFormat, width, height, depth, layers, flags); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexStorageSparseAMD).invokeExact(target, internalFormat, width, height, depth, layers, flags); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexStorageSparseAMD(int texture, int target, int internalFormat, int width, int height, int depth, int layers, int flags) { - var ext = GLLoader.getExtCapabilities(); + public static void glTextureStorageSparseAMD(int texture, int target, int internalFormat, int width, int height, int depth, int layers, int flags) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexStorageSparseAMD).invokeExact(texture, target, internalFormat, width, height, depth, layers, flags); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTextureStorageSparseAMD).invokeExact(texture, target, internalFormat, width, height, depth, layers, flags); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java index 54c33af6..09e684db 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java @@ -14,31 +14,34 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_stencil_operation_extended} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_stencil_operation_extended} + */ public final class GLAMDStencilOperationExtended { + public static final int GL_SET_AMD = 0x874A; + public static final int GL_REPLACE_VALUE_AMD = 0x874B; + public static final int GL_STENCIL_OP_VALUE_AMD = 0x874C; + public static final int GL_STENCIL_BACK_OP_VALUE_AMD = 0x874D; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_stencil_operation_extended) return; - ext.glStencilOpValueAMD = load.invoke("glStencilOpValueAMD", FunctionDescriptors.IIV); + ext.glStencilOpValueAMD = load.invoke("glStencilOpValueAMD", ofVoid(JAVA_INT, JAVA_INT)); } public static void glStencilOpValueAMD(int face, int value) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glStencilOpValueAMD).invokeExact(face, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glStencilOpValueAMD).invokeExact(face, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java new file mode 100644 index 00000000..c598d223 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.amd; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_AMD_transform_feedback4} + */ +public final class GLAMDTransformFeedback4 { + public static final int GL_STREAM_RASTERIZATION_AMD = 0x91A0; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java index 9ac84300..45cd42e3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java @@ -14,41 +14,45 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.amd; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_vertex_shader_tessellator} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_AMD_vertex_shader_tessellator} + */ public final class GLAMDVertexShaderTessellator { + public static final int GL_SAMPLER_BUFFER_AMD = 0x9001; + public static final int GL_INT_SAMPLER_BUFFER_AMD = 0x9002; + public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; + public static final int GL_TESSELLATION_MODE_AMD = 0x9004; + public static final int GL_TESSELLATION_FACTOR_AMD = 0x9005; + public static final int GL_DISCRETE_AMD = 0x9006; + public static final int GL_CONTINUOUS_AMD = 0x9007; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_vertex_shader_tessellator) return; - ext.glTessellationFactorAMD = load.invoke("glTessellationFactorAMD", FunctionDescriptors.FV); - ext.glTessellationModeAMD = load.invoke("glTessellationModeAMD", FunctionDescriptors.IV); + ext.glTessellationFactorAMD = load.invoke("glTessellationFactorAMD", ofVoid(JAVA_FLOAT)); + ext.glTessellationModeAMD = load.invoke("glTessellationModeAMD", ofVoid(JAVA_INT)); } public static void glTessellationFactorAMD(float factor) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTessellationFactorAMD).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTessellationFactorAMD).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glTessellationModeAMD(int mode) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTessellationModeAMD).invokeExact(mode); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTessellationModeAMD).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java new file mode 100644 index 00000000..522993a0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_aux_depth_stencil} + */ +public final class GLAPPLEAuxDepthStencil { + public static final int GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java new file mode 100644 index 00000000..fa71e4de --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_client_storage} + */ +public final class GLAPPLEClientStorage { + public static final int GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java index 18bbb426..dfe7cfa7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java @@ -14,84 +14,65 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_INT; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_element_array} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_element_array} + */ public final class GLAPPLEElementArray { + public static final int GL_ELEMENT_ARRAY_APPLE = 0x8A0C; + public static final int GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; + public static final int GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_element_array) return; - ext.glDrawElementArrayAPPLE = load.invoke("glDrawElementArrayAPPLE", IIIV); - ext.glDrawRangeElementArrayAPPLE = load.invoke("glDrawRangeElementArrayAPPLE", IIIIIV); - ext.glElementPointerAPPLE = load.invoke("glElementPointerAPPLE", IPV); - ext.glMultiDrawElementArrayAPPLE = load.invoke("glMultiDrawElementArrayAPPLE", IPPIV); - ext.glMultiDrawRangeElementArrayAPPLE = load.invoke("glMultiDrawRangeElementArrayAPPLE", IIIPPIV); + ext.glElementPointerAPPLE = load.invoke("glElementPointerAPPLE", ofVoid(JAVA_INT, ADDRESS)); + ext.glDrawElementArrayAPPLE = load.invoke("glDrawElementArrayAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glDrawRangeElementArrayAPPLE = load.invoke("glDrawRangeElementArrayAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiDrawElementArrayAPPLE = load.invoke("glMultiDrawElementArrayAPPLE", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); + ext.glMultiDrawRangeElementArrayAPPLE = load.invoke("glMultiDrawRangeElementArrayAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); } - public static void glDrawElementArrayAPPLE(int mode, int first, int count) { - var ext = GLLoader.getExtCapabilities(); + public static void glElementPointerAPPLE(int type, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDrawElementArrayAPPLE).invokeExact(mode, first, count); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glElementPointerAPPLE).invokeExact(type, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDrawRangeElementArrayAPPLE(int mode, int start, int end, int first, int count) { - var ext = GLLoader.getExtCapabilities(); + public static void glDrawElementArrayAPPLE(int mode, int first, int count) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDrawRangeElementArrayAPPLE).invokeExact(mode, start, end, first, count); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDrawElementArrayAPPLE).invokeExact(mode, first, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glElementPointerAPPLE(int type, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); + public static void glDrawRangeElementArrayAPPLE(int mode, int start, int end, int first, int count) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glElementPointerAPPLE).invokeExact(type, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDrawRangeElementArrayAPPLE).invokeExact(mode, start, end, first, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiDrawElementArrayAPPLE(int mode, MemorySegment first, MemorySegment count, int primCount) { - var ext = GLLoader.getExtCapabilities(); + public static void glMultiDrawElementArrayAPPLE(int mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiDrawElementArrayAPPLE).invokeExact(mode, first, count, primCount); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiDrawElementArrayAPPLE).invokeExact(mode, first, count, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiDrawElementArrayAPPLE(SegmentAllocator allocator, int mode, int[] first, int[] count, int primCount) { - glMultiDrawElementArrayAPPLE(mode, allocator.allocateArray(JAVA_INT, first), allocator.allocateArray(JAVA_INT, count), primCount); - } - - public static void glMultiDrawRangeElementArrayAPPLE(int mode, int start, int end, MemorySegment first, MemorySegment count, int primCount) { - var ext = GLLoader.getExtCapabilities(); + public static void glMultiDrawRangeElementArrayAPPLE(int mode, int start, int end, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiDrawRangeElementArrayAPPLE).invokeExact(mode, start, end, first, count, primCount); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiDrawRangeElementArrayAPPLE).invokeExact(mode, start, end, first, count, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiDrawRangeElementArrayAPPLE(SegmentAllocator allocator, int mode, int start, int end, int[] first, int[] count, int primCount) { - glMultiDrawRangeElementArrayAPPLE(mode, start, end, allocator.allocateArray(JAVA_INT, first), allocator.allocateArray(JAVA_INT, count), primCount); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java index b4f0bd33..a82ea31a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java @@ -14,127 +14,91 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.util.MemoryStack; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_INT; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_fence} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_fence} + */ public final class GLAPPLEFence { + public static final int GL_DRAW_PIXELS_APPLE = 0x8A0A; + public static final int GL_FENCE_APPLE = 0x8A0B; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_fence) return; - ext.glDeleteFencesAPPLE = load.invoke("glDeleteFencesAPPLE", IPV); - ext.glFinishFenceAPPLE = load.invoke("glFinishFenceAPPLE", IV); - ext.glFinishObjectAPPLE = load.invoke("glFinishObjectAPPLE", IIV); - ext.glGenFencesAPPLE = load.invoke("glGenFencesAPPLE", IPV); - ext.glIsFenceAPPLE = load.invoke("glIsFenceAPPLE", IZ); - ext.glSetFenceAPPLE = load.invoke("glSetFenceAPPLE", IV); - ext.glTestFenceAPPLE = load.invoke("glTestFenceAPPLE", IZ); - ext.glTestObjectAPPLE = load.invoke("glTestObjectAPPLE", IIZ); + ext.glGenFencesAPPLE = load.invoke("glGenFencesAPPLE", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeleteFencesAPPLE = load.invoke("glDeleteFencesAPPLE", ofVoid(JAVA_INT, ADDRESS)); + ext.glSetFenceAPPLE = load.invoke("glSetFenceAPPLE", ofVoid(JAVA_INT)); + ext.glIsFenceAPPLE = load.invoke("glIsFenceAPPLE", of(JAVA_BYTE, JAVA_INT)); + ext.glTestFenceAPPLE = load.invoke("glTestFenceAPPLE", of(JAVA_BYTE, JAVA_INT)); + ext.glFinishFenceAPPLE = load.invoke("glFinishFenceAPPLE", ofVoid(JAVA_INT)); + ext.glTestObjectAPPLE = load.invoke("glTestObjectAPPLE", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); + ext.glFinishObjectAPPLE = load.invoke("glFinishObjectAPPLE", ofVoid(JAVA_INT, JAVA_INT)); } - public static void glDeleteFencesAPPLE(int n, MemorySegment fences) { - var ext = GLLoader.getExtCapabilities(); + public static void glGenFencesAPPLE(int n, @NativeType("GLuint *") MemorySegment fences) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDeleteFencesAPPLE).invokeExact(n, fences); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDeleteFencesAPPLE(SegmentAllocator allocator, int[] fences) { - glDeleteFencesAPPLE(fences.length, allocator.allocateArray(JAVA_INT, fences)); + check(ext.glGenFencesAPPLE).invokeExact(n, fences); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glFinishFenceAPPLE(int fence) { - var ext = GLLoader.getExtCapabilities(); + public static void glDeleteFencesAPPLE(int n, @NativeType("const GLuint *") MemorySegment fences) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFinishFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDeleteFencesAPPLE).invokeExact(n, fences); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glFinishObjectAPPLE(int object, int name) { - var ext = GLLoader.getExtCapabilities(); + public static void glSetFenceAPPLE(int fence) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFinishObjectAPPLE).invokeExact(object, name); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glSetFenceAPPLE).invokeExact(fence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGenFencesAPPLE(int n, MemorySegment fences) { - var ext = GLLoader.getExtCapabilities(); + public static boolean glIsFenceAPPLE(int fence) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGenFencesAPPLE).invokeExact(n, fences); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGenFencesAPPLE(SegmentAllocator allocator, int[] fences) { - glGenFencesAPPLE(fences.length, allocator.allocateArray(JAVA_INT, fences)); + return (boolean) + check(ext.glIsFenceAPPLE).invokeExact(fence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static int glGenFenceAPPLE() { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); + public static boolean glTestFenceAPPLE(int fence) { + final var ext = getExtCapabilities(); try { - var seg = stack.callocInt(); - glGenFencesAPPLE(1, seg); - return seg.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } + return (boolean) + check(ext.glTestFenceAPPLE).invokeExact(fence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static boolean glIsFenceAPPLE(int fence) { - var ext = GLLoader.getExtCapabilities(); + public static void glFinishFenceAPPLE(int fence) { + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFinishFenceAPPLE).invokeExact(fence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glSetFenceAPPLE(int fence) { - var ext = GLLoader.getExtCapabilities(); + public static boolean glTestObjectAPPLE(int object, int name) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glSetFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (boolean) + check(ext.glTestObjectAPPLE).invokeExact(object, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static boolean glTestFenceAPPLE(int fence) { - var ext = GLLoader.getExtCapabilities(); + public static void glFinishObjectAPPLE(int object, int name) { + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glTestFenceAPPLE).invokeExact(fence); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFinishObjectAPPLE).invokeExact(object, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static boolean glTestObjectAPPLE(int object, int name) { - var ext = GLLoader.getExtCapabilities(); - try { - return (boolean) GLLoader.check(ext.glTestObjectAPPLE).invokeExact(object, name); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java new file mode 100644 index 00000000..5a4f9f0e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_float_pixels} + */ +public final class GLAPPLEFloatPixels { + public static final int GL_HALF_APPLE = 0x140B; + public static final int GL_RGBA_FLOAT32_APPLE = 0x8814; + public static final int GL_RGB_FLOAT32_APPLE = 0x8815; + public static final int GL_ALPHA_FLOAT32_APPLE = 0x8816; + public static final int GL_INTENSITY_FLOAT32_APPLE = 0x8817; + public static final int GL_LUMINANCE_FLOAT32_APPLE = 0x8818; + public static final int GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; + public static final int GL_RGBA_FLOAT16_APPLE = 0x881A; + public static final int GL_RGB_FLOAT16_APPLE = 0x881B; + public static final int GL_ALPHA_FLOAT16_APPLE = 0x881C; + public static final int GL_INTENSITY_FLOAT16_APPLE = 0x881D; + public static final int GL_LUMINANCE_FLOAT16_APPLE = 0x881E; + public static final int GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; + public static final int GL_COLOR_FLOAT_APPLE = 0x8A0F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java index f8b834d2..71a1d74c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java @@ -14,41 +14,40 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_flush_buffer_range} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_flush_buffer_range} + */ public final class GLAPPLEFlushBufferRange { + public static final int GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; + public static final int GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_flush_buffer_range) return; - ext.glBufferParameteriAPPLE = load.invoke("glBufferParameteriAPPLE", FunctionDescriptors.IIIV); - ext.glFlushMappedBufferRangeAPPLE = load.invoke("glFlushMappedBufferRangeAPPLE", FunctionDescriptors.IJJV); + ext.glBufferParameteriAPPLE = load.invoke("glBufferParameteriAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFlushMappedBufferRangeAPPLE = load.invoke("glFlushMappedBufferRangeAPPLE", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); } public static void glBufferParameteriAPPLE(int target, int pname, int param) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBufferParameteriAPPLE).invokeExact(target, pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBufferParameteriAPPLE).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glFlushMappedBufferRangeAPPLE(int target, long offset, long size) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFlushMappedBufferRangeAPPLE).invokeExact(target, offset, size); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFlushMappedBufferRangeAPPLE).invokeExact(target, offset, size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java index 713fd8ff..6282a6c9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java @@ -14,59 +14,54 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; -import java.lang.foreign.ValueLayout; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_object_purgeable} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_object_purgeable} + */ public final class GLAPPLEObjectPurgeable { + public static final int GL_BUFFER_OBJECT_APPLE = 0x85B3; + public static final int GL_RELEASED_APPLE = 0x8A19; + public static final int GL_VOLATILE_APPLE = 0x8A1A; + public static final int GL_RETAINED_APPLE = 0x8A1B; + public static final int GL_UNDEFINED_APPLE = 0x8A1C; + public static final int GL_PURGEABLE_APPLE = 0x8A1D; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_object_purgeable) return; - ext.glGetObjectParameterivAPPLE = load.invoke("glGetObjectParameterivAPPLE", FunctionDescriptors.IIIPV); - ext.glObjectPurgeableAPPLE = load.invoke("glObjectPurgeableAPPLE", FunctionDescriptors.IIII); - ext.glObjectUnpurgeableAPPLE = load.invoke("glObjectUnpurgeableAPPLE", FunctionDescriptors.IIII); + ext.glObjectPurgeableAPPLE = load.invoke("glObjectPurgeableAPPLE", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glObjectUnpurgeableAPPLE = load.invoke("glObjectUnpurgeableAPPLE", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetObjectParameterivAPPLE = load.invoke("glGetObjectParameterivAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glGetObjectParameterivAPPLE(int objectType, int name, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static int glObjectPurgeableAPPLE(int objectType, int name, int option) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetObjectParameterivAPPLE).invokeExact(objectType, name, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetObjectParameterivAPPLE(SegmentAllocator allocator, int objectType, int name, int pname, int[] params) { - glGetObjectParameterivAPPLE(objectType, name, pname, allocator.allocateArray(ValueLayout.JAVA_INT, params)); + return (int) + check(ext.glObjectPurgeableAPPLE).invokeExact(objectType, name, option); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static int glObjectPurgeableAPPLE(int objectType, int name, int option) { - var ext = GLLoader.getExtCapabilities(); + public static int glObjectUnpurgeableAPPLE(int objectType, int name, int option) { + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glObjectPurgeableAPPLE).invokeExact(objectType, name, option); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glObjectUnpurgeableAPPLE).invokeExact(objectType, name, option); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static int glObjectUnpurgeableAPPLE(int objectType, int name, int option) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetObjectParameterivAPPLE(int objectType, int name, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glObjectUnpurgeableAPPLE).invokeExact(objectType, name, option); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetObjectParameterivAPPLE).invokeExact(objectType, name, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java new file mode 100644 index 00000000..a2167d3a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_rgb_422} + */ +public final class GLAPPLERgb422 { + public static final int GL_RGB_422_APPLE = 0x8A1F; + public static final int GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA; + public static final int GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; + public static final int GL_RGB_RAW_422_APPLE = 0x8A51; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java new file mode 100644 index 00000000..fcac4f7e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_row_bytes} + */ +public final class GLAPPLERowBytes { + public static final int GL_PACK_ROW_BYTES_APPLE = 0x8A15; + public static final int GL_UNPACK_ROW_BYTES_APPLE = 0x8A16; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java new file mode 100644 index 00000000..1c997292 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_specular_vector} + */ +public final class GLAPPLESpecularVector { + public static final int GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java index 2f7b2944..36c59aeb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java @@ -14,44 +14,44 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.IIPV; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_texture_range} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_texture_range} + */ public final class GLAPPLETextureRange { + public static final int GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; + public static final int GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8; + public static final int GL_TEXTURE_STORAGE_HINT_APPLE = 0x85BC; + public static final int GL_STORAGE_PRIVATE_APPLE = 0x85BD; + public static final int GL_STORAGE_CACHED_APPLE = 0x85BE; + public static final int GL_STORAGE_SHARED_APPLE = 0x85BF; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_texture_range) return; - ext.glGetTexParameterPointervAPPLE = load.invoke("glGetTexParameterPointervAPPLE", IIPV); - ext.glTextureRangeAPPLE = load.invoke("glTextureRangeAPPLE", IIPV); + ext.glTextureRangeAPPLE = load.invoke("glTextureRangeAPPLE", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTexParameterPointervAPPLE = load.invoke("glGetTexParameterPointervAPPLE", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glGetTexParameterPointervAPPLE(int target, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glTextureRangeAPPLE(int target, int length, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetTexParameterPointervAPPLE).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTextureRangeAPPLE).invokeExact(target, length, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTextureRangeAPPLE(int target, int length, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetTexParameterPointervAPPLE(int target, int pname, @NativeType("void **") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTextureRangeAPPLE).invokeExact(target, length, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetTexParameterPointervAPPLE).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java new file mode 100644 index 00000000..f9322c74 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_transform_hint} + */ +public final class GLAPPLETransformHint { + public static final int GL_TRANSFORM_HINT_APPLE = 0x85B1; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java index 3376e209..1d0cddf3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java @@ -14,94 +14,56 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.internal.RuntimeHelper; -import overrungl.util.MemoryStack; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_INT; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_vertex_array_object} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_vertex_array_object} + */ public final class GLAPPLEVertexArrayObject { + public static final int GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_vertex_array_object) return; - ext.glBindVertexArrayAPPLE = load.invoke("glBindVertexArrayAPPLE", IV); - ext.glDeleteVertexArraysAPPLE = load.invoke("glDeleteVertexArraysAPPLE", IPV); - ext.glGenVertexArraysAPPLE = load.invoke("glGenVertexArraysAPPLE", IPV); - ext.glIsVertexArrayAPPLE = load.invoke("glIsVertexArrayAPPLE", IZ); + ext.glBindVertexArrayAPPLE = load.invoke("glBindVertexArrayAPPLE", ofVoid(JAVA_INT)); + ext.glDeleteVertexArraysAPPLE = load.invoke("glDeleteVertexArraysAPPLE", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenVertexArraysAPPLE = load.invoke("glGenVertexArraysAPPLE", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsVertexArrayAPPLE = load.invoke("glIsVertexArrayAPPLE", of(JAVA_BYTE, JAVA_INT)); } public static void glBindVertexArrayAPPLE(int array) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glBindVertexArrayAPPLE).invokeExact(array); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDeleteVertexArraysAPPLE(int n, MemorySegment arrays) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDeleteVertexArraysAPPLE).invokeExact(n, arrays); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBindVertexArrayAPPLE).invokeExact(array); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDeleteVertexArraysAPPLE(SegmentAllocator allocator, int[] arrays) { - glDeleteVertexArraysAPPLE(arrays.length, allocator.allocateArray(JAVA_INT, arrays)); - } - - public static void glDeleteVertexArrayAPPLE(SegmentAllocator allocator, int array) { - glDeleteVertexArraysAPPLE(1, allocator.allocate(JAVA_INT, array)); - } - - public static void glGenVertexArraysAPPLE(int n, MemorySegment arrays) { - var ext = GLLoader.getExtCapabilities(); + public static void glDeleteVertexArraysAPPLE(int n, @NativeType("const GLuint *") MemorySegment arrays) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGenVertexArraysAPPLE).invokeExact(n, arrays); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDeleteVertexArraysAPPLE).invokeExact(n, arrays); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGenVertexArraysAPPLE(SegmentAllocator allocator, int[] arrays) { - var seg = allocator.allocateArray(JAVA_INT, arrays.length); - glGenVertexArraysAPPLE(arrays.length, seg); - RuntimeHelper.toArray(seg, arrays); - } - - public static int glGenVertexArrayAPPLE() { - var stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); + public static void glGenVertexArraysAPPLE(int n, @NativeType("GLuint *") MemorySegment arrays) { + final var ext = getExtCapabilities(); try { - var seg = stack.callocInt(); - glGenVertexArraysAPPLE(1, seg); - return seg.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } + check(ext.glGenVertexArraysAPPLE).invokeExact(n, arrays); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static boolean glIsVertexArrayAPPLE(int array) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsVertexArrayAPPLE).invokeExact(array); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (boolean) + check(ext.glIsVertexArrayAPPLE).invokeExact(array); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java index 0596e7fc..7c6195f6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java @@ -14,53 +14,51 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_vertex_array_range} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_vertex_array_range} + */ public final class GLAPPLEVertexArrayRange { + public static final int GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D; + public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; + public static final int GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; + public static final int GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; + public static final int GL_STORAGE_CLIENT_APPLE = 0x85B4; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_vertex_array_range) return; - ext.glFlushVertexArrayRangeAPPLE = load.invoke("glFlushVertexArrayRangeAPPLE", FunctionDescriptors.IPV); - ext.glVertexArrayParameteriAPPLE = load.invoke("glVertexArrayParameteriAPPLE", FunctionDescriptors.IIV); - ext.glVertexArrayRangeAPPLE = load.invoke("glVertexArrayRangeAPPLE", FunctionDescriptors.IPV); + ext.glVertexArrayRangeAPPLE = load.invoke("glVertexArrayRangeAPPLE", ofVoid(JAVA_INT, ADDRESS)); + ext.glFlushVertexArrayRangeAPPLE = load.invoke("glFlushVertexArrayRangeAPPLE", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexArrayParameteriAPPLE = load.invoke("glVertexArrayParameteriAPPLE", ofVoid(JAVA_INT, JAVA_INT)); } - public static void glFlushVertexArrayRangeAPPLE(int length, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); + public static void glVertexArrayRangeAPPLE(int length, @NativeType("void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFlushVertexArrayRangeAPPLE).invokeExact(length, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glVertexArrayRangeAPPLE).invokeExact(length, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glVertexArrayParameteriAPPLE(int pname, int param) { - var ext = GLLoader.getExtCapabilities(); + public static void glFlushVertexArrayRangeAPPLE(int length, @NativeType("void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glVertexArrayParameteriAPPLE).invokeExact(pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFlushVertexArrayRangeAPPLE).invokeExact(length, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glVertexArrayRangeAPPLE(int length, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); + public static void glVertexArrayParameteriAPPLE(int pname, int param) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glVertexArrayRangeAPPLE).invokeExact(length, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glVertexArrayParameteriAPPLE).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java index 66e7218e..8024ed45 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java @@ -14,113 +14,89 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.apple; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_DOUBLE; -import static java.lang.foreign.ValueLayout.JAVA_FLOAT; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_vertex_program_evaluators} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_APPLE_vertex_program_evaluators} + */ public final class GLAPPLEVertexProgramEvaluators { + public static final int GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; + public static final int GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; + public static final int GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; + public static final int GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; + public static final int GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; + public static final int GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; + public static final int GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; + public static final int GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; + public static final int GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; + public static final int GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_APPLE_vertex_program_evaluators) return; - ext.glDisableVertexAttribAPPLE = load.invoke("glDisableVertexAttribAPPLE", IIV); - ext.glEnableVertexAttribAPPLE = load.invoke("glEnableVertexAttribAPPLE", IIV); - ext.glIsVertexAttribEnabledAPPLE = load.invoke("glIsVertexAttribEnabledAPPLE", IIZ); - ext.glMapVertexAttrib1dAPPLE = load.invoke("glMapVertexAttrib1dAPPLE", IIDDIIPV); - ext.glMapVertexAttrib1fAPPLE = load.invoke("glMapVertexAttrib1fAPPLE", IIFFIIPV); - ext.glMapVertexAttrib2dAPPLE = load.invoke("glMapVertexAttrib2dAPPLE", IIDDIIDDIIPV); - ext.glMapVertexAttrib2fAPPLE = load.invoke("glMapVertexAttrib2fAPPLE", IIFFIIFFIIPV); + ext.glEnableVertexAttribAPPLE = load.invoke("glEnableVertexAttribAPPLE", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDisableVertexAttribAPPLE = load.invoke("glDisableVertexAttribAPPLE", ofVoid(JAVA_INT, JAVA_INT)); + ext.glIsVertexAttribEnabledAPPLE = load.invoke("glIsVertexAttribEnabledAPPLE", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); + ext.glMapVertexAttrib1dAPPLE = load.invoke("glMapVertexAttrib1dAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMapVertexAttrib1fAPPLE = load.invoke("glMapVertexAttrib1fAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMapVertexAttrib2dAPPLE = load.invoke("glMapVertexAttrib2dAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMapVertexAttrib2fAPPLE = load.invoke("glMapVertexAttrib2fAPPLE", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glDisableVertexAttribAPPLE(int index, int pname) { - var ext = GLLoader.getExtCapabilities(); + public static void glEnableVertexAttribAPPLE(int index, int pname) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDisableVertexAttribAPPLE).invokeExact(index, pname); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glEnableVertexAttribAPPLE).invokeExact(index, pname); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glEnableVertexAttribAPPLE(int index, int pname) { - var ext = GLLoader.getExtCapabilities(); + public static void glDisableVertexAttribAPPLE(int index, int pname) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glEnableVertexAttribAPPLE).invokeExact(index, pname); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDisableVertexAttribAPPLE).invokeExact(index, pname); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static boolean glIsVertexAttribEnabledAPPLE(int index, int pname) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsVertexAttribEnabledAPPLE).invokeExact(index, pname); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (boolean) + check(ext.glIsVertexAttribEnabledAPPLE).invokeExact(index, pname); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMapVertexAttrib1dAPPLE(int index, int size, double u1, double u2, int stride, int order, MemorySegment points) { - var ext = GLLoader.getExtCapabilities(); + public static void glMapVertexAttrib1dAPPLE(int index, int size, double u1, double u2, int stride, int order, @NativeType("const GLdouble *") MemorySegment points) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMapVertexAttrib1dAPPLE).invokeExact(index, size, u1, u2, stride, order, points); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMapVertexAttrib1dAPPLE).invokeExact(index, size, u1, u2, stride, order, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMapVertexAttrib1dAPPLE(SegmentAllocator allocator, int index, int size, double u1, double u2, int stride, int order, double[] points) { - glMapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, allocator.allocateArray(JAVA_DOUBLE, points)); - } - - public static void glMapVertexAttrib1fAPPLE(int index, int size, float u1, float u2, int stride, int order, MemorySegment points) { - var ext = GLLoader.getExtCapabilities(); + public static void glMapVertexAttrib1fAPPLE(int index, int size, float u1, float u2, int stride, int order, @NativeType("const GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMapVertexAttrib1fAPPLE).invokeExact(index, size, u1, u2, stride, order, points); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glMapVertexAttrib1fAPPLE(SegmentAllocator allocator, int index, int size, float u1, float u2, int stride, int order, float[] points) { - glMapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, allocator.allocateArray(JAVA_FLOAT, points)); + check(ext.glMapVertexAttrib1fAPPLE).invokeExact(index, size, u1, u2, stride, order, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMapVertexAttrib2dAPPLE(int index, int size, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, MemorySegment points) { - var ext = GLLoader.getExtCapabilities(); + public static void glMapVertexAttrib2dAPPLE(int index, int size, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, @NativeType("const GLdouble *") MemorySegment points) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMapVertexAttrib2dAPPLE).invokeExact(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMapVertexAttrib2dAPPLE).invokeExact(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMapVertexAttrib2dAPPLE(SegmentAllocator allocator, int index, int size, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double[] points) { - glMapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, allocator.allocateArray(JAVA_DOUBLE, points)); - } - - public static void glMapVertexAttrib2fAPPLE(int index, int size, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, MemorySegment points) { - var ext = GLLoader.getExtCapabilities(); + public static void glMapVertexAttrib2fAPPLE(int index, int size, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, @NativeType("const GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMapVertexAttrib2fAPPLE).invokeExact(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMapVertexAttrib2fAPPLE).invokeExact(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMapVertexAttrib2fAPPLE(SegmentAllocator allocator, int index, int size, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float[] points) { - glMapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, allocator.allocateArray(JAVA_FLOAT, points)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java new file mode 100644 index 00000000..b5b0013e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.apple; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_APPLE_ycbcr_422} + */ +public final class GLAPPLEYcbcr422 { + public static final int GL_YCBCR_422_APPLE = 0x85B9; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java index 9ac8c9e7..33880dda 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -20,7 +35,6 @@ public final class GLARBRobustness { public static final int GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252; public static final int GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254; public static final int GL_GUILTY_CONTEXT_RESET_ARB = 0x8253; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_robustness) return; ext.glGetGraphicsResetStatusARB = load.invoke("glGetGraphicsResetStatusARB", of(JAVA_INT)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java index 05d15769..8db4d3b6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -21,7 +36,6 @@ public final class GLARBSampleLocations { public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; public static final int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; public static final int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sample_locations) return; ext.glEvaluateDepthValuesARB = load.invoke("glEvaluateDepthValuesARB", ofVoid()); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java index f211d241..aef2adb9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -15,7 +30,6 @@ public final class GLARBSampleShading { public static final int GL_SAMPLE_SHADING_ARB = 0x8C36; public static final int GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sample_shading) return; ext.glMinSampleShadingARB = load.invoke("glMinSampleShadingARB", ofVoid(JAVA_FLOAT)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java index 04407a15..71afda02 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -47,7 +62,6 @@ public final class GLARBShaderObjects { public static final int GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; public static final int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; public static final int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_shader_objects) return; ext.glDeleteObjectARB = load.invoke("glDeleteObjectARB", ofVoid(JAVA_INT)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java index e515781d..d622f775 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -16,7 +31,6 @@ public final class GLARBShadingLanguageInclude { public static final int GL_SHADER_INCLUDE_ARB = 0x8DAE; public static final int GL_NAMED_STRING_LENGTH_ARB = 0x8DE9; public static final int GL_NAMED_STRING_TYPE_ARB = 0x8DEA; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_shading_language_include) return; ext.glNamedStringARB = load.invoke("glNamedStringARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java index a749a987..cdd891be 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java index 7d34cb66..364c5694 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java index 36809721..9b81b6e2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -15,7 +30,6 @@ public final class GLARBSparseBuffer { public static final int GL_SPARSE_STORAGE_BIT_ARB = 0x0400; public static final int GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sparse_buffer) return; ext.glBufferPageCommitmentARB = load.invoke("glBufferPageCommitmentARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_BYTE)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java index 216082d4..74170b9e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -24,7 +39,6 @@ public final class GLARBSparseTexture { public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; public static final int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; public static final int GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_sparse_texture) return; ext.glTexPageCommitmentARB = load.invoke("glTexPageCommitmentARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java index 4b7e2020..e06c812e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java index 308b4a6a..40a3c8e4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -18,7 +33,6 @@ public final class GLARBTextureBufferObject { public static final int GL_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; public static final int GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_texture_buffer_object) return; ext.glTexBufferARB = load.invoke("glTexBufferARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java index d75f5ea5..decd2138 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -24,7 +39,6 @@ public final class GLARBTextureCompression { public static final int GL_TEXTURE_COMPRESSED_ARB = 0x86A1; public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; public static final int GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_texture_compression) return; ext.glCompressedTexImage3DARB = load.invoke("glCompressedTexImage3DARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java index 577880e7..cbf1bf3c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java index bc30709f..8469ce5c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java index e8578f9d..13498226 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java index a37dbb78..665764b8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java index 5ab60e84..a7e3032a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java index ed94f2b2..022857b9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java index 4ae8853a..cc6c9967 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java index ac6f67f1..031e6a30 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java index 2ef4c6c2..5e0f1ec8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java index cc795cff..28717aba 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java index b5a65caf..d3fbd9cb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java index 46e7906c..2fc11aac 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -17,7 +32,6 @@ public final class GLARBTransposeMatrix { public static final int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; public static final int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; public static final int GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_transpose_matrix) return; ext.glLoadTransposeMatrixfARB = load.invoke("glLoadTransposeMatrixfARB", ofVoid(ADDRESS)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java index aa67c9f1..1dc0565f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -55,7 +70,6 @@ public final class GLARBVertexBlend { public static final int GL_MODELVIEW29_ARB = 0x873D; public static final int GL_MODELVIEW30_ARB = 0x873E; public static final int GL_MODELVIEW31_ARB = 0x873F; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_vertex_blend) return; ext.glWeightbvARB = load.invoke("glWeightbvARB", ofVoid(JAVA_INT, ADDRESS)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java index ddac7154..5434c49e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -44,7 +59,6 @@ public final class GLARBVertexBufferObject { public static final int GL_DYNAMIC_DRAW_ARB = 0x88E8; public static final int GL_DYNAMIC_READ_ARB = 0x88E9; public static final int GL_DYNAMIC_COPY_ARB = 0x88EA; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_vertex_buffer_object) return; ext.glBindBufferARB = load.invoke("glBindBufferARB", ofVoid(JAVA_INT, JAVA_INT)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java index 49200ad6..b4f912e5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -29,7 +44,6 @@ public final class GLARBVertexProgram { public static final int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; public static final int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; public static final int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_vertex_program) return; ext.glVertexAttrib1dARB = load.invoke("glVertexAttrib1dARB", ofVoid(JAVA_INT, JAVA_DOUBLE)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java index 55e05c24..96df2a40 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -20,7 +35,6 @@ public final class GLARBVertexShader { public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; public static final int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; public static final int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_vertex_shader) return; ext.glBindAttribLocationARB = load.invoke("glBindAttribLocationARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java index 5c624400..21b4b585 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -13,7 +28,6 @@ * {@code GL_ARB_viewport_array} */ public final class GLARBViewportArray { - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_viewport_array) return; ext.glDepthRangeArraydvNV = load.invoke("glDepthRangeArraydvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java index a9b1b49f..95eb6359 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -13,7 +28,6 @@ * {@code GL_ARB_window_pos} */ public final class GLARBWindowPos { - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_window_pos) return; ext.glWindowPos2dARB = load.invoke("glWindowPos2dARB", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java new file mode 100644 index 00000000..d46168fb --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ibm; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_IBM_cull_vertex} + */ +public final class GLIBMCullVertex { + public static final int GL_CULL_VERTEX_IBM = 103050; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java new file mode 100644 index 00000000..69cea8ca --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ibm; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_IBM_multimode_draw_arrays} + */ +public final class GLIBMMultimodeDrawArrays { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_IBM_multimode_draw_arrays) return; + ext.glMultiModeDrawArraysIBM = load.invoke("glMultiModeDrawArraysIBM", ofVoid(ADDRESS, ADDRESS, ADDRESS, JAVA_INT, JAVA_INT)); + ext.glMultiModeDrawElementsIBM = load.invoke("glMultiModeDrawElementsIBM", ofVoid(ADDRESS, ADDRESS, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT)); + } + + public static void glMultiModeDrawArraysIBM(@NativeType("const GLenum *") MemorySegment mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount, int modestride) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiModeDrawArraysIBM).invokeExact(mode, first, count, primcount, modestride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiModeDrawElementsIBM(@NativeType("const GLenum *") MemorySegment mode, @NativeType("const GLsizei *") MemorySegment count, int type, @NativeType("const void *const*") MemorySegment indices, int primcount, int modestride) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiModeDrawElementsIBM).invokeExact(mode, count, type, indices, primcount, modestride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java new file mode 100644 index 00000000..dd732824 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ibm; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_IBM_rasterpos_clip} + */ +public final class GLIBMRasterposClip { + public static final int GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMStaticData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java similarity index 58% rename from modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMStaticData.java rename to modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java index 4b7ae601..9411d6c8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLIBMStaticData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java @@ -14,31 +14,32 @@ * copies or substantial portions of the Software. */ -package overrungl.opengl.ext; +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ibm; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_IBM_static_data} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_IBM_static_data} + */ public final class GLIBMStaticData { + public static final int GL_ALL_STATIC_DATA_IBM = 103060; + public static final int GL_STATIC_VERTEX_ARRAY_IBM = 103061; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_IBM_static_data) return; - ext.glFlushStaticDataIBM = load.invoke("glFlushStaticDataIBM", FunctionDescriptors.IV); + ext.glFlushStaticDataIBM = load.invoke("glFlushStaticDataIBM", ofVoid(JAVA_INT)); } public static void glFlushStaticDataIBM(int target) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFlushStaticDataIBM).invokeExact(target); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFlushStaticDataIBM).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java new file mode 100644 index 00000000..18c271d2 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ibm; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_IBM_texture_mirrored_repeat} + */ +public final class GLIBMTextureMirroredRepeat { + public static final int GL_MIRRORED_REPEAT_IBM = 0x8370; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java new file mode 100644 index 00000000..3ff66163 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java @@ -0,0 +1,115 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ibm; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_IBM_vertex_array_lists} + */ +public final class GLIBMVertexArrayLists { + public static final int GL_VERTEX_ARRAY_LIST_IBM = 103070; + public static final int GL_NORMAL_ARRAY_LIST_IBM = 103071; + public static final int GL_COLOR_ARRAY_LIST_IBM = 103072; + public static final int GL_INDEX_ARRAY_LIST_IBM = 103073; + public static final int GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074; + public static final int GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075; + public static final int GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076; + public static final int GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; + public static final int GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; + public static final int GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; + public static final int GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082; + public static final int GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083; + public static final int GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; + public static final int GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; + public static final int GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; + public static final int GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_IBM_vertex_array_lists) return; + ext.glColorPointerListIBM = load.invoke("glColorPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glSecondaryColorPointerListIBM = load.invoke("glSecondaryColorPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glEdgeFlagPointerListIBM = load.invoke("glEdgeFlagPointerListIBM", ofVoid(JAVA_INT, ADDRESS, JAVA_INT)); + ext.glFogCoordPointerListIBM = load.invoke("glFogCoordPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glIndexPointerListIBM = load.invoke("glIndexPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glNormalPointerListIBM = load.invoke("glNormalPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glTexCoordPointerListIBM = load.invoke("glTexCoordPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glVertexPointerListIBM = load.invoke("glVertexPointerListIBM", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + } + + public static void glColorPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColorPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColorPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEdgeFlagPointerListIBM(int stride, @NativeType("const GLboolean **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glEdgeFlagPointerListIBM).invokeExact(stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoordPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoordPointerListIBM).invokeExact(type, stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glIndexPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glIndexPointerListIBM).invokeExact(type, stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalPointerListIBM(int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalPointerListIBM).invokeExact(type, stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoordPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoordPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexPointerListIBM(int size, int type, int stride, @NativeType("const void **") MemorySegment pointer, int ptrstride) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexPointerListIBM).invokeExact(size, type, stride, pointer, ptrstride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELConst.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java similarity index 61% rename from modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELConst.java rename to modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java index 20d60325..17015fe2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELConst.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-2023 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,21 +14,19 @@ * copies or substantial portions of the Software. */ -package overrungl.opengl.ext; +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.intel; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * GL Intel constants - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLINTELConst { - /** - * {@code GL_INTEL_blackhole_render} - */ + * {@code GL_INTEL_blackhole_render} + */ +public final class GLINTELBlackholeRender { public static final int GL_BLACKHOLE_RENDER_INTEL = 0x83FC; - /** - * {@code GL_INTEL_conservative_rasterization} - */ - public static final int GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java new file mode 100644 index 00000000..ff28c6b5 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.intel; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_INTEL_conservative_rasterization} + */ +public final class GLINTELConservativeRasterization { + public static final int GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELFramebufferCMAA.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java similarity index 61% rename from modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELFramebufferCMAA.java rename to modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java index 0e917a62..0966dbc1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELFramebufferCMAA.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java @@ -14,31 +14,30 @@ * copies or substantial portions of the Software. */ -package overrungl.opengl.ext; +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.intel; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INTEL_framebuffer_CMAA} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_INTEL_framebuffer_CMAA} + */ public final class GLINTELFramebufferCMAA { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_INTEL_framebuffer_CMAA) return; - ext.glApplyFramebufferAttachmentCMAAINTEL = load.invoke("glApplyFramebufferAttachmentCMAAINTEL", FunctionDescriptors.V); + ext.glApplyFramebufferAttachmentCMAAINTEL = load.invoke("glApplyFramebufferAttachmentCMAAINTEL", ofVoid()); } public static void glApplyFramebufferAttachmentCMAAINTEL() { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glApplyFramebufferAttachmentCMAAINTEL).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glApplyFramebufferAttachmentCMAAINTEL).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java new file mode 100644 index 00000000..0a8ef3b6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java @@ -0,0 +1,64 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.intel; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_INTEL_map_texture} + */ +public final class GLINTELMapTexture { + public static final int GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; + public static final int GL_LAYOUT_DEFAULT_INTEL = 0; + public static final int GL_LAYOUT_LINEAR_INTEL = 1; + public static final int GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_INTEL_map_texture) return; + ext.glSyncTextureINTEL = load.invoke("glSyncTextureINTEL", ofVoid(JAVA_INT)); + ext.glUnmapTexture2DINTEL = load.invoke("glUnmapTexture2DINTEL", ofVoid(JAVA_INT, JAVA_INT)); + ext.glMapTexture2DINTEL = load.invoke("glMapTexture2DINTEL", of(ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glSyncTextureINTEL(int texture) { + final var ext = getExtCapabilities(); + try { + check(ext.glSyncTextureINTEL).invokeExact(texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUnmapTexture2DINTEL(int texture, int level) { + final var ext = getExtCapabilities(); + try { + check(ext.glUnmapTexture2DINTEL).invokeExact(texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static @NativeType("void*") MemorySegment glMapTexture2DINTEL(int texture, int level, int access, @NativeType("GLint *") MemorySegment stride, @NativeType("GLenum *") MemorySegment layout) { + final var ext = getExtCapabilities(); + try { + return (MemorySegment) + check(ext.glMapTexture2DINTEL).invokeExact(texture, level, access, stride, layout); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java new file mode 100644 index 00000000..fa68b6c1 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java @@ -0,0 +1,72 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.intel; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_INTEL_parallel_arrays} + */ +public final class GLINTELParallelArrays { + public static final int GL_PARALLEL_ARRAYS_INTEL = 0x83F4; + public static final int GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; + public static final int GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; + public static final int GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; + public static final int GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_INTEL_parallel_arrays) return; + ext.glVertexPointervINTEL = load.invoke("glVertexPointervINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNormalPointervINTEL = load.invoke("glNormalPointervINTEL", ofVoid(JAVA_INT, ADDRESS)); + ext.glColorPointervINTEL = load.invoke("glColorPointervINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexCoordPointervINTEL = load.invoke("glTexCoordPointervINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glVertexPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexPointervINTEL).invokeExact(size, type, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalPointervINTEL(int type, @NativeType("const void **") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalPointervINTEL).invokeExact(type, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorPointervINTEL).invokeExact(size, type, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoordPointervINTEL(int size, int type, @NativeType("const void **") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoordPointervINTEL).invokeExact(size, type, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java new file mode 100644 index 00000000..2af90c94 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java @@ -0,0 +1,135 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.intel; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_INTEL_performance_query} + */ +public final class GLINTELPerformanceQuery { + public static final int GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; + public static final int GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; + public static final int GL_PERFQUERY_WAIT_INTEL = 0x83FB; + public static final int GL_PERFQUERY_FLUSH_INTEL = 0x83FA; + public static final int GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; + public static final int GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; + public static final int GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; + public static final int GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; + public static final int GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; + public static final int GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; + public static final int GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; + public static final int GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; + public static final int GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; + public static final int GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; + public static final int GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; + public static final int GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; + public static final int GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; + public static final int GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; + public static final int GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; + public static final int GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_INTEL_performance_query) return; + ext.glBeginPerfQueryINTEL = load.invoke("glBeginPerfQueryINTEL", ofVoid(JAVA_INT)); + ext.glCreatePerfQueryINTEL = load.invoke("glCreatePerfQueryINTEL", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeletePerfQueryINTEL = load.invoke("glDeletePerfQueryINTEL", ofVoid(JAVA_INT)); + ext.glEndPerfQueryINTEL = load.invoke("glEndPerfQueryINTEL", ofVoid(JAVA_INT)); + ext.glGetFirstPerfQueryIdINTEL = load.invoke("glGetFirstPerfQueryIdINTEL", ofVoid(ADDRESS)); + ext.glGetNextPerfQueryIdINTEL = load.invoke("glGetNextPerfQueryIdINTEL", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetPerfCounterInfoINTEL = load.invoke("glGetPerfCounterInfoINTEL", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glGetPerfQueryDataINTEL = load.invoke("glGetPerfQueryDataINTEL", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetPerfQueryIdByNameINTEL = load.invoke("glGetPerfQueryIdByNameINTEL", ofVoid(ADDRESS, ADDRESS)); + ext.glGetPerfQueryInfoINTEL = load.invoke("glGetPerfQueryInfoINTEL", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + } + + public static void glBeginPerfQueryINTEL(int queryHandle) { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginPerfQueryINTEL).invokeExact(queryHandle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCreatePerfQueryINTEL(int queryId, @NativeType("GLuint *") MemorySegment queryHandle) { + final var ext = getExtCapabilities(); + try { + check(ext.glCreatePerfQueryINTEL).invokeExact(queryId, queryHandle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeletePerfQueryINTEL(int queryHandle) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeletePerfQueryINTEL).invokeExact(queryHandle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndPerfQueryINTEL(int queryHandle) { + final var ext = getExtCapabilities(); + try { + check(ext.glEndPerfQueryINTEL).invokeExact(queryHandle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFirstPerfQueryIdINTEL(@NativeType("GLuint *") MemorySegment queryId) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFirstPerfQueryIdINTEL).invokeExact(queryId); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNextPerfQueryIdINTEL(int queryId, @NativeType("GLuint *") MemorySegment nextQueryId) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNextPerfQueryIdINTEL).invokeExact(queryId, nextQueryId); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPerfCounterInfoINTEL(int queryId, int counterId, int counterNameLength, @NativeType("GLchar *") MemorySegment counterName, int counterDescLength, @NativeType("GLchar *") MemorySegment counterDesc, @NativeType("GLuint *") MemorySegment counterOffset, @NativeType("GLuint *") MemorySegment counterDataSize, @NativeType("GLuint *") MemorySegment counterTypeEnum, @NativeType("GLuint *") MemorySegment counterDataTypeEnum, @NativeType("GLuint64 *") MemorySegment rawCounterMaxValue) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPerfCounterInfoINTEL).invokeExact(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPerfQueryDataINTEL(int queryHandle, int flags, int dataSize, @NativeType("void *") MemorySegment data, @NativeType("GLuint *") MemorySegment bytesWritten) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPerfQueryDataINTEL).invokeExact(queryHandle, flags, dataSize, data, bytesWritten); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPerfQueryIdByNameINTEL(@NativeType("GLchar *") MemorySegment queryName, @NativeType("GLuint *") MemorySegment queryId) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPerfQueryIdByNameINTEL).invokeExact(queryName, queryId); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPerfQueryInfoINTEL(int queryId, int queryNameLength, @NativeType("GLchar *") MemorySegment queryName, @NativeType("GLuint *") MemorySegment dataSize, @NativeType("GLuint *") MemorySegment noCounters, @NativeType("GLuint *") MemorySegment noInstances, @NativeType("GLuint *") MemorySegment capsMask) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPerfQueryInfoINTEL).invokeExact(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java index f3139a28..23c95a69 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.khr; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -28,7 +43,6 @@ public final class GLKHRBlendEquationAdvanced { public static final int GL_HSL_SATURATION_KHR = 0x92AE; public static final int GL_HSL_COLOR_KHR = 0x92AF; public static final int GL_HSL_LUMINOSITY_KHR = 0x92B0; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_KHR_blend_equation_advanced) return; ext.glBlendBarrierKHR = load.invoke("glBlendBarrierKHR", ofVoid()); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java index 6f80eded..f05c9ef8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.khr; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java index c25ba91f..4102fdc3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.khr; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java index 0baafa66..6302108b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.khr; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; @@ -15,7 +30,6 @@ public final class GLKHRParallelShaderCompile { public static final int GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; public static final int GL_COMPLETION_STATUS_KHR = 0x91B1; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_KHR_parallel_shader_compile) return; ext.glMaxShaderCompilerThreadsKHR = load.invoke("glMaxShaderCompilerThreadsKHR", ofVoid(JAVA_INT)); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java index 95909150..ef4c686c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.khr; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java index b7128680..4f21b428 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.khr; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java index 5554a404..da263356 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java @@ -1,11 +1,26 @@ -// this file is auto-generated. DO NOT EDIT! +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.khr; import overrungl.*; import overrungl.opengl.*; import java.lang.foreign.*; -import static java.lang.foreign.FunctionDescriptor.of; -import static java.lang.foreign.FunctionDescriptor.ofVoid; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; import static overrungl.opengl.GLLoader.*; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java new file mode 100644 index 00000000..29050035 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_framebuffer_flip_x} + */ +public final class GLMESAFramebufferFlipX { + public static final int GL_FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java new file mode 100644 index 00000000..bf33b39e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java @@ -0,0 +1,52 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_framebuffer_flip_y} + */ +public final class GLMESAFramebufferFlipY { + public static final int GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_MESA_framebuffer_flip_y) return; + ext.glFramebufferParameteriMESA = load.invoke("glFramebufferParameteriMESA", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetFramebufferParameterivMESA = load.invoke("glGetFramebufferParameterivMESA", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glFramebufferParameteriMESA(int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferParameteriMESA).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFramebufferParameterivMESA(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFramebufferParameterivMESA).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java new file mode 100644 index 00000000..eb0b4b94 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_framebuffer_swap_xy} + */ +public final class GLMESAFramebufferSwapXY { + public static final int GL_FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java new file mode 100644 index 00000000..c31731ea --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_pack_invert} + */ +public final class GLMESAPackInvert { + public static final int GL_PACK_INVERT_MESA = 0x8758; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java new file mode 100644 index 00000000..92cd8197 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_program_binary_formats} + */ +public final class GLMESAProgramBinaryFormats { + public static final int GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAResizeBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java similarity index 63% rename from modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAResizeBuffers.java rename to modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java index c0ed8889..b7384076 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLMESAResizeBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java @@ -14,31 +14,30 @@ * copies or substantial portions of the Software. */ -package overrungl.opengl.ext; +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_resize_buffers} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_MESA_resize_buffers} + */ public final class GLMESAResizeBuffers { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_MESA_resize_buffers) return; - ext.glResizeBuffersMESA = load.invoke("glResizeBuffersMESA", FunctionDescriptors.V); + ext.glResizeBuffersMESA = load.invoke("glResizeBuffersMESA", ofVoid()); } public static void glResizeBuffersMESA() { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glResizeBuffersMESA).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glResizeBuffersMESA).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java new file mode 100644 index 00000000..93a3db15 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_tile_raster_order} + */ +public final class GLMESATileRasterOrder { + public static final int GL_TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; + public static final int GL_TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; + public static final int GL_TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java new file mode 100644 index 00000000..e0fd4b35 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java @@ -0,0 +1,227 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_window_pos} + */ +public final class GLMESAWindowPos { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_MESA_window_pos) return; + ext.glWindowPos2dMESA = load.invoke("glWindowPos2dMESA", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glWindowPos2dvMESA = load.invoke("glWindowPos2dvMESA", ofVoid(ADDRESS)); + ext.glWindowPos2fMESA = load.invoke("glWindowPos2fMESA", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); + ext.glWindowPos2fvMESA = load.invoke("glWindowPos2fvMESA", ofVoid(ADDRESS)); + ext.glWindowPos2iMESA = load.invoke("glWindowPos2iMESA", ofVoid(JAVA_INT, JAVA_INT)); + ext.glWindowPos2ivMESA = load.invoke("glWindowPos2ivMESA", ofVoid(ADDRESS)); + ext.glWindowPos2sMESA = load.invoke("glWindowPos2sMESA", ofVoid(JAVA_SHORT, JAVA_SHORT)); + ext.glWindowPos2svMESA = load.invoke("glWindowPos2svMESA", ofVoid(ADDRESS)); + ext.glWindowPos3dMESA = load.invoke("glWindowPos3dMESA", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glWindowPos3dvMESA = load.invoke("glWindowPos3dvMESA", ofVoid(ADDRESS)); + ext.glWindowPos3fMESA = load.invoke("glWindowPos3fMESA", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glWindowPos3fvMESA = load.invoke("glWindowPos3fvMESA", ofVoid(ADDRESS)); + ext.glWindowPos3iMESA = load.invoke("glWindowPos3iMESA", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glWindowPos3ivMESA = load.invoke("glWindowPos3ivMESA", ofVoid(ADDRESS)); + ext.glWindowPos3sMESA = load.invoke("glWindowPos3sMESA", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glWindowPos3svMESA = load.invoke("glWindowPos3svMESA", ofVoid(ADDRESS)); + ext.glWindowPos4dMESA = load.invoke("glWindowPos4dMESA", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glWindowPos4dvMESA = load.invoke("glWindowPos4dvMESA", ofVoid(ADDRESS)); + ext.glWindowPos4fMESA = load.invoke("glWindowPos4fMESA", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glWindowPos4fvMESA = load.invoke("glWindowPos4fvMESA", ofVoid(ADDRESS)); + ext.glWindowPos4iMESA = load.invoke("glWindowPos4iMESA", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glWindowPos4ivMESA = load.invoke("glWindowPos4ivMESA", ofVoid(ADDRESS)); + ext.glWindowPos4sMESA = load.invoke("glWindowPos4sMESA", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glWindowPos4svMESA = load.invoke("glWindowPos4svMESA", ofVoid(ADDRESS)); + } + + public static void glWindowPos2dMESA(double x, double y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2dMESA).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2dvMESA(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2dvMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2fMESA(float x, float y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2fMESA).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2fvMESA(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2fvMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2iMESA(int x, int y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2iMESA).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2ivMESA(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2ivMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2sMESA(short x, short y) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2sMESA).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos2svMESA(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos2svMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3dMESA(double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3dMESA).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3dvMESA(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3dvMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3fMESA(float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3fMESA).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3fvMESA(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3fvMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3iMESA(int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3iMESA).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3ivMESA(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3ivMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3sMESA(short x, short y, short z) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3sMESA).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos3svMESA(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos3svMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4dMESA(double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4dMESA).invokeExact(x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4dvMESA(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4dvMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4fMESA(float x, float y, float z, float w) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4fMESA).invokeExact(x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4fvMESA(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4fvMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4iMESA(int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4iMESA).invokeExact(x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4ivMESA(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4ivMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4sMESA(short x, short y, short z, short w) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4sMESA).invokeExact(x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWindowPos4svMESA(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowPos4svMESA).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java new file mode 100644 index 00000000..85c4565e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java @@ -0,0 +1,37 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESAX_texture_stack} + */ +public final class GLMESAXTextureStack { + public static final int GL_TEXTURE_1D_STACK_MESAX = 0x8759; + public static final int GL_TEXTURE_2D_STACK_MESAX = 0x875A; + public static final int GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; + public static final int GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; + public static final int GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; + public static final int GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java new file mode 100644 index 00000000..1923d95a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.mesa; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_MESA_ycbcr_texture} + */ +public final class GLMESAYcbcrTexture { + public static final int GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA; + public static final int GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; + public static final int GL_YCBCR_MESA = 0x8757; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java new file mode 100644 index 00000000..9911731c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java @@ -0,0 +1,211 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.oes; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OES_byte_coordinates} + */ +public final class GLOESByteCoordinates { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_OES_byte_coordinates) return; + ext.glMultiTexCoord1bOES = load.invoke("glMultiTexCoord1bOES", ofVoid(JAVA_INT, JAVA_BYTE)); + ext.glMultiTexCoord1bvOES = load.invoke("glMultiTexCoord1bvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord2bOES = load.invoke("glMultiTexCoord2bOES", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE)); + ext.glMultiTexCoord2bvOES = load.invoke("glMultiTexCoord2bvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord3bOES = load.invoke("glMultiTexCoord3bOES", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glMultiTexCoord3bvOES = load.invoke("glMultiTexCoord3bvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord4bOES = load.invoke("glMultiTexCoord4bOES", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glMultiTexCoord4bvOES = load.invoke("glMultiTexCoord4bvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glTexCoord1bOES = load.invoke("glTexCoord1bOES", ofVoid(JAVA_BYTE)); + ext.glTexCoord1bvOES = load.invoke("glTexCoord1bvOES", ofVoid(ADDRESS)); + ext.glTexCoord2bOES = load.invoke("glTexCoord2bOES", ofVoid(JAVA_BYTE, JAVA_BYTE)); + ext.glTexCoord2bvOES = load.invoke("glTexCoord2bvOES", ofVoid(ADDRESS)); + ext.glTexCoord3bOES = load.invoke("glTexCoord3bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glTexCoord3bvOES = load.invoke("glTexCoord3bvOES", ofVoid(ADDRESS)); + ext.glTexCoord4bOES = load.invoke("glTexCoord4bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glTexCoord4bvOES = load.invoke("glTexCoord4bvOES", ofVoid(ADDRESS)); + ext.glVertex2bOES = load.invoke("glVertex2bOES", ofVoid(JAVA_BYTE, JAVA_BYTE)); + ext.glVertex2bvOES = load.invoke("glVertex2bvOES", ofVoid(ADDRESS)); + ext.glVertex3bOES = load.invoke("glVertex3bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glVertex3bvOES = load.invoke("glVertex3bvOES", ofVoid(ADDRESS)); + ext.glVertex4bOES = load.invoke("glVertex4bOES", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glVertex4bvOES = load.invoke("glVertex4bvOES", ofVoid(ADDRESS)); + } + + public static void glMultiTexCoord1bOES(int texture, byte s) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord1bOES).invokeExact(texture, s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord1bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord1bvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord2bOES(int texture, byte s, byte t) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord2bOES).invokeExact(texture, s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord2bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord2bvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord3bOES(int texture, byte s, byte t, byte r) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord3bOES).invokeExact(texture, s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord3bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord3bvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord4bOES(int texture, byte s, byte t, byte r, byte q) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord4bOES).invokeExact(texture, s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord4bvOES(int texture, @NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord4bvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord1bOES(byte s) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord1bOES).invokeExact(s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord1bvOES(@NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord1bvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord2bOES(byte s, byte t) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord2bOES).invokeExact(s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord2bvOES(@NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord2bvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord3bOES(byte s, byte t, byte r) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord3bOES).invokeExact(s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord3bvOES(@NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord3bvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord4bOES(byte s, byte t, byte r, byte q) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord4bOES).invokeExact(s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord4bvOES(@NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord4bvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex2bOES(byte x, byte y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex2bOES).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex2bvOES(@NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex2bvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex3bOES(byte x, byte y, byte z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex3bOES).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex3bvOES(@NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex3bvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex4bOES(byte x, byte y, byte z, byte w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex4bOES).invokeExact(x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex4bvOES(@NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex4bvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java new file mode 100644 index 00000000..19893878 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java @@ -0,0 +1,41 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.oes; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OES_compressed_paletted_texture} + */ +public final class GLOESCompressedPalettedTexture { + public static final int GL_PALETTE4_RGB8_OES = 0x8B90; + public static final int GL_PALETTE4_RGBA8_OES = 0x8B91; + public static final int GL_PALETTE4_R5_G6_B5_OES = 0x8B92; + public static final int GL_PALETTE4_RGBA4_OES = 0x8B93; + public static final int GL_PALETTE4_RGB5_A1_OES = 0x8B94; + public static final int GL_PALETTE8_RGB8_OES = 0x8B95; + public static final int GL_PALETTE8_RGBA8_OES = 0x8B96; + public static final int GL_PALETTE8_R5_G6_B5_OES = 0x8B97; + public static final int GL_PALETTE8_RGBA4_OES = 0x8B98; + public static final int GL_PALETTE8_RGB5_A1_OES = 0x8B99; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java new file mode 100644 index 00000000..8a64f6c0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java @@ -0,0 +1,860 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.oes; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OES_fixed_point} + */ +public final class GLOESFixedPoint { + public static final int GL_FIXED_OES = 0x140C; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_OES_fixed_point) return; + ext.glAlphaFuncxOES = load.invoke("glAlphaFuncxOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glClearColorxOES = load.invoke("glClearColorxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glClearDepthxOES = load.invoke("glClearDepthxOES", ofVoid(JAVA_INT)); + ext.glClipPlanexOES = load.invoke("glClipPlanexOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glColor4xOES = load.invoke("glColor4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glDepthRangexOES = load.invoke("glDepthRangexOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glFogxOES = load.invoke("glFogxOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glFogxvOES = load.invoke("glFogxvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glFrustumxOES = load.invoke("glFrustumxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetClipPlanexOES = load.invoke("glGetClipPlanexOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetFixedvOES = load.invoke("glGetFixedvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetTexEnvxvOES = load.invoke("glGetTexEnvxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTexParameterxvOES = load.invoke("glGetTexParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glLightModelxOES = load.invoke("glLightModelxOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glLightModelxvOES = load.invoke("glLightModelxvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glLightxOES = load.invoke("glLightxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glLightxvOES = load.invoke("glLightxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glLineWidthxOES = load.invoke("glLineWidthxOES", ofVoid(JAVA_INT)); + ext.glLoadMatrixxOES = load.invoke("glLoadMatrixxOES", ofVoid(ADDRESS)); + ext.glMaterialxOES = load.invoke("glMaterialxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMaterialxvOES = load.invoke("glMaterialxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultMatrixxOES = load.invoke("glMultMatrixxOES", ofVoid(ADDRESS)); + ext.glMultiTexCoord4xOES = load.invoke("glMultiTexCoord4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNormal3xOES = load.invoke("glNormal3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glOrthoxOES = load.invoke("glOrthoxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glPointParameterxvOES = load.invoke("glPointParameterxvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glPointSizexOES = load.invoke("glPointSizexOES", ofVoid(JAVA_INT)); + ext.glPolygonOffsetxOES = load.invoke("glPolygonOffsetxOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glRotatexOES = load.invoke("glRotatexOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glScalexOES = load.invoke("glScalexOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexEnvxOES = load.invoke("glTexEnvxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexEnvxvOES = load.invoke("glTexEnvxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexParameterxOES = load.invoke("glTexParameterxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexParameterxvOES = load.invoke("glTexParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTranslatexOES = load.invoke("glTranslatexOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glAccumxOES = load.invoke("glAccumxOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glBitmapxOES = load.invoke("glBitmapxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glBlendColorxOES = load.invoke("glBlendColorxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glClearAccumxOES = load.invoke("glClearAccumxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glColor3xOES = load.invoke("glColor3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glColor3xvOES = load.invoke("glColor3xvOES", ofVoid(ADDRESS)); + ext.glColor4xvOES = load.invoke("glColor4xvOES", ofVoid(ADDRESS)); + ext.glConvolutionParameterxOES = load.invoke("glConvolutionParameterxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glConvolutionParameterxvOES = load.invoke("glConvolutionParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glEvalCoord1xOES = load.invoke("glEvalCoord1xOES", ofVoid(JAVA_INT)); + ext.glEvalCoord1xvOES = load.invoke("glEvalCoord1xvOES", ofVoid(ADDRESS)); + ext.glEvalCoord2xOES = load.invoke("glEvalCoord2xOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glEvalCoord2xvOES = load.invoke("glEvalCoord2xvOES", ofVoid(ADDRESS)); + ext.glFeedbackBufferxOES = load.invoke("glFeedbackBufferxOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetConvolutionParameterxvOES = load.invoke("glGetConvolutionParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetHistogramParameterxvOES = load.invoke("glGetHistogramParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetLightxOES = load.invoke("glGetLightxOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMapxvOES = load.invoke("glGetMapxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMaterialxOES = load.invoke("glGetMaterialxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetPixelMapxv = load.invoke("glGetPixelMapxv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTexGenxvOES = load.invoke("glGetTexGenxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTexLevelParameterxvOES = load.invoke("glGetTexLevelParameterxvOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glIndexxOES = load.invoke("glIndexxOES", ofVoid(JAVA_INT)); + ext.glIndexxvOES = load.invoke("glIndexxvOES", ofVoid(ADDRESS)); + ext.glLoadTransposeMatrixxOES = load.invoke("glLoadTransposeMatrixxOES", ofVoid(ADDRESS)); + ext.glMap1xOES = load.invoke("glMap1xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMap2xOES = load.invoke("glMap2xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMapGrid1xOES = load.invoke("glMapGrid1xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMapGrid2xOES = load.invoke("glMapGrid2xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultTransposeMatrixxOES = load.invoke("glMultTransposeMatrixxOES", ofVoid(ADDRESS)); + ext.glMultiTexCoord1xOES = load.invoke("glMultiTexCoord1xOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glMultiTexCoord1xvOES = load.invoke("glMultiTexCoord1xvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord2xOES = load.invoke("glMultiTexCoord2xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexCoord2xvOES = load.invoke("glMultiTexCoord2xvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord3xOES = load.invoke("glMultiTexCoord3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexCoord3xvOES = load.invoke("glMultiTexCoord3xvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord4xvOES = load.invoke("glMultiTexCoord4xvOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glNormal3xvOES = load.invoke("glNormal3xvOES", ofVoid(ADDRESS)); + ext.glPassThroughxOES = load.invoke("glPassThroughxOES", ofVoid(JAVA_INT)); + ext.glPixelMapx = load.invoke("glPixelMapx", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPixelStorex = load.invoke("glPixelStorex", ofVoid(JAVA_INT, JAVA_INT)); + ext.glPixelTransferxOES = load.invoke("glPixelTransferxOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glPixelZoomxOES = load.invoke("glPixelZoomxOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glPrioritizeTexturesxOES = load.invoke("glPrioritizeTexturesxOES", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); + ext.glRasterPos2xOES = load.invoke("glRasterPos2xOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glRasterPos2xvOES = load.invoke("glRasterPos2xvOES", ofVoid(ADDRESS)); + ext.glRasterPos3xOES = load.invoke("glRasterPos3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glRasterPos3xvOES = load.invoke("glRasterPos3xvOES", ofVoid(ADDRESS)); + ext.glRasterPos4xOES = load.invoke("glRasterPos4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glRasterPos4xvOES = load.invoke("glRasterPos4xvOES", ofVoid(ADDRESS)); + ext.glRectxOES = load.invoke("glRectxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glRectxvOES = load.invoke("glRectxvOES", ofVoid(ADDRESS, ADDRESS)); + ext.glTexCoord1xOES = load.invoke("glTexCoord1xOES", ofVoid(JAVA_INT)); + ext.glTexCoord1xvOES = load.invoke("glTexCoord1xvOES", ofVoid(ADDRESS)); + ext.glTexCoord2xOES = load.invoke("glTexCoord2xOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glTexCoord2xvOES = load.invoke("glTexCoord2xvOES", ofVoid(ADDRESS)); + ext.glTexCoord3xOES = load.invoke("glTexCoord3xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexCoord3xvOES = load.invoke("glTexCoord3xvOES", ofVoid(ADDRESS)); + ext.glTexCoord4xOES = load.invoke("glTexCoord4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexCoord4xvOES = load.invoke("glTexCoord4xvOES", ofVoid(ADDRESS)); + ext.glTexGenxOES = load.invoke("glTexGenxOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexGenxvOES = load.invoke("glTexGenxvOES", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertex2xOES = load.invoke("glVertex2xOES", ofVoid(JAVA_INT)); + ext.glVertex2xvOES = load.invoke("glVertex2xvOES", ofVoid(ADDRESS)); + ext.glVertex3xOES = load.invoke("glVertex3xOES", ofVoid(JAVA_INT, JAVA_INT)); + ext.glVertex3xvOES = load.invoke("glVertex3xvOES", ofVoid(ADDRESS)); + ext.glVertex4xOES = load.invoke("glVertex4xOES", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertex4xvOES = load.invoke("glVertex4xvOES", ofVoid(ADDRESS)); + } + + public static void glAlphaFuncxOES(int func, int ref) { + final var ext = getExtCapabilities(); + try { + check(ext.glAlphaFuncxOES).invokeExact(func, ref); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearColorxOES(int red, int green, int blue, int alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearColorxOES).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearDepthxOES(int depth) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearDepthxOES).invokeExact(depth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClipPlanexOES(int plane, @NativeType("const GLfixed *") MemorySegment equation) { + final var ext = getExtCapabilities(); + try { + check(ext.glClipPlanexOES).invokeExact(plane, equation); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor4xOES(int red, int green, int blue, int alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor4xOES).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDepthRangexOES(int n, int f) { + final var ext = getExtCapabilities(); + try { + check(ext.glDepthRangexOES).invokeExact(n, f); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogxOES(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogxOES).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogxvOES(int pname, @NativeType("const GLfixed *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogxvOES).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFrustumxOES(int l, int r, int b, int t, int n, int f) { + final var ext = getExtCapabilities(); + try { + check(ext.glFrustumxOES).invokeExact(l, r, b, t, n, f); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetClipPlanexOES(int plane, @NativeType("GLfixed *") MemorySegment equation) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetClipPlanexOES).invokeExact(plane, equation); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFixedvOES(int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFixedvOES).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexEnvxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexEnvxvOES).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexParameterxvOES).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLightModelxOES(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glLightModelxOES).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLightModelxvOES(int pname, @NativeType("const GLfixed *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glLightModelxvOES).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLightxOES(int light, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glLightxOES).invokeExact(light, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLightxvOES(int light, int pname, @NativeType("const GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glLightxvOES).invokeExact(light, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLineWidthxOES(int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glLineWidthxOES).invokeExact(width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLoadMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glLoadMatrixxOES).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMaterialxOES(int face, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMaterialxOES).invokeExact(face, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMaterialxvOES(int face, int pname, @NativeType("const GLfixed *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMaterialxvOES).invokeExact(face, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultMatrixxOES).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord4xOES(int texture, int s, int t, int r, int q) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord4xOES).invokeExact(texture, s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormal3xOES(int nx, int ny, int nz) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormal3xOES).invokeExact(nx, ny, nz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glOrthoxOES(int l, int r, int b, int t, int n, int f) { + final var ext = getExtCapabilities(); + try { + check(ext.glOrthoxOES).invokeExact(l, r, b, t, n, f); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPointParameterxvOES(int pname, @NativeType("const GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointParameterxvOES).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPointSizexOES(int size) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointSizexOES).invokeExact(size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPolygonOffsetxOES(int factor, int units) { + final var ext = getExtCapabilities(); + try { + check(ext.glPolygonOffsetxOES).invokeExact(factor, units); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRotatexOES(int angle, int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glRotatexOES).invokeExact(angle, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glScalexOES(int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glScalexOES).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexEnvxOES(int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexEnvxOES).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexEnvxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexEnvxvOES).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexParameterxOES(int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexParameterxOES).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexParameterxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexParameterxvOES).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTranslatexOES(int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glTranslatexOES).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glAccumxOES(int op, int value) { + final var ext = getExtCapabilities(); + try { + check(ext.glAccumxOES).invokeExact(op, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBitmapxOES(int width, int height, int xorig, int yorig, int xmove, int ymove, @NativeType("const GLubyte *") MemorySegment bitmap) { + final var ext = getExtCapabilities(); + try { + check(ext.glBitmapxOES).invokeExact(width, height, xorig, yorig, xmove, ymove, bitmap); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBlendColorxOES(int red, int green, int blue, int alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendColorxOES).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearAccumxOES(int red, int green, int blue, int alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearAccumxOES).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor3xOES(int red, int green, int blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor3xOES).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor3xvOES(@NativeType("const GLfixed *") MemorySegment components) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor3xvOES).invokeExact(components); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor4xvOES(@NativeType("const GLfixed *") MemorySegment components) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor4xvOES).invokeExact(components); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameterxOES(int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameterxOES).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameterxvOES(int target, int pname, @NativeType("const GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameterxvOES).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEvalCoord1xOES(int u) { + final var ext = getExtCapabilities(); + try { + check(ext.glEvalCoord1xOES).invokeExact(u); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEvalCoord1xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glEvalCoord1xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEvalCoord2xOES(int u, int v) { + final var ext = getExtCapabilities(); + try { + check(ext.glEvalCoord2xOES).invokeExact(u, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEvalCoord2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glEvalCoord2xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFeedbackBufferxOES(int n, int type, @NativeType("const GLfixed *") MemorySegment buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glFeedbackBufferxOES).invokeExact(n, type, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetConvolutionParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetConvolutionParameterxvOES).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetHistogramParameterxvOES(int target, int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetHistogramParameterxvOES).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetLightxOES(int light, int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetLightxOES).invokeExact(light, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMapxvOES(int target, int query, @NativeType("GLfixed *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMapxvOES).invokeExact(target, query, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMaterialxOES(int face, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMaterialxOES).invokeExact(face, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPixelMapxv(int map, int size, @NativeType("GLfixed *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPixelMapxv).invokeExact(map, size, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexGenxvOES(int coord, int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexGenxvOES).invokeExact(coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexLevelParameterxvOES(int target, int level, int pname, @NativeType("GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexLevelParameterxvOES).invokeExact(target, level, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glIndexxOES(int component) { + final var ext = getExtCapabilities(); + try { + check(ext.glIndexxOES).invokeExact(component); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glIndexxvOES(@NativeType("const GLfixed *") MemorySegment component) { + final var ext = getExtCapabilities(); + try { + check(ext.glIndexxvOES).invokeExact(component); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLoadTransposeMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glLoadTransposeMatrixxOES).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMap1xOES(int target, int u1, int u2, int stride, int order, int points) { + final var ext = getExtCapabilities(); + try { + check(ext.glMap1xOES).invokeExact(target, u1, u2, stride, order, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMap2xOES(int target, int u1, int u2, int ustride, int uorder, int v1, int v2, int vstride, int vorder, int points) { + final var ext = getExtCapabilities(); + try { + check(ext.glMap2xOES).invokeExact(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMapGrid1xOES(int n, int u1, int u2) { + final var ext = getExtCapabilities(); + try { + check(ext.glMapGrid1xOES).invokeExact(n, u1, u2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMapGrid2xOES(int n, int u1, int u2, int v1, int v2) { + final var ext = getExtCapabilities(); + try { + check(ext.glMapGrid2xOES).invokeExact(n, u1, u2, v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultTransposeMatrixxOES(@NativeType("const GLfixed *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultTransposeMatrixxOES).invokeExact(m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord1xOES(int texture, int s) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord1xOES).invokeExact(texture, s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord1xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord1xvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord2xOES(int texture, int s, int t) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord2xOES).invokeExact(texture, s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord2xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord2xvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord3xOES(int texture, int s, int t, int r) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord3xOES).invokeExact(texture, s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord3xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord3xvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord4xvOES(int texture, @NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord4xvOES).invokeExact(texture, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormal3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormal3xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPassThroughxOES(int token) { + final var ext = getExtCapabilities(); + try { + check(ext.glPassThroughxOES).invokeExact(token); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelMapx(int map, int size, @NativeType("const GLfixed *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelMapx).invokeExact(map, size, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelStorex(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelStorex).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelTransferxOES(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTransferxOES).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelZoomxOES(int xfactor, int yfactor) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelZoomxOES).invokeExact(xfactor, yfactor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPrioritizeTexturesxOES(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLfixed *") MemorySegment priorities) { + final var ext = getExtCapabilities(); + try { + check(ext.glPrioritizeTexturesxOES).invokeExact(n, textures, priorities); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRasterPos2xOES(int x, int y) { + final var ext = getExtCapabilities(); + try { + check(ext.glRasterPos2xOES).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRasterPos2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glRasterPos2xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRasterPos3xOES(int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glRasterPos3xOES).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRasterPos3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glRasterPos3xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRasterPos4xOES(int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glRasterPos4xOES).invokeExact(x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRasterPos4xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glRasterPos4xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRectxOES(int x1, int y1, int x2, int y2) { + final var ext = getExtCapabilities(); + try { + check(ext.glRectxOES).invokeExact(x1, y1, x2, y2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRectxvOES(@NativeType("const GLfixed *") MemorySegment v1, @NativeType("const GLfixed *") MemorySegment v2) { + final var ext = getExtCapabilities(); + try { + check(ext.glRectxvOES).invokeExact(v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord1xOES(int s) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord1xOES).invokeExact(s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord1xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord1xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord2xOES(int s, int t) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord2xOES).invokeExact(s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord2xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord3xOES(int s, int t, int r) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord3xOES).invokeExact(s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord3xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord4xOES(int s, int t, int r, int q) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord4xOES).invokeExact(s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord4xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord4xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexGenxOES(int coord, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexGenxOES).invokeExact(coord, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexGenxvOES(int coord, int pname, @NativeType("const GLfixed *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexGenxvOES).invokeExact(coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex2xOES(int x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex2xOES).invokeExact(x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex2xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex2xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex3xOES(int x, int y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex3xOES).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex3xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex3xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex4xOES(int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex4xOES).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex4xvOES(@NativeType("const GLfixed *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex4xvOES).invokeExact(coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java new file mode 100644 index 00000000..686760da --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java @@ -0,0 +1,44 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.oes; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OES_query_matrix} + */ +public final class GLOESQueryMatrix { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_OES_query_matrix) return; + ext.glQueryMatrixxOES = load.invoke("glQueryMatrixxOES", of(JAVA_INT, ADDRESS, ADDRESS)); + } + + public static int glQueryMatrixxOES(@NativeType("GLfixed *") MemorySegment mantissa, @NativeType("GLint *") MemorySegment exponent) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glQueryMatrixxOES).invokeExact(mantissa, exponent); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java new file mode 100644 index 00000000..56514999 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.oes; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OES_read_format} + */ +public final class GLOESReadFormat { + public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; + public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java new file mode 100644 index 00000000..87763fdc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java @@ -0,0 +1,83 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.oes; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OES_single_precision} + */ +public final class GLOESSinglePrecision { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_OES_single_precision) return; + ext.glClearDepthfOES = load.invoke("glClearDepthfOES", ofVoid(JAVA_FLOAT)); + ext.glClipPlanefOES = load.invoke("glClipPlanefOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glDepthRangefOES = load.invoke("glDepthRangefOES", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); + ext.glFrustumfOES = load.invoke("glFrustumfOES", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glGetClipPlanefOES = load.invoke("glGetClipPlanefOES", ofVoid(JAVA_INT, ADDRESS)); + ext.glOrthofOES = load.invoke("glOrthofOES", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + } + + public static void glClearDepthfOES(float depth) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearDepthfOES).invokeExact(depth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClipPlanefOES(int plane, @NativeType("const GLfloat *") MemorySegment equation) { + final var ext = getExtCapabilities(); + try { + check(ext.glClipPlanefOES).invokeExact(plane, equation); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDepthRangefOES(float n, float f) { + final var ext = getExtCapabilities(); + try { + check(ext.glDepthRangefOES).invokeExact(n, f); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFrustumfOES(float l, float r, float b, float t, float n, float f) { + final var ext = getExtCapabilities(); + try { + check(ext.glFrustumfOES).invokeExact(l, r, b, t, n, f); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetClipPlanefOES(int plane, @NativeType("GLfloat *") MemorySegment equation) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetClipPlanefOES).invokeExact(plane, equation); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glOrthofOES(float l, float r, float b, float t, float n, float f) { + final var ext = getExtCapabilities(); + try { + check(ext.glOrthofOES).invokeExact(l, r, b, t, n, f); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java new file mode 100644 index 00000000..a66d8358 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sun; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SUN_convolution_border_modes} + */ +public final class GLSUNConvolutionBorderModes { + public static final int GL_WRAP_BORDER_SUN = 0x81D4; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java index 7f10634b..5f6807ac 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java @@ -14,102 +14,88 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.sun; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_global_alpha} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_SUN_global_alpha} + */ public final class GLSUNGlobalAlpha { + public static final int GL_GLOBAL_ALPHA_SUN = 0x81D9; + public static final int GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SUN_global_alpha) return; - ext.glGlobalAlphaFactorbSUN = load.invoke("glGlobalAlphaFactorbSUN", BV); - ext.glGlobalAlphaFactordSUN = load.invoke("glGlobalAlphaFactordSUN", DV); - ext.glGlobalAlphaFactorfSUN = load.invoke("glGlobalAlphaFactorfSUN", FV); - ext.glGlobalAlphaFactoriSUN = load.invoke("glGlobalAlphaFactoriSUN", IV); - ext.glGlobalAlphaFactorsSUN = load.invoke("glGlobalAlphaFactorsSUN", SV); - ext.glGlobalAlphaFactorubSUN = load.invoke("glGlobalAlphaFactorubSUN", BV); - ext.glGlobalAlphaFactoruiSUN = load.invoke("glGlobalAlphaFactoruiSUN", IV); - ext.glGlobalAlphaFactorusSUN = load.invoke("glGlobalAlphaFactorusSUN", SV); + ext.glGlobalAlphaFactorbSUN = load.invoke("glGlobalAlphaFactorbSUN", ofVoid(JAVA_BYTE)); + ext.glGlobalAlphaFactorsSUN = load.invoke("glGlobalAlphaFactorsSUN", ofVoid(JAVA_SHORT)); + ext.glGlobalAlphaFactoriSUN = load.invoke("glGlobalAlphaFactoriSUN", ofVoid(JAVA_INT)); + ext.glGlobalAlphaFactorfSUN = load.invoke("glGlobalAlphaFactorfSUN", ofVoid(JAVA_FLOAT)); + ext.glGlobalAlphaFactordSUN = load.invoke("glGlobalAlphaFactordSUN", ofVoid(JAVA_DOUBLE)); + ext.glGlobalAlphaFactorubSUN = load.invoke("glGlobalAlphaFactorubSUN", ofVoid(JAVA_BYTE)); + ext.glGlobalAlphaFactorusSUN = load.invoke("glGlobalAlphaFactorusSUN", ofVoid(JAVA_SHORT)); + ext.glGlobalAlphaFactoruiSUN = load.invoke("glGlobalAlphaFactoruiSUN", ofVoid(JAVA_INT)); } public static void glGlobalAlphaFactorbSUN(byte factor) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactorbSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactorbSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGlobalAlphaFactordSUN(double factor) { - var ext = GLLoader.getExtCapabilities(); + public static void glGlobalAlphaFactorsSUN(short factor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactordSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactorsSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGlobalAlphaFactorfSUN(float factor) { - var ext = GLLoader.getExtCapabilities(); + public static void glGlobalAlphaFactoriSUN(int factor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactorfSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactoriSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGlobalAlphaFactoriSUN(int factor) { - var ext = GLLoader.getExtCapabilities(); + public static void glGlobalAlphaFactorfSUN(float factor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactoriSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactorfSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGlobalAlphaFactorsSUN(short factor) { - var ext = GLLoader.getExtCapabilities(); + public static void glGlobalAlphaFactordSUN(double factor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactorsSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactordSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glGlobalAlphaFactorubSUN(byte factor) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactorubSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactorubSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGlobalAlphaFactoruiSUN(int factor) { - var ext = GLLoader.getExtCapabilities(); + public static void glGlobalAlphaFactorusSUN(short factor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactoruiSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactorusSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGlobalAlphaFactorusSUN(short factor) { - var ext = GLLoader.getExtCapabilities(); + public static void glGlobalAlphaFactoruiSUN(int factor) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGlobalAlphaFactorusSUN).invokeExact(factor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGlobalAlphaFactoruiSUN).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java index 31bf0ee9..d795fb1a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java @@ -14,31 +14,32 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.sun; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_mesh_array} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_SUN_mesh_array} + */ public final class GLSUNMeshArray { + public static final int GL_QUAD_MESH_SUN = 0x8614; + public static final int GL_TRIANGLE_MESH_SUN = 0x8615; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SUN_mesh_array) return; - ext.glDrawMeshArraysSUN = load.invoke("glDrawMeshArraysSUN", FunctionDescriptors.IIIIV); + ext.glDrawMeshArraysSUN = load.invoke("glDrawMeshArraysSUN", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } public static void glDrawMeshArraysSUN(int mode, int first, int count, int width) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDrawMeshArraysSUN).invokeExact(mode, first, count, width); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDrawMeshArraysSUN).invokeExact(mode, first, count, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java new file mode 100644 index 00000000..cab9ae9f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sun; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SUN_slice_accum} + */ +public final class GLSUNSliceAccum { + public static final int GL_SLICE_ACCUM_SUN = 0x85CC; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java index c077cbc1..5f5f2a01 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java @@ -14,108 +14,95 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.sun; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; -import static overrungl.FunctionDescriptors.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_triangle_list} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_SUN_triangle_list} + */ public final class GLSUNTriangleList { + public static final int GL_RESTART_SUN = 0x0001; + public static final int GL_REPLACE_MIDDLE_SUN = 0x0002; + public static final int GL_REPLACE_OLDEST_SUN = 0x0003; + public static final int GL_TRIANGLE_LIST_SUN = 0x81D7; + public static final int GL_REPLACEMENT_CODE_SUN = 0x81D8; + public static final int GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; + public static final int GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; + public static final int GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; + public static final int GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; + public static final int GL_R1UI_V3F_SUN = 0x85C4; + public static final int GL_R1UI_C4UB_V3F_SUN = 0x85C5; + public static final int GL_R1UI_C3F_V3F_SUN = 0x85C6; + public static final int GL_R1UI_N3F_V3F_SUN = 0x85C7; + public static final int GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8; + public static final int GL_R1UI_T2F_V3F_SUN = 0x85C9; + public static final int GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA; + public static final int GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SUN_triangle_list) return; - ext.glReplacementCodePointerSUN = load.invoke("glReplacementCodePointerSUN", IIPV); - ext.glReplacementCodeubSUN = load.invoke("glReplacementCodeubSUN", BV); - ext.glReplacementCodeubvSUN = load.invoke("glReplacementCodeubvSUN", PV); - ext.glReplacementCodeuiSUN = load.invoke("glReplacementCodeuiSUN", IV); - ext.glReplacementCodeuivSUN = load.invoke("glReplacementCodeuivSUN", PV); - ext.glReplacementCodeusSUN = load.invoke("glReplacementCodeusSUN", SV); - ext.glReplacementCodeusvSUN = load.invoke("glReplacementCodeusvSUN", PV); + ext.glReplacementCodeuiSUN = load.invoke("glReplacementCodeuiSUN", ofVoid(JAVA_INT)); + ext.glReplacementCodeusSUN = load.invoke("glReplacementCodeusSUN", ofVoid(JAVA_SHORT)); + ext.glReplacementCodeubSUN = load.invoke("glReplacementCodeubSUN", ofVoid(JAVA_BYTE)); + ext.glReplacementCodeuivSUN = load.invoke("glReplacementCodeuivSUN", ofVoid(ADDRESS)); + ext.glReplacementCodeusvSUN = load.invoke("glReplacementCodeusvSUN", ofVoid(ADDRESS)); + ext.glReplacementCodeubvSUN = load.invoke("glReplacementCodeubvSUN", ofVoid(ADDRESS)); + ext.glReplacementCodePointerSUN = load.invoke("glReplacementCodePointerSUN", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glReplacementCodePointerSUN(int type, int stride, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiSUN(int code) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodePointerSUN).invokeExact(type, stride, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiSUN).invokeExact(code); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeubSUN(byte code) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeusSUN(short code) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeubSUN).invokeExact(code); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeusSUN).invokeExact(code); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeubvSUN(MemorySegment code) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeubSUN(byte code) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeubvSUN).invokeExact(code); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeubSUN).invokeExact(code); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeubvSUN(SegmentAllocator allocator, byte[] code) { - glReplacementCodeubvSUN(allocator.allocateArray(JAVA_BYTE, code)); - } - - public static void glReplacementCodeuiSUN(int code) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuivSUN(@NativeType("const GLuint *") MemorySegment code) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiSUN).invokeExact(code); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuivSUN).invokeExact(code); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuivSUN(MemorySegment code) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeusvSUN(@NativeType("const GLushort *") MemorySegment code) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuivSUN).invokeExact(code); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeusvSUN).invokeExact(code); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuivSUN(SegmentAllocator allocator, int[] code) { - glReplacementCodeuivSUN(allocator.allocateArray(JAVA_INT, code)); - } - - public static void glReplacementCodeusSUN(short code) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeubvSUN(@NativeType("const GLubyte *") MemorySegment code) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeusSUN).invokeExact(code); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeubvSUN).invokeExact(code); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeusvSUN(MemorySegment code) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodePointerSUN(int type, int stride, @NativeType("const void **") MemorySegment pointer) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeusvSUN).invokeExact(code); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodePointerSUN).invokeExact(type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeusvSUN(SegmentAllocator allocator, short[] code) { - glReplacementCodeusvSUN(allocator.allocateArray(JAVA_SHORT, code)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java index 7621679c..f6ecbb9a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java @@ -14,506 +14,342 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.sun; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; -import static overrungl.FunctionDescriptors.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_vertex} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_SUN_vertex} + */ public final class GLSUNVertex { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SUN_vertex) return; - ext.glColor3fVertex3fSUN = load.invoke("glColor3fVertex3fSUN", FFFFFFV); - ext.glColor3fVertex3fvSUN = load.invoke("glColor3fVertex3fvSUN", PPV); - ext.glColor4fNormal3fVertex3fSUN = load.invoke("glColor4fNormal3fVertex3fSUN", FFFFFFFFFFV); - ext.glColor4fNormal3fVertex3fvSUN = load.invoke("glColor4fNormal3fVertex3fvSUN", PPPV); - ext.glColor4ubVertex2fSUN = load.invoke("glColor4ubVertex2fSUN", BBBBFFV); - ext.glColor4ubVertex2fvSUN = load.invoke("glColor4ubVertex2fvSUN", PPV); - ext.glColor4ubVertex3fSUN = load.invoke("glColor4ubVertex3fSUN", BBBBFFFV); - ext.glColor4ubVertex3fvSUN = load.invoke("glColor4ubVertex3fvSUN", PPV); - ext.glNormal3fVertex3fSUN = load.invoke("glNormal3fVertex3fSUN", FFFFFFV); - ext.glNormal3fVertex3fvSUN = load.invoke("glNormal3fVertex3fvSUN", PPV); - ext.glReplacementCodeuiColor3fVertex3fSUN = load.invoke("glReplacementCodeuiColor3fVertex3fSUN", IFFFFFFV); - ext.glReplacementCodeuiColor3fVertex3fvSUN = load.invoke("glReplacementCodeuiColor3fVertex3fvSUN", PPPV); - ext.glReplacementCodeuiColor4fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiColor4fNormal3fVertex3fSUN", IFFFFFFFFFFV); - ext.glReplacementCodeuiColor4fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", PPPPV); - ext.glReplacementCodeuiColor4ubVertex3fSUN = load.invoke("glReplacementCodeuiColor4ubVertex3fSUN", IBBBBFFFV); - ext.glReplacementCodeuiColor4ubVertex3fvSUN = load.invoke("glReplacementCodeuiColor4ubVertex3fvSUN", PPPV); - ext.glReplacementCodeuiNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiNormal3fVertex3fSUN", IFFFFFFV); - ext.glReplacementCodeuiNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiNormal3fVertex3fvSUN", PPPV); - ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", IFFFFFFFFFFFFV); - ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", PPPPPV); - ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", IFFFFFFFFV); - ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", PPPPV); - ext.glReplacementCodeuiTexCoord2fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fVertex3fSUN", IFFFFFV); - ext.glReplacementCodeuiTexCoord2fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fVertex3fvSUN", PPPV); - ext.glReplacementCodeuiVertex3fSUN = load.invoke("glReplacementCodeuiVertex3fSUN", IFFFV); - ext.glReplacementCodeuiVertex3fvSUN = load.invoke("glReplacementCodeuiVertex3fvSUN", PPV); - ext.glTexCoord2fColor3fVertex3fSUN = load.invoke("glTexCoord2fColor3fVertex3fSUN", FFFFFFFFV); - ext.glTexCoord2fColor3fVertex3fvSUN = load.invoke("glTexCoord2fColor3fVertex3fvSUN", PPPV); - ext.glTexCoord2fColor4fNormal3fVertex3fSUN = load.invoke("glTexCoord2fColor4fNormal3fVertex3fSUN", FFFFFFFFFFFFV); - ext.glTexCoord2fColor4fNormal3fVertex3fvSUN = load.invoke("glTexCoord2fColor4fNormal3fVertex3fvSUN", PPPPV); - ext.glTexCoord2fColor4ubVertex3fSUN = load.invoke("glTexCoord2fColor4ubVertex3fSUN", FFBBBBFFFV); - ext.glTexCoord2fColor4ubVertex3fvSUN = load.invoke("glTexCoord2fColor4ubVertex3fvSUN", PPPV); - ext.glTexCoord2fNormal3fVertex3fSUN = load.invoke("glTexCoord2fNormal3fVertex3fSUN", FFFFFFFFV); - ext.glTexCoord2fNormal3fVertex3fvSUN = load.invoke("glTexCoord2fNormal3fVertex3fvSUN", PPPV); - ext.glTexCoord2fVertex3fSUN = load.invoke("glTexCoord2fVertex3fSUN", FFFFFV); - ext.glTexCoord2fVertex3fvSUN = load.invoke("glTexCoord2fVertex3fvSUN", PPV); - ext.glTexCoord4fColor4fNormal3fVertex4fSUN = load.invoke("glTexCoord4fColor4fNormal3fVertex4fSUN", FFFFFFFFFFFFFFFV); - ext.glTexCoord4fColor4fNormal3fVertex4fvSUN = load.invoke("glTexCoord4fColor4fNormal3fVertex4fvSUN", PPPPV); - ext.glTexCoord4fVertex4fSUN = load.invoke("glTexCoord4fVertex4fSUN", FFFFFFFFV); - ext.glTexCoord4fVertex4fvSUN = load.invoke("glTexCoord4fVertex4fvSUN", PPV); + ext.glColor4ubVertex2fSUN = load.invoke("glColor4ubVertex2fSUN", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT)); + ext.glColor4ubVertex2fvSUN = load.invoke("glColor4ubVertex2fvSUN", ofVoid(ADDRESS, ADDRESS)); + ext.glColor4ubVertex3fSUN = load.invoke("glColor4ubVertex3fSUN", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glColor4ubVertex3fvSUN = load.invoke("glColor4ubVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); + ext.glColor3fVertex3fSUN = load.invoke("glColor3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glColor3fVertex3fvSUN = load.invoke("glColor3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); + ext.glNormal3fVertex3fSUN = load.invoke("glNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glNormal3fVertex3fvSUN = load.invoke("glNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); + ext.glColor4fNormal3fVertex3fSUN = load.invoke("glColor4fNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glColor4fNormal3fVertex3fvSUN = load.invoke("glColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glTexCoord2fVertex3fSUN = load.invoke("glTexCoord2fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTexCoord2fVertex3fvSUN = load.invoke("glTexCoord2fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); + ext.glTexCoord4fVertex4fSUN = load.invoke("glTexCoord4fVertex4fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTexCoord4fVertex4fvSUN = load.invoke("glTexCoord4fVertex4fvSUN", ofVoid(ADDRESS, ADDRESS)); + ext.glTexCoord2fColor4ubVertex3fSUN = load.invoke("glTexCoord2fColor4ubVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTexCoord2fColor4ubVertex3fvSUN = load.invoke("glTexCoord2fColor4ubVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glTexCoord2fColor3fVertex3fSUN = load.invoke("glTexCoord2fColor3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTexCoord2fColor3fVertex3fvSUN = load.invoke("glTexCoord2fColor3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glTexCoord2fNormal3fVertex3fSUN = load.invoke("glTexCoord2fNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTexCoord2fNormal3fVertex3fvSUN = load.invoke("glTexCoord2fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glTexCoord2fColor4fNormal3fVertex3fSUN = load.invoke("glTexCoord2fColor4fNormal3fVertex3fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTexCoord2fColor4fNormal3fVertex3fvSUN = load.invoke("glTexCoord2fColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glTexCoord4fColor4fNormal3fVertex4fSUN = load.invoke("glTexCoord4fColor4fNormal3fVertex4fSUN", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTexCoord4fColor4fNormal3fVertex4fvSUN = load.invoke("glTexCoord4fColor4fNormal3fVertex4fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glReplacementCodeuiVertex3fSUN = load.invoke("glReplacementCodeuiVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiVertex3fvSUN = load.invoke("glReplacementCodeuiVertex3fvSUN", ofVoid(ADDRESS, ADDRESS)); + ext.glReplacementCodeuiColor4ubVertex3fSUN = load.invoke("glReplacementCodeuiColor4ubVertex3fSUN", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiColor4ubVertex3fvSUN = load.invoke("glReplacementCodeuiColor4ubVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glReplacementCodeuiColor3fVertex3fSUN = load.invoke("glReplacementCodeuiColor3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiColor3fVertex3fvSUN = load.invoke("glReplacementCodeuiColor3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glReplacementCodeuiNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glReplacementCodeuiColor4fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiColor4fNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiColor4fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glReplacementCodeuiTexCoord2fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiTexCoord2fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS)); + ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = load.invoke("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = load.invoke("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); } - public static void glColor3fVertex3fSUN(float r, float g, float b, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor4ubVertex2fSUN(byte r, byte g, byte b, byte a, float x, float y) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor3fVertex3fSUN).invokeExact(r, g, b, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glColor4ubVertex2fSUN).invokeExact(r, g, b, a, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor3fVertex3fvSUN(MemorySegment c, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor4ubVertex2fvSUN(@NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor3fVertex3fvSUN).invokeExact(c, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glColor4ubVertex2fvSUN).invokeExact(c, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor3fVertex3fvSUN(SegmentAllocator allocator, float[] c, float[] v) { - glColor3fVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glColor4fNormal3fVertex3fSUN(float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor4ubVertex3fSUN(byte r, byte g, byte b, byte a, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor4fNormal3fVertex3fSUN).invokeExact(r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glColor4ubVertex3fSUN).invokeExact(r, g, b, a, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor4fNormal3fVertex3fvSUN(MemorySegment c, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor4ubVertex3fvSUN(@NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor4fNormal3fVertex3fvSUN).invokeExact(c, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glColor4ubVertex3fvSUN).invokeExact(c, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor4fNormal3fVertex3fvSUN(SegmentAllocator allocator, float[] c, float[] n, float[] v) { - glColor4fNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glColor4ubVertex2fSUN(byte r, byte g, byte b, byte a, float x, float y) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor3fVertex3fSUN(float r, float g, float b, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor4ubVertex2fSUN).invokeExact(r, g, b, a, x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glColor3fVertex3fSUN).invokeExact(r, g, b, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor4ubVertex2fvSUN(MemorySegment c, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor4ubVertex2fvSUN).invokeExact(c, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glColor4ubVertex2fvSUN(SegmentAllocator allocator, byte[] c, float[] v) { - glColor4ubVertex2fvSUN(allocator.allocateArray(JAVA_BYTE, c), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glColor3fVertex3fvSUN).invokeExact(c, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor4ubVertex3fSUN(byte r, byte g, byte b, byte a, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glNormal3fVertex3fSUN(float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor4ubVertex3fSUN).invokeExact(r, g, b, a, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNormal3fVertex3fSUN).invokeExact(nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor4ubVertex3fvSUN(MemorySegment c, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glColor4ubVertex3fvSUN).invokeExact(c, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glNormal3fVertex3fvSUN).invokeExact(n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glColor4ubVertex3fvSUN(SegmentAllocator allocator, byte[] c, float[] v) { - glColor4ubVertex3fvSUN(allocator.allocateArray(JAVA_BYTE, c), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glNormal3fVertex3fSUN(float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor4fNormal3fVertex3fSUN(float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNormal3fVertex3fSUN).invokeExact(nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glColor4fNormal3fVertex3fSUN).invokeExact(r, g, b, a, nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glNormal3fVertex3fvSUN(MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glColor4fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glNormal3fVertex3fvSUN).invokeExact(n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glNormal3fVertex3fvSUN(SegmentAllocator allocator, float[] n, float[] v) { - glNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glColor4fNormal3fVertex3fvSUN).invokeExact(c, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiColor3fVertex3fSUN(int rc, float r, float g, float b, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fVertex3fSUN(float s, float t, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiColor3fVertex3fSUN).invokeExact(rc, r, g, b, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fVertex3fSUN).invokeExact(s, t, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiColor3fVertex3fvSUN(MemorySegment rc, MemorySegment c, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiColor3fVertex3fvSUN).invokeExact(rc, c, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fVertex3fvSUN).invokeExact(tc, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiColor3fVertex3fvSUN(SegmentAllocator allocator, int[] rc, float[] c, float[] v) { - glReplacementCodeuiColor3fVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glReplacementCodeuiColor4fNormal3fVertex3fSUN(int rc, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord4fVertex4fSUN(float s, float t, float p, float q, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiColor4fNormal3fVertex3fSUN).invokeExact(rc, r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord4fVertex4fSUN).invokeExact(s, t, p, q, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(MemorySegment rc, MemorySegment c, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord4fVertex4fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiColor4fNormal3fVertex3fvSUN).invokeExact(rc, c, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(SegmentAllocator allocator, int[] rc, float[] c, float[] n, float[] v) { - glReplacementCodeuiColor4fNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glTexCoord4fVertex4fvSUN).invokeExact(tc, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiColor4ubVertex3fSUN(int rc, byte r, byte g, byte b, byte a, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fColor4ubVertex3fSUN(float s, float t, byte r, byte g, byte b, byte a, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiColor4ubVertex3fSUN).invokeExact(rc, r, g, b, a, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fColor4ubVertex3fSUN).invokeExact(s, t, r, g, b, a, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiColor4ubVertex3fvSUN(MemorySegment rc, MemorySegment c, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fColor4ubVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiColor4ubVertex3fvSUN).invokeExact(rc, c, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glReplacementCodeuiColor4ubVertex3fvSUN(SegmentAllocator allocator, int[] rc, byte[] c, float[] v) { - glReplacementCodeuiColor4ubVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_BYTE, c), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glTexCoord2fColor4ubVertex3fvSUN).invokeExact(tc, c, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiNormal3fVertex3fSUN(int rc, float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fColor3fVertex3fSUN(float s, float t, float r, float g, float b, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiNormal3fVertex3fSUN).invokeExact(rc, nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fColor3fVertex3fSUN).invokeExact(s, t, r, g, b, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiNormal3fVertex3fvSUN(MemorySegment rc, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fColor3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiNormal3fVertex3fvSUN).invokeExact(rc, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fColor3fVertex3fvSUN).invokeExact(tc, c, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiNormal3fVertex3fvSUN(SegmentAllocator allocator, int[] rc, float[] n, float[] v) { - glReplacementCodeuiNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(int rc, float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fNormal3fVertex3fSUN(float s, float t, float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN).invokeExact(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fNormal3fVertex3fSUN).invokeExact(s, t, nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(MemorySegment rc, MemorySegment tc, MemorySegment c, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN).invokeExact(rc, tc, c, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(SegmentAllocator allocator, int[] rc, float[] tc, float[] c, float[] n, float[] v) { - glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glTexCoord2fNormal3fVertex3fvSUN).invokeExact(tc, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(int rc, float s, float t, float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN).invokeExact(rc, s, t, nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fColor4fNormal3fVertex3fSUN).invokeExact(s, t, r, g, b, a, nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(MemorySegment rc, MemorySegment tc, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN).invokeExact(rc, tc, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord2fColor4fNormal3fVertex3fvSUN).invokeExact(tc, c, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(SegmentAllocator allocator, int[] rc, float[] tc, float[] n, float[] v) { - glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glReplacementCodeuiTexCoord2fVertex3fSUN(int rc, float s, float t, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float q, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiTexCoord2fVertex3fSUN).invokeExact(rc, s, t, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glTexCoord4fColor4fNormal3fVertex4fSUN).invokeExact(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(MemorySegment rc, MemorySegment tc, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(@NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiTexCoord2fVertex3fvSUN).invokeExact(rc, tc, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(SegmentAllocator allocator, int[] rc, float[] tc, float[] v) { - glReplacementCodeuiTexCoord2fVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glTexCoord4fColor4fNormal3fVertex4fvSUN).invokeExact(tc, c, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glReplacementCodeuiVertex3fSUN(int rc, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiVertex3fSUN).invokeExact(rc, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiVertex3fSUN).invokeExact(rc, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glReplacementCodeuiVertex3fvSUN(MemorySegment rc, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glReplacementCodeuiVertex3fvSUN).invokeExact(rc, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glReplacementCodeuiVertex3fvSUN(SegmentAllocator allocator, int[] rc, float[] v) { - glReplacementCodeuiVertex3fvSUN(allocator.allocateArray(JAVA_INT, rc), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glReplacementCodeuiVertex3fvSUN).invokeExact(rc, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fColor3fVertex3fSUN(float s, float t, float r, float g, float b, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiColor4ubVertex3fSUN(int rc, byte r, byte g, byte b, byte a, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fColor3fVertex3fSUN).invokeExact(s, t, r, g, b, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiColor4ubVertex3fSUN).invokeExact(rc, r, g, b, a, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fColor3fVertex3fvSUN(MemorySegment tc, MemorySegment c, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiColor4ubVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLubyte *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fColor3fVertex3fvSUN).invokeExact(tc, c, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiColor4ubVertex3fvSUN).invokeExact(rc, c, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fColor3fVertex3fvSUN(SegmentAllocator allocator, float[] tc, float[] c, float[] v) { - glTexCoord2fColor3fVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glTexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiColor3fVertex3fSUN(int rc, float r, float g, float b, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fColor4fNormal3fVertex3fSUN).invokeExact(s, t, r, g, b, a, nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiColor3fVertex3fSUN).invokeExact(rc, r, g, b, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(MemorySegment tc, MemorySegment c, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiColor3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fColor4fNormal3fVertex3fvSUN).invokeExact(tc, c, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(SegmentAllocator allocator, float[] tc, float[] c, float[] n, float[] v) { - glTexCoord2fColor4fNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glReplacementCodeuiColor3fVertex3fvSUN).invokeExact(rc, c, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fColor4ubVertex3fSUN(float s, float t, byte r, byte g, byte b, byte a, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiNormal3fVertex3fSUN(int rc, float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fColor4ubVertex3fSUN).invokeExact(s, t, r, g, b, a, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiNormal3fVertex3fSUN).invokeExact(rc, nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fColor4ubVertex3fvSUN(MemorySegment tc, MemorySegment c, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fColor4ubVertex3fvSUN).invokeExact(tc, c, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glTexCoord2fColor4ubVertex3fvSUN(SegmentAllocator allocator, float[] tc, byte[] c, float[] v) { - glTexCoord2fColor4ubVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_BYTE, c), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glReplacementCodeuiNormal3fVertex3fvSUN).invokeExact(rc, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fNormal3fVertex3fSUN(float s, float t, float nx, float ny, float nz, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiColor4fNormal3fVertex3fSUN(int rc, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fNormal3fVertex3fSUN).invokeExact(s, t, nx, ny, nz, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiColor4fNormal3fVertex3fSUN).invokeExact(rc, r, g, b, a, nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fNormal3fVertex3fvSUN(MemorySegment tc, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fNormal3fVertex3fvSUN).invokeExact(tc, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiColor4fNormal3fVertex3fvSUN).invokeExact(rc, c, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fNormal3fVertex3fvSUN(SegmentAllocator allocator, float[] tc, float[] n, float[] v) { - glTexCoord2fNormal3fVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glTexCoord2fVertex3fSUN(float s, float t, float x, float y, float z) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiTexCoord2fVertex3fSUN(int rc, float s, float t, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fVertex3fSUN).invokeExact(s, t, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiTexCoord2fVertex3fSUN).invokeExact(rc, s, t, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord2fVertex3fvSUN(MemorySegment tc, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord2fVertex3fvSUN).invokeExact(tc, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glTexCoord2fVertex3fvSUN(SegmentAllocator allocator, float[] tc, float[] v) { - glTexCoord2fVertex3fvSUN(allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, v)); + check(ext.glReplacementCodeuiTexCoord2fVertex3fvSUN).invokeExact(rc, tc, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float q, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z, float w) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(int rc, float s, float t, float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord4fColor4fNormal3fVertex4fSUN).invokeExact(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN).invokeExact(rc, s, t, nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(MemorySegment tc, MemorySegment c, MemorySegment n, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord4fColor4fNormal3fVertex4fvSUN).invokeExact(tc, c, n, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN).invokeExact(rc, tc, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(SegmentAllocator allocator, float[] tc, float[] c, float[] n, float[] v) { - glTexCoord4fColor4fNormal3fVertex4fvSUN(allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, c), allocator.allocateArray(JAVA_FLOAT, n), allocator.allocateArray(JAVA_FLOAT, v)); - } - - public static void glTexCoord4fVertex4fSUN(float s, float t, float p, float q, float x, float y, float z, float w) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(int rc, float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord4fVertex4fSUN).invokeExact(s, t, p, q, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN).invokeExact(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord4fVertex4fvSUN(MemorySegment tc, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@NativeType("const GLuint *") MemorySegment rc, @NativeType("const GLfloat *") MemorySegment tc, @NativeType("const GLfloat *") MemorySegment c, @NativeType("const GLfloat *") MemorySegment n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glTexCoord4fVertex4fvSUN).invokeExact(tc, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN).invokeExact(rc, tc, c, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glTexCoord4fVertex4fvSUN(SegmentAllocator allocator, float[] tc, float[] v) { - glTexCoord4fVertex4fvSUN(allocator.allocateArray(JAVA_FLOAT, tc), allocator.allocateArray(JAVA_FLOAT, v)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java index 7b0b28a0..3a908a38 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java @@ -14,31 +14,32 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.sun; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUNX_constant_data} - * - * @author squid233 - * @since 0.1.0 - */ + * {@code GL_SUNX_constant_data} + */ public final class GLSUNXConstantData { + public static final int GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5; + public static final int GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SUNX_constant_data) return; - ext.glFinishTextureSUNX = load.invoke("glFinishTextureSUNX", FunctionDescriptors.V); + ext.glFinishTextureSUNX = load.invoke("glFinishTextureSUNX", ofVoid()); } public static void glFinishTextureSUNX() { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFinishTextureSUNX).invokeExact(); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFinishTextureSUNX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } From a8260bb9e1a9a69295872c2a3b1a2b6c65c76676 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 30 Sep 2023 09:28:37 +0800 Subject: [PATCH 11/44] Remove trivial function invoke --- .../src/main/java/overrungl/glfw/Handles.java | 134 +++++++++--------- .../src/main/java/overrungl/nfd/NFD.java | 14 +- .../src/main/java/overrungl/opengl/GL10C.java | 78 +++++----- .../src/main/java/overrungl/opengl/GL11C.java | 10 +- .../src/main/java/overrungl/opengl/GL13C.java | 4 +- .../src/main/java/overrungl/opengl/GL14C.java | 14 +- .../src/main/java/overrungl/opengl/GL15C.java | 22 +-- .../src/main/java/overrungl/opengl/GL20C.java | 50 +++---- .../src/main/java/overrungl/opengl/GL30C.java | 56 ++++---- .../src/main/java/overrungl/opengl/GL31C.java | 16 +-- .../src/main/java/overrungl/opengl/GL32C.java | 18 +-- .../src/main/java/overrungl/opengl/GL33C.java | 32 ++--- .../src/main/java/overrungl/opengl/GL40C.java | 38 ++--- .../src/main/java/overrungl/opengl/GL41C.java | 30 ++-- .../src/main/java/overrungl/opengl/GL42C.java | 4 +- .../src/main/java/overrungl/opengl/GL43C.java | 10 +- .../src/main/java/overrungl/opengl/GL45C.java | 78 +++++----- .../src/main/java/overrungl/opengl/GL46C.java | 2 +- .../java/overrungl/opengl/GLLoadFunc.java | 11 -- .../src/main/java/overrungl/stb/Handles.java | 3 +- .../main/java/overrungl/stb/STBEasyFont.java | 8 +- .../src/main/java/overrungl/stb/STBImage.java | 16 +-- .../java/overrungl/stb/STBImageWrite.java | 14 +- 23 files changed, 325 insertions(+), 337 deletions(-) diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java index 5fcf3cb0..82903ca9 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java @@ -133,57 +133,57 @@ static void create() { STR."\{GLFW.VERSION_MAJOR}.\{GLFW.VERSION_MINOR}.\{GLFW.VERSION_REVISION}"); glfwInit = downcall("glfwInit", I); glfwTerminate = downcall("glfwTerminate", V); - glfwInitHint = downcallTrivial("glfwInitHint", IIV); + glfwInitHint = downcall("glfwInitHint", IIV); glfwGetVersion = downcallTrivial("glfwGetVersion", PPPV); glfwGetVersionString = downcallTrivial("glfwGetVersionString", p); glfwGetError = downcallTrivial("glfwGetError", fd_PI); glfwSetErrorCallback = downcall("glfwSetErrorCallback", PP); - glfwGetMonitors = downcallTrivial("glfwGetMonitors", Pp); - glfwGetPrimaryMonitor = downcallTrivial("glfwGetPrimaryMonitor", P); - glfwGetMonitorPos = downcallTrivial("glfwGetMonitorPos", PPPV); - glfwGetMonitorWorkarea = downcallTrivial("glfwGetMonitorWorkarea", PPPPPV); - glfwGetMonitorPhysicalSize = downcallTrivial("glfwGetMonitorPhysicalSize", PPPV); - glfwGetMonitorContentScale = downcallTrivial("glfwGetMonitorContentScale", PPPV); - glfwGetMonitorName = downcallTrivial("glfwGetMonitorName", Pp); + glfwGetMonitors = downcall("glfwGetMonitors", Pp); + glfwGetPrimaryMonitor = downcall("glfwGetPrimaryMonitor", P); + glfwGetMonitorPos = downcall("glfwGetMonitorPos", PPPV); + glfwGetMonitorWorkarea = downcall("glfwGetMonitorWorkarea", PPPPPV); + glfwGetMonitorPhysicalSize = downcall("glfwGetMonitorPhysicalSize", PPPV); + glfwGetMonitorContentScale = downcall("glfwGetMonitorContentScale", PPPV); + glfwGetMonitorName = downcall("glfwGetMonitorName", Pp); glfwSetMonitorUserPointer = downcallTrivial("glfwSetMonitorUserPointer", PPV); glfwGetMonitorUserPointer = downcallTrivial("glfwGetMonitorUserPointer", PP); glfwSetMonitorCallback = downcall("glfwSetMonitorCallback", PP); - glfwGetVideoModes = downcallTrivial("glfwGetVideoModes", PPp); - glfwGetVideoMode = downcall("glfwGetVideoMode", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWVidMode.LAYOUT), ADDRESS), Linker.Option.isTrivial()); - glfwSetGamma = downcallTrivial("glfwSetGamma", PFV); - glfwGetGammaRamp = downcall("glfwGetGammaRamp", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWGammaRamp.LAYOUT), ADDRESS), Linker.Option.isTrivial()); - glfwSetGammaRamp = downcallTrivial("glfwSetGammaRamp", PPV); - glfwDefaultWindowHints = downcallTrivial("glfwDefaultWindowHints", V); - glfwWindowHint = downcallTrivial("glfwWindowHint", IIV); - glfwWindowHintString = downcallTrivial("glfwWindowHintString", IPV); + glfwGetVideoModes = downcall("glfwGetVideoModes", PPp); + glfwGetVideoMode = downcall("glfwGetVideoMode", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWVidMode.LAYOUT), ADDRESS)); + glfwSetGamma = downcall("glfwSetGamma", PFV); + glfwGetGammaRamp = downcall("glfwGetGammaRamp", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWGammaRamp.LAYOUT), ADDRESS)); + glfwSetGammaRamp = downcall("glfwSetGammaRamp", PPV); + glfwDefaultWindowHints = downcall("glfwDefaultWindowHints", V); + glfwWindowHint = downcall("glfwWindowHint", IIV); + glfwWindowHintString = downcall("glfwWindowHintString", IPV); glfwCreateWindow = downcall("glfwCreateWindow", IIPPPP); glfwDestroyWindow = downcall("glfwDestroyWindow", PV); glfwWindowShouldClose = downcallTrivial("glfwWindowShouldClose", fd_PI); glfwSetWindowShouldClose = downcallTrivial("glfwSetWindowShouldClose", PIV); - glfwSetWindowTitle = downcallTrivial("glfwSetWindowTitle", PPV); - glfwSetWindowIcon = downcallTrivial("glfwSetWindowIcon", PIPV); - glfwGetWindowPos = downcallTrivial("glfwGetWindowPos", PPPV); - glfwSetWindowPos = downcallTrivial("glfwSetWindowPos", PIIV); - glfwGetWindowSize = downcallTrivial("glfwGetWindowSize", PPPV); - glfwSetWindowSizeLimits = downcallTrivial("glfwSetWindowSizeLimits", PIIIIV); - glfwSetWindowAspectRatio = downcallTrivial("glfwSetWindowAspectRatio", PIIV); - glfwSetWindowSize = downcallTrivial("glfwSetWindowSize", PIIV); - glfwGetFramebufferSize = downcallTrivial("glfwGetFramebufferSize", PPPV); - glfwGetWindowFrameSize = downcallTrivial("glfwGetWindowFrameSize", PPPPPV); - glfwGetWindowContentScale = downcallTrivial("glfwGetWindowContentScale", PPPV); - glfwGetWindowOpacity = downcallTrivial("glfwGetWindowOpacity", PF); - glfwSetWindowOpacity = downcallTrivial("glfwSetWindowOpacity", PFV); - glfwIconifyWindow = downcallTrivial("glfwIconifyWindow", PV); - glfwRestoreWindow = downcallTrivial("glfwRestoreWindow", PV); - glfwMaximizeWindow = downcallTrivial("glfwMaximizeWindow", PV); - glfwShowWindow = downcallTrivial("glfwShowWindow", PV); - glfwHideWindow = downcallTrivial("glfwHideWindow", PV); - glfwFocusWindow = downcallTrivial("glfwFocusWindow", PV); - glfwRequestWindowAttention = downcallTrivial("glfwRequestWindowAttention", PV); - glfwGetWindowMonitor = downcallTrivial("glfwGetWindowMonitor", PP); - glfwSetWindowMonitor = downcallTrivial("glfwSetWindowMonitor", PPIIIIIV); - glfwGetWindowAttrib = downcallTrivial("glfwGetWindowAttrib", PII); - glfwSetWindowAttrib = downcallTrivial("glfwSetWindowAttrib", PIIV); + glfwSetWindowTitle = downcall("glfwSetWindowTitle", PPV); + glfwSetWindowIcon = downcall("glfwSetWindowIcon", PIPV); + glfwGetWindowPos = downcall("glfwGetWindowPos", PPPV); + glfwSetWindowPos = downcall("glfwSetWindowPos", PIIV); + glfwGetWindowSize = downcall("glfwGetWindowSize", PPPV); + glfwSetWindowSizeLimits = downcall("glfwSetWindowSizeLimits", PIIIIV); + glfwSetWindowAspectRatio = downcall("glfwSetWindowAspectRatio", PIIV); + glfwSetWindowSize = downcall("glfwSetWindowSize", PIIV); + glfwGetFramebufferSize = downcall("glfwGetFramebufferSize", PPPV); + glfwGetWindowFrameSize = downcall("glfwGetWindowFrameSize", PPPPPV); + glfwGetWindowContentScale = downcall("glfwGetWindowContentScale", PPPV); + glfwGetWindowOpacity = downcall("glfwGetWindowOpacity", PF); + glfwSetWindowOpacity = downcall("glfwSetWindowOpacity", PFV); + glfwIconifyWindow = downcall("glfwIconifyWindow", PV); + glfwRestoreWindow = downcall("glfwRestoreWindow", PV); + glfwMaximizeWindow = downcall("glfwMaximizeWindow", PV); + glfwShowWindow = downcall("glfwShowWindow", PV); + glfwHideWindow = downcall("glfwHideWindow", PV); + glfwFocusWindow = downcall("glfwFocusWindow", PV); + glfwRequestWindowAttention = downcall("glfwRequestWindowAttention", PV); + glfwGetWindowMonitor = downcall("glfwGetWindowMonitor", PP); + glfwSetWindowMonitor = downcall("glfwSetWindowMonitor", PPIIIIIV); + glfwGetWindowAttrib = downcall("glfwGetWindowAttrib", PII); + glfwSetWindowAttrib = downcall("glfwSetWindowAttrib", PIIV); glfwSetWindowUserPointer = downcallTrivial("glfwSetWindowUserPointer", PPV); glfwGetWindowUserPointer = downcallTrivial("glfwGetWindowUserPointer", PP); glfwSetWindowPosCallback = downcall("glfwSetWindowPosCallback", PPP); @@ -199,19 +199,19 @@ static void create() { glfwWaitEvents = downcall("glfwWaitEvents", V); glfwWaitEventsTimeout = downcall("glfwWaitEventsTimeout", DV); glfwPostEmptyEvent = downcallTrivial("glfwPostEmptyEvent", V); - glfwGetInputMode = downcallTrivial("glfwGetInputMode", PII); - glfwSetInputMode = downcallTrivial("glfwSetInputMode", PIIV); - glfwRawMouseMotionSupported = downcallTrivial("glfwRawMouseMotionSupported", I); - glfwGetKeyName = downcallTrivial("glfwGetKeyName", IIp); + glfwGetInputMode = downcall("glfwGetInputMode", PII); + glfwSetInputMode = downcall("glfwSetInputMode", PIIV); + glfwRawMouseMotionSupported = downcall("glfwRawMouseMotionSupported", I); + glfwGetKeyName = downcall("glfwGetKeyName", IIp); glfwGetKeyScancode = downcallTrivial("glfwGetKeyScancode", II); - glfwGetKey = downcallTrivial("glfwGetKey", PII); - glfwGetMouseButton = downcallTrivial("glfwGetMouseButton", PII); - glfwGetCursorPos = downcallTrivial("glfwGetCursorPos", PPPV); - glfwSetCursorPos = downcallTrivial("glfwSetCursorPos", PDDV); - glfwCreateCursor = downcallTrivial("glfwCreateCursor", PIIP); - glfwCreateStandardCursor = downcallTrivial("glfwCreateStandardCursor", IP); - glfwDestroyCursor = downcallTrivial("glfwDestroyCursor", PV); - glfwSetCursor = downcallTrivial("glfwSetCursor", PPV); + glfwGetKey = downcall("glfwGetKey", PII); + glfwGetMouseButton = downcall("glfwGetMouseButton", PII); + glfwGetCursorPos = downcall("glfwGetCursorPos", PPPV); + glfwSetCursorPos = downcall("glfwSetCursorPos", PDDV); + glfwCreateCursor = downcall("glfwCreateCursor", PIIP); + glfwCreateStandardCursor = downcall("glfwCreateStandardCursor", IP); + glfwDestroyCursor = downcall("glfwDestroyCursor", PV); + glfwSetCursor = downcall("glfwSetCursor", PPV); glfwSetKeyCallback = downcall("glfwSetKeyCallback", PPP); glfwSetCharCallback = downcall("glfwSetCharCallback", PPP); glfwSetMouseButtonCallback = downcall("glfwSetMouseButtonCallback", PPP); @@ -219,21 +219,21 @@ static void create() { glfwSetCursorEnterCallback = downcall("glfwSetCursorEnterCallback", PPP); glfwSetScrollCallback = downcall("glfwSetScrollCallback", PPP); glfwSetDropCallback = downcall("glfwSetDropCallback", PPP); - glfwJoystickPresent = downcallTrivial("glfwJoystickPresent", II); - glfwGetJoystickAxes = downcallTrivial("glfwGetJoystickAxes", IPp); - glfwGetJoystickButtons = downcallTrivial("glfwGetJoystickButtons", IPp); - glfwGetJoystickHats = downcallTrivial("glfwGetJoystickHats", IPP); - glfwGetJoystickName = downcallTrivial("glfwGetJoystickName", Ip); - glfwGetJoystickGUID = downcallTrivial("glfwGetJoystickGUID", Ip); + glfwJoystickPresent = downcall("glfwJoystickPresent", II); + glfwGetJoystickAxes = downcall("glfwGetJoystickAxes", IPp); + glfwGetJoystickButtons = downcall("glfwGetJoystickButtons", IPp); + glfwGetJoystickHats = downcall("glfwGetJoystickHats", IPP); + glfwGetJoystickName = downcall("glfwGetJoystickName", Ip); + glfwGetJoystickGUID = downcall("glfwGetJoystickGUID", Ip); glfwSetJoystickUserPointer = downcallTrivial("glfwSetJoystickUserPointer", IPV); glfwGetJoystickUserPointer = downcallTrivial("glfwGetJoystickUserPointer", IP); - glfwJoystickIsGamepad = downcallTrivial("glfwJoystickIsGamepad", II); + glfwJoystickIsGamepad = downcall("glfwJoystickIsGamepad", II); glfwSetJoystickCallback = downcall("glfwSetJoystickCallback", PP); glfwUpdateGamepadMappings = downcall("glfwUpdateGamepadMappings", fd_PI); - glfwGetGamepadName = downcallTrivial("glfwGetGamepadName", Ip); - glfwGetGamepadState = downcallTrivial("glfwGetGamepadState", IPI); - glfwSetClipboardString = downcallTrivial("glfwSetClipboardString", PPV); - glfwGetClipboardString = downcallTrivial("glfwGetClipboardString", Pp); + glfwGetGamepadName = downcall("glfwGetGamepadName", Ip); + glfwGetGamepadState = downcall("glfwGetGamepadState", IPI); + glfwSetClipboardString = downcall("glfwSetClipboardString", PPV); + glfwGetClipboardString = downcall("glfwGetClipboardString", Pp); glfwGetTime = downcallTrivial("glfwGetTime", D); glfwSetTime = downcallTrivial("glfwSetTime", DV); glfwGetTimerValue = downcallTrivial("glfwGetTimerValue", J); @@ -241,11 +241,11 @@ static void create() { glfwMakeContextCurrent = downcall("glfwMakeContextCurrent", PV); glfwGetCurrentContext = downcallTrivial("glfwGetCurrentContext", P); glfwSwapBuffers = downcall("glfwSwapBuffers", PV); - glfwSwapInterval = downcallTrivial("glfwSwapInterval", IV); - glfwExtensionSupported = downcallTrivial("glfwExtensionSupported", fd_PI); + glfwSwapInterval = downcall("glfwSwapInterval", IV); + glfwExtensionSupported = downcall("glfwExtensionSupported", fd_PI); glfwGetProcAddress = downcall("glfwGetProcAddress", PP); - glfwVulkanSupported = downcallTrivial("glfwVulkanSupported", I); - glfwGetRequiredInstanceExtensions = downcallTrivial("glfwGetRequiredInstanceExtensions", Pp); + glfwVulkanSupported = downcall("glfwVulkanSupported", I); + glfwGetRequiredInstanceExtensions = downcall("glfwGetRequiredInstanceExtensions", Pp); // GLFW Vulkan glfwGetInstanceProcAddress = downcall("glfwGetInstanceProcAddress", PPP); diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index 9ee4deef..2f4478f6 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -119,7 +119,7 @@ * @since 0.1.0 */ public final class NFD { - private static final SymbolLookup LOOKUP = RuntimeHelper.load("nfd", "nfd", OverrunGL.VERSION); + private static final SymbolLookup LOOKUP = RuntimeHelper.load("nfd", "nfd", "0.1.0.0"); private static final Platform os = Platform.current(); private static final boolean isOsWin = os instanceof Platform.Windows; private static final boolean isOsWinOrApple = isOsWin || os instanceof Platform.MacOSX; @@ -133,23 +133,23 @@ public final class NFD { } private static final MethodHandle - NFD_FreePathN = downcallTrivial("NFD_FreePathN", PV), + NFD_FreePathN = downcall("NFD_FreePathN", PV), NFD_Init = downcall("NFD_Init", I), NFD_Quit = downcall("NFD_Quit", V), NFD_OpenDialogN = downcall("NFD_OpenDialogN", PPIPI), NFD_OpenDialogMultipleN = downcall("NFD_OpenDialogMultipleN", PPIPI), NFD_SaveDialogN = downcall("NFD_SaveDialogN", PPIPPI), NFD_PickFolderN = downcall("NFD_PickFolderN", PPI), - NFD_GetError = downcallTrivial("NFD_GetError", p), - NFD_ClearError = downcallTrivial("NFD_ClearError", V), + NFD_GetError = downcall("NFD_GetError", p), + NFD_ClearError = downcall("NFD_ClearError", V), NFD_PathSet_GetCount = downcall("NFD_PathSet_GetCount", PPI), NFD_PathSet_GetPathN = downcall("NFD_PathSet_GetPathN", FunctionDescriptor.of(JAVA_INT, ADDRESS, PATH_SET_SIZE, ADDRESS)), - NFD_PathSet_FreePathN = downcallSafeTrivial("NFD_PathSet_FreePathN", PV), + NFD_PathSet_FreePathN = downcallSafe("NFD_PathSet_FreePathN", PV), NFD_PathSet_GetEnum = downcall("NFD_PathSet_GetEnum", PPI), NFD_PathSet_FreeEnum = downcall("NFD_PathSet_FreeEnum", PV), NFD_PathSet_EnumNextN = downcall("NFD_PathSet_EnumNextN", PPI), - NFD_PathSet_Free = downcallTrivial("NFD_PathSet_Free", PV), - NFD_FreePathU8 = downcallSafeTrivial("NFD_FreePathU8", PV), + NFD_PathSet_Free = downcall("NFD_PathSet_Free", PV), + NFD_FreePathU8 = downcallSafe("NFD_FreePathU8", PV), NFD_OpenDialogU8 = downcallSafe("NFD_OpenDialogU8", PPIPI), NFD_OpenDialogMultipleU8 = downcallSafe("NFD_OpenDialogMultipleU8", PPIPI), NFD_SaveDialogU8 = downcallSafe("NFD_SaveDialogU8", PPIPPI), diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java index 1f16f453..51eb83a9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java @@ -224,54 +224,54 @@ static boolean isSupported(GLCapabilities caps) { } static void load(GLCapabilities caps, GLLoadFunc load) { - caps.glBlendFunc = load.trivialHandle("glBlendFunc", IIV); + caps.glBlendFunc = load.invoke("glBlendFunc", IIV); caps.glClear = load.invoke("glClear", IV); - caps.glClearColor = load.trivialHandle("glClearColor", FFFFV); - caps.glClearDepth = load.trivialHandle("glClearDepth", DV); - caps.glClearStencil = load.trivialHandle("glClearStencil", IV); - caps.glColorMask = load.trivialHandle("glColorMask", ZZZZV); - caps.glCullFace = load.trivialHandle("glCullFace", IV); - caps.glDepthFunc = load.trivialHandle("glDepthFunc", IV); - caps.glDepthMask = load.trivialHandle("glDepthMask", ZV); - caps.glDepthRange = load.trivialHandle("glDepthRange", DDV); - caps.glDisable = load.trivialHandle("glDisable", IV); + caps.glClearColor = load.invoke("glClearColor", FFFFV); + caps.glClearDepth = load.invoke("glClearDepth", DV); + caps.glClearStencil = load.invoke("glClearStencil", IV); + caps.glColorMask = load.invoke("glColorMask", ZZZZV); + caps.glCullFace = load.invoke("glCullFace", IV); + caps.glDepthFunc = load.invoke("glDepthFunc", IV); + caps.glDepthMask = load.invoke("glDepthMask", ZV); + caps.glDepthRange = load.invoke("glDepthRange", DDV); + caps.glDisable = load.invoke("glDisable", IV); caps.glDrawBuffer = load.invoke("glDrawBuffer", IV); - caps.glEnable = load.trivialHandle("glEnable", IV); + caps.glEnable = load.invoke("glEnable", IV); caps.glFinish = load.invoke("glFinish", V); caps.glFlush = load.invoke("glFlush", V); - caps.glFrontFace = load.trivialHandle("glFrontFace", IV); - caps.glGetBooleanv = load.trivialHandle("glGetBooleanv", IPV); - caps.glGetDoublev = load.trivialHandle("glGetDoublev", IPV); - caps.glGetError = load.trivialHandle("glGetError", I); - caps.glGetFloatv = load.trivialHandle("glGetFloatv", IPV); - caps.glGetIntegerv = load.trivialHandle("glGetIntegerv", IPV); - caps.glGetString = load.trivialHandle("glGetString", Ip); + caps.glFrontFace = load.invoke("glFrontFace", IV); + caps.glGetBooleanv = load.invoke("glGetBooleanv", IPV); + caps.glGetDoublev = load.invoke("glGetDoublev", IPV); + caps.glGetError = load.invoke("glGetError", I); + caps.glGetFloatv = load.invoke("glGetFloatv", IPV); + caps.glGetIntegerv = load.invoke("glGetIntegerv", IPV); + caps.glGetString = load.invoke("glGetString", Ip); caps.glGetTexImage = load.invoke("glGetTexImage", IIIIPV); - caps.glGetTexLevelParameterfv = load.trivialHandle("glGetTexLevelParameterfv", IIIPV); - caps.glGetTexLevelParameteriv = load.trivialHandle("glGetTexLevelParameteriv", IIIPV); - caps.glGetTexParameterfv = load.trivialHandle("glGetTexParameterfv", IIPV); - caps.glGetTexParameteriv = load.trivialHandle("glGetTexParameteriv", IIPV); - caps.glHint = load.trivialHandle("glHint", IIV); - caps.glIsEnabled = load.trivialHandle("glIsEnabled", IZ); - caps.glLineWidth = load.trivialHandle("glLineWidth", FV); - caps.glLogicOp = load.trivialHandle("glLogicOp", IV); - caps.glPixelStoref = load.trivialHandle("glPixelStoref", IFV); - caps.glPixelStorei = load.trivialHandle("glPixelStorei", IIV); - caps.glPointSize = load.trivialHandle("glPointSize", FV); - caps.glPolygonMode = load.trivialHandle("glPolygonMode", IIV); + caps.glGetTexLevelParameterfv = load.invoke("glGetTexLevelParameterfv", IIIPV); + caps.glGetTexLevelParameteriv = load.invoke("glGetTexLevelParameteriv", IIIPV); + caps.glGetTexParameterfv = load.invoke("glGetTexParameterfv", IIPV); + caps.glGetTexParameteriv = load.invoke("glGetTexParameteriv", IIPV); + caps.glHint = load.invoke("glHint", IIV); + caps.glIsEnabled = load.invoke("glIsEnabled", IZ); + caps.glLineWidth = load.invoke("glLineWidth", FV); + caps.glLogicOp = load.invoke("glLogicOp", IV); + caps.glPixelStoref = load.invoke("glPixelStoref", IFV); + caps.glPixelStorei = load.invoke("glPixelStorei", IIV); + caps.glPointSize = load.invoke("glPointSize", FV); + caps.glPolygonMode = load.invoke("glPolygonMode", IIV); caps.glReadBuffer = load.invoke("glReadBuffer", IV); caps.glReadPixels = load.invoke("glReadPixels", IIIIIIPV); - caps.glScissor = load.trivialHandle("glScissor", IIIIV); - caps.glStencilFunc = load.trivialHandle("glStencilFunc", IIIV); - caps.glStencilMask = load.trivialHandle("glStencilMask", IV); - caps.glStencilOp = load.trivialHandle("glStencilOp", IIIV); + caps.glScissor = load.invoke("glScissor", IIIIV); + caps.glStencilFunc = load.invoke("glStencilFunc", IIIV); + caps.glStencilMask = load.invoke("glStencilMask", IV); + caps.glStencilOp = load.invoke("glStencilOp", IIIV); caps.glTexImage1D = load.invoke("glTexImage1D", IIIIIIIPV); caps.glTexImage2D = load.invoke("glTexImage2D", IIIIIIIIPV); - caps.glTexParameterf = load.trivialHandle("glTexParameterf", IIFV); - caps.glTexParameterfv = load.trivialHandle("glTexParameterfv", IIPV); - caps.glTexParameteri = load.trivialHandle("glTexParameteri", IIIV); - caps.glTexParameteriv = load.trivialHandle("glTexParameteriv", IIPV); - caps.glViewport = load.trivialHandle("glViewport", IIIIV); + caps.glTexParameterf = load.invoke("glTexParameterf", IIFV); + caps.glTexParameterfv = load.invoke("glTexParameterfv", IIPV); + caps.glTexParameteri = load.invoke("glTexParameteri", IIIV); + caps.glTexParameteriv = load.invoke("glTexParameteriv", IIPV); + caps.glViewport = load.invoke("glViewport", IIIIV); } public static void blendFunc(int sfactor, int dfactor) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java index 1ccadb33..5571a51a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java @@ -77,13 +77,13 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glCopyTexImage2D = load.invoke("glCopyTexImage2D", IIIIIIIIV); caps.glCopyTexSubImage1D = load.invoke("glCopyTexSubImage1D", IIIIIIV); caps.glCopyTexSubImage2D = load.invoke("glCopyTexSubImage2D", IIIIIIIIV); - caps.glDeleteTextures = load.trivialHandle("glDeleteTextures", IPV); + caps.glDeleteTextures = load.invoke("glDeleteTextures", IPV); caps.glDrawArrays = load.invoke("glDrawArrays", IIIV); caps.glDrawElements = load.invoke("glDrawElements", IIIPV); - caps.glGenTextures = load.trivialHandle("glGenTextures", IPV); - caps.glGetPointerv = load.trivialHandle("glGetPointerv", IPV); - caps.glIsTexture = load.trivialHandle("glIsTexture", IZ); - caps.glPolygonOffset = load.trivialHandle("glPolygonOffset", FFV); + caps.glGenTextures = load.invoke("glGenTextures", IPV); + caps.glGetPointerv = load.invoke("glGetPointerv", IPV); + caps.glIsTexture = load.invoke("glIsTexture", IZ); + caps.glPolygonOffset = load.invoke("glPolygonOffset", FFV); caps.glTexSubImage1D = load.invoke("glTexSubImage1D", IIIIIIPV); caps.glTexSubImage2D = load.invoke("glTexSubImage2D", IIIIIIIIPV); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13C.java index 7ed64ac7..7620ae15 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13C.java @@ -105,7 +105,7 @@ static boolean isSupported(GLCapabilities caps) { } static void load(GLCapabilities caps, GLLoadFunc load) { - caps.glActiveTexture = load.trivialHandle("glActiveTexture", IV); + caps.glActiveTexture = load.invoke("glActiveTexture", IV); caps.glCompressedTexImage1D = load.invoke("glCompressedTexImage1D", IIIIIIPV); caps.glCompressedTexImage2D = load.invoke("glCompressedTexImage2D", IIIIIIIPV); caps.glCompressedTexImage3D = load.invoke("glCompressedTexImage3D", IIIIIIIIPV); @@ -113,7 +113,7 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glCompressedTexSubImage2D = load.invoke("glCompressedTexSubImage2D", IIIIIIIIPV); caps.glCompressedTexSubImage3D = load.invoke("glCompressedTexSubImage3D", IIIIIIIIIIPV); caps.glGetCompressedTexImage = load.invoke("glGetCompressedTexImage", IIPV); - caps.glSampleCoverage = load.trivialHandle("glSampleCoverage", FZV); + caps.glSampleCoverage = load.invoke("glSampleCoverage", FZV); } public static void activeTexture(int texture) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java index 52a5d942..c656e322 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java @@ -76,15 +76,15 @@ static boolean isSupported(GLCapabilities caps) { } static void load(GLCapabilities caps, GLLoadFunc load) { - caps.glBlendColor = load.trivialHandle("glBlendColor", FFFFV); - caps.glBlendEquation = load.trivialHandle("glBlendEquation", IV); - caps.glBlendFuncSeparate = load.trivialHandle("glBlendFuncSeparate", IIIIV); + caps.glBlendColor = load.invoke("glBlendColor", FFFFV); + caps.glBlendEquation = load.invoke("glBlendEquation", IV); + caps.glBlendFuncSeparate = load.invoke("glBlendFuncSeparate", IIIIV); caps.glMultiDrawArrays = load.invoke("glMultiDrawArrays", IPPIV); caps.glMultiDrawElements = load.invoke("glMultiDrawElements", IPIPIV); - caps.glPointParameterf = load.trivialHandle("glPointParameterf", IFV); - caps.glPointParameterfv = load.trivialHandle("glPointParameterfv", IPV); - caps.glPointParameteri = load.trivialHandle("glPointParameteri", IIV); - caps.glPointParameteriv = load.trivialHandle("glPointParameteriv", IPV); + caps.glPointParameterf = load.invoke("glPointParameterf", IFV); + caps.glPointParameterfv = load.invoke("glPointParameterfv", IPV); + caps.glPointParameteri = load.invoke("glPointParameteri", IIV); + caps.glPointParameteriv = load.invoke("glPointParameteriv", IPV); } public static void blendColor(float red, float green, float blue, float alpha) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java index 69fe470c..ade6a7de 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java @@ -79,19 +79,19 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glBindBuffer = load.invoke("glBindBuffer", IIV); caps.glBufferData = load.invoke("glBufferData", IJPIV); caps.glBufferSubData = load.invoke("glBufferSubData", IJJPV); - caps.glDeleteBuffers = load.trivialHandle("glDeleteBuffers", IPV); - caps.glDeleteQueries = load.trivialHandle("glDeleteQueries", IPV); + caps.glDeleteBuffers = load.invoke("glDeleteBuffers", IPV); + caps.glDeleteQueries = load.invoke("glDeleteQueries", IPV); caps.glEndQuery = load.invoke("glEndQuery", IV); - caps.glGenBuffers = load.trivialHandle("glGenBuffers", IPV); - caps.glGenQueries = load.trivialHandle("glGenQueries", IPV); - caps.glGetBufferParameteriv = load.trivialHandle("glGetBufferParameteriv", IIPV); - caps.glGetBufferPointerv = load.trivialHandle("glGetBufferPointerv", IIPV); + caps.glGenBuffers = load.invoke("glGenBuffers", IPV); + caps.glGenQueries = load.invoke("glGenQueries", IPV); + caps.glGetBufferParameteriv = load.invoke("glGetBufferParameteriv", IIPV); + caps.glGetBufferPointerv = load.invoke("glGetBufferPointerv", IIPV); caps.glGetBufferSubData = load.invoke("glGetBufferSubData", IJJPV); - caps.glGetQueryObjectiv = load.trivialHandle("glGetQueryObjectiv", IIPV); - caps.glGetQueryObjectuiv = load.trivialHandle("glGetQueryObjectuiv", IIPV); - caps.glGetQueryiv = load.trivialHandle("glGetQueryiv", IIPV); - caps.glIsBuffer = load.trivialHandle("glIsBuffer", IZ); - caps.glIsQuery = load.trivialHandle("glIsQuery", IZ); + caps.glGetQueryObjectiv = load.invoke("glGetQueryObjectiv", IIPV); + caps.glGetQueryObjectuiv = load.invoke("glGetQueryObjectuiv", IIPV); + caps.glGetQueryiv = load.invoke("glGetQueryiv", IIPV); + caps.glIsBuffer = load.invoke("glIsBuffer", IZ); + caps.glIsQuery = load.invoke("glIsQuery", IZ); caps.glMapBuffer = load.invoke("glMapBuffer", IIp); caps.glUnmapBuffer = load.invoke("glUnmapBuffer", IZ); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java index 99d60b1f..1b7a26eb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java @@ -148,39 +148,39 @@ static boolean isSupported(GLCapabilities caps) { static void load(GLCapabilities caps, GLLoadFunc load) { caps.glAttachShader = load.invoke("glAttachShader", IIV); caps.glBindAttribLocation = load.invoke("glBindAttribLocation", IIPV); - caps.glBlendEquationSeparate = load.trivialHandle("glBlendEquationSeparate", IIV); + caps.glBlendEquationSeparate = load.invoke("glBlendEquationSeparate", IIV); caps.glCompileShader = load.invoke("glCompileShader", IV); - caps.glCreateProgram = load.trivialHandle("glCreateProgram", I); - caps.glCreateShader = load.trivialHandle("glCreateShader", II); - caps.glDeleteProgram = load.trivialHandle("glDeleteProgram", IV); - caps.glDeleteShader = load.trivialHandle("glDeleteShader", IV); + caps.glCreateProgram = load.invoke("glCreateProgram", I); + caps.glCreateShader = load.invoke("glCreateShader", II); + caps.glDeleteProgram = load.invoke("glDeleteProgram", IV); + caps.glDeleteShader = load.invoke("glDeleteShader", IV); caps.glDetachShader = load.invoke("glDetachShader", IIV); - caps.glDisableVertexAttribArray = load.trivialHandle("glDisableVertexAttribArray", IV); + caps.glDisableVertexAttribArray = load.invoke("glDisableVertexAttribArray", IV); caps.glDrawBuffers = load.invoke("glDrawBuffers", IPV); - caps.glEnableVertexAttribArray = load.trivialHandle("glEnableVertexAttribArray", IV); - caps.glGetActiveAttrib = load.trivialHandle("glGetActiveAttrib", IIIPPPPV); - caps.glGetActiveUniform = load.trivialHandle("glGetActiveUniform", IIIPPPPV); - caps.glGetAttachedShaders = load.trivialHandle("glGetAttachedShaders", IIPPV); - caps.glGetAttribLocation = load.trivialHandle("glGetAttribLocation", IPI); + caps.glEnableVertexAttribArray = load.invoke("glEnableVertexAttribArray", IV); + caps.glGetActiveAttrib = load.invoke("glGetActiveAttrib", IIIPPPPV); + caps.glGetActiveUniform = load.invoke("glGetActiveUniform", IIIPPPPV); + caps.glGetAttachedShaders = load.invoke("glGetAttachedShaders", IIPPV); + caps.glGetAttribLocation = load.invoke("glGetAttribLocation", IPI); caps.glGetProgramInfoLog = load.invoke("glGetProgramInfoLog", IIPPV); - caps.glGetProgramiv = load.trivialHandle("glGetProgramiv", IIPV); + caps.glGetProgramiv = load.invoke("glGetProgramiv", IIPV); caps.glGetShaderInfoLog = load.invoke("glGetShaderInfoLog", IIPPV); caps.glGetShaderSource = load.invoke("glGetShaderSource", IIPV); - caps.glGetShaderiv = load.trivialHandle("glGetShaderiv", IIPV); - caps.glGetUniformLocation = load.trivialHandle("glGetUniformLocation", IPI); - caps.glGetUniformfv = load.trivialHandle("glGetUniformfv", IIPV); - caps.glGetUniformiv = load.trivialHandle("glGetUniformiv", IIPV); - caps.glGetVertexAttribPointerv = load.trivialHandle("glGetVertexAttribPointerv", IIPV); - caps.glGetVertexAttribdv = load.trivialHandle("glGetVertexAttribdv", IIPV); - caps.glGetVertexAttribfv = load.trivialHandle("glGetVertexAttribfv", IIPV); - caps.glGetVertexAttribiv = load.trivialHandle("glGetVertexAttribiv", IIPV); - caps.glIsProgram = load.trivialHandle("glIsProgram", IZ); - caps.glIsShader = load.trivialHandle("glIsShader", IZ); + caps.glGetShaderiv = load.invoke("glGetShaderiv", IIPV); + caps.glGetUniformLocation = load.invoke("glGetUniformLocation", IPI); + caps.glGetUniformfv = load.invoke("glGetUniformfv", IIPV); + caps.glGetUniformiv = load.invoke("glGetUniformiv", IIPV); + caps.glGetVertexAttribPointerv = load.invoke("glGetVertexAttribPointerv", IIPV); + caps.glGetVertexAttribdv = load.invoke("glGetVertexAttribdv", IIPV); + caps.glGetVertexAttribfv = load.invoke("glGetVertexAttribfv", IIPV); + caps.glGetVertexAttribiv = load.invoke("glGetVertexAttribiv", IIPV); + caps.glIsProgram = load.invoke("glIsProgram", IZ); + caps.glIsShader = load.invoke("glIsShader", IZ); caps.glLinkProgram = load.invoke("glLinkProgram", IV); caps.glShaderSource = load.invoke("glShaderSource", IIPPV); - caps.glStencilFuncSeparate = load.trivialHandle("glStencilFuncSeparate", IIIIV); - caps.glStencilMaskSeparate = load.trivialHandle("glStencilMaskSeparate", IIV); - caps.glStencilOpSeparate = load.trivialHandle("glStencilOpSeparate", IIIIV); + caps.glStencilFuncSeparate = load.invoke("glStencilFuncSeparate", IIIIV); + caps.glStencilMaskSeparate = load.invoke("glStencilMaskSeparate", IIV); + caps.glStencilOpSeparate = load.invoke("glStencilOpSeparate", IIIIV); caps.glUniform1f = load.invoke("glUniform1f", IFV); caps.glUniform1fv = load.invoke("glUniform1fv", IIPV); caps.glUniform1i = load.invoke("glUniform1i", IIV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java index 63f7834a..c0232e0b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java @@ -305,17 +305,17 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glBindVertexArray = load.invoke("glBindVertexArray", IV); caps.glBlitFramebuffer = load.invoke("glBlitFramebuffer", IIIIIIIIIIV); caps.glCheckFramebufferStatus = load.invoke("glCheckFramebufferStatus", II); - caps.glClampColor = load.trivialHandle("glClampColor", IIV); + caps.glClampColor = load.invoke("glClampColor", IIV); caps.glClearBufferfi = load.invoke("glClearBufferfi", IIFIV); caps.glClearBufferfv = load.invoke("glClearBufferfv", IIPV); caps.glClearBufferiv = load.invoke("glClearBufferiv", IIPV); caps.glClearBufferuiv = load.invoke("glClearBufferuiv", IIPV); - caps.glColorMaski = load.trivialHandle("glColorMaski", IZZZZV); - caps.glDeleteFramebuffers = load.trivialHandle("glDeleteFramebuffers", IPV); - caps.glDeleteRenderbuffers = load.trivialHandle("glDeleteRenderbuffers", IPV); - caps.glDeleteVertexArrays = load.trivialHandle("glDeleteVertexArrays", IPV); - caps.glDisablei = load.trivialHandle("glDisablei", IIV); - caps.glEnablei = load.trivialHandle("glEnablei", IIV); + caps.glColorMaski = load.invoke("glColorMaski", IZZZZV); + caps.glDeleteFramebuffers = load.invoke("glDeleteFramebuffers", IPV); + caps.glDeleteRenderbuffers = load.invoke("glDeleteRenderbuffers", IPV); + caps.glDeleteVertexArrays = load.invoke("glDeleteVertexArrays", IPV); + caps.glDisablei = load.invoke("glDisablei", IIV); + caps.glEnablei = load.invoke("glEnablei", IIV); caps.glEndConditionalRender = load.invoke("glEndConditionalRender", V); caps.glEndTransformFeedback = load.invoke("glEndTransformFeedback", V); caps.glFlushMappedBufferRange = load.invoke("glFlushMappedBufferRange", IJJV); @@ -324,31 +324,31 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glFramebufferTexture2D = load.invoke("glFramebufferTexture2D", IIIIIV); caps.glFramebufferTexture3D = load.invoke("glFramebufferTexture3D", IIIIIIV); caps.glFramebufferTextureLayer = load.invoke("glFramebufferTextureLayer", IIIIIV); - caps.glGenFramebuffers = load.trivialHandle("glGenFramebuffers", IPV); - caps.glGenRenderbuffers = load.trivialHandle("glGenRenderbuffers", IPV); - caps.glGenVertexArrays = load.trivialHandle("glGenVertexArrays", IPV); + caps.glGenFramebuffers = load.invoke("glGenFramebuffers", IPV); + caps.glGenRenderbuffers = load.invoke("glGenRenderbuffers", IPV); + caps.glGenVertexArrays = load.invoke("glGenVertexArrays", IPV); caps.glGenerateMipmap = load.invoke("glGenerateMipmap", IV); - caps.glGetBooleani_v = load.trivialHandle("glGetBooleani_v", IIPV); - caps.glGetFragDataLocation = load.trivialHandle("glGetFragDataLocation", IPI); - caps.glGetFramebufferAttachmentParameteriv = load.trivialHandle("glGetFramebufferAttachmentParameteriv", IIIPV); - caps.glGetIntegeri_v = load.trivialHandle("glGetIntegeri_v", IIPV); - caps.glGetRenderbufferParameteriv = load.trivialHandle("glGetRenderbufferParameteriv", IIPV); - caps.glGetStringi = load.trivialHandle("glGetStringi", IIp); - caps.glGetTexParameterIiv = load.trivialHandle("glGetTexParameterIiv", IIPV); - caps.glGetTexParameterIuiv = load.trivialHandle("glGetTexParameterIuiv", IIPV); - caps.glGetTransformFeedbackVarying = load.trivialHandle("glGetTransformFeedbackVarying", IIIPPPPV); - caps.glGetUniformuiv = load.trivialHandle("glGetUniformuiv", IIPV); - caps.glGetVertexAttribIiv = load.trivialHandle("glGetVertexAttribIiv", IIPV); - caps.glGetVertexAttribIuiv = load.trivialHandle("glGetVertexAttribIuiv", IIPV); - caps.glIsEnabledi = load.trivialHandle("glIsEnabledi", IIZ); - caps.glIsFramebuffer = load.trivialHandle("glIsFramebuffer", IZ); - caps.glIsRenderbuffer = load.trivialHandle("glIsRenderbuffer", IZ); - caps.glIsVertexArray = load.trivialHandle("glIsVertexArray", IZ); + caps.glGetBooleani_v = load.invoke("glGetBooleani_v", IIPV); + caps.glGetFragDataLocation = load.invoke("glGetFragDataLocation", IPI); + caps.glGetFramebufferAttachmentParameteriv = load.invoke("glGetFramebufferAttachmentParameteriv", IIIPV); + caps.glGetIntegeri_v = load.invoke("glGetIntegeri_v", IIPV); + caps.glGetRenderbufferParameteriv = load.invoke("glGetRenderbufferParameteriv", IIPV); + caps.glGetStringi = load.invoke("glGetStringi", IIp); + caps.glGetTexParameterIiv = load.invoke("glGetTexParameterIiv", IIPV); + caps.glGetTexParameterIuiv = load.invoke("glGetTexParameterIuiv", IIPV); + caps.glGetTransformFeedbackVarying = load.invoke("glGetTransformFeedbackVarying", IIIPPPPV); + caps.glGetUniformuiv = load.invoke("glGetUniformuiv", IIPV); + caps.glGetVertexAttribIiv = load.invoke("glGetVertexAttribIiv", IIPV); + caps.glGetVertexAttribIuiv = load.invoke("glGetVertexAttribIuiv", IIPV); + caps.glIsEnabledi = load.invoke("glIsEnabledi", IIZ); + caps.glIsFramebuffer = load.invoke("glIsFramebuffer", IZ); + caps.glIsRenderbuffer = load.invoke("glIsRenderbuffer", IZ); + caps.glIsVertexArray = load.invoke("glIsVertexArray", IZ); caps.glMapBufferRange = load.invoke("glMapBufferRange", IJJIP); caps.glRenderbufferStorage = load.invoke("glRenderbufferStorage", IIIIV); caps.glRenderbufferStorageMultisample = load.invoke("glRenderbufferStorageMultisample", IIIIIV); - caps.glTexParameterIiv = load.trivialHandle("glTexParameterIiv", IIPV); - caps.glTexParameterIuiv = load.trivialHandle("glTexParameterIuiv", IIPV); + caps.glTexParameterIiv = load.invoke("glTexParameterIiv", IIPV); + caps.glTexParameterIuiv = load.invoke("glTexParameterIuiv", IIPV); caps.glTransformFeedbackVaryings = load.invoke("glTransformFeedbackVaryings", IIPIV); caps.glUniform1ui = load.invoke("glUniform1ui", IIV); caps.glUniform1uiv = load.invoke("glUniform1uiv", IIPV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java index 7fd27c0d..e093b03c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java @@ -115,14 +115,14 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glCopyBufferSubData = load.invoke("glCopyBufferSubData", IIJJJV); caps.glDrawArraysInstanced = load.invoke("glDrawArraysInstanced", IIIIV); caps.glDrawElementsInstanced = load.invoke("glDrawElementsInstanced", IIIPIV); - caps.glGetActiveUniformBlockName = load.trivialHandle("glGetActiveUniformBlockName", IIIPPV); - caps.glGetActiveUniformBlockiv = load.trivialHandle("glGetActiveUniformBlockiv", IIIPV); - caps.glGetActiveUniformName = load.trivialHandle("glGetActiveUniformName", IIIPPV); - caps.glGetActiveUniformsiv = load.trivialHandle("glGetActiveUniformsiv", IIPIPV); - caps.glGetIntegeri_v = load.trivialHandle("glGetIntegeri_v", IIPV); - caps.glGetUniformBlockIndex = load.trivialHandle("glGetUniformBlockIndex", IPI); - caps.glGetUniformIndices = load.trivialHandle("glGetUniformIndices", IIPPV); - caps.glPrimitiveRestartIndex = load.trivialHandle("glPrimitiveRestartIndex", IV); + caps.glGetActiveUniformBlockName = load.invoke("glGetActiveUniformBlockName", IIIPPV); + caps.glGetActiveUniformBlockiv = load.invoke("glGetActiveUniformBlockiv", IIIPV); + caps.glGetActiveUniformName = load.invoke("glGetActiveUniformName", IIIPPV); + caps.glGetActiveUniformsiv = load.invoke("glGetActiveUniformsiv", IIPIPV); + caps.glGetIntegeri_v = load.invoke("glGetIntegeri_v", IIPV); + caps.glGetUniformBlockIndex = load.invoke("glGetUniformBlockIndex", IPI); + caps.glGetUniformIndices = load.invoke("glGetUniformIndices", IIPPV); + caps.glPrimitiveRestartIndex = load.invoke("glPrimitiveRestartIndex", IV); caps.glTexBuffer = load.invoke("glTexBuffer", IIIV); caps.glUniformBlockBinding = load.invoke("glUniformBlockBinding", IIIV); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java index ee6ea795..318fdc5c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java @@ -115,21 +115,21 @@ static boolean isSupported(GLCapabilities caps) { static void load(GLCapabilities caps, GLLoadFunc load) { caps.glClientWaitSync = load.invoke("glClientWaitSync", PIJI); - caps.glDeleteSync = load.trivialHandle("glDeleteSync", PV); + caps.glDeleteSync = load.invoke("glDeleteSync", PV); caps.glDrawElementsBaseVertex = load.invoke("glDrawElementsBaseVertex", IIIPIV); caps.glDrawElementsInstancedBaseVertex = load.invoke("glDrawElementsInstancedBaseVertex", IIIPIIV); caps.glDrawRangeElementsBaseVertex = load.invoke("glDrawRangeElementsBaseVertex", IIIIIPIV); caps.glFenceSync = load.invoke("glFenceSync", IIP); caps.glFramebufferTexture = load.invoke("glFramebufferTexture", IIIIV); - caps.glGetBufferParameteri64v = load.trivialHandle("glGetBufferParameteri64v", IIPV); - caps.glGetInteger64i_v = load.trivialHandle("glGetInteger64i_v", IIPV); - caps.glGetInteger64v = load.trivialHandle("glGetInteger64v", IPV); - caps.glGetMultisamplefv = load.trivialHandle("glGetMultisamplefv", IIPV); - caps.glGetSynciv = load.trivialHandle("glGetSynciv", PIIPPV); - caps.glIsSync = load.trivialHandle("glIsSync", PZ); + caps.glGetBufferParameteri64v = load.invoke("glGetBufferParameteri64v", IIPV); + caps.glGetInteger64i_v = load.invoke("glGetInteger64i_v", IIPV); + caps.glGetInteger64v = load.invoke("glGetInteger64v", IPV); + caps.glGetMultisamplefv = load.invoke("glGetMultisamplefv", IIPV); + caps.glGetSynciv = load.invoke("glGetSynciv", PIIPPV); + caps.glIsSync = load.invoke("glIsSync", PZ); caps.glMultiDrawElementsBaseVertex = load.invoke("glMultiDrawElementsBaseVertex", IPIPIPV); - caps.glProvokingVertex = load.trivialHandle("glProvokingVertex", IV); - caps.glSampleMaski = load.trivialHandle("glSampleMaski", IIV); + caps.glProvokingVertex = load.invoke("glProvokingVertex", IV); + caps.glSampleMaski = load.invoke("glSampleMaski", IIV); caps.glTexImage2DMultisample = load.invoke("glTexImage2DMultisample", IIIIIZV); caps.glTexImage3DMultisample = load.invoke("glTexImage3DMultisample", IIIIIIZV); caps.glWaitSync = load.invoke("glWaitSync", PIJV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java index 104ee734..1c0eece5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java @@ -71,23 +71,23 @@ static boolean isSupported(GLCapabilities caps) { static void load(GLCapabilities caps, GLLoadFunc load) { caps.glBindFragDataLocationIndexed = load.invoke("glBindFragDataLocationIndexed", IIIPV); caps.glBindSampler = load.invoke("glBindSampler", IIV); - caps.glDeleteSamplers = load.trivialHandle("glDeleteSamplers", IPV); - caps.glGenSamplers = load.trivialHandle("glGenSamplers", IIPV); - caps.glGetFragDataIndex = load.trivialHandle("glGetFragDataIndex", IPI); - caps.glGetQueryObjecti64v = load.trivialHandle("glGetQueryObjecti64v", IIPV); - caps.glGetQueryObjectui64v = load.trivialHandle("glGetQueryObjectui64v", IIPV); - caps.glGetSamplerParameterIiv = load.trivialHandle("glGetSamplerParameterIiv", IIPV); - caps.glGetSamplerParameterIuiv = load.trivialHandle("glGetSamplerParameterIuiv", IIPV); - caps.glGetSamplerParameterfv = load.trivialHandle("glGetSamplerParameterfv", IIPV); - caps.glGetSamplerParameteriv = load.trivialHandle("glGetSamplerParameteriv", IIPV); - caps.glIsSampler = load.trivialHandle("glIsSampler", IZ); + caps.glDeleteSamplers = load.invoke("glDeleteSamplers", IPV); + caps.glGenSamplers = load.invoke("glGenSamplers", IIPV); + caps.glGetFragDataIndex = load.invoke("glGetFragDataIndex", IPI); + caps.glGetQueryObjecti64v = load.invoke("glGetQueryObjecti64v", IIPV); + caps.glGetQueryObjectui64v = load.invoke("glGetQueryObjectui64v", IIPV); + caps.glGetSamplerParameterIiv = load.invoke("glGetSamplerParameterIiv", IIPV); + caps.glGetSamplerParameterIuiv = load.invoke("glGetSamplerParameterIuiv", IIPV); + caps.glGetSamplerParameterfv = load.invoke("glGetSamplerParameterfv", IIPV); + caps.glGetSamplerParameteriv = load.invoke("glGetSamplerParameteriv", IIPV); + caps.glIsSampler = load.invoke("glIsSampler", IZ); caps.glQueryCounter = load.invoke("glQueryCounter", IIV); - caps.glSamplerParameterIiv = load.trivialHandle("glSamplerParameterIiv", IIPV); - caps.glSamplerParameterIuiv = load.trivialHandle("glSamplerParameterIuiv", IIPV); - caps.glSamplerParameterf = load.trivialHandle("glSamplerParameterf", IIFV); - caps.glSamplerParameterfv = load.trivialHandle("glSamplerParameterfv", IIPV); - caps.glSamplerParameteri = load.trivialHandle("glSamplerParameteri", IIIV); - caps.glSamplerParameteriv = load.trivialHandle("glSamplerParameteriv", IIPV); + caps.glSamplerParameterIiv = load.invoke("glSamplerParameterIiv", IIPV); + caps.glSamplerParameterIuiv = load.invoke("glSamplerParameterIuiv", IIPV); + caps.glSamplerParameterf = load.invoke("glSamplerParameterf", IIFV); + caps.glSamplerParameterfv = load.invoke("glSamplerParameterfv", IIPV); + caps.glSamplerParameteri = load.invoke("glSamplerParameteri", IIIV); + caps.glSamplerParameteriv = load.invoke("glSamplerParameteriv", IIPV); caps.glVertexAttribDivisor = load.invoke("glVertexAttribDivisor", IIV); caps.glVertexAttribP1ui = load.invoke("glVertexAttribP1ui", IIZIV); caps.glVertexAttribP1uiv = load.invoke("glVertexAttribP1uiv", IIZPV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java index 0ba158c3..a3889377 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java @@ -143,30 +143,30 @@ static boolean isSupported(GLCapabilities caps) { static void load(GLCapabilities caps, GLLoadFunc load) { caps.glBeginQueryIndexed = load.invoke("glBeginQueryIndexed", IIIV); caps.glBindTransformFeedback = load.invoke("glBindTransformFeedback", IIV); - caps.glBlendEquationSeparatei = load.trivialHandle("glBlendEquationSeparatei", IIIV); - caps.glBlendEquationi = load.trivialHandle("glBlendEquationi", IIV); - caps.glBlendFuncSeparatei = load.trivialHandle("glBlendFuncSeparatei", IIIIIV); - caps.glBlendFunci = load.trivialHandle("glBlendFunci", IIIV); - caps.glDeleteTransformFeedbacks = load.trivialHandle("glDeleteTransformFeedbacks", IPV); + caps.glBlendEquationSeparatei = load.invoke("glBlendEquationSeparatei", IIIV); + caps.glBlendEquationi = load.invoke("glBlendEquationi", IIV); + caps.glBlendFuncSeparatei = load.invoke("glBlendFuncSeparatei", IIIIIV); + caps.glBlendFunci = load.invoke("glBlendFunci", IIIV); + caps.glDeleteTransformFeedbacks = load.invoke("glDeleteTransformFeedbacks", IPV); caps.glDrawArraysIndirect = load.invoke("glDrawArraysIndirect", IPV); caps.glDrawElementsIndirect = load.invoke("glDrawElementsIndirect", IIPV); caps.glDrawTransformFeedback = load.invoke("glDrawTransformFeedback", IIV); caps.glDrawTransformFeedbackStream = load.invoke("glDrawTransformFeedbackStream", IIIV); caps.glEndQueryIndexed = load.invoke("glEndQueryIndexed", IIV); - caps.glGenTransformFeedbacks = load.trivialHandle("glGenTransformFeedbacks", IPV); - caps.glGetActiveSubroutineName = load.trivialHandle("glGetActiveSubroutineName", IIIIPPV); - caps.glGetActiveSubroutineUniformName = load.trivialHandle("glGetActiveSubroutineUniformName", IIIIPPV); - caps.glGetActiveSubroutineUniformiv = load.trivialHandle("glGetActiveSubroutineUniformiv", IIIIPV); - caps.glGetProgramStageiv = load.trivialHandle("glGetProgramStageiv", IIIPV); - caps.glGetQueryIndexediv = load.trivialHandle("glGetQueryIndexediv", IIIPV); - caps.glGetSubroutineIndex = load.trivialHandle("glGetSubroutineIndex", IIPI); - caps.glGetSubroutineUniformLocation = load.trivialHandle("glGetSubroutineUniformLocation", IIPI); - caps.glGetUniformSubroutineuiv = load.trivialHandle("glGetUniformSubroutineuiv", IIPV); - caps.glGetUniformdv = load.trivialHandle("glGetUniformdv", IIPV); - caps.glIsTransformFeedback = load.trivialHandle("glIsTransformFeedback", IZ); - caps.glMinSampleShading = load.trivialHandle("glMinSampleShading", FV); - caps.glPatchParameterfv = load.trivialHandle("glPatchParameterfv", IPV); - caps.glPatchParameteri = load.trivialHandle("glPatchParameteri", IIV); + caps.glGenTransformFeedbacks = load.invoke("glGenTransformFeedbacks", IPV); + caps.glGetActiveSubroutineName = load.invoke("glGetActiveSubroutineName", IIIIPPV); + caps.glGetActiveSubroutineUniformName = load.invoke("glGetActiveSubroutineUniformName", IIIIPPV); + caps.glGetActiveSubroutineUniformiv = load.invoke("glGetActiveSubroutineUniformiv", IIIIPV); + caps.glGetProgramStageiv = load.invoke("glGetProgramStageiv", IIIPV); + caps.glGetQueryIndexediv = load.invoke("glGetQueryIndexediv", IIIPV); + caps.glGetSubroutineIndex = load.invoke("glGetSubroutineIndex", IIPI); + caps.glGetSubroutineUniformLocation = load.invoke("glGetSubroutineUniformLocation", IIPI); + caps.glGetUniformSubroutineuiv = load.invoke("glGetUniformSubroutineuiv", IIPV); + caps.glGetUniformdv = load.invoke("glGetUniformdv", IIPV); + caps.glIsTransformFeedback = load.invoke("glIsTransformFeedback", IZ); + caps.glMinSampleShading = load.invoke("glMinSampleShading", FV); + caps.glPatchParameterfv = load.invoke("glPatchParameterfv", IPV); + caps.glPatchParameteri = load.invoke("glPatchParameteri", IIV); caps.glPauseTransformFeedback = load.invoke("glPauseTransformFeedback", V); caps.glResumeTransformFeedback = load.invoke("glResumeTransformFeedback", V); caps.glUniform1d = load.invoke("glUniform1d", IDV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java index 7518051b..ebac495c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java @@ -100,21 +100,21 @@ static boolean isSupported(GLCapabilities caps) { static void load(GLCapabilities caps, GLLoadFunc load) { caps.glActiveShaderProgram = load.invoke("glActiveShaderProgram", IIV); caps.glBindProgramPipeline = load.invoke("glBindProgramPipeline", IV); - caps.glClearDepthf = load.trivialHandle("glClearDepthf", FV); - caps.glCreateShaderProgramv = load.trivialHandle("glCreateShaderProgramv", IIPI); - caps.glDeleteProgramPipelines = load.trivialHandle("glDeleteProgramPipelines", IPV); - caps.glDepthRangeArrayv = load.trivialHandle("glDepthRangeArrayv", IIPV); - caps.glDepthRangeIndexed = load.trivialHandle("glDepthRangeIndexed", IDDV); - caps.glDepthRangef = load.trivialHandle("glDepthRangef", FFV); - caps.glGenProgramPipelines = load.trivialHandle("glGenProgramPipelines", IPV); - caps.glGetDoublei_v = load.trivialHandle("glGetDoublei_v", IIPV); - caps.glGetFloati_v = load.trivialHandle("glGetFloati_v", IIPV); + caps.glClearDepthf = load.invoke("glClearDepthf", FV); + caps.glCreateShaderProgramv = load.invoke("glCreateShaderProgramv", IIPI); + caps.glDeleteProgramPipelines = load.invoke("glDeleteProgramPipelines", IPV); + caps.glDepthRangeArrayv = load.invoke("glDepthRangeArrayv", IIPV); + caps.glDepthRangeIndexed = load.invoke("glDepthRangeIndexed", IDDV); + caps.glDepthRangef = load.invoke("glDepthRangef", FFV); + caps.glGenProgramPipelines = load.invoke("glGenProgramPipelines", IPV); + caps.glGetDoublei_v = load.invoke("glGetDoublei_v", IIPV); + caps.glGetFloati_v = load.invoke("glGetFloati_v", IIPV); caps.glGetProgramBinary = load.invoke("glGetProgramBinary", IIPPPV); caps.glGetProgramPipelineInfoLog = load.invoke("glGetProgramPipelineInfoLog", IIPPV); - caps.glGetProgramPipelineiv = load.trivialHandle("glGetProgramPipelineiv", IIPV); - caps.glGetShaderPrecisionFormat = load.trivialHandle("glGetShaderPrecisionFormat", IIPPV); - caps.glGetVertexAttribLdv = load.trivialHandle("glGetVertexAttribLdv", IIPV); - caps.glIsProgramPipeline = load.trivialHandle("glIsProgramPipeline", IZ); + caps.glGetProgramPipelineiv = load.invoke("glGetProgramPipelineiv", IIPV); + caps.glGetShaderPrecisionFormat = load.invoke("glGetShaderPrecisionFormat", IIPPV); + caps.glGetVertexAttribLdv = load.invoke("glGetVertexAttribLdv", IIPV); + caps.glIsProgramPipeline = load.invoke("glIsProgramPipeline", IZ); caps.glProgramBinary = load.invoke("glProgramBinary", IIPIV); caps.glProgramParameteri = load.invoke("glProgramParameteri", IIIV); caps.glProgramUniform1d = load.invoke("glProgramUniform1d", IIDV); @@ -169,8 +169,8 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glProgramUniformMatrix4x3fv = load.invoke("glProgramUniformMatrix4x3fv", IIIZPV); caps.glReleaseShaderCompiler = load.invoke("glReleaseShaderCompiler", V); caps.glScissorArrayv = load.invoke("glScissorArrayv", IIPV); - caps.glScissorIndexed = load.trivialHandle("glScissorIndexed", IIIIIV); - caps.glScissorIndexedv = load.trivialHandle("glScissorIndexedv", IPV); + caps.glScissorIndexed = load.invoke("glScissorIndexed", IIIIIV); + caps.glScissorIndexedv = load.invoke("glScissorIndexedv", IPV); caps.glShaderBinary = load.invoke("glShaderBinary", IPIPIV); caps.glUseProgramStages = load.invoke("glUseProgramStages", IIIV); caps.glValidateProgramPipeline = load.invoke("glValidateProgramPipeline", IV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java index 4e2ba6f6..950b0073 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java @@ -170,8 +170,8 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glDrawElementsInstancedBaseVertexBaseInstance = load.invoke("glDrawElementsInstancedBaseVertexBaseInstance", IIIPIIIV); caps.glDrawTransformFeedbackInstanced = load.invoke("glDrawTransformFeedbackInstanced", IIIV); caps.glDrawTransformFeedbackStreamInstanced = load.invoke("glDrawTransformFeedbackStreamInstanced", IIIIV); - caps.glGetActiveAtomicCounterBufferiv = load.trivialHandle("glGetActiveAtomicCounterBufferiv", IIIPV); - caps.glGetInternalformativ = load.trivialHandle("glGetInternalformativ", IIIIPV); + caps.glGetActiveAtomicCounterBufferiv = load.invoke("glGetActiveAtomicCounterBufferiv", IIIPV); + caps.glGetInternalformativ = load.invoke("glGetInternalformativ", IIIIPV); caps.glMemoryBarrier = load.invoke("glMemoryBarrier", IV); caps.glTexStorage1D = load.invoke("glTexStorage1D", IIIIV); caps.glTexStorage2D = load.invoke("glTexStorage2D", IIIIIV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java index 4fe8f96c..ef05dc51 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java @@ -338,11 +338,11 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glDispatchComputeIndirect = load.invoke("glDispatchComputeIndirect", JV); caps.glFramebufferParameteri = load.invoke("glFramebufferParameteri", IIIV); caps.glGetDebugMessageLog = load.invoke("glGetDebugMessageLog", IIPPPPPPI); - caps.glGetFramebufferParameteriv = load.trivialHandle("glGetFramebufferParameteriv", IIPV); - caps.glGetInternalformati64v = load.trivialHandle("glGetInternalformati64v", IIIIPV); - caps.glGetObjectLabel = load.trivialHandle("glGetObjectLabel", IIIPPV); - caps.glGetObjectPtrLabel = load.trivialHandle("glGetObjectPtrLabel", PIPPV); - caps.glGetPointerv = load.trivialHandle("glGetPointerv", IPV); + caps.glGetFramebufferParameteriv = load.invoke("glGetFramebufferParameteriv", IIPV); + caps.glGetInternalformati64v = load.invoke("glGetInternalformati64v", IIIIPV); + caps.glGetObjectLabel = load.invoke("glGetObjectLabel", IIIPPV); + caps.glGetObjectPtrLabel = load.invoke("glGetObjectPtrLabel", PIPPV); + caps.glGetPointerv = load.invoke("glGetPointerv", IPV); caps.glGetProgramInterfaceiv = load.invoke("glGetProgramInterfaceiv", IIIPV); caps.glGetProgramResourceIndex = load.invoke("glGetProgramResourceIndex", IIPI); caps.glGetProgramResourceLocation = load.invoke("glGetProgramResourceLocation", IIPI); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java index 10ee62a5..40796a95 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java @@ -107,47 +107,47 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glCopyTextureSubImage1D = load.invoke("glCopyTextureSubImage1D", IIIIIIV); caps.glCopyTextureSubImage2D = load.invoke("glCopyTextureSubImage2D", IIIIIIIIV); caps.glCopyTextureSubImage3D = load.invoke("glCopyTextureSubImage3D", IIIIIIIIIV); - caps.glCreateBuffers = load.trivialHandle("glCreateBuffers", IPV); - caps.glCreateFramebuffers = load.trivialHandle("glCreateFramebuffers", IPV); - caps.glCreateProgramPipelines = load.trivialHandle("glCreateProgramPipelines", IPV); - caps.glCreateQueries = load.trivialHandle("glCreateQueries", IIPV); - caps.glCreateRenderbuffers = load.trivialHandle("glCreateRenderbuffers", IPV); - caps.glCreateSamplers = load.trivialHandle("glCreateSamplers", IPV); - caps.glCreateTextures = load.trivialHandle("glCreateTextures", IIPV); - caps.glCreateTransformFeedbacks = load.trivialHandle("glCreateTransformFeedbacks", IPV); - caps.glCreateVertexArrays = load.trivialHandle("glCreateVertexArrays", IPV); - caps.glDisableVertexArrayAttrib = load.trivialHandle("glDisableVertexArrayAttrib", IIV); - caps.glEnableVertexArrayAttrib = load.trivialHandle("glEnableVertexArrayAttrib", IIV); + caps.glCreateBuffers = load.invoke("glCreateBuffers", IPV); + caps.glCreateFramebuffers = load.invoke("glCreateFramebuffers", IPV); + caps.glCreateProgramPipelines = load.invoke("glCreateProgramPipelines", IPV); + caps.glCreateQueries = load.invoke("glCreateQueries", IIPV); + caps.glCreateRenderbuffers = load.invoke("glCreateRenderbuffers", IPV); + caps.glCreateSamplers = load.invoke("glCreateSamplers", IPV); + caps.glCreateTextures = load.invoke("glCreateTextures", IIPV); + caps.glCreateTransformFeedbacks = load.invoke("glCreateTransformFeedbacks", IPV); + caps.glCreateVertexArrays = load.invoke("glCreateVertexArrays", IPV); + caps.glDisableVertexArrayAttrib = load.invoke("glDisableVertexArrayAttrib", IIV); + caps.glEnableVertexArrayAttrib = load.invoke("glEnableVertexArrayAttrib", IIV); caps.glFlushMappedNamedBufferRange = load.invoke("glFlushMappedNamedBufferRange", IJJV); caps.glGenerateTextureMipmap = load.invoke("glGenerateTextureMipmap", IV); caps.glGetCompressedTextureImage = load.invoke("glGetCompressedTextureImage", IIIPV); caps.glGetCompressedTextureSubImage = load.invoke("glGetCompressedTextureSubImage", IIIIIIIIIPV); caps.glGetGraphicsResetStatus = load.invoke("glGetGraphicsResetStatus", I); - caps.glGetNamedBufferParameteri64v = load.trivialHandle("glGetNamedBufferParameteri64v", IIPV); - caps.glGetNamedBufferParameteriv = load.trivialHandle("glGetNamedBufferParameteriv", IIPV); - caps.glGetNamedBufferPointerv = load.trivialHandle("glGetNamedBufferPointerv", IIPV); + caps.glGetNamedBufferParameteri64v = load.invoke("glGetNamedBufferParameteri64v", IIPV); + caps.glGetNamedBufferParameteriv = load.invoke("glGetNamedBufferParameteriv", IIPV); + caps.glGetNamedBufferPointerv = load.invoke("glGetNamedBufferPointerv", IIPV); caps.glGetNamedBufferSubData = load.invoke("glGetNamedBufferSubData", IJJPV); - caps.glGetNamedFramebufferAttachmentParameteriv = load.trivialHandle("glGetNamedFramebufferAttachmentParameteriv", IIIPV); - caps.glGetNamedFramebufferParameteriv = load.trivialHandle("glGetNamedFramebufferParameteriv", IIPV); - caps.glGetNamedRenderbufferParameteriv = load.trivialHandle("glGetNamedRenderbufferParameteriv", IIPV); - caps.glGetQueryBufferObjecti64v = load.trivialHandle("glGetQueryBufferObjecti64v", IIIJV); - caps.glGetQueryBufferObjectiv = load.trivialHandle("glGetQueryBufferObjectiv", IIIJV); - caps.glGetQueryBufferObjectui64v = load.trivialHandle("glGetQueryBufferObjectui64v", IIIJV); - caps.glGetQueryBufferObjectuiv = load.trivialHandle("glGetQueryBufferObjectuiv", IIIJV); + caps.glGetNamedFramebufferAttachmentParameteriv = load.invoke("glGetNamedFramebufferAttachmentParameteriv", IIIPV); + caps.glGetNamedFramebufferParameteriv = load.invoke("glGetNamedFramebufferParameteriv", IIPV); + caps.glGetNamedRenderbufferParameteriv = load.invoke("glGetNamedRenderbufferParameteriv", IIPV); + caps.glGetQueryBufferObjecti64v = load.invoke("glGetQueryBufferObjecti64v", IIIJV); + caps.glGetQueryBufferObjectiv = load.invoke("glGetQueryBufferObjectiv", IIIJV); + caps.glGetQueryBufferObjectui64v = load.invoke("glGetQueryBufferObjectui64v", IIIJV); + caps.glGetQueryBufferObjectuiv = load.invoke("glGetQueryBufferObjectuiv", IIIJV); caps.glGetTextureImage = load.invoke("glGetTextureImage", IIIIIPV); - caps.glGetTextureLevelParameterfv = load.trivialHandle("glGetTextureLevelParameterfv", IIIPV); - caps.glGetTextureLevelParameteriv = load.trivialHandle("glGetTextureLevelParameteriv", IIIPV); - caps.glGetTextureParameterIiv = load.trivialHandle("glGetTextureParameterIiv", IIPV); - caps.glGetTextureParameterIuiv = load.trivialHandle("glGetTextureParameterIuiv", IIPV); - caps.glGetTextureParameterfv = load.trivialHandle("glGetTextureParameterfv", IIPV); - caps.glGetTextureParameteriv = load.trivialHandle("glGetTextureParameteriv", IIPV); + caps.glGetTextureLevelParameterfv = load.invoke("glGetTextureLevelParameterfv", IIIPV); + caps.glGetTextureLevelParameteriv = load.invoke("glGetTextureLevelParameteriv", IIIPV); + caps.glGetTextureParameterIiv = load.invoke("glGetTextureParameterIiv", IIPV); + caps.glGetTextureParameterIuiv = load.invoke("glGetTextureParameterIuiv", IIPV); + caps.glGetTextureParameterfv = load.invoke("glGetTextureParameterfv", IIPV); + caps.glGetTextureParameteriv = load.invoke("glGetTextureParameteriv", IIPV); caps.glGetTextureSubImage = load.invoke("glGetTextureSubImage", IIIIIIIIIIIPV); - caps.glGetTransformFeedbacki64_v = load.trivialHandle("glGetTransformFeedbacki64_v", IIIPV); - caps.glGetTransformFeedbacki_v = load.trivialHandle("glGetTransformFeedbacki_v", IIIPV); - caps.glGetTransformFeedbackiv = load.trivialHandle("glGetTransformFeedbackiv", IIPV); - caps.glGetVertexArrayIndexed64iv = load.trivialHandle("glGetVertexArrayIndexed64iv", IIIPV); - caps.glGetVertexArrayIndexediv = load.trivialHandle("glGetVertexArrayIndexediv", IIIPV); - caps.glGetVertexArrayiv = load.trivialHandle("glGetVertexArrayiv", IIPV); + caps.glGetTransformFeedbacki64_v = load.invoke("glGetTransformFeedbacki64_v", IIIPV); + caps.glGetTransformFeedbacki_v = load.invoke("glGetTransformFeedbacki_v", IIIPV); + caps.glGetTransformFeedbackiv = load.invoke("glGetTransformFeedbackiv", IIPV); + caps.glGetVertexArrayIndexed64iv = load.invoke("glGetVertexArrayIndexed64iv", IIIPV); + caps.glGetVertexArrayIndexediv = load.invoke("glGetVertexArrayIndexediv", IIIPV); + caps.glGetVertexArrayiv = load.invoke("glGetVertexArrayiv", IIPV); caps.glGetnCompressedTexImage = load.invoke("glGetnCompressedTexImage", IIIPV); caps.glGetnTexImage = load.invoke("glGetnTexImage", IIIIIPV); caps.glGetnUniformdv = load.invoke("glGetnUniformdv", IIIPV); @@ -175,12 +175,12 @@ static void load(GLCapabilities caps, GLLoadFunc load) { caps.glTextureBarrier = load.invoke("glTextureBarrier", V); caps.glTextureBuffer = load.invoke("glTextureBuffer", IIIV); caps.glTextureBufferRange = load.invoke("glTextureBufferRange", IIIJJV); - caps.glTextureParameterIiv = load.trivialHandle("glTextureParameterIiv", IIPV); - caps.glTextureParameterIuiv = load.trivialHandle("glTextureParameterIuiv", IIPV); - caps.glTextureParameterf = load.trivialHandle("glTextureParameterf", IIFV); - caps.glTextureParameterfv = load.trivialHandle("glTextureParameterfv", IIPV); - caps.glTextureParameteri = load.trivialHandle("glTextureParameteri", IIIV); - caps.glTextureParameteriv = load.trivialHandle("glTextureParameteriv", IIPV); + caps.glTextureParameterIiv = load.invoke("glTextureParameterIiv", IIPV); + caps.glTextureParameterIuiv = load.invoke("glTextureParameterIuiv", IIPV); + caps.glTextureParameterf = load.invoke("glTextureParameterf", IIFV); + caps.glTextureParameterfv = load.invoke("glTextureParameterfv", IIPV); + caps.glTextureParameteri = load.invoke("glTextureParameteri", IIIV); + caps.glTextureParameteriv = load.invoke("glTextureParameteriv", IIPV); caps.glTextureStorage1D = load.invoke("glTextureStorage1D", IIIIV); caps.glTextureStorage2D = load.invoke("glTextureStorage2D", IIIIIV); caps.glTextureStorage2DMultisample = load.invoke("glTextureStorage2DMultisample", IIIIIZV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java index 3adc377b..6004b5c2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java @@ -76,7 +76,7 @@ static boolean isSupported(GLCapabilities caps) { static void load(GLCapabilities caps, GLLoadFunc load) { caps.glMultiDrawArraysIndirectCount = load.invoke("glMultiDrawArraysIndirectCount", IPJIIV); caps.glMultiDrawElementsIndirectCount = load.invoke("glMultiDrawElementsIndirectCount", IIPJIIV); - caps.glPolygonOffsetClamp = load.trivialHandle("glPolygonOffsetClamp", FFFV); + caps.glPolygonOffsetClamp = load.invoke("glPolygonOffsetClamp", FFFV); caps.glSpecializeShader = load.invoke("glSpecializeShader", IPIPPV); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java index bfe76fd0..a62a7830 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoadFunc.java @@ -58,15 +58,4 @@ public interface GLLoadFunc { default MethodHandle invoke(String procName, FunctionDescriptors function, Linker.Option... options) { return RuntimeHelper.downcallSafe(invoke(procName), function, options); } - - /** - * Load a trivial function by the given name and creates a downcall handle or {@code null}. - * - * @param procName the function name - * @param function the function descriptor of the target function. - * @return a downcall method handle, or {@code null} if the symbol is {@link MemorySegment#NULL} - */ - default MethodHandle trivialHandle(String procName, FunctionDescriptors function) { - return invoke(procName, function, Linker.Option.isTrivial()); - } } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java index 24accfa1..8d9e3a28 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java @@ -17,7 +17,6 @@ package overrungl.stb; import overrungl.FunctionDescriptors; -import overrungl.OverrunGL; import overrungl.internal.RuntimeHelper; import java.lang.foreign.Linker; @@ -52,6 +51,6 @@ static MethodHandle downcallTrivial(String name, public static void initialize() { if (loaded) return; loaded = true; - lookup = RuntimeHelper.load("stb", "stb", OverrunGL.VERSION); + lookup = RuntimeHelper.load("stb", "stb", "0.1.0.0"); } } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java index e183f1b7..f91581dd 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java @@ -73,11 +73,11 @@ private STBEasyFont() { private static void create() { stb_easy_font_draw_segs = downcall("stb_easy_font_draw_segs", FFPIIPPIII); - stb_easy_font_get_spacing = downcallTrivial("stb_easy_font_get_spacing", F); - stb_easy_font_spacing = downcallTrivial("stb_easy_font_spacing", FV); + stb_easy_font_get_spacing = downcall("stb_easy_font_get_spacing", F); + stb_easy_font_spacing = downcall("stb_easy_font_spacing", FV); stb_easy_font_print = downcall("stb_easy_font_print", FFPPPII); - stb_easy_font_width = downcallTrivial("stb_easy_font_width", fd_PI); - stb_easy_font_height = downcallTrivial("stb_easy_font_height", fd_PI); + stb_easy_font_width = downcall("stb_easy_font_width", fd_PI); + stb_easy_font_height = downcall("stb_easy_font_height", fd_PI); } public static int ndrawSegs(float x, float y, MemorySegment segs, int numSegs, boolean vertical, MemorySegment c, MemorySegment vbuf, int vbufSize, int offset) { diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java index 7a08617c..1aaeafe2 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java @@ -65,12 +65,12 @@ public final class STBImage { } private static void create() { - stbi_convert_iphone_png_to_rgb = downcallTrivial("stbi_convert_iphone_png_to_rgb", IV); - stbi_convert_iphone_png_to_rgb_thread = downcallTrivial("stbi_convert_iphone_png_to_rgb_thread", IV); - stbi_failure_reason = downcallTrivial("stbi_failure_reason", p); - stbi_hdr_to_ldr_gamma = downcallTrivial("stbi_hdr_to_ldr_gamma", FV); - stbi_hdr_to_ldr_scale = downcallTrivial("stbi_hdr_to_ldr_scale", FV); - stbi_image_free = downcallTrivial("stbi_image_free", PV); + stbi_convert_iphone_png_to_rgb = downcall("stbi_convert_iphone_png_to_rgb", IV); + stbi_convert_iphone_png_to_rgb_thread = downcall("stbi_convert_iphone_png_to_rgb_thread", IV); + stbi_failure_reason = downcall("stbi_failure_reason", p); + stbi_hdr_to_ldr_gamma = downcall("stbi_hdr_to_ldr_gamma", FV); + stbi_hdr_to_ldr_scale = downcall("stbi_hdr_to_ldr_scale", FV); + stbi_image_free = downcall("stbi_image_free", PV); stbi_info = downcall("stbi_info", PPPPI); stbi_info_from_callbacks = downcall("stbi_info_from_callbacks", PPPPPI); stbi_info_from_file = downcall("stbi_info_from_file", PPPPI); @@ -98,9 +98,9 @@ private static void create() { stbi_loadf_from_callbacks = downcall("stbi_loadf_from_callbacks", PPPPPIp); stbi_loadf_from_file = downcall("stbi_loadf_from_file", PPPPIp); stbi_loadf_from_memory = downcall("stbi_loadf_from_memory", PIPPPIp); - stbi_set_flip_vertically_on_load = downcallTrivial("stbi_set_flip_vertically_on_load", IV); + stbi_set_flip_vertically_on_load = downcall("stbi_set_flip_vertically_on_load", IV); stbi_set_flip_vertically_on_load_thread = downcall("stbi_set_flip_vertically_on_load_thread", IV); - stbi_set_unpremultiply_on_load = downcallTrivial("stbi_set_unpremultiply_on_load", IV); + stbi_set_unpremultiply_on_load = downcall("stbi_set_unpremultiply_on_load", IV); stbi_set_unpremultiply_on_load_thread = downcall("stbi_set_unpremultiply_on_load_thread", IV); stbi_zlib_decode_buffer = downcall("stbi_zlib_decode_buffer", PIPII); stbi_zlib_decode_malloc = downcall("stbi_zlib_decode_malloc", PIPp); diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java index 12358d64..7cbc8401 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java @@ -48,13 +48,13 @@ public final class STBImageWrite { } private static void create() { - stbi_flip_vertically_on_write = downcallTrivial("stbi_flip_vertically_on_write", IV); - stbi_get_write_force_png_filter = downcallTrivial("stbi_get_write_force_png_filter", I); - stbi_get_write_png_compression_level = downcallTrivial("stbi_get_write_png_compression_level", I); - stbi_get_write_tga_with_rle = downcallTrivial("stbi_get_write_tga_with_rle", I); - stbi_set_write_force_png_filter = downcallTrivial("stbi_set_write_force_png_filter", IV); - stbi_set_write_png_compression_level = downcallTrivial("stbi_set_write_png_compression_level", IV); - stbi_set_write_tga_with_rle = downcallTrivial("stbi_set_write_tga_with_rle", IV); + stbi_flip_vertically_on_write = downcall("stbi_flip_vertically_on_write", IV); + stbi_get_write_force_png_filter = downcall("stbi_get_write_force_png_filter", I); + stbi_get_write_png_compression_level = downcall("stbi_get_write_png_compression_level", I); + stbi_get_write_tga_with_rle = downcall("stbi_get_write_tga_with_rle", I); + stbi_set_write_force_png_filter = downcall("stbi_set_write_force_png_filter", IV); + stbi_set_write_png_compression_level = downcall("stbi_set_write_png_compression_level", IV); + stbi_set_write_tga_with_rle = downcall("stbi_set_write_tga_with_rle", IV); stbi_write_bmp = downcall("stbi_write_bmp", PIIIPI); stbi_write_bmp_to_func = downcall("stbi_write_bmp_to_func", PPIIIP); stbi_write_hdr = downcall("stbi_write_hdr", PIIIPI); From 4e9259f8288954bbb758866347137c25ffaa94a2 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 30 Sep 2023 09:33:31 +0800 Subject: [PATCH 12/44] Update build script and workflow --- .github/workflows/gradle.yml | 2 +- build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index be47646f..03985e3d 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -7,7 +7,7 @@ name: Java CI with Gradle -on: [ push, pull_request ] +on: [ push, pull_request, workflow_dispatch ] jobs: build: diff --git a/build.gradle.kts b/build.gradle.kts index 0e6decf0..e7c40cf7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,7 +19,7 @@ val orgName: String by project val orgUrl: String by project val developers: String by project -val jdkEABuildDoc: String? = "jdk21" +val jdkEABuildDoc: String? = null val targetJavaVersion = 21 val enablePreview = true From e74a40f87226538f87f7a0e27595573f2d3538c3 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 30 Sep 2023 10:33:36 +0800 Subject: [PATCH 13/44] Hotfix: natives not loading --- build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 63375 -> 63721 bytes gradlew | 3 ++- .../java/overrungl/internal/Exceptions.java | 4 ++++ .../overrungl/internal/RuntimeHelper.java | 12 +++++------- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e7c40cf7..8d882549 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -113,7 +113,7 @@ enum class Artifact( fun nativeFileName(platform: NativePlatform): String? { return if (nativeBinding == null) null - else "$nativeBinding/${platform.osFamilyName}/${platform.osArch}/${platform.nativeLibPrefix}${nativeBinding.basename}${platform.nativeLibSuffix}" + else "${nativeBinding.bindingName}/${platform.osFamilyName}/${platform.osArch}/${platform.nativeLibPrefix}${nativeBinding.basename}${platform.nativeLibSuffix}" } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 033e24c4cdf41af1ab109bc7f253b2b887023340..7f93135c49b765f8051ef9d0a6055ff8e46073d8 100644 GIT binary patch delta 28216 zcmZ6yQ*@x+6TO*^ZQHip9ox2TJ8x{;wr$&H$LgqKv*-KI%$l`+bAK-CVxOv0&)z5g z2JHL}tl@+Jd?b>@B>9{`5um}}z@(_WbP841wh56Q*(#D!%+_WFn zxTW!hkY%qR9|LgnC$UfeVp69yjV8RF>YD%YeVEatr**mzN7 z%~mf;`MId9ttnTP(NBpBu_T!aR9RPfUey|B+hCTWWUp*Wy%dWP;fVVjO?KDc*VJ^iSto8gEBp#a5qRnMR zR-GrMr4};1AUK^Wl4El^I$-(Vox98wN~VNm(oL!Se73~FCH0%|9`4hgXt)VkY;&YA zxyNzaSx28JDZ@IjQQ-r%=U60hdM!;;Y1B&M`-jR5wo|dL0PfRJBs={0-i#sk@ffUT z&!L4AR}OfxIMF;CysW-jf@GxJRaJf6F$^KwJk-s_L0t?_fJ4k67RHAk3M+heW>EqQ>mh(Ebmt5gvhew5D{oe# zo`>K30R3ukH;X#Wq!&s zh<7!d$VmuwoQfFr&7EXB^fHQhPSUeX-@m@70<^Z-3rtpi;hOA_$6iw7N*XT>pwkm9^O|F` zV$|!O7HK<&%rdLqo6c5A>AL}T)rY)mCX9IQZdUUafh2CzC~-ixktzMIU(ZZ}?tK;b zJk9Wwx!+Ej!fTgInh8by&<<;Q+>(gN(w-wO{3c($ua2PiC10N6MH6zHuCrIMQL^<_ zJbok&IZ1f&2hF8#E}+@2;m7z@mRJbXJZAMDrA>>?YCn~dS;HOKzymOhHng2>Vqt^| zqR71FIPY1`Y_tsTs>9k)&f%JOVl9oUZ$3ufI0`kM#_d@%1~~NYRSbgq>`8HS@YCTP zN1lIW7odKxwcu71yGi#68$K_+c ziEt@@hyTm6*U^3V^=kEYm`?AR*^&DQz$%CV6-c-87CA>z6cAI!Vqdi|Jtw*PVTC)3 zlYI4yE!rS)gHla|DYjQ~Vea(In8~mqeIn7W;5?2$4lJ;wAqMcLS|AcWwN%&FK2(WL zCB@UE7+TPVkEN#q8zY_zi3x8BE+TsYo3s#nfJ3DnuABb|!28j#;A;27g+x)xLTX7; zFdUA=o26z`apjP!WJaK>P+gP2ijuSvm!WBq{8a4#OJrB?Ug=K7+zHCo#~{om5nhEs z9#&+qk>(sVESM`sJSaE)ybL7yTB^J;zDIu1m$&l!OE#yxvjF6c{p&|oM!+4^|7sVv zEAcZqfZP}eW}<;f4=Lg1u0_*M-Zd@kKx|7%JfW;#kT}yRVY^C5IX^Mr^9vW0=G!6T zF&u}?lsA7r)qVcE`SrY(kG$-uK` zy|vn}D^GBxhP+f%Y;>yBFh0^0Q5|u_)gQylO808C5xO_%+ih8?+Yv@4|M?vYB7is!1y@n%8fZ?IL%a@%Qe;9q@IC)BmfjA?Nu*COkU$PP%XoE%%B7dd0rf;*AuGIs%d zOMi)Jd9Gk%3W)sXCM{Upg&JbSh^G5j%l!y8;nw*n+WIK}OM-wt=d*R0>_L9r1Z`Z+ zc;l>^^y#C*RBicDoGdG^c-*Zr{)PYO-TL>cc2ra#H9P@ml{LnWdB+Cg@@z`F$Cg+) zG%M(!=}+i3o``uvsP4UI;}edQyyqZbhpD_!BTz{O#yrq`+%` zc`uT~qNjFFBRixfq)^)E7CBxi+tN7qW>|BPwlr(li({kN6O$wSLd~@Z?I;>xiv*V4 zNVM-0H#h?4NaQa%3c&yC zig%>pq3m7pKFUN(2zW>A1lJ+WSZAKAGYMiK8&pp)v01^a<6B_rE*}s1p0O(4zakbSt3e((EqbeC`uF1H|A;Kp%N@+b0~5;x6Sji?IUl||MmI_F~I2l;HWrhBF@A~cyW>#?3TOhsOX~T z(J+~?l^huJf-@6)ffBq5{}E(V#{dT0S-bwmxJdBun@ag@6#pTiE9Ezrr2eTc4o@dX z7^#jNNu1QkkCv-BX}AEd5UzX2tqN~X2OVPl&L0Ji(PJ5Iy^nx?^D%V!wnX-q2I;-) z60eT5kXD5n4_=;$XA%1n?+VR-OduZ$j7f}>l5G`pHDp*bY%p$(?FY8OO;Quk$1iAZ zsH$={((`g1fW)?#-qm}Z7ooqMF{7%3NJzC`sqBIK+w16yQ{=>80lt}l2ilW=>G0*7 zeU>_{?`68NS8DJ>H1#HgY!!{EG)+Cvvb{7~_tlQnzU!^l+JP7RmY4hKA zbNYsg5Imd)jj?9-HRiDIvpga&yhaS2y6}aAS?|gA9y$}Z2w%N?Hi;14$6Qt9Fc(zl zSClM66;E1hxh^>PDv1XMq3yzJ#jIQ2n+?hwjw)8hFcXDQ$PiWf{s&^_>jbGGeg0{e zx4b5kIhB2gIgyS27y+;DfV`%)h1F!WTP!76o?^QsSBR~nBXnz|IYr*$k${m-u>9Mj z>09A!u0*q9wSQ>0WDmmm6hKju+`dxYkybvA=1jG|1`G$ikS^okbnAN=Wz*xojmwWtY zZq{@FnLJg|h&Ci78w-ZXi=9I>WkRlD1d>c0=b9iXFguf*jq8UF(aM^HPO6~l!aXXi zc4bhK;mEsobxUit``hThf!0qvU3#~h%+C7bA-UJ%beFlm%?79KFM=Q2ALm>*ejo)1 zN33ZFKX8=zsg25G0Ab*X= zdcI5{@`irEC^Vn3q59Jucz{N6{KZY%y!;&|6(=B*Qp4*X@6+qsstjw|K^Wnh^m zw8Uv>6;*bKq>4?Gx3QFDLt`0UxmmN7Xiq<$s>g!~1}N!FL8j3aRyuwusB^Rr5ctV|o-cP?J#Un1>4_;4aB&7@B;k zdZy2^x1cZ-*IQTd25OC9?`_p0K$U0DHZIt8<7E+h=)E^Rp0gzu`UVffNxwLzG zX*D_UAl34>+%*J+r|O0;FZ>F4(Wc?6+cR=BtS-N0cj2Yp2q1d6l?d$Iytr<#v-_FO z?eHZv2-Ip;7yMv=O)FL_oCZRJQZX}2v%EkS681es?4j-kL}8;X|j8CJgydxjyLn~K)YXxg3=u&4MoB$FGPl~zhg3Z zt9ULN>|(KD1PZU)Y&rZfmS<5B={#}jsn5pr0NC%Kj3BZIDQ?<^F6!SqVMmILZ*Rg9 zh;>0;5a)j%SOPWU-3a2Uio^ISC|#-S@d({=CDa}9snC0(l2PSpUg_lNxPwJt^@lHE zzsH2EZ{#WTf~S~FR+S{&bn+>G!R`)dK>!wpyCXVYKkn$H26^H}y?Pi92!6C`>d|xr z04#wV>t1@WEpp8Z4ox^;Kfbf?SOf8A+gRb-FV zo*K})Vl88rX(Cy{n7WTpuH!!Cg7%u|7ebCsC3o@cBYL-WRS+Ei#Eqz-Kus=L zHm{IVReCv-q^w<(1uL|t!n?OI9^C>u04UcQmT0+f^tju& z)>4-ifqvfZeaFYITS2-g=cs6(oOxE+d0EAHd3=(PzjT#uzKm@ zgrDe|sc}|ch_f*s3u~u-E>%w54`pHmYs8;Y6D8+zZv{~2!v$2Rn;zl9<~J?1z{;(A z@UoM9-m`u#g!u`Iq<$7d5R2hKH24np5$k`9nQM%%90Hu&6MGS8YIgT?UIB{>&e~~QN=3Dxs}jp=o+ZtT+@i3B z08fM@&s=^0OlDN8C7NrIV)tHN@k(btrvS=hU;f^XtyY9ut0iGguY>N^z5G-_QRcbC zY1in&LcJK1Gy{kQR-+*eQxf|JW=##h%gG)PkfBE#!`!l9VMx=a#}oEB`ankvFMAzGI$+YZtR5 z1#tsKLDn{?6SAY-0$IOK4t{yC)-@xeTjmW*n{|re;5Zj0I?(*cntWv<9!m=Xzc)thU&Kd>|ZN$$^G_#)x z2%^6f(ME|_JBHgD=EEJIc0R()U=&0+!(7cWHJKxMo1=D#X9X^ zrn{#b5-y<<3@jpQxz(mDBys9EFS5&gC%No+d9<9`I(p|yOCN8U|MWIe?<88JU1}F$ z65mW}YpxpK(06$&)134EYp_b9?A<36n^XgK?+NsqIxAAw_@(Tp-w?v6(>YT23bWyZ zk~QuSf%CmhEgzU-si-Le?l zi<Y8De#UBk7GH}6lp7u4ZWWW(HWvk6HGK98r>$Lhc4g>ap&DIbg26pN+IKTkJ zj5m%j@9m+o$P$$I!#9sR5R0^V@L^NNGv^d6!c6ZN5bxwax7k%OpKLd_i@oS9R%8#E zOguV^hwbW1dDkx{my`)5g+*i`=fWpHXS6_nmBZR1B?{kB6?K=0PvDypQp`g_ZXmio zBbJ}pvNMlcCGE?=PM>)|nvl5CgjfTi#%PTW40+-&gMw{NEtnF+S~(9qEfgfDG^6G4 z%$l!(mS|w3m6R10{XU%-Ur0t>CjI)`_R)dXqz;6O(d3<7PL>M_R%b8%6DaTC^J;#i1tIdy>{u!xr>XSQX51%i%eA(F-EG&?U3Y(n$kgTebw z*5Ia#73$3pSKF2>3>E&PR7fw#DEU;bDP7H_=iDgSbb#c^bgLQP$1EJqp!V1){_wra zF59?uP;Z@lTi7ryb657UZjutvVVOkT6$~??*6|%Rc<>G0dh(q_OVcx$60m@FQA&sL zfT*O1>pj?j0>2}h+`SRQ%DG!)|FBZo@t$e_g0-S3r>OdqMG>pIeoj+aK^9mNx16!O z7_Y)>4;X8X_QdIEDmGS_z)Zut1ZLLs+{!kZ!>rS_()wo@HKglQ?U-lq6Q26_Rs?#N z)9_e6|54ab35x_OYoog1O$J@^GOgyFR-BQ#au9KSFL3Ku3489qnI6QaKc`JoyDPg^ zDi3~ zFkumPkT5n=3>cI$4y%}(Ae_H+!eb+hL;0W01;%>Oq(0LM7ssp8>O+%V zmDC^L*Fu(}l%Hx*h_ZlbpuhcNVU~)(u3aW~F4l`abNHXu3G!^0jg}1t0wVPvqviVl z*4n&FOdwTl$9Y*C{d+BqOpJPzJ5pqch&V)B+BgSX+A^mM=Ffbslck)9h)zaqElW|< zaiVEi?-|}Ls9(^o<1${kiaD?DOCUBc1Hqg$t(*zUGLFyu_2$jzb$j*Rzwak55Sb3D zBQOlKj)KDu?6F4rqoOEyb=8zc+9NUu8(MTSv6hmf)&w1EUDX6k zGk)E41#Er(#H*^f+!#Vwq1tp~5Jy;xy)BC*M!Oj+eyvuV*3I>G#x6sjNiwB|OZN8e zVIIX=qcZHZj-ZHpGn!_dijxQ5_EF#^i>2B)OK;Sy-yZo$XVzt_j9q-YZSzV?Evk`6 zC$NlaWbZuB)tebCI0f&_rmIw7^GY_1hNtO%zBgBo2-wfycBB z*db(hOg4Om(MRI;=R3R|BOH9z#LTn%#zCSy?Qf!75wuqvVD=eiaCi7r+H5i;9$?zr zyrOR5UhmUEienla;e|Z~zNvROs1xkD`qDKJW_?BGV+Sla;(8$2nW%OS%ret|12;a; z`E{Z#hS)NP5PF$|Ib`}Rv&68%SpPEY{~l=$!$)u*edKO&Lc}y!b&0L0^rp4s%dR#p z&Rb0lAa!89w%6_piY4(I@-_px7>I)K?vD>PO6o&HRX)65xFFC@m1IrI+!QDQ%A{a# zmbl4N{^INwcVhl<1YIW2ERZ#wL3d6g*(vTMETNjPZ5Dw40)3-NdH2n?7Nh+W=A#IV zR8ny_^+GY|#y{SwBT2Yu;d*mFqm>x@DMuwPv#=^Z3b7?G!HP{rQWuX(0hQs6<0%Tf zH6%>VCi5&)-@gLCq!dOCUITlfZFq@J2-eBXEpGiaPsz|N(}t+~!V!agF$|5<%u)YX z0`N<4D`wP>I_3S1LL%z=*o`9$hB_7V#%Yq4Q~rTp<&_YN{g|gU9i(1B_d7l}iL6Zj z-<#a0p5CAQ&F2b+?uXUv#vk+p0=i(Xqbm7R;1_TukEVny;PKIT)s&(PE~Qc3$Q8 z{{+A?Mw{8ajV#H_*i98t&3Qtt5V(x0G8PMp$VJ5>HqoymH+V3RRQXLKocae7bawv$ z`JLyE?M8K>eOH`+aFX=tS_INlAhueE#lj|qEp*GvJLZt|wee$As&+4;0i-1=(S<8g$m3Xb=#BWA0>4=j}1$3D)zaX}Q=oUvOk^ z*G8i{bP{R$f13(&Bv@%4!0}n~d|tu=4$8T7p~mgvKI_8zACF<}1^ z2T!5zg82qwbK-BTWdGH#74|81kL~SQYYrjQ$I2ygzB)uvzS!zyH@kIbvnHcMZ&U$h zq+N1$CZR5Y2qw(GxEM~)!j$edV-jfeN`L)8uvMwk7gw&i;sjR=9}`q>qB;toio7ZJ z;57Za)8J~a)%KinL+9}ShCi>x8hLFcKK94Ew2zwm>sf=WmwJu5!=CvcEMU%wSWcDY{lffr`Ln!Vqu*WB* zm|=gzA%I%wGdVshI$arMJQ*i1FBvfIIxcK?A|vEFs}|1mtY0ERL%Sg*HC&n?!hgiIDq|(#Y)g^T%xRON`#>J+>-SyaWjZJ#@}e8@R;yVcl)vqza?DVx4(E%~O$55{&N zT{2{U;6Y@lG5sg#RM|zLWsf&$9N)6ORZp{rCCAYJIlkI}9_WLpLn|}+b}1IN-Cuz7 ze(Ao9VI*_Wa7V>iyWl>Pe`x1A-zQc2*tLF-w`QUfmv(O5PK<=ZoWR-;gMko_-RA9F z6ERTL6?g*aZkeyS!)4qACG4KV$_#|Ti@ba6!rT1w3amqq9yP}9m1hV$-~9)!hdS<@ zeIWE`dsZg*#2YN;?ZJx;d6rtWudEpbNy9qH+7#Idck6NN2)~$>A|)8W{w5ATfDn^p zrkpo-Ft13BWQ#RlSm97m=}<_U{m?I7ZT*b?p5Yw^?qD%r;u96}`y1p5q8s>CBzb0< z9Yw8l1oLhiP|iF7m3ShOabR`)#w_g%KJ80S+Jee;g`Bi2w;d&Ef5hpPGr?ej?@?in z$+JzNK!N1SYh~M5&#c*Vac+leQN%Wfdw|hY*?CB1`S8dmVer9}RbmWlg`?mWRg-)| zAhh`uWNth_@elmkDC-$xJD&5Fhd<&ky!b?%N*@sfd@>i!!MR{oSpex+KiL0j*K?W) z4*WmucKqiVu>OCKD~>A^AXP=rVaX8PU!DdX&Lx0#=hJwC6B}=J2PcLSRZe!oJZN+D zTED*HJ8`{wvt0(%3_rZIe(CyVblz{zJ}bPW#u_=_wNkl;x&mu{Bw+ zHKu~yN`slvxNvTQ*SQpvx0vKA-Z*$O8ob_+^?LI4!Dz=#ReaG6;8M1N06Fv%b87jH z+)BJ$Uvk0^nbuW}2^EFv;ilA8Z5+$!?0#CEOOec?WMsi3H}Hlh*N`96xq^?}t+n!= zvyd6n;GI!|mX|la=NIbK({<)6IljR};&OBfmBiH;49R6^dP0gKS*D$lF;sKX_VfeVlea2Qyc&L^)p8C zgNS|b8Uo9DzwhC(vVPW3+dGS&-V{dt%WY%BfrEklVMAnbNYKb3bJMd0*y6d!?+lJ` zZ20^QvpPDgXOo5xG0%*-xUUNIri#IvhXS?mk7k1lbRY)+rUasnarW-lk0U%jNLzn% z*QBY5#(V`3Ta6#dsRh_*sT-8!c6F@mZp|t0h!2+tSx*_}41whAjUG@QLb94;Um2bR zcsW%39m?x5CVdXHTRF<&FlIt3f?4Q&hBmTeSu~6a=TZjeQb#O#BW9`C{gGR?TnUF< zTbe9(bsJ;20&PefJqcfM|Erf9&5@pDUhxo^UOWRhF8l2>sOE9;N>BvkXI|V`R1gqa zS`ZM*|5rzl$puo-fR&-nYU+0!!};VqQ#KkEiYba##FZyZV8)16E(G(4`~bK6JzDMuJ)vrJ`JvjUZ&7PE{@R+(v8qop6hX>Zql zN%WhroL_|=H{CBeF7pD@9`kmBgA zeSC`r*~jk4O$2q93WFvgdwft4XhI2j7TuV-`o^qUMpO?bfG(NxfR#+oagb#A@0IM6RYV$cSzvH=jYYHm^E2ky!Yg z;J3EoqNPuCR(a%Uq|t({W+_um%W5&6`ka8$ilj^S($F0X*Vm{fSHpKo8vbXdxw|S+ zBS&wt3{IF`-5HYW62(IfGenbS{{~z9#gEESBE;;kL~OnuV&cw?83V=C?1Kgq#=Cv) zTMbbRFu}Knl4TFi9pC?AHX~h74l`fcBbZ53h?^aTWn3f}zwsx~tsCk6f;P zu&HY5B_812M#a5$B4Eq&;Fc3U=^1^{Zm|c?xncA)Q&yq?<->-oJKf*)Qs*obH+2x(FnH|-x(lQb`R5Gdl?o!$nCx`d<3|6ed7R3raL>;n7=qV4|byO!fh5x{2#Vtq7Z0D+qio4lT zZtn~8C9PmHYw1`~*xzKHu02^SWG?I?(k(4=fz*>Ymd$>U+QAU-qN zClRs5z}Z&%9MUWZW$JT{S8Z=+bI??tHG;snJWo$H^+& zUNV$D&)zckKt*O$0hwAu9522A{34ez&5Mr61!_7-37jyZwKz=e@8~y6NCZ?yv?h&~ z;O7*xraDDhV79j90vUoLd#^G$lBk}3FThNgTWpDQR?JTc6#pY5h07ZBUGbebfCf-#PPfMIelyFl*xiiV+z<%58 zfOFgaKz_9w>IJpXJB^zPK(;wy4FhM`q_)Gn9%l^f|G9BR7HnlACCTXo0aGm@s(30Aqqu%!C zu=BD^+qu+L+c{O&Zjz&EHp#|}udvwCzlK|grM+h)>GIfH?2$nRuus5)iTBo*tJd;` z@@O=aib<`dV=~$<|Dn-@tb-aWUX-?7l0vx3#Sm0TnaVQcw?p5q>0G^SK6y2Tyq9*B zwoT%p?VP@CIl0rZo^&%IkhWbd`t+=mui19oeJ`-4sAZ@;IyTSt*+pu-^;o^%@oZ3D-?IU6-_yavDEcK3xqhA;t&txcIA7Lpf(m5p5b3-cSM zzxkM?Qw~IiFzp6T+m(ed>g}kuEngzy=hEN3UpC{@K}NvgBg0F6ZR*|S63w4@H`|EK zbobi^WwJmyPCJYTDC2KQ?v?X+C}X?7;%-zFLrHq~1tdQkfZMvyg(L}Ynk-&SdM{Oo zHXCPKXKu1Sf|^#-cH6dNiF<4hb}gvkqnP!Ky?Si=w?^qdiJMBR2~_A`$u$B?Q4B@q zGQ=ZYEhcDODOH(TqCDcy3YqxXhe*yqVFiKZ#Ut09D$Lg_V>Iplw)Y7(A)%k&BnThg0n6dv?&X8j#*hafajC7Z=HEJI3)^OAw&F;{~^Y zq+Vq4H6h1GTCfRJ^synHxe^VI{T@^Iu2ABOU_8+7()wBYX`?a>!zPl~Tp~lmT4s6m zS!=UZUxBD}oob`p+w^oP9mTLo_hGr>Uz|4j733cYy!S58UucX(*8P{4tNEJ_3_d#e zpWr}m=kE^>#sn6+=ifksiN)<2pn;d}9h0&rm{2^(h}v^2Q)YM@*U`ghE`TAuOPBQi zq%LMOyUVSGoFiUN;N@;slp~cvl5BE+05_i7K8~rPRyxLbVb~SuvZXpbD>_75_3J}Z z&AlK5SZF_DbJ*;_sH5Nep`U?H0l9kh1r4|~wZW8G33FSfb2v8v8-$UIzYI=alOa#J zbTtOz=ol7sN#XXeuJ(#tH{ zRjBq2r!@tEi){HTj3x|iFJbo%iruQ=6v&DAkW12o60mUVsbkJG>Mv&<^p>0~hUX># z!kuy60#ZSSeQB|ewqlJ&a^CyNOn7uNUAzu0Y_`V@>%6kf&60I;Q+P>~ za$iUy6P8UTgB3d|UA2|qH~S%r6K5;ySM`(U^#9oR(OU`$1E8oXf2a2*JEGYGVf&cR zE{=3SPw~Uo*83OYx2N9vSGO9UYfG2by&tlbXZYzuw{Ld1?lZSu6INZ4eFxt2&;!16 z-dfJy(XuJrOaPqP#$evbf(g~NNq6k}7nEe7>8x3`<%4wDb?_p@jS3A3;jC*LCi4=B zG_+zb)E)9Ek@?=}^T+2-yq+o$BkZylg!hJibRn)U!Zj0?BrvfV?>nfk>BCadh8K({ zEp5gWwj#F^U)ZD3;am5GO}RnhP^BNZPXS-=oc^}0hutWW_t*&s+s*6@73OZD8f;9U z*RDgj-%t-nbu}PW^4KZm>x?y~>gAiq7(+3rjvBKJej@m?(5Z)QaP9<9!$}=zw1myy z-p#s2{t*b3wMe!KGUpXr?%IY?j(X}8py|4sH$0R_Px3~s^dRlWOFoZMF(8MFtm3!c z5}fy!oh(F=pw-G7iPGllNl(x-vy>(i>a4B76GKVarn-lpUDbuYT-&^oU z<}-6qO-a1cx`Q=MP{1M?p2x4yMm|oGQ)($ zjq!wIrfG%WBmT3@uV+b(@t%$P$%MDJy9XOvVI7{0y{}ffn!r-)wxvA^yBAucD|OHE z^iOEy{v4n4m4(L9hbsypf5Zny((kaUAa&`^u$d0+Os)e^>ePMVF!DUO>e{F z{k2%oVQ}-q5mBQMmP7il&BS_>#}GAlIvArt-u!m_gEPh#dwz96gJI>v)R|(rTa>$eL1bgJ0%k?(9B22W?pKIl4Jg~Nmz z8XfqPUPnT9wp!Nqmb86!!hdVpKB-0UHT*rKhH%la=coFZ>F{!;XHQfGIH?e!(trd$ zwK=?;#WRz|F?d9Q(VxHOfByE$c7|tgKw*aiM9kOz^Sk3Q4GIo7)h9X;$EC54iar3|MN{zd%afpw5w%VeU+5Z*&v( zKE!zed9qHQM$jCr+<}>6q5nQTb$>FO1JsWkt5jE_o$e8};a8nInzIdBDwkPYPi~&D zb9&lML^jKp)Uxs`N@~}Qe2E%U3EJ&ds=2dR)%w>xJLAAKw)S4I)d?*9t>BldVm(hr zHR6$#P82}d=O^m>p+P^;Z$$Dv@de}zwJWQK_m2~;;EXewN z2BCeYmQUDbO6su=>uX{KCD>T}=}zlLHDd0__&?%N{o+`F`0^fR(AxJDCl~jGIWo5? ze92r^DAe+qtH;u*_Tx-r{9p|tatXyj5CQ-jtv}#{8rF@SjhqVc>F_6Tn;)6n6;$h- z!|HU6)_V=hwlrtS^(|8?`{(DuyjF&bw*h+-8<6B?hBGh~)ALVWFB9_&XFy|NEfg6E za^1eeIe&B{NbUpKA9L34MqcDR$)dFb-zL!U7GR$=SeScuUh_wxNT5}3cJ58l=%(Jn z-rBT1vgO;*7kA3uv^QekntXOnkEGkMKlz|;(`f3Ax>`-)&$!~SZEx&dOAWrVttb0> zvh6QTyeIZQpZoy+5ARAwxW-LZwLnh(Ws2M^qDz2=prk!IDD)pE#rcnu3ML!b;3r2q zPyu%TrK*wr+n989;<2WqNl8l!+5!Ydn8t9?g0eEu*>hHIoqY7B4jVl>?P1=lZ{f(3 zUROu{DYF_s*brO70dS zl0ut8DZ&a*m8HIdNVI6zag_0dRG4GdN&r-y+~Kf@-G?xRJYR;}4ujJ~cK7+rrH`iB z+Zs$!hH{L%GNzokv_7&_%*4aK2a-c0>Z0_fTCz=IdPTm(ev}Hb|MI`7MpKu#>%!RT zGOb|#BLw-?X-BAK+N*UEkaITY(bk1srnEBHN0d z&I;Z)o}v&~(i-WU9lx}pR*>9uyWHiNhLN6Wk&Qv1>PNJpjA)e1IPF>^==Mq{^kq)jyWrOeTwu>=5YaU_P0AsAr8k=$ zH$EAcZu%hpV9l3Kf0$tpiao4EAV5HB;F9kOag&*Iox6mQH(o|Qbrtr2AA=h~9xwSdLLZ%y*>x!`>`{N{p@S5P zO)8giI0iU=Oie+P8D8e6NmW%{UFw%@Qyq!zl-88UPM^)ixCT*b61_Yg&otyQbkyZ` z<)vuFZK)-yHFTcERO+0cZH}mAK1xdXZAtpoqGGh_0~wK@t$pEYQVz z#6e%6dbg5tl^B8egc=QYo2%R$ZK;BpY%?jY;B`jo`@Htl71vD`;QGcra7=JLLD``7 zte&w}^+yPSTz6>$Tb>f5-JmxIet}50g;DX~f@4&m`K&J%uezgHpazF@813MF=I0K# zwZMQ!N2TFM6P*dqG#jfk&690L3;!75jc%<~g_ims{lPl536&Iqfu>X&EiHF52AM2&|KTUo zuzLyuZ<989r#NL(!cnRx*~oRM&HFnJ9Y%*pISgAxDl;6m%KUcK3v^mXJL#;YWMFz1 z-`HX8`;%UP`^3V=%imqqkg&mmVR@}`RZXLxbeteKFT=5O@;SA>m3s8t+soac=O-qe zyFbg)Fuv6(F6q;awd0e-F@5raumN$c;zC%~n0Ve2NbLtK-K;fG>U34lK6M^kmF2G& zk)+CXHCGJV+R`TaJTDUII#W!$1n|UPNV-@O7D~Fz@>`R_ReWW7RxOA$q>%^ycxMJ{ zLya|cLJt1{jB}#Dmv>5Amjm9yYkc2}!AC;SsYi8?8D_P_j=IC8pE1`VHx7x9&Y7UbCs-fNix$IE)f& z%*I|(DN7W-`;E?;@=zqLbyD}lxSixcliB3HZ@vw-QAo^%`||vsb3-uf$oM7rKjjQ! z%UMFO54nTku*E^iB#-cWEu6NC;DLCj&j^^$5UEdT{OFEj3#K6C$*Tbr{HF)c_Jna} z{{fb&LgA&I(B&i1y_gF?-bpC5s_4bR_7$qQg+$?(H#-03hJ+SCJJDreP^ThC9v|+Y zL7xYW4J)3$g8cX4O`&Md0LpRdCtisn(qdhtr4P#I6Y3L;<-h;i^-Lak#BEluXaz-J zc-7zd!~p@3=L7*EPB!wwOlGV`0-!u~Rxt!mt@yS4aoUc^r&NVy@#p^{^N@45iQwB( zZD`3;6K~D8{Yr}=r($U~Lm#3IRmQc{BCvuBEn#r4$Sj4B{;$qbpT%CTt*?1Mg=ux+ zrF!2xpO+n{>&$;VFHxtvZ%ZbkEvkIeGNZaw@!nqSo|U;=XTDv*uP0PJ!0}7sgW`((})@6D|;$_@JOtNV?UQinTx ztIFKH;{TG~f)b}LZiwDij1ISs;XQmOizh}ZyF2<>!valh>%$~o`Bbj+=@OcRe!LQ{ zao&|tAHAxRSQBKF@f~w801}d?7t+nstsoQ9eJEkygv|7-@#Z^fF4NPknecHhp?`k5 zb9s$SLH7Lm-P65OFu(odEmY4VQJ>T)l6R%p zt7oi3TAoe`M*3QKk1rjtA%oHKnr=3A%1$+qP}nwvCBx=fw7jZDW#& zHL<8*T@Mb*)MG`MPC(T3( zzWE>nM5Vr;lnDjO5Q!V*&kXVrCqE7v;q5S=3hb2ym<356yjKczdIU~QCf=dndN0Ul zTn`g{G({HN-fBP9_`GollfMB3&UPEdUwMBXobdq$wlQy{_|puf6l?z9-dn{(MMl1t>#!4^PHQI=tS9oW1h>2^zPK8$$1QZm<7w zE?^uWHKk+7gOix!LS-B<7_sJ{s6SifWWT<))*iUNGBVA0Y+tq6nOp_-sp<0A3YmXcOt$_R|N!Dpy$8Tl&!JK4!$X+Rv=N{;O^eH`e(TxB0T7Ey@=`!}*?MXO7ij4(cC6BffqHIw#0fzIOcp zV`&|l+1VBo`6B{`Y|~4?83OWVI;{pV;K?wFp@Qr)Mha=Q!eF_ zql$279;UB4mF6P7ZNmc!=#00h?5aI=EvV{n17v0aBLaDVu*>qsO@+yA%^diVx&fq4 z7FFVyGA`vw%gSl5@Rvh;zEI)J_a=lF#uF~|yq=!~_RQ1eNsLpOjr%J+0w!WZ99?@4 zRUo^DPwc~EF;uMpWNl-dUky+-v_$;?m-4`M-_WSJ)?lG_M=unHpaddzRwf#jB1Y76 zf$zMl4c#)w#Ak2lVN*P$?3KALZ$?1Imtup;J;nQn3XY2iH&0m|CFME;;kiwRk*Rtu zPO&R99xaa>T^kK#KVOF667{h4L_q#cy}v4Kd6|7KxUzEc#-0a2y6G%wRB{W| z`DMLFX{dseQ=02*$FgEh#o(Z)UxEMJH%(N|#@#7h1MhVWz! z{ak$Kg90_`mq?;TKB(JFo*Z#$4kW?A0?a>S^Zik)5Ek3_o6@QDV_B@xFPRT>Jt63v z#9*dw|5?~c!ahmoHNIN773Vb~_Ku~%)0N8Z&BzD9FA1>Brd@}NkugZ^Ep`{cznY+$ z%EeAZ>SM&HKFWE0nVt#zSvHl4eXf82F<4#qsB0T3HHd`}!U}NYxALu%XNax>dRi$j z{|rT36BA4}F(ZL$iro%h;c1YX8l9FH6nc^r12c`qJ%bLnaQsx{ZWpa`^}g>isl1g zP;_fFXphQc!Tu8|CcfULKs347U5jEwryPV$y6>RAWB!^Y*dSMqYd@EW@B$aGT*!T* z7)o@o9rOW4_gb+5X+JxI=#ip8R_%S80k8SW9|BX0Mk*I;Z_PwZG813N- zHbUGm(7C8w1NSZB>kG+un`?ctG9ygwtgW54XTnhFBL4U#jCfH>FWd+*Qgu^+7Ik`5 zH1QILxLZ)j5e7Q;VdYBF*Rx{qU8d`d>l(GiZTz^$7uC5Zk7)~QM@48k?bGbhx!Whj zKJ3;gX>!o-MLwe0$Fb?Lu1j{6whN`00%o$kFu(4pi|3MJH=%HHO{~#P#T-(&aKnB< zrWIM8a72XR#v_^?G2|m!*Zo2UjG#qm^|705mj1S=uE!hzZy^)UAq$JKXw8kJm&{tz zaL`*wXiZ^5nV2iL6B5rU`XpiMuGt&rm|MGXvhXSAAm7iJp5*!2}6rEiTKfDF#SJm5pZi6uDl)Hw5wqjheZIM&S6Yz`R}%7Pi*j?SUB zs%f-Hp1u=x_H%~_4bsYG3gw3hLaoJ9sl65Rqt|G0z~{0c7Ya7Hj)iF&%+V}E@Ovc& z_(zJjEXC(pGj9X)~rpsbY+w;T?^&b)D_ zFclEt83QqG>rmA%@%183yfvlyKede_-+60fa`U6VWQiAddCu=K zg=SoKEkpTaxPFCzm76Z34$J^fZF%CR`aK$?0hF~|*Vgc3FI$v$(7z?p zjen`&!$VhVlseS9!#Q4^+DO&?iWTQ}&cJSoF{GgGs@eEUBv@=xb8WQ}>49g;>degb zw7AjB=EG}|c9ECb75z!runjX|SA#HEZL0igt2;BJ6PfQu?};YuCVFY$vM>OmX4;3j zkRf~tyldY*9Z*>hPQS!Nkkj)$X67qBs%?d0ZJ`o&5xQ&Ip%I0p$9+ok zr%pnEbk9MC_?PBU*PllR0WlI^9H2GWl2{lKeZ**|GWD{3kW+@xc=#;2Sp#xy1P7vBw!rp(x~(G;ODqCAiC(A7kY4-Js!=t_6!t zM96+;YwCG1RIG^KMD%_P6>fyooYx0_;7EHu-h|01zGQZ*C5%@bEiK&`L-Xtx!52|L zF9|Dcq@KE2v^>mPgRP>SJ4q34r1!~6E^*6NUjWK?L?FU-?bTV*J#SgtTyQJxV!z1^ z=?XgjzKPxAViu9bAr2*wRlJ;#^YWN?#`&Z#8t2olG~PMbB-D%wbX0Db7z$(cd5y#* z5y$+XPQ;wE_zEA$gNs)OFI9}H@oq|wSCM|yuBcAS$@GFg!oFP4i?{R$B_554HjJ*B z`2}!rV1sMJ@Y?I^dx=l?(`g#kXS;oJCQb~eEHBR{(8@e&nLY-A((cE(t1rrN zm=HWf>#8(*IWUp_N9j`|0@bN8lUZ9!S)kkuPNgd77RF}m0X{~h(q%F)^)XTYK{Wbx z{sV2-kN0$ZY0_*+Bm zl55$t3`?zTVI6BOy!lNbCNf%F#1}l=rl#DkEB`ZX5aTuW5kqw?D>{lZu6ygiqcwOQ zE*m0Db$-;-gOaWjN3%|7W4z7St3)gRjJ;R%`|+j6ib@s7r8%ZldCrI4#7pf@Rw)47 z8{70U)E#Da@X43CV=VeHq{-AZJwBdyM;)bbJUr6f?=dGjYMk7M4iWmS&Zh@uvLMA9tsyBdMlkQwrm41CFa)p9eB3-#H z?h|txb4$vWJ=rVsY^`8jMNk|KN)5;df-$-K`q!goZx|i9J?CN`4r;JSge$Ae7h(9R zlVZ&42`HCDYrtdu2tD*2UemJ+#jvA4fe}QYGHA~1l^`!^sRTj&{ z|#4F)+%Y6_z=e+^ss17tLZ!#Uutbq1{W-^8m+Nb>uV^=CsAFgo5(M;_!O1Hm{atl3I-N>kDXv{2KE1 zyAW1C=G~lKv1yFNjiCj(+q+|WL8X73=45tc3tY`Xvw#^Dk$b)rur@!2bgC;KD3J^ID zG~T7G7$BLYNn3~GxC1O)uQapRl|&obXFf@n#34FXK-e?XkK$h!#djuE7S>mqPLtqZ z*Dmz;%#o4C!DH<)*(bKOTZs=pOs4~D+Y`{fUKw=;L!C->h6;hKZIK9yM>hSUTaapOtgn6Y zUr0)4q#usk#t%=<%^F;wPxlY+buu5jBcWQq)KJCZk+Ew1LgyHdNmCIsy|Slj+Ll;v z$qGn#>hLoFfGI-Jj-qY4^BMhb>AhLeqxh6`iNLq|7dc*K8((y8r zs^(cPW>x_Qp$MoVOKg_Pv)vj>DIHufIf=X{$8Y}*$`<09GZ6$|!Kp2v(4xSYhKx>k z1Kx}l&j;00Y(HAvwt2MF+`LzX$d8mDwg>OEuP8-| zZoYLdOg>C{VX1q;?bD+pT*Oa^+7;&pgKuuqQ8y_myutFC(np zj48I}aRV+jtfk$>O&3vZ9r23NJt_94rxRKrfv2d-eZ2ZzvHqB5O^kL{+q^G{t_6#% zeo-?5JTLm*j%T85U`#eo28rUOtyub~pa*!`jWxH8epQ`8QuMKglT3nQ`ivlJN8LHM z0W;&Vk=CzB1?rtgSM3YK(9*_9@p4GP9kM1Ig@8h{cwc?nwS?-hLKtog7T6;FpeaE@ zQ9*pu9uPR1aJY0*kNOaNh-)FlE54^ksVD%|!l5I@lo3S~JjiLN4APbO_Oi2u>V@w0 zGg#%-BZv=lSm z06?zxL%4AzSn$W(_mk~HvJoAz7aEu@4A(d5iXTCQ4d@@!t02~*Vp(xcc}D|Z;FEZb zq-Vwzu$<;{JkR4pAWe()hw~vekzhM%!};?P)%?0jiZ5U;_{6%9O%E8BzIvIS2%1L{ zATR#R#w-##M&&!kRp9fQqQHeAk{do8rvpg#fD{>rwKJ2h_aY>|A?+Pw@)3fx zWc#`Mg2si`URmQGksFEXPe`*ol*orX)+V8Eno)m1=Va#vx7FIxMYq1TDO53r>kN=3 zB&WSS7*$Wug8E9~ybpoQWFjs!X9{Olhm*_>&eVhwVU+M_i^FHQyj)gVC%*PwUsm7h zlmE3icMMXez8aj4Uej}~;Sqt@QQu~b#!z76`J6S6q@|$3GEXPt%6}?7CJ<)n=-;UMiS0-)lp@hEd;A=(J>5nrC$F0wycd;J*UVVf+A4*rv?bhOr%L zx;&>^tM|H0S~kC`Qi%o1269k4BKv*-~Ovy@|sg~O>oTk7AdWR-jt>XAVaV1yM({;bW7~c4Fx<=L8(lPu0K`~^k zP(3R=N~7&YS@x?+39JUR3>~cprCU|AtQ=7L=Uk&FX%^O%8w@X~b=TX}duLQd5U^U;)cl4m3@{4 zkuz^_&g;|WWbSz;$6`lEQ3?Bz=-P0o>#b4!6Ea81u;%&C=+H-xZcdLrnj$VCSk+xI zPSr_Dm2!N8>0RJ1GoPATro2z`?cJHW-1q#+a|$oP40?d@Yzcik*ofkOUQ5$NJ*=%P zK%WKheP-Edk(O^0<~z~wQC1O2=t>mQc9PqeUFsv0O||`4?d)NsIzM9|Lcm@*C8QFD zE92qZMf&fw8GdUs$+8k07WdKqdEtIseNX}Dh44zc9v|oqA8gEP$LwJ%@WjSbsay5W%R?173^hLb2{`BOgV(k75`JR|e7U4|~L+mJ71xtz^|yj6N3 zKI$4hwADr`Esk*A&YWlEeUo;}ilTI?=CdCD*^Eq5eIrC|OIEpl!tk~mRqq?W1MxO= zT-SX&)w2eJ!3|hzPbJY>KKw9{-f#}zvA{2mr@0p4ZU9kAxWU&av&W7Lk z_y=En#~H{N@J2F5+Q;kt6uv?=KD_!dfHU;N=P4q}DaKnU%qg5T%qjAkQ0s#UdD~oi z+v*e&l{w-X91DOmAWzy&Fp#M8XOzqc^|~+4C}|Q{ZG&sO)v95L4j{4MRAgnd_{o8( z-nScjhYn;{uaSpWzpGhv>!?}|AAUYRmjq4DI=fZm)l6?uvkfM&E^`6R!!=}Q)cuxz z*i;8|(kUS9WkdIE_3JM>T-U~0hO8LYI&GankCIhh_zv~DwoiRY#PXWkzcKUI7#8DHu=(ozVr z=i}8TB-1-B#+IwiN|`2CULcZHNEJh!Ju)!txHW4UwLFzOjmgXu8GlAhb?%d2;qM;! z{SG;0IKL+=EXzp;g$%oGs+yXZa;cPYG;AE4^C(}*i+&5W%m=tj*1=`Q_IQ~KOXM@g zh&9LGHrv+&B?vkfs<2e`@VvAz7E|RXO7+wfrX^O4dFgivBT9voC_V{AsK%{$Slj0|Cp3j9aSbF58I#jRL*ABYnEJ*gK!3GYv6?2a4$L2mDIA>!D9y1ZJ z-PdVox@E$9YidVU#Rhl+>2}e*B?fo}$o4d0ZQc|HGzBPkWvApaN6_7Wdv#`9yLD5E zO67O<8PVA2Gh$0Q-XFOrD0#mN-^5gfp(E=wIt^n8BLF~l6w?9XHP`_tf^L>!) zC8B){UAkss?o2A?W8PT70{V?9-w<=qw)(aq@A**Z4|vkFhC3JTIVOs2!;L;z>oV zX9Utkz}N*H?VA-lpVN+$(7a=ka>8)N28yoeqX^Jt(*Tv$C;ml6yfDN2fFfU@Gxp`% zI#1$T0o5T_QmvaZ7R=7+`{`=iWO%z~d;APB{;n2wbB*LrGOys(Wey+;gYSGuV{Ml! zOS(gc;f)sI_l~A^$CI{pPQDG#xyhhD?6mj}PS2lU{5SKCYtI)SzBK6$gc(lY4IHUf z4jlmd%bR1Z`=_zAfIWtN9>H{_MfB-JA%VDWDA%mnEu^A%iC3A4WCNRt2Qb_sFERIt z*$DB83-;me{`VINKS+nrz2>o$x5BRwN1sB>k1B3x;z#EaXgX=`sck5KW$&^ofFul= zLP+n4I8an1-wbrefi8w>5*)A=MravTd$w0s91g#l`tsvc7N#2a>uGtC(QO zpoDD%&4$RrxXaq`#@G!K6{{p}%VN%h3t2~et-S%oxO6M#g0Q@Rg$%zu0>mf(L7oBt zDGRK}O@s$pPMtdEg1lVqsvt(5c{{ge#li!Y!necl%bBlHAO$b_V!Isit|JI(LdaQF zA|6RB3A`QrBfUY4sQFt7V(&M_0SRD4S&C}S!Hfv?Pq0h#djQIg2M`y_ zQesg4c^DMN5E4np@bI=_ev8xDcE^0w(o0q~a6xOzL%X3TBh} zam(7^Km>WD7mJiolv}c4n|=B<@qj#rjssux2^-!ddxx>66mt#klHjU*pI>|rPLVTk-OVxlPO=%sq@V`D4YP(Rq&x0 z0v%Zd_r^7*rMT}X76=opBG0m^rpSjFMFiPh%iAJzi4`{p!!SD}T6tzEC(f)`1)*hx z0{~Q1m-yW|{h`o1fezEX8EP^JnrAq%8}9kmtf)9H%U;DT&W2nva}6ma#j@7KLGi~& zkY2g|{Nf$u#ZRGOe9vi6|1qNYMG$|Y@DV7~hNl$|>_SI`|;@ZpB z)Yq&{gsAUtY}=1LkG+5RdmpzRFU*w%pHPB0#j2vTquLh}wdH6AY9zY##9$KuGAPd2 z>PF;yErH!iLuZr(Blr}lyYXmPJ5f>GvN}=Z78E|*fUT*5lI|O#kM3}tf0 zbFRIHCg)nrXojcfY8D%Gt0b7kl~&4IO2Jkg)F}{@@LMJWp0wcSHqquOz>Mir%-6Fu zv0k?=kb`ZNd?zN^`HwZl8uy%L)X5&kz=Nlx*CXONUVMaK=L=K`lh%cbpO?3vU$b5F zoIa@9#GHDysjaP^Nc@G%$P${vJ1?J)AuDx@xO~z&W@~AA+f6owoVl;7K@Q5?QXM|J z19}9Sa;3v!L`rdhL)S$kU@>JJC#LFDc1?q`9>3J80gt`S4l2N7zc8pJ{&^=u?3}M~ zgsnNg&p*#MmqCBEj&gZxYAMrJB8|0`bFOYQbtuWqy4y4Aysad|Oxlwt=p8a4U0Q*% zwLw~z_f@XVR(5)W%ETf#ZL7!*4~=B5)mEFygD|R!mKsdRO|7I4z-^Epdl*qY)MjV1 zI0qdc7Bn2MXvC|RJeTJE{mkH9FD0{@EsZ^_7KvINcah2o^@bAFxV-YfUOx5-4$@7G zlQCdT=QHhwWvG&+G2Pl9%u=N2Ntcl>P5 z1E`>-CJ6Uhhf{6~(1G4nkAsboN{d8d6Z=LAxnwLy3K=j3{)f!x$_6g{C)RqEa`G%Z zjsJ|P>TQE{u2b$Y>7ZqyHk<20t>nUK- z;wQ_VP1v@I)07Hw6gH=O|UjlM7b=-Xxv+vWN0S)A15A(e4L z_mkd8P+uzT0d@#3xZC|+lK#pgpQ{&fcTb=;ab0*KkttdhZ%LHMdsMi>W-UHw?=ifz z`=bmu=$2YtS;?~DOdT?oawEzParzc-al;4VdURsa#cOzhGaJSStoA#`Z2Q_%m4!$g zb@;Ev7|Md;E>E0+gHha*PmF=m+LUF{A22 z2L&?6;rw+Q=e7Mzgn$XYa;=0v1(k*)@S21}q_}PSC|Ub69NJfhb%696>^IGkZ5}7I zOtc#>+&_K7l5g@O-)~Ce{_N1ADo<)yfiZ@WsnVoF7O0RF_GlyPL89lbOpWgdJrw5g zo~Gh00!BDFiI!6GM~ufBSKv{{zN6pnq2+Ph+q{D10x#So?Nm)=;oH~lLZ;57mVmMN z&-%7yUTb=4y$g2E7d)Gw5N2(fi*a`3(a;yUM16lmRy~`#^@Xw zW#jp)D3~YC2dZlI`~ z7qW~=huPW8cIp`zV@I|bI;XKs6lz&QYnfvcK6Iet}7TPqK4(mv?v3g~ndHVx`L*`GOOUA9Oi*X1kLkkytv zDE;V6{}`x$P}AGq(Sx?>nQU<^^k}o|0i>)5)_X*)^wfLMgZcL?2=sB+axUb_n?t^b z5e}iqUY2W8%h^CJ<%h8N!$}SniMU|(s?*@k6m!7ev_n1`ysU*N;*>YoI}JoZ8b%26 z_Q6JBHBfSZ{}I%2g|iq09rwb6kBAjd)*aJLEiknx@+TZlPk_S<)(o4E@vZed1=xN{ zwdPaOFD;576X;htV>?`<9{SV7!hspd^u;O_vn{!z1*_c2YH$KMrEi?wCK<3IiAa>N zmL+PkhB4W7%v8Zz1f~j^Vy&hMx5^n?Y_#>7t=5_g6}w`}GRGyh6PptQtq6 ze;~To_HiD(!7&W!F|?vN2+BGPx!Mmv*_U&yg{azxN87nTx9%DlMDDleJM+O-5gyM4 zQ`6}3u8@lHMdGCZiagMci%bx{S`q;Ivt7(Eb*WWDiz{GDGiMAWlB3Xw06$RDh~1Q= z5Efz{my%J~We_=4Iw;_Z-P? zo|y&16$jm$bNsStJM~WhXRID6Hcyb8?Lt-a;u`(tqyjUCEjvq<)V(6}+~D zbGD8iwr$_&i=cIW`#$~Cc;FSDJF$Z+&eUy>NJ?*WsI!rdyp8)Q`L| z(x0O&O04-Jl)Qscb{B>nVK99nYYS+FOA~WS`4^)c7inYX;212%OaKtOC}k(r(cn4> z`X;bBhNsFHxPVnFo7zSTSG;%ca3-W^x4z-Vy)SZe1;$PHZ>fdJe-W{)5zkD#j( z%mO6tB9NArhn#?xUVyZ!-WmVaEsdOB0<&OD6Usv_;%In>nZDFks552Ek(d}_Qa|UH zbF_iFQHLSnbH3+@Tt-A*eZ1V0n{%$F80B6h=5I>jlVV~wK$s{V12rkNw&R)a1#pR8 z%lZM1e$k7^5dmKS%i;3HBurkNuEj!D@;&CUK^gkDUT@ec^1#6Zyl>C@fe`<e1f=9shLYzW(7eF^jtF~B`agPh%;%V3GeZCCm^+68dYofH{?!QsCVe``MgKo1 z6~R9uO#ckuDe)J`c|l6>ALX6R&%3hw%r*)C145Gi3$l_T`g=$JNb&pwl#%-cl6|W3 zKmo^oqX4ll@xX8mfusgBK>bTPFe-~rlMJZx1px?si~=0~^vYQScP}l$h-`tfR~BG5 zcEGP!0$`-}z{@L1FungY1i(N$T%heW3c)`Fsefj*bOt&)i2(DDP=L=aCm z0p|lTfdsAue@M&@Z zzuwY;^@IZZL&$-DK25I7&t5{H%$*1rRo1782`spi17j=%vKBA{@$TusZi<1T4_H8h zdm@7WN4Wt3A^Yz|eYT~+>m{Ec0$|fU8<k~{XdsT@Xx;Se`3gMKYLNpE|Wq{rB@`RXuCYxyBgl z><%p92CU(j0Q~gDra$G3KpD{EZeUQZBHl%z6J<&bf!0?3ajZ)Xo&2Z2)ZjvNlVVH4 zA0mH9Yd}0y*7T$NE-Th$&M|mRwGA8f``7f$FQ+~pJ~qF=udjOyVWM<$c2Z3xvHCE| z5%Q766A7Vf7kKAwtZWh({9$|~Zb@?QJLQltDf|SUF>KpeEnC5j=>;HZCC;ASZX)X! zs@%!SMp$1fgc(SkVTOiMiZ|4 z5jHQL1+#xl5IU+B z6H#S>cAV^J_19u!WRL+*$Hm3M`|;R)I!_uSJe_tz@%^bS4mz=?gzMzk;X=)s-(-V7 zgWfrw!_gx8LZKe}!1UA%TGK6FM0d?AwuQAa`q74=`3%MDSPTHc^1m(4I;=!W$vnt> zGJ$M{zf#m1X1TIh#>;4V%x}Yg@JglLQHu9GyiGW~6BgmI6L%XOo~(_08hU^g6Yf;N2|X_dj6K;D8&9t0{p%lPCJP$?BYe>z z<1D`Nuc^95(GVaDu0E$TYJN(8ja~T|>j{(z#UUiQa=ITnO_b>ibW5=1gUXPo` zzh2wLK<+&!nXf!ZeQW3M3sX`n5edG}g`Cs%`H#TGI_u*IId`T7r6kYg7O&+?xNxB% z3|OhB{Xiu@EM04RbY9LFTuvw^xuP`l+7dE9{UMA2T@_%D1ZUXe-m9%HN-y#a8lM6F@&_ZPxMV8lEOia670ShaHsp1a=mL+Ti*p9DT48nWVl*TWE>a#m&x|)f^OFr zqqreScC}o{i3#;wiWm(oU1I(8GmCl7lDJ3kdbX~({nYHiDXRBlkJphO51Ku?iX87JRU^YGBHCrydn4*4YhczR9Nz7~sIA+IgYF`h~6ZAji%Tqp2MsCx0_bE0> zvAv4JkHR4*i7a}jx$w{JH)_`MXZ$QnDs*aj%5c~kXmYKIF#2B2+ZL^8xI_&q66kt0v7lFvQ^T~kcQUa)|oFNh>dGRbZWn$ zHInpr6%DTg;ZpvN{LXgN(|_~#Y4!D*&ghxhQSi&hDu@LY$guGhJ3~XMS3_7<|$Hyir zfk89c-k5)AK^H!bo(gmfL@_cJswK3D?3rNFO5%YHm3FvJ$uH>QN5g`$L{?v zyHIrfHD55Fs0Z1uDN$ebaA0XZj{_|;FQh;}uIlWrvSbbB~ zi`G}R8oRPpx3wypk7s!0rc%?Oy{V+vJTszq#@TL3@6!W8s%N<RpP?gS`!f@4AxMZbGib$tfc2}#W%7sVn z%2FP2F<^k8QX+Dt+zQ8&+sF*RG80m(>-iPsup%FyfCIVHdJ%)@(9|lBQ=ul$<-S!3NM zK43(ntb$6&5dkru$Qci9-SHmWAUA6I)sGQr2-3-@l~1)1w=4*e@ zAq$TupiyE-lvZP#ZCEe0%=Xy9`0qBaT;B*`tD>X=`{&RCWkHqZnnOfPE%T1Nk4L+P z`%hyPV(c4;K~AVU9DB3pEytRk;H72V2Egx_{gD@y_9Qi1Bh6apGUQ?ZPM#q3x{%Q; zykDqC#_k)=JLCO3rfWo|hE%k78M#%T9vyWwM>Ft6oB?WhtEF4PPiR(_{)^1N(c2X1 z>&E70n2$XV)5@MO!2X9w`dBwPUK!icIQ3>kbCIqrYXp*Wqs>1i=f}mGYcbj}G{7Dy zAg7V&k6-ZDh@3M~pcpY(oOHk08b%aT^!jadPefl$)N95VB{%6Agsj_EE7Vn zsn&8&A}v&jjcV?O&XqXA&QVH31xWAhO}I+q2RD--2RF|uKa|id&JbL0ka&F#F?Szu z$9K{~#q+cdoZye+XW&1LoU_((8(Hl(HU>T07)k{78Al8~kjOrCkiQ+lAFLqGL#q{n zi0Ah}E<#v2V-@Ak{UMu-oVWQBP5y@X-v)5&aEmGj3IYjo0}cWrnPP%LkP;*dnF2<` z1bk{&=v6{g6+x5A_L~f#7qE<&?*?Bkok&k} zcN7pXYom~I`P@#n-EMetKLhWM>4I==aWXgNj76Ae_*bUM(D--_*i|@HSX3;exk~6l zDaDGkdCjHUdV-C$&!x3`2=gDqc>f4Q0<5p`>nC$0TB`Yn=B(aS0TFSS&k|ez!Y`(U z^P(LKO8D%3sL1NP|Ik2IUv-JL;$Odqz#6*qbF@T8BjKAo6WE|Vg>{4N{A1ASQ{Hl; zzJRwB;$Ot(8=YejI&K@@DI_4dXwFj2vF%YI7Vt8<$oe5)Z&zYZoDh$Vy=vb51Gwo2 zMx`20<#u)-<0XVD<}GC%&=SOM^()^!u6piF5=`EW7T{wHc-(!M*ADQ2Y)gFU@vmcT zGfn4|3RVNBnzw_}l_glVD^HK4aQHf%jc^AOBu=qwFIu>1Z5EL}!S_Aj3DuAMr^zv` z1iaqEj;VJ1-emAPVOJh%m(cJzfZ-(BpEydBZQ@2K&}p)SC8_Z^OJQQ2e`>xsSvEmk zHkEJUUlbQiUu%5G&UuXQ>YUpql2PnF#iYGV}A1iLX0^|}&^0i>drOvAE76fd%*kVw zX-Nv3lNzX}%wvC0EWp_QG8V^)z9ywPRUfT72mduX7%+yjjsvbPF5x_gvH}h!wf{?H zTt^`APUsf@8xl#Xr@hKo4wrX7#c0>hV{d2oX7~O2;_Dg7N)Tcp!Ubo#K|vC|KfS>~ zlBUHKD7ySZGA9-Sl^dBm!%J+!3@SFnh_i0i9t%tE!+{>G^8;>p<}oOicjMzsT6(f# z%o^M;vqMXgj4<^M?<2h(pgLsy$m1f6{(~gHsTFLR#QRt}DCx4}W*yxxkCg8vSu!g->6+C0q;cyzN>^2A?5w~WyH6<7?cq0019=-7~0nNf2?ZnPI7UBUo2X#NKq9DZi(W3B0P-)!sXICls6_)zo zdgYO=8L#aSg}Ql*DAfF?rZyNI#O-7{C7UQLxf!q0o^ip-{+8LR_Lwg{>3;K7W`QvP zgPmJCJG#T{+n&M2|JcN9xm8Dlvo`lL{=tOt)`I6cA~rvkM0lP)?fi}>SE(}9)R%j* zX&c=8!E%I%3$F2xav7H+p#FZrNNqcKs3`20eHOu!u&p$gL9pIM`B1lgSz(+tPJo8m zD$ES&*vqw}12^}MeSElOx4;`=hCYfmU?^mk(+uVA75dj)NmaN1((uNaoafgHPAMzX zF|`|mmvTE7RA~{s-@ZJcD3edKh}a}L#D1=>F1x-WgK^r$K*0|N z*z{tJ!f7BpB&|baka7eZm+?xG7iR4y>Ow?a3w%pK=C{_To@#Bi$N5TFDPNUMXI1sp zn#Qd9^5mAhmKvuI*Ud)h_+)ecfz#z~AOzDv(7VrAlWq-I4slDNx=)5CCS9Wt{yCBny z#;S_r&)WnQg3xfsUaI)dGj? z@H{H^c92>dNv;UtL-{EKhd(w!gZZy%5psUBWx;jsoARh25EB%%i^2 z#nnCv!IaG$oSkbGH|VDX4{#jRnt3a;KfD&2S0%29zZZqg8Im%|b2-HvilV!uq*!g@ zEODVd^d_Cx+-!_EYd_pz0sCA}xQ=AKtnRHY`%f5s4I|`SSO&s%0xOw|sblvzuelZm zj1`{OTQ%0GT|00`-uyNUXyrRkuF^fDs*5GP2^K>09B>(<+prqh;-vSVHIpOk0WilS zoTlcky}U}?24E$^xGVU9$%!({Irkz+OOYZ<n%HBptG>=$c;rjV14YBBe%*DsL+45wzFIEma4SXR|AGy;;9Yxzy;w2NYTu2WO#| zr3o^ruf%=Q1I5!8d)R3ei^+X4OFzp|aK&_5OyKve53x(Em$69~A;js0j?Z2w;$nz@ z9AKnIWhm1in)P{O02~L?;o>q~>+0TP?`Z^tX{yfDZ7A%x1uH@WNXFt@~{mW}CUBduKaZ{-&j7k9XW?KXp7 zTRIf~@YmhgSmTZ-A7b@Ctga|3$2R$EmA{_*ZjhMP3I*Qj>84xlJCMN>&zaw8nd1C|}Y!i{;(DhwG3aHmzL9Q^pd&Pf2(VbirC@PKuF~A+EXi8f`@g1z~b&+`y zTx?ZOpZpM8-u1JNQWmjN6Ji-eUMD)JsEKes4PS514ecrLC_3hs{e-dwu!pR}Vkmzb zNj#h*(|y10A85Yy<*aH+QtueV27Md3+?^zTkp1uAtQPojP?B=ZDgziOEgPece_P@0 ztYP5L{;Zc5--K%lhK9B+dODXSr=^TCteKyw+BR z?GaB1ROf)&i^1mg8Rp^D5G0&K)O54bMG$PtxpZ@bd1u{p_;1RxhLzfe-B4>PApzxw z7iKx%w-W`e4f5+8%Z0N{F=T{&$!C{>N9W>l*A_8Cj2h2Kd;>t@`C#CN9_96%h1f>=)L6v09Cmluf&8dZe&(31MBhp=EM;G&&IS)pT+P^yaLR3Aj7SFg zx6$|yDI-ot=psOl3FFqwfMRk_{z)di_ut5VCA+7a(i{D^xb$IBWNI4EvG`!W zbux^*!(}@jXAZAIa}b@PM7#Mv^apggmNQ8&u7g;GMUXJU#gTuSE3L1E3&R7eaqT31}tObr!fms}D< zk8B0U_2_g5)>upemHAbOdX5?WR+HmA*Zu6)RiR9Zh@a0(uFJ24r-=IR1&OB?(``L` z@JLi4`-Ar>7LXRJl`2gzXB*ZWbYkd$h;X`}3Rj)XQ zAMd!IFC-9F_!K5Znz?|XJXZNnIR}kx3v8skhevzA_~LZGh2x}x!ScF0-K#-7rCU~~ zmYIHe&CZ-Exm?`2YK>)&WjCL$(JZrVIi5zn@8d7RcFqd}TY%~W7h#Ns?6Gs@ObmCZ z;Fl9|Rw|lO9y2;_(GTWdB-PSCnQLXpy5TGv>Y;Jex}kyl`H(r)Uls+8EaV&95fd3j z*tv!O_!o9%;*ebo2O8#kq}#+LVlT0%i4b2&(V?b2Z^aRPNIQPYp<8vtqU2ja1vsb= zzQi)C{9ByrBXPP%tQ4roSxQEk;(sHI5*XnOPY(U*XX;~RP@Oo`gg%`gbwl4^N2R4*d7&#i6agknUz&v6k!GgWH z#7<@l1&9y|V+#C17Pa5pKVFd^d(wuW$VtO!Fh3nI=XNb{@)-E}?-edcB9+3NnXE9s z|Bac>R51iZV+d516jOp;M%s-pj*3*1+h1cu4aJUh4ab*L9@u*1!byg(ND!gsgMu8c zt+K)6tNq)z-?#Y8a1XDU+vRw5RyTPyLGyAWpFq;>ca#%v;F&GeRs9}6O{`_Vwu>a6FN={o#)u-E1Wi~x4(^x zS$?FDBxdkT*p!D=V=jmArQd{~{fL;J@g^O57uL~-;~~21%pc4!0Wn|@r4I165%mUs z>51VcB?A2xi+Q45;z^#se4f}Qy6{=0bUHn;oY5v5@%G!i`#5eBlR1*3Dg9*OTv6+M%@_3bKR*{SqOA z6bcYxUBkjcnpuGT;bg;feCxZuO(01$N_A@_4UVed4?;A>-OT{qB2y@1Wo2pA_iAam zB?JIpkj#-*0oXy6DVb|YqAHoCasp02i1Q!JX0uoMg(q7lv z?a%#xop0B(_4HQ7{#h7B^dtCU*Ze;4pFO&*!^~QF`K6DtUm?q&-BC^2z ze^wj%m!;=c=`<#-s76bOc46s+sxUMSN#cJRWmV=%;;935PE*Ha@(#nDQE&H_>vz`jQ?qT6W;0)JIz|F->;Oo;DS&&4{skDh?BqJ6A1VS^f`po2UVT4bo z!rDqhLE(S)S-Sz>wy`qoC;?>a`4yl8KkTv9n%9Qp#qiy^;X%!&`kXzqiPFb#=%|YD zd=*5}9f1BjZwoqL%R!@em~200;Q=Q$`$9Kx6-C4t#j*DKm7)1KMqr#ZC*A?|Nx8$X zX_IXqDm}lyOEp}?P7;M9mu3ZNq>-6mzikFv=WG_;&V4MVDvjcuaA5R_Gzvhz^b3^c ze!7H*$$=jjdMxgE3dNa@S;Xd&Pm<^bm_J3Ewq?u{F3c4m6PutNr z@~LsvkBst-*nC_D%xr=cFb_PLZFtMaI#q4drjJ;xUNOx)|5jR{aG`IBgk;50Tf-#K(u+^81DSJcS8sk~@+(8yQjpemR)cu*+-Q7S%l@hIHA(s{@i zkO*&Bo;tH^q@sak>IV|~J9%+y9>?Dl4ENkgdPCffYP0zF9b$R1gs1LH z8|FqP4c@D4dhByM*WA@%S`%efa`^?bi#PCKx&7A3@igY<{F@9-lIdO$7FuxGaX+v= z&^jV%erq`k4V~Q45jQP&D0=?7r$J{C-3<$~g0#*imBs!>{9j&c;K%SGQf9?v0sjt# zlW}C1&_#@C%iw4{shhFnc-!2h(X*D5~|36vc)0+fY`^!yhGrvESYUjKft@ z7CvAd=Ou3$X3UHvvP(==D~Hwz4c6?g^v1QMs5l`BOL|DR*N;&UW*p1)=#lhzQl;BP zcEWd`f}CPSy8723iY6$}sAZuDHRTt_PPtq5j7_)qFC53UM7SdpVy4kPAd72$$q)7j z{iqgScZ1?`1?z#|>7tlZP>5{h3reBEZ!jFU^NfExxh5vXr|O&U($DDwgaUdG~qA36Crxh1TwmnUc-TN(rA6x3tl6m2jvIo0qAJM^V}!ymq( zmSkl*O2jY$^5W1pzsuNntU-NI~R50T|8fP2Ajab$pD~S3AE0CTF%M zXCXw12dJkfNH;^NQHF3aIb=a`!G}o|lXJ``n9(dLMYk(LJSs=mYC}9|YRlSeAvl6m z&h0K#?W)@ZYx^{fwx0dvv}zqNbl&)$=j1JuW1>FIu6dq+-T0sA0VjN3hJs&@CLnCb zmG~`(fYSM$)xVdRcwhg5eK7(@|ANE%7wMDRJ@yZSVIkK$O2M_lLo@;&?xKA)f?*eS ztZ`?4tas-Sq+rS-vq*Cv3cYb^7n_4M7EOM`#g%R?0ax_!x?(xkUek&slXDjRxY%1+ zLW`s%!^w5?)OeehAiim91z30V1F-s76FRe1!0eaqzFLABdZ-%4-rYHi$fQkePG-z7 zYZMax`bd4Ts^YSFQ~V~YL`r40{4$G{;<^gOGKNJVr35eL60B-XvF@z8Y!qcFZ#r#+ z(LRUboh5A#tJsxmgqCI1lf1!PvQCv&<>Y3kHcfLct5gc@YHqb>?n&CK>?4FB zpi{AnWusba#^5t;if^Tqz5plN+{&t$QfjDErp_ldZsA&Y{$DY!MZtqdr*Qg(DxHU+ zj)=)As!ru}xNDNu`RWm^0wX3i$9@Bj0V?c>sii!#rGykeHq82X@u2fX^2FbGVRqyM zaSk1Z%ocKFHoGAfHhj3T(2ShVC~zO(>HN{d4*ZZ2u|1MZZ}{nGN|@bJ^5QVKqjHjB z`z|D9h67rX7rq_?eFf5t#nEA2Q%bLv=3I3Lm8 z&7q&p!#5v@05MdH!5P{)O}4ley=Gm&W3I^_9)bb0lMXdp#&Ed}am2%l3@g#L2HBo9 z3*!cpY9Xa_i1T$YQ&CCFTeJpjEg91CpOOREvL@FF8rJ&zR7?P8LjOy-l+IoQKqTq_FWW(XbgJ_0ZuCP62qIg+oW1|m7OUL-dQIV_$HNpdQde1nsndQV+ znjniOCzZjU6Ze6`)NwB2=;O&;<`O95OY&6?QJ~((jcY9W#d% z*OFqT{zZR{d_Wr%nWUq}r#7HlHE9uYEM_Q3PNjG*haxIY8f3b<-xrpp%N>-Y_HvF{ zj4{)nUO3i(mXoCL$@U5~FHL6DjddH$$|8G+0HwjbUL-Fd4aFU0 ziiglWQ!?t3s^a6tUhqUkVT_fAbdQf0&zZGmwYpTH(3e`VZ`4o3pOiy$^kFVLnswyr z{)w6aC7Qdv;t+AD@~>~k5ssC_t%{>YQ-b%97L$O&eCRG{!+sxdr;Kq+9xlPjBViAB zi?l{-+spym0#|$6T4YHse^NUoH+RcjaUKH3SDPV)xbW9(mMUaYD8c>K%cK*3aMd%% zEhbA-n{(>?_=CQTNPJ9rPUlokwh=w1U|w`PmmOQ`zXTw?kz1C@A}EN4O?#%i0uoiL@5-dMp6++qi)*2x@sOkrM`Rh1x73yb75TNx&OFSFA;} zY1&L|5QjfYWQY)#Adv-5a8NT8al8HtS4~?~7uYWlEW;_aqBI-P(dl`eeIQUoxXYB2 zXicO==u>FnxyIR3xuY}2Vo*^3&A`IDhv?KqF|e9I+?4Td`McVZJ*w3ZqaklvV=v~z zawv$mxPdIN}_w>feJLX(DN#CZMmuH&z`TbHfQVz~E4L({LU`o-XRU2xGm>4+jiun0!`525&!$i#1e6tE`U>|E>#Q!GltK=N2&G)8yz@^T_@#$Gap^J z))%Z+Er_uIJ+qGw(05Y0A8{?7J@nX5REm49-<|2qfz|HOuV%S%EN*gCNOT;i8}>_@ zECBJ}gfKCKFK^@5o6xjp>?5#sAki^x#_X4hMv4>NTcnO(35K5d?3(b;QQH$s+Em&S z9q~=cC#8JMoNFZ2e&rQ-cCXhQpQ^~&zpfOcUa4aJb`xZ@XI1IoL;KR(MAnXq6%O^K zCZIBUZ#nka+Wg3I@9mI>4qs;$%hL$kL3jX%&r0I>kzY1{9ja4|@eVT2?+B;pu)`m| z49Mr!aAB2->>Ec;w#AXz^iYcw+taq3icH@#D-FZ)DFG3eS|PDa`u(?6{|K}+BPX8E zJt_@1#}Gy(BKS#^mMTIe8DicgLQxTXRr1-WV^VfDBa?OJxO@j^<^d#J*zNoyy8)o4 zu<$7;0ZdFH{wp6EyfpuWls(mq;^9Gba`KEom8l;IyJkA^_}K&pgJ#;X{G2Ov26TBp zi^3LF?d?yJ^&!m2Wv30!KjoqxI$Z5GznYL-x^WE5+?s=j+>%{&uAhx_SnhKzNQK0> zAF$jntxxcF?H|Fa4F#}e_JWjRy(IwC%4iJ(ay47~Xe|?U&85D{g@wCGlA6!2cAkaR zitFt~@B23`{BBxqeGs(m9me_;<*;_8cg&xZp`Un zb?)-YhBc9J;5g*+1;WDHl+D8YLT)OSWP9U1pk^Ut-_k9otE;<0HO|#4t{JfHf)Lci zg~jCS{QGd7o5LMvid6wuM`dh5?J}J7EHfq0bT>v;Y3Es3d^)T*%S~46)jLcF!y(I=8sLBBro3@_^ROR znNEG5Oa*t2ptmX&X%mq(xe_2?H#a<6B~~~uj9C_`2%+lrmV|R=2au>d>DrEE7Y!a+ zwITjvF=-2(5@Qc3-??l;_VL~`cM!%Iu04peeAeCLpvPruH*x^3ZX4{RB0qbJZld$9 z_eDT>K6A#r%SWzaD7@q<*w)hdx!-USsQw^}vAKxkKXjVU#_CAj76XwU)%3BONvWPf z6EBZ>A+;4A0oP_NVWoz>8W~(!IGjxx>%U|E@;cWk+~XyUDSXz7PFQoA4OVRa>ME}U zzc~t98#!%Z{GFe)j0oWWVQ(oW48kj~sLJT2_rQz%Bd7U|`Q^>h{?=Z_>GZ2h>^=b7 z##`^?!LyG+nA7hUqaXmH<-)X$0QJWQR_DDY&Fi+Z8NzZfe6u4(V7P4D;01Tf&Zlut z0d~|*P){O9P2Uw+7pW(qJkz^IVwxV(%)SU5Y;`NtkNex>$-w^R_{MQtYH))6-AbJ$ z!(P94!sax5SNVgy36Vt08D#7SeD&4nZNz~pPY{X+MP%YQUKlWa!W)(pvU4AOehim4 zTtVxVHNO+O*nO;$&(~i7W#&m%k7b6pvgG2i~R=eKMD`7b=rRn9~%59w<@$%1*SWpP^%?bXerpY2DO%${w?JteBWwJAWm! zsPH?1#!p%Jyb>tc4c#`BFQ!xc7R*Sjm?~a*@-byt^m&Y$+MWgW1){mZ+ql zu4lNAAi=>n#(FLgN6C0BP;Wh~?h$lCn(`#uJ5i{TQ*my_WvqA8`ip)b!^J#^y!s4;QX4`F0C=38UMSYx?fI~1`WNa;ZTj)?O{ z$k^8^@kfe#fy#CUon?hDil$fDZ1GDHtHiC^vA?`{+iZ>oakvyd0X1IXnzbv!pL{NX< z1VREE_pLFd&{eHR>&g=iKD>p{e@pB;DTt9U6h=6&{1?zNcHz_6-XA#72^Ouk3XcNqusnb+X1vcB3r_o zPuU|6Z8U*HYS5a~UJY*UQ0+2Z#~e>SqFQ4yIj|;maD_Th1bC5{nIQ!9ruS*x=SfUb zkqYh4!oBhZg&v9UsA+fQg;3M~V@1o8WCA!8-xdgcBFJn{XqP+dQKpaVv*?gt028Jz~~escDay5(iNj7EK{TDK}}3Ln6}LdGz9nst;&Z z8-i|mgbQNSK{0Qhcz~9RaYxQ{u~a&B8UJ~ViuB+8a6>xazZONYMc=|ow7c5{WBB$* z?C|Fi{6uD)(0pX`ulor3IDVol7R%*ql?5m&r6eLK&cs*cq^mGGFeWtc#SKbx8jI3v zusce~TFpzFCP?(H8QQ^lTG_uz*Ma5=rwL88YVdyo9hp+`r+Jwudt9H!`Bf?S9I_R=WQDAvmUl!Uj+lTT(osusoB^`0q@)cgNtk3Az1c zF1{rgTdT)0xH;7MNFtNM<{iHSTf7rHIDa@8j$tKank45JHUyFgUMjak zwT?Y{7@hu{+{=9oMgKFvR{WBSS``<#eq#MN;^JaRuZWRC8Ozz1`J_1fgxcwrHoM-;t$w!alwNy;C;jw&xSD|h`-QZg4!8}tg z!;hR;EI=t*SG2r2>4;0Qty3g3AQ(#(Ch6SK+TXwSglJX_A85<$CEYF-{~J}fg-=d3t?1>syx z*JaKOOqHjX`w=yrJgt#EQuJJNPQBF>ND<@zM+rMl=)wIJ4uE?`vgzz^qI|>Cz4g)` z?Yy{!x$+A0`J!1op)P*Xo`Nf0w9I97oI`BBm(FF4R4bp^AE9ZE=~I7A=T~bvyw!!8 zR8eOZrXmuNmje>d2uSM3sBW+(1=%~oC_@3GceKojdL~jU6I@Q0^9+J zG0ksA?7y(Sf&Rle*05Y0pME8SEKD7?Ag2CaC=x>WI>(Nt{DIVuStyi1PzJCYMIZOc zL(Fb^vn1zRB+N;o#la`owLp~7L{iOW*PS6cgH(suEB!W?wp@EAs_t6*_Qoqyzi_$n zH2eC4ckMQ<=H7@aPglaZCpi0h3%^`CIKGW*^3Q+vu>IB~$2s1UDGy4`I0kxXFp}8m z)dK&SsZc2a&QgHh|0}_lVWqDflPY7N&_J{>Opx|r+sQ-QimF!Gltzr7v8E4Nc(Uc9 zK5Fg5kte^{9yqa%vFU{sk&`<%oy>FwoUmF2e!RUQ4AAD8CymyGiekdd=&;@x58gxR zl-w;O7lkH=vJMZpRhIY+Ceo*8!&m-umST=oFGX#=1_I?yy?QVbEo*S!_^n+TYW>UP zvkW#(yfqO#w(RWs(4gz>%>T$(glY2M?%EMbi1w!v6kEjD7ye!v^sPV)qs)L6`yHmI z%UXk8?e`Jn$NFeEEv)XVI-s#-r(9#JB`c7II<{5iq+GGQ+C&%;Ve;Zi&(YwNozGnNhTF68iv*ywu?MfEka)$l4-o|Y+giU^}duk$J zF_l23z)m(iVmuLE?UU^&>Cv{Z$|Ka6AsGXU>kn(kCxz}#a*UMrml?O+Zg`}Hoq@|8 zb~U`x_p>XuB$MP*Su2%)_M-yk>EqRElrhK;?_s>N*F>3~RaH;q zcC(Z2Pa`b>(;O7Px&xWAdl~*a!{}+h}?f?I`{dSoLG}zJ@&U&C5hyQ+!CgKci@w=rDi34W*_KhSFE{EihuCUZmrLL z3iTwj++&Y|u!W^ijqnt~xup9e!JtiyT3|ZEwbQskrgVq_pk6Y3&`)SSktHm%$#6Gl8Gf78(nthd*4k-&5>K*Q4EiE zg?5_%o!VE4da~^E%+U3LEX>N2-%kC_^}5s7+s(5O2>yVV$41ODJS5I9lUw*u5{!4| z8e{SBkY-p(jTMv3B)1-b&nSkx-b^0Hih0mDc@P2vEK_wcGzOk=bzg^nynC89Zyau> zh)qs5Jh%mRQWw%W9ElaSOye@RG8st=V}`l`eFk>LXt@@1n#KL1D2srZfu_Oav?@?R zDN`}zt{C(plghz2u>TB}ozbK&YwESkETMa?DUsoGvkTfl<`9{Te_nas+F2n>3&LlS4mc*htNr~^i3~3NqE(TVVVfM1Ma~_eIeSfFI75Re}2Y>+Ed$P+^xA^Gg+Ft$#wX3Hkrd7!P4by#ru$l zx!y9v(;b!j7?Aa>R~$Wc`v^V%B|dv<{}3SD90(xX9D+d**}gy%*}a5y3XNL93a;Nm z^r_#bMbzH`aS=`~YQ}zxF%LXjTvo@fYnzlb-m$qmox1(X`8D$019ch?j0SDubT}r;*iBQI06^U{F&3CK{LGBnYm)$vpw{KW)X zh{u*qaQsH^__HiJtx`y9A6hc_(d(r9@Eg;GamFzyECdv|dqT2*P;@y&2}ehjiIoQHVMj zIk`8W>2#Ll$?}S6{$5Wluq{2qN($m{pw(O(ey*;;-6NgrHpiJqR9cR`-m9`*sW(g0 zFuu+>E-Bo#rT41T5q`>oJQ3bI@j}S?n=j!6NNsI++L&v@k~yMg_V33l^g<&lRPt4c zZWi^zh_$~jUp_y*-}$Q!2p)cp6=`PxWM^Z!!kCPBF1tOn0^dlkr!0%973tzODptsopDYsZBgHB^b?5fHv-QMi-E zUzqWi^JdEo?r0*+Ed18m;)l-fq?~)A3=DdX-yyXvj?;%E2Ts}a&RUC1x`|bWBTuLR z#iGRJgqf9!5*txdox~+6K{u7ycs3>2r&ohjGy;9W>pU^=D;#Y@+BwMegFS#aZwwhS zX#_`qfLRq=1oGr`Rd#8ME#ihHo`@wlpE=4X$_ynV z5aR!@y&?d$x-kCgtE)mMv-gxKQ06294T#d@<`z<@;$o=enc(u;@Y)v1J>hGm6vTlWQSZDb6svJn(mC?gX z;w3=TxqoA%nPI%!&~T{X?jWB)&$L{Ok2GhW_=%i=e-?7*_OOA;P?=Axom$X}PtAm%p+#-3jIjU6cwsCMQ6dub!A6gc1fypG0~DjtnRGdiTc?-Y$UvhS^NsKCFPs z$@me^WvK|^;%h;MXVe?gPF0N z?fU{H?>qkc4G#1Fsp>3%;)u3&4THP8LvVL@_uvxTo!}N2+xjoqEAu|GaRZ3S*u)8K`bnzKOgKa862W#|sM2Q0hn3Uq(C z7{7lVSDFZyOBmrQpvLD}g@x<*x%3?Zc1S4cT+GIe95=G~>l5Aqy2cQ$p0HF=_n#97vv{Xsl z_2dJ(%qCcxw3dRGAGwYO--`BYey*EqI45c$>gz+W3huI!;iiUn#%7$aLb*9v3G&xolLap0>4GK z@j$GN*WvycKkw6JW7nLG9*(YC!9V3pH6s3o+0WsC5syk!7ej!bs5H$TI*cO+opCL; zzCse^fGk@H7edh&Ga)+vWG(O;l5oTHd+;~O%yOp$DNMvEe)n{GqlsZF*}3*idhI@H z^AH)%brK|*YW%HJHIqwy_XQc)pFl2+798xPHadUXWnG?ika7k;D=7gqlcwA_ub1@r zdFXP{&kVdn6=Yb6V?(mKIn=oDDt!3wukB|!QTpk+m>RSWW8jL$coczP|1B{yHrNKF z^^gU8&4Gg*t3q46&q?UAOD5l8gRk0fT)6u}1;K|=$TaGkADb4W%%Fm#B!JSe*6@0m zpd!Oa6M~gx^ccA}6$wB_EC)_P?#Fajk@;0(*ySY??B_9LxE-b&ZYfw;fGNaEZ?W9Z z@cIeS2-4sy<~}w%Lbfxy?1aFx_`y|x*|`v7T6qp9jju@|DVb(7?CH!eG*5Gy&l+8h zRbM^8F!tpT5oH7_gW>9GoIpm};Yf!1O{25~qK{^yWgpO~+jaA%S(nwyE0EdwL!30c zKldt?xJ0aM&=1ycCR-5a38i5O*0PK$+gT3P>!y1@WKHxy>~~O27sP(<)ig}wRNBRr z%aKHq$VG*rl$FywL80@QG^{g$)G(eHOk>J}B_@)*1Pdw21lI-z;E;-&jIZWa_0rpSSA7mp= zY4%6fSDnyAb5@>5=Tji(VLG&@QJBH2*IT9d#Z0;Q1}$-PDQPDU=b^MOJ-_5unLk?& zJZi>Qg3o#87MvE77KLnnubDpISzVT$FGU~oW?sqGR>)#s1~C4_i_tCZz~R{`G{gU{ zE$-s^yxBhQl6sEv)_Qo3lC-ZDfTii0Zc2yEfn()i7M1a+7BB|f{1XW1VWwf3P^+de z<&}b!6y9Xr(kUtJ5k~uysJ}ev!@ZJgTX43?N(3|OzqhI_ zsE`L~Z(%4Bo2itEVg!ZfoN{oLg?~rEvg_D~ERcyBo#J#Sl8d<@Xys_0V6>-ceP)`5dl2>|jwH~b+=fqshaPwn^QIdTGV^Ti z8BzI7>A~8Nw6PZUN=A6is)VG6;#e}?*nJ}5PPBsTSPCo{pUH1sUePRlAORuxUGTL; zKEk~Tq9QxSdq&rcb2q7smlm$PdEqm_b)ERpIu%W>VLYrJ7aua2XM*1h2BvVi7cSXjq-L*w5-) zq9A6ft4bIGNCMU02vz_tSz-F^eHzfm>oq1zs4eB@ z@mighTiklDogFW5lyrl{W9cm1P0|dWwlOGh#Ja$N$km}-j? zY``YYW?#ckjy5RzMFrfp_H13V40I@GOpetB-1a9QVGpY6k-=rTjyBAN>)HrTAXhx? zjs+{5lV)GZRr2S&0QY?3JgpBZBe52ll7*daQZZ++teaus3k5iw5W=xmxQO%El^)7a`2Q7ALgm-8h!U^Y(ne^KbVI#U}z#)(&OI zJDMZDDt*AHcv3>&{(4=K_-i*KDFP6MMhTKL1F6)&UtMqCUz!7YI1}H)F1sD+?HsvM zwnbTk?(?UESMwaPnd@-|!F3FkpxHG`X_-S6%)#&Q8Y130A{gi2agh>GlFZi|_=nIj zwOXpd3C|nC_-6?4odNmsLdj^GmJ30Dm3 zp^Rl(mgvZ7rg?OPuqj8wp}kBq5<%s(y*A39AfzGg1#VM{I=3eH zr#^4k3i-u(AteXe|4|m>-P1 zBXT7m&IZ-{Z`Ubnyz&hjqacZm48@VyU>ux?>kb!B8u`*$ z6tcI(Z7o)f{5l1?jg>WYf1To^3 z-<_=Hk8jxi0(ZX&7?QJDyYNQ#(tSnb(7qlF+`@y0 zGG6G;Wc?tFFKF@juW~+#NK9N0>>e|@;?1~G6^qJ%ucLp^)ph}|*{{=dgk_%K=1}uw z1yk2-(#`kOv*gNxB5=4sc1PG1MXV;pYlZU0#XlnFvM&dZmD^_C%RR9Rwzz!R@(o#^ z=+} zr7EYu@;hHinSeF0V{y^VS_`oB3u!ar0?;%DO@ZA~5#pvo<3+5q7lQov3dG(!cl(yT?b(xcB+F_-Ld` zm66hh_Bn0T?$LPQU z{0+si%bDJMog9=Z86uvtvJ#wP9>-<@Hv-={&B;l}tM8!u__j-Xf#2KA)XS_#9;<=1OL|`w zg{mpfY;ju3s^xvMcEcN6EJj35M--uDj)8VE zyH~>{jkyBn+K>r{rG;rBb1SYHD*{O|i>(6MIJi^k!p#!|E5f^#*dRw;?j7LyG*I&~ zC!S!yeWH7M1JHiqalYa&v7bn@H|TP{rCu&~7tP3qkg?Y)*Zm4k%i<|wqoC_Yfl(4WW|6uE z1IoaVykI1l6mgiCB;j-@SYWd^ILaF8@*D1UUPx>^3V$OR|F)Ub9mQ@0TKKHO3SztkrL_O9a;xo~2 zlCE0m`)9ZXfw}{QXWHLn<&o^T$s&mTEI9mcC9^#kg6rhIpwb#~8{qp}-QHG}Mw5ni zIZ|iJGmHHg-XrGK2bsQLw&}_*syR+Ee7^<@-EtE&tjmfTcE}xt56B4WX_1~RfCnQ$3*fB;!?xeos|dU_fV?S1>I_e5iuA8g zp@Hcs)BHLeXt!xJHCZ;RJCKc4`R(*$NjQnCq4O-XuE^}^bxi(QRYrclRHsz3puDKu zen8iKi?)cpKXIuDpE2-LNycrIr8<0Co1($PtV3So;5T?5W3tjsBaVtM&lDXWi<;=xuTdL#5h;7fAWS}>n zliW&C-J|?)fwu(b5K7nAgCl2JIri-qLuphbM=~#o^*Un*u z4?aO(8`voaX8h1Vz?(8-Db{BR2FG9^)695+rSPsSI+Fd}nO}~4!7{v;?j0}}tyjn$ zxz;m=LNVt%%eS^*N#m{d(KI#P_voO;g3;Uq`GV@jC%)` z{s5K^NVk%P&ogIrM{Y~TGjp@_#6s0;*<0-|?NaSPNd#d4>P2()x)kY>pJGSo_ntZx zC;?TOy^^8@I4P?_Rmwb0H_U0f6#5hQjxRZ6HW>hyYJ49a9*kN>mX2d`!{0s~Rv9&p zU+JDV*$ipn)K9ARQ|X1!V7_D~2P8KS?ym->l`-%x>@Ip{UxE^~Bt992U6)9E8*J!5 zA&+|jtFqLhzVLP$Y}L4ar-VQ&8RxK$x>0fEC++wSY5bB|{3k-)MMhe)W>7}Uq%aGy z4YsBwaQ{XE-xPzn_kqJG$+ht*gCA;S4B;T7GC2v#A?-#fLtVF4@oSfgmTc9WU_9}~ z$E1k>@D)v@&GjGJCH6gfj|qwuw+v4&%Ir0AAoqA&@S0?kY;rWcGp{_oSEH0dj_@G8 zhvsXwo#9Vj(7Nh*1Mp-yB42@A)2S{z5Hc_I>ISQ|^73E#Ii zDV+JdPl>)k39i$JNrAf_uRm@H1l<_1v%D1^XGS!xYk3<xs<)1$j0{6LQ zVMvWe#~e27`Wg6h506iG<%}!Z=5gnvVS2d3(pQ-dzhqUrlYoOq0Uzw!Cl&^LJgawM zMi}_*ZQxwho1t$?%Y8L8zvbH*;(Gg(`0H)L9PT!drU=SMrv!D81RxJJY8U}%*5trkJ(cV#X{ zR0s%~zpsi&$8do_qIn!)b7rcs9hf2cx_Yc3gnFhCTzP~PzGA7CC>$oiJDFUF2|2xt0UNN=D}EKk*CbYB`l@Q|utEPBoL zH8<&klmS{1(FXF)r$GI|)+w&C{+GM1+_MjVu z5ZQN#0Q~-hrKk6geOFA>>V%fk2yx4j#~5L29^D9O%i|s>IhYM_%AUD#wKd>omKUVV+)3u}*B-W$n09lTz9b+CG_3LKuZe5%M{7}00v zmW6EEE)TqCH{@j2YsB44u7*G46BTrGGIQwet}L<{4ohw@VfbEbWQE2XTTw=;sfZYM zSb_g+N$nh02^-hpVkmZ*Qt@@c781^U^;_#?I4%(8@y9Jd`YcDC+j52F0NdPXA{D!I ztes^veALZ(+PS(SWw$rQ30s4uagJNEMiZOL!>C1jG7;YLnk!PrTCKiCv6|hoIAJ_8ic?D`fKpOrtVOfH zB+W^({5z{CP3#z+U}mZkT4w-~6-&8Z9SPW&Y52j!2QOCr+dA(zdhf7NvB6J(er#Ul zh<)PW-g5wVH;!l?yJOC*BUSAsCC+n81K}14rp#4KXzjKL0l}=yy8No$*L-};fC-VFURL?clu+XR7EJEll&uXnW1^x;X#RVt`pGOIrWl)r(CzIRGxcu?=y!2HJ;XZd9~s6t$n<} zpTb`#`<(nv8LMggUEB9VZH%Y^eHZBxgW;aIhhUO8*0VVSuPWPu3-|pLdbIEvL_m1Y zl=X!c9xuD%#?Rf)v+F&~Q-v=mYD8}QzF6r4B+6X)wET)4N`q1wMrydoTD`!a{S7xs zG~1J$?YF#u-TUa+8^xbk1?HV)J@%4FE;^t6vP5|X4Vi6p5F4bo0QE7pDgwHfQ^EDI zoejKcw!T7FR^#95IeP347u%2o^joH>1BdZanlo`wmqP{jHtbf~$F)0H(`@6%;x-sz z_FO)(WD0J#;|K}3o8sk26Bh#grrA5yad0zD*5t{$(kFZdWv?iR9bi_;p# zUURB8U3pfDyE{eJ)?Kg^;I^nV?`xVb7lPTUf~&7wr1@9m`WVu1;=nlV!gC&>K+ZsO z_Sj8b~rcPhN}w>rfhab6|WO%{Og{!~n->G3Tr2}7_s zyIQH2U@5UL^Xud#e3$Ht_kmpT0j_T&wD%A9<{pTXq-Sk)knt<(~InierO=! z2p`()B!L$UCcaa=5mbrcsL4Vs7M`-q7^R%epvuJ^1oYi+z~zsU_uv zU!W}l-V*VwsYk8mmq(M+mjQ9C5px7Q_>qC%Xe&o8gF29C4+twG?0)iPx;!JYZny5D zL9~mY-*1Xq$lSoG2et3{#84@DQUsoADj1^$F8bd*V83}|Ct%1x_|>0cgQUpt+^+Zy z^eJBPFfh_HPz?oz1SU1`anCg=B|?*(DX{-QFrP#XfA-)1bf9rFO3xu-xjUz6cjMM} z0wM`z#ayC-exoCqHg`8kC+>eS$Pw7m7+yq+?nfM8st$qy_9DR_v{Q~TzI-N$ zP_qtp(mHb8?P_-M!H%TL(?XclnIIAq_vPiE6VWSN%Al-LTYKNK(xX(;d$~^zR7)St zXG`s7UlcBu-W}Vhl&}3c2RJ%o!`~j+FZ_SJ0Dt&xJgkd6?}ng3+Tcb@btw$yLU!p( zKpIhPH)Fm6`Dny@4S)LNMlQl#!eTh5e8zT8{us-vs2gZbxlU@8~ zLS%I3$0H|3uRN*fL`UA{G8AOawo5XhsAH@?Ywqr^)eq0vTGxkt)w?A~-3&9g`;bK#`3Z}oCI2V%~u zFJfM*I$obtt5n76{CiwK+A7eEB$bxi+KePI0~GY{ELJp=_erUf)L`D-s~nu8TH4WF z!+tT>0}WZWl8H^-b;iVQI_{vR*HIyLZe=^*3hUpU=)Op$e;})AWNvA#w0;m{nwegh zCvuCbxNmBb^=ukkfxRxmAumA|E+H%}Erros!LU|ho}SCy)0iu1)E8`q4l}f~xAVoC zEmq?yrj2OEfb=-)V4vYKqq_=S;c}v**I#T}1d@JY&W$a|$O0Ej?+tW_d)`+{?xT+9 z*E$j7*0u29y}Cv^M$8o;GgGk{SCZ0B;&XtE$Z@2yJKp1B z7-L*%jVdg(HbvH|amZ@UHk6@QWiXmd$Bq=+@!Z`@4X;tEk1p#$-ZlT3WJlLxlv0@O zUh#K>x|WFkj6s75ZaC|3N*+_Fklbp+0S;)Q*i(IpW|vr|d#DpvvEeBW%o-yoE=Kd+ zG~QnG>yWT*nfE+0$G!n57ulC*tXmn{F&y-5MB zSk5qX!e#K&lJTOd#PbFhE7`MfEB%ZI+_{*k9z&MnFoq16zIzF zOGLGQy6=pTy^0JrJAvV0+Lh4lF!1B@;>FerM>sm(6%>K!;0_1NwyXvFxgEr6Y7@iG zkH|5;*ldf}(D8j6cgFql*t~}Cle)TFxH7Uh9lM2@>;$5%>`tjyNZOzTo3C_^QFfmm zsTF~#RCPhX@!*ZR{1kzyHYegpHIX~yy{*qq`n?CbciClsXJxoIH5+MMR zIoEfXA!Dk|Dn1;wJmL%l0;+tKT&XMlE~!5=`;^JKzy}Ii6QrPJtyhyIYh~@#`^BQu zg1eXA6j&+DI-KJqCEQ+@)+4=erSjzVx>$!P zmmu=QyfY|7tcyQ1Wa)^0qh#@=pXO~lM4#?7ymc*HHN0gg1PU6sXB?{F{fZ>tDCI)C z4zr7MADYos=+X77kKlU1oR6l=g4CKte=b#ElHKZeT~3lB?)`o-C`a){PK( z9=)f${WLYSlnz52WHUn84}xC{p`N8XM^fnK)Sc47j|Ybfg(WvSFy+`6O*N<~P}OCz z5vql7vwT8P0phdPxrY%F9txWi;hY!3h-@1ms}`gL;$dDEYS1C^=18y^01@}@cE??W z3^qO!#tfk4#~vc8*9gTi($t6YZ<*krfy%-CjWlZJH)$(fjLhqejz+`#hSE{`JW-X7 z`>xsT{ptp`H`>cx`Y}4zH~l=d0f;CdUB??jN26J6;DXXNKkdg~ww7mvg7$Yg&GQ<% ze)k{3i2AAc60B&A-|y)Fiyto;>(TA&mjrB1w+Vj}|(ZfOGKn(V>no5cP;4~?a|MM9qai$5$YH}In)H_N|kJ%wEE zdx$Z6Fc7ko*OZyo|CG!w&B?BIv=@OJI>X*t!GUulJ9dnILly;;_GbzLJoz@!^eyTP z3FJ6(Fmdx-3yB*J!WKSFbNv27JBI|e?BPdEz|QNBeLkBXBJuZxY^0Y|Imm3u@`1iG z`~1gsxuzr*Sya zJh;m-lFd&fn=g^uzqV+wix*k~8f!T zn3ir71+XJq3a*|ATML^!$z&d9uh&(qV~yQRUJXAQSBDwbpX|E&S8!O65W-Z+>9)&z zGMbzw&w;!+q_q|G&ugeXvj@*#c7abnsgu&v1r4nWX-*X5c47i`^q;+i-j&%PL5+I^ zjT(Ca(EpQqY5vF(`frjLkz+&XzZp03j;)~oqr4A7IQb0oR}&o+aAHOLSLF3Qz~=T{ ztx)Jax6J=;#X-v)pe;Ho5FsZKNaPfq_&;)*74P8SJ1G3W)O%SRw8#yDJf{bNPHBk$ z(LVeKTI2f*y`7R1|DzoD4|FQ{7s3_B0Og;f6aUqZdmpmpJz9hFAMi-{9b^Sfp5YSz z73g}0yx*aJ=d~mD4yh9VRYZCR+TODbaQxHDtmNM-OgN_?{*Oe?uXo7)eK|_>ABaxo zFLZIvLj3>ra^Bag{(;Qo-yurSrwcX!i~(rtf)Z5wZem)zo4NoVYmnfj6#&r|Bw!~9 zV!K8M_3j~qo-a`WzwAJWS3&?3d(h<-5yX8zN~@GT(#HRJE;r&|R8PTpVB zD4!67cZ3cKy(0uH7l88bxQPD=xcT2f-^=2lfkM#boeF@j93*xxO8k%K_&?n5ig%6} z)Oybbz#aNK%-cN=p#R5TlXUF;SNMUB_@C9pf0~z${1?RfJMp;(LcsYH=<>k;@HP+n syvPdje?%w#=c($S<~7S8@>K@hkBTtwU;THn!}mQ03j*TT&VOqE4-{M+YybcN diff --git a/gradlew b/gradlew index fcb6fca1..0adc8e1a 100644 --- a/gradlew +++ b/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java b/modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java index 54e12662..7bfd1fd7 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/Exceptions.java @@ -34,4 +34,8 @@ public final class Exceptions { */ public static final StringTemplate.Processor IAE = stringTemplate -> new IllegalArgumentException(stringTemplate.interpolate()); + + private Exceptions() { + //no instance + } } diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index 00c87c5f..d21b38a0 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -174,14 +174,12 @@ public static SymbolLookup load(String module, String basename, String version) var libFile = new File(file, STR. "\{ basename }-\{ version }\{ suffix }" ); if (!libFile.exists()) { // Extract - try (var is = STACK_WALKER.getCallerClass().getClassLoader().getResourceAsStream( - STR. "\{ module }/\{ os.familyName() }/\{ Architecture.current() }/\{ path }" - )) { - Files.copy(Objects.requireNonNull(is), Path.of(libFile.getAbsolutePath())); + final String fromPath = STR. "\{ module }/\{ os.familyName() }/\{ Architecture.current() }/\{ path }" ; + try (var is = STACK_WALKER.getCallerClass().getClassLoader().getResourceAsStream(fromPath)) { + Files.copy(Objects.requireNonNull(is, STR. "File not found: \{ fromPath }" ), + Path.of(libFile.getAbsolutePath())); } catch (Exception e) { - var exception = new IllegalStateException(STR. "File not found: \{ file }; try setting property -Doverrungl.natives to a valid path" ); - exception.addSuppressed(e); - throw exception; + throw new IllegalStateException(STR. "File not found: \{ file }; try setting property -Doverrungl.natives to a valid path" , e); } } uri = libFile.toURI(); From 5929a19bcef9e1521b66b75588db947a29283dc2 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:06:09 +0800 Subject: [PATCH 14/44] Added support to custom symbol lookup and fixed some bugs --- .../main/java/overrungl/Configurations.java | 25 +- .../src/main/java/overrungl/glfw/GLFW.java | 8 +- .../main/java/overrungl/glfw/GLFWNative.java | 4 - .../main/java/overrungl/glfw/GLFWVulkan.java | 4 - .../src/main/java/overrungl/glfw/Handles.java | 339 ++++++++---------- .../src/main/java/overrungl/nfd/NFD.java | 11 +- .../src/main/java/overrungl/stb/Handles.java | 16 +- .../main/java/overrungl/stb/STBEasyFont.java | 23 +- .../src/main/java/overrungl/stb/STBImage.java | 106 +++--- .../java/overrungl/stb/STBImageResize.java | 32 +- .../java/overrungl/stb/STBImageWrite.java | 51 +-- .../main/java/overrungl/stb/STBPerlin.java | 21 +- 12 files changed, 281 insertions(+), 359 deletions(-) diff --git a/modules/overrungl.core/src/main/java/overrungl/Configurations.java b/modules/overrungl.core/src/main/java/overrungl/Configurations.java index 7bfb0acb..ad6dc91a 100644 --- a/modules/overrungl.core/src/main/java/overrungl/Configurations.java +++ b/modules/overrungl.core/src/main/java/overrungl/Configurations.java @@ -16,6 +16,8 @@ package overrungl; +import java.lang.foreign.SymbolLookup; +import java.util.function.Function; import java.util.function.Supplier; /** @@ -68,11 +70,32 @@ public final class Configurations { */ public static final Entry CHECKS = new Entry<>(() -> true); /** - * Forcing check all method handles for GL. + * Forcing to check all method handles for OpenGL. *

    * The default value is {@code false}. */ public static final Entry GL_FORCE_CHECK_ALL = new Entry<>(() -> false); + /** + * The symbol lookup of GLFW. + * The returned value must not be null. + *

    + * The default value is {@code null}. + */ + public static final Entry> GLFW_SYMBOL_LOOKUP = new Entry<>(() -> null); + /** + * The symbol lookup of NFD. + * The returned value must not be null. + *

    + * The default value is {@code null}. + */ + public static final Entry> NFD_SYMBOL_LOOKUP = new Entry<>(() -> null); + /** + * The symbol lookup of STB. + * The returned value must not be null. + *

    + * The default value is {@code null}. + */ + public static final Entry> STB_SYMBOL_LOOKUP = new Entry<>(() -> null); private Configurations() { //no instance diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java index 7fe07306..d33247d6 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java @@ -845,10 +845,6 @@ public final class GLFW { */ public static final int DONT_CARE = -1; - static { - create(); - } - private GLFW() { throw new IllegalStateException("Do not construct instance"); } @@ -3287,7 +3283,7 @@ public static MemorySegment getWindowMonitor(MemorySegment window) { */ public static void setWindowMonitor(MemorySegment window, MemorySegment monitor, int xpos, int ypos, int width, int height, int refreshRate) { try { - glfwGetWindowMonitor.invokeExact(window, monitor, xpos, ypos, width, height, refreshRate); + glfwSetWindowMonitor.invokeExact(window, monitor, xpos, ypos, width, height, refreshRate); } catch (Throwable e) { throw new AssertionError("should not reach here", e); } @@ -3399,7 +3395,7 @@ public static void setWindowUserPointer(MemorySegment window, MemorySegment poin */ public static MemorySegment getWindowUserPointer(MemorySegment window) { try { - return (MemorySegment) glfwSetWindowUserPointer.invokeExact(window); + return (MemorySegment) glfwGetWindowUserPointer.invokeExact(window); } catch (Throwable e) { throw new AssertionError("should not reach here", e); } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java index 71bd49f4..611c9e6f 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java @@ -36,10 +36,6 @@ * @since 0.1.0 */ public final class GLFWNative { - static { - create(); - } - private GLFWNative() { //no instance } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java index afa7c88c..5242d451 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java @@ -30,10 +30,6 @@ * @since 0.1.0 */ public final class GLFWVulkan { - static { - create(); - } - /** * constructor */ diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java index 82903ca9..6c2a6fd2 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java @@ -16,6 +16,7 @@ package overrungl.glfw; +import overrungl.Configurations; import overrungl.FunctionDescriptors; import overrungl.internal.RuntimeHelper; @@ -35,42 +36,164 @@ * @since 0.1.0 */ final class Handles { - private static boolean initialized; - static SymbolLookup lookup; + private static final SymbolLookup lookup; + + static { + final SymbolLookup lib = RuntimeHelper.load("glfw", "glfw3", + STR. "\{ GLFW.VERSION_MAJOR }.\{ GLFW.VERSION_MINOR }.\{ GLFW.VERSION_REVISION }" ); + final var function = Configurations.GLFW_SYMBOL_LOOKUP.get(); + lookup = function != null ? function.apply(lib) : lib; + } + static MethodHandle - glfwInit, glfwTerminate, glfwInitHint, glfwGetVersion, glfwGetVersionString, glfwGetError, glfwSetErrorCallback, - glfwGetMonitors, glfwGetPrimaryMonitor, glfwGetMonitorPos, glfwGetMonitorWorkarea, glfwGetMonitorPhysicalSize, - glfwGetMonitorContentScale, glfwGetMonitorName, glfwSetMonitorUserPointer, glfwGetMonitorUserPointer, - glfwSetMonitorCallback, glfwGetVideoModes, glfwGetVideoMode, glfwSetGamma, glfwGetGammaRamp, glfwSetGammaRamp, - glfwDefaultWindowHints, glfwWindowHint, glfwWindowHintString, glfwCreateWindow, glfwDestroyWindow, glfwWindowShouldClose, - glfwSetWindowShouldClose, glfwSetWindowTitle, glfwSetWindowIcon, glfwGetWindowPos, glfwSetWindowPos, glfwGetWindowSize, - glfwSetWindowSizeLimits, glfwSetWindowAspectRatio, glfwSetWindowSize, glfwGetFramebufferSize, glfwGetWindowFrameSize, - glfwGetWindowContentScale, glfwGetWindowOpacity, glfwSetWindowOpacity, glfwIconifyWindow, glfwRestoreWindow, - glfwMaximizeWindow, glfwShowWindow, glfwHideWindow, glfwFocusWindow, glfwRequestWindowAttention, glfwGetWindowMonitor, - glfwSetWindowMonitor, glfwGetWindowAttrib, glfwSetWindowAttrib, glfwSetWindowUserPointer, glfwGetWindowUserPointer, - glfwSetWindowPosCallback, glfwSetWindowSizeCallback, glfwSetWindowCloseCallback, glfwSetWindowRefreshCallback, - glfwSetWindowFocusCallback, glfwSetWindowIconifyCallback, glfwSetWindowMaximizeCallback, glfwSetFramebufferSizeCallback, - glfwSetWindowContentScaleCallback, glfwPollEvents, glfwWaitEvents, glfwWaitEventsTimeout, glfwPostEmptyEvent, - glfwGetInputMode, glfwSetInputMode, glfwRawMouseMotionSupported, glfwGetKeyName, glfwGetKeyScancode, glfwGetKey, - glfwGetMouseButton, glfwGetCursorPos, glfwSetCursorPos, glfwCreateCursor, glfwCreateStandardCursor, glfwDestroyCursor, - glfwSetCursor, glfwSetKeyCallback, glfwSetCharCallback, glfwSetMouseButtonCallback, glfwSetCursorPosCallback, - glfwSetCursorEnterCallback, glfwSetScrollCallback, glfwSetDropCallback, glfwJoystickPresent, glfwGetJoystickAxes, - glfwGetJoystickButtons, glfwGetJoystickHats, glfwGetJoystickName, glfwGetJoystickGUID, glfwSetJoystickUserPointer, - glfwGetJoystickUserPointer, glfwJoystickIsGamepad, glfwSetJoystickCallback, glfwUpdateGamepadMappings, glfwGetGamepadName, - glfwGetGamepadState, glfwSetClipboardString, glfwGetClipboardString, glfwGetTime, glfwSetTime, glfwGetTimerValue, - glfwGetTimerFrequency, glfwMakeContextCurrent, glfwGetCurrentContext, glfwSwapBuffers, glfwSwapInterval, - glfwExtensionSupported, glfwGetProcAddress, glfwVulkanSupported, glfwGetRequiredInstanceExtensions; + glfwInit = downcall("glfwInit", I), + glfwTerminate = downcall("glfwTerminate", V), + glfwInitHint = downcall("glfwInitHint", IIV), + glfwGetVersion = downcallTrivial("glfwGetVersion", PPPV), + glfwGetVersionString = downcallTrivial("glfwGetVersionString", p), + glfwGetError = downcallTrivial("glfwGetError", fd_PI), + glfwSetErrorCallback = downcall("glfwSetErrorCallback", PP), + glfwGetMonitors = downcall("glfwGetMonitors", Pp), + glfwGetPrimaryMonitor = downcall("glfwGetPrimaryMonitor", P), + glfwGetMonitorPos = downcall("glfwGetMonitorPos", PPPV), + glfwGetMonitorWorkarea = downcall("glfwGetMonitorWorkarea", PPPPPV), + glfwGetMonitorPhysicalSize = downcall("glfwGetMonitorPhysicalSize", PPPV), + glfwGetMonitorContentScale = downcall("glfwGetMonitorContentScale", PPPV), + glfwGetMonitorName = downcall("glfwGetMonitorName", Pp), + glfwSetMonitorUserPointer = downcallTrivial("glfwSetMonitorUserPointer", PPV), + glfwGetMonitorUserPointer = downcallTrivial("glfwGetMonitorUserPointer", PP), + glfwSetMonitorCallback = downcall("glfwSetMonitorCallback", PP), + glfwGetVideoModes = downcall("glfwGetVideoModes", PPp), + glfwGetVideoMode = downcall("glfwGetVideoMode", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWVidMode.LAYOUT), ADDRESS)), + glfwSetGamma = downcall("glfwSetGamma", PFV), + glfwGetGammaRamp = downcall("glfwGetGammaRamp", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWGammaRamp.LAYOUT), ADDRESS)), + glfwSetGammaRamp = downcall("glfwSetGammaRamp", PPV), + glfwDefaultWindowHints = downcall("glfwDefaultWindowHints", V), + glfwWindowHint = downcall("glfwWindowHint", IIV), + glfwWindowHintString = downcall("glfwWindowHintString", IPV), + glfwCreateWindow = downcall("glfwCreateWindow", IIPPPP), + glfwDestroyWindow = downcall("glfwDestroyWindow", PV), + glfwWindowShouldClose = downcallTrivial("glfwWindowShouldClose", fd_PI), + glfwSetWindowShouldClose = downcallTrivial("glfwSetWindowShouldClose", PIV), + glfwSetWindowTitle = downcall("glfwSetWindowTitle", PPV), + glfwSetWindowIcon = downcall("glfwSetWindowIcon", PIPV), + glfwGetWindowPos = downcall("glfwGetWindowPos", PPPV), + glfwSetWindowPos = downcall("glfwSetWindowPos", PIIV), + glfwGetWindowSize = downcall("glfwGetWindowSize", PPPV), + glfwSetWindowSizeLimits = downcall("glfwSetWindowSizeLimits", PIIIIV), + glfwSetWindowAspectRatio = downcall("glfwSetWindowAspectRatio", PIIV), + glfwSetWindowSize = downcall("glfwSetWindowSize", PIIV), + glfwGetFramebufferSize = downcall("glfwGetFramebufferSize", PPPV), + glfwGetWindowFrameSize = downcall("glfwGetWindowFrameSize", PPPPPV), + glfwGetWindowContentScale = downcall("glfwGetWindowContentScale", PPPV), + glfwGetWindowOpacity = downcall("glfwGetWindowOpacity", PF), + glfwSetWindowOpacity = downcall("glfwSetWindowOpacity", PFV), + glfwIconifyWindow = downcall("glfwIconifyWindow", PV), + glfwRestoreWindow = downcall("glfwRestoreWindow", PV), + glfwMaximizeWindow = downcall("glfwMaximizeWindow", PV), + glfwShowWindow = downcall("glfwShowWindow", PV), + glfwHideWindow = downcall("glfwHideWindow", PV), + glfwFocusWindow = downcall("glfwFocusWindow", PV), + glfwRequestWindowAttention = downcall("glfwRequestWindowAttention", PV), + glfwGetWindowMonitor = downcall("glfwGetWindowMonitor", PP), + glfwSetWindowMonitor = downcall("glfwSetWindowMonitor", PPIIIIIV), + glfwGetWindowAttrib = downcall("glfwGetWindowAttrib", PII), + glfwSetWindowAttrib = downcall("glfwSetWindowAttrib", PIIV), + glfwSetWindowUserPointer = downcallTrivial("glfwSetWindowUserPointer", PPV), + glfwGetWindowUserPointer = downcallTrivial("glfwGetWindowUserPointer", PP), + glfwSetWindowPosCallback = downcall("glfwSetWindowPosCallback", PPP), + glfwSetWindowSizeCallback = downcall("glfwSetWindowSizeCallback", PPP), + glfwSetWindowCloseCallback = downcall("glfwSetWindowCloseCallback", PPP), + glfwSetWindowRefreshCallback = downcall("glfwSetWindowRefreshCallback", PPP), + glfwSetWindowFocusCallback = downcall("glfwSetWindowFocusCallback", PPP), + glfwSetWindowIconifyCallback = downcall("glfwSetWindowIconifyCallback", PPP), + glfwSetWindowMaximizeCallback = downcall("glfwSetWindowMaximizeCallback", PPP), + glfwSetFramebufferSizeCallback = downcall("glfwSetFramebufferSizeCallback", PPP), + glfwSetWindowContentScaleCallback = downcall("glfwSetWindowContentScaleCallback", PPP), + glfwPollEvents = downcall("glfwPollEvents", V), + glfwWaitEvents = downcall("glfwWaitEvents", V), + glfwWaitEventsTimeout = downcall("glfwWaitEventsTimeout", DV), + glfwPostEmptyEvent = downcallTrivial("glfwPostEmptyEvent", V), + glfwGetInputMode = downcall("glfwGetInputMode", PII), + glfwSetInputMode = downcall("glfwSetInputMode", PIIV), + glfwRawMouseMotionSupported = downcall("glfwRawMouseMotionSupported", I), + glfwGetKeyName = downcall("glfwGetKeyName", IIp), + glfwGetKeyScancode = downcallTrivial("glfwGetKeyScancode", II), + glfwGetKey = downcall("glfwGetKey", PII), + glfwGetMouseButton = downcall("glfwGetMouseButton", PII), + glfwGetCursorPos = downcall("glfwGetCursorPos", PPPV), + glfwSetCursorPos = downcall("glfwSetCursorPos", PDDV), + glfwCreateCursor = downcall("glfwCreateCursor", PIIP), + glfwCreateStandardCursor = downcall("glfwCreateStandardCursor", IP), + glfwDestroyCursor = downcall("glfwDestroyCursor", PV), + glfwSetCursor = downcall("glfwSetCursor", PPV), + glfwSetKeyCallback = downcall("glfwSetKeyCallback", PPP), + glfwSetCharCallback = downcall("glfwSetCharCallback", PPP), + glfwSetMouseButtonCallback = downcall("glfwSetMouseButtonCallback", PPP), + glfwSetCursorPosCallback = downcall("glfwSetCursorPosCallback", PPP), + glfwSetCursorEnterCallback = downcall("glfwSetCursorEnterCallback", PPP), + glfwSetScrollCallback = downcall("glfwSetScrollCallback", PPP), + glfwSetDropCallback = downcall("glfwSetDropCallback", PPP), + glfwJoystickPresent = downcall("glfwJoystickPresent", II), + glfwGetJoystickAxes = downcall("glfwGetJoystickAxes", IPp), + glfwGetJoystickButtons = downcall("glfwGetJoystickButtons", IPp), + glfwGetJoystickHats = downcall("glfwGetJoystickHats", IPP), + glfwGetJoystickName = downcall("glfwGetJoystickName", Ip), + glfwGetJoystickGUID = downcall("glfwGetJoystickGUID", Ip), + glfwSetJoystickUserPointer = downcallTrivial("glfwSetJoystickUserPointer", IPV), + glfwGetJoystickUserPointer = downcallTrivial("glfwGetJoystickUserPointer", IP), + glfwJoystickIsGamepad = downcall("glfwJoystickIsGamepad", II), + glfwSetJoystickCallback = downcall("glfwSetJoystickCallback", PP), + glfwUpdateGamepadMappings = downcall("glfwUpdateGamepadMappings", fd_PI), + glfwGetGamepadName = downcall("glfwGetGamepadName", Ip), + glfwGetGamepadState = downcall("glfwGetGamepadState", IPI), + glfwSetClipboardString = downcall("glfwSetClipboardString", PPV), + glfwGetClipboardString = downcall("glfwGetClipboardString", Pp), + glfwGetTime = downcallTrivial("glfwGetTime", D), + glfwSetTime = downcallTrivial("glfwSetTime", DV), + glfwGetTimerValue = downcallTrivial("glfwGetTimerValue", J), + glfwGetTimerFrequency = downcallTrivial("glfwGetTimerFrequency", J), + glfwMakeContextCurrent = downcall("glfwMakeContextCurrent", PV), + glfwGetCurrentContext = downcallTrivial("glfwGetCurrentContext", P), + glfwSwapBuffers = downcall("glfwSwapBuffers", PV), + glfwSwapInterval = downcall("glfwSwapInterval", IV), + glfwExtensionSupported = downcall("glfwExtensionSupported", fd_PI), + glfwGetProcAddress = downcall("glfwGetProcAddress", PP), + glfwVulkanSupported = downcall("glfwVulkanSupported", I), + glfwGetRequiredInstanceExtensions = downcall("glfwGetRequiredInstanceExtensions", Pp); // GLFW Vulkan static MethodHandle - glfwGetInstanceProcAddress, glfwGetPhysicalDevicePresentationSupport, glfwCreateWindowSurface; + glfwGetInstanceProcAddress = downcall("glfwGetInstanceProcAddress", PPP), + glfwGetPhysicalDevicePresentationSupport = downcall("glfwGetPhysicalDevicePresentationSupport", PPII), + glfwCreateWindowSurface = downcall("glfwCreateWindowSurface", PPPPI); // GLFW Native static MethodHandle - glfwGetWin32Adapter, glfwGetWin32Monitor, glfwGetWin32Window, glfwGetWGLContext, glfwGetCocoaMonitor, glfwGetCocoaWindow, - glfwGetNSGLContext, glfwGetX11Display, glfwGetX11Adapter, glfwGetX11Monitor, glfwGetX11Window, glfwSetX11SelectionString, - glfwGetX11SelectionString, glfwGetGLXContext, glfwGetGLXWindow, glfwGetWaylandDisplay, glfwGetWaylandMonitor, glfwGetWaylandWindow, - glfwGetEGLDisplay, glfwGetEGLContext, glfwGetEGLSurface, glfwGetOSMesaColorBuffer, glfwGetOSMesaDepthBuffer, glfwGetOSMesaContext; + glfwGetWin32Adapter = downcallNative("glfwGetWin32Adapter", Pp), + glfwGetWin32Monitor = downcallNative("glfwGetWin32Monitor", Pp), + glfwGetWin32Window = downcallNative("glfwGetWin32Window", PP), + glfwGetWGLContext = downcallNative("glfwGetWGLContext", PP), + glfwGetCocoaMonitor = downcallNative("glfwGetCocoaMonitor", fd_PI), + glfwGetCocoaWindow = downcallNative("glfwGetCocoaWindow", PP), + glfwGetNSGLContext = downcallNative("glfwGetNSGLContext", PP), + glfwGetX11Display = downcallNative("glfwGetX11Display", P), + glfwGetX11Adapter = downcallNative("glfwGetX11Adapter", PJ), + glfwGetX11Monitor = downcallNative("glfwGetX11Monitor", PJ), + glfwGetX11Window = downcallNative("glfwGetX11Window", PJ), + glfwSetX11SelectionString = downcallNative("glfwSetX11SelectionString", PV), + glfwGetX11SelectionString = downcallNative("glfwGetX11SelectionString", p), + glfwGetGLXContext = downcallNative("glfwGetGLXContext", PP), + glfwGetGLXWindow = downcallNative("glfwGetGLXWindow", PJ), + glfwGetWaylandDisplay = downcallNative("glfwGetWaylandDisplay", P), + glfwGetWaylandMonitor = downcallNative("glfwGetWaylandMonitor", PP), + glfwGetWaylandWindow = downcallNative("glfwGetWaylandWindow", PP), + glfwGetEGLDisplay = downcallNative("glfwGetEGLDisplay", P), + glfwGetEGLContext = downcallNative("glfwGetEGLContext", PP), + glfwGetEGLSurface = downcallNative("glfwGetEGLSurface", PP), + glfwGetOSMesaColorBuffer = downcallNative("glfwGetOSMesaColorBuffer", PPPPPI), + glfwGetOSMesaDepthBuffer = downcallNative("glfwGetOSMesaDepthBuffer", PPPPPI), + glfwGetOSMesaContext = downcallNative("glfwGetOSMesaContext", PP); private Handles() { //no instance @@ -97,162 +220,4 @@ private static MethodHandle downcallNative(String name, FunctionDescriptors function) { return RuntimeHelper.downcallSafe(lookup.find(name).orElse(MemorySegment.NULL), function); } - - private static void createNative() { - glfwGetWin32Adapter = downcallNative("glfwGetWin32Adapter", Pp); - glfwGetWin32Monitor = downcallNative("glfwGetWin32Monitor", Pp); - glfwGetWin32Window = downcallNative("glfwGetWin32Window", PP); - glfwGetWGLContext = downcallNative("glfwGetWGLContext", PP); - glfwGetCocoaMonitor = downcallNative("glfwGetCocoaMonitor", fd_PI); - glfwGetCocoaWindow = downcallNative("glfwGetCocoaWindow", PP); - glfwGetNSGLContext = downcallNative("glfwGetNSGLContext", PP); - glfwGetX11Display = downcallNative("glfwGetX11Display", P); - glfwGetX11Adapter = downcallNative("glfwGetX11Adapter", PJ); - glfwGetX11Monitor = downcallNative("glfwGetX11Monitor", PJ); - glfwGetX11Window = downcallNative("glfwGetX11Window", PJ); - glfwSetX11SelectionString = downcallNative("glfwSetX11SelectionString", PV); - glfwGetX11SelectionString = downcallNative("glfwGetX11SelectionString", p); - glfwGetGLXContext = downcallNative("glfwGetGLXContext", PP); - glfwGetGLXWindow = downcallNative("glfwGetGLXWindow", PJ); - glfwGetWaylandDisplay = downcallNative("glfwGetWaylandDisplay", P); - glfwGetWaylandMonitor = downcallNative("glfwGetWaylandMonitor", PP); - glfwGetWaylandWindow = downcallNative("glfwGetWaylandWindow", PP); - glfwGetEGLDisplay = downcallNative("glfwGetEGLDisplay", P); - glfwGetEGLContext = downcallNative("glfwGetEGLContext", PP); - glfwGetEGLSurface = downcallNative("glfwGetEGLSurface", PP); - glfwGetOSMesaColorBuffer = downcallNative("glfwGetOSMesaColorBuffer", PPPPPI); - glfwGetOSMesaDepthBuffer = downcallNative("glfwGetOSMesaDepthBuffer", PPPPPI); - glfwGetOSMesaContext = downcallNative("glfwGetOSMesaContext", PP); - } - - static void create() { - if (initialized) return; - initialized = true; - - lookup = RuntimeHelper.load("glfw", "glfw3", - STR."\{GLFW.VERSION_MAJOR}.\{GLFW.VERSION_MINOR}.\{GLFW.VERSION_REVISION}"); - glfwInit = downcall("glfwInit", I); - glfwTerminate = downcall("glfwTerminate", V); - glfwInitHint = downcall("glfwInitHint", IIV); - glfwGetVersion = downcallTrivial("glfwGetVersion", PPPV); - glfwGetVersionString = downcallTrivial("glfwGetVersionString", p); - glfwGetError = downcallTrivial("glfwGetError", fd_PI); - glfwSetErrorCallback = downcall("glfwSetErrorCallback", PP); - glfwGetMonitors = downcall("glfwGetMonitors", Pp); - glfwGetPrimaryMonitor = downcall("glfwGetPrimaryMonitor", P); - glfwGetMonitorPos = downcall("glfwGetMonitorPos", PPPV); - glfwGetMonitorWorkarea = downcall("glfwGetMonitorWorkarea", PPPPPV); - glfwGetMonitorPhysicalSize = downcall("glfwGetMonitorPhysicalSize", PPPV); - glfwGetMonitorContentScale = downcall("glfwGetMonitorContentScale", PPPV); - glfwGetMonitorName = downcall("glfwGetMonitorName", Pp); - glfwSetMonitorUserPointer = downcallTrivial("glfwSetMonitorUserPointer", PPV); - glfwGetMonitorUserPointer = downcallTrivial("glfwGetMonitorUserPointer", PP); - glfwSetMonitorCallback = downcall("glfwSetMonitorCallback", PP); - glfwGetVideoModes = downcall("glfwGetVideoModes", PPp); - glfwGetVideoMode = downcall("glfwGetVideoMode", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWVidMode.LAYOUT), ADDRESS)); - glfwSetGamma = downcall("glfwSetGamma", PFV); - glfwGetGammaRamp = downcall("glfwGetGammaRamp", FunctionDescriptor.of(ADDRESS.withTargetLayout(GLFWGammaRamp.LAYOUT), ADDRESS)); - glfwSetGammaRamp = downcall("glfwSetGammaRamp", PPV); - glfwDefaultWindowHints = downcall("glfwDefaultWindowHints", V); - glfwWindowHint = downcall("glfwWindowHint", IIV); - glfwWindowHintString = downcall("glfwWindowHintString", IPV); - glfwCreateWindow = downcall("glfwCreateWindow", IIPPPP); - glfwDestroyWindow = downcall("glfwDestroyWindow", PV); - glfwWindowShouldClose = downcallTrivial("glfwWindowShouldClose", fd_PI); - glfwSetWindowShouldClose = downcallTrivial("glfwSetWindowShouldClose", PIV); - glfwSetWindowTitle = downcall("glfwSetWindowTitle", PPV); - glfwSetWindowIcon = downcall("glfwSetWindowIcon", PIPV); - glfwGetWindowPos = downcall("glfwGetWindowPos", PPPV); - glfwSetWindowPos = downcall("glfwSetWindowPos", PIIV); - glfwGetWindowSize = downcall("glfwGetWindowSize", PPPV); - glfwSetWindowSizeLimits = downcall("glfwSetWindowSizeLimits", PIIIIV); - glfwSetWindowAspectRatio = downcall("glfwSetWindowAspectRatio", PIIV); - glfwSetWindowSize = downcall("glfwSetWindowSize", PIIV); - glfwGetFramebufferSize = downcall("glfwGetFramebufferSize", PPPV); - glfwGetWindowFrameSize = downcall("glfwGetWindowFrameSize", PPPPPV); - glfwGetWindowContentScale = downcall("glfwGetWindowContentScale", PPPV); - glfwGetWindowOpacity = downcall("glfwGetWindowOpacity", PF); - glfwSetWindowOpacity = downcall("glfwSetWindowOpacity", PFV); - glfwIconifyWindow = downcall("glfwIconifyWindow", PV); - glfwRestoreWindow = downcall("glfwRestoreWindow", PV); - glfwMaximizeWindow = downcall("glfwMaximizeWindow", PV); - glfwShowWindow = downcall("glfwShowWindow", PV); - glfwHideWindow = downcall("glfwHideWindow", PV); - glfwFocusWindow = downcall("glfwFocusWindow", PV); - glfwRequestWindowAttention = downcall("glfwRequestWindowAttention", PV); - glfwGetWindowMonitor = downcall("glfwGetWindowMonitor", PP); - glfwSetWindowMonitor = downcall("glfwSetWindowMonitor", PPIIIIIV); - glfwGetWindowAttrib = downcall("glfwGetWindowAttrib", PII); - glfwSetWindowAttrib = downcall("glfwSetWindowAttrib", PIIV); - glfwSetWindowUserPointer = downcallTrivial("glfwSetWindowUserPointer", PPV); - glfwGetWindowUserPointer = downcallTrivial("glfwGetWindowUserPointer", PP); - glfwSetWindowPosCallback = downcall("glfwSetWindowPosCallback", PPP); - glfwSetWindowSizeCallback = downcall("glfwSetWindowSizeCallback", PPP); - glfwSetWindowCloseCallback = downcall("glfwSetWindowCloseCallback", PPP); - glfwSetWindowRefreshCallback = downcall("glfwSetWindowRefreshCallback", PPP); - glfwSetWindowFocusCallback = downcall("glfwSetWindowFocusCallback", PPP); - glfwSetWindowIconifyCallback = downcall("glfwSetWindowIconifyCallback", PPP); - glfwSetWindowMaximizeCallback = downcall("glfwSetWindowMaximizeCallback", PPP); - glfwSetFramebufferSizeCallback = downcall("glfwSetFramebufferSizeCallback", PPP); - glfwSetWindowContentScaleCallback = downcall("glfwSetWindowContentScaleCallback", PPP); - glfwPollEvents = downcall("glfwPollEvents", V); - glfwWaitEvents = downcall("glfwWaitEvents", V); - glfwWaitEventsTimeout = downcall("glfwWaitEventsTimeout", DV); - glfwPostEmptyEvent = downcallTrivial("glfwPostEmptyEvent", V); - glfwGetInputMode = downcall("glfwGetInputMode", PII); - glfwSetInputMode = downcall("glfwSetInputMode", PIIV); - glfwRawMouseMotionSupported = downcall("glfwRawMouseMotionSupported", I); - glfwGetKeyName = downcall("glfwGetKeyName", IIp); - glfwGetKeyScancode = downcallTrivial("glfwGetKeyScancode", II); - glfwGetKey = downcall("glfwGetKey", PII); - glfwGetMouseButton = downcall("glfwGetMouseButton", PII); - glfwGetCursorPos = downcall("glfwGetCursorPos", PPPV); - glfwSetCursorPos = downcall("glfwSetCursorPos", PDDV); - glfwCreateCursor = downcall("glfwCreateCursor", PIIP); - glfwCreateStandardCursor = downcall("glfwCreateStandardCursor", IP); - glfwDestroyCursor = downcall("glfwDestroyCursor", PV); - glfwSetCursor = downcall("glfwSetCursor", PPV); - glfwSetKeyCallback = downcall("glfwSetKeyCallback", PPP); - glfwSetCharCallback = downcall("glfwSetCharCallback", PPP); - glfwSetMouseButtonCallback = downcall("glfwSetMouseButtonCallback", PPP); - glfwSetCursorPosCallback = downcall("glfwSetCursorPosCallback", PPP); - glfwSetCursorEnterCallback = downcall("glfwSetCursorEnterCallback", PPP); - glfwSetScrollCallback = downcall("glfwSetScrollCallback", PPP); - glfwSetDropCallback = downcall("glfwSetDropCallback", PPP); - glfwJoystickPresent = downcall("glfwJoystickPresent", II); - glfwGetJoystickAxes = downcall("glfwGetJoystickAxes", IPp); - glfwGetJoystickButtons = downcall("glfwGetJoystickButtons", IPp); - glfwGetJoystickHats = downcall("glfwGetJoystickHats", IPP); - glfwGetJoystickName = downcall("glfwGetJoystickName", Ip); - glfwGetJoystickGUID = downcall("glfwGetJoystickGUID", Ip); - glfwSetJoystickUserPointer = downcallTrivial("glfwSetJoystickUserPointer", IPV); - glfwGetJoystickUserPointer = downcallTrivial("glfwGetJoystickUserPointer", IP); - glfwJoystickIsGamepad = downcall("glfwJoystickIsGamepad", II); - glfwSetJoystickCallback = downcall("glfwSetJoystickCallback", PP); - glfwUpdateGamepadMappings = downcall("glfwUpdateGamepadMappings", fd_PI); - glfwGetGamepadName = downcall("glfwGetGamepadName", Ip); - glfwGetGamepadState = downcall("glfwGetGamepadState", IPI); - glfwSetClipboardString = downcall("glfwSetClipboardString", PPV); - glfwGetClipboardString = downcall("glfwGetClipboardString", Pp); - glfwGetTime = downcallTrivial("glfwGetTime", D); - glfwSetTime = downcallTrivial("glfwSetTime", DV); - glfwGetTimerValue = downcallTrivial("glfwGetTimerValue", J); - glfwGetTimerFrequency = downcallTrivial("glfwGetTimerFrequency", J); - glfwMakeContextCurrent = downcall("glfwMakeContextCurrent", PV); - glfwGetCurrentContext = downcallTrivial("glfwGetCurrentContext", P); - glfwSwapBuffers = downcall("glfwSwapBuffers", PV); - glfwSwapInterval = downcall("glfwSwapInterval", IV); - glfwExtensionSupported = downcall("glfwExtensionSupported", fd_PI); - glfwGetProcAddress = downcall("glfwGetProcAddress", PP); - glfwVulkanSupported = downcall("glfwVulkanSupported", I); - glfwGetRequiredInstanceExtensions = downcall("glfwGetRequiredInstanceExtensions", Pp); - - // GLFW Vulkan - glfwGetInstanceProcAddress = downcall("glfwGetInstanceProcAddress", PPP); - glfwGetPhysicalDevicePresentationSupport = downcall("glfwGetPhysicalDevicePresentationSupport", PPII); - glfwCreateWindowSurface = downcall("glfwCreateWindowSurface", PPPPI); - - // GLFW Native - createNative(); - } } diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index 2f4478f6..9d8894e3 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -16,9 +16,9 @@ package overrungl.nfd; +import overrungl.Configurations; import overrungl.FunctionDescriptors; import overrungl.NativeType; -import overrungl.OverrunGL; import overrungl.internal.RuntimeHelper; import overrungl.os.Platform; import overrungl.util.MemoryStack; @@ -119,7 +119,14 @@ * @since 0.1.0 */ public final class NFD { - private static final SymbolLookup LOOKUP = RuntimeHelper.load("nfd", "nfd", "0.1.0.0"); + private static final SymbolLookup LOOKUP; + + static { + final SymbolLookup lib = RuntimeHelper.load("nfd", "nfd", "0.1.0.0"); + final var function = Configurations.NFD_SYMBOL_LOOKUP.get(); + LOOKUP = function != null ? function.apply(lib) : lib; + } + private static final Platform os = Platform.current(); private static final boolean isOsWin = os instanceof Platform.Windows; private static final boolean isOsWinOrApple = isOsWin || os instanceof Platform.MacOSX; diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java index 8d9e3a28..107fe2e0 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java @@ -16,6 +16,7 @@ package overrungl.stb; +import overrungl.Configurations; import overrungl.FunctionDescriptors; import overrungl.internal.RuntimeHelper; @@ -30,8 +31,13 @@ * @since 0.1.0 */ final class Handles { - private static boolean loaded = false; - private static SymbolLookup lookup; + private static final SymbolLookup lookup; + + static { + final SymbolLookup lib = RuntimeHelper.load("stb", "stb", "0.1.0.0"); + final var function = Configurations.STB_SYMBOL_LOOKUP.get(); + lookup = function != null ? function.apply(lib) : lib; + } private Handles() { //no instance @@ -47,10 +53,4 @@ static MethodHandle downcallTrivial(String name, FunctionDescriptors function) { return downcall(name, function, Linker.Option.isTrivial()); } - - public static void initialize() { - if (loaded) return; - loaded = true; - lookup = RuntimeHelper.load("stb", "stb", "0.1.0.0"); - } } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java index f91581dd..c64a9643 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java @@ -59,27 +59,18 @@ * @since 0.1.0 */ public final class STBEasyFont { - private static MethodHandle - stb_easy_font_draw_segs, stb_easy_font_get_spacing, stb_easy_font_spacing, stb_easy_font_print, stb_easy_font_width, stb_easy_font_height; - - static { - initialize(); - create(); - } + private static final MethodHandle + stb_easy_font_draw_segs = downcall("stb_easy_font_draw_segs", FFPIIPPIII), + stb_easy_font_get_spacing = downcall("stb_easy_font_get_spacing", F), + stb_easy_font_spacing = downcall("stb_easy_font_spacing", FV), + stb_easy_font_print = downcall("stb_easy_font_print", FFPPPII), + stb_easy_font_width = downcall("stb_easy_font_width", fd_PI), + stb_easy_font_height = downcall("stb_easy_font_height", fd_PI); private STBEasyFont() { //no instance } - private static void create() { - stb_easy_font_draw_segs = downcall("stb_easy_font_draw_segs", FFPIIPPIII); - stb_easy_font_get_spacing = downcall("stb_easy_font_get_spacing", F); - stb_easy_font_spacing = downcall("stb_easy_font_spacing", FV); - stb_easy_font_print = downcall("stb_easy_font_print", FFPPPII); - stb_easy_font_width = downcall("stb_easy_font_width", fd_PI); - stb_easy_font_height = downcall("stb_easy_font_height", fd_PI); - } - public static int ndrawSegs(float x, float y, MemorySegment segs, int numSegs, boolean vertical, MemorySegment c, MemorySegment vbuf, int vbufSize, int offset) { try { return (int) stb_easy_font_draw_segs.invokeExact(x, y, segs, numSegs, vertical ? 1 : 0, c, vbuf, vbufSize, offset); diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java index 1aaeafe2..40cf44a5 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java @@ -36,17 +36,50 @@ * @since 0.1.0 */ public final class STBImage { - private static MethodHandle - stbi_convert_iphone_png_to_rgb, stbi_convert_iphone_png_to_rgb_thread, stbi_failure_reason, stbi_hdr_to_ldr_gamma, - stbi_hdr_to_ldr_scale, stbi_image_free, stbi_info, stbi_info_from_callbacks, stbi_info_from_file, stbi_info_from_memory, - stbi_is_16_bit, stbi_is_16_bit_from_callbacks, stbi_is_16_bit_from_file, stbi_is_16_bit_from_memory, stbi_is_hdr, - stbi_is_hdr_from_callbacks, stbi_is_hdr_from_file, stbi_is_hdr_from_memory, stbi_ldr_to_hdr_gamma, stbi_ldr_to_hdr_scale, - stbi_load, stbi_load_16, stbi_load_16_from_callbacks, stbi_load_16_from_memory, stbi_load_from_callbacks, stbi_load_from_file, - stbi_load_from_file_16, stbi_load_from_memory, stbi_load_gif_from_memory, stbi_loadf, stbi_loadf_from_callbacks, - stbi_loadf_from_file, stbi_loadf_from_memory, stbi_set_flip_vertically_on_load, stbi_set_flip_vertically_on_load_thread, - stbi_set_unpremultiply_on_load, stbi_set_unpremultiply_on_load_thread, stbi_zlib_decode_buffer, stbi_zlib_decode_malloc, - stbi_zlib_decode_malloc_guesssize, stbi_zlib_decode_malloc_guesssize_headerflag, stbi_zlib_decode_noheader_buffer, - stbi_zlib_decode_noheader_malloc; + private static final MethodHandle + stbi_convert_iphone_png_to_rgb = downcall("stbi_convert_iphone_png_to_rgb", IV), + stbi_convert_iphone_png_to_rgb_thread = downcall("stbi_convert_iphone_png_to_rgb_thread", IV), + stbi_failure_reason = downcall("stbi_failure_reason", p), + stbi_hdr_to_ldr_gamma = downcall("stbi_hdr_to_ldr_gamma", FV), + stbi_hdr_to_ldr_scale = downcall("stbi_hdr_to_ldr_scale", FV), + stbi_image_free = downcall("stbi_image_free", PV), + stbi_info = downcall("stbi_info", PPPPI), + stbi_info_from_callbacks = downcall("stbi_info_from_callbacks", PPPPPI), + stbi_info_from_file = downcall("stbi_info_from_file", PPPPI), + stbi_info_from_memory = downcall("stbi_info_from_memory", PIPPPI), + stbi_is_16_bit = downcall("stbi_is_16_bit", fd_PI), + stbi_is_16_bit_from_callbacks = downcall("stbi_is_16_bit_from_callbacks", PPI), + stbi_is_16_bit_from_file = downcall("stbi_is_16_bit_from_file", fd_PI), + stbi_is_16_bit_from_memory = downcall("stbi_is_16_bit_from_memory", PII), + stbi_is_hdr = downcall("stbi_is_hdr", fd_PI), + stbi_is_hdr_from_callbacks = downcall("stbi_is_hdr_from_callbacks", PPI), + stbi_is_hdr_from_file = downcall("stbi_is_hdr_from_file", fd_PI), + stbi_is_hdr_from_memory = downcall("stbi_is_hdr_from_memory", PII), + stbi_ldr_to_hdr_gamma = downcall("stbi_ldr_to_hdr_gamma", FV), + stbi_ldr_to_hdr_scale = downcall("stbi_ldr_to_hdr_scale", FV), + stbi_load = downcall("stbi_load", PPPPIp), + stbi_load_16 = downcall("stbi_load_16", PPPPIp), + stbi_load_16_from_callbacks = downcall("stbi_load_16_from_callbacks", PPPPPIp), + stbi_load_16_from_memory = downcall("stbi_load_16_from_memory", PIPPPIp), + stbi_load_from_callbacks = downcall("stbi_load_from_callbacks", PPPPPIp), + stbi_load_from_file = downcall("stbi_load_from_file", PPPPIp), + stbi_load_from_file_16 = downcall("stbi_load_from_file_16", PPPPIp), + stbi_load_from_memory = downcall("stbi_load_from_memory", PIPPPIp), + stbi_load_gif_from_memory = downcall("stbi_load_gif_from_memory", PIPPPPPIp), + stbi_loadf = downcall("stbi_loadf", PPPPIp), + stbi_loadf_from_callbacks = downcall("stbi_loadf_from_callbacks", PPPPPIp), + stbi_loadf_from_file = downcall("stbi_loadf_from_file", PPPPIp), + stbi_loadf_from_memory = downcall("stbi_loadf_from_memory", PIPPPIp), + stbi_set_flip_vertically_on_load = downcall("stbi_set_flip_vertically_on_load", IV), + stbi_set_flip_vertically_on_load_thread = downcall("stbi_set_flip_vertically_on_load_thread", IV), + stbi_set_unpremultiply_on_load = downcall("stbi_set_unpremultiply_on_load", IV), + stbi_set_unpremultiply_on_load_thread = downcall("stbi_set_unpremultiply_on_load_thread", IV), + stbi_zlib_decode_buffer = downcall("stbi_zlib_decode_buffer", PIPII), + stbi_zlib_decode_malloc = downcall("stbi_zlib_decode_malloc", PIPp), + stbi_zlib_decode_malloc_guesssize = downcall("stbi_zlib_decode_malloc_guesssize", PIIPp), + stbi_zlib_decode_malloc_guesssize_headerflag = downcall("stbi_zlib_decode_malloc_guesssize_headerflag", PIIPIp), + stbi_zlib_decode_noheader_buffer = downcall("stbi_zlib_decode_noheader_buffer", PIPII), + stbi_zlib_decode_noheader_malloc = downcall("stbi_zlib_decode_noheader_malloc", PIPp); // only used for desiredChannels /** @@ -59,57 +92,6 @@ public final class STBImage { RGB = 3, RGB_ALPHA = 4; - static { - initialize(); - create(); - } - - private static void create() { - stbi_convert_iphone_png_to_rgb = downcall("stbi_convert_iphone_png_to_rgb", IV); - stbi_convert_iphone_png_to_rgb_thread = downcall("stbi_convert_iphone_png_to_rgb_thread", IV); - stbi_failure_reason = downcall("stbi_failure_reason", p); - stbi_hdr_to_ldr_gamma = downcall("stbi_hdr_to_ldr_gamma", FV); - stbi_hdr_to_ldr_scale = downcall("stbi_hdr_to_ldr_scale", FV); - stbi_image_free = downcall("stbi_image_free", PV); - stbi_info = downcall("stbi_info", PPPPI); - stbi_info_from_callbacks = downcall("stbi_info_from_callbacks", PPPPPI); - stbi_info_from_file = downcall("stbi_info_from_file", PPPPI); - stbi_info_from_memory = downcall("stbi_info_from_memory", PIPPPI); - stbi_is_16_bit = downcall("stbi_is_16_bit", fd_PI); - stbi_is_16_bit_from_callbacks = downcall("stbi_is_16_bit_from_callbacks", PPI); - stbi_is_16_bit_from_file = downcall("stbi_is_16_bit_from_file", fd_PI); - stbi_is_16_bit_from_memory = downcall("stbi_is_16_bit_from_memory", PII); - stbi_is_hdr = downcall("stbi_is_hdr", fd_PI); - stbi_is_hdr_from_callbacks = downcall("stbi_is_hdr_from_callbacks", PPI); - stbi_is_hdr_from_file = downcall("stbi_is_hdr_from_file", fd_PI); - stbi_is_hdr_from_memory = downcall("stbi_is_hdr_from_memory", PII); - stbi_ldr_to_hdr_gamma = downcall("stbi_ldr_to_hdr_gamma", FV); - stbi_ldr_to_hdr_scale = downcall("stbi_ldr_to_hdr_scale", FV); - stbi_load = downcall("stbi_load", PPPPIp); - stbi_load_16 = downcall("stbi_load_16", PPPPIp); - stbi_load_16_from_callbacks = downcall("stbi_load_16_from_callbacks", PPPPPIp); - stbi_load_16_from_memory = downcall("stbi_load_16_from_memory", PIPPPIp); - stbi_load_from_callbacks = downcall("stbi_load_from_callbacks", PPPPPIp); - stbi_load_from_file = downcall("stbi_load_from_file", PPPPIp); - stbi_load_from_file_16 = downcall("stbi_load_from_file_16", PPPPIp); - stbi_load_from_memory = downcall("stbi_load_from_memory", PIPPPIp); - stbi_load_gif_from_memory = downcall("stbi_load_gif_from_memory", PIPPPPPIp); - stbi_loadf = downcall("stbi_loadf", PPPPIp); - stbi_loadf_from_callbacks = downcall("stbi_loadf_from_callbacks", PPPPPIp); - stbi_loadf_from_file = downcall("stbi_loadf_from_file", PPPPIp); - stbi_loadf_from_memory = downcall("stbi_loadf_from_memory", PIPPPIp); - stbi_set_flip_vertically_on_load = downcall("stbi_set_flip_vertically_on_load", IV); - stbi_set_flip_vertically_on_load_thread = downcall("stbi_set_flip_vertically_on_load_thread", IV); - stbi_set_unpremultiply_on_load = downcall("stbi_set_unpremultiply_on_load", IV); - stbi_set_unpremultiply_on_load_thread = downcall("stbi_set_unpremultiply_on_load_thread", IV); - stbi_zlib_decode_buffer = downcall("stbi_zlib_decode_buffer", PIPII); - stbi_zlib_decode_malloc = downcall("stbi_zlib_decode_malloc", PIPp); - stbi_zlib_decode_malloc_guesssize = downcall("stbi_zlib_decode_malloc_guesssize", PIIPp); - stbi_zlib_decode_malloc_guesssize_headerflag = downcall("stbi_zlib_decode_malloc_guesssize_headerflag", PIIPIp); - stbi_zlib_decode_noheader_buffer = downcall("stbi_zlib_decode_noheader_buffer", PIPII); - stbi_zlib_decode_noheader_malloc = downcall("stbi_zlib_decode_noheader_malloc", PIPp); - } - private STBImage() { throw new IllegalStateException("Do not construct instance"); } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java index 07dd65a2..de1a6782 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java @@ -25,7 +25,6 @@ import static java.lang.foreign.ValueLayout.*; import static overrungl.FunctionDescriptors.*; import static overrungl.stb.Handles.downcall; -import static overrungl.stb.Handles.initialize; /** * The STB image resizer. @@ -34,28 +33,17 @@ * @since 0.1.0 */ public final class STBImageResize { - private static MethodHandle - stbir_resize, stbir_resize_float, stbir_resize_float_generic, stbir_resize_region, stbir_resize_subpixel, - stbir_resize_uint16_generic, stbir_resize_uint8, stbir_resize_uint8_generic, stbir_resize_uint8_srgb, - stbir_resize_uint8_srgb_edgemode; - - static { - initialize(); - create(); - } - - private static void create() { - stbir_resize = downcall("stbir_resize", PIIIPIIIIIIIIIIIIPI); - stbir_resize_float = downcall("stbir_resize_float", PIIIPIIIII); - stbir_resize_float_generic = downcall("stbir_resize_float_generic", PIIIPIIIIIIIIIPI); - stbir_resize_region = downcall("stbir_resize_region", PIIIPIIIIIIIIIIIIPFFFFI); - stbir_resize_subpixel = downcall("stbir_resize_subpixel", PIIIPIIIIIIIIIIIIPFFFFI); - stbir_resize_uint16_generic = downcall("stbir_resize_uint16_generic", PIIIPIIIIIIIIIPI); - stbir_resize_uint8 = downcall("stbir_resize_uint8", PIIIPIIIII); - stbir_resize_uint8_generic = downcall("stbir_resize_uint8_generic", PIIIPIIIIIIIIIPI); - stbir_resize_uint8_srgb = downcall("stbir_resize_uint8_srgb", PIIIPIIIIIII); + private static final MethodHandle + stbir_resize = downcall("stbir_resize", PIIIPIIIIIIIIIIIIPI), + stbir_resize_float = downcall("stbir_resize_float", PIIIPIIIII), + stbir_resize_float_generic = downcall("stbir_resize_float_generic", PIIIPIIIIIIIIIPI), + stbir_resize_region = downcall("stbir_resize_region", PIIIPIIIIIIIIIIIIPFFFFI), + stbir_resize_subpixel = downcall("stbir_resize_subpixel", PIIIPIIIIIIIIIIIIPFFFFI), + stbir_resize_uint16_generic = downcall("stbir_resize_uint16_generic", PIIIPIIIIIIIIIPI), + stbir_resize_uint8 = downcall("stbir_resize_uint8", PIIIPIIIII), + stbir_resize_uint8_generic = downcall("stbir_resize_uint8_generic", PIIIPIIIIIIIIIPI), + stbir_resize_uint8_srgb = downcall("stbir_resize_uint8_srgb", PIIIPIIIIIII), stbir_resize_uint8_srgb_edgemode = downcall("stbir_resize_uint8_srgb_edgemode", PIIIPIIIIIIII); - } private STBImageResize() { throw new IllegalStateException("Do not construct instance"); diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java index 7cbc8401..10e45017 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java @@ -35,39 +35,26 @@ * @since 0.1.0 */ public final class STBImageWrite { - private static MethodHandle - stbi_flip_vertically_on_write, stbi_get_write_force_png_filter, stbi_get_write_png_compression_level, - stbi_get_write_tga_with_rle, stbi_set_write_force_png_filter, stbi_set_write_png_compression_level, - stbi_set_write_tga_with_rle, stbi_write_bmp, stbi_write_bmp_to_func, stbi_write_hdr, stbi_write_hdr_to_func, - stbi_write_jpg, stbi_write_jpg_to_func, stbi_write_png, stbi_write_png_to_func, stbi_write_png_to_mem, - stbi_write_tga, stbi_write_tga_to_func, stbi_zlib_compress; - - static { - initialize(); - create(); - } - - private static void create() { - stbi_flip_vertically_on_write = downcall("stbi_flip_vertically_on_write", IV); - stbi_get_write_force_png_filter = downcall("stbi_get_write_force_png_filter", I); - stbi_get_write_png_compression_level = downcall("stbi_get_write_png_compression_level", I); - stbi_get_write_tga_with_rle = downcall("stbi_get_write_tga_with_rle", I); - stbi_set_write_force_png_filter = downcall("stbi_set_write_force_png_filter", IV); - stbi_set_write_png_compression_level = downcall("stbi_set_write_png_compression_level", IV); - stbi_set_write_tga_with_rle = downcall("stbi_set_write_tga_with_rle", IV); - stbi_write_bmp = downcall("stbi_write_bmp", PIIIPI); - stbi_write_bmp_to_func = downcall("stbi_write_bmp_to_func", PPIIIP); - stbi_write_hdr = downcall("stbi_write_hdr", PIIIPI); - stbi_write_hdr_to_func = downcall("stbi_write_hdr_to_func", PPIIIP); - stbi_write_jpg = downcall("stbi_write_jpg", PIIIPII); - stbi_write_jpg_to_func = downcall("stbi_write_jpg_to_func", PPIIIPI); - stbi_write_png = downcall("stbi_write_png", PIIIPII); - stbi_write_png_to_func = downcall("stbi_write_png_to_func", PPIIIPI); - stbi_write_png_to_mem = downcall("stbi_write_png_to_mem", PIIIIPp); - stbi_write_tga = downcall("stbi_write_tga", PIIIP); - stbi_write_tga_to_func = downcall("stbi_write_tga_to_func", PPIIIP); + private static final MethodHandle + stbi_flip_vertically_on_write = downcall("stbi_flip_vertically_on_write", IV), + stbi_get_write_force_png_filter = downcall("stbi_get_write_force_png_filter", I), + stbi_get_write_png_compression_level = downcall("stbi_get_write_png_compression_level", I), + stbi_get_write_tga_with_rle = downcall("stbi_get_write_tga_with_rle", I), + stbi_set_write_force_png_filter = downcall("stbi_set_write_force_png_filter", IV), + stbi_set_write_png_compression_level = downcall("stbi_set_write_png_compression_level", IV), + stbi_set_write_tga_with_rle = downcall("stbi_set_write_tga_with_rle", IV), + stbi_write_bmp = downcall("stbi_write_bmp", PIIIPI), + stbi_write_bmp_to_func = downcall("stbi_write_bmp_to_func", PPIIIP), + stbi_write_hdr = downcall("stbi_write_hdr", PIIIPI), + stbi_write_hdr_to_func = downcall("stbi_write_hdr_to_func", PPIIIP), + stbi_write_jpg = downcall("stbi_write_jpg", PIIIPII), + stbi_write_jpg_to_func = downcall("stbi_write_jpg_to_func", PPIIIPI), + stbi_write_png = downcall("stbi_write_png", PIIIPII), + stbi_write_png_to_func = downcall("stbi_write_png_to_func", PPIIIPI), + stbi_write_png_to_mem = downcall("stbi_write_png_to_mem", PIIIIPp), + stbi_write_tga = downcall("stbi_write_tga", PIIIP), + stbi_write_tga_to_func = downcall("stbi_write_tga_to_func", PPIIIP), stbi_zlib_compress = downcall("stbi_zlib_compress", PIPIp); - } private STBImageWrite() { throw new IllegalStateException("Do not construct instance"); diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBPerlin.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBPerlin.java index fb55e72e..2ddb9e66 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBPerlin.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBPerlin.java @@ -28,22 +28,13 @@ * @since 0.1.0 */ public final class STBPerlin { - private static MethodHandle - stb_perlin_noise3, stb_perlin_noise3_seed, stb_perlin_ridge_noise3, stb_perlin_fbm_noise3, stb_perlin_turbulence_noise3, stb_perlin_noise3_wrap_nonpow2; - - static { - initialize(); - create(); - } - - private static void create() { - stb_perlin_noise3 = downcall("stb_perlin_noise3", FFFIIIF); - stb_perlin_noise3_seed = downcall("stb_perlin_noise3_seed", FFFIIIIF); - stb_perlin_ridge_noise3 = downcall("stb_perlin_ridge_noise3", FFFFFFIF); - stb_perlin_fbm_noise3 = downcall("stb_perlin_fbm_noise3", FFFFFIF); - stb_perlin_turbulence_noise3 = downcall("stb_perlin_turbulence_noise3", FFFFFIF); + private static final MethodHandle + stb_perlin_noise3 = downcall("stb_perlin_noise3", FFFIIIF), + stb_perlin_noise3_seed = downcall("stb_perlin_noise3_seed", FFFIIIIF), + stb_perlin_ridge_noise3 = downcall("stb_perlin_ridge_noise3", FFFFFFIF), + stb_perlin_fbm_noise3 = downcall("stb_perlin_fbm_noise3", FFFFFIF), + stb_perlin_turbulence_noise3 = downcall("stb_perlin_turbulence_noise3", FFFFFIF), stb_perlin_noise3_wrap_nonpow2 = downcall("stb_perlin_noise3_wrap_nonpow2", FFFIIIBF); - } private STBPerlin() { throw new IllegalStateException("Do not construct instance"); From 0b98ee43cd0f76b87d5327d8a3052e0298052907 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Thu, 5 Oct 2023 11:16:00 +0800 Subject: [PATCH 15/44] Custom symbol lookup: lazy load --- .../src/main/java/overrungl/Configurations.java | 6 +++--- .../src/main/java/overrungl/glfw/Handles.java | 11 ++++++----- .../src/main/java/overrungl/nfd/NFD.java | 5 +++-- .../src/main/java/overrungl/stb/Handles.java | 5 +++-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/modules/overrungl.core/src/main/java/overrungl/Configurations.java b/modules/overrungl.core/src/main/java/overrungl/Configurations.java index ad6dc91a..baa4be91 100644 --- a/modules/overrungl.core/src/main/java/overrungl/Configurations.java +++ b/modules/overrungl.core/src/main/java/overrungl/Configurations.java @@ -81,21 +81,21 @@ public final class Configurations { *

    * The default value is {@code null}. */ - public static final Entry> GLFW_SYMBOL_LOOKUP = new Entry<>(() -> null); + public static final Entry, SymbolLookup>> GLFW_SYMBOL_LOOKUP = new Entry<>(() -> null); /** * The symbol lookup of NFD. * The returned value must not be null. *

    * The default value is {@code null}. */ - public static final Entry> NFD_SYMBOL_LOOKUP = new Entry<>(() -> null); + public static final Entry, SymbolLookup>> NFD_SYMBOL_LOOKUP = new Entry<>(() -> null); /** * The symbol lookup of STB. * The returned value must not be null. *

    * The default value is {@code null}. */ - public static final Entry> STB_SYMBOL_LOOKUP = new Entry<>(() -> null); + public static final Entry, SymbolLookup>> STB_SYMBOL_LOOKUP = new Entry<>(() -> null); private Configurations() { //no instance diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java index 6c2a6fd2..997ad047 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java @@ -25,6 +25,7 @@ import java.lang.foreign.MemorySegment; import java.lang.foreign.SymbolLookup; import java.lang.invoke.MethodHandle; +import java.util.function.Supplier; import static java.lang.foreign.ValueLayout.ADDRESS; import static overrungl.FunctionDescriptors.*; @@ -39,13 +40,13 @@ final class Handles { private static final SymbolLookup lookup; static { - final SymbolLookup lib = RuntimeHelper.load("glfw", "glfw3", + final Supplier lib = () -> RuntimeHelper.load("glfw", "glfw3", STR. "\{ GLFW.VERSION_MAJOR }.\{ GLFW.VERSION_MINOR }.\{ GLFW.VERSION_REVISION }" ); final var function = Configurations.GLFW_SYMBOL_LOOKUP.get(); - lookup = function != null ? function.apply(lib) : lib; + lookup = function != null ? function.apply(lib) : lib.get(); } - static MethodHandle + static final MethodHandle glfwInit = downcall("glfwInit", I), glfwTerminate = downcall("glfwTerminate", V), glfwInitHint = downcall("glfwInitHint", IIV), @@ -163,13 +164,13 @@ final class Handles { glfwGetRequiredInstanceExtensions = downcall("glfwGetRequiredInstanceExtensions", Pp); // GLFW Vulkan - static MethodHandle + static final MethodHandle glfwGetInstanceProcAddress = downcall("glfwGetInstanceProcAddress", PPP), glfwGetPhysicalDevicePresentationSupport = downcall("glfwGetPhysicalDevicePresentationSupport", PPII), glfwCreateWindowSurface = downcall("glfwCreateWindowSurface", PPPPI); // GLFW Native - static MethodHandle + static final MethodHandle glfwGetWin32Adapter = downcallNative("glfwGetWin32Adapter", Pp), glfwGetWin32Monitor = downcallNative("glfwGetWin32Monitor", Pp), glfwGetWin32Window = downcallNative("glfwGetWin32Window", PP), diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index 9d8894e3..9db59ce9 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -26,6 +26,7 @@ import java.lang.foreign.*; import java.lang.invoke.MethodHandle; +import java.util.function.Supplier; import static java.lang.foreign.ValueLayout.*; import static overrungl.FunctionDescriptors.*; @@ -122,9 +123,9 @@ public final class NFD { private static final SymbolLookup LOOKUP; static { - final SymbolLookup lib = RuntimeHelper.load("nfd", "nfd", "0.1.0.0"); + final Supplier lib = () -> RuntimeHelper.load("nfd", "nfd", "0.1.0.0"); final var function = Configurations.NFD_SYMBOL_LOOKUP.get(); - LOOKUP = function != null ? function.apply(lib) : lib; + LOOKUP = function != null ? function.apply(lib) : lib.get(); } private static final Platform os = Platform.current(); diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java index 107fe2e0..d75b8e21 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java @@ -23,6 +23,7 @@ import java.lang.foreign.Linker; import java.lang.foreign.SymbolLookup; import java.lang.invoke.MethodHandle; +import java.util.function.Supplier; /** * The STB method handles. @@ -34,9 +35,9 @@ final class Handles { private static final SymbolLookup lookup; static { - final SymbolLookup lib = RuntimeHelper.load("stb", "stb", "0.1.0.0"); + final Supplier lib = () -> RuntimeHelper.load("stb", "stb", "0.1.0.0"); final var function = Configurations.STB_SYMBOL_LOOKUP.get(); - lookup = function != null ? function.apply(lib) : lib; + lookup = function != null ? function.apply(lib) : lib.get(); } private Handles() { From 0010cc76b4683cccfb443d8a945bdd577078abb7 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 14 Oct 2023 12:17:27 +0800 Subject: [PATCH 16/44] [OpenGL] Added new extensions; update license header --- .../overrungl/opengl/OpenGLGenerator.kt | 1299 ++++++++++++++--- .../java/overrungl/opengl/GLCapabilities.java | 2 +- .../main/java/overrungl/opengl/GLExtCaps.java | 828 +++++++++-- .../java/overrungl/opengl/GLExtFinder.java | 646 +------- .../opengl/ext/GL3DFXMultisample.java | 2 +- .../overrungl/opengl/ext/GL3DFXTbuffer.java | 2 +- .../ext/GL3DFXTextureCompressionFXT1.java | 2 +- .../opengl/ext/GLGREMEDYFrameTerminator.java | 2 +- .../opengl/ext/GLGREMEDYStringMarker.java | 2 +- .../ext/GLHPConvolutionBorderModes.java | 2 +- .../opengl/ext/GLHPImageTransform.java | 2 +- .../opengl/ext/GLHPOcclusionTest.java | 2 +- .../opengl/ext/GLHPTextureLighting.java | 2 +- .../opengl/ext/GLINGRBlendFuncSeparate.java | 2 +- .../opengl/ext/GLINGRColorClamp.java | 2 +- .../opengl/ext/GLINGRInterlaceRead.java | 2 +- .../overrungl/opengl/ext/GLOMLInterlace.java | 33 + .../overrungl/opengl/ext/GLOMLResample.java | 37 + .../overrungl/opengl/ext/GLOMLSubsample.java | 33 + .../overrungl/opengl/ext/GLOVRMultiview.java | 2 +- .../overrungl/opengl/ext/GLPGIMiscHints.java | 2 +- .../opengl/ext/GLPGIVertexHints.java | 2 +- .../opengl/ext/GLRENDScreenCoordinates.java | 33 + .../java/overrungl/opengl/ext/GLS3S3tc.java | 37 + .../opengl/ext/GLWINPhongShading.java | 2 +- .../opengl/ext/GLWINSpecularFog.java | 2 +- .../ext/amd/GLAMDBlendMinmaxFactor.java | 2 +- .../opengl/ext/amd/GLAMDDebugOutput.java | 2 +- .../ext/amd/GLAMDDepthClampSeparate.java | 2 +- .../opengl/ext/amd/GLAMDDrawBuffersBlend.java | 2 +- .../GLAMDFramebufferMultisampleAdvanced.java | 2 +- .../amd/GLAMDFramebufferSamplePositions.java | 2 +- .../ext/amd/GLAMDGpuShaderHalfFloat.java | 2 +- .../opengl/ext/amd/GLAMDGpuShaderInt64.java | 2 +- .../ext/amd/GLAMDInterleavedElements.java | 2 +- .../ext/amd/GLAMDMultiDrawIndirect.java | 2 +- .../opengl/ext/amd/GLAMDNameGenDelete.java | 2 +- .../ext/amd/GLAMDOcclusionQueryEvent.java | 2 +- .../ext/amd/GLAMDPerformanceMonitor.java | 2 +- .../opengl/ext/amd/GLAMDPinnedMemory.java | 2 +- .../ext/amd/GLAMDQueryBufferObject.java | 2 +- .../opengl/ext/amd/GLAMDSamplePositions.java | 2 +- .../opengl/ext/amd/GLAMDSparseTexture.java | 2 +- .../amd/GLAMDStencilOperationExtended.java | 2 +- .../ext/amd/GLAMDTransformFeedback4.java | 2 +- .../ext/amd/GLAMDVertexShaderTessellator.java | 2 +- .../ext/apple/GLAPPLEAuxDepthStencil.java | 2 +- .../ext/apple/GLAPPLEClientStorage.java | 2 +- .../opengl/ext/apple/GLAPPLEElementArray.java | 2 +- .../opengl/ext/apple/GLAPPLEFence.java | 2 +- .../opengl/ext/apple/GLAPPLEFloatPixels.java | 2 +- .../ext/apple/GLAPPLEFlushBufferRange.java | 2 +- .../ext/apple/GLAPPLEObjectPurgeable.java | 2 +- .../opengl/ext/apple/GLAPPLERgb422.java | 2 +- .../opengl/ext/apple/GLAPPLERowBytes.java | 2 +- .../ext/apple/GLAPPLESpecularVector.java | 2 +- .../opengl/ext/apple/GLAPPLETextureRange.java | 2 +- .../ext/apple/GLAPPLETransformHint.java | 2 +- .../ext/apple/GLAPPLEVertexArrayObject.java | 2 +- .../ext/apple/GLAPPLEVertexArrayRange.java | 2 +- .../apple/GLAPPLEVertexProgramEvaluators.java | 2 +- .../opengl/ext/apple/GLAPPLEYcbcr422.java | 2 +- .../opengl/ext/arb/GLARBRobustness.java | 2 +- .../opengl/ext/arb/GLARBSampleLocations.java | 2 +- .../opengl/ext/arb/GLARBSampleShading.java | 2 +- .../opengl/ext/arb/GLARBShaderObjects.java | 2 +- .../ext/arb/GLARBShadingLanguageInclude.java | 2 +- .../overrungl/opengl/ext/arb/GLARBShadow.java | 2 +- .../opengl/ext/arb/GLARBShadowAmbient.java | 2 +- .../opengl/ext/arb/GLARBSparseBuffer.java | 2 +- .../opengl/ext/arb/GLARBSparseTexture.java | 2 +- .../ext/arb/GLARBTextureBorderClamp.java | 2 +- .../ext/arb/GLARBTextureBufferObject.java | 2 +- .../ext/arb/GLARBTextureCompression.java | 2 +- .../ext/arb/GLARBTextureCompressionBptc.java | 2 +- .../opengl/ext/arb/GLARBTextureCubeMap.java | 2 +- .../ext/arb/GLARBTextureCubeMapArray.java | 2 +- .../ext/arb/GLARBTextureEnvCombine.java | 2 +- .../opengl/ext/arb/GLARBTextureEnvDot3.java | 2 +- .../ext/arb/GLARBTextureFilterMinmax.java | 2 +- .../opengl/ext/arb/GLARBTextureFloat.java | 2 +- .../opengl/ext/arb/GLARBTextureGather.java | 2 +- .../ext/arb/GLARBTextureMirroredRepeat.java | 2 +- .../opengl/ext/arb/GLARBTextureRectangle.java | 2 +- .../GLARBTransformFeedbackOverflowQuery.java | 2 +- .../opengl/ext/arb/GLARBTransposeMatrix.java | 2 +- .../opengl/ext/arb/GLARBVertexBlend.java | 2 +- .../ext/arb/GLARBVertexBufferObject.java | 2 +- .../opengl/ext/arb/GLARBVertexProgram.java | 2 +- .../opengl/ext/arb/GLARBVertexShader.java | 2 +- .../opengl/ext/arb/GLARBViewportArray.java | 2 +- .../opengl/ext/arb/GLARBWindowPos.java | 2 +- .../opengl/ext/ati/GLATIDrawBuffers.java | 60 + .../opengl/ext/ati/GLATIElementArray.java | 62 + .../opengl/ext/ati/GLATIEnvmapBumpmap.java | 75 + .../opengl/ext/ati/GLATIFragmentShader.java | 252 ++++ .../opengl/ext/ati/GLATIMapObjectBuffer.java | 52 + .../opengl/ext/ati/GLATIMeminfo.java | 34 + .../opengl/ext/ati/GLATIPixelFormatFloat.java | 33 + .../opengl/ext/ati/GLATIPnTriangles.java | 60 + .../opengl/ext/ati/GLATISeparateStencil.java | 55 + .../ext/ati/GLATITextFragmentShader.java | 32 + .../ext/ati/GLATITextureEnvCombine3.java | 34 + .../opengl/ext/ati/GLATITextureFloat.java | 43 + .../ext/ati/GLATITextureMirrorOnce.java | 33 + .../ext/ati/GLATIVertexArrayObject.java | 141 ++ .../ext/ati/GLATIVertexAttribArrayObject.java | 59 + .../opengl/ext/ati/GLATIVertexStreams.java | 405 +++++ .../opengl/ext/ibm/GLIBMCullVertex.java | 2 +- .../ext/ibm/GLIBMMultimodeDrawArrays.java | 2 +- .../opengl/ext/ibm/GLIBMRasterposClip.java | 2 +- .../opengl/ext/ibm/GLIBMStaticData.java | 2 +- .../ext/ibm/GLIBMTextureMirroredRepeat.java | 2 +- .../opengl/ext/ibm/GLIBMVertexArrayLists.java | 2 +- .../ext/intel/GLINTELBlackholeRender.java | 2 +- .../GLINTELConservativeRasterization.java | 2 +- .../ext/intel/GLINTELFramebufferCMAA.java | 2 +- .../opengl/ext/intel/GLINTELMapTexture.java | 2 +- .../ext/intel/GLINTELParallelArrays.java | 2 +- .../ext/intel/GLINTELPerformanceQuery.java | 2 +- .../ext/khr/GLKHRBlendEquationAdvanced.java | 2 +- .../GLKHRBlendEquationAdvancedCoherent.java | 2 +- .../opengl/ext/khr/GLKHRNoError.java | 2 +- .../ext/khr/GLKHRParallelShaderCompile.java | 2 +- .../opengl/ext/khr/GLKHRRobustness.java | 2 +- .../opengl/ext/khr/GLKHRShaderSubgroup.java | 2 +- .../khr/GLKHRTextureCompressionAstcHdr.java | 2 +- .../ext/mesa/GLMESAFramebufferFlipX.java | 2 +- .../ext/mesa/GLMESAFramebufferFlipY.java | 2 +- .../ext/mesa/GLMESAFramebufferSwapXY.java | 2 +- .../opengl/ext/mesa/GLMESAPackInvert.java | 2 +- .../ext/mesa/GLMESAProgramBinaryFormats.java | 2 +- .../opengl/ext/mesa/GLMESAResizeBuffers.java | 2 +- .../ext/mesa/GLMESATileRasterOrder.java | 2 +- .../opengl/ext/mesa/GLMESAWindowPos.java | 2 +- .../opengl/ext/mesa/GLMESAXTextureStack.java | 2 +- .../opengl/ext/mesa/GLMESAYcbcrTexture.java | 2 +- .../opengl/ext/oes/GLOESByteCoordinates.java | 2 +- .../oes/GLOESCompressedPalettedTexture.java | 2 +- .../opengl/ext/oes/GLOESFixedPoint.java | 2 +- .../opengl/ext/oes/GLOESQueryMatrix.java | 2 +- .../opengl/ext/oes/GLOESReadFormat.java | 2 +- .../opengl/ext/oes/GLOESSinglePrecision.java | 2 +- .../opengl/ext/sgi/GLSGISDetailTexture.java | 59 + .../opengl/ext/sgi/GLSGISFogFunction.java | 54 + .../opengl/ext/sgi/GLSGISGenerateMipmap.java | 33 + .../ext/sun/GLSUNConvolutionBorderModes.java | 2 +- .../opengl/ext/sun/GLSUNGlobalAlpha.java | 2 +- .../opengl/ext/sun/GLSUNMeshArray.java | 2 +- .../opengl/ext/sun/GLSUNSliceAccum.java | 2 +- .../opengl/ext/sun/GLSUNTriangleList.java | 2 +- .../overrungl/opengl/ext/sun/GLSUNVertex.java | 2 +- .../opengl/ext/sun/GLSUNXConstantData.java | 2 +- 153 files changed, 3683 insertions(+), 1091 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 9afa95af..17cf0f23 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -18,8 +18,6 @@ package overrungl.opengl import overrungl.opengl.OpenGLExt.* import java.nio.file.Files -import java.time.Clock -import java.time.LocalDate import kotlin.io.path.Path enum class OpenGLExt(val dir: String, val packageName: String, val extName: String) { @@ -62,7 +60,7 @@ data class Type(val name: String, val layout: String?) { val fileHeader = """/* * MIT License * - * Copyright (c) 2022-${LocalDate.now(Clock.systemUTC()).year} Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -1973,7 +1971,417 @@ fun apple() { file("Ycbcr422", APPLE, "GL_APPLE_ycbcr_422", "GL_YCBCR_422_APPLE" to "0x85B9") } -fun ati() {} +fun ati() { + file("DrawBuffers", ATI, "GL_ATI_draw_buffers") { + "GL_MAX_DRAW_BUFFERS_ATI"("0x8824") + "GL_DRAW_BUFFER0_ATI"("0x8825") + "GL_DRAW_BUFFER1_ATI"("0x8826") + "GL_DRAW_BUFFER2_ATI"("0x8827") + "GL_DRAW_BUFFER3_ATI"("0x8828") + "GL_DRAW_BUFFER4_ATI"("0x8829") + "GL_DRAW_BUFFER5_ATI"("0x882A") + "GL_DRAW_BUFFER6_ATI"("0x882B") + "GL_DRAW_BUFFER7_ATI"("0x882C") + "GL_DRAW_BUFFER8_ATI"("0x882D") + "GL_DRAW_BUFFER9_ATI"("0x882E") + "GL_DRAW_BUFFER10_ATI"("0x882F") + "GL_DRAW_BUFFER11_ATI"("0x8830") + "GL_DRAW_BUFFER12_ATI"("0x8831") + "GL_DRAW_BUFFER13_ATI"("0x8832") + "GL_DRAW_BUFFER14_ATI"("0x8833") + "GL_DRAW_BUFFER15_ATI"("0x8834") + "glDrawBuffersATI"(void, GLsizei("n"), address("bufs", "const GLenum *")) + } + file("ElementArray", ATI, "GL_ATI_element_array") { + "GL_ELEMENT_ARRAY_ATI"("0x8768") + "GL_ELEMENT_ARRAY_TYPE_ATI"("0x8769") + "GL_ELEMENT_ARRAY_POINTER_ATI"("0x876A") + "glElementPointerATI"(void, GLenum("type"), address("pointer", "const void *")) + "glDrawElementArrayATI"(void, GLenum("mode"), GLsizei("count")) + "glDrawRangeElementArrayATI"(void, GLenum("mode"), GLuint("start"), GLuint("end"), GLsizei("count")) + } + file("EnvmapBumpmap", ATI, "GL_ATI_envmap_bumpmap") { + "GL_BUMP_ROT_MATRIX_ATI"("0x8775") + "GL_BUMP_ROT_MATRIX_SIZE_ATI"("0x8776") + "GL_BUMP_NUM_TEX_UNITS_ATI"("0x8777") + "GL_BUMP_TEX_UNITS_ATI"("0x8778") + "GL_DUDV_ATI"("0x8779") + "GL_DU8DV8_ATI"("0x877A") + "GL_BUMP_ENVMAP_ATI"("0x877B") + "GL_BUMP_TARGET_ATI"("0x877C") + "glTexBumpParameterivATI"(void, GLenum("pname"), address("param", "const GLint *")) + "glTexBumpParameterfvATI"(void, GLenum("pname"), address("param", "const GLfloat *")) + "glGetTexBumpParameterivATI"(void, GLenum("pname"), address("param", "GLint *")) + "glGetTexBumpParameterfvATI"(void, GLenum("pname"), address("param", "GLfloat *")) + } + file("FragmentShader", ATI, "GL_ATI_fragment_shader") { + "GL_FRAGMENT_SHADER_ATI"("0x8920") + "GL_REG_0_ATI"("0x8921") + "GL_REG_1_ATI"("0x8922") + "GL_REG_2_ATI"("0x8923") + "GL_REG_3_ATI"("0x8924") + "GL_REG_4_ATI"("0x8925") + "GL_REG_5_ATI"("0x8926") + "GL_REG_6_ATI"("0x8927") + "GL_REG_7_ATI"("0x8928") + "GL_REG_8_ATI"("0x8929") + "GL_REG_9_ATI"("0x892A") + "GL_REG_10_ATI"("0x892B") + "GL_REG_11_ATI"("0x892C") + "GL_REG_12_ATI"("0x892D") + "GL_REG_13_ATI"("0x892E") + "GL_REG_14_ATI"("0x892F") + "GL_REG_15_ATI"("0x8930") + "GL_REG_16_ATI"("0x8931") + "GL_REG_17_ATI"("0x8932") + "GL_REG_18_ATI"("0x8933") + "GL_REG_19_ATI"("0x8934") + "GL_REG_20_ATI"("0x8935") + "GL_REG_21_ATI"("0x8936") + "GL_REG_22_ATI"("0x8937") + "GL_REG_23_ATI"("0x8938") + "GL_REG_24_ATI"("0x8939") + "GL_REG_25_ATI"("0x893A") + "GL_REG_26_ATI"("0x893B") + "GL_REG_27_ATI"("0x893C") + "GL_REG_28_ATI"("0x893D") + "GL_REG_29_ATI"("0x893E") + "GL_REG_30_ATI"("0x893F") + "GL_REG_31_ATI"("0x8940") + "GL_CON_0_ATI"("0x8941") + "GL_CON_1_ATI"("0x8942") + "GL_CON_2_ATI"("0x8943") + "GL_CON_3_ATI"("0x8944") + "GL_CON_4_ATI"("0x8945") + "GL_CON_5_ATI"("0x8946") + "GL_CON_6_ATI"("0x8947") + "GL_CON_7_ATI"("0x8948") + "GL_CON_8_ATI"("0x8949") + "GL_CON_9_ATI"("0x894A") + "GL_CON_10_ATI"("0x894B") + "GL_CON_11_ATI"("0x894C") + "GL_CON_12_ATI"("0x894D") + "GL_CON_13_ATI"("0x894E") + "GL_CON_14_ATI"("0x894F") + "GL_CON_15_ATI"("0x8950") + "GL_CON_16_ATI"("0x8951") + "GL_CON_17_ATI"("0x8952") + "GL_CON_18_ATI"("0x8953") + "GL_CON_19_ATI"("0x8954") + "GL_CON_20_ATI"("0x8955") + "GL_CON_21_ATI"("0x8956") + "GL_CON_22_ATI"("0x8957") + "GL_CON_23_ATI"("0x8958") + "GL_CON_24_ATI"("0x8959") + "GL_CON_25_ATI"("0x895A") + "GL_CON_26_ATI"("0x895B") + "GL_CON_27_ATI"("0x895C") + "GL_CON_28_ATI"("0x895D") + "GL_CON_29_ATI"("0x895E") + "GL_CON_30_ATI"("0x895F") + "GL_CON_31_ATI"("0x8960") + "GL_MOV_ATI"("0x8961") + "GL_ADD_ATI"("0x8963") + "GL_MUL_ATI"("0x8964") + "GL_SUB_ATI"("0x8965") + "GL_DOT3_ATI"("0x8966") + "GL_DOT4_ATI"("0x8967") + "GL_MAD_ATI"("0x8968") + "GL_LERP_ATI"("0x8969") + "GL_CND_ATI"("0x896A") + "GL_CND0_ATI"("0x896B") + "GL_DOT2_ADD_ATI"("0x896C") + "GL_SECONDARY_INTERPOLATOR_ATI"("0x896D") + "GL_NUM_FRAGMENT_REGISTERS_ATI"("0x896E") + "GL_NUM_FRAGMENT_CONSTANTS_ATI"("0x896F") + "GL_NUM_PASSES_ATI"("0x8970") + "GL_NUM_INSTRUCTIONS_PER_PASS_ATI"("0x8971") + "GL_NUM_INSTRUCTIONS_TOTAL_ATI"("0x8972") + "GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI"("0x8973") + "GL_NUM_LOOPBACK_COMPONENTS_ATI"("0x8974") + "GL_COLOR_ALPHA_PAIRING_ATI"("0x8975") + "GL_SWIZZLE_STR_ATI"("0x8976") + "GL_SWIZZLE_STQ_ATI"("0x8977") + "GL_SWIZZLE_STR_DR_ATI"("0x8978") + "GL_SWIZZLE_STQ_DQ_ATI"("0x8979") + "GL_SWIZZLE_STRQ_ATI"("0x897A") + "GL_SWIZZLE_STRQ_DQ_ATI"("0x897B") + "GL_RED_BIT_ATI"("0x00000001") + "GL_GREEN_BIT_ATI"("0x00000002") + "GL_BLUE_BIT_ATI"("0x00000004") + "GL_2X_BIT_ATI"("0x00000001") + "GL_4X_BIT_ATI"("0x00000002") + "GL_8X_BIT_ATI"("0x00000004") + "GL_HALF_BIT_ATI"("0x00000008") + "GL_QUARTER_BIT_ATI"("0x00000010") + "GL_EIGHTH_BIT_ATI"("0x00000020") + "GL_SATURATE_BIT_ATI"("0x00000040") + "GL_COMP_BIT_ATI"("0x00000002") + "GL_NEGATE_BIT_ATI"("0x00000004") + "GL_BIAS_BIT_ATI"("0x00000008") + "glGenFragmentShadersATI"(GLuint, GLuint("range")) + "glBindFragmentShaderATI"(void, GLuint("id")) + "glDeleteFragmentShaderATI"(void, GLuint("id")) + "glBeginFragmentShaderATI"(void) + "glEndFragmentShaderATI"(void) + "glPassTexCoordATI"(void, GLuint("dst"), GLuint("coord"), GLenum("swizzle")) + "glSampleMapATI"(void, GLuint("dst"), GLuint("interp"), GLenum("swizzle")) + "glColorFragmentOp1ATI"( + void, + GLenum("op"), + GLuint("dst"), + GLuint("dstMask"), + GLuint("dstMod"), + GLuint("arg1"), + GLuint("arg1Rep"), + GLuint("arg1Mod") + ) + "glColorFragmentOp2ATI"( + void, + GLenum("op"), + GLuint("dst"), + GLuint("dstMask"), + GLuint("dstMod"), + GLuint("arg1"), + GLuint("arg1Rep"), + GLuint("arg1Mod"), + GLuint("arg2"), + GLuint("arg2Rep"), + GLuint("arg2Mod") + ) + "glColorFragmentOp3ATI"( + void, + GLenum("op"), + GLuint("dst"), + GLuint("dstMask"), + GLuint("dstMod"), + GLuint("arg1"), + GLuint("arg1Rep"), + GLuint("arg1Mod"), + GLuint("arg2"), + GLuint("arg2Rep"), + GLuint("arg2Mod"), + GLuint("arg3"), + GLuint("arg3Rep"), + GLuint("arg3Mod") + ) + "glAlphaFragmentOp1ATI"( + void, + GLenum("op"), + GLuint("dst"), + GLuint("dstMod"), + GLuint("arg1"), + GLuint("arg1Rep"), + GLuint("arg1Mod") + ) + "glAlphaFragmentOp2ATI"( + void, + GLenum("op"), + GLuint("dst"), + GLuint("dstMod"), + GLuint("arg1"), + GLuint("arg1Rep"), + GLuint("arg1Mod"), + GLuint("arg2"), + GLuint("arg2Rep"), + GLuint("arg2Mod") + ) + "glAlphaFragmentOp3ATI"( + void, + GLenum("op"), + GLuint("dst"), + GLuint("dstMod"), + GLuint("arg1"), + GLuint("arg1Rep"), + GLuint("arg1Mod"), + GLuint("arg2"), + GLuint("arg2Rep"), + GLuint("arg2Mod"), + GLuint("arg3"), + GLuint("arg3Rep"), + GLuint("arg3Mod") + ) + "glSetFragmentShaderConstantATI"(void, GLuint("dst"), address("value", "const GLfloat *")) + } + file("MapObjectBuffer", ATI, "GL_ATI_map_object_buffer") { + "glMapObjectBufferATI"(address, GLuint("buffer"), nativeType = "void*") + "glUnmapObjectBufferATI"(void, GLuint("buffer")) + } + file( + "Meminfo", ATI, "GL_ATI_meminfo", + "GL_VBO_FREE_MEMORY_ATI" to "0x87FB", + "GL_TEXTURE_FREE_MEMORY_ATI" to "0x87FC", + "GL_RENDERBUFFER_FREE_MEMORY_ATI" to "0x87FD" + ) + file( + "PixelFormatFloat", ATI, "GL_ATI_pixel_format_float", + "GL_RGBA_FLOAT_MODE_ATI" to "0x8820", + "GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI" to "0x8835" + ) + file("PnTriangles", ATI, "GL_ATI_pn_triangles") { + "GL_PN_TRIANGLES_ATI"("0x87F0") + "GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI"("0x87F1") + "GL_PN_TRIANGLES_POINT_MODE_ATI"("0x87F2") + "GL_PN_TRIANGLES_NORMAL_MODE_ATI"("0x87F3") + "GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI"("0x87F4") + "GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI"("0x87F5") + "GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI"("0x87F6") + "GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI"("0x87F7") + "GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI"("0x87F8") + "glPNTrianglesiATI"(void, GLenum("pname"), GLint("param")) + "glPNTrianglesfATI"(void, GLenum("pname"), GLfloat("param")) + } + file("SeparateStencil", ATI, "GL_ATI_separate_stencil") { + "GL_STENCIL_BACK_FUNC_ATI"("0x8800") + "GL_STENCIL_BACK_FAIL_ATI"("0x8801") + "GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI"("0x8802") + "GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI"("0x8803") + "glStencilOpSeparateATI"(void, GLenum("face"), GLenum("sfail"), GLenum("dpfail"), GLenum("dppass")) + "glStencilFuncSeparateATI"(void, GLenum("frontfunc"), GLenum("backfunc"), GLint("ref"), GLuint("mask")) + } + file("TextFragmentShader", ATI, "GL_ATI_text_fragment_shader", "GL_TEXT_FRAGMENT_SHADER_ATI" to "0x8200") + file( + "TextureEnvCombine3", ATI, "GL_ATI_texture_env_combine3", + "GL_MODULATE_ADD_ATI" to "0x8744", + "GL_MODULATE_SIGNED_ADD_ATI" to "0x8745", + "GL_MODULATE_SUBTRACT_ATI" to "0x8746" + ) + file( + "TextureFloat", ATI, "GL_ATI_texture_float", + "GL_RGBA_FLOAT32_ATI" to "0x8814", + "GL_RGB_FLOAT32_ATI" to "0x8815", + "GL_ALPHA_FLOAT32_ATI" to "0x8816", + "GL_INTENSITY_FLOAT32_ATI" to "0x8817", + "GL_LUMINANCE_FLOAT32_ATI" to "0x8818", + "GL_LUMINANCE_ALPHA_FLOAT32_ATI" to "0x8819", + "GL_RGBA_FLOAT16_ATI" to "0x881A", + "GL_RGB_FLOAT16_ATI" to "0x881B", + "GL_ALPHA_FLOAT16_ATI" to "0x881C", + "GL_INTENSITY_FLOAT16_ATI" to "0x881D", + "GL_LUMINANCE_FLOAT16_ATI" to "0x881E", + "GL_LUMINANCE_ALPHA_FLOAT16_ATI" to "0x881F" + ) + file( + "TextureMirrorOnce", ATI, "GL_ATI_texture_mirror_once", + "GL_MIRROR_CLAMP_ATI" to "0x8742", + "GL_MIRROR_CLAMP_TO_EDGE_ATI" to "0x8743" + ) + file("VertexArrayObject", ATI, "GL_ATI_vertex_array_object") { + "GL_STATIC_ATI"("0x8760") + "GL_DYNAMIC_ATI"("0x8761") + "GL_PRESERVE_ATI"("0x8762") + "GL_DISCARD_ATI"("0x8763") + "GL_OBJECT_BUFFER_SIZE_ATI"("0x8764") + "GL_OBJECT_BUFFER_USAGE_ATI"("0x8765") + "GL_ARRAY_OBJECT_BUFFER_ATI"("0x8766") + "GL_ARRAY_OBJECT_OFFSET_ATI"("0x8767") + "glNewObjectBufferATI"(GLuint, GLsizei("size"), address("pointer", "const void *"), GLenum("usage")) + "glIsObjectBufferATI"(GLboolean, GLuint("buffer")) + "glUpdateObjectBufferATI"( + void, + GLuint("buffer"), + GLuint("offset"), + GLsizei("size"), + address("pointer", "const void *"), + GLenum("preserve") + ) + "glGetObjectBufferfvATI"(void, GLuint("buffer"), GLenum("pname"), address("params", "GLfloat *")) + "glGetObjectBufferivATI"(void, GLuint("buffer"), GLenum("pname"), address("params", "GLint *")) + "glFreeObjectBufferATI"(void, GLuint("buffer")) + "glArrayObjectATI"( + void, + GLenum("array"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLuint("buffer"), + GLuint("offset") + ) + "glGetArrayObjectfvATI"(void, GLenum("array"), GLenum("pname"), address("params", "GLfloat *")) + "glGetArrayObjectivATI"(void, GLenum("array"), GLenum("pname"), address("params", "GLint *")) + "glVariantArrayObjectATI"( + void, + GLuint("id"), + GLenum("type"), + GLsizei("stride"), + GLuint("buffer"), + GLuint("offset") + ) + "glGetVariantArrayObjectfvATI"(void, GLuint("id"), GLenum("pname"), address("params", "GLfloat *")) + "glGetVariantArrayObjectivATI"(void, GLuint("id"), GLenum("pname"), address("params", "GLint *")) + } + file("VertexAttribArrayObject", ATI, "GL_ATI_vertex_attrib_array_object") { + "glVertexAttribArrayObjectATI"( + void, + GLuint("index"), + GLint("size"), + GLenum("type"), + GLboolean("normalized"), + GLsizei("stride"), + GLuint("buffer"), + GLuint("offset") + ) + "glGetVertexAttribArrayObjectfvATI"(void, GLuint("index"), GLenum("pname"), address("params", "GLfloat *")) + "glGetVertexAttribArrayObjectivATI"(void, GLuint("index"), GLenum("pname"), address("params", "GLint *")) + } + file("VertexStreams", ATI, "GL_ATI_vertex_streams") { + "GL_MAX_VERTEX_STREAMS_ATI"("0x876B") + "GL_VERTEX_STREAM0_ATI"("0x876C") + "GL_VERTEX_STREAM1_ATI"("0x876D") + "GL_VERTEX_STREAM2_ATI"("0x876E") + "GL_VERTEX_STREAM3_ATI"("0x876F") + "GL_VERTEX_STREAM4_ATI"("0x8770") + "GL_VERTEX_STREAM5_ATI"("0x8771") + "GL_VERTEX_STREAM6_ATI"("0x8772") + "GL_VERTEX_STREAM7_ATI"("0x8773") + "GL_VERTEX_SOURCE_ATI"("0x8774") + "glVertexStream1sATI"(void, GLenum("stream"), GLshort("x")) + "glVertexStream1svATI"(void, GLenum("stream"), address("coords", "const GLshort *")) + "glVertexStream1iATI"(void, GLenum("stream"), GLint("x")) + "glVertexStream1ivATI"(void, GLenum("stream"), address("coords", "const GLint *")) + "glVertexStream1fATI"(void, GLenum("stream"), GLfloat("x")) + "glVertexStream1fvATI"(void, GLenum("stream"), address("coords", "const GLfloat *")) + "glVertexStream1dATI"(void, GLenum("stream"), GLdouble("x")) + "glVertexStream1dvATI"(void, GLenum("stream"), address("coords", "const GLdouble *")) + "glVertexStream2sATI"(void, GLenum("stream"), GLshort("x"), GLshort("y")) + "glVertexStream2svATI"(void, GLenum("stream"), address("coords", "const GLshort *")) + "glVertexStream2iATI"(void, GLenum("stream"), GLint("x"), GLint("y")) + "glVertexStream2ivATI"(void, GLenum("stream"), address("coords", "const GLint *")) + "glVertexStream2fATI"(void, GLenum("stream"), GLfloat("x"), GLfloat("y")) + "glVertexStream2fvATI"(void, GLenum("stream"), address("coords", "const GLfloat *")) + "glVertexStream2dATI"(void, GLenum("stream"), GLdouble("x"), GLdouble("y")) + "glVertexStream2dvATI"(void, GLenum("stream"), address("coords", "const GLdouble *")) + "glVertexStream3sATI"(void, GLenum("stream"), GLshort("x"), GLshort("y"), GLshort("z")) + "glVertexStream3svATI"(void, GLenum("stream"), address("coords", "const GLshort *")) + "glVertexStream3iATI"(void, GLenum("stream"), GLint("x"), GLint("y"), GLint("z")) + "glVertexStream3ivATI"(void, GLenum("stream"), address("coords", "const GLint *")) + "glVertexStream3fATI"(void, GLenum("stream"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glVertexStream3fvATI"(void, GLenum("stream"), address("coords", "const GLfloat *")) + "glVertexStream3dATI"(void, GLenum("stream"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glVertexStream3dvATI"(void, GLenum("stream"), address("coords", "const GLdouble *")) + "glVertexStream4sATI"(void, GLenum("stream"), GLshort("x"), GLshort("y"), GLshort("z"), GLshort("w")) + "glVertexStream4svATI"(void, GLenum("stream"), address("coords", "const GLshort *")) + "glVertexStream4iATI"(void, GLenum("stream"), GLint("x"), GLint("y"), GLint("z"), GLint("w")) + "glVertexStream4ivATI"(void, GLenum("stream"), address("coords", "const GLint *")) + "glVertexStream4fATI"(void, GLenum("stream"), GLfloat("x"), GLfloat("y"), GLfloat("z"), GLfloat("w")) + "glVertexStream4fvATI"(void, GLenum("stream"), address("coords", "const GLfloat *")) + "glVertexStream4dATI"(void, GLenum("stream"), GLdouble("x"), GLdouble("y"), GLdouble("z"), GLdouble("w")) + "glVertexStream4dvATI"(void, GLenum("stream"), address("coords", "const GLdouble *")) + "glNormalStream3bATI"(void, GLenum("stream"), GLbyte("nx"), GLbyte("ny"), GLbyte("nz")) + "glNormalStream3bvATI"(void, GLenum("stream"), address("coords", "const GLbyte *")) + "glNormalStream3sATI"(void, GLenum("stream"), GLshort("nx"), GLshort("ny"), GLshort("nz")) + "glNormalStream3svATI"(void, GLenum("stream"), address("coords", "const GLshort *")) + "glNormalStream3iATI"(void, GLenum("stream"), GLint("nx"), GLint("ny"), GLint("nz")) + "glNormalStream3ivATI"(void, GLenum("stream"), address("coords", "const GLint *")) + "glNormalStream3fATI"(void, GLenum("stream"), GLfloat("nx"), GLfloat("ny"), GLfloat("nz")) + "glNormalStream3fvATI"(void, GLenum("stream"), address("coords", "const GLfloat *")) + "glNormalStream3dATI"(void, GLenum("stream"), GLdouble("nx"), GLdouble("ny"), GLdouble("nz")) + "glNormalStream3dvATI"(void, GLenum("stream"), address("coords", "const GLdouble *")) + "glClientActiveVertexStreamATI"(void, GLenum("stream")) + "glVertexBlendEnviATI"(void, GLenum("pname"), GLint("param")) + "glVertexBlendEnvfATI"(void, GLenum("pname"), GLfloat("param")) + } +} fun ext() {} @@ -2317,7 +2725,27 @@ fun mesa() { fun nv() {} -fun oml() {} +fun oml() { + file( + "Interlace", OML, "GL_OML_interlace", + "GL_INTERLACE_OML" to "0x8980", + "GL_INTERLACE_READ_OML" to "0x8981" + ) + file( + "Resample", OML, "GL_OML_resample", + "GL_PACK_RESAMPLE_OML" to "0x8984", + "GL_UNPACK_RESAMPLE_OML" to "0x8985", + "GL_RESAMPLE_REPLICATE_OML" to "0x8986", + "GL_RESAMPLE_ZERO_FILL_OML" to "0x8987", + "GL_RESAMPLE_AVERAGE_OML" to "0x8988", + "GL_RESAMPLE_DECIMATE_OML" to "0x8989" + ) + file( + "Subsample", OML, "GL_OML_subsample", + "GL_FORMAT_SUBSAMPLE_24_24_OML" to "0x8982", + "GL_FORMAT_SUBSAMPLE_244_244_OML" to "0x8983" + ) +} fun ovr() { file("Multiview", OVR, "GL_OVR_multiview") { @@ -2388,11 +2816,52 @@ fun pgi() { ) } -fun rend() {} +fun rend() { + file( + "ScreenCoordinates", REND, "GL_REND_screen_coordinates", + "GL_SCREEN_COORDINATES_REND" to "0x8490", + "GL_INVERTED_SCREEN_W_REND" to "0x8491" + ) +} -fun s3() {} +fun s3() { + file( + "S3tc", S3, "GL_S3_s3tc", + "GL_RGB_S3TC" to "0x83A0", + "GL_RGB4_S3TC" to "0x83A1", + "GL_RGBA_S3TC" to "0x83A2", + "GL_RGBA4_S3TC" to "0x83A3", + "GL_RGBA_DXT5_S3TC" to "0x83A4", + "GL_RGBA4_DXT5_S3TC" to "0x83A5" + ) +} -fun sgi() {} +fun sgi() { + file("DetailTexture", SGIS, "GL_SGIS_detail_texture") { + "GL_DETAIL_TEXTURE_2D_SGIS"("0x8095") + "GL_DETAIL_TEXTURE_2D_BINDING_SGIS"("0x8096") + "GL_LINEAR_DETAIL_SGIS"("0x8097") + "GL_LINEAR_DETAIL_ALPHA_SGIS"("0x8098") + "GL_LINEAR_DETAIL_COLOR_SGIS"("0x8099") + "GL_DETAIL_TEXTURE_LEVEL_SGIS"("0x809A") + "GL_DETAIL_TEXTURE_MODE_SGIS"("0x809B") + "GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"("0x809C") + "glDetailTexFuncSGIS"(void, GLenum("target"), GLsizei("n"), address("points", "const GLfloat *")) + "glGetDetailTexFuncSGIS"(void, GLenum("target"), address("points", "GLfloat *")) + } + file("FogFunction", SGIS, "GL_SGIS_fog_function") { + "GL_FOG_FUNC_SGIS"("0x812A") + "GL_FOG_FUNC_POINTS_SGIS"("0x812B") + "GL_MAX_FOG_FUNC_POINTS_SGIS"("0x812C") + "glFogFuncSGIS"(void, GLsizei("n"), address("points", "const GLfloat *")) + "glGetFogFuncSGIS"(void, address("points", "GLfloat *")) + } + file( + "GenerateMipmap", SGIS, "GL_SGIS_generate_mipmap", + "GL_GENERATE_MIPMAP_SGIS" to "0x8191", + "GL_GENERATE_MIPMAP_HINT_SGIS" to "0x8192" + ) +} fun sun() { file("ConstantData", SUNX, "GL_SUNX_constant_data") { @@ -2763,29 +3232,654 @@ fun win() { } fun glExtCaps() { + val caps = arrayOf( + "GL_ARB_ES2_compatibility", + "GL_ARB_ES3_1_compatibility", + "GL_ARB_ES3_2_compatibility", + "GL_ARB_ES3_compatibility", + "GL_ARB_arrays_of_arrays", + "GL_ARB_base_instance", + "GL_ARB_bindless_texture", + "GL_ARB_blend_func_extended", + "GL_ARB_buffer_storage", + "GL_ARB_cl_event", + "GL_ARB_clear_buffer_object", + "GL_ARB_clear_texture", + "GL_ARB_clip_control", + "GL_ARB_color_buffer_float", + "GL_ARB_compatibility", + "GL_ARB_compressed_texture_pixel_storage", + "GL_ARB_compute_shader", + "GL_ARB_compute_variable_group_size", + "GL_ARB_conditional_render_inverted", + "GL_ARB_conservative_depth", + "GL_ARB_copy_buffer", + "GL_ARB_copy_image", + "GL_ARB_cull_distance", + "GL_ARB_debug_output", + "GL_ARB_depth_buffer_float", + "GL_ARB_depth_clamp", + "GL_ARB_depth_texture", + "GL_ARB_derivative_control", + "GL_ARB_direct_state_access", + "GL_ARB_draw_buffers", + "GL_ARB_draw_buffers_blend", + "GL_ARB_draw_elements_base_vertex", + "GL_ARB_draw_indirect", + "GL_ARB_draw_instanced", + "GL_ARB_enhanced_layouts", + "GL_ARB_explicit_attrib_location", + "GL_ARB_explicit_uniform_location", + "GL_ARB_fragment_coord_conventions", + "GL_ARB_fragment_layer_viewport", + "GL_ARB_fragment_program", + "GL_ARB_fragment_program_shadow", + "GL_ARB_fragment_shader", + "GL_ARB_fragment_shader_interlock", + "GL_ARB_framebuffer_no_attachments", + "GL_ARB_framebuffer_object", + "GL_ARB_framebuffer_sRGB", + "GL_ARB_geometry_shader4", + "GL_ARB_get_program_binary", + "GL_ARB_get_texture_sub_image", + "GL_ARB_gl_spirv", + "GL_ARB_gpu_shader5", + "GL_ARB_gpu_shader_fp64", + "GL_ARB_gpu_shader_int64", + "GL_ARB_half_float_pixel", + "GL_ARB_half_float_vertex", + "GL_ARB_imaging", + "GL_ARB_indirect_parameters", + "GL_ARB_instanced_arrays", + "GL_ARB_internalformat_query", + "GL_ARB_internalformat_query2", + "GL_ARB_invalidate_subdata", + "GL_ARB_map_buffer_alignment", + "GL_ARB_map_buffer_range", + "GL_ARB_matrix_palette", + "GL_ARB_multi_bind", + "GL_ARB_multi_draw_indirect", + "GL_ARB_multisample", + "GL_ARB_multitexture", + "GL_ARB_occlusion_query", + "GL_ARB_occlusion_query2", + "GL_ARB_parallel_shader_compile", + "GL_ARB_pipeline_statistics_query", + "GL_ARB_pixel_buffer_object", + "GL_ARB_point_parameters", + "GL_ARB_point_sprite", + "GL_ARB_polygon_offset_clamp", + "GL_ARB_post_depth_coverage", + "GL_ARB_program_interface_query", + "GL_ARB_provoking_vertex", + "GL_ARB_query_buffer_object", + "GL_ARB_robust_buffer_access_behavior", + "GL_ARB_robustness", + "GL_ARB_robustness_isolation", + "GL_ARB_sample_locations", + "GL_ARB_sample_shading", + "GL_ARB_sampler_objects", + "GL_ARB_seamless_cube_map", + "GL_ARB_seamless_cubemap_per_texture", + "GL_ARB_separate_shader_objects", + "GL_ARB_shader_atomic_counter_ops", + "GL_ARB_shader_atomic_counters", + "GL_ARB_shader_ballot", + "GL_ARB_shader_bit_encoding", + "GL_ARB_shader_clock", + "GL_ARB_shader_draw_parameters", + "GL_ARB_shader_group_vote", + "GL_ARB_shader_image_load_store", + "GL_ARB_shader_image_size", + "GL_ARB_shader_objects", + "GL_ARB_shader_precision", + "GL_ARB_shader_stencil_export", + "GL_ARB_shader_storage_buffer_object", + "GL_ARB_shader_subroutine", + "GL_ARB_shader_texture_image_samples", + "GL_ARB_shader_texture_lod", + "GL_ARB_shader_viewport_layer_array", + "GL_ARB_shading_language_100", + "GL_ARB_shading_language_420pack", + "GL_ARB_shading_language_include", + "GL_ARB_shading_language_packing", + "GL_ARB_shadow", + "GL_ARB_shadow_ambient", + "GL_ARB_sparse_buffer", + "GL_ARB_sparse_texture", + "GL_ARB_sparse_texture2", + "GL_ARB_sparse_texture_clamp", + "GL_ARB_spirv_extensions", + "GL_ARB_stencil_texturing", + "GL_ARB_sync", + "GL_ARB_tessellation_shader", + "GL_ARB_texture_barrier", + "GL_ARB_texture_border_clamp", + "GL_ARB_texture_buffer_object", + "GL_ARB_texture_buffer_object_rgb32", + "GL_ARB_texture_buffer_range", + "GL_ARB_texture_compression", + "GL_ARB_texture_compression_bptc", + "GL_ARB_texture_compression_rgtc", + "GL_ARB_texture_cube_map", + "GL_ARB_texture_cube_map_array", + "GL_ARB_texture_env_add", + "GL_ARB_texture_env_combine", + "GL_ARB_texture_env_crossbar", + "GL_ARB_texture_env_dot3", + "GL_ARB_texture_filter_anisotropic", + "GL_ARB_texture_filter_minmax", + "GL_ARB_texture_float", + "GL_ARB_texture_gather", + "GL_ARB_texture_mirror_clamp_to_edge", + "GL_ARB_texture_mirrored_repeat", + "GL_ARB_texture_multisample", + "GL_ARB_texture_non_power_of_two", + "GL_ARB_texture_query_levels", + "GL_ARB_texture_query_lod", + "GL_ARB_texture_rectangle", + "GL_ARB_texture_rg", + "GL_ARB_texture_rgb10_a2ui", + "GL_ARB_texture_stencil8", + "GL_ARB_texture_storage", + "GL_ARB_texture_storage_multisample", + "GL_ARB_texture_swizzle", + "GL_ARB_texture_view", + "GL_ARB_timer_query", + "GL_ARB_transform_feedback2", + "GL_ARB_transform_feedback3", + "GL_ARB_transform_feedback_instanced", + "GL_ARB_transform_feedback_overflow_query", + "GL_ARB_transpose_matrix", + "GL_ARB_uniform_buffer_object", + "GL_ARB_vertex_array_bgra", + "GL_ARB_vertex_array_object", + "GL_ARB_vertex_attrib_64bit", + "GL_ARB_vertex_attrib_binding", + "GL_ARB_vertex_blend", + "GL_ARB_vertex_buffer_object", + "GL_ARB_vertex_program", + "GL_ARB_vertex_shader", + "GL_ARB_vertex_type_10f_11f_11f_rev", + "GL_ARB_vertex_type_2_10_10_10_rev", + "GL_ARB_viewport_array", + "GL_ARB_window_pos", + "GL_KHR_blend_equation_advanced", + "GL_KHR_blend_equation_advanced_coherent", + "GL_KHR_context_flush_control", + "GL_KHR_debug", + "GL_KHR_no_error", + "GL_KHR_parallel_shader_compile", + "GL_KHR_robust_buffer_access_behavior", + "GL_KHR_robustness", + "GL_KHR_shader_subgroup", + "GL_KHR_texture_compression_astc_hdr", + "GL_KHR_texture_compression_astc_ldr", + "GL_KHR_texture_compression_astc_sliced_3d", + "GL_OES_byte_coordinates", + "GL_OES_compressed_paletted_texture", + "GL_OES_fixed_point", + "GL_OES_query_matrix", + "GL_OES_read_format", + "GL_OES_single_precision", + "GL_3DFX_multisample", + "GL_3DFX_tbuffer", + "GL_3DFX_texture_compression_FXT1", + "GL_AMD_blend_minmax_factor", + "GL_AMD_conservative_depth", + "GL_AMD_debug_output", + "GL_AMD_depth_clamp_separate", + "GL_AMD_draw_buffers_blend", + "GL_AMD_framebuffer_multisample_advanced", + "GL_AMD_framebuffer_sample_positions", + "GL_AMD_gcn_shader", + "GL_AMD_gpu_shader_half_float", + "GL_AMD_gpu_shader_int16", + "GL_AMD_gpu_shader_int64", + "GL_AMD_interleaved_elements", + "GL_AMD_multi_draw_indirect", + "GL_AMD_name_gen_delete", + "GL_AMD_occlusion_query_event", + "GL_AMD_performance_monitor", + "GL_AMD_pinned_memory", + "GL_AMD_query_buffer_object", + "GL_AMD_sample_positions", + "GL_AMD_seamless_cubemap_per_texture", + "GL_AMD_shader_atomic_counter_ops", + "GL_AMD_shader_ballot", + "GL_AMD_shader_explicit_vertex_parameter", + "GL_AMD_shader_gpu_shader_half_float_fetch", + "GL_AMD_shader_image_load_store_lod", + "GL_AMD_shader_stencil_export", + "GL_AMD_shader_trinary_minmax", + "GL_AMD_sparse_texture", + "GL_AMD_stencil_operation_extended", + "GL_AMD_texture_gather_bias_lod", + "GL_AMD_texture_texture4", + "GL_AMD_transform_feedback3_lines_triangles", + "GL_AMD_transform_feedback4", + "GL_AMD_vertex_shader_layer", + "GL_AMD_vertex_shader_tessellator", + "GL_AMD_vertex_shader_viewport_index", + "GL_APPLE_aux_depth_stencil", + "GL_APPLE_client_storage", + "GL_APPLE_element_array", + "GL_APPLE_fence", + "GL_APPLE_float_pixels", + "GL_APPLE_flush_buffer_range", + "GL_APPLE_object_purgeable", + "GL_APPLE_rgb_422", + "GL_APPLE_row_bytes", + "GL_APPLE_specular_vector", + "GL_APPLE_texture_range", + "GL_APPLE_transform_hint", + "GL_APPLE_vertex_array_object", + "GL_APPLE_vertex_array_range", + "GL_APPLE_vertex_program_evaluators", + "GL_APPLE_ycbcr_422", + "GL_ATI_draw_buffers", + "GL_ATI_element_array", + "GL_ATI_envmap_bumpmap", + "GL_ATI_fragment_shader", + "GL_ATI_map_object_buffer", + "GL_ATI_meminfo", + "GL_ATI_pixel_format_float", + "GL_ATI_pn_triangles", + "GL_ATI_separate_stencil", + "GL_ATI_text_fragment_shader", + "GL_ATI_texture_env_combine3", + "GL_ATI_texture_float", + "GL_ATI_texture_mirror_once", + "GL_ATI_vertex_array_object", + "GL_ATI_vertex_attrib_array_object", + "GL_ATI_vertex_streams", + "GL_EXT_422_pixels", + "GL_EXT_EGL_image_storage", + "GL_EXT_EGL_sync", + "GL_EXT_abgr", + "GL_EXT_bgra", + "GL_EXT_bindable_uniform", + "GL_EXT_blend_color", + "GL_EXT_blend_equation_separate", + "GL_EXT_blend_func_separate", + "GL_EXT_blend_logic_op", + "GL_EXT_blend_minmax", + "GL_EXT_blend_subtract", + "GL_EXT_clip_volume_hint", + "GL_EXT_cmyka", + "GL_EXT_color_subtable", + "GL_EXT_compiled_vertex_array", + "GL_EXT_convolution", + "GL_EXT_coordinate_frame", + "GL_EXT_copy_texture", + "GL_EXT_cull_vertex", + "GL_EXT_debug_label", + "GL_EXT_debug_marker", + "GL_EXT_depth_bounds_test", + "GL_EXT_direct_state_access", + "GL_EXT_draw_buffers2", + "GL_EXT_draw_instanced", + "GL_EXT_draw_range_elements", + "GL_EXT_external_buffer", + "GL_EXT_fog_coord", + "GL_EXT_framebuffer_blit", + "GL_EXT_framebuffer_blit_layers", + "GL_EXT_framebuffer_multisample", + "GL_EXT_framebuffer_multisample_blit_scaled", + "GL_EXT_framebuffer_object", + "GL_EXT_framebuffer_sRGB", + "GL_EXT_geometry_shader4", + "GL_EXT_gpu_program_parameters", + "GL_EXT_gpu_shader4", + "GL_EXT_histogram", + "GL_EXT_index_array_formats", + "GL_EXT_index_func", + "GL_EXT_index_material", + "GL_EXT_index_texture", + "GL_EXT_light_texture", + "GL_EXT_memory_object", + "GL_EXT_memory_object_fd", + "GL_EXT_memory_object_win32", + "GL_EXT_misc_attribute", + "GL_EXT_multi_draw_arrays", + "GL_EXT_multisample", + "GL_EXT_multiview_tessellation_geometry_shader", + "GL_EXT_multiview_texture_multisample", + "GL_EXT_multiview_timer_query", + "GL_EXT_packed_depth_stencil", + "GL_EXT_packed_float", + "GL_EXT_packed_pixels", + "GL_EXT_paletted_texture", + "GL_EXT_pixel_buffer_object", + "GL_EXT_pixel_transform", + "GL_EXT_pixel_transform_color_table", + "GL_EXT_point_parameters", + "GL_EXT_polygon_offset", + "GL_EXT_polygon_offset_clamp", + "GL_EXT_post_depth_coverage", + "GL_EXT_provoking_vertex", + "GL_EXT_raster_multisample", + "GL_EXT_rescale_normal", + "GL_EXT_secondary_color", + "GL_EXT_semaphore", + "GL_EXT_semaphore_fd", + "GL_EXT_semaphore_win32", + "GL_EXT_separate_shader_objects", + "GL_EXT_separate_specular_color", + "GL_EXT_shader_framebuffer_fetch", + "GL_EXT_shader_framebuffer_fetch_non_coherent", + "GL_EXT_shader_image_load_formatted", + "GL_EXT_shader_image_load_store", + "GL_EXT_shader_integer_mix", + "GL_EXT_shader_samples_identical", + "GL_EXT_shadow_funcs", + "GL_EXT_shared_texture_palette", + "GL_EXT_sparse_texture2", + "GL_EXT_stencil_clear_tag", + "GL_EXT_stencil_two_side", + "GL_EXT_stencil_wrap", + "GL_EXT_subtexture", + "GL_EXT_texture", + "GL_EXT_texture3D", + "GL_EXT_texture_array", + "GL_EXT_texture_buffer_object", + "GL_EXT_texture_compression_latc", + "GL_EXT_texture_compression_rgtc", + "GL_EXT_texture_compression_s3tc", + "GL_EXT_texture_cube_map", + "GL_EXT_texture_env_add", + "GL_EXT_texture_env_combine", + "GL_EXT_texture_env_dot3", + "GL_EXT_texture_filter_anisotropic", + "GL_EXT_texture_filter_minmax", + "GL_EXT_texture_integer", + "GL_EXT_texture_lod_bias", + "GL_EXT_texture_mirror_clamp", + "GL_EXT_texture_object", + "GL_EXT_texture_perturb_normal", + "GL_EXT_texture_sRGB", + "GL_EXT_texture_sRGB_R8", + "GL_EXT_texture_sRGB_RG8", + "GL_EXT_texture_sRGB_decode", + "GL_EXT_texture_shadow_lod", + "GL_EXT_texture_shared_exponent", + "GL_EXT_texture_snorm", + "GL_EXT_texture_storage", + "GL_EXT_texture_swizzle", + "GL_EXT_timer_query", + "GL_EXT_transform_feedback", + "GL_EXT_vertex_array", + "GL_EXT_vertex_array_bgra", + "GL_EXT_vertex_attrib_64bit", + "GL_EXT_vertex_shader", + "GL_EXT_vertex_weighting", + "GL_EXT_win32_keyed_mutex", + "GL_EXT_window_rectangles", + "GL_EXT_x11_sync_object", + "GL_GREMEDY_frame_terminator", + "GL_GREMEDY_string_marker", + "GL_HP_convolution_border_modes", + "GL_HP_image_transform", + "GL_HP_occlusion_test", + "GL_HP_texture_lighting", + "GL_IBM_cull_vertex", + "GL_IBM_multimode_draw_arrays", + "GL_IBM_rasterpos_clip", + "GL_IBM_static_data", + "GL_IBM_texture_mirrored_repeat", + "GL_IBM_vertex_array_lists", + "GL_INGR_blend_func_separate", + "GL_INGR_color_clamp", + "GL_INGR_interlace_read", + "GL_INTEL_blackhole_render", + "GL_INTEL_conservative_rasterization", + "GL_INTEL_fragment_shader_ordering", + "GL_INTEL_framebuffer_CMAA", + "GL_INTEL_map_texture", + "GL_INTEL_parallel_arrays", + "GL_INTEL_performance_query", + "GL_MESAX_texture_stack", + "GL_MESA_framebuffer_flip_x", + "GL_MESA_framebuffer_flip_y", + "GL_MESA_framebuffer_swap_xy", + "GL_MESA_pack_invert", + "GL_MESA_program_binary_formats", + "GL_MESA_resize_buffers", + "GL_MESA_shader_integer_functions", + "GL_MESA_tile_raster_order", + "GL_MESA_window_pos", + "GL_MESA_ycbcr_texture", + "GL_NVX_blend_equation_advanced_multi_draw_buffers", + "GL_NVX_conditional_render", + "GL_NVX_gpu_memory_info", + "GL_NVX_gpu_multicast2", + "GL_NVX_linked_gpu_multicast", + "GL_NVX_progress_fence", + "GL_NV_alpha_to_coverage_dither_control", + "GL_NV_bindless_multi_draw_indirect", + "GL_NV_bindless_multi_draw_indirect_count", + "GL_NV_bindless_texture", + "GL_NV_blend_equation_advanced", + "GL_NV_blend_equation_advanced_coherent", + "GL_NV_blend_minmax_factor", + "GL_NV_blend_square", + "GL_NV_clip_space_w_scaling", + "GL_NV_command_list", + "GL_NV_compute_program5", + "GL_NV_compute_shader_derivatives", + "GL_NV_conditional_render", + "GL_NV_conservative_raster", + "GL_NV_conservative_raster_dilate", + "GL_NV_conservative_raster_pre_snap", + "GL_NV_conservative_raster_pre_snap_triangles", + "GL_NV_conservative_raster_underestimation", + "GL_NV_copy_depth_to_color", + "GL_NV_copy_image", + "GL_NV_deep_texture3D", + "GL_NV_depth_buffer_float", + "GL_NV_depth_clamp", + "GL_NV_draw_texture", + "GL_NV_draw_vulkan_image", + "GL_NV_evaluators", + "GL_NV_explicit_multisample", + "GL_NV_fence", + "GL_NV_fill_rectangle", + "GL_NV_float_buffer", + "GL_NV_fog_distance", + "GL_NV_fragment_coverage_to_color", + "GL_NV_fragment_program", + "GL_NV_fragment_program2", + "GL_NV_fragment_program4", + "GL_NV_fragment_program_option", + "GL_NV_fragment_shader_barycentric", + "GL_NV_fragment_shader_interlock", + "GL_NV_framebuffer_mixed_samples", + "GL_NV_framebuffer_multisample_coverage", + "GL_NV_geometry_program4", + "GL_NV_geometry_shader4", + "GL_NV_geometry_shader_passthrough", + "GL_NV_gpu_multicast", + "GL_NV_gpu_program4", + "GL_NV_gpu_program5", + "GL_NV_gpu_program5_mem_extended", + "GL_NV_gpu_shader5", + "GL_NV_half_float", + "GL_NV_internalformat_sample_query", + "GL_NV_light_max_exponent", + "GL_NV_memory_attachment", + "GL_NV_memory_object_sparse", + "GL_NV_mesh_shader", + "GL_NV_multisample_coverage", + "GL_NV_multisample_filter_hint", + "GL_NV_occlusion_query", + "GL_NV_packed_depth_stencil", + "GL_NV_parameter_buffer_object", + "GL_NV_parameter_buffer_object2", + "GL_NV_path_rendering", + "GL_NV_path_rendering_shared_edge", + "GL_NV_pixel_data_range", + "GL_NV_point_sprite", + "GL_NV_present_video", + "GL_NV_primitive_restart", + "GL_NV_primitive_shading_rate", + "GL_NV_query_resource", + "GL_NV_query_resource_tag", + "GL_NV_register_combiners", + "GL_NV_register_combiners2", + "GL_NV_representative_fragment_test", + "GL_NV_robustness_video_memory_purge", + "GL_NV_sample_locations", + "GL_NV_sample_mask_override_coverage", + "GL_NV_scissor_exclusive", + "GL_NV_shader_atomic_counters", + "GL_NV_shader_atomic_float", + "GL_NV_shader_atomic_float64", + "GL_NV_shader_atomic_fp16_vector", + "GL_NV_shader_atomic_int64", + "GL_NV_shader_buffer_load", + "GL_NV_shader_buffer_store", + "GL_NV_shader_storage_buffer_object", + "GL_NV_shader_subgroup_partitioned", + "GL_NV_shader_texture_footprint", + "GL_NV_shader_thread_group", + "GL_NV_shader_thread_shuffle", + "GL_NV_shading_rate_image", + "GL_NV_stereo_view_rendering", + "GL_NV_tessellation_program5", + "GL_NV_texgen_emboss", + "GL_NV_texgen_reflection", + "GL_NV_texture_barrier", + "GL_NV_texture_compression_vtc", + "GL_NV_texture_env_combine4", + "GL_NV_texture_expand_normal", + "GL_NV_texture_multisample", + "GL_NV_texture_rectangle", + "GL_NV_texture_rectangle_compressed", + "GL_NV_texture_shader", + "GL_NV_texture_shader2", + "GL_NV_texture_shader3", + "GL_NV_timeline_semaphore", + "GL_NV_transform_feedback", + "GL_NV_transform_feedback2", + "GL_NV_uniform_buffer_unified_memory", + "GL_NV_vdpau_interop", + "GL_NV_vdpau_interop2", + "GL_NV_vertex_array_range", + "GL_NV_vertex_array_range2", + "GL_NV_vertex_attrib_integer_64bit", + "GL_NV_vertex_buffer_unified_memory", + "GL_NV_vertex_program", + "GL_NV_vertex_program1_1", + "GL_NV_vertex_program2", + "GL_NV_vertex_program2_option", + "GL_NV_vertex_program3", + "GL_NV_vertex_program4", + "GL_NV_video_capture", + "GL_NV_viewport_array2", + "GL_NV_viewport_swizzle", + "GL_OML_interlace", + "GL_OML_resample", + "GL_OML_subsample", + "GL_OVR_multiview", + "GL_OVR_multiview2", + "GL_PGI_misc_hints", + "GL_PGI_vertex_hints", + "GL_REND_screen_coordinates", + "GL_S3_s3tc", + "GL_SGIS_detail_texture", + "GL_SGIS_fog_function", + "GL_SGIS_generate_mipmap", + "GL_SGIS_multisample", + "GL_SGIS_pixel_texture", + "GL_SGIS_point_line_texgen", + "GL_SGIS_point_parameters", + "GL_SGIS_sharpen_texture", + "GL_SGIS_texture4D", + "GL_SGIS_texture_border_clamp", + "GL_SGIS_texture_color_mask", + "GL_SGIS_texture_edge_clamp", + "GL_SGIS_texture_filter4", + "GL_SGIS_texture_lod", + "GL_SGIS_texture_select", + "GL_SGIX_async", + "GL_SGIX_async_histogram", + "GL_SGIX_async_pixel", + "GL_SGIX_blend_alpha_minmax", + "GL_SGIX_calligraphic_fragment", + "GL_SGIX_clipmap", + "GL_SGIX_convolution_accuracy", + "GL_SGIX_depth_pass_instrument", + "GL_SGIX_depth_texture", + "GL_SGIX_flush_raster", + "GL_SGIX_fog_offset", + "GL_SGIX_fragment_lighting", + "GL_SGIX_framezoom", + "GL_SGIX_igloo_interface", + "GL_SGIX_instruments", + "GL_SGIX_interlace", + "GL_SGIX_ir_instrument1", + "GL_SGIX_list_priority", + "GL_SGIX_pixel_texture", + "GL_SGIX_pixel_tiles", + "GL_SGIX_polynomial_ffd", + "GL_SGIX_reference_plane", + "GL_SGIX_resample", + "GL_SGIX_scalebias_hint", + "GL_SGIX_shadow", + "GL_SGIX_shadow_ambient", + "GL_SGIX_sprite", + "GL_SGIX_subsample", + "GL_SGIX_tag_sample_buffer", + "GL_SGIX_texture_add_env", + "GL_SGIX_texture_coordinate_clamp", + "GL_SGIX_texture_lod_bias", + "GL_SGIX_texture_multi_buffer", + "GL_SGIX_texture_scale_bias", + "GL_SGIX_vertex_preclip", + "GL_SGIX_ycrcb", + "GL_SGIX_ycrcb_subsample", + "GL_SGIX_ycrcba", + "GL_SGI_color_matrix", + "GL_SGI_color_table", + "GL_SGI_texture_color_table", + "GL_SUNX_constant_data", + "GL_SUN_convolution_border_modes", + "GL_SUN_global_alpha", + "GL_SUN_mesh_array", + "GL_SUN_slice_accum", + "GL_SUN_triangle_list", + "GL_SUN_vertex", + "GL_WIN_phong_shading", + "GL_WIN_specular_fog" + ) Files.writeString(Path("GLExtCaps.java"), buildString { append( """ ${fileHeader.prependIndent("|")} |package overrungl.opengl; - + | |import overrungl.opengl.ext.*; |import overrungl.opengl.ext.arb.*; |import overrungl.opengl.ext.khr.*; |import overrungl.opengl.ext.oes.*; |import overrungl.opengl.ext.amd.*; |import overrungl.opengl.ext.apple.*; - |//import overrungl.opengl.ext.ati.*; + |import overrungl.opengl.ext.ati.*; |//import overrungl.opengl.ext.ext.*; |import overrungl.opengl.ext.ibm.*; |import overrungl.opengl.ext.intel.*; |import overrungl.opengl.ext.mesa.*; |//import overrungl.opengl.ext.nv.*; - |//import overrungl.opengl.ext.sgi.*; + |import overrungl.opengl.ext.sgi.*; |import overrungl.opengl.ext.sun.*; - + | + |import java.lang.foreign.MemorySegment; + |import java.lang.foreign.SegmentAllocator; |import java.lang.invoke.MethodHandle; - + | + |import static java.lang.foreign.ValueLayout.*; + |import static overrungl.opengl.GLExtFinder.*; + | |/** | * The OpenGL extension capabilities. | * @@ -2793,158 +3887,11 @@ fun glExtCaps() { | */ |public final class GLExtCaps { | /** The OpenGL extension flags. */ - | public boolean GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, - | GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, - | GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, - | GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, - | GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, - | GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, - | GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, - | GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, - | GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, - | GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, - | GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, - | GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, - | GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, - | GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, - | GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, - | GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, - | GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, - | GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, - | GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, - | GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, - | GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, - | GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, - | GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, - | GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, - | GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, - | GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, - | GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, - | GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, - | GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, - | GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, - | GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, - | GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, - | GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, - | GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, - | GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, - | GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, - | GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, - | GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, - | GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, - | GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, - | GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, - | GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, - | GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, - | GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, - | GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, - | GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, - | GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, - | GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, - | GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, - | GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, - | GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, - | GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, - | GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, - | GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, - | GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, - | GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, - | GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, - | GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_element_array, - | GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, - | GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, - | GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, - | GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, - | GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, - | GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, - | GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, - | GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, - | GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, - | GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, - | GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, - | GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, - | GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, - | GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, - | GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, - | GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, - | GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, - | GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, - | GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, - | GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, - | GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, - | GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, - | GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, - | GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, - | GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, - | GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, - | GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, - | GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, - | GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, - | GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, - | GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, - | GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, - | GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, - | GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, - | GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, - | GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, - | GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, - | GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, - | GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, - | GL_KHR_texture_compression_astc_sliced_3d, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, - | GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, - | GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, - | GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, - | GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, - | GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, - | GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, - | GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, - | GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, - | GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, - | GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, - | GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, - | GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, - | GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, - | GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, - | GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, - | GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, - | GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, - | GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, - | GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, - | GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, - | GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, - | GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, - | GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, - | GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, - | GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, - | GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, - | GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, - | GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, - | GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, - | GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, - | GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, - | GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, - | GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, - | GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OES_byte_coordinates, - | GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, - | GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, - | GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, - | GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, - | GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, - | GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, - | GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, - | GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, - | GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, - | GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, - | GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, - | GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, - | GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, - | GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, - | GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, - | GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; - + | public boolean ${caps.joinToString()}; + | | /** GLCapabilities */ | public final GLCapabilities caps; - + | | /** | * Construct incomplete OpenGL extension capabilities. | * @@ -2953,7 +3900,7 @@ fun glExtCaps() { | public GLExtCaps(GLCapabilities caps) { | this.caps = caps; | } - + | | /** Method handles. */ | public MethodHandle """.trimMargin() @@ -2962,15 +3909,33 @@ fun glExtCaps() { if (index.rem(16) == 0) { if (index == 0) append("\n ") else append(",\n ") - } - else append(", ") + } else append(", ") append(function.name) } appendLine(";\n\n void load(GLLoadFunc load) {") generatedExtClasses.forEach { if (it.hasFunction) appendLine(" GL${it.ext.extName}${it.name}.load(this, load);") } - appendLine(" }\n}") + appendLine(" }\n") + appendLine( + """ + | boolean findExtensionsGL(int version, SegmentAllocator allocator) { + | var pExts = allocator.allocate(ADDRESS); + | var pNumExtsI = allocator.allocate(JAVA_INT); + | var pExtsI = new MemorySegment[1]; + | if (!getExtensions(allocator, version, pExts, pNumExtsI, pExtsI, caps)) return false; + | + | String exts = pExts.getUtf8String(0); + | int numExtsI = pNumExtsI.get(JAVA_INT, 0); + | var extsI = pExtsI[0]; + | + | ${caps.map { "this.$it = hasExtension(version, exts, numExtsI, extsI, \"$it\");" }.joinToString(separator = "\n| ")} + | + | return true; + | } + """.trimMargin() + ) + appendLine("}") }) } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLCapabilities.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLCapabilities.java index df17a94e..95ad7588 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLCapabilities.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLCapabilities.java @@ -335,7 +335,7 @@ public int load(GLLoadFunc load) { ext = new GLExtCaps(this); try (var arena = Arena.ofConfined()) { - if (!GLExtFinder.findExtensionsGL(ext, version, arena, this)) return 0; + if (!ext.findExtensionsGL(version, arena)) return 0; findCoreGL(true); } ext.load(load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index fe2a840f..acad7a76 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -23,17 +23,22 @@ import overrungl.opengl.ext.oes.*; import overrungl.opengl.ext.amd.*; import overrungl.opengl.ext.apple.*; -//import overrungl.opengl.ext.ati.*; +import overrungl.opengl.ext.ati.*; //import overrungl.opengl.ext.ext.*; import overrungl.opengl.ext.ibm.*; import overrungl.opengl.ext.intel.*; import overrungl.opengl.ext.mesa.*; //import overrungl.opengl.ext.nv.*; -//import overrungl.opengl.ext.sgi.*; +import overrungl.opengl.ext.sgi.*; import overrungl.opengl.ext.sun.*; +import java.lang.foreign.MemorySegment; +import java.lang.foreign.SegmentAllocator; import java.lang.invoke.MethodHandle; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLExtFinder.*; + /** * The OpenGL extension capabilities. * @@ -41,154 +46,7 @@ */ public final class GLExtCaps { /** The OpenGL extension flags. */ - public boolean GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, - GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, - GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, - GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, - GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, - GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, - GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, - GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, - GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, - GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, - GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, - GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, - GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, - GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, - GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, - GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, - GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, - GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, - GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, - GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, - GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, - GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, - GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, - GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, - GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, - GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, - GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, - GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, - GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, - GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, - GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, - GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, - GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, - GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, - GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, - GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, - GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, - GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, - GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, - GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, - GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, - GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, - GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, - GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, - GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, - GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, - GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, - GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, - GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, - GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, - GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, - GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, - GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, - GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, - GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, - GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, - GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, - GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_element_array, - GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, - GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, - GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, - GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, - GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, - GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, - GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, - GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, - GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, - GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, - GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, - GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, - GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, - GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, - GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, - GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, - GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, - GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, - GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, - GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, - GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, - GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, - GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, - GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, - GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, - GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, - GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, - GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, - GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, - GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, - GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, - GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, - GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, - GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, - GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, - GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, - GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, - GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, - GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, - GL_KHR_texture_compression_astc_sliced_3d, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, - GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, - GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, - GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, - GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, - GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, - GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, - GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, - GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, - GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, - GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, - GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, - GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, - GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, - GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, - GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, - GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, - GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, - GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, - GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, - GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, - GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, - GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, - GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, - GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, - GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, - GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, - GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, - GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, - GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, - GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, - GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, - GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, - GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, - GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OES_byte_coordinates, - GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, - GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, - GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, - GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, - GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, - GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, - GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, - GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, - GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, - GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, - GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, - GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, - GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, - GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, - GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, - GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; + public boolean GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, GL_KHR_texture_compression_astc_sliced_3d, GL_OES_byte_coordinates, GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_draw_buffers, GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_blit_layers, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; /** GLCapabilities */ public final GLCapabilities caps; @@ -228,15 +86,21 @@ public GLExtCaps(GLCapabilities caps) { glProgramUniform4ui64NV, glProgramUniform1ui64vNV, glProgramUniform2ui64vNV, glProgramUniform3ui64vNV, glProgramUniform4ui64vNV, glVertexAttribParameteriAMD, glMultiDrawArraysIndirectAMD, glMultiDrawElementsIndirectAMD, glGenNamesAMD, glDeleteNamesAMD, glIsNameAMD, glQueryObjectParameteruiAMD, glGetPerfMonitorGroupsAMD, glGetPerfMonitorCountersAMD, glGetPerfMonitorGroupStringAMD, glGetPerfMonitorCounterStringAMD, glGetPerfMonitorCounterInfoAMD, glGenPerfMonitorsAMD, glDeletePerfMonitorsAMD, glSelectPerfMonitorCountersAMD, glBeginPerfMonitorAMD, glEndPerfMonitorAMD, glGetPerfMonitorCounterDataAMD, glSetMultisamplefvAMD, glTexStorageSparseAMD, glTextureStorageSparseAMD, glStencilOpValueAMD, glTessellationFactorAMD, glTessellationModeAMD, glElementPointerAPPLE, glDrawElementArrayAPPLE, glDrawRangeElementArrayAPPLE, glMultiDrawElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE, glGenFencesAPPLE, glDeleteFencesAPPLE, glSetFenceAPPLE, glIsFenceAPPLE, glTestFenceAPPLE, glFinishFenceAPPLE, glTestObjectAPPLE, glFinishObjectAPPLE, glBufferParameteriAPPLE, glFlushMappedBufferRangeAPPLE, glObjectPurgeableAPPLE, glObjectUnpurgeableAPPLE, glGetObjectParameterivAPPLE, glTextureRangeAPPLE, - glGetTexParameterPointervAPPLE, glBindVertexArrayAPPLE, glDeleteVertexArraysAPPLE, glGenVertexArraysAPPLE, glIsVertexArrayAPPLE, glVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE, glVertexArrayParameteriAPPLE, glEnableVertexAttribAPPLE, glDisableVertexAttribAPPLE, glIsVertexAttribEnabledAPPLE, glMapVertexAttrib1dAPPLE, glMapVertexAttrib1fAPPLE, glMapVertexAttrib2dAPPLE, glMapVertexAttrib2fAPPLE, glFrameTerminatorGREMEDY, - glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, - glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, - glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, - glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, - glFramebufferTextureMultiviewOVR, glHintPGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, - glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, - glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, - glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glGetTexParameterPointervAPPLE, glBindVertexArrayAPPLE, glDeleteVertexArraysAPPLE, glGenVertexArraysAPPLE, glIsVertexArrayAPPLE, glVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE, glVertexArrayParameteriAPPLE, glEnableVertexAttribAPPLE, glDisableVertexAttribAPPLE, glIsVertexAttribEnabledAPPLE, glMapVertexAttrib1dAPPLE, glMapVertexAttrib1fAPPLE, glMapVertexAttrib2dAPPLE, glMapVertexAttrib2fAPPLE, glDrawBuffersATI, + glElementPointerATI, glDrawElementArrayATI, glDrawRangeElementArrayATI, glTexBumpParameterivATI, glTexBumpParameterfvATI, glGetTexBumpParameterivATI, glGetTexBumpParameterfvATI, glGenFragmentShadersATI, glBindFragmentShaderATI, glDeleteFragmentShaderATI, glBeginFragmentShaderATI, glEndFragmentShaderATI, glPassTexCoordATI, glSampleMapATI, glColorFragmentOp1ATI, glColorFragmentOp2ATI, + glColorFragmentOp3ATI, glAlphaFragmentOp1ATI, glAlphaFragmentOp2ATI, glAlphaFragmentOp3ATI, glSetFragmentShaderConstantATI, glMapObjectBufferATI, glUnmapObjectBufferATI, glPNTrianglesiATI, glPNTrianglesfATI, glStencilOpSeparateATI, glStencilFuncSeparateATI, glNewObjectBufferATI, glIsObjectBufferATI, glUpdateObjectBufferATI, glGetObjectBufferfvATI, glGetObjectBufferivATI, + glFreeObjectBufferATI, glArrayObjectATI, glGetArrayObjectfvATI, glGetArrayObjectivATI, glVariantArrayObjectATI, glGetVariantArrayObjectfvATI, glGetVariantArrayObjectivATI, glVertexAttribArrayObjectATI, glGetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectivATI, glVertexStream1sATI, glVertexStream1svATI, glVertexStream1iATI, glVertexStream1ivATI, glVertexStream1fATI, glVertexStream1fvATI, + glVertexStream1dATI, glVertexStream1dvATI, glVertexStream2sATI, glVertexStream2svATI, glVertexStream2iATI, glVertexStream2ivATI, glVertexStream2fATI, glVertexStream2fvATI, glVertexStream2dATI, glVertexStream2dvATI, glVertexStream3sATI, glVertexStream3svATI, glVertexStream3iATI, glVertexStream3ivATI, glVertexStream3fATI, glVertexStream3fvATI, + glVertexStream3dATI, glVertexStream3dvATI, glVertexStream4sATI, glVertexStream4svATI, glVertexStream4iATI, glVertexStream4ivATI, glVertexStream4fATI, glVertexStream4fvATI, glVertexStream4dATI, glVertexStream4dvATI, glNormalStream3bATI, glNormalStream3bvATI, glNormalStream3sATI, glNormalStream3svATI, glNormalStream3iATI, glNormalStream3ivATI, + glNormalStream3fATI, glNormalStream3fvATI, glNormalStream3dATI, glNormalStream3dvATI, glClientActiveVertexStreamATI, glVertexBlendEnviATI, glVertexBlendEnvfATI, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, + glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, + glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, + glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, + glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, + glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, + glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, + glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, + glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBRobustness.load(this, load); @@ -284,6 +148,16 @@ void load(GLLoadFunc load) { GLAPPLEVertexArrayObject.load(this, load); GLAPPLEVertexArrayRange.load(this, load); GLAPPLEVertexProgramEvaluators.load(this, load); + GLATIDrawBuffers.load(this, load); + GLATIElementArray.load(this, load); + GLATIEnvmapBumpmap.load(this, load); + GLATIFragmentShader.load(this, load); + GLATIMapObjectBuffer.load(this, load); + GLATIPnTriangles.load(this, load); + GLATISeparateStencil.load(this, load); + GLATIVertexArrayObject.load(this, load); + GLATIVertexAttribArrayObject.load(this, load); + GLATIVertexStreams.load(this, load); GLGREMEDYFrameTerminator.load(this, load); GLGREMEDYStringMarker.load(this, load); GLHPImageTransform.load(this, load); @@ -300,10 +174,644 @@ void load(GLLoadFunc load) { GLMESAWindowPos.load(this, load); GLOVRMultiview.load(this, load); GLPGIMiscHints.load(this, load); + GLSGISDetailTexture.load(this, load); + GLSGISFogFunction.load(this, load); GLSUNXConstantData.load(this, load); GLSUNGlobalAlpha.load(this, load); GLSUNMeshArray.load(this, load); GLSUNTriangleList.load(this, load); GLSUNVertex.load(this, load); } + + boolean findExtensionsGL(int version, SegmentAllocator allocator) { + var pExts = allocator.allocate(ADDRESS); + var pNumExtsI = allocator.allocate(JAVA_INT); + var pExtsI = new MemorySegment[1]; + if (!getExtensions(allocator, version, pExts, pNumExtsI, pExtsI, caps)) return false; + + String exts = pExts.getUtf8String(0); + int numExtsI = pNumExtsI.get(JAVA_INT, 0); + var extsI = pExtsI[0]; + + this.GL_ARB_ES2_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES2_compatibility"); + this.GL_ARB_ES3_1_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES3_1_compatibility"); + this.GL_ARB_ES3_2_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES3_2_compatibility"); + this.GL_ARB_ES3_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES3_compatibility"); + this.GL_ARB_arrays_of_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_arrays_of_arrays"); + this.GL_ARB_base_instance = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_base_instance"); + this.GL_ARB_bindless_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_bindless_texture"); + this.GL_ARB_blend_func_extended = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_blend_func_extended"); + this.GL_ARB_buffer_storage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_buffer_storage"); + this.GL_ARB_cl_event = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_cl_event"); + this.GL_ARB_clear_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_clear_buffer_object"); + this.GL_ARB_clear_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_clear_texture"); + this.GL_ARB_clip_control = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_clip_control"); + this.GL_ARB_color_buffer_float = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_color_buffer_float"); + this.GL_ARB_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compatibility"); + this.GL_ARB_compressed_texture_pixel_storage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compressed_texture_pixel_storage"); + this.GL_ARB_compute_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compute_shader"); + this.GL_ARB_compute_variable_group_size = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compute_variable_group_size"); + this.GL_ARB_conditional_render_inverted = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_conditional_render_inverted"); + this.GL_ARB_conservative_depth = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_conservative_depth"); + this.GL_ARB_copy_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_copy_buffer"); + this.GL_ARB_copy_image = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_copy_image"); + this.GL_ARB_cull_distance = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_cull_distance"); + this.GL_ARB_debug_output = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_debug_output"); + this.GL_ARB_depth_buffer_float = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_depth_buffer_float"); + this.GL_ARB_depth_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_depth_clamp"); + this.GL_ARB_depth_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_depth_texture"); + this.GL_ARB_derivative_control = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_derivative_control"); + this.GL_ARB_direct_state_access = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_direct_state_access"); + this.GL_ARB_draw_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_buffers"); + this.GL_ARB_draw_buffers_blend = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_buffers_blend"); + this.GL_ARB_draw_elements_base_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_elements_base_vertex"); + this.GL_ARB_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_indirect"); + this.GL_ARB_draw_instanced = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_instanced"); + this.GL_ARB_enhanced_layouts = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_enhanced_layouts"); + this.GL_ARB_explicit_attrib_location = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_explicit_attrib_location"); + this.GL_ARB_explicit_uniform_location = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_explicit_uniform_location"); + this.GL_ARB_fragment_coord_conventions = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_coord_conventions"); + this.GL_ARB_fragment_layer_viewport = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_layer_viewport"); + this.GL_ARB_fragment_program = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_program"); + this.GL_ARB_fragment_program_shadow = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_program_shadow"); + this.GL_ARB_fragment_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_shader"); + this.GL_ARB_fragment_shader_interlock = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_shader_interlock"); + this.GL_ARB_framebuffer_no_attachments = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_framebuffer_no_attachments"); + this.GL_ARB_framebuffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_framebuffer_object"); + this.GL_ARB_framebuffer_sRGB = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_framebuffer_sRGB"); + this.GL_ARB_geometry_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_geometry_shader4"); + this.GL_ARB_get_program_binary = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_get_program_binary"); + this.GL_ARB_get_texture_sub_image = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_get_texture_sub_image"); + this.GL_ARB_gl_spirv = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gl_spirv"); + this.GL_ARB_gpu_shader5 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gpu_shader5"); + this.GL_ARB_gpu_shader_fp64 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gpu_shader_fp64"); + this.GL_ARB_gpu_shader_int64 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gpu_shader_int64"); + this.GL_ARB_half_float_pixel = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_half_float_pixel"); + this.GL_ARB_half_float_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_half_float_vertex"); + this.GL_ARB_imaging = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_imaging"); + this.GL_ARB_indirect_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_indirect_parameters"); + this.GL_ARB_instanced_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_instanced_arrays"); + this.GL_ARB_internalformat_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_internalformat_query"); + this.GL_ARB_internalformat_query2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_internalformat_query2"); + this.GL_ARB_invalidate_subdata = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_invalidate_subdata"); + this.GL_ARB_map_buffer_alignment = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_map_buffer_alignment"); + this.GL_ARB_map_buffer_range = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_map_buffer_range"); + this.GL_ARB_matrix_palette = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_matrix_palette"); + this.GL_ARB_multi_bind = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multi_bind"); + this.GL_ARB_multi_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multi_draw_indirect"); + this.GL_ARB_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multisample"); + this.GL_ARB_multitexture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multitexture"); + this.GL_ARB_occlusion_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_occlusion_query"); + this.GL_ARB_occlusion_query2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_occlusion_query2"); + this.GL_ARB_parallel_shader_compile = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_parallel_shader_compile"); + this.GL_ARB_pipeline_statistics_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_pipeline_statistics_query"); + this.GL_ARB_pixel_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_pixel_buffer_object"); + this.GL_ARB_point_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_point_parameters"); + this.GL_ARB_point_sprite = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_point_sprite"); + this.GL_ARB_polygon_offset_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_polygon_offset_clamp"); + this.GL_ARB_post_depth_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_post_depth_coverage"); + this.GL_ARB_program_interface_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_program_interface_query"); + this.GL_ARB_provoking_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_provoking_vertex"); + this.GL_ARB_query_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_query_buffer_object"); + this.GL_ARB_robust_buffer_access_behavior = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_robust_buffer_access_behavior"); + this.GL_ARB_robustness = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_robustness"); + this.GL_ARB_robustness_isolation = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_robustness_isolation"); + this.GL_ARB_sample_locations = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sample_locations"); + this.GL_ARB_sample_shading = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sample_shading"); + this.GL_ARB_sampler_objects = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sampler_objects"); + this.GL_ARB_seamless_cube_map = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_seamless_cube_map"); + this.GL_ARB_seamless_cubemap_per_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_seamless_cubemap_per_texture"); + this.GL_ARB_separate_shader_objects = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_separate_shader_objects"); + this.GL_ARB_shader_atomic_counter_ops = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_atomic_counter_ops"); + this.GL_ARB_shader_atomic_counters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_atomic_counters"); + this.GL_ARB_shader_ballot = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_ballot"); + this.GL_ARB_shader_bit_encoding = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_bit_encoding"); + this.GL_ARB_shader_clock = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_clock"); + this.GL_ARB_shader_draw_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_draw_parameters"); + this.GL_ARB_shader_group_vote = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_group_vote"); + this.GL_ARB_shader_image_load_store = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_image_load_store"); + this.GL_ARB_shader_image_size = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_image_size"); + this.GL_ARB_shader_objects = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_objects"); + this.GL_ARB_shader_precision = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_precision"); + this.GL_ARB_shader_stencil_export = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_stencil_export"); + this.GL_ARB_shader_storage_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_storage_buffer_object"); + this.GL_ARB_shader_subroutine = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_subroutine"); + this.GL_ARB_shader_texture_image_samples = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_texture_image_samples"); + this.GL_ARB_shader_texture_lod = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_texture_lod"); + this.GL_ARB_shader_viewport_layer_array = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_viewport_layer_array"); + this.GL_ARB_shading_language_100 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_100"); + this.GL_ARB_shading_language_420pack = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_420pack"); + this.GL_ARB_shading_language_include = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_include"); + this.GL_ARB_shading_language_packing = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_packing"); + this.GL_ARB_shadow = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shadow"); + this.GL_ARB_shadow_ambient = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shadow_ambient"); + this.GL_ARB_sparse_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_buffer"); + this.GL_ARB_sparse_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_texture"); + this.GL_ARB_sparse_texture2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_texture2"); + this.GL_ARB_sparse_texture_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_texture_clamp"); + this.GL_ARB_spirv_extensions = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_spirv_extensions"); + this.GL_ARB_stencil_texturing = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_stencil_texturing"); + this.GL_ARB_sync = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sync"); + this.GL_ARB_tessellation_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_tessellation_shader"); + this.GL_ARB_texture_barrier = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_barrier"); + this.GL_ARB_texture_border_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_border_clamp"); + this.GL_ARB_texture_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_buffer_object"); + this.GL_ARB_texture_buffer_object_rgb32 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_buffer_object_rgb32"); + this.GL_ARB_texture_buffer_range = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_buffer_range"); + this.GL_ARB_texture_compression = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_compression"); + this.GL_ARB_texture_compression_bptc = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_compression_bptc"); + this.GL_ARB_texture_compression_rgtc = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_compression_rgtc"); + this.GL_ARB_texture_cube_map = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_cube_map"); + this.GL_ARB_texture_cube_map_array = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_cube_map_array"); + this.GL_ARB_texture_env_add = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_add"); + this.GL_ARB_texture_env_combine = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_combine"); + this.GL_ARB_texture_env_crossbar = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_crossbar"); + this.GL_ARB_texture_env_dot3 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_dot3"); + this.GL_ARB_texture_filter_anisotropic = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_filter_anisotropic"); + this.GL_ARB_texture_filter_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_filter_minmax"); + this.GL_ARB_texture_float = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_float"); + this.GL_ARB_texture_gather = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_gather"); + this.GL_ARB_texture_mirror_clamp_to_edge = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_mirror_clamp_to_edge"); + this.GL_ARB_texture_mirrored_repeat = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_mirrored_repeat"); + this.GL_ARB_texture_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_multisample"); + this.GL_ARB_texture_non_power_of_two = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_non_power_of_two"); + this.GL_ARB_texture_query_levels = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_query_levels"); + this.GL_ARB_texture_query_lod = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_query_lod"); + this.GL_ARB_texture_rectangle = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_rectangle"); + this.GL_ARB_texture_rg = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_rg"); + this.GL_ARB_texture_rgb10_a2ui = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_rgb10_a2ui"); + this.GL_ARB_texture_stencil8 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_stencil8"); + this.GL_ARB_texture_storage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_storage"); + this.GL_ARB_texture_storage_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_storage_multisample"); + this.GL_ARB_texture_swizzle = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_swizzle"); + this.GL_ARB_texture_view = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_view"); + this.GL_ARB_timer_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_timer_query"); + this.GL_ARB_transform_feedback2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback2"); + this.GL_ARB_transform_feedback3 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback3"); + this.GL_ARB_transform_feedback_instanced = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback_instanced"); + this.GL_ARB_transform_feedback_overflow_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback_overflow_query"); + this.GL_ARB_transpose_matrix = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transpose_matrix"); + this.GL_ARB_uniform_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_uniform_buffer_object"); + this.GL_ARB_vertex_array_bgra = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_array_bgra"); + this.GL_ARB_vertex_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_array_object"); + this.GL_ARB_vertex_attrib_64bit = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_attrib_64bit"); + this.GL_ARB_vertex_attrib_binding = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_attrib_binding"); + this.GL_ARB_vertex_blend = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_blend"); + this.GL_ARB_vertex_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_buffer_object"); + this.GL_ARB_vertex_program = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_program"); + this.GL_ARB_vertex_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_shader"); + this.GL_ARB_vertex_type_10f_11f_11f_rev = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_type_10f_11f_11f_rev"); + this.GL_ARB_vertex_type_2_10_10_10_rev = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_type_2_10_10_10_rev"); + this.GL_ARB_viewport_array = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_viewport_array"); + this.GL_ARB_window_pos = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_window_pos"); + this.GL_KHR_blend_equation_advanced = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_blend_equation_advanced"); + this.GL_KHR_blend_equation_advanced_coherent = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_blend_equation_advanced_coherent"); + this.GL_KHR_context_flush_control = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_context_flush_control"); + this.GL_KHR_debug = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_debug"); + this.GL_KHR_no_error = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_no_error"); + this.GL_KHR_parallel_shader_compile = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_parallel_shader_compile"); + this.GL_KHR_robust_buffer_access_behavior = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_robust_buffer_access_behavior"); + this.GL_KHR_robustness = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_robustness"); + this.GL_KHR_shader_subgroup = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_shader_subgroup"); + this.GL_KHR_texture_compression_astc_hdr = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_texture_compression_astc_hdr"); + this.GL_KHR_texture_compression_astc_ldr = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_texture_compression_astc_ldr"); + this.GL_KHR_texture_compression_astc_sliced_3d = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_texture_compression_astc_sliced_3d"); + this.GL_OES_byte_coordinates = hasExtension(version, exts, numExtsI, extsI, "GL_OES_byte_coordinates"); + this.GL_OES_compressed_paletted_texture = hasExtension(version, exts, numExtsI, extsI, "GL_OES_compressed_paletted_texture"); + this.GL_OES_fixed_point = hasExtension(version, exts, numExtsI, extsI, "GL_OES_fixed_point"); + this.GL_OES_query_matrix = hasExtension(version, exts, numExtsI, extsI, "GL_OES_query_matrix"); + this.GL_OES_read_format = hasExtension(version, exts, numExtsI, extsI, "GL_OES_read_format"); + this.GL_OES_single_precision = hasExtension(version, exts, numExtsI, extsI, "GL_OES_single_precision"); + this.GL_3DFX_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_3DFX_multisample"); + this.GL_3DFX_tbuffer = hasExtension(version, exts, numExtsI, extsI, "GL_3DFX_tbuffer"); + this.GL_3DFX_texture_compression_FXT1 = hasExtension(version, exts, numExtsI, extsI, "GL_3DFX_texture_compression_FXT1"); + this.GL_AMD_blend_minmax_factor = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_blend_minmax_factor"); + this.GL_AMD_conservative_depth = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_conservative_depth"); + this.GL_AMD_debug_output = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_debug_output"); + this.GL_AMD_depth_clamp_separate = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_depth_clamp_separate"); + this.GL_AMD_draw_buffers_blend = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_draw_buffers_blend"); + this.GL_AMD_framebuffer_multisample_advanced = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_framebuffer_multisample_advanced"); + this.GL_AMD_framebuffer_sample_positions = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_framebuffer_sample_positions"); + this.GL_AMD_gcn_shader = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gcn_shader"); + this.GL_AMD_gpu_shader_half_float = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gpu_shader_half_float"); + this.GL_AMD_gpu_shader_int16 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gpu_shader_int16"); + this.GL_AMD_gpu_shader_int64 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gpu_shader_int64"); + this.GL_AMD_interleaved_elements = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_interleaved_elements"); + this.GL_AMD_multi_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_multi_draw_indirect"); + this.GL_AMD_name_gen_delete = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_name_gen_delete"); + this.GL_AMD_occlusion_query_event = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_occlusion_query_event"); + this.GL_AMD_performance_monitor = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_performance_monitor"); + this.GL_AMD_pinned_memory = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_pinned_memory"); + this.GL_AMD_query_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_query_buffer_object"); + this.GL_AMD_sample_positions = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_sample_positions"); + this.GL_AMD_seamless_cubemap_per_texture = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_seamless_cubemap_per_texture"); + this.GL_AMD_shader_atomic_counter_ops = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_atomic_counter_ops"); + this.GL_AMD_shader_ballot = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_ballot"); + this.GL_AMD_shader_explicit_vertex_parameter = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_explicit_vertex_parameter"); + this.GL_AMD_shader_gpu_shader_half_float_fetch = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_gpu_shader_half_float_fetch"); + this.GL_AMD_shader_image_load_store_lod = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_image_load_store_lod"); + this.GL_AMD_shader_stencil_export = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_stencil_export"); + this.GL_AMD_shader_trinary_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_trinary_minmax"); + this.GL_AMD_sparse_texture = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_sparse_texture"); + this.GL_AMD_stencil_operation_extended = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_stencil_operation_extended"); + this.GL_AMD_texture_gather_bias_lod = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_texture_gather_bias_lod"); + this.GL_AMD_texture_texture4 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_texture_texture4"); + this.GL_AMD_transform_feedback3_lines_triangles = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_transform_feedback3_lines_triangles"); + this.GL_AMD_transform_feedback4 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_transform_feedback4"); + this.GL_AMD_vertex_shader_layer = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_vertex_shader_layer"); + this.GL_AMD_vertex_shader_tessellator = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_vertex_shader_tessellator"); + this.GL_AMD_vertex_shader_viewport_index = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_vertex_shader_viewport_index"); + this.GL_APPLE_aux_depth_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_aux_depth_stencil"); + this.GL_APPLE_client_storage = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_client_storage"); + this.GL_APPLE_element_array = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_element_array"); + this.GL_APPLE_fence = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_fence"); + this.GL_APPLE_float_pixels = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_float_pixels"); + this.GL_APPLE_flush_buffer_range = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_flush_buffer_range"); + this.GL_APPLE_object_purgeable = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_object_purgeable"); + this.GL_APPLE_rgb_422 = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_rgb_422"); + this.GL_APPLE_row_bytes = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_row_bytes"); + this.GL_APPLE_specular_vector = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_specular_vector"); + this.GL_APPLE_texture_range = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_texture_range"); + this.GL_APPLE_transform_hint = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_transform_hint"); + this.GL_APPLE_vertex_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_vertex_array_object"); + this.GL_APPLE_vertex_array_range = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_vertex_array_range"); + this.GL_APPLE_vertex_program_evaluators = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_vertex_program_evaluators"); + this.GL_APPLE_ycbcr_422 = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_ycbcr_422"); + this.GL_ATI_draw_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_draw_buffers"); + this.GL_ATI_element_array = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_element_array"); + this.GL_ATI_envmap_bumpmap = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_envmap_bumpmap"); + this.GL_ATI_fragment_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_fragment_shader"); + this.GL_ATI_map_object_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_map_object_buffer"); + this.GL_ATI_meminfo = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_meminfo"); + this.GL_ATI_pixel_format_float = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_pixel_format_float"); + this.GL_ATI_pn_triangles = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_pn_triangles"); + this.GL_ATI_separate_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_separate_stencil"); + this.GL_ATI_text_fragment_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_text_fragment_shader"); + this.GL_ATI_texture_env_combine3 = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_texture_env_combine3"); + this.GL_ATI_texture_float = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_texture_float"); + this.GL_ATI_texture_mirror_once = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_texture_mirror_once"); + this.GL_ATI_vertex_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_vertex_array_object"); + this.GL_ATI_vertex_attrib_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_vertex_attrib_array_object"); + this.GL_ATI_vertex_streams = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_vertex_streams"); + this.GL_EXT_422_pixels = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_422_pixels"); + this.GL_EXT_EGL_image_storage = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_EGL_image_storage"); + this.GL_EXT_EGL_sync = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_EGL_sync"); + this.GL_EXT_abgr = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_abgr"); + this.GL_EXT_bgra = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_bgra"); + this.GL_EXT_bindable_uniform = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_bindable_uniform"); + this.GL_EXT_blend_color = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_color"); + this.GL_EXT_blend_equation_separate = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_equation_separate"); + this.GL_EXT_blend_func_separate = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_func_separate"); + this.GL_EXT_blend_logic_op = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_logic_op"); + this.GL_EXT_blend_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_minmax"); + this.GL_EXT_blend_subtract = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_subtract"); + this.GL_EXT_clip_volume_hint = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_clip_volume_hint"); + this.GL_EXT_cmyka = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_cmyka"); + this.GL_EXT_color_subtable = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_color_subtable"); + this.GL_EXT_compiled_vertex_array = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_compiled_vertex_array"); + this.GL_EXT_convolution = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_convolution"); + this.GL_EXT_coordinate_frame = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_coordinate_frame"); + this.GL_EXT_copy_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_copy_texture"); + this.GL_EXT_cull_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_cull_vertex"); + this.GL_EXT_debug_label = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_debug_label"); + this.GL_EXT_debug_marker = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_debug_marker"); + this.GL_EXT_depth_bounds_test = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_depth_bounds_test"); + this.GL_EXT_direct_state_access = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_direct_state_access"); + this.GL_EXT_draw_buffers2 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_draw_buffers2"); + this.GL_EXT_draw_instanced = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_draw_instanced"); + this.GL_EXT_draw_range_elements = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_draw_range_elements"); + this.GL_EXT_external_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_external_buffer"); + this.GL_EXT_fog_coord = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_fog_coord"); + this.GL_EXT_framebuffer_blit = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_blit"); + this.GL_EXT_framebuffer_blit_layers = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_blit_layers"); + this.GL_EXT_framebuffer_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_multisample"); + this.GL_EXT_framebuffer_multisample_blit_scaled = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_multisample_blit_scaled"); + this.GL_EXT_framebuffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_object"); + this.GL_EXT_framebuffer_sRGB = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_sRGB"); + this.GL_EXT_geometry_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_geometry_shader4"); + this.GL_EXT_gpu_program_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_gpu_program_parameters"); + this.GL_EXT_gpu_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_gpu_shader4"); + this.GL_EXT_histogram = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_histogram"); + this.GL_EXT_index_array_formats = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_array_formats"); + this.GL_EXT_index_func = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_func"); + this.GL_EXT_index_material = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_material"); + this.GL_EXT_index_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_texture"); + this.GL_EXT_light_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_light_texture"); + this.GL_EXT_memory_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_memory_object"); + this.GL_EXT_memory_object_fd = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_memory_object_fd"); + this.GL_EXT_memory_object_win32 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_memory_object_win32"); + this.GL_EXT_misc_attribute = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_misc_attribute"); + this.GL_EXT_multi_draw_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multi_draw_arrays"); + this.GL_EXT_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multisample"); + this.GL_EXT_multiview_tessellation_geometry_shader = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multiview_tessellation_geometry_shader"); + this.GL_EXT_multiview_texture_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multiview_texture_multisample"); + this.GL_EXT_multiview_timer_query = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multiview_timer_query"); + this.GL_EXT_packed_depth_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_packed_depth_stencil"); + this.GL_EXT_packed_float = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_packed_float"); + this.GL_EXT_packed_pixels = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_packed_pixels"); + this.GL_EXT_paletted_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_paletted_texture"); + this.GL_EXT_pixel_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_pixel_buffer_object"); + this.GL_EXT_pixel_transform = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_pixel_transform"); + this.GL_EXT_pixel_transform_color_table = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_pixel_transform_color_table"); + this.GL_EXT_point_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_point_parameters"); + this.GL_EXT_polygon_offset = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_polygon_offset"); + this.GL_EXT_polygon_offset_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_polygon_offset_clamp"); + this.GL_EXT_post_depth_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_post_depth_coverage"); + this.GL_EXT_provoking_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_provoking_vertex"); + this.GL_EXT_raster_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_raster_multisample"); + this.GL_EXT_rescale_normal = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_rescale_normal"); + this.GL_EXT_secondary_color = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_secondary_color"); + this.GL_EXT_semaphore = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_semaphore"); + this.GL_EXT_semaphore_fd = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_semaphore_fd"); + this.GL_EXT_semaphore_win32 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_semaphore_win32"); + this.GL_EXT_separate_shader_objects = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_separate_shader_objects"); + this.GL_EXT_separate_specular_color = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_separate_specular_color"); + this.GL_EXT_shader_framebuffer_fetch = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_framebuffer_fetch"); + this.GL_EXT_shader_framebuffer_fetch_non_coherent = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_framebuffer_fetch_non_coherent"); + this.GL_EXT_shader_image_load_formatted = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_image_load_formatted"); + this.GL_EXT_shader_image_load_store = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_image_load_store"); + this.GL_EXT_shader_integer_mix = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_integer_mix"); + this.GL_EXT_shader_samples_identical = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_samples_identical"); + this.GL_EXT_shadow_funcs = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shadow_funcs"); + this.GL_EXT_shared_texture_palette = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shared_texture_palette"); + this.GL_EXT_sparse_texture2 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_sparse_texture2"); + this.GL_EXT_stencil_clear_tag = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_stencil_clear_tag"); + this.GL_EXT_stencil_two_side = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_stencil_two_side"); + this.GL_EXT_stencil_wrap = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_stencil_wrap"); + this.GL_EXT_subtexture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_subtexture"); + this.GL_EXT_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture"); + this.GL_EXT_texture3D = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture3D"); + this.GL_EXT_texture_array = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_array"); + this.GL_EXT_texture_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_buffer_object"); + this.GL_EXT_texture_compression_latc = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_compression_latc"); + this.GL_EXT_texture_compression_rgtc = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_compression_rgtc"); + this.GL_EXT_texture_compression_s3tc = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_compression_s3tc"); + this.GL_EXT_texture_cube_map = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_cube_map"); + this.GL_EXT_texture_env_add = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_env_add"); + this.GL_EXT_texture_env_combine = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_env_combine"); + this.GL_EXT_texture_env_dot3 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_env_dot3"); + this.GL_EXT_texture_filter_anisotropic = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_filter_anisotropic"); + this.GL_EXT_texture_filter_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_filter_minmax"); + this.GL_EXT_texture_integer = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_integer"); + this.GL_EXT_texture_lod_bias = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_lod_bias"); + this.GL_EXT_texture_mirror_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_mirror_clamp"); + this.GL_EXT_texture_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_object"); + this.GL_EXT_texture_perturb_normal = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_perturb_normal"); + this.GL_EXT_texture_sRGB = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB"); + this.GL_EXT_texture_sRGB_R8 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB_R8"); + this.GL_EXT_texture_sRGB_RG8 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB_RG8"); + this.GL_EXT_texture_sRGB_decode = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB_decode"); + this.GL_EXT_texture_shadow_lod = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_shadow_lod"); + this.GL_EXT_texture_shared_exponent = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_shared_exponent"); + this.GL_EXT_texture_snorm = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_snorm"); + this.GL_EXT_texture_storage = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_storage"); + this.GL_EXT_texture_swizzle = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_swizzle"); + this.GL_EXT_timer_query = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_timer_query"); + this.GL_EXT_transform_feedback = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_transform_feedback"); + this.GL_EXT_vertex_array = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_array"); + this.GL_EXT_vertex_array_bgra = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_array_bgra"); + this.GL_EXT_vertex_attrib_64bit = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_attrib_64bit"); + this.GL_EXT_vertex_shader = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_shader"); + this.GL_EXT_vertex_weighting = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_weighting"); + this.GL_EXT_win32_keyed_mutex = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_win32_keyed_mutex"); + this.GL_EXT_window_rectangles = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_window_rectangles"); + this.GL_EXT_x11_sync_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_x11_sync_object"); + this.GL_GREMEDY_frame_terminator = hasExtension(version, exts, numExtsI, extsI, "GL_GREMEDY_frame_terminator"); + this.GL_GREMEDY_string_marker = hasExtension(version, exts, numExtsI, extsI, "GL_GREMEDY_string_marker"); + this.GL_HP_convolution_border_modes = hasExtension(version, exts, numExtsI, extsI, "GL_HP_convolution_border_modes"); + this.GL_HP_image_transform = hasExtension(version, exts, numExtsI, extsI, "GL_HP_image_transform"); + this.GL_HP_occlusion_test = hasExtension(version, exts, numExtsI, extsI, "GL_HP_occlusion_test"); + this.GL_HP_texture_lighting = hasExtension(version, exts, numExtsI, extsI, "GL_HP_texture_lighting"); + this.GL_IBM_cull_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_cull_vertex"); + this.GL_IBM_multimode_draw_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_multimode_draw_arrays"); + this.GL_IBM_rasterpos_clip = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_rasterpos_clip"); + this.GL_IBM_static_data = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_static_data"); + this.GL_IBM_texture_mirrored_repeat = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_texture_mirrored_repeat"); + this.GL_IBM_vertex_array_lists = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_vertex_array_lists"); + this.GL_INGR_blend_func_separate = hasExtension(version, exts, numExtsI, extsI, "GL_INGR_blend_func_separate"); + this.GL_INGR_color_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_INGR_color_clamp"); + this.GL_INGR_interlace_read = hasExtension(version, exts, numExtsI, extsI, "GL_INGR_interlace_read"); + this.GL_INTEL_blackhole_render = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_blackhole_render"); + this.GL_INTEL_conservative_rasterization = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_conservative_rasterization"); + this.GL_INTEL_fragment_shader_ordering = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_fragment_shader_ordering"); + this.GL_INTEL_framebuffer_CMAA = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_framebuffer_CMAA"); + this.GL_INTEL_map_texture = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_map_texture"); + this.GL_INTEL_parallel_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_parallel_arrays"); + this.GL_INTEL_performance_query = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_performance_query"); + this.GL_MESAX_texture_stack = hasExtension(version, exts, numExtsI, extsI, "GL_MESAX_texture_stack"); + this.GL_MESA_framebuffer_flip_x = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_framebuffer_flip_x"); + this.GL_MESA_framebuffer_flip_y = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_framebuffer_flip_y"); + this.GL_MESA_framebuffer_swap_xy = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_framebuffer_swap_xy"); + this.GL_MESA_pack_invert = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_pack_invert"); + this.GL_MESA_program_binary_formats = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_program_binary_formats"); + this.GL_MESA_resize_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_resize_buffers"); + this.GL_MESA_shader_integer_functions = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_shader_integer_functions"); + this.GL_MESA_tile_raster_order = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_tile_raster_order"); + this.GL_MESA_window_pos = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_window_pos"); + this.GL_MESA_ycbcr_texture = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_ycbcr_texture"); + this.GL_NVX_blend_equation_advanced_multi_draw_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_blend_equation_advanced_multi_draw_buffers"); + this.GL_NVX_conditional_render = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_conditional_render"); + this.GL_NVX_gpu_memory_info = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_gpu_memory_info"); + this.GL_NVX_gpu_multicast2 = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_gpu_multicast2"); + this.GL_NVX_linked_gpu_multicast = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_linked_gpu_multicast"); + this.GL_NVX_progress_fence = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_progress_fence"); + this.GL_NV_alpha_to_coverage_dither_control = hasExtension(version, exts, numExtsI, extsI, "GL_NV_alpha_to_coverage_dither_control"); + this.GL_NV_bindless_multi_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_NV_bindless_multi_draw_indirect"); + this.GL_NV_bindless_multi_draw_indirect_count = hasExtension(version, exts, numExtsI, extsI, "GL_NV_bindless_multi_draw_indirect_count"); + this.GL_NV_bindless_texture = hasExtension(version, exts, numExtsI, extsI, "GL_NV_bindless_texture"); + this.GL_NV_blend_equation_advanced = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_equation_advanced"); + this.GL_NV_blend_equation_advanced_coherent = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_equation_advanced_coherent"); + this.GL_NV_blend_minmax_factor = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_minmax_factor"); + this.GL_NV_blend_square = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_square"); + this.GL_NV_clip_space_w_scaling = hasExtension(version, exts, numExtsI, extsI, "GL_NV_clip_space_w_scaling"); + this.GL_NV_command_list = hasExtension(version, exts, numExtsI, extsI, "GL_NV_command_list"); + this.GL_NV_compute_program5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_compute_program5"); + this.GL_NV_compute_shader_derivatives = hasExtension(version, exts, numExtsI, extsI, "GL_NV_compute_shader_derivatives"); + this.GL_NV_conditional_render = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conditional_render"); + this.GL_NV_conservative_raster = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster"); + this.GL_NV_conservative_raster_dilate = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_dilate"); + this.GL_NV_conservative_raster_pre_snap = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_pre_snap"); + this.GL_NV_conservative_raster_pre_snap_triangles = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_pre_snap_triangles"); + this.GL_NV_conservative_raster_underestimation = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_underestimation"); + this.GL_NV_copy_depth_to_color = hasExtension(version, exts, numExtsI, extsI, "GL_NV_copy_depth_to_color"); + this.GL_NV_copy_image = hasExtension(version, exts, numExtsI, extsI, "GL_NV_copy_image"); + this.GL_NV_deep_texture3D = hasExtension(version, exts, numExtsI, extsI, "GL_NV_deep_texture3D"); + this.GL_NV_depth_buffer_float = hasExtension(version, exts, numExtsI, extsI, "GL_NV_depth_buffer_float"); + this.GL_NV_depth_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_NV_depth_clamp"); + this.GL_NV_draw_texture = hasExtension(version, exts, numExtsI, extsI, "GL_NV_draw_texture"); + this.GL_NV_draw_vulkan_image = hasExtension(version, exts, numExtsI, extsI, "GL_NV_draw_vulkan_image"); + this.GL_NV_evaluators = hasExtension(version, exts, numExtsI, extsI, "GL_NV_evaluators"); + this.GL_NV_explicit_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_NV_explicit_multisample"); + this.GL_NV_fence = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fence"); + this.GL_NV_fill_rectangle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fill_rectangle"); + this.GL_NV_float_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_NV_float_buffer"); + this.GL_NV_fog_distance = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fog_distance"); + this.GL_NV_fragment_coverage_to_color = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_coverage_to_color"); + this.GL_NV_fragment_program = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program"); + this.GL_NV_fragment_program2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program2"); + this.GL_NV_fragment_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program4"); + this.GL_NV_fragment_program_option = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program_option"); + this.GL_NV_fragment_shader_barycentric = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_shader_barycentric"); + this.GL_NV_fragment_shader_interlock = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_shader_interlock"); + this.GL_NV_framebuffer_mixed_samples = hasExtension(version, exts, numExtsI, extsI, "GL_NV_framebuffer_mixed_samples"); + this.GL_NV_framebuffer_multisample_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_NV_framebuffer_multisample_coverage"); + this.GL_NV_geometry_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_geometry_program4"); + this.GL_NV_geometry_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_geometry_shader4"); + this.GL_NV_geometry_shader_passthrough = hasExtension(version, exts, numExtsI, extsI, "GL_NV_geometry_shader_passthrough"); + this.GL_NV_gpu_multicast = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_multicast"); + this.GL_NV_gpu_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_program4"); + this.GL_NV_gpu_program5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_program5"); + this.GL_NV_gpu_program5_mem_extended = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_program5_mem_extended"); + this.GL_NV_gpu_shader5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_shader5"); + this.GL_NV_half_float = hasExtension(version, exts, numExtsI, extsI, "GL_NV_half_float"); + this.GL_NV_internalformat_sample_query = hasExtension(version, exts, numExtsI, extsI, "GL_NV_internalformat_sample_query"); + this.GL_NV_light_max_exponent = hasExtension(version, exts, numExtsI, extsI, "GL_NV_light_max_exponent"); + this.GL_NV_memory_attachment = hasExtension(version, exts, numExtsI, extsI, "GL_NV_memory_attachment"); + this.GL_NV_memory_object_sparse = hasExtension(version, exts, numExtsI, extsI, "GL_NV_memory_object_sparse"); + this.GL_NV_mesh_shader = hasExtension(version, exts, numExtsI, extsI, "GL_NV_mesh_shader"); + this.GL_NV_multisample_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_NV_multisample_coverage"); + this.GL_NV_multisample_filter_hint = hasExtension(version, exts, numExtsI, extsI, "GL_NV_multisample_filter_hint"); + this.GL_NV_occlusion_query = hasExtension(version, exts, numExtsI, extsI, "GL_NV_occlusion_query"); + this.GL_NV_packed_depth_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_NV_packed_depth_stencil"); + this.GL_NV_parameter_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_NV_parameter_buffer_object"); + this.GL_NV_parameter_buffer_object2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_parameter_buffer_object2"); + this.GL_NV_path_rendering = hasExtension(version, exts, numExtsI, extsI, "GL_NV_path_rendering"); + this.GL_NV_path_rendering_shared_edge = hasExtension(version, exts, numExtsI, extsI, "GL_NV_path_rendering_shared_edge"); + this.GL_NV_pixel_data_range = hasExtension(version, exts, numExtsI, extsI, "GL_NV_pixel_data_range"); + this.GL_NV_point_sprite = hasExtension(version, exts, numExtsI, extsI, "GL_NV_point_sprite"); + this.GL_NV_present_video = hasExtension(version, exts, numExtsI, extsI, "GL_NV_present_video"); + this.GL_NV_primitive_restart = hasExtension(version, exts, numExtsI, extsI, "GL_NV_primitive_restart"); + this.GL_NV_primitive_shading_rate = hasExtension(version, exts, numExtsI, extsI, "GL_NV_primitive_shading_rate"); + this.GL_NV_query_resource = hasExtension(version, exts, numExtsI, extsI, "GL_NV_query_resource"); + this.GL_NV_query_resource_tag = hasExtension(version, exts, numExtsI, extsI, "GL_NV_query_resource_tag"); + this.GL_NV_register_combiners = hasExtension(version, exts, numExtsI, extsI, "GL_NV_register_combiners"); + this.GL_NV_register_combiners2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_register_combiners2"); + this.GL_NV_representative_fragment_test = hasExtension(version, exts, numExtsI, extsI, "GL_NV_representative_fragment_test"); + this.GL_NV_robustness_video_memory_purge = hasExtension(version, exts, numExtsI, extsI, "GL_NV_robustness_video_memory_purge"); + this.GL_NV_sample_locations = hasExtension(version, exts, numExtsI, extsI, "GL_NV_sample_locations"); + this.GL_NV_sample_mask_override_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_NV_sample_mask_override_coverage"); + this.GL_NV_scissor_exclusive = hasExtension(version, exts, numExtsI, extsI, "GL_NV_scissor_exclusive"); + this.GL_NV_shader_atomic_counters = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_counters"); + this.GL_NV_shader_atomic_float = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_float"); + this.GL_NV_shader_atomic_float64 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_float64"); + this.GL_NV_shader_atomic_fp16_vector = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_fp16_vector"); + this.GL_NV_shader_atomic_int64 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_int64"); + this.GL_NV_shader_buffer_load = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_buffer_load"); + this.GL_NV_shader_buffer_store = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_buffer_store"); + this.GL_NV_shader_storage_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_storage_buffer_object"); + this.GL_NV_shader_subgroup_partitioned = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_subgroup_partitioned"); + this.GL_NV_shader_texture_footprint = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_texture_footprint"); + this.GL_NV_shader_thread_group = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_thread_group"); + this.GL_NV_shader_thread_shuffle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_thread_shuffle"); + this.GL_NV_shading_rate_image = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shading_rate_image"); + this.GL_NV_stereo_view_rendering = hasExtension(version, exts, numExtsI, extsI, "GL_NV_stereo_view_rendering"); + this.GL_NV_tessellation_program5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_tessellation_program5"); + this.GL_NV_texgen_emboss = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texgen_emboss"); + this.GL_NV_texgen_reflection = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texgen_reflection"); + this.GL_NV_texture_barrier = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_barrier"); + this.GL_NV_texture_compression_vtc = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_compression_vtc"); + this.GL_NV_texture_env_combine4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_env_combine4"); + this.GL_NV_texture_expand_normal = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_expand_normal"); + this.GL_NV_texture_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_multisample"); + this.GL_NV_texture_rectangle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_rectangle"); + this.GL_NV_texture_rectangle_compressed = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_rectangle_compressed"); + this.GL_NV_texture_shader = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_shader"); + this.GL_NV_texture_shader2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_shader2"); + this.GL_NV_texture_shader3 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_shader3"); + this.GL_NV_timeline_semaphore = hasExtension(version, exts, numExtsI, extsI, "GL_NV_timeline_semaphore"); + this.GL_NV_transform_feedback = hasExtension(version, exts, numExtsI, extsI, "GL_NV_transform_feedback"); + this.GL_NV_transform_feedback2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_transform_feedback2"); + this.GL_NV_uniform_buffer_unified_memory = hasExtension(version, exts, numExtsI, extsI, "GL_NV_uniform_buffer_unified_memory"); + this.GL_NV_vdpau_interop = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vdpau_interop"); + this.GL_NV_vdpau_interop2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vdpau_interop2"); + this.GL_NV_vertex_array_range = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_array_range"); + this.GL_NV_vertex_array_range2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_array_range2"); + this.GL_NV_vertex_attrib_integer_64bit = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_attrib_integer_64bit"); + this.GL_NV_vertex_buffer_unified_memory = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_buffer_unified_memory"); + this.GL_NV_vertex_program = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program"); + this.GL_NV_vertex_program1_1 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program1_1"); + this.GL_NV_vertex_program2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program2"); + this.GL_NV_vertex_program2_option = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program2_option"); + this.GL_NV_vertex_program3 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program3"); + this.GL_NV_vertex_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program4"); + this.GL_NV_video_capture = hasExtension(version, exts, numExtsI, extsI, "GL_NV_video_capture"); + this.GL_NV_viewport_array2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_viewport_array2"); + this.GL_NV_viewport_swizzle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_viewport_swizzle"); + this.GL_OML_interlace = hasExtension(version, exts, numExtsI, extsI, "GL_OML_interlace"); + this.GL_OML_resample = hasExtension(version, exts, numExtsI, extsI, "GL_OML_resample"); + this.GL_OML_subsample = hasExtension(version, exts, numExtsI, extsI, "GL_OML_subsample"); + this.GL_OVR_multiview = hasExtension(version, exts, numExtsI, extsI, "GL_OVR_multiview"); + this.GL_OVR_multiview2 = hasExtension(version, exts, numExtsI, extsI, "GL_OVR_multiview2"); + this.GL_PGI_misc_hints = hasExtension(version, exts, numExtsI, extsI, "GL_PGI_misc_hints"); + this.GL_PGI_vertex_hints = hasExtension(version, exts, numExtsI, extsI, "GL_PGI_vertex_hints"); + this.GL_REND_screen_coordinates = hasExtension(version, exts, numExtsI, extsI, "GL_REND_screen_coordinates"); + this.GL_S3_s3tc = hasExtension(version, exts, numExtsI, extsI, "GL_S3_s3tc"); + this.GL_SGIS_detail_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_detail_texture"); + this.GL_SGIS_fog_function = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_fog_function"); + this.GL_SGIS_generate_mipmap = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_generate_mipmap"); + this.GL_SGIS_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_multisample"); + this.GL_SGIS_pixel_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_pixel_texture"); + this.GL_SGIS_point_line_texgen = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_point_line_texgen"); + this.GL_SGIS_point_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_point_parameters"); + this.GL_SGIS_sharpen_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_sharpen_texture"); + this.GL_SGIS_texture4D = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture4D"); + this.GL_SGIS_texture_border_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_border_clamp"); + this.GL_SGIS_texture_color_mask = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_color_mask"); + this.GL_SGIS_texture_edge_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_edge_clamp"); + this.GL_SGIS_texture_filter4 = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_filter4"); + this.GL_SGIS_texture_lod = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_lod"); + this.GL_SGIS_texture_select = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_select"); + this.GL_SGIX_async = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_async"); + this.GL_SGIX_async_histogram = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_async_histogram"); + this.GL_SGIX_async_pixel = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_async_pixel"); + this.GL_SGIX_blend_alpha_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_blend_alpha_minmax"); + this.GL_SGIX_calligraphic_fragment = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_calligraphic_fragment"); + this.GL_SGIX_clipmap = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_clipmap"); + this.GL_SGIX_convolution_accuracy = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_convolution_accuracy"); + this.GL_SGIX_depth_pass_instrument = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_depth_pass_instrument"); + this.GL_SGIX_depth_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_depth_texture"); + this.GL_SGIX_flush_raster = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_flush_raster"); + this.GL_SGIX_fog_offset = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_fog_offset"); + this.GL_SGIX_fragment_lighting = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_fragment_lighting"); + this.GL_SGIX_framezoom = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_framezoom"); + this.GL_SGIX_igloo_interface = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_igloo_interface"); + this.GL_SGIX_instruments = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_instruments"); + this.GL_SGIX_interlace = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_interlace"); + this.GL_SGIX_ir_instrument1 = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ir_instrument1"); + this.GL_SGIX_list_priority = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_list_priority"); + this.GL_SGIX_pixel_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_pixel_texture"); + this.GL_SGIX_pixel_tiles = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_pixel_tiles"); + this.GL_SGIX_polynomial_ffd = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_polynomial_ffd"); + this.GL_SGIX_reference_plane = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_reference_plane"); + this.GL_SGIX_resample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_resample"); + this.GL_SGIX_scalebias_hint = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_scalebias_hint"); + this.GL_SGIX_shadow = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_shadow"); + this.GL_SGIX_shadow_ambient = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_shadow_ambient"); + this.GL_SGIX_sprite = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_sprite"); + this.GL_SGIX_subsample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_subsample"); + this.GL_SGIX_tag_sample_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_tag_sample_buffer"); + this.GL_SGIX_texture_add_env = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_add_env"); + this.GL_SGIX_texture_coordinate_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_coordinate_clamp"); + this.GL_SGIX_texture_lod_bias = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_lod_bias"); + this.GL_SGIX_texture_multi_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_multi_buffer"); + this.GL_SGIX_texture_scale_bias = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_scale_bias"); + this.GL_SGIX_vertex_preclip = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_vertex_preclip"); + this.GL_SGIX_ycrcb = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ycrcb"); + this.GL_SGIX_ycrcb_subsample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ycrcb_subsample"); + this.GL_SGIX_ycrcba = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ycrcba"); + this.GL_SGI_color_matrix = hasExtension(version, exts, numExtsI, extsI, "GL_SGI_color_matrix"); + this.GL_SGI_color_table = hasExtension(version, exts, numExtsI, extsI, "GL_SGI_color_table"); + this.GL_SGI_texture_color_table = hasExtension(version, exts, numExtsI, extsI, "GL_SGI_texture_color_table"); + this.GL_SUNX_constant_data = hasExtension(version, exts, numExtsI, extsI, "GL_SUNX_constant_data"); + this.GL_SUN_convolution_border_modes = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_convolution_border_modes"); + this.GL_SUN_global_alpha = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_global_alpha"); + this.GL_SUN_mesh_array = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_mesh_array"); + this.GL_SUN_slice_accum = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_slice_accum"); + this.GL_SUN_triangle_list = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_triangle_list"); + this.GL_SUN_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_vertex"); + this.GL_WIN_phong_shading = hasExtension(version, exts, numExtsI, extsI, "GL_WIN_phong_shading"); + this.GL_WIN_specular_fog = hasExtension(version, exts, numExtsI, extsI, "GL_WIN_specular_fog"); + + return true; + } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java index 40052e76..07e0cba5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java @@ -25,18 +25,18 @@ import static java.lang.foreign.ValueLayout.JAVA_INT; /** - * The findExtensionGL method is moved to here to bring better performance for the IDE. + * Utilities * * @author squid233 * @since 0.1.0 */ final class GLExtFinder { - private static boolean getExtensions(SegmentAllocator allocator, - int version, - MemorySegment outExts, - MemorySegment outNumExtsI, - MemorySegment[] outExtsI, - GLCapabilities caps) { + static boolean getExtensions(SegmentAllocator allocator, + int version, + MemorySegment outExts, + MemorySegment outNumExtsI, + MemorySegment[] outExtsI, + GLCapabilities caps) { if (GLLoader.versionMajor(version) < 3) { if (caps.glGetString == null) { return false; @@ -65,7 +65,7 @@ private static boolean getExtensions(SegmentAllocator allocator, return true; } - private static boolean hasExtension(int version, String exts, int numExtsI, MemorySegment extsI, String ext) { + static boolean hasExtension(int version, String exts, int numExtsI, MemorySegment extsI, String ext) { if (GLLoader.versionMajor(version) < 3) { if (exts == null || ext == null) { return false; @@ -79,634 +79,4 @@ private static boolean hasExtension(int version, String exts, int numExtsI, Memo } return false; } - - static boolean findExtensionsGL(GLExtCaps extCaps, int version, SegmentAllocator allocator, GLCapabilities caps) { - var pExts = allocator.allocate(ADDRESS); - var pNumExtsI = allocator.allocate(JAVA_INT); - var pExtsI = new MemorySegment[1]; - if (!getExtensions(allocator, version, pExts, pNumExtsI, pExtsI, caps)) return false; - - String exts = pExts.getUtf8String(0); - int numExtsI = pNumExtsI.get(JAVA_INT, 0); - var extsI = pExtsI[0]; - - extCaps.GL_3DFX_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_3DFX_multisample"); - extCaps.GL_3DFX_tbuffer = hasExtension(version, exts, numExtsI, extsI, "GL_3DFX_tbuffer"); - extCaps.GL_3DFX_texture_compression_FXT1 = hasExtension(version, exts, numExtsI, extsI, "GL_3DFX_texture_compression_FXT1"); - extCaps.GL_AMD_blend_minmax_factor = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_blend_minmax_factor"); - extCaps.GL_AMD_conservative_depth = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_conservative_depth"); - extCaps.GL_AMD_debug_output = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_debug_output"); - extCaps.GL_AMD_depth_clamp_separate = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_depth_clamp_separate"); - extCaps.GL_AMD_draw_buffers_blend = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_draw_buffers_blend"); - extCaps.GL_AMD_framebuffer_multisample_advanced = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_framebuffer_multisample_advanced"); - extCaps.GL_AMD_framebuffer_sample_positions = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_framebuffer_sample_positions"); - extCaps.GL_AMD_gcn_shader = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gcn_shader"); - extCaps.GL_AMD_gpu_shader_half_float = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gpu_shader_half_float"); - extCaps.GL_AMD_gpu_shader_int16 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gpu_shader_int16"); - extCaps.GL_AMD_gpu_shader_int64 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_gpu_shader_int64"); - extCaps.GL_AMD_interleaved_elements = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_interleaved_elements"); - extCaps.GL_AMD_multi_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_multi_draw_indirect"); - extCaps.GL_AMD_name_gen_delete = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_name_gen_delete"); - extCaps.GL_AMD_occlusion_query_event = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_occlusion_query_event"); - extCaps.GL_AMD_performance_monitor = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_performance_monitor"); - extCaps.GL_AMD_pinned_memory = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_pinned_memory"); - extCaps.GL_AMD_query_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_query_buffer_object"); - extCaps.GL_AMD_sample_positions = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_sample_positions"); - extCaps.GL_AMD_seamless_cubemap_per_texture = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_seamless_cubemap_per_texture"); - extCaps.GL_AMD_shader_atomic_counter_ops = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_atomic_counter_ops"); - extCaps.GL_AMD_shader_ballot = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_ballot"); - extCaps.GL_AMD_shader_explicit_vertex_parameter = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_explicit_vertex_parameter"); - extCaps.GL_AMD_shader_gpu_shader_half_float_fetch = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_gpu_shader_half_float_fetch"); - extCaps.GL_AMD_shader_image_load_store_lod = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_image_load_store_lod"); - extCaps.GL_AMD_shader_stencil_export = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_stencil_export"); - extCaps.GL_AMD_shader_trinary_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_shader_trinary_minmax"); - extCaps.GL_AMD_sparse_texture = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_sparse_texture"); - extCaps.GL_AMD_stencil_operation_extended = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_stencil_operation_extended"); - extCaps.GL_AMD_texture_gather_bias_lod = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_texture_gather_bias_lod"); - extCaps.GL_AMD_texture_texture4 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_texture_texture4"); - extCaps.GL_AMD_transform_feedback3_lines_triangles = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_transform_feedback3_lines_triangles"); - extCaps.GL_AMD_transform_feedback4 = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_transform_feedback4"); - extCaps.GL_AMD_vertex_shader_layer = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_vertex_shader_layer"); - extCaps.GL_AMD_vertex_shader_tessellator = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_vertex_shader_tessellator"); - extCaps.GL_AMD_vertex_shader_viewport_index = hasExtension(version, exts, numExtsI, extsI, "GL_AMD_vertex_shader_viewport_index"); - extCaps.GL_APPLE_aux_depth_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_aux_depth_stencil"); - extCaps.GL_APPLE_client_storage = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_client_storage"); - extCaps.GL_APPLE_element_array = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_element_array"); - extCaps.GL_APPLE_fence = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_fence"); - extCaps.GL_APPLE_float_pixels = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_float_pixels"); - extCaps.GL_APPLE_flush_buffer_range = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_flush_buffer_range"); - extCaps.GL_APPLE_object_purgeable = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_object_purgeable"); - extCaps.GL_APPLE_rgb_422 = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_rgb_422"); - extCaps.GL_APPLE_row_bytes = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_row_bytes"); - extCaps.GL_APPLE_specular_vector = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_specular_vector"); - extCaps.GL_APPLE_texture_range = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_texture_range"); - extCaps.GL_APPLE_transform_hint = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_transform_hint"); - extCaps.GL_APPLE_vertex_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_vertex_array_object"); - extCaps.GL_APPLE_vertex_array_range = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_vertex_array_range"); - extCaps.GL_APPLE_vertex_program_evaluators = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_vertex_program_evaluators"); - extCaps.GL_APPLE_ycbcr_422 = hasExtension(version, exts, numExtsI, extsI, "GL_APPLE_ycbcr_422"); - extCaps.GL_ARB_ES2_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES2_compatibility"); - extCaps.GL_ARB_ES3_1_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES3_1_compatibility"); - extCaps.GL_ARB_ES3_2_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES3_2_compatibility"); - extCaps.GL_ARB_ES3_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_ES3_compatibility"); - extCaps.GL_ARB_arrays_of_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_arrays_of_arrays"); - extCaps.GL_ARB_base_instance = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_base_instance"); - extCaps.GL_ARB_bindless_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_bindless_texture"); - extCaps.GL_ARB_blend_func_extended = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_blend_func_extended"); - extCaps.GL_ARB_buffer_storage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_buffer_storage"); - extCaps.GL_ARB_cl_event = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_cl_event"); - extCaps.GL_ARB_clear_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_clear_buffer_object"); - extCaps.GL_ARB_clear_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_clear_texture"); - extCaps.GL_ARB_clip_control = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_clip_control"); - extCaps.GL_ARB_color_buffer_float = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_color_buffer_float"); - extCaps.GL_ARB_compatibility = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compatibility"); - extCaps.GL_ARB_compressed_texture_pixel_storage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compressed_texture_pixel_storage"); - extCaps.GL_ARB_compute_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compute_shader"); - extCaps.GL_ARB_compute_variable_group_size = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_compute_variable_group_size"); - extCaps.GL_ARB_conditional_render_inverted = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_conditional_render_inverted"); - extCaps.GL_ARB_conservative_depth = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_conservative_depth"); - extCaps.GL_ARB_copy_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_copy_buffer"); - extCaps.GL_ARB_copy_image = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_copy_image"); - extCaps.GL_ARB_cull_distance = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_cull_distance"); - extCaps.GL_ARB_debug_output = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_debug_output"); - extCaps.GL_ARB_depth_buffer_float = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_depth_buffer_float"); - extCaps.GL_ARB_depth_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_depth_clamp"); - extCaps.GL_ARB_depth_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_depth_texture"); - extCaps.GL_ARB_derivative_control = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_derivative_control"); - extCaps.GL_ARB_direct_state_access = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_direct_state_access"); - extCaps.GL_ARB_draw_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_buffers"); - extCaps.GL_ARB_draw_buffers_blend = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_buffers_blend"); - extCaps.GL_ARB_draw_elements_base_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_elements_base_vertex"); - extCaps.GL_ARB_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_indirect"); - extCaps.GL_ARB_draw_instanced = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_draw_instanced"); - extCaps.GL_ARB_enhanced_layouts = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_enhanced_layouts"); - extCaps.GL_ARB_explicit_attrib_location = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_explicit_attrib_location"); - extCaps.GL_ARB_explicit_uniform_location = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_explicit_uniform_location"); - extCaps.GL_ARB_fragment_coord_conventions = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_coord_conventions"); - extCaps.GL_ARB_fragment_layer_viewport = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_layer_viewport"); - extCaps.GL_ARB_fragment_program = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_program"); - extCaps.GL_ARB_fragment_program_shadow = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_program_shadow"); - extCaps.GL_ARB_fragment_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_shader"); - extCaps.GL_ARB_fragment_shader_interlock = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_fragment_shader_interlock"); - extCaps.GL_ARB_framebuffer_no_attachments = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_framebuffer_no_attachments"); - extCaps.GL_ARB_framebuffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_framebuffer_object"); - extCaps.GL_ARB_framebuffer_sRGB = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_framebuffer_sRGB"); - extCaps.GL_ARB_geometry_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_geometry_shader4"); - extCaps.GL_ARB_get_program_binary = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_get_program_binary"); - extCaps.GL_ARB_get_texture_sub_image = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_get_texture_sub_image"); - extCaps.GL_ARB_gl_spirv = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gl_spirv"); - extCaps.GL_ARB_gpu_shader5 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gpu_shader5"); - extCaps.GL_ARB_gpu_shader_fp64 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gpu_shader_fp64"); - extCaps.GL_ARB_gpu_shader_int64 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_gpu_shader_int64"); - extCaps.GL_ARB_half_float_pixel = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_half_float_pixel"); - extCaps.GL_ARB_half_float_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_half_float_vertex"); - extCaps.GL_ARB_imaging = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_imaging"); - extCaps.GL_ARB_indirect_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_indirect_parameters"); - extCaps.GL_ARB_instanced_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_instanced_arrays"); - extCaps.GL_ARB_internalformat_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_internalformat_query"); - extCaps.GL_ARB_internalformat_query2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_internalformat_query2"); - extCaps.GL_ARB_invalidate_subdata = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_invalidate_subdata"); - extCaps.GL_ARB_map_buffer_alignment = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_map_buffer_alignment"); - extCaps.GL_ARB_map_buffer_range = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_map_buffer_range"); - extCaps.GL_ARB_matrix_palette = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_matrix_palette"); - extCaps.GL_ARB_multi_bind = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multi_bind"); - extCaps.GL_ARB_multi_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multi_draw_indirect"); - extCaps.GL_ARB_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multisample"); - extCaps.GL_ARB_multitexture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_multitexture"); - extCaps.GL_ARB_occlusion_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_occlusion_query"); - extCaps.GL_ARB_occlusion_query2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_occlusion_query2"); - extCaps.GL_ARB_parallel_shader_compile = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_parallel_shader_compile"); - extCaps.GL_ARB_pipeline_statistics_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_pipeline_statistics_query"); - extCaps.GL_ARB_pixel_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_pixel_buffer_object"); - extCaps.GL_ARB_point_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_point_parameters"); - extCaps.GL_ARB_point_sprite = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_point_sprite"); - extCaps.GL_ARB_polygon_offset_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_polygon_offset_clamp"); - extCaps.GL_ARB_post_depth_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_post_depth_coverage"); - extCaps.GL_ARB_program_interface_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_program_interface_query"); - extCaps.GL_ARB_provoking_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_provoking_vertex"); - extCaps.GL_ARB_query_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_query_buffer_object"); - extCaps.GL_ARB_robust_buffer_access_behavior = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_robust_buffer_access_behavior"); - extCaps.GL_ARB_robustness = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_robustness"); - extCaps.GL_ARB_robustness_isolation = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_robustness_isolation"); - extCaps.GL_ARB_sample_locations = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sample_locations"); - extCaps.GL_ARB_sample_shading = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sample_shading"); - extCaps.GL_ARB_sampler_objects = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sampler_objects"); - extCaps.GL_ARB_seamless_cube_map = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_seamless_cube_map"); - extCaps.GL_ARB_seamless_cubemap_per_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_seamless_cubemap_per_texture"); - extCaps.GL_ARB_separate_shader_objects = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_separate_shader_objects"); - extCaps.GL_ARB_shader_atomic_counter_ops = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_atomic_counter_ops"); - extCaps.GL_ARB_shader_atomic_counters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_atomic_counters"); - extCaps.GL_ARB_shader_ballot = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_ballot"); - extCaps.GL_ARB_shader_bit_encoding = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_bit_encoding"); - extCaps.GL_ARB_shader_clock = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_clock"); - extCaps.GL_ARB_shader_draw_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_draw_parameters"); - extCaps.GL_ARB_shader_group_vote = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_group_vote"); - extCaps.GL_ARB_shader_image_load_store = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_image_load_store"); - extCaps.GL_ARB_shader_image_size = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_image_size"); - extCaps.GL_ARB_shader_objects = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_objects"); - extCaps.GL_ARB_shader_precision = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_precision"); - extCaps.GL_ARB_shader_stencil_export = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_stencil_export"); - extCaps.GL_ARB_shader_storage_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_storage_buffer_object"); - extCaps.GL_ARB_shader_subroutine = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_subroutine"); - extCaps.GL_ARB_shader_texture_image_samples = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_texture_image_samples"); - extCaps.GL_ARB_shader_texture_lod = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_texture_lod"); - extCaps.GL_ARB_shader_viewport_layer_array = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shader_viewport_layer_array"); - extCaps.GL_ARB_shading_language_100 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_100"); - extCaps.GL_ARB_shading_language_420pack = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_420pack"); - extCaps.GL_ARB_shading_language_include = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_include"); - extCaps.GL_ARB_shading_language_packing = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shading_language_packing"); - extCaps.GL_ARB_shadow = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shadow"); - extCaps.GL_ARB_shadow_ambient = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_shadow_ambient"); - extCaps.GL_ARB_sparse_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_buffer"); - extCaps.GL_ARB_sparse_texture = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_texture"); - extCaps.GL_ARB_sparse_texture2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_texture2"); - extCaps.GL_ARB_sparse_texture_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sparse_texture_clamp"); - extCaps.GL_ARB_spirv_extensions = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_spirv_extensions"); - extCaps.GL_ARB_stencil_texturing = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_stencil_texturing"); - extCaps.GL_ARB_sync = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_sync"); - extCaps.GL_ARB_tessellation_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_tessellation_shader"); - extCaps.GL_ARB_texture_barrier = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_barrier"); - extCaps.GL_ARB_texture_border_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_border_clamp"); - extCaps.GL_ARB_texture_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_buffer_object"); - extCaps.GL_ARB_texture_buffer_object_rgb32 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_buffer_object_rgb32"); - extCaps.GL_ARB_texture_buffer_range = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_buffer_range"); - extCaps.GL_ARB_texture_compression = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_compression"); - extCaps.GL_ARB_texture_compression_bptc = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_compression_bptc"); - extCaps.GL_ARB_texture_compression_rgtc = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_compression_rgtc"); - extCaps.GL_ARB_texture_cube_map = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_cube_map"); - extCaps.GL_ARB_texture_cube_map_array = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_cube_map_array"); - extCaps.GL_ARB_texture_env_add = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_add"); - extCaps.GL_ARB_texture_env_combine = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_combine"); - extCaps.GL_ARB_texture_env_crossbar = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_crossbar"); - extCaps.GL_ARB_texture_env_dot3 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_env_dot3"); - extCaps.GL_ARB_texture_filter_anisotropic = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_filter_anisotropic"); - extCaps.GL_ARB_texture_filter_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_filter_minmax"); - extCaps.GL_ARB_texture_float = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_float"); - extCaps.GL_ARB_texture_gather = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_gather"); - extCaps.GL_ARB_texture_mirror_clamp_to_edge = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_mirror_clamp_to_edge"); - extCaps.GL_ARB_texture_mirrored_repeat = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_mirrored_repeat"); - extCaps.GL_ARB_texture_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_multisample"); - extCaps.GL_ARB_texture_non_power_of_two = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_non_power_of_two"); - extCaps.GL_ARB_texture_query_levels = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_query_levels"); - extCaps.GL_ARB_texture_query_lod = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_query_lod"); - extCaps.GL_ARB_texture_rectangle = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_rectangle"); - extCaps.GL_ARB_texture_rg = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_rg"); - extCaps.GL_ARB_texture_rgb10_a2ui = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_rgb10_a2ui"); - extCaps.GL_ARB_texture_stencil8 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_stencil8"); - extCaps.GL_ARB_texture_storage = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_storage"); - extCaps.GL_ARB_texture_storage_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_storage_multisample"); - extCaps.GL_ARB_texture_swizzle = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_swizzle"); - extCaps.GL_ARB_texture_view = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_texture_view"); - extCaps.GL_ARB_timer_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_timer_query"); - extCaps.GL_ARB_transform_feedback2 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback2"); - extCaps.GL_ARB_transform_feedback3 = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback3"); - extCaps.GL_ARB_transform_feedback_instanced = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback_instanced"); - extCaps.GL_ARB_transform_feedback_overflow_query = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transform_feedback_overflow_query"); - extCaps.GL_ARB_transpose_matrix = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_transpose_matrix"); - extCaps.GL_ARB_uniform_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_uniform_buffer_object"); - extCaps.GL_ARB_vertex_array_bgra = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_array_bgra"); - extCaps.GL_ARB_vertex_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_array_object"); - extCaps.GL_ARB_vertex_attrib_64bit = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_attrib_64bit"); - extCaps.GL_ARB_vertex_attrib_binding = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_attrib_binding"); - extCaps.GL_ARB_vertex_blend = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_blend"); - extCaps.GL_ARB_vertex_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_buffer_object"); - extCaps.GL_ARB_vertex_program = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_program"); - extCaps.GL_ARB_vertex_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_shader"); - extCaps.GL_ARB_vertex_type_10f_11f_11f_rev = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_type_10f_11f_11f_rev"); - extCaps.GL_ARB_vertex_type_2_10_10_10_rev = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_vertex_type_2_10_10_10_rev"); - extCaps.GL_ARB_viewport_array = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_viewport_array"); - extCaps.GL_ARB_window_pos = hasExtension(version, exts, numExtsI, extsI, "GL_ARB_window_pos"); - extCaps.GL_ATI_draw_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_draw_buffers"); - extCaps.GL_ATI_element_array = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_element_array"); - extCaps.GL_ATI_envmap_bumpmap = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_envmap_bumpmap"); - extCaps.GL_ATI_fragment_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_fragment_shader"); - extCaps.GL_ATI_map_object_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_map_object_buffer"); - extCaps.GL_ATI_meminfo = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_meminfo"); - extCaps.GL_ATI_pixel_format_float = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_pixel_format_float"); - extCaps.GL_ATI_pn_triangles = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_pn_triangles"); - extCaps.GL_ATI_separate_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_separate_stencil"); - extCaps.GL_ATI_text_fragment_shader = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_text_fragment_shader"); - extCaps.GL_ATI_texture_env_combine3 = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_texture_env_combine3"); - extCaps.GL_ATI_texture_float = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_texture_float"); - extCaps.GL_ATI_texture_mirror_once = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_texture_mirror_once"); - extCaps.GL_ATI_vertex_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_vertex_array_object"); - extCaps.GL_ATI_vertex_attrib_array_object = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_vertex_attrib_array_object"); - extCaps.GL_ATI_vertex_streams = hasExtension(version, exts, numExtsI, extsI, "GL_ATI_vertex_streams"); - extCaps.GL_EXT_422_pixels = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_422_pixels"); - extCaps.GL_EXT_EGL_image_storage = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_EGL_image_storage"); - extCaps.GL_EXT_EGL_sync = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_EGL_sync"); - extCaps.GL_EXT_abgr = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_abgr"); - extCaps.GL_EXT_bgra = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_bgra"); - extCaps.GL_EXT_bindable_uniform = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_bindable_uniform"); - extCaps.GL_EXT_blend_color = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_color"); - extCaps.GL_EXT_blend_equation_separate = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_equation_separate"); - extCaps.GL_EXT_blend_func_separate = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_func_separate"); - extCaps.GL_EXT_blend_logic_op = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_logic_op"); - extCaps.GL_EXT_blend_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_minmax"); - extCaps.GL_EXT_blend_subtract = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_blend_subtract"); - extCaps.GL_EXT_clip_volume_hint = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_clip_volume_hint"); - extCaps.GL_EXT_cmyka = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_cmyka"); - extCaps.GL_EXT_color_subtable = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_color_subtable"); - extCaps.GL_EXT_compiled_vertex_array = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_compiled_vertex_array"); - extCaps.GL_EXT_convolution = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_convolution"); - extCaps.GL_EXT_coordinate_frame = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_coordinate_frame"); - extCaps.GL_EXT_copy_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_copy_texture"); - extCaps.GL_EXT_cull_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_cull_vertex"); - extCaps.GL_EXT_debug_label = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_debug_label"); - extCaps.GL_EXT_debug_marker = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_debug_marker"); - extCaps.GL_EXT_depth_bounds_test = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_depth_bounds_test"); - extCaps.GL_EXT_direct_state_access = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_direct_state_access"); - extCaps.GL_EXT_draw_buffers2 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_draw_buffers2"); - extCaps.GL_EXT_draw_instanced = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_draw_instanced"); - extCaps.GL_EXT_draw_range_elements = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_draw_range_elements"); - extCaps.GL_EXT_external_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_external_buffer"); - extCaps.GL_EXT_fog_coord = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_fog_coord"); - extCaps.GL_EXT_framebuffer_blit = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_blit"); - extCaps.GL_EXT_framebuffer_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_multisample"); - extCaps.GL_EXT_framebuffer_multisample_blit_scaled = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_multisample_blit_scaled"); - extCaps.GL_EXT_framebuffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_object"); - extCaps.GL_EXT_framebuffer_sRGB = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_framebuffer_sRGB"); - extCaps.GL_EXT_geometry_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_geometry_shader4"); - extCaps.GL_EXT_gpu_program_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_gpu_program_parameters"); - extCaps.GL_EXT_gpu_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_gpu_shader4"); - extCaps.GL_EXT_histogram = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_histogram"); - extCaps.GL_EXT_index_array_formats = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_array_formats"); - extCaps.GL_EXT_index_func = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_func"); - extCaps.GL_EXT_index_material = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_material"); - extCaps.GL_EXT_index_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_index_texture"); - extCaps.GL_EXT_light_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_light_texture"); - extCaps.GL_EXT_memory_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_memory_object"); - extCaps.GL_EXT_memory_object_fd = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_memory_object_fd"); - extCaps.GL_EXT_memory_object_win32 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_memory_object_win32"); - extCaps.GL_EXT_misc_attribute = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_misc_attribute"); - extCaps.GL_EXT_multi_draw_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multi_draw_arrays"); - extCaps.GL_EXT_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multisample"); - extCaps.GL_EXT_multiview_tessellation_geometry_shader = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multiview_tessellation_geometry_shader"); - extCaps.GL_EXT_multiview_texture_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multiview_texture_multisample"); - extCaps.GL_EXT_multiview_timer_query = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_multiview_timer_query"); - extCaps.GL_EXT_packed_depth_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_packed_depth_stencil"); - extCaps.GL_EXT_packed_float = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_packed_float"); - extCaps.GL_EXT_packed_pixels = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_packed_pixels"); - extCaps.GL_EXT_paletted_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_paletted_texture"); - extCaps.GL_EXT_pixel_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_pixel_buffer_object"); - extCaps.GL_EXT_pixel_transform = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_pixel_transform"); - extCaps.GL_EXT_pixel_transform_color_table = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_pixel_transform_color_table"); - extCaps.GL_EXT_point_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_point_parameters"); - extCaps.GL_EXT_polygon_offset = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_polygon_offset"); - extCaps.GL_EXT_polygon_offset_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_polygon_offset_clamp"); - extCaps.GL_EXT_post_depth_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_post_depth_coverage"); - extCaps.GL_EXT_provoking_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_provoking_vertex"); - extCaps.GL_EXT_raster_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_raster_multisample"); - extCaps.GL_EXT_rescale_normal = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_rescale_normal"); - extCaps.GL_EXT_secondary_color = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_secondary_color"); - extCaps.GL_EXT_semaphore = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_semaphore"); - extCaps.GL_EXT_semaphore_fd = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_semaphore_fd"); - extCaps.GL_EXT_semaphore_win32 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_semaphore_win32"); - extCaps.GL_EXT_separate_shader_objects = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_separate_shader_objects"); - extCaps.GL_EXT_separate_specular_color = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_separate_specular_color"); - extCaps.GL_EXT_shader_framebuffer_fetch = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_framebuffer_fetch"); - extCaps.GL_EXT_shader_framebuffer_fetch_non_coherent = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_framebuffer_fetch_non_coherent"); - extCaps.GL_EXT_shader_image_load_formatted = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_image_load_formatted"); - extCaps.GL_EXT_shader_image_load_store = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_image_load_store"); - extCaps.GL_EXT_shader_integer_mix = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shader_integer_mix"); - extCaps.GL_EXT_shadow_funcs = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shadow_funcs"); - extCaps.GL_EXT_shared_texture_palette = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_shared_texture_palette"); - extCaps.GL_EXT_sparse_texture2 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_sparse_texture2"); - extCaps.GL_EXT_stencil_clear_tag = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_stencil_clear_tag"); - extCaps.GL_EXT_stencil_two_side = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_stencil_two_side"); - extCaps.GL_EXT_stencil_wrap = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_stencil_wrap"); - extCaps.GL_EXT_subtexture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_subtexture"); - extCaps.GL_EXT_texture = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture"); - extCaps.GL_EXT_texture3D = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture3D"); - extCaps.GL_EXT_texture_array = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_array"); - extCaps.GL_EXT_texture_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_buffer_object"); - extCaps.GL_EXT_texture_compression_latc = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_compression_latc"); - extCaps.GL_EXT_texture_compression_rgtc = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_compression_rgtc"); - extCaps.GL_EXT_texture_compression_s3tc = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_compression_s3tc"); - extCaps.GL_EXT_texture_cube_map = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_cube_map"); - extCaps.GL_EXT_texture_env_add = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_env_add"); - extCaps.GL_EXT_texture_env_combine = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_env_combine"); - extCaps.GL_EXT_texture_env_dot3 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_env_dot3"); - extCaps.GL_EXT_texture_filter_anisotropic = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_filter_anisotropic"); - extCaps.GL_EXT_texture_filter_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_filter_minmax"); - extCaps.GL_EXT_texture_integer = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_integer"); - extCaps.GL_EXT_texture_lod_bias = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_lod_bias"); - extCaps.GL_EXT_texture_mirror_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_mirror_clamp"); - extCaps.GL_EXT_texture_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_object"); - extCaps.GL_EXT_texture_perturb_normal = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_perturb_normal"); - extCaps.GL_EXT_texture_sRGB = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB"); - extCaps.GL_EXT_texture_sRGB_R8 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB_R8"); - extCaps.GL_EXT_texture_sRGB_RG8 = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB_RG8"); - extCaps.GL_EXT_texture_sRGB_decode = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_sRGB_decode"); - extCaps.GL_EXT_texture_shadow_lod = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_shadow_lod"); - extCaps.GL_EXT_texture_shared_exponent = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_shared_exponent"); - extCaps.GL_EXT_texture_snorm = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_snorm"); - extCaps.GL_EXT_texture_storage = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_storage"); - extCaps.GL_EXT_texture_swizzle = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_texture_swizzle"); - extCaps.GL_EXT_timer_query = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_timer_query"); - extCaps.GL_EXT_transform_feedback = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_transform_feedback"); - extCaps.GL_EXT_vertex_array = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_array"); - extCaps.GL_EXT_vertex_array_bgra = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_array_bgra"); - extCaps.GL_EXT_vertex_attrib_64bit = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_attrib_64bit"); - extCaps.GL_EXT_vertex_shader = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_shader"); - extCaps.GL_EXT_vertex_weighting = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_vertex_weighting"); - extCaps.GL_EXT_win32_keyed_mutex = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_win32_keyed_mutex"); - extCaps.GL_EXT_window_rectangles = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_window_rectangles"); - extCaps.GL_EXT_x11_sync_object = hasExtension(version, exts, numExtsI, extsI, "GL_EXT_x11_sync_object"); - extCaps.GL_GREMEDY_frame_terminator = hasExtension(version, exts, numExtsI, extsI, "GL_GREMEDY_frame_terminator"); - extCaps.GL_GREMEDY_string_marker = hasExtension(version, exts, numExtsI, extsI, "GL_GREMEDY_string_marker"); - extCaps.GL_HP_convolution_border_modes = hasExtension(version, exts, numExtsI, extsI, "GL_HP_convolution_border_modes"); - extCaps.GL_HP_image_transform = hasExtension(version, exts, numExtsI, extsI, "GL_HP_image_transform"); - extCaps.GL_HP_occlusion_test = hasExtension(version, exts, numExtsI, extsI, "GL_HP_occlusion_test"); - extCaps.GL_HP_texture_lighting = hasExtension(version, exts, numExtsI, extsI, "GL_HP_texture_lighting"); - extCaps.GL_IBM_cull_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_cull_vertex"); - extCaps.GL_IBM_multimode_draw_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_multimode_draw_arrays"); - extCaps.GL_IBM_rasterpos_clip = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_rasterpos_clip"); - extCaps.GL_IBM_static_data = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_static_data"); - extCaps.GL_IBM_texture_mirrored_repeat = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_texture_mirrored_repeat"); - extCaps.GL_IBM_vertex_array_lists = hasExtension(version, exts, numExtsI, extsI, "GL_IBM_vertex_array_lists"); - extCaps.GL_INGR_blend_func_separate = hasExtension(version, exts, numExtsI, extsI, "GL_INGR_blend_func_separate"); - extCaps.GL_INGR_color_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_INGR_color_clamp"); - extCaps.GL_INGR_interlace_read = hasExtension(version, exts, numExtsI, extsI, "GL_INGR_interlace_read"); - extCaps.GL_INTEL_blackhole_render = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_blackhole_render"); - extCaps.GL_INTEL_conservative_rasterization = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_conservative_rasterization"); - extCaps.GL_INTEL_fragment_shader_ordering = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_fragment_shader_ordering"); - extCaps.GL_INTEL_framebuffer_CMAA = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_framebuffer_CMAA"); - extCaps.GL_INTEL_map_texture = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_map_texture"); - extCaps.GL_INTEL_parallel_arrays = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_parallel_arrays"); - extCaps.GL_INTEL_performance_query = hasExtension(version, exts, numExtsI, extsI, "GL_INTEL_performance_query"); - extCaps.GL_KHR_blend_equation_advanced = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_blend_equation_advanced"); - extCaps.GL_KHR_blend_equation_advanced_coherent = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_blend_equation_advanced_coherent"); - extCaps.GL_KHR_context_flush_control = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_context_flush_control"); - extCaps.GL_KHR_debug = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_debug"); - extCaps.GL_KHR_no_error = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_no_error"); - extCaps.GL_KHR_parallel_shader_compile = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_parallel_shader_compile"); - extCaps.GL_KHR_robust_buffer_access_behavior = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_robust_buffer_access_behavior"); - extCaps.GL_KHR_robustness = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_robustness"); - extCaps.GL_KHR_shader_subgroup = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_shader_subgroup"); - extCaps.GL_KHR_texture_compression_astc_hdr = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_texture_compression_astc_hdr"); - extCaps.GL_KHR_texture_compression_astc_ldr = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_texture_compression_astc_ldr"); - extCaps.GL_KHR_texture_compression_astc_sliced_3d = hasExtension(version, exts, numExtsI, extsI, "GL_KHR_texture_compression_astc_sliced_3d"); - extCaps.GL_MESAX_texture_stack = hasExtension(version, exts, numExtsI, extsI, "GL_MESAX_texture_stack"); - extCaps.GL_MESA_framebuffer_flip_x = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_framebuffer_flip_x"); - extCaps.GL_MESA_framebuffer_flip_y = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_framebuffer_flip_y"); - extCaps.GL_MESA_framebuffer_swap_xy = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_framebuffer_swap_xy"); - extCaps.GL_MESA_pack_invert = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_pack_invert"); - extCaps.GL_MESA_program_binary_formats = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_program_binary_formats"); - extCaps.GL_MESA_resize_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_resize_buffers"); - extCaps.GL_MESA_shader_integer_functions = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_shader_integer_functions"); - extCaps.GL_MESA_tile_raster_order = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_tile_raster_order"); - extCaps.GL_MESA_window_pos = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_window_pos"); - extCaps.GL_MESA_ycbcr_texture = hasExtension(version, exts, numExtsI, extsI, "GL_MESA_ycbcr_texture"); - extCaps.GL_NVX_blend_equation_advanced_multi_draw_buffers = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_blend_equation_advanced_multi_draw_buffers"); - extCaps.GL_NVX_conditional_render = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_conditional_render"); - extCaps.GL_NVX_gpu_memory_info = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_gpu_memory_info"); - extCaps.GL_NVX_gpu_multicast2 = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_gpu_multicast2"); - extCaps.GL_NVX_linked_gpu_multicast = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_linked_gpu_multicast"); - extCaps.GL_NVX_progress_fence = hasExtension(version, exts, numExtsI, extsI, "GL_NVX_progress_fence"); - extCaps.GL_NV_alpha_to_coverage_dither_control = hasExtension(version, exts, numExtsI, extsI, "GL_NV_alpha_to_coverage_dither_control"); - extCaps.GL_NV_bindless_multi_draw_indirect = hasExtension(version, exts, numExtsI, extsI, "GL_NV_bindless_multi_draw_indirect"); - extCaps.GL_NV_bindless_multi_draw_indirect_count = hasExtension(version, exts, numExtsI, extsI, "GL_NV_bindless_multi_draw_indirect_count"); - extCaps.GL_NV_bindless_texture = hasExtension(version, exts, numExtsI, extsI, "GL_NV_bindless_texture"); - extCaps.GL_NV_blend_equation_advanced = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_equation_advanced"); - extCaps.GL_NV_blend_equation_advanced_coherent = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_equation_advanced_coherent"); - extCaps.GL_NV_blend_minmax_factor = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_minmax_factor"); - extCaps.GL_NV_blend_square = hasExtension(version, exts, numExtsI, extsI, "GL_NV_blend_square"); - extCaps.GL_NV_clip_space_w_scaling = hasExtension(version, exts, numExtsI, extsI, "GL_NV_clip_space_w_scaling"); - extCaps.GL_NV_command_list = hasExtension(version, exts, numExtsI, extsI, "GL_NV_command_list"); - extCaps.GL_NV_compute_program5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_compute_program5"); - extCaps.GL_NV_compute_shader_derivatives = hasExtension(version, exts, numExtsI, extsI, "GL_NV_compute_shader_derivatives"); - extCaps.GL_NV_conditional_render = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conditional_render"); - extCaps.GL_NV_conservative_raster = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster"); - extCaps.GL_NV_conservative_raster_dilate = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_dilate"); - extCaps.GL_NV_conservative_raster_pre_snap = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_pre_snap"); - extCaps.GL_NV_conservative_raster_pre_snap_triangles = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_pre_snap_triangles"); - extCaps.GL_NV_conservative_raster_underestimation = hasExtension(version, exts, numExtsI, extsI, "GL_NV_conservative_raster_underestimation"); - extCaps.GL_NV_copy_depth_to_color = hasExtension(version, exts, numExtsI, extsI, "GL_NV_copy_depth_to_color"); - extCaps.GL_NV_copy_image = hasExtension(version, exts, numExtsI, extsI, "GL_NV_copy_image"); - extCaps.GL_NV_deep_texture3D = hasExtension(version, exts, numExtsI, extsI, "GL_NV_deep_texture3D"); - extCaps.GL_NV_depth_buffer_float = hasExtension(version, exts, numExtsI, extsI, "GL_NV_depth_buffer_float"); - extCaps.GL_NV_depth_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_NV_depth_clamp"); - extCaps.GL_NV_draw_texture = hasExtension(version, exts, numExtsI, extsI, "GL_NV_draw_texture"); - extCaps.GL_NV_draw_vulkan_image = hasExtension(version, exts, numExtsI, extsI, "GL_NV_draw_vulkan_image"); - extCaps.GL_NV_evaluators = hasExtension(version, exts, numExtsI, extsI, "GL_NV_evaluators"); - extCaps.GL_NV_explicit_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_NV_explicit_multisample"); - extCaps.GL_NV_fence = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fence"); - extCaps.GL_NV_fill_rectangle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fill_rectangle"); - extCaps.GL_NV_float_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_NV_float_buffer"); - extCaps.GL_NV_fog_distance = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fog_distance"); - extCaps.GL_NV_fragment_coverage_to_color = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_coverage_to_color"); - extCaps.GL_NV_fragment_program = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program"); - extCaps.GL_NV_fragment_program2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program2"); - extCaps.GL_NV_fragment_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program4"); - extCaps.GL_NV_fragment_program_option = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_program_option"); - extCaps.GL_NV_fragment_shader_barycentric = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_shader_barycentric"); - extCaps.GL_NV_fragment_shader_interlock = hasExtension(version, exts, numExtsI, extsI, "GL_NV_fragment_shader_interlock"); - extCaps.GL_NV_framebuffer_mixed_samples = hasExtension(version, exts, numExtsI, extsI, "GL_NV_framebuffer_mixed_samples"); - extCaps.GL_NV_framebuffer_multisample_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_NV_framebuffer_multisample_coverage"); - extCaps.GL_NV_geometry_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_geometry_program4"); - extCaps.GL_NV_geometry_shader4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_geometry_shader4"); - extCaps.GL_NV_geometry_shader_passthrough = hasExtension(version, exts, numExtsI, extsI, "GL_NV_geometry_shader_passthrough"); - extCaps.GL_NV_gpu_multicast = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_multicast"); - extCaps.GL_NV_gpu_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_program4"); - extCaps.GL_NV_gpu_program5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_program5"); - extCaps.GL_NV_gpu_program5_mem_extended = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_program5_mem_extended"); - extCaps.GL_NV_gpu_shader5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_gpu_shader5"); - extCaps.GL_NV_half_float = hasExtension(version, exts, numExtsI, extsI, "GL_NV_half_float"); - extCaps.GL_NV_internalformat_sample_query = hasExtension(version, exts, numExtsI, extsI, "GL_NV_internalformat_sample_query"); - extCaps.GL_NV_light_max_exponent = hasExtension(version, exts, numExtsI, extsI, "GL_NV_light_max_exponent"); - extCaps.GL_NV_memory_attachment = hasExtension(version, exts, numExtsI, extsI, "GL_NV_memory_attachment"); - extCaps.GL_NV_memory_object_sparse = hasExtension(version, exts, numExtsI, extsI, "GL_NV_memory_object_sparse"); - extCaps.GL_NV_mesh_shader = hasExtension(version, exts, numExtsI, extsI, "GL_NV_mesh_shader"); - extCaps.GL_NV_multisample_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_NV_multisample_coverage"); - extCaps.GL_NV_multisample_filter_hint = hasExtension(version, exts, numExtsI, extsI, "GL_NV_multisample_filter_hint"); - extCaps.GL_NV_occlusion_query = hasExtension(version, exts, numExtsI, extsI, "GL_NV_occlusion_query"); - extCaps.GL_NV_packed_depth_stencil = hasExtension(version, exts, numExtsI, extsI, "GL_NV_packed_depth_stencil"); - extCaps.GL_NV_parameter_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_NV_parameter_buffer_object"); - extCaps.GL_NV_parameter_buffer_object2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_parameter_buffer_object2"); - extCaps.GL_NV_path_rendering = hasExtension(version, exts, numExtsI, extsI, "GL_NV_path_rendering"); - extCaps.GL_NV_path_rendering_shared_edge = hasExtension(version, exts, numExtsI, extsI, "GL_NV_path_rendering_shared_edge"); - extCaps.GL_NV_pixel_data_range = hasExtension(version, exts, numExtsI, extsI, "GL_NV_pixel_data_range"); - extCaps.GL_NV_point_sprite = hasExtension(version, exts, numExtsI, extsI, "GL_NV_point_sprite"); - extCaps.GL_NV_present_video = hasExtension(version, exts, numExtsI, extsI, "GL_NV_present_video"); - extCaps.GL_NV_primitive_restart = hasExtension(version, exts, numExtsI, extsI, "GL_NV_primitive_restart"); - extCaps.GL_NV_primitive_shading_rate = hasExtension(version, exts, numExtsI, extsI, "GL_NV_primitive_shading_rate"); - extCaps.GL_NV_query_resource = hasExtension(version, exts, numExtsI, extsI, "GL_NV_query_resource"); - extCaps.GL_NV_query_resource_tag = hasExtension(version, exts, numExtsI, extsI, "GL_NV_query_resource_tag"); - extCaps.GL_NV_register_combiners = hasExtension(version, exts, numExtsI, extsI, "GL_NV_register_combiners"); - extCaps.GL_NV_register_combiners2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_register_combiners2"); - extCaps.GL_NV_representative_fragment_test = hasExtension(version, exts, numExtsI, extsI, "GL_NV_representative_fragment_test"); - extCaps.GL_NV_robustness_video_memory_purge = hasExtension(version, exts, numExtsI, extsI, "GL_NV_robustness_video_memory_purge"); - extCaps.GL_NV_sample_locations = hasExtension(version, exts, numExtsI, extsI, "GL_NV_sample_locations"); - extCaps.GL_NV_sample_mask_override_coverage = hasExtension(version, exts, numExtsI, extsI, "GL_NV_sample_mask_override_coverage"); - extCaps.GL_NV_scissor_exclusive = hasExtension(version, exts, numExtsI, extsI, "GL_NV_scissor_exclusive"); - extCaps.GL_NV_shader_atomic_counters = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_counters"); - extCaps.GL_NV_shader_atomic_float = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_float"); - extCaps.GL_NV_shader_atomic_float64 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_float64"); - extCaps.GL_NV_shader_atomic_fp16_vector = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_fp16_vector"); - extCaps.GL_NV_shader_atomic_int64 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_atomic_int64"); - extCaps.GL_NV_shader_buffer_load = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_buffer_load"); - extCaps.GL_NV_shader_buffer_store = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_buffer_store"); - extCaps.GL_NV_shader_storage_buffer_object = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_storage_buffer_object"); - extCaps.GL_NV_shader_subgroup_partitioned = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_subgroup_partitioned"); - extCaps.GL_NV_shader_texture_footprint = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_texture_footprint"); - extCaps.GL_NV_shader_thread_group = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_thread_group"); - extCaps.GL_NV_shader_thread_shuffle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shader_thread_shuffle"); - extCaps.GL_NV_shading_rate_image = hasExtension(version, exts, numExtsI, extsI, "GL_NV_shading_rate_image"); - extCaps.GL_NV_stereo_view_rendering = hasExtension(version, exts, numExtsI, extsI, "GL_NV_stereo_view_rendering"); - extCaps.GL_NV_tessellation_program5 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_tessellation_program5"); - extCaps.GL_NV_texgen_emboss = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texgen_emboss"); - extCaps.GL_NV_texgen_reflection = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texgen_reflection"); - extCaps.GL_NV_texture_barrier = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_barrier"); - extCaps.GL_NV_texture_compression_vtc = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_compression_vtc"); - extCaps.GL_NV_texture_env_combine4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_env_combine4"); - extCaps.GL_NV_texture_expand_normal = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_expand_normal"); - extCaps.GL_NV_texture_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_multisample"); - extCaps.GL_NV_texture_rectangle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_rectangle"); - extCaps.GL_NV_texture_rectangle_compressed = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_rectangle_compressed"); - extCaps.GL_NV_texture_shader = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_shader"); - extCaps.GL_NV_texture_shader2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_shader2"); - extCaps.GL_NV_texture_shader3 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_texture_shader3"); - extCaps.GL_NV_timeline_semaphore = hasExtension(version, exts, numExtsI, extsI, "GL_NV_timeline_semaphore"); - extCaps.GL_NV_transform_feedback = hasExtension(version, exts, numExtsI, extsI, "GL_NV_transform_feedback"); - extCaps.GL_NV_transform_feedback2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_transform_feedback2"); - extCaps.GL_NV_uniform_buffer_unified_memory = hasExtension(version, exts, numExtsI, extsI, "GL_NV_uniform_buffer_unified_memory"); - extCaps.GL_NV_vdpau_interop = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vdpau_interop"); - extCaps.GL_NV_vdpau_interop2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vdpau_interop2"); - extCaps.GL_NV_vertex_array_range = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_array_range"); - extCaps.GL_NV_vertex_array_range2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_array_range2"); - extCaps.GL_NV_vertex_attrib_integer_64bit = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_attrib_integer_64bit"); - extCaps.GL_NV_vertex_buffer_unified_memory = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_buffer_unified_memory"); - extCaps.GL_NV_vertex_program = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program"); - extCaps.GL_NV_vertex_program1_1 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program1_1"); - extCaps.GL_NV_vertex_program2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program2"); - extCaps.GL_NV_vertex_program2_option = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program2_option"); - extCaps.GL_NV_vertex_program3 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program3"); - extCaps.GL_NV_vertex_program4 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vertex_program4"); - extCaps.GL_NV_video_capture = hasExtension(version, exts, numExtsI, extsI, "GL_NV_video_capture"); - extCaps.GL_NV_viewport_array2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_viewport_array2"); - extCaps.GL_NV_viewport_swizzle = hasExtension(version, exts, numExtsI, extsI, "GL_NV_viewport_swizzle"); - extCaps.GL_OES_byte_coordinates = hasExtension(version, exts, numExtsI, extsI, "GL_OES_byte_coordinates"); - extCaps.GL_OES_compressed_paletted_texture = hasExtension(version, exts, numExtsI, extsI, "GL_OES_compressed_paletted_texture"); - extCaps.GL_OES_fixed_point = hasExtension(version, exts, numExtsI, extsI, "GL_OES_fixed_point"); - extCaps.GL_OES_query_matrix = hasExtension(version, exts, numExtsI, extsI, "GL_OES_query_matrix"); - extCaps.GL_OES_read_format = hasExtension(version, exts, numExtsI, extsI, "GL_OES_read_format"); - extCaps.GL_OES_single_precision = hasExtension(version, exts, numExtsI, extsI, "GL_OES_single_precision"); - extCaps.GL_OML_interlace = hasExtension(version, exts, numExtsI, extsI, "GL_OML_interlace"); - extCaps.GL_OML_resample = hasExtension(version, exts, numExtsI, extsI, "GL_OML_resample"); - extCaps.GL_OML_subsample = hasExtension(version, exts, numExtsI, extsI, "GL_OML_subsample"); - extCaps.GL_OVR_multiview = hasExtension(version, exts, numExtsI, extsI, "GL_OVR_multiview"); - extCaps.GL_OVR_multiview2 = hasExtension(version, exts, numExtsI, extsI, "GL_OVR_multiview2"); - extCaps.GL_PGI_misc_hints = hasExtension(version, exts, numExtsI, extsI, "GL_PGI_misc_hints"); - extCaps.GL_PGI_vertex_hints = hasExtension(version, exts, numExtsI, extsI, "GL_PGI_vertex_hints"); - extCaps.GL_REND_screen_coordinates = hasExtension(version, exts, numExtsI, extsI, "GL_REND_screen_coordinates"); - extCaps.GL_S3_s3tc = hasExtension(version, exts, numExtsI, extsI, "GL_S3_s3tc"); - extCaps.GL_SGIS_detail_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_detail_texture"); - extCaps.GL_SGIS_fog_function = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_fog_function"); - extCaps.GL_SGIS_generate_mipmap = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_generate_mipmap"); - extCaps.GL_SGIS_multisample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_multisample"); - extCaps.GL_SGIS_pixel_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_pixel_texture"); - extCaps.GL_SGIS_point_line_texgen = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_point_line_texgen"); - extCaps.GL_SGIS_point_parameters = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_point_parameters"); - extCaps.GL_SGIS_sharpen_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_sharpen_texture"); - extCaps.GL_SGIS_texture4D = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture4D"); - extCaps.GL_SGIS_texture_border_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_border_clamp"); - extCaps.GL_SGIS_texture_color_mask = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_color_mask"); - extCaps.GL_SGIS_texture_edge_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_edge_clamp"); - extCaps.GL_SGIS_texture_filter4 = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_filter4"); - extCaps.GL_SGIS_texture_lod = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_lod"); - extCaps.GL_SGIS_texture_select = hasExtension(version, exts, numExtsI, extsI, "GL_SGIS_texture_select"); - extCaps.GL_SGIX_async = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_async"); - extCaps.GL_SGIX_async_histogram = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_async_histogram"); - extCaps.GL_SGIX_async_pixel = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_async_pixel"); - extCaps.GL_SGIX_blend_alpha_minmax = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_blend_alpha_minmax"); - extCaps.GL_SGIX_calligraphic_fragment = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_calligraphic_fragment"); - extCaps.GL_SGIX_clipmap = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_clipmap"); - extCaps.GL_SGIX_convolution_accuracy = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_convolution_accuracy"); - extCaps.GL_SGIX_depth_pass_instrument = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_depth_pass_instrument"); - extCaps.GL_SGIX_depth_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_depth_texture"); - extCaps.GL_SGIX_flush_raster = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_flush_raster"); - extCaps.GL_SGIX_fog_offset = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_fog_offset"); - extCaps.GL_SGIX_fragment_lighting = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_fragment_lighting"); - extCaps.GL_SGIX_framezoom = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_framezoom"); - extCaps.GL_SGIX_igloo_interface = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_igloo_interface"); - extCaps.GL_SGIX_instruments = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_instruments"); - extCaps.GL_SGIX_interlace = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_interlace"); - extCaps.GL_SGIX_ir_instrument1 = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ir_instrument1"); - extCaps.GL_SGIX_list_priority = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_list_priority"); - extCaps.GL_SGIX_pixel_texture = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_pixel_texture"); - extCaps.GL_SGIX_pixel_tiles = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_pixel_tiles"); - extCaps.GL_SGIX_polynomial_ffd = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_polynomial_ffd"); - extCaps.GL_SGIX_reference_plane = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_reference_plane"); - extCaps.GL_SGIX_resample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_resample"); - extCaps.GL_SGIX_scalebias_hint = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_scalebias_hint"); - extCaps.GL_SGIX_shadow = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_shadow"); - extCaps.GL_SGIX_shadow_ambient = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_shadow_ambient"); - extCaps.GL_SGIX_sprite = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_sprite"); - extCaps.GL_SGIX_subsample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_subsample"); - extCaps.GL_SGIX_tag_sample_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_tag_sample_buffer"); - extCaps.GL_SGIX_texture_add_env = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_add_env"); - extCaps.GL_SGIX_texture_coordinate_clamp = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_coordinate_clamp"); - extCaps.GL_SGIX_texture_lod_bias = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_lod_bias"); - extCaps.GL_SGIX_texture_multi_buffer = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_multi_buffer"); - extCaps.GL_SGIX_texture_scale_bias = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_texture_scale_bias"); - extCaps.GL_SGIX_vertex_preclip = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_vertex_preclip"); - extCaps.GL_SGIX_ycrcb = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ycrcb"); - extCaps.GL_SGIX_ycrcb_subsample = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ycrcb_subsample"); - extCaps.GL_SGIX_ycrcba = hasExtension(version, exts, numExtsI, extsI, "GL_SGIX_ycrcba"); - extCaps.GL_SGI_color_matrix = hasExtension(version, exts, numExtsI, extsI, "GL_SGI_color_matrix"); - extCaps.GL_SGI_color_table = hasExtension(version, exts, numExtsI, extsI, "GL_SGI_color_table"); - extCaps.GL_SGI_texture_color_table = hasExtension(version, exts, numExtsI, extsI, "GL_SGI_texture_color_table"); - extCaps.GL_SUNX_constant_data = hasExtension(version, exts, numExtsI, extsI, "GL_SUNX_constant_data"); - extCaps.GL_SUN_convolution_border_modes = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_convolution_border_modes"); - extCaps.GL_SUN_global_alpha = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_global_alpha"); - extCaps.GL_SUN_mesh_array = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_mesh_array"); - extCaps.GL_SUN_slice_accum = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_slice_accum"); - extCaps.GL_SUN_triangle_list = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_triangle_list"); - extCaps.GL_SUN_vertex = hasExtension(version, exts, numExtsI, extsI, "GL_SUN_vertex"); - extCaps.GL_WIN_phong_shading = hasExtension(version, exts, numExtsI, extsI, "GL_WIN_phong_shading"); - extCaps.GL_WIN_specular_fog = hasExtension(version, exts, numExtsI, extsI, "GL_WIN_specular_fog"); - - return true; - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java index 2c031de6..0bf02aea 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java index 9f49a643..82a24bb4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java index 4af7fd0d..d5b93ba8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java index d3654e39..1b5a3aab 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java index bd095284..fd556f57 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java index ebc1c403..89919e62 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java index d2143737..0fea5dd3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java index e8a982a0..4a8cf9ca 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java index 6ab52e78..730067e4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java index 222c25ae..572b7f0c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java index 0fbc4532..da602d63 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java index 2b92b2da..158966ca 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java new file mode 100644 index 00000000..e03f6e5c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OML_interlace} + */ +public final class GLOMLInterlace { + public static final int GL_INTERLACE_OML = 0x8980; + public static final int GL_INTERLACE_READ_OML = 0x8981; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java new file mode 100644 index 00000000..865fb884 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java @@ -0,0 +1,37 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OML_resample} + */ +public final class GLOMLResample { + public static final int GL_PACK_RESAMPLE_OML = 0x8984; + public static final int GL_UNPACK_RESAMPLE_OML = 0x8985; + public static final int GL_RESAMPLE_REPLICATE_OML = 0x8986; + public static final int GL_RESAMPLE_ZERO_FILL_OML = 0x8987; + public static final int GL_RESAMPLE_AVERAGE_OML = 0x8988; + public static final int GL_RESAMPLE_DECIMATE_OML = 0x8989; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java new file mode 100644 index 00000000..2c656ec3 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_OML_subsample} + */ +public final class GLOMLSubsample { + public static final int GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982; + public static final int GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java index 7038938a..701339c2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java index ec40e58d..052269b9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java index 56357b45..950ba648 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java new file mode 100644 index 00000000..ef109c55 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_REND_screen_coordinates} + */ +public final class GLRENDScreenCoordinates { + public static final int GL_SCREEN_COORDINATES_REND = 0x8490; + public static final int GL_INVERTED_SCREEN_W_REND = 0x8491; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java new file mode 100644 index 00000000..c2a70d07 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java @@ -0,0 +1,37 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_S3_s3tc} + */ +public final class GLS3S3tc { + public static final int GL_RGB_S3TC = 0x83A0; + public static final int GL_RGB4_S3TC = 0x83A1; + public static final int GL_RGBA_S3TC = 0x83A2; + public static final int GL_RGBA4_S3TC = 0x83A3; + public static final int GL_RGBA_DXT5_S3TC = 0x83A4; + public static final int GL_RGBA4_DXT5_S3TC = 0x83A5; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java index 69ba14a6..5b16fe97 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java index 936e4105..573b7e81 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java index 280f71bc..6c4a45a5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java index 8fecbb27..dd37bbdb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java index 695f6efc..f354fa5c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java index 33a745b4..b6c09e0c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java index 7192f84a..2f9980ef 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java index 99b50325..469e674e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java index 4c48a47a..d75d7a49 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java index a00cebf3..beab01ec 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java index 819e463e..be3e391b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java index 4b719c69..78da667a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java index f0025953..67ed557b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java index 279cec60..5f7f9df0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java index 8f28a144..d4a4ebe4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java index afbd6535..d08374e6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java index e9da4c9f..4f596ba7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java index 941da07b..21d6bc19 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java index 79de1baf..41fd8b3b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java index 09e684db..c8ba3568 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java index c598d223..5bf64bce 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java index 45cd42e3..26829472 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java index 522993a0..bab83f5d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java index fa71e4de..21958211 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java index dfe7cfa7..f61a0fdf 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java index a82ea31a..73ce0074 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java index 5a4f9f0e..66513662 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java index 71a1d74c..7bdd3679 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java index 6282a6c9..71be15b4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java index a2167d3a..c04a97bd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java index fcac4f7e..83c17106 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java index 1c997292..7b16a322 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java index 36c59aeb..f87ea810 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java index f9322c74..f72247c6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java index 1d0cddf3..091991e0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java index 7c6195f6..bb84a852 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java index 8024ed45..de4feff0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java index b5b0013e..0e658f9f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java index 33880dda..7614613b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java index 8db4d3b6..ac7f0fe0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java index aef2adb9..448573dc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java index 71afda02..c13fe8a1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java index d622f775..efdd6b96 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java index cdd891be..e59f4cfc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java index 364c5694..6e6094c6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java index 9b81b6e2..79b5e71a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java index 74170b9e..f8aeedd9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java index e06c812e..db29443a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java index 40a3c8e4..3c9b8b52 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java index decd2138..ad4a5cd8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java index cbf1bf3c..44feb958 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java index 8469ce5c..56b211b4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java index 13498226..4a403360 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java index 665764b8..03719961 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java index a7e3032a..98fa7a81 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java index 022857b9..c727fa90 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java index cc6c9967..4072516f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java index 031e6a30..726c5b37 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java index 5e0f1ec8..4b2f644e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java index 28717aba..19b0cc93 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java index d3fbd9cb..d0fb4de8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java index 2fc11aac..97d0327b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java index 1dc0565f..f0636ca9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java index 5434c49e..c9f8aaf6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java index b4f912e5..09bf3e2c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java index 96df2a40..4373fc14 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java index 21b4b585..209d677d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java index 95eb6359..a4785a7e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java new file mode 100644 index 00000000..276c746e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java @@ -0,0 +1,60 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_draw_buffers} + */ +public final class GLATIDrawBuffers { + public static final int GL_MAX_DRAW_BUFFERS_ATI = 0x8824; + public static final int GL_DRAW_BUFFER0_ATI = 0x8825; + public static final int GL_DRAW_BUFFER1_ATI = 0x8826; + public static final int GL_DRAW_BUFFER2_ATI = 0x8827; + public static final int GL_DRAW_BUFFER3_ATI = 0x8828; + public static final int GL_DRAW_BUFFER4_ATI = 0x8829; + public static final int GL_DRAW_BUFFER5_ATI = 0x882A; + public static final int GL_DRAW_BUFFER6_ATI = 0x882B; + public static final int GL_DRAW_BUFFER7_ATI = 0x882C; + public static final int GL_DRAW_BUFFER8_ATI = 0x882D; + public static final int GL_DRAW_BUFFER9_ATI = 0x882E; + public static final int GL_DRAW_BUFFER10_ATI = 0x882F; + public static final int GL_DRAW_BUFFER11_ATI = 0x8830; + public static final int GL_DRAW_BUFFER12_ATI = 0x8831; + public static final int GL_DRAW_BUFFER13_ATI = 0x8832; + public static final int GL_DRAW_BUFFER14_ATI = 0x8833; + public static final int GL_DRAW_BUFFER15_ATI = 0x8834; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_draw_buffers) return; + ext.glDrawBuffersATI = load.invoke("glDrawBuffersATI", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glDrawBuffersATI(int n, @NativeType("const GLenum *") MemorySegment bufs) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawBuffersATI).invokeExact(n, bufs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java new file mode 100644 index 00000000..db779d68 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java @@ -0,0 +1,62 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_element_array} + */ +public final class GLATIElementArray { + public static final int GL_ELEMENT_ARRAY_ATI = 0x8768; + public static final int GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769; + public static final int GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_element_array) return; + ext.glElementPointerATI = load.invoke("glElementPointerATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glDrawElementArrayATI = load.invoke("glDrawElementArrayATI", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDrawRangeElementArrayATI = load.invoke("glDrawRangeElementArrayATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glElementPointerATI(int type, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glElementPointerATI).invokeExact(type, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawElementArrayATI(int mode, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawElementArrayATI).invokeExact(mode, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawRangeElementArrayATI(int mode, int start, int end, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawRangeElementArrayATI).invokeExact(mode, start, end, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java new file mode 100644 index 00000000..a3324ba2 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java @@ -0,0 +1,75 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_envmap_bumpmap} + */ +public final class GLATIEnvmapBumpmap { + public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775; + public static final int GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; + public static final int GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777; + public static final int GL_BUMP_TEX_UNITS_ATI = 0x8778; + public static final int GL_DUDV_ATI = 0x8779; + public static final int GL_DU8DV8_ATI = 0x877A; + public static final int GL_BUMP_ENVMAP_ATI = 0x877B; + public static final int GL_BUMP_TARGET_ATI = 0x877C; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_envmap_bumpmap) return; + ext.glTexBumpParameterivATI = load.invoke("glTexBumpParameterivATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glTexBumpParameterfvATI = load.invoke("glTexBumpParameterfvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetTexBumpParameterivATI = load.invoke("glGetTexBumpParameterivATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetTexBumpParameterfvATI = load.invoke("glGetTexBumpParameterfvATI", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glTexBumpParameterivATI(int pname, @NativeType("const GLint *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexBumpParameterivATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexBumpParameterfvATI(int pname, @NativeType("const GLfloat *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexBumpParameterfvATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexBumpParameterivATI(int pname, @NativeType("GLint *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexBumpParameterivATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexBumpParameterfvATI(int pname, @NativeType("GLfloat *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexBumpParameterfvATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java new file mode 100644 index 00000000..8e4ad1ff --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java @@ -0,0 +1,252 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_fragment_shader} + */ +public final class GLATIFragmentShader { + public static final int GL_FRAGMENT_SHADER_ATI = 0x8920; + public static final int GL_REG_0_ATI = 0x8921; + public static final int GL_REG_1_ATI = 0x8922; + public static final int GL_REG_2_ATI = 0x8923; + public static final int GL_REG_3_ATI = 0x8924; + public static final int GL_REG_4_ATI = 0x8925; + public static final int GL_REG_5_ATI = 0x8926; + public static final int GL_REG_6_ATI = 0x8927; + public static final int GL_REG_7_ATI = 0x8928; + public static final int GL_REG_8_ATI = 0x8929; + public static final int GL_REG_9_ATI = 0x892A; + public static final int GL_REG_10_ATI = 0x892B; + public static final int GL_REG_11_ATI = 0x892C; + public static final int GL_REG_12_ATI = 0x892D; + public static final int GL_REG_13_ATI = 0x892E; + public static final int GL_REG_14_ATI = 0x892F; + public static final int GL_REG_15_ATI = 0x8930; + public static final int GL_REG_16_ATI = 0x8931; + public static final int GL_REG_17_ATI = 0x8932; + public static final int GL_REG_18_ATI = 0x8933; + public static final int GL_REG_19_ATI = 0x8934; + public static final int GL_REG_20_ATI = 0x8935; + public static final int GL_REG_21_ATI = 0x8936; + public static final int GL_REG_22_ATI = 0x8937; + public static final int GL_REG_23_ATI = 0x8938; + public static final int GL_REG_24_ATI = 0x8939; + public static final int GL_REG_25_ATI = 0x893A; + public static final int GL_REG_26_ATI = 0x893B; + public static final int GL_REG_27_ATI = 0x893C; + public static final int GL_REG_28_ATI = 0x893D; + public static final int GL_REG_29_ATI = 0x893E; + public static final int GL_REG_30_ATI = 0x893F; + public static final int GL_REG_31_ATI = 0x8940; + public static final int GL_CON_0_ATI = 0x8941; + public static final int GL_CON_1_ATI = 0x8942; + public static final int GL_CON_2_ATI = 0x8943; + public static final int GL_CON_3_ATI = 0x8944; + public static final int GL_CON_4_ATI = 0x8945; + public static final int GL_CON_5_ATI = 0x8946; + public static final int GL_CON_6_ATI = 0x8947; + public static final int GL_CON_7_ATI = 0x8948; + public static final int GL_CON_8_ATI = 0x8949; + public static final int GL_CON_9_ATI = 0x894A; + public static final int GL_CON_10_ATI = 0x894B; + public static final int GL_CON_11_ATI = 0x894C; + public static final int GL_CON_12_ATI = 0x894D; + public static final int GL_CON_13_ATI = 0x894E; + public static final int GL_CON_14_ATI = 0x894F; + public static final int GL_CON_15_ATI = 0x8950; + public static final int GL_CON_16_ATI = 0x8951; + public static final int GL_CON_17_ATI = 0x8952; + public static final int GL_CON_18_ATI = 0x8953; + public static final int GL_CON_19_ATI = 0x8954; + public static final int GL_CON_20_ATI = 0x8955; + public static final int GL_CON_21_ATI = 0x8956; + public static final int GL_CON_22_ATI = 0x8957; + public static final int GL_CON_23_ATI = 0x8958; + public static final int GL_CON_24_ATI = 0x8959; + public static final int GL_CON_25_ATI = 0x895A; + public static final int GL_CON_26_ATI = 0x895B; + public static final int GL_CON_27_ATI = 0x895C; + public static final int GL_CON_28_ATI = 0x895D; + public static final int GL_CON_29_ATI = 0x895E; + public static final int GL_CON_30_ATI = 0x895F; + public static final int GL_CON_31_ATI = 0x8960; + public static final int GL_MOV_ATI = 0x8961; + public static final int GL_ADD_ATI = 0x8963; + public static final int GL_MUL_ATI = 0x8964; + public static final int GL_SUB_ATI = 0x8965; + public static final int GL_DOT3_ATI = 0x8966; + public static final int GL_DOT4_ATI = 0x8967; + public static final int GL_MAD_ATI = 0x8968; + public static final int GL_LERP_ATI = 0x8969; + public static final int GL_CND_ATI = 0x896A; + public static final int GL_CND0_ATI = 0x896B; + public static final int GL_DOT2_ADD_ATI = 0x896C; + public static final int GL_SECONDARY_INTERPOLATOR_ATI = 0x896D; + public static final int GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E; + public static final int GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; + public static final int GL_NUM_PASSES_ATI = 0x8970; + public static final int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; + public static final int GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; + public static final int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; + public static final int GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; + public static final int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; + public static final int GL_SWIZZLE_STR_ATI = 0x8976; + public static final int GL_SWIZZLE_STQ_ATI = 0x8977; + public static final int GL_SWIZZLE_STR_DR_ATI = 0x8978; + public static final int GL_SWIZZLE_STQ_DQ_ATI = 0x8979; + public static final int GL_SWIZZLE_STRQ_ATI = 0x897A; + public static final int GL_SWIZZLE_STRQ_DQ_ATI = 0x897B; + public static final int GL_RED_BIT_ATI = 0x00000001; + public static final int GL_GREEN_BIT_ATI = 0x00000002; + public static final int GL_BLUE_BIT_ATI = 0x00000004; + public static final int GL_2X_BIT_ATI = 0x00000001; + public static final int GL_4X_BIT_ATI = 0x00000002; + public static final int GL_8X_BIT_ATI = 0x00000004; + public static final int GL_HALF_BIT_ATI = 0x00000008; + public static final int GL_QUARTER_BIT_ATI = 0x00000010; + public static final int GL_EIGHTH_BIT_ATI = 0x00000020; + public static final int GL_SATURATE_BIT_ATI = 0x00000040; + public static final int GL_COMP_BIT_ATI = 0x00000002; + public static final int GL_NEGATE_BIT_ATI = 0x00000004; + public static final int GL_BIAS_BIT_ATI = 0x00000008; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_fragment_shader) return; + ext.glGenFragmentShadersATI = load.invoke("glGenFragmentShadersATI", of(JAVA_INT, JAVA_INT)); + ext.glBindFragmentShaderATI = load.invoke("glBindFragmentShaderATI", ofVoid(JAVA_INT)); + ext.glDeleteFragmentShaderATI = load.invoke("glDeleteFragmentShaderATI", ofVoid(JAVA_INT)); + ext.glBeginFragmentShaderATI = load.invoke("glBeginFragmentShaderATI", ofVoid()); + ext.glEndFragmentShaderATI = load.invoke("glEndFragmentShaderATI", ofVoid()); + ext.glPassTexCoordATI = load.invoke("glPassTexCoordATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glSampleMapATI = load.invoke("glSampleMapATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glColorFragmentOp1ATI = load.invoke("glColorFragmentOp1ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glColorFragmentOp2ATI = load.invoke("glColorFragmentOp2ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glColorFragmentOp3ATI = load.invoke("glColorFragmentOp3ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glAlphaFragmentOp1ATI = load.invoke("glAlphaFragmentOp1ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glAlphaFragmentOp2ATI = load.invoke("glAlphaFragmentOp2ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glAlphaFragmentOp3ATI = load.invoke("glAlphaFragmentOp3ATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glSetFragmentShaderConstantATI = load.invoke("glSetFragmentShaderConstantATI", ofVoid(JAVA_INT, ADDRESS)); + } + + public static int glGenFragmentShadersATI(int range) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGenFragmentShadersATI).invokeExact(range); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindFragmentShaderATI(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindFragmentShaderATI).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteFragmentShaderATI(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteFragmentShaderATI).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBeginFragmentShaderATI() { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginFragmentShaderATI).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndFragmentShaderATI() { + final var ext = getExtCapabilities(); + try { + check(ext.glEndFragmentShaderATI).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPassTexCoordATI(int dst, int coord, int swizzle) { + final var ext = getExtCapabilities(); + try { + check(ext.glPassTexCoordATI).invokeExact(dst, coord, swizzle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSampleMapATI(int dst, int interp, int swizzle) { + final var ext = getExtCapabilities(); + try { + check(ext.glSampleMapATI).invokeExact(dst, interp, swizzle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorFragmentOp1ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorFragmentOp1ATI).invokeExact(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorFragmentOp2ATI(int op, int dst, int dstMask, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorFragmentOp2ATI).invokeExact(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + 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) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorFragmentOp3ATI).invokeExact(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glAlphaFragmentOp1ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod) { + final var ext = getExtCapabilities(); + try { + check(ext.glAlphaFragmentOp1ATI).invokeExact(op, dst, dstMod, arg1, arg1Rep, arg1Mod); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glAlphaFragmentOp2ATI(int op, int dst, int dstMod, int arg1, int arg1Rep, int arg1Mod, int arg2, int arg2Rep, int arg2Mod) { + final var ext = getExtCapabilities(); + try { + check(ext.glAlphaFragmentOp2ATI).invokeExact(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + 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) { + final var ext = getExtCapabilities(); + try { + check(ext.glAlphaFragmentOp3ATI).invokeExact(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSetFragmentShaderConstantATI(int dst, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glSetFragmentShaderConstantATI).invokeExact(dst, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java new file mode 100644 index 00000000..b661c3e9 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java @@ -0,0 +1,52 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_map_object_buffer} + */ +public final class GLATIMapObjectBuffer { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_map_object_buffer) return; + ext.glMapObjectBufferATI = load.invoke("glMapObjectBufferATI", of(ADDRESS, JAVA_INT)); + ext.glUnmapObjectBufferATI = load.invoke("glUnmapObjectBufferATI", ofVoid(JAVA_INT)); + } + + public static @NativeType("void*") MemorySegment glMapObjectBufferATI(int buffer) { + final var ext = getExtCapabilities(); + try { + return (MemorySegment) + check(ext.glMapObjectBufferATI).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUnmapObjectBufferATI(int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glUnmapObjectBufferATI).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java new file mode 100644 index 00000000..d4c9a647 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_meminfo} + */ +public final class GLATIMeminfo { + public static final int GL_VBO_FREE_MEMORY_ATI = 0x87FB; + public static final int GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC; + public static final int GL_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java new file mode 100644 index 00000000..f10600e6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_pixel_format_float} + */ +public final class GLATIPixelFormatFloat { + public static final int GL_RGBA_FLOAT_MODE_ATI = 0x8820; + public static final int GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java new file mode 100644 index 00000000..5d157d64 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java @@ -0,0 +1,60 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_pn_triangles} + */ +public final class GLATIPnTriangles { + public static final int GL_PN_TRIANGLES_ATI = 0x87F0; + public static final int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; + public static final int GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; + public static final int GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; + public static final int GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; + public static final int GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; + public static final int GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; + public static final int GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; + public static final int GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_pn_triangles) return; + ext.glPNTrianglesiATI = load.invoke("glPNTrianglesiATI", ofVoid(JAVA_INT, JAVA_INT)); + ext.glPNTrianglesfATI = load.invoke("glPNTrianglesfATI", ofVoid(JAVA_INT, JAVA_FLOAT)); + } + + public static void glPNTrianglesiATI(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPNTrianglesiATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPNTrianglesfATI(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPNTrianglesfATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java new file mode 100644 index 00000000..24927533 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_separate_stencil} + */ +public final class GLATISeparateStencil { + public static final int GL_STENCIL_BACK_FUNC_ATI = 0x8800; + public static final int GL_STENCIL_BACK_FAIL_ATI = 0x8801; + public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; + public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_separate_stencil) return; + ext.glStencilOpSeparateATI = load.invoke("glStencilOpSeparateATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glStencilFuncSeparateATI = load.invoke("glStencilFuncSeparateATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilOpSeparateATI).invokeExact(face, sfail, dpfail, dppass); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilFuncSeparateATI(int frontfunc, int backfunc, int ref, int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilFuncSeparateATI).invokeExact(frontfunc, backfunc, ref, mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java new file mode 100644 index 00000000..94ef41ed --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_text_fragment_shader} + */ +public final class GLATITextFragmentShader { + public static final int GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java new file mode 100644 index 00000000..58e1059e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_texture_env_combine3} + */ +public final class GLATITextureEnvCombine3 { + public static final int GL_MODULATE_ADD_ATI = 0x8744; + public static final int GL_MODULATE_SIGNED_ADD_ATI = 0x8745; + public static final int GL_MODULATE_SUBTRACT_ATI = 0x8746; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java new file mode 100644 index 00000000..3352a01b --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_texture_float} + */ +public final class GLATITextureFloat { + public static final int GL_RGBA_FLOAT32_ATI = 0x8814; + public static final int GL_RGB_FLOAT32_ATI = 0x8815; + public static final int GL_ALPHA_FLOAT32_ATI = 0x8816; + public static final int GL_INTENSITY_FLOAT32_ATI = 0x8817; + public static final int GL_LUMINANCE_FLOAT32_ATI = 0x8818; + public static final int GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; + public static final int GL_RGBA_FLOAT16_ATI = 0x881A; + public static final int GL_RGB_FLOAT16_ATI = 0x881B; + public static final int GL_ALPHA_FLOAT16_ATI = 0x881C; + public static final int GL_INTENSITY_FLOAT16_ATI = 0x881D; + public static final int GL_LUMINANCE_FLOAT16_ATI = 0x881E; + public static final int GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java new file mode 100644 index 00000000..de8a4c1a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_texture_mirror_once} + */ +public final class GLATITextureMirrorOnce { + public static final int GL_MIRROR_CLAMP_ATI = 0x8742; + public static final int GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java new file mode 100644 index 00000000..d90221f4 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java @@ -0,0 +1,141 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_vertex_array_object} + */ +public final class GLATIVertexArrayObject { + public static final int GL_STATIC_ATI = 0x8760; + public static final int GL_DYNAMIC_ATI = 0x8761; + public static final int GL_PRESERVE_ATI = 0x8762; + public static final int GL_DISCARD_ATI = 0x8763; + public static final int GL_OBJECT_BUFFER_SIZE_ATI = 0x8764; + public static final int GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; + public static final int GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; + public static final int GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_vertex_array_object) return; + ext.glNewObjectBufferATI = load.invoke("glNewObjectBufferATI", of(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glIsObjectBufferATI = load.invoke("glIsObjectBufferATI", of(JAVA_BYTE, JAVA_INT)); + ext.glUpdateObjectBufferATI = load.invoke("glUpdateObjectBufferATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glGetObjectBufferfvATI = load.invoke("glGetObjectBufferfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetObjectBufferivATI = load.invoke("glGetObjectBufferivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFreeObjectBufferATI = load.invoke("glFreeObjectBufferATI", ofVoid(JAVA_INT)); + ext.glArrayObjectATI = load.invoke("glArrayObjectATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetArrayObjectfvATI = load.invoke("glGetArrayObjectfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetArrayObjectivATI = load.invoke("glGetArrayObjectivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVariantArrayObjectATI = load.invoke("glVariantArrayObjectATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetVariantArrayObjectfvATI = load.invoke("glGetVariantArrayObjectfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVariantArrayObjectivATI = load.invoke("glGetVariantArrayObjectivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static int glNewObjectBufferATI(int size, @NativeType("const void *") MemorySegment pointer, int usage) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glNewObjectBufferATI).invokeExact(size, pointer, usage); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsObjectBufferATI(int buffer) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsObjectBufferATI).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUpdateObjectBufferATI(int buffer, int offset, int size, @NativeType("const void *") MemorySegment pointer, int preserve) { + final var ext = getExtCapabilities(); + try { + check(ext.glUpdateObjectBufferATI).invokeExact(buffer, offset, size, pointer, preserve); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetObjectBufferfvATI(int buffer, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetObjectBufferfvATI).invokeExact(buffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetObjectBufferivATI(int buffer, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetObjectBufferivATI).invokeExact(buffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFreeObjectBufferATI(int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glFreeObjectBufferATI).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glArrayObjectATI(int array, int size, int type, int stride, int buffer, int offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glArrayObjectATI).invokeExact(array, size, type, stride, buffer, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetArrayObjectfvATI(int array, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetArrayObjectfvATI).invokeExact(array, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetArrayObjectivATI(int array, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetArrayObjectivATI).invokeExact(array, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantArrayObjectATI(int id, int type, int stride, int buffer, int offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantArrayObjectATI).invokeExact(id, type, stride, buffer, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVariantArrayObjectfvATI(int id, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVariantArrayObjectfvATI).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVariantArrayObjectivATI(int id, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVariantArrayObjectivATI).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java new file mode 100644 index 00000000..b11ee488 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java @@ -0,0 +1,59 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_vertex_attrib_array_object} + */ +public final class GLATIVertexAttribArrayObject { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_vertex_attrib_array_object) return; + ext.glVertexAttribArrayObjectATI = load.invoke("glVertexAttribArrayObjectATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetVertexAttribArrayObjectfvATI = load.invoke("glGetVertexAttribArrayObjectfvATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribArrayObjectivATI = load.invoke("glGetVertexAttribArrayObjectivATI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glVertexAttribArrayObjectATI(int index, int size, int type, boolean normalized, int stride, int buffer, int offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribArrayObjectATI).invokeExact(index, size, type, normalized, stride, buffer, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribArrayObjectfvATI(int index, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribArrayObjectfvATI).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribArrayObjectivATI(int index, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribArrayObjectivATI).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java new file mode 100644 index 00000000..cd25649d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java @@ -0,0 +1,405 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ati; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ATI_vertex_streams} + */ +public final class GLATIVertexStreams { + public static final int GL_MAX_VERTEX_STREAMS_ATI = 0x876B; + public static final int GL_VERTEX_STREAM0_ATI = 0x876C; + public static final int GL_VERTEX_STREAM1_ATI = 0x876D; + public static final int GL_VERTEX_STREAM2_ATI = 0x876E; + public static final int GL_VERTEX_STREAM3_ATI = 0x876F; + public static final int GL_VERTEX_STREAM4_ATI = 0x8770; + public static final int GL_VERTEX_STREAM5_ATI = 0x8771; + public static final int GL_VERTEX_STREAM6_ATI = 0x8772; + public static final int GL_VERTEX_STREAM7_ATI = 0x8773; + public static final int GL_VERTEX_SOURCE_ATI = 0x8774; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ATI_vertex_streams) return; + ext.glVertexStream1sATI = load.invoke("glVertexStream1sATI", ofVoid(JAVA_INT, JAVA_SHORT)); + ext.glVertexStream1svATI = load.invoke("glVertexStream1svATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream1iATI = load.invoke("glVertexStream1iATI", ofVoid(JAVA_INT, JAVA_INT)); + ext.glVertexStream1ivATI = load.invoke("glVertexStream1ivATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream1fATI = load.invoke("glVertexStream1fATI", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glVertexStream1fvATI = load.invoke("glVertexStream1fvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream1dATI = load.invoke("glVertexStream1dATI", ofVoid(JAVA_INT, JAVA_DOUBLE)); + ext.glVertexStream1dvATI = load.invoke("glVertexStream1dvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream2sATI = load.invoke("glVertexStream2sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexStream2svATI = load.invoke("glVertexStream2svATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream2iATI = load.invoke("glVertexStream2iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexStream2ivATI = load.invoke("glVertexStream2ivATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream2fATI = load.invoke("glVertexStream2fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexStream2fvATI = load.invoke("glVertexStream2fvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream2dATI = load.invoke("glVertexStream2dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexStream2dvATI = load.invoke("glVertexStream2dvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream3sATI = load.invoke("glVertexStream3sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexStream3svATI = load.invoke("glVertexStream3svATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream3iATI = load.invoke("glVertexStream3iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexStream3ivATI = load.invoke("glVertexStream3ivATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream3fATI = load.invoke("glVertexStream3fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexStream3fvATI = load.invoke("glVertexStream3fvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream3dATI = load.invoke("glVertexStream3dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexStream3dvATI = load.invoke("glVertexStream3dvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream4sATI = load.invoke("glVertexStream4sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexStream4svATI = load.invoke("glVertexStream4svATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream4iATI = load.invoke("glVertexStream4iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexStream4ivATI = load.invoke("glVertexStream4ivATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream4fATI = load.invoke("glVertexStream4fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexStream4fvATI = load.invoke("glVertexStream4fvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexStream4dATI = load.invoke("glVertexStream4dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexStream4dvATI = load.invoke("glVertexStream4dvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glNormalStream3bATI = load.invoke("glNormalStream3bATI", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glNormalStream3bvATI = load.invoke("glNormalStream3bvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glNormalStream3sATI = load.invoke("glNormalStream3sATI", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glNormalStream3svATI = load.invoke("glNormalStream3svATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glNormalStream3iATI = load.invoke("glNormalStream3iATI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNormalStream3ivATI = load.invoke("glNormalStream3ivATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glNormalStream3fATI = load.invoke("glNormalStream3fATI", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glNormalStream3fvATI = load.invoke("glNormalStream3fvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glNormalStream3dATI = load.invoke("glNormalStream3dATI", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glNormalStream3dvATI = load.invoke("glNormalStream3dvATI", ofVoid(JAVA_INT, ADDRESS)); + ext.glClientActiveVertexStreamATI = load.invoke("glClientActiveVertexStreamATI", ofVoid(JAVA_INT)); + ext.glVertexBlendEnviATI = load.invoke("glVertexBlendEnviATI", ofVoid(JAVA_INT, JAVA_INT)); + ext.glVertexBlendEnvfATI = load.invoke("glVertexBlendEnvfATI", ofVoid(JAVA_INT, JAVA_FLOAT)); + } + + public static void glVertexStream1sATI(int stream, short x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1sATI).invokeExact(stream, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream1svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1svATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream1iATI(int stream, int x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1iATI).invokeExact(stream, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream1ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1ivATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream1fATI(int stream, float x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1fATI).invokeExact(stream, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream1fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1fvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream1dATI(int stream, double x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1dATI).invokeExact(stream, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream1dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream1dvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2sATI(int stream, short x, short y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2sATI).invokeExact(stream, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2svATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2iATI(int stream, int x, int y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2iATI).invokeExact(stream, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2ivATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2fATI(int stream, float x, float y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2fATI).invokeExact(stream, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2fvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2dATI(int stream, double x, double y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2dATI).invokeExact(stream, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream2dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream2dvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3sATI(int stream, short x, short y, short z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3sATI).invokeExact(stream, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3svATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3iATI(int stream, int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3iATI).invokeExact(stream, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3ivATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3fATI(int stream, float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3fATI).invokeExact(stream, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3fvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3dATI(int stream, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3dATI).invokeExact(stream, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream3dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream3dvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4sATI(int stream, short x, short y, short z, short w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4sATI).invokeExact(stream, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4svATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4iATI(int stream, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4iATI).invokeExact(stream, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4ivATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4fATI(int stream, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4fATI).invokeExact(stream, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4fvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4dATI(int stream, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4dATI).invokeExact(stream, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexStream4dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexStream4dvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3bATI(int stream, byte nx, byte ny, byte nz) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3bATI).invokeExact(stream, nx, ny, nz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3bvATI(int stream, @NativeType("const GLbyte *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3bvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3sATI(int stream, short nx, short ny, short nz) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3sATI).invokeExact(stream, nx, ny, nz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3svATI(int stream, @NativeType("const GLshort *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3svATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3iATI(int stream, int nx, int ny, int nz) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3iATI).invokeExact(stream, nx, ny, nz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3ivATI(int stream, @NativeType("const GLint *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3ivATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3fATI(int stream, float nx, float ny, float nz) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3fATI).invokeExact(stream, nx, ny, nz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3fvATI(int stream, @NativeType("const GLfloat *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3fvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3dATI(int stream, double nx, double ny, double nz) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3dATI).invokeExact(stream, nx, ny, nz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalStream3dvATI(int stream, @NativeType("const GLdouble *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalStream3dvATI).invokeExact(stream, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClientActiveVertexStreamATI(int stream) { + final var ext = getExtCapabilities(); + try { + check(ext.glClientActiveVertexStreamATI).invokeExact(stream); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexBlendEnviATI(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexBlendEnviATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexBlendEnvfATI(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexBlendEnvfATI).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java index d46168fb..49e1b439 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java index 69cea8ca..00664d0b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java index dd732824..c8dd22fc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java index 9411d6c8..01238982 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java index 18c271d2..0499f1af 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java index 3ff66163..879bcdd1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java index 17015fe2..d60e393d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java index ff28c6b5..08a1e670 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java index 0966dbc1..a1462a64 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java index 0a8ef3b6..01239da6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java index fa68b6c1..19f6c393 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java index 2af90c94..97c239a3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java index 23c95a69..ed014356 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java index f05c9ef8..fdc44c01 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java index 4102fdc3..65070acc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java index 6302108b..e620d88e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java index ef4c686c..e9b1bf1f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java index 4f21b428..adb08522 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java index da263356..4de0f61e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java index 29050035..8161e5c8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java index bf33b39e..03114979 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java index eb0b4b94..2a1b95a7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java index c31731ea..db5f0c58 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java index 92cd8197..1f6f4ce0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java index b7384076..da823763 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java index 93a3db15..9ad96ccc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java index e0fd4b35..9e56e844 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java index 85c4565e..93a18362 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java index 1923d95a..7d85deca 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java index 9911731c..984d0107 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java index 19893878..3b43b0a2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java index 8a64f6c0..3f1339c6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java index 686760da..067c74e0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java index 56514999..32921bc1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java index 87763fdc..523b0b5b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java new file mode 100644 index 00000000..b3cbb144 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java @@ -0,0 +1,59 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_detail_texture} + */ +public final class GLSGISDetailTexture { + public static final int GL_DETAIL_TEXTURE_2D_SGIS = 0x8095; + public static final int GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; + public static final int GL_LINEAR_DETAIL_SGIS = 0x8097; + public static final int GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098; + public static final int GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099; + public static final int GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; + public static final int GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B; + public static final int GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_detail_texture) return; + ext.glDetailTexFuncSGIS = load.invoke("glDetailTexFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetDetailTexFuncSGIS = load.invoke("glGetDetailTexFuncSGIS", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glDetailTexFuncSGIS(int target, int n, @NativeType("const GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glDetailTexFuncSGIS).invokeExact(target, n, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetDetailTexFuncSGIS(int target, @NativeType("GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetDetailTexFuncSGIS).invokeExact(target, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java new file mode 100644 index 00000000..7b0b3510 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java @@ -0,0 +1,54 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_fog_function} + */ +public final class GLSGISFogFunction { + public static final int GL_FOG_FUNC_SGIS = 0x812A; + public static final int GL_FOG_FUNC_POINTS_SGIS = 0x812B; + public static final int GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_fog_function) return; + ext.glFogFuncSGIS = load.invoke("glFogFuncSGIS", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetFogFuncSGIS = load.invoke("glGetFogFuncSGIS", ofVoid(ADDRESS)); + } + + public static void glFogFuncSGIS(int n, @NativeType("const GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogFuncSGIS).invokeExact(n, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFogFuncSGIS(@NativeType("GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFogFuncSGIS).invokeExact(points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java new file mode 100644 index 00000000..4747cc24 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_generate_mipmap} + */ +public final class GLSGISGenerateMipmap { + public static final int GL_GENERATE_MIPMAP_SGIS = 0x8191; + public static final int GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java index a66d8358..02dab355 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java index 5f6807ac..8060406d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java index d795fb1a..071647a0 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java index cab9ae9f..c7cbc10e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java index 5f5f2a01..cfc81598 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java index f6ecbb9a..a65d860e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java index 3a908a38..3aed148d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal From 8ebff1ad77c72136bd74962ca434c339a32264a7 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 14 Oct 2023 15:59:13 +0800 Subject: [PATCH 17/44] Update Gradle to 8.4 (#34) * Update Gradle to 8.4 * Fix CI --- .github/workflows/gradle.yml | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 03985e3d..3ae31131 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -25,6 +25,7 @@ jobs: with: java-version: | ${{ matrix.java }} + 20 distribution: 'temurin' - name: Grant execute permission for gradlew if: ${{ runner.os != 'Windows' }} @@ -39,12 +40,11 @@ jobs: with: name: build-reports path: | - modules/overrungl/**/build/reports/ modules/**/build/reports/ - name: Capture build artifacts - if: ${{ runner.os == 'Linux' && matrix.java == '21-ea' }} + if: ${{ runner.os == 'Linux' && matrix.java == '21' }} uses: actions/upload-artifact@v3 with: name: Artifacts path: | - modules/overrungl/**/build/libs/ + modules/**/build/libs/ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ac72c34e..3fa8f862 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 20762a50aef67d732bb5b11efb1fbeef284ecc9a Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sun, 15 Oct 2023 14:15:14 +0800 Subject: [PATCH 18/44] Create SECURITY.md --- SECURITY.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..a6deb3f1 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,19 @@ +# Security Policy + +## Supported Versions + +We are currently working on 0.x versions +and only the latest version will be supported. + +| Version | Supported | +| ------- | ------------------ | +| 0.1.x | :white_check_mark: | + +## Reporting a Vulnerability + +You can report a vulnerability through [creating an issue](https://github.com/Over-Run/overrungl/security/advisories/new). + +By reporting the vulnerability, you acknowledge that you have read and agree our [Code of Conduct](CODE_OF_CONDUCT.md). + +We don't accept any vulnerability in unsupported versions. +Please keep using the latest version. From 55069375a68dcab066444e453113bc0df2b8edfe Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 20 Oct 2023 22:40:20 +0800 Subject: [PATCH 19/44] Updating to JDK 22 --- README.md | 2 +- .../java/overrungl/FunctionDescriptors.java | 5 +- .../overrungl/internal/RuntimeHelper.java | 83 +++++-------- .../main/java/overrungl/util/MemoryUtil.java | 46 ++++--- .../src/main/java/overrungl/glfw/GLFW.java | 15 +-- .../java/overrungl/glfw/GLFWGammaRamp.java | 6 +- .../main/java/overrungl/glfw/GLFWImage.java | 2 +- .../main/java/overrungl/glfw/GLFWNative.java | 2 +- .../main/java/overrungl/glfw/GLFWVidMode.java | 2 +- .../main/java/overrungl/glfw/GLFWVulkan.java | 2 +- .../java/overrungl/glfw/IGLFWErrorFun.java | 7 +- .../src/main/java/overrungl/nfd/NFD.java | 60 ++++----- .../java/overrungl/nfd/NFDNFilterItem.java | 2 +- .../java/overrungl/nfd/NFDU8FilterItem.java | 18 +-- .../src/main/java/overrungl/opengl/GL11C.java | 16 +-- .../src/main/java/overrungl/opengl/GL20C.java | 10 +- .../src/main/java/overrungl/opengl/GL30C.java | 6 +- .../src/main/java/overrungl/opengl/GL31C.java | 6 +- .../src/main/java/overrungl/opengl/GL33C.java | 4 +- .../src/main/java/overrungl/opengl/GL40C.java | 4 +- .../src/main/java/overrungl/opengl/GL41C.java | 116 +++++++++--------- .../src/main/java/overrungl/opengl/GL43C.java | 14 +-- .../src/main/java/overrungl/opengl/GL46C.java | 4 +- .../java/overrungl/opengl/GLDebugProc.java | 5 +- .../java/overrungl/opengl/GLExtFinder.java | 2 +- .../opengl/ext/GLINTELPerformanceQuery.java | 2 +- .../opengl/ext/amd/GLAMDDebugOutput.java | 2 +- .../opengl/ext/amd/GLDebugProcAMD.java | 4 +- .../ext/apple/GLAPPLEVertexArrayObject.java | 2 +- .../opengl/ext/arb/GLARBDebugOutput.java | 2 +- .../main/java/overrungl/stb/STBEasyFont.java | 6 +- .../java/overrungl/stb/STBIIoCallbacks.java | 44 +++++-- .../java/overrungl/stb/STBIWriteFunc.java | 11 +- .../src/main/java/overrungl/stb/STBImage.java | 12 +- .../java/overrungl/stb/STBImageWrite.java | 16 +-- 35 files changed, 280 insertions(+), 260 deletions(-) diff --git a/README.md b/README.md index fb4ac527..fccbf3f6 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ the [samples](modules/samples/src/test/java/overrungl/demo). You must enable the access of OverrunGL by adding a VM argument or a manifest attribute. ``` ---enable-preview-acecss=overrungl.core,... +--enable-preview-access=overrungl.core,... ``` ## Using as a Dependency diff --git a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java index 8a8ba594..d24cf3b6 100644 --- a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java +++ b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java @@ -17,7 +17,6 @@ package overrungl; import overrungl.internal.Exceptions; -import overrungl.util.MemoryUtil; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.ValueLayout; @@ -38,7 +37,6 @@ * case 'F' -> JAVA_FLOAT; * case 'D' -> JAVA_DOUBLE; * case 'P' -> ADDRESS; - * case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; * default -> throw new IllegalArgumentException(); * }} * @@ -123,9 +121,8 @@ public static ValueLayout ofValue(char c) throws IllegalArgumentException { case 'F' -> JAVA_FLOAT; case 'D' -> JAVA_DOUBLE; case 'P' -> ADDRESS; - case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; default -> - throw Exceptions.IAE. "Invalid argument c: expected one of B, S, I, J, C, Z, F, D, P or p; got '\{ c }'" ; + throw Exceptions.IAE. "Invalid argument c: expected one of B, S, I, J, C, Z, F, D or P; got '\{ c }'" ; }; } diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index d21b38a0..b2bf7030 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -18,6 +18,7 @@ import org.jetbrains.annotations.Nullable; import overrungl.FunctionDescriptors; +import overrungl.NativeType; import overrungl.os.Architecture; import overrungl.os.Platform; import overrungl.util.MemoryUtil; @@ -26,12 +27,13 @@ import java.lang.foreign.*; import java.lang.invoke.MethodHandle; import java.net.URI; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.function.Function; +import java.util.function.ToLongFunction; import static java.lang.foreign.ValueLayout.*; @@ -50,8 +52,12 @@ public final class RuntimeHelper { /** * An unbounded address layout. */ - public static final AddressLayout ADDRESS_UNBOUNDED = MemoryUtil.ADDRESS_UNBOUNDED; + public static final AddressLayout ADDRESS_UNBOUNDED = ADDRESS.withTargetLayout(MemoryLayout.sequenceLayout(Long.MAX_VALUE, JAVA_BYTE)); private static final StackWalker STACK_WALKER = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE); + private static final Map CANONICAL_LAYOUTS = LINKER.canonicalLayouts(); + public static final MemoryLayout LONG = CANONICAL_LAYOUTS.get("long"), + SIZE_T = CANONICAL_LAYOUTS.get("size_t"), + WCHAR_T = CANONICAL_LAYOUTS.get("wchar_t"); /** * constructor @@ -60,53 +66,40 @@ private RuntimeHelper() { throw new IllegalStateException("Do not construct instance"); } - @Deprecated(since = "22") - public static MemorySegment allocateUtf16LEString(SegmentAllocator allocator, String str) { - Objects.requireNonNull(allocator); - Objects.requireNonNull(str); - final byte[] bytes = str.getBytes(StandardCharsets.UTF_16LE); - final MemorySegment seg = allocator.allocate(bytes.length + 2); - MemorySegment.copy(bytes, 0, seg, JAVA_BYTE, 0, bytes.length); - return seg; - } - - @Deprecated(since = "22") - public static String getUtf16LEString(MemorySegment segment, long offset) { - long len = strlen(segment, offset); - byte[] bytes = new byte[(int) len]; - MemorySegment.copy(segment, JAVA_BYTE, offset, bytes, 0, (int) len); - return new String(bytes, StandardCharsets.UTF_16LE); - } - - private static int strlen(MemorySegment segment, long start) { - for (int offset = 0; offset >= 0; offset += 2) { - short curr = segment.get(JAVA_SHORT, start + offset); - if (curr == 0) { - return offset; - } - } - throw new IllegalArgumentException("String too large"); + private static MemorySegment reinterpreting(MemorySegment pointerToPointer, int index, ToLongFunction size) { + final MemorySegment seg = pointerToPointer.getAtIndex(ADDRESS, index); + return seg.reinterpret(size.applyAsLong(seg)); } /** - * Gets a string from the given pointer of a string. + * Gets a UTF-8 string from the given pointer of a string. * * @param segment the memory segment. * @return the string. */ public static String unboundPointerString(MemorySegment segment) { - return segment.get(ADDRESS_UNBOUNDED, 0).getUtf8String(0); + return reinterpreting(segment, 0, MemoryUtil::strlen).getString(0); } /** - * Gets a string from the given pointer of a string at the given index. + * Gets a UTF-8 string from the given pointer of a string at the given index. * * @param segment the memory segment. * @param index the index. * @return the string. */ public static String unboundPointerString(MemorySegment segment, int index) { - return segment.getAtIndex(ADDRESS_UNBOUNDED, index).getUtf8String(0); + return reinterpreting(segment, index, MemoryUtil::strlen).getString(0); + } + + /** + * Converts the segment into a string. + * + * @param segment the segment + * @return the string + */ + public static String getString(MemorySegment segment) { + return segment.reinterpret(MemoryUtil.strlen(segment)).getString(0); } /** @@ -194,7 +187,7 @@ public static SymbolLookup load(String module, String basename, String version) * @param segment the segment. */ public static boolean isNullptr(@Nullable MemorySegment segment) { - return MemoryUtil.isNullptr(segment); + return segment == null || segment.equals(MemorySegment.NULL); } /** @@ -264,23 +257,6 @@ public static T[] toArray(MemorySegment seg, T[] arr, return arr; } - /** - * Gets the objects from an address array. - * - * @param the array type - * @param seg the memory segment contained objects. native type: {@code void**} - * @param arr the array to hold the result - * @param generator the generator, from an unbounded address to the array type - * @return arr - */ - public static T[] toUnboundedArray(MemorySegment seg, T[] arr, - Function generator) { - for (int i = 0; i < arr.length; i++) { - arr[i] = generator.apply(seg.getAtIndex(ADDRESS_UNBOUNDED, i)); - } - return arr; - } - /** * Gets the addresses from an address array. * @@ -299,8 +275,11 @@ public static MemorySegment[] toArray(MemorySegment seg, MemorySegment[] arr) { * @param arr the array to hold the result * @return arr */ - public static String[] toUnboundedArray(MemorySegment seg, String[] arr) { - return toUnboundedArray(seg, arr, p -> p.getUtf8String(0)); + public static String[] toUnboundedArray(@NativeType("const char* const* const") MemorySegment seg, String[] arr) { + for (int i = 0; i < arr.length; i++) { + arr[i] = unboundPointerString(seg, i); + } + return arr; } /** diff --git a/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java index 569cc35b..7125ed8a 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java @@ -18,14 +18,14 @@ import org.jetbrains.annotations.Nullable; import overrungl.Configurations; -import overrungl.FunctionDescriptors; import overrungl.internal.RuntimeHelper; import java.lang.foreign.*; import java.lang.invoke.MethodHandle; import java.util.Objects; -import static overrungl.FunctionDescriptors.*; +import static java.lang.foreign.FunctionDescriptor.of; +import static java.lang.foreign.ValueLayout.ADDRESS; /** * The standard-C memory allocator. @@ -34,26 +34,23 @@ * @since 0.1.0 */ public final class MemoryUtil { - /** - * An unbounded address layout. - */ - public static final AddressLayout ADDRESS_UNBOUNDED = ValueLayout.ADDRESS.withTargetLayout(MemoryLayout.sequenceLayout(ValueLayout.JAVA_BYTE)); private static final SymbolLookup LOOKUP = RuntimeHelper.LINKER.defaultLookup(); private static final MethodHandle - m_malloc = downcall("malloc", JP), - m_calloc = downcall("calloc", JJP), - m_realloc = downcall("realloc", PJP), - m_free = downcall("free", PV), - m_memcpy = downcall("memcpy", PPJP), - m_memmove = downcall("memmove", PPJP), - m_memset = downcall("memset", PIJP); + m_malloc = downcall("malloc", of(ADDRESS, RuntimeHelper.SIZE_T)), + m_calloc = downcall("calloc", of(ADDRESS, RuntimeHelper.SIZE_T, RuntimeHelper.SIZE_T)), + m_realloc = downcall("realloc", of(ADDRESS, ADDRESS, RuntimeHelper.SIZE_T)), + m_free = downcall("free", FunctionDescriptor.ofVoid(ADDRESS)), + m_memcpy = downcall("memcpy", of(ADDRESS, ADDRESS, ADDRESS, RuntimeHelper.SIZE_T)), + m_memmove = downcall("memmove", of(ADDRESS, ADDRESS, ADDRESS, RuntimeHelper.SIZE_T)), + m_memset = downcall("memset", of(ADDRESS, ADDRESS, ValueLayout.JAVA_INT, RuntimeHelper.SIZE_T)), + strlen = downcall("strlen", of(RuntimeHelper.SIZE_T, ADDRESS)); private static final boolean DEBUG = Configurations.DEBUG_MEM_UTIL.get(); /** * The address of {@code NULL}. */ public static final long NULL = 0x0L; - private static MethodHandle downcall(String name, FunctionDescriptors function) { + private static MethodHandle downcall(String name, FunctionDescriptor function) { return RuntimeHelper.downcallThrow(LOOKUP.find(name), function); } @@ -67,7 +64,7 @@ private MemoryUtil() { * @param segment the segment. */ public static boolean isNullptr(@Nullable MemorySegment segment) { - return segment == null || segment.equals(MemorySegment.NULL); + return RuntimeHelper.isNullptr(segment); } /** @@ -326,4 +323,23 @@ public static MemorySegment memset(MemorySegment dest, int c, long count) { throw new AssertionError("should not reach here", e); } } + + /** + * Gets the length of a string, by using the current locale or a specified locale. + *

    + * {@code strlen} interprets the string as a single-byte character string, + * so its return value is always equal to the number of bytes, + * even if the string contains multibyte characters. + * + * @param str Null-terminated string. + * @return the number of characters in {@code str}, excluding the terminal null. + * No return value is reserved to indicate an error. + */ + public static long strlen(MemorySegment str) { + try { + return (long) strlen.invokeExact(str); + } catch (Throwable e) { + throw new AssertionError("should not reach here", e); + } + } } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java index d33247d6..d5c87c88 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java @@ -19,6 +19,7 @@ import org.jetbrains.annotations.Nullable; import overrungl.internal.RuntimeHelper; import overrungl.util.MemoryStack; +import overrungl.util.MemoryUtil; import overrungl.util.value.Pair; import overrungl.util.value.Quad; import overrungl.util.value.Triplet; @@ -2035,7 +2036,7 @@ public static void windowHintString(int hint, String value) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - nwindowHintString(hint, stack.allocateUtf8String(value)); + nwindowHintString(hint, stack.allocateFrom(value)); } finally { stack.setPointer(stackPointer); } @@ -2220,7 +2221,7 @@ public static MemorySegment createWindow(int width, int height, String title, Me final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return ncreateWindow(width, height, stack.allocateUtf8String(title), monitor, share); + return ncreateWindow(width, height, stack.allocateFrom(title), monitor, share); } finally { stack.setPointer(stackPointer); } @@ -2325,7 +2326,7 @@ public static void setWindowTitle(MemorySegment window, String title) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - nsetWindowTitle(window, stack.allocateUtf8String(title)); + nsetWindowTitle(window, stack.allocateFrom(title)); } finally { stack.setPointer(stackPointer); } @@ -5273,7 +5274,7 @@ public static boolean updateGamepadMappings(String string) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nupdateGamepadMappings(stack.allocateUtf8String(string)); + return nupdateGamepadMappings(stack.allocateFrom(string)); } finally { stack.setPointer(stackPointer); } @@ -5407,7 +5408,7 @@ public static void setClipboardString(String string) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - nsetClipboardString(stack.allocateUtf8String(string)); + nsetClipboardString(stack.allocateFrom(string)); } finally { stack.setPointer(stackPointer); } @@ -5730,7 +5731,7 @@ public static boolean extensionSupported(String extension) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nextensionSupported(stack.allocateUtf8String(extension)); + return nextensionSupported(stack.allocateFrom(extension)); } finally { stack.setPointer(stackPointer); } @@ -5788,7 +5789,7 @@ public static MemorySegment getProcAddress(String procName) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return ngetProcAddress(stack.allocateUtf8String(procName)); + return ngetProcAddress(stack.allocateFrom(procName)); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java index 4f4d81b7..08cfa935 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java @@ -95,7 +95,7 @@ public static GLFWGammaRamp create(SegmentAllocator allocator) { * @return this */ public GLFWGammaRamp red(SegmentAllocator allocator, short[] reds) { - ppRed.set(segment(), allocator.allocateArray(JAVA_SHORT, reds)); + ppRed.set(segment(), allocator.allocateFrom(JAVA_SHORT, reds)); return this; } @@ -107,7 +107,7 @@ public GLFWGammaRamp red(SegmentAllocator allocator, short[] reds) { * @return this */ public GLFWGammaRamp green(SegmentAllocator allocator, short[] greens) { - ppGreen.set(segment(), allocator.allocateArray(JAVA_SHORT, greens)); + ppGreen.set(segment(), allocator.allocateFrom(JAVA_SHORT, greens)); return this; } @@ -119,7 +119,7 @@ public GLFWGammaRamp green(SegmentAllocator allocator, short[] greens) { * @return this */ public GLFWGammaRamp blue(SegmentAllocator allocator, short[] blues) { - ppBlue.set(segment(), allocator.allocateArray(JAVA_SHORT, blues)); + ppBlue.set(segment(), allocator.allocateFrom(JAVA_SHORT, blues)); return this; } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java index d4119be3..e865c0e9 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java @@ -98,7 +98,7 @@ public static GLFWImage create(SegmentAllocator allocator) { * @return the instance */ public static Buffer create(SegmentAllocator allocator, long count) { - return new Buffer(allocator.allocateArray(LAYOUT, count), count); + return new Buffer(allocator.allocate(LAYOUT, count), count); } /** diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java index 611c9e6f..787b02bf 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java @@ -303,7 +303,7 @@ public static void setX11SelectionString(String string) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - nsetX11SelectionString(stack.allocateUtf8String(string)); + nsetX11SelectionString(stack.allocateFrom(string)); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java index 68523fa5..3c6937e1 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java @@ -106,7 +106,7 @@ public static GLFWVidMode create(SegmentAllocator allocator) { * @return the instance */ public static Buffer create(SegmentAllocator allocator, long count) { - return new Buffer(allocator.allocateArray(LAYOUT, count), count); + return new Buffer(allocator.allocate(LAYOUT, count), count); } /** diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java index 5242d451..5ac28dc3 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVulkan.java @@ -92,7 +92,7 @@ public static MemorySegment glfwGetInstanceProcAddress(MemorySegment instance, S final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nglfwGetInstanceProcAddress(instance, stack.allocateUtf8String(procName)); + return nglfwGetInstanceProcAddress(instance, stack.allocateFrom(procName)); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/IGLFWErrorFun.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/IGLFWErrorFun.java index 474cbc64..fb4cc1be 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/IGLFWErrorFun.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/IGLFWErrorFun.java @@ -17,6 +17,7 @@ package overrungl.glfw; import overrungl.Callback; +import overrungl.NativeType; import overrungl.internal.RuntimeHelper; import java.lang.foreign.FunctionDescriptor; @@ -44,7 +45,7 @@ */ @FunctionalInterface public interface IGLFWErrorFun extends Callback { - FunctionDescriptor DESC = FunctionDescriptor.ofVoid(ValueLayout.JAVA_INT, RuntimeHelper.ADDRESS_UNBOUNDED); + FunctionDescriptor DESC = FunctionDescriptor.ofVoid(ValueLayout.JAVA_INT, ValueLayout.ADDRESS); MethodType MTYPE = DESC.toMethodType(); /** @@ -55,8 +56,8 @@ public interface IGLFWErrorFun extends Callback { */ void invoke(int errorCode, String description); - default void ninvoke(int errorCode, MemorySegment description) { - invoke(errorCode, description.getUtf8String(0)); + default void ninvoke(int errorCode, @NativeType("const char*") MemorySegment description) { + invoke(errorCode, RuntimeHelper.getString(description)); } /** diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index 9db59ce9..69dacf94 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -26,6 +26,7 @@ import java.lang.foreign.*; import java.lang.invoke.MethodHandle; +import java.nio.charset.StandardCharsets; import java.util.function.Supplier; import static java.lang.foreign.ValueLayout.*; @@ -173,10 +174,6 @@ private static MethodHandle downcall(String name, FunctionDescriptors function, return RuntimeHelper.downcallThrow(LOOKUP.find(name), function, options); } - private static MethodHandle downcallTrivial(String name, FunctionDescriptors function) { - return downcall(name, function, Linker.Option.isTrivial()); - } - private static MethodHandle downcall(String name, FunctionDescriptor function) { return RuntimeHelper.downcallThrow(LOOKUP.find(name), function); } @@ -185,10 +182,6 @@ private static MethodHandle downcallSafe(String name, FunctionDescriptors functi return RuntimeHelper.downcallSafe(LOOKUP.find(name).orElse(MemorySegment.NULL), function, options); } - private static MethodHandle downcallSafeTrivial(String name, FunctionDescriptors function) { - return downcallSafe(name, function, Linker.Option.isTrivial()); - } - private static MethodHandle downcallSafe(String name, FunctionDescriptor function) { return RuntimeHelper.downcallSafe(LOOKUP.find(name).orElse(MemorySegment.NULL), function); } @@ -197,16 +190,17 @@ static MemorySegment allocateString(String str) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - if (isOsWin) return RuntimeHelper.allocateUtf16LEString(stack, str); - return stack.allocateUtf8String(str); + if (isOsWin) return stack.allocateFrom(str, StandardCharsets.UTF_16LE); + return stack.allocateFrom(str); } finally { stack.setPointer(stackPointer); } } static String getString(MemorySegment segment, long offset) { - if (isOsWin) return RuntimeHelper.getUtf16LEString(segment, offset); - return segment.getUtf8String(offset); + final MemorySegment segment1 = segment.byteSize() == 0 ? segment.reinterpret(Long.MAX_VALUE) : segment; + if (isOsWin) return segment1.getString(offset, StandardCharsets.UTF_16LE); + return segment1.getString(offset); } /** @@ -286,7 +280,7 @@ public static NFDResult openDialogN(String[] outPath, NFDNFilterItem.Buffer filt filterList != null ? Math.toIntExact(filterList.elementCount()) : 0, defaultPath != null ? allocateString(defaultPath) : MemorySegment.NULL); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); + final MemorySegment path = seg.get(ADDRESS, 0); outPath[0] = getString(path, 0); freePathN(path); } @@ -371,7 +365,7 @@ public static NFDResult saveDialogN(String[] outPath, NFDNFilterItem.Buffer filt defaultPath != null ? allocateString(defaultPath) : MemorySegment.NULL, defaultName != null ? allocateString(defaultName) : MemorySegment.NULL); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); + final MemorySegment path = seg.get(ADDRESS, 0); outPath[0] = getString(path, 0); freePathN(path); } @@ -412,7 +406,7 @@ public static NFDResult pickFolderN(String[] outPath, String defaultPath) { final MemorySegment seg = stack.callocPointer(); final NFDResult result = npickFolderN(seg, defaultPath != null ? allocateString(defaultPath) : MemorySegment.NULL); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); + final MemorySegment path = seg.get(ADDRESS, 0); outPath[0] = getString(path, 0); freePathN(path); } @@ -447,7 +441,7 @@ public static NFDResult pickFolderN(String[] outPath, String defaultPath) { */ public static String getError() { final MemorySegment seg = ngetError(); - return RuntimeHelper.isNullptr(seg) ? null : seg.getUtf8String(0); + return RuntimeHelper.isNullptr(seg) ? null : seg.getString(0); } /** @@ -565,7 +559,7 @@ public static NFDResult pathSetGetPathN(@NativeType("const nfdpathset_t*") Memor final MemorySegment seg = stack.callocPointer(); final NFDResult result = npathSetGetPathN(pathSet, index, seg); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); + final MemorySegment path = seg.get(ADDRESS, 0); outPath[0] = getString(path, 0); pathSetFreePathN(path); } @@ -654,7 +648,7 @@ public static NFDResult pathSetEnumNextN(@NativeType("nfdpathsetenum_t*") Memory final MemorySegment seg = stack.callocPointer(); final NFDResult result = npathSetEnumNextN(enumerator, seg); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); + final MemorySegment path = seg.get(ADDRESS, 0); if (!RuntimeHelper.isNullptr(path)) { outPath[0] = getString(path, 0); pathSetFreePathN(path); @@ -731,10 +725,10 @@ public static NFDResult openDialogU8(String[] outPath, NFDU8FilterItem.Buffer fi final NFDResult result = nopenDialogU8(seg, filterList != null ? filterList.address() : MemorySegment.NULL, filterList != null ? Math.toIntExact(filterList.elementCount()) : 0, - defaultPath != null ? stack.allocateUtf8String(defaultPath) : MemorySegment.NULL); + defaultPath != null ? stack.allocateFrom(defaultPath) : MemorySegment.NULL); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); - outPath[0] = path.getUtf8String(0); + final MemorySegment path = seg.get(ADDRESS, 0); + outPath[0] = RuntimeHelper.getString(path); freePathU8(path); } return result; @@ -780,7 +774,7 @@ public static NFDResult openDialogMultipleU8(@NativeType("const nfdpathset_t**") return nopenDialogMultipleU8(outPaths, filterList != null ? filterList.address() : MemorySegment.NULL, filterList != null ? Math.toIntExact(filterList.elementCount()) : 0, - defaultPath != null ? stack.allocateUtf8String(defaultPath) : MemorySegment.NULL); + defaultPath != null ? stack.allocateFrom(defaultPath) : MemorySegment.NULL); } finally { stack.setPointer(stackPointer); } @@ -825,11 +819,11 @@ public static NFDResult saveDialogU8(String[] outPath, NFDU8FilterItem.Buffer fi final NFDResult result = nsaveDialogU8(seg, filterList != null ? filterList.address() : MemorySegment.NULL, filterList != null ? Math.toIntExact(filterList.elementCount()) : 0, - defaultPath != null ? stack.allocateUtf8String(defaultPath) : MemorySegment.NULL, - defaultName != null ? stack.allocateUtf8String(defaultName) : MemorySegment.NULL); + defaultPath != null ? stack.allocateFrom(defaultPath) : MemorySegment.NULL, + defaultName != null ? stack.allocateFrom(defaultName) : MemorySegment.NULL); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); - outPath[0] = path.getUtf8String(0); + final MemorySegment path = seg.get(ADDRESS, 0); + outPath[0] = RuntimeHelper.getString(path); freePathU8(path); } return result; @@ -869,10 +863,10 @@ public static NFDResult pickFolderU8(String[] outPath, String defaultPath) { final long stackPointer = stack.getPointer(); try { final MemorySegment seg = stack.callocPointer(); - final NFDResult result = npickFolderU8(seg, defaultPath != null ? stack.allocateUtf8String(defaultPath) : MemorySegment.NULL); + final NFDResult result = npickFolderU8(seg, defaultPath != null ? stack.allocateFrom(defaultPath) : MemorySegment.NULL); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); - outPath[0] = path.getUtf8String(0); + final MemorySegment path = seg.get(ADDRESS, 0); + outPath[0] = RuntimeHelper.getString(path); freePathU8(path); } return result; @@ -921,8 +915,8 @@ public static NFDResult pathSetGetPathU8(@NativeType("const nfdpathset_t*") Memo final MemorySegment seg = stack.callocPointer(); final NFDResult result = npathSetGetPathU8(pathSet, index, seg); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); - outPath[0] = path.getUtf8String(0); + final MemorySegment path = seg.get(ADDRESS, 0); + outPath[0] = RuntimeHelper.getString(path); pathSetFreePathU8(path); } return result; @@ -967,9 +961,9 @@ public static NFDResult pathSetEnumNextU8(@NativeType("nfdpathsetenum_t*") Memor final MemorySegment seg = stack.callocPointer(); final NFDResult result = npathSetEnumNextU8(enumerator, seg); if (result == NFDResult.OKAY) { - final MemorySegment path = seg.get(RuntimeHelper.ADDRESS_UNBOUNDED, 0); + final MemorySegment path = seg.get(ADDRESS, 0); if (!RuntimeHelper.isNullptr(path)) { - outPath[0] = path.getUtf8String(0); + outPath[0] = RuntimeHelper.getString(path); pathSetFreePathU8(path); } } diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDNFilterItem.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDNFilterItem.java index 95de19fd..9246b1de 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDNFilterItem.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDNFilterItem.java @@ -97,7 +97,7 @@ public static NFDNFilterItem create(SegmentAllocator allocator, String name, Str */ @SafeVarargs public static Buffer create(SegmentAllocator allocator, Pair... items) { - final Buffer buffer = new Buffer(allocator.allocateArray(LAYOUT, items.length), items.length); + final Buffer buffer = new Buffer(allocator.allocate(LAYOUT, items.length), items.length); for (int i = 0, len = items.length; i < len; i++) { Pair item = items[i]; buffer.pName.set(buffer.segment(), (long) i, NFD.allocateString(item.key())); diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDU8FilterItem.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDU8FilterItem.java index f0ef323f..fc624e2f 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDU8FilterItem.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFDU8FilterItem.java @@ -83,8 +83,8 @@ public static long sizeof() { */ public static NFDU8FilterItem create(SegmentAllocator allocator, String name, String spec) { final NFDU8FilterItem item = new NFDU8FilterItem(allocator.allocate(LAYOUT)); - pName.set(item.segment(), allocator.allocateUtf8String(name)); - pSpec.set(item.segment(), allocator.allocateUtf8String(spec)); + pName.set(item.segment(), allocator.allocateFrom(name)); + pSpec.set(item.segment(), allocator.allocateFrom(spec)); return item; } @@ -97,11 +97,11 @@ public static NFDU8FilterItem create(SegmentAllocator allocator, String name, St */ @SafeVarargs public static Buffer create(SegmentAllocator allocator, Pair... items) { - final Buffer buffer = new Buffer(allocator.allocateArray(LAYOUT, items.length), items.length); + final Buffer buffer = new Buffer(allocator.allocate(LAYOUT, items.length), items.length); for (int i = 0, len = items.length; i < len; i++) { Pair item = items[i]; - buffer.pName.set(buffer.segment(), (long) i, allocator.allocateUtf8String(item.key())); - buffer.pSpec.set(buffer.segment(), (long) i, allocator.allocateUtf8String(item.value())); + buffer.pName.set(buffer.segment(), (long) i, allocator.allocateFrom(item.key())); + buffer.pSpec.set(buffer.segment(), (long) i, allocator.allocateFrom(item.value())); } return buffer; } @@ -119,7 +119,7 @@ public MemorySegment nname() { * @see #nname() */ public String name() { - return nname().getUtf8String(0); + return nname().getString(0); } /** @@ -135,7 +135,7 @@ public MemorySegment nspec() { * @see #nspec() */ public String spec() { - return nspec().getUtf8String(0); + return nspec().getString(0); } /** @@ -172,7 +172,7 @@ public MemorySegment nnameAt(long index) { * @param index the index */ public String nameAt(long index) { - return nnameAt(index).getUtf8String(0); + return nnameAt(index).getString(0); } /** @@ -190,7 +190,7 @@ public MemorySegment nspecAt(long index) { * @param index the index */ public String specAt(long index) { - return nspecAt(index).getUtf8String(0); + return nspecAt(index).getString(0); } @Override diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java index 5571a51a..d5d96aa8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java @@ -266,19 +266,19 @@ public static void texSubImage1D(int target, int level, int xoffset, int width, } public static void texSubImage1D(SegmentAllocator allocator, int target, int level, int xoffset, int width, int format, int type, byte[] pixels) { - texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void texSubImage1D(SegmentAllocator allocator, int target, int level, int xoffset, int width, int format, int type, short[] pixels) { - texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void texSubImage1D(SegmentAllocator allocator, int target, int level, int xoffset, int width, int format, int type, int[] pixels) { - texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateArray(JAVA_INT, pixels)); + texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void texSubImage1D(SegmentAllocator allocator, int target, int level, int xoffset, int width, int format, int type, float[] pixels) { - texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + texSubImage1D(target, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } public static void texSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, MemorySegment pixels) { @@ -291,18 +291,18 @@ public static void texSubImage2D(int target, int level, int xoffset, int yoffset } public static void texSubImage2D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, byte[] pixels) { - texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void texSubImage2D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, short[] pixels) { - texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void texSubImage2D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, int[] pixels) { - texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_INT, pixels)); + texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void texSubImage2D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, float[] pixels) { - texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java index 1b7a26eb..2ccd4d50 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java @@ -263,7 +263,7 @@ public static void bindAttribLocation(int program, int index, String name) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - bindAttribLocation(program, index, stack.allocateUtf8String(name)); + bindAttribLocation(program, index, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -441,7 +441,7 @@ public static int getAttribLocation(int program, String name) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getAttribLocation(program, stack.allocateUtf8String(name)); + return getAttribLocation(program, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -605,7 +605,7 @@ public static int getUniformLocation(int program, String name) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getUniformLocation(program, stack.allocateUtf8String(name)); + return getUniformLocation(program, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -825,7 +825,7 @@ public static void shaderSource(SegmentAllocator allocator, int shader, String[] var pStr = allocator.allocateArray(ADDRESS, string.length); var pLen = allocator.allocateArray(JAVA_INT, string.length); for (int i = 0; i < string.length; i++) { - pStr.setAtIndex(ADDRESS, i, allocator.allocateUtf8String(string[i])); + pStr.setAtIndex(ADDRESS, i, allocator.allocateFrom(string[i])); pLen.setAtIndex(JAVA_INT, i, string[i].length()); } shaderSource(shader, string.length, pStr, pLen); @@ -835,7 +835,7 @@ public static void shaderSource(int shader, String string) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - shaderSource(shader, 1, stack.allocate(ADDRESS, stack.allocateUtf8String(string)), stack.allocate(JAVA_INT, string.length())); + shaderSource(shader, 1, stack.allocate(ADDRESS, stack.allocateFrom(string)), stack.allocateFrom(JAVA_INT, string.length())); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java index c0232e0b..394f1bc5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java @@ -430,7 +430,7 @@ public static void bindFragDataLocation(int program, int color, String name) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - bindFragDataLocation(program, color, stack.allocateUtf8String(name)); + bindFragDataLocation(program, color, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -836,7 +836,7 @@ public static int getFragDataLocation(int program, String name) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getFragDataLocation(program, stack.allocateUtf8String(name)); + return getFragDataLocation(program, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -1197,7 +1197,7 @@ public static void transformFeedbackVaryings(int program, int count, MemorySegme public static void transformFeedbackVaryings(SegmentAllocator allocator, int program, String[] varyings, int bufferMode) { var seg = allocator.allocateArray(ADDRESS, varyings.length); for (int i = 0; i < varyings.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateUtf8String(varyings[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(varyings[i])); } transformFeedbackVaryings(program, varyings.length, seg, bufferMode); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java index e093b03c..180e6cb3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java @@ -272,7 +272,7 @@ public static int getUniformBlockIndex(int program, String uniformBlockName) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getUniformBlockIndex(program, stack.allocateUtf8String(uniformBlockName)); + return getUniformBlockIndex(program, stack.allocateFrom(uniformBlockName)); } finally { stack.setPointer(stackPointer); } @@ -291,7 +291,7 @@ public static void getUniformIndices(SegmentAllocator allocator, int program, St final int count = uniformNames.length; var pNames = allocator.allocateArray(ADDRESS, count); for (int i = 0; i < count; i++) { - pNames.setAtIndex(ADDRESS, i, allocator.allocateUtf8String(uniformNames[i])); + pNames.setAtIndex(ADDRESS, i, allocator.allocateFrom(uniformNames[i])); } var pIndices = allocator.allocateArray(JAVA_INT, count); getUniformIndices(program, count, pNames, pIndices); @@ -303,7 +303,7 @@ public static int getUniformIndex(int program, String uniformName) { final long stackPointer = stack.getPointer(); try { var seg = stack.allocate(JAVA_INT); - getUniformIndices(program, 1, stack.allocateUtf8String(uniformName), seg); + getUniformIndices(program, 1, stack.allocateFrom(uniformName), seg); return seg.get(JAVA_INT, 0); } finally { stack.setPointer(stackPointer); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java index 1c0eece5..ee209fb3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java @@ -112,7 +112,7 @@ public static void bindFragDataLocationIndexed(int program, int colorNumber, int final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - bindFragDataLocationIndexed(program, colorNumber, index, stack.allocateUtf8String(name)); + bindFragDataLocationIndexed(program, colorNumber, index, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -190,7 +190,7 @@ public static int getFragDataIndex(int program, String name) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getFragDataIndex(program, stack.allocateUtf8String(name)); + return getFragDataIndex(program, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java index a3889377..a13dad7c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java @@ -466,7 +466,7 @@ public static int getSubroutineIndex(int program, int shaderType, String name) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getSubroutineIndex(program, shaderType, stack.allocateUtf8String(name)); + return getSubroutineIndex(program, shaderType, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -485,7 +485,7 @@ public static int getSubroutineUniformLocation(int program, int shaderType, Stri final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getSubroutineUniformLocation(program, shaderType, stack.allocateUtf8String(name)); + return getSubroutineUniformLocation(program, shaderType, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java index ebac495c..721160f5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL41C.java @@ -225,9 +225,9 @@ public static int createShaderProgramv(int type, int count, MemorySegment string } public static int createShaderProgramv(SegmentAllocator allocator, int type, String[] strings) { - var seg = allocator.allocateArray(ADDRESS, strings.length); + var seg = allocator.allocate(ADDRESS, strings.length); for (int i = 0; i < strings.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateUtf8String(strings[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(strings[i])); } return createShaderProgramv(type, strings.length, seg); } @@ -236,7 +236,7 @@ public static int createShaderProgram(int type, String string) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return createShaderProgramv(type, 1, stack.allocate(ADDRESS, stack.allocateUtf8String(string))); + return createShaderProgramv(type, 1, stack.allocateFrom(ADDRESS, stack.allocateFrom(string))); } finally { stack.setPointer(stackPointer); } @@ -252,7 +252,7 @@ public static void deleteProgramPipelines(int n, MemorySegment pipelines) { } public static void deleteProgramPipelines(SegmentAllocator allocator, int[] pipelines) { - deleteProgramPipelines(pipelines.length, allocator.allocateArray(JAVA_INT, pipelines)); + deleteProgramPipelines(pipelines.length, allocator.allocateFrom(JAVA_INT, pipelines)); } public static void deleteProgramPipeline(int pipeline) { @@ -275,7 +275,7 @@ public static void depthRangeArrayv(int first, int count, MemorySegment v) { } public static void depthRangeArrayv(SegmentAllocator allocator, int first, double[] v) { - depthRangeArrayv(first, v.length, allocator.allocateArray(JAVA_DOUBLE, v)); + depthRangeArrayv(first, v.length, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void depthRangeIndexed(int index, double n, double f) { @@ -306,7 +306,7 @@ public static void genProgramPipelines(int n, MemorySegment pipelines) { } public static void genProgramPipelines(SegmentAllocator allocator, int[] pipelines) { - var seg = allocator.allocateArray(JAVA_INT, pipelines.length); + var seg = allocator.allocate(JAVA_INT, pipelines.length); genProgramPipelines(pipelines.length, seg); RuntimeHelper.toArray(seg, pipelines); } @@ -333,7 +333,7 @@ public static void getDoublei_v(int target, int index, MemorySegment data) { } public static void getDoublei_v(SegmentAllocator allocator, int target, int index, double[] data) { - var seg = allocator.allocateArray(JAVA_DOUBLE, data.length); + var seg = allocator.allocate(JAVA_DOUBLE, data.length); getDoublei_v(target, index, seg); RuntimeHelper.toArray(seg, data); } @@ -360,7 +360,7 @@ public static void getFloati_v(int target, int index, MemorySegment data) { } public static void getFloati_v(SegmentAllocator allocator, int target, int index, float[] data) { - var seg = allocator.allocateArray(JAVA_FLOAT, data.length); + var seg = allocator.allocate(JAVA_FLOAT, data.length); getFloati_v(target, index, seg); RuntimeHelper.toArray(seg, data); } @@ -417,19 +417,19 @@ public static void getProgramPipelineInfoLog(int pipeline, int bufSize, MemorySe public static void getProgramPipelineInfoLog(SegmentAllocator allocator, int pipeline, int bufSize, int @Nullable [] length, String[] infoLog) { var pl = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - var pi = allocator.allocateArray(JAVA_BYTE, bufSize); + var pi = allocator.allocate(JAVA_BYTE, bufSize); getProgramPipelineInfoLog(pipeline, bufSize, pl, pi); if (length != null && length.length > 0) { length[0] = pl.get(JAVA_INT, 0); } - infoLog[0] = pi.getUtf8String(0); + infoLog[0] = pi.getString(0); } public static String getProgramPipelineInfoLog(SegmentAllocator allocator, int pipeline) { final int sz = getProgramPipelinei(pipeline, INFO_LOG_LENGTH); - var pi = allocator.allocateArray(JAVA_BYTE, sz); + var pi = allocator.allocate(JAVA_BYTE, sz); getProgramPipelineInfoLog(pipeline, sz, MemorySegment.NULL, pi); - return pi.getUtf8String(0); + return pi.getString(0); } public static void getProgramPipelineiv(int pipeline, int pname, MemorySegment params) { @@ -463,7 +463,7 @@ public static void getShaderPrecisionFormat(int shaderType, int precisionType, M } public static void getShaderPrecisionFormat(SegmentAllocator allocator, int shaderType, int precisionType, int[] range, int[] precision) { - var pr = allocator.allocateArray(JAVA_INT, range.length); + var pr = allocator.allocate(JAVA_INT, range.length); var pp = allocator.allocate(JAVA_INT); getShaderPrecisionFormat(shaderType, precisionType, pr, pp); RuntimeHelper.toArray(pr, range); @@ -480,7 +480,7 @@ public static void getVertexAttribLdv(int index, int pname, MemorySegment params } public static void getVertexAttribLdv(SegmentAllocator allocator, int index, int pname, double[] params) { - var seg = allocator.allocateArray(JAVA_DOUBLE, params.length); + var seg = allocator.allocate(JAVA_DOUBLE, params.length); getVertexAttribLdv(index, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -535,7 +535,7 @@ public static void programUniform1dv(int program, int location, int count, Memor } public static void programUniform1dv(SegmentAllocator allocator, int program, int location, double[] value) { - programUniform1dv(program, location, value.length, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniform1dv(program, location, value.length, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniform1f(int program, int location, float v0) { @@ -557,7 +557,7 @@ public static void programUniform1fv(int program, int location, int count, Memor } public static void programUniform1fv(SegmentAllocator allocator, int program, int location, float[] value) { - programUniform1fv(program, location, value.length, allocator.allocateArray(JAVA_FLOAT, value)); + programUniform1fv(program, location, value.length, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniform1i(int program, int location, int v0) { @@ -579,7 +579,7 @@ public static void programUniform1iv(int program, int location, int count, Memor } public static void programUniform1iv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform1iv(program, location, value.length, allocator.allocateArray(JAVA_INT, value)); + programUniform1iv(program, location, value.length, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniform1ui(int program, int location, int v0) { @@ -601,7 +601,7 @@ public static void programUniform1uiv(int program, int location, int count, Memo } public static void programUniform1uiv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform1uiv(program, location, value.length, allocator.allocateArray(JAVA_INT, value)); + programUniform1uiv(program, location, value.length, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniform2d(int program, int location, double v0, double v1) { @@ -623,7 +623,7 @@ public static void programUniform2dv(int program, int location, int count, Memor } public static void programUniform2dv(SegmentAllocator allocator, int program, int location, double[] value) { - programUniform2dv(program, location, value.length >> 2, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniform2dv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniform2f(int program, int location, float v0, float v1) { @@ -645,7 +645,7 @@ public static void programUniform2fv(int program, int location, int count, Memor } public static void programUniform2fv(SegmentAllocator allocator, int program, int location, float[] value) { - programUniform2fv(program, location, value.length >> 2, allocator.allocateArray(JAVA_FLOAT, value)); + programUniform2fv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniform2i(int program, int location, int v0, int v1) { @@ -667,7 +667,7 @@ public static void programUniform2iv(int program, int location, int count, Memor } public static void programUniform2iv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform2iv(program, location, value.length >> 2, allocator.allocateArray(JAVA_INT, value)); + programUniform2iv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniform2ui(int program, int location, int v0, int v1) { @@ -689,7 +689,7 @@ public static void programUniform2uiv(int program, int location, int count, Memo } public static void programUniform2uiv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform2uiv(program, location, value.length >> 2, allocator.allocateArray(JAVA_INT, value)); + programUniform2uiv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniform3d(int program, int location, double v0, double v1, double v2) { @@ -711,7 +711,7 @@ public static void programUniform3dv(int program, int location, int count, Memor } public static void programUniform3dv(SegmentAllocator allocator, int program, int location, double[] value) { - programUniform3dv(program, location, value.length / 3, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniform3dv(program, location, value.length / 3, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniform3f(int program, int location, float v0, float v1, float v2) { @@ -733,7 +733,7 @@ public static void programUniform3fv(int program, int location, int count, Memor } public static void programUniform3fv(SegmentAllocator allocator, int program, int location, float[] value) { - programUniform3fv(program, location, value.length / 3, allocator.allocateArray(JAVA_FLOAT, value)); + programUniform3fv(program, location, value.length / 3, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniform3i(int program, int location, int v0, int v1, int v2) { @@ -755,7 +755,7 @@ public static void programUniform3iv(int program, int location, int count, Memor } public static void programUniform3iv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform3iv(program, location, value.length / 3, allocator.allocateArray(JAVA_INT, value)); + programUniform3iv(program, location, value.length / 3, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniform3ui(int program, int location, int v0, int v1, int v2) { @@ -777,7 +777,7 @@ public static void programUniform3uiv(int program, int location, int count, Memo } public static void programUniform3uiv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform3uiv(program, location, value.length / 3, allocator.allocateArray(JAVA_INT, value)); + programUniform3uiv(program, location, value.length / 3, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniform4d(int program, int location, double v0, double v1, double v2, double v3) { @@ -799,7 +799,7 @@ public static void programUniform4dv(int program, int location, int count, Memor } public static void programUniform4dv(SegmentAllocator allocator, int program, int location, double[] value) { - programUniform4dv(program, location, value.length >> 2, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniform4dv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniform4f(int program, int location, float v0, float v1, float v2, float v3) { @@ -821,7 +821,7 @@ public static void programUniform4fv(int program, int location, int count, Memor } public static void programUniform4fv(SegmentAllocator allocator, int program, int location, float[] value) { - programUniform4fv(program, location, value.length >> 2, allocator.allocateArray(JAVA_FLOAT, value)); + programUniform4fv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniform4i(int program, int location, int v0, int v1, int v2, int v3) { @@ -843,7 +843,7 @@ public static void programUniform4iv(int program, int location, int count, Memor } public static void programUniform4iv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform4iv(program, location, value.length >> 2, allocator.allocateArray(JAVA_INT, value)); + programUniform4iv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniform4ui(int program, int location, int v0, int v1, int v2, int v3) { @@ -865,7 +865,7 @@ public static void programUniform4uiv(int program, int location, int count, Memo } public static void programUniform4uiv(SegmentAllocator allocator, int program, int location, int[] value) { - programUniform4uiv(program, location, value.length >> 2, allocator.allocateArray(JAVA_INT, value)); + programUniform4uiv(program, location, value.length >> 2, allocator.allocateFrom(JAVA_INT, value)); } public static void programUniformMatrix2dv(int program, int location, int count, boolean transpose, MemorySegment value) { @@ -878,7 +878,7 @@ public static void programUniformMatrix2dv(int program, int location, int count, } public static void programUniformMatrix2dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix2dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix2dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix2dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -895,7 +895,7 @@ public static void programUniformMatrix2fv(int program, int location, int count, } public static void programUniformMatrix2fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix2fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix2fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix2fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -912,7 +912,7 @@ public static void programUniformMatrix2x3dv(int program, int location, int coun } public static void programUniformMatrix2x3dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix2x3dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix2x3dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix2x3dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -929,7 +929,7 @@ public static void programUniformMatrix2x3fv(int program, int location, int coun } public static void programUniformMatrix2x3fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix2x3fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix2x3fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix2x3fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -946,7 +946,7 @@ public static void programUniformMatrix2x4dv(int program, int location, int coun } public static void programUniformMatrix2x4dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix2x4dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix2x4dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix2x4dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -963,7 +963,7 @@ public static void programUniformMatrix2x4fv(int program, int location, int coun } public static void programUniformMatrix2x4fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix2x4fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix2x4fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix2x4fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -980,7 +980,7 @@ public static void programUniformMatrix3dv(int program, int location, int count, } public static void programUniformMatrix3dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix3dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix3dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix3dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -997,7 +997,7 @@ public static void programUniformMatrix3fv(int program, int location, int count, } public static void programUniformMatrix3fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix3fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix3fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix3fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -1014,7 +1014,7 @@ public static void programUniformMatrix3x2dv(int program, int location, int coun } public static void programUniformMatrix3x2dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix3x2dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix3x2dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix3x2dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -1031,7 +1031,7 @@ public static void programUniformMatrix3x2fv(int program, int location, int coun } public static void programUniformMatrix3x2fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix3x2fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix3x2fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix3x2fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -1048,7 +1048,7 @@ public static void programUniformMatrix3x4dv(int program, int location, int coun } public static void programUniformMatrix3x4dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix3x4dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix3x4dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix3x4dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -1065,7 +1065,7 @@ public static void programUniformMatrix3x4fv(int program, int location, int coun } public static void programUniformMatrix3x4fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix3x4fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix3x4fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix3x4fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -1082,7 +1082,7 @@ public static void programUniformMatrix4dv(int program, int location, int count, } public static void programUniformMatrix4dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix4dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix4dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix4dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -1099,7 +1099,7 @@ public static void programUniformMatrix4fv(int program, int location, int count, } public static void programUniformMatrix4fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix4fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix4fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix4fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -1116,7 +1116,7 @@ public static void programUniformMatrix4x2dv(int program, int location, int coun } public static void programUniformMatrix4x2dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix4x2dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix4x2dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix4x2dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -1133,7 +1133,7 @@ public static void programUniformMatrix4x2fv(int program, int location, int coun } public static void programUniformMatrix4x2fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix4x2fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix4x2fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix4x2fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -1150,7 +1150,7 @@ public static void programUniformMatrix4x3dv(int program, int location, int coun } public static void programUniformMatrix4x3dv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, double[] value) { - programUniformMatrix4x3dv(program, location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + programUniformMatrix4x3dv(program, location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void programUniformMatrix4x3dv(SegmentAllocator allocator, int program, int location, boolean transpose, double[] value) { @@ -1167,7 +1167,7 @@ public static void programUniformMatrix4x3fv(int program, int location, int coun } public static void programUniformMatrix4x3fv(SegmentAllocator allocator, int program, int location, int count, boolean transpose, float[] value) { - programUniformMatrix4x3fv(program, location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + programUniformMatrix4x3fv(program, location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void programUniformMatrix4x3fv(SegmentAllocator allocator, int program, int location, boolean transpose, float[] value) { @@ -1193,7 +1193,7 @@ public static void scissorArrayv(int first, int count, MemorySegment v) { } public static void scissorArrayv(SegmentAllocator allocator, int first, int count, int[] v) { - scissorArrayv(first, count, allocator.allocateArray(JAVA_INT, v)); + scissorArrayv(first, count, allocator.allocateFrom(JAVA_INT, v)); } public static void scissorIndexed(int index, int left, int bottom, int width, int height) { @@ -1215,7 +1215,7 @@ public static void scissorIndexedv(int index, MemorySegment v) { } public static void scissorIndexedv(SegmentAllocator allocator, int index, int[] v) { - scissorIndexedv(index, allocator.allocateArray(JAVA_INT, v)); + scissorIndexedv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void shaderBinary(int count, MemorySegment shaders, int binaryFormat, MemorySegment binary, int length) { @@ -1228,7 +1228,7 @@ public static void shaderBinary(int count, MemorySegment shaders, int binaryForm } public static void shaderBinary(SegmentAllocator allocator, int[] shaders, int binaryFormat, MemorySegment binary, int length) { - shaderBinary(shaders.length, allocator.allocateArray(JAVA_INT, shaders), binaryFormat, binary, length); + shaderBinary(shaders.length, allocator.allocateFrom(JAVA_INT, shaders), binaryFormat, binary, length); } public static void shaderBinary(SegmentAllocator allocator, int[] shaders, int binaryFormat, MemorySegment binary) { @@ -1272,7 +1272,7 @@ public static void vertexAttribL1dv(int index, MemorySegment v) { } public static void vertexAttribL1dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttribL1dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttribL1dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttribL2d(int index, double x, double y) { @@ -1294,7 +1294,7 @@ public static void vertexAttribL2dv(int index, MemorySegment v) { } public static void vertexAttribL2dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttribL2dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttribL2dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttribL3d(int index, double x, double y, double z) { @@ -1316,7 +1316,7 @@ public static void vertexAttribL3dv(int index, MemorySegment v) { } public static void vertexAttribL3dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttribL3dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttribL3dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttribL4d(int index, double x, double y, double z, double w) { @@ -1338,7 +1338,7 @@ public static void vertexAttribL4dv(int index, MemorySegment v) { } public static void vertexAttribL4dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttribL4dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttribL4dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttribLPointer(int index, int size, int type, int stride, MemorySegment pointer) { @@ -1351,7 +1351,7 @@ public static void vertexAttribLPointer(int index, int size, int type, int strid } public static void vertexAttribLPointer(SegmentAllocator allocator, int index, int size, int type, int stride, double[] pointer) { - vertexAttribLPointer(index, size, type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + vertexAttribLPointer(index, size, type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } public static void viewportArrayv(int first, int count, MemorySegment v) { @@ -1364,7 +1364,7 @@ public static void viewportArrayv(int first, int count, MemorySegment v) { } public static void viewportArrayv(SegmentAllocator allocator, int first, int count, float[] v) { - viewportArrayv(first, count, allocator.allocateArray(JAVA_FLOAT, v)); + viewportArrayv(first, count, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void viewportIndexedf(int index, float x, float y, float w, float h) { @@ -1386,6 +1386,6 @@ public static void viewportIndexedfv(int index, MemorySegment v) { } public static void viewportIndexedfv(SegmentAllocator allocator, int index, float[] v) { - viewportIndexedfv(index, allocator.allocateArray(JAVA_FLOAT, v)); + viewportIndexedfv(index, allocator.allocateFrom(JAVA_FLOAT, v)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java index ef05dc51..3218077d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java @@ -448,7 +448,7 @@ public static void debugMessageInsert(int source, int type, int id, int severity final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - debugMessageInsert(source, type, id, severity, buf.length(), stack.allocateUtf8String(buf)); + debugMessageInsert(source, type, id, severity, buf.length(), stack.allocateFrom(buf)); } finally { stack.setPointer(stackPointer); } @@ -647,7 +647,7 @@ public static int getProgramResourceIndex(int program, int programInterface, Str final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getProgramResourceIndex(program, programInterface, stack.allocateUtf8String(name)); + return getProgramResourceIndex(program, programInterface, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -666,7 +666,7 @@ public static int getProgramResourceLocation(int program, int programInterface, final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getProgramResourceLocation(program, programInterface, stack.allocateUtf8String(name)); + return getProgramResourceLocation(program, programInterface, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -685,7 +685,7 @@ public static int getProgramResourceLocationIndex(int program, int programInterf final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return getProgramResourceLocationIndex(program, programInterface, stack.allocateUtf8String(name)); + return getProgramResourceLocationIndex(program, programInterface, stack.allocateFrom(name)); } finally { stack.setPointer(stackPointer); } @@ -868,7 +868,7 @@ public static void objectLabel(int identifier, int name, String label) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - objectLabel(identifier, name, label.length(), stack.allocateUtf8String(label)); + objectLabel(identifier, name, label.length(), stack.allocateFrom(label)); } finally { stack.setPointer(stackPointer); } @@ -887,7 +887,7 @@ public static void objectPtrLabel(MemorySegment ptr, String label) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - objectPtrLabel(ptr, label.length(), stack.allocateUtf8String(label)); + objectPtrLabel(ptr, label.length(), stack.allocateFrom(label)); } finally { stack.setPointer(stackPointer); } @@ -915,7 +915,7 @@ public static void pushDebugGroup(int source, int id, String message) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - pushDebugGroup(source, id, message.length(), stack.allocateUtf8String(message)); + pushDebugGroup(source, id, message.length(), stack.allocateFrom(message)); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java index 6004b5c2..7fd1984c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java @@ -118,7 +118,7 @@ public static void specializeShader(int shader, MemorySegment pEntryPoint, int n public static void specializeShader(SegmentAllocator allocator, int shader, @Nullable String pEntryPoint, int @Nullable [] pConstantIndex, int @Nullable [] pConstantValue) { specializeShader(shader, - pEntryPoint != null ? allocator.allocateUtf8String(pEntryPoint) : MemorySegment.NULL, + pEntryPoint != null ? allocator.allocateFrom(pEntryPoint) : MemorySegment.NULL, pConstantIndex != null ? pConstantIndex.length : (pConstantValue != null ? pConstantValue.length : 0), pConstantIndex != null ? allocator.allocateArray(ValueLayout.JAVA_INT, pConstantIndex) : MemorySegment.NULL, pConstantValue != null ? allocator.allocateArray(ValueLayout.JAVA_INT, pConstantValue) : MemorySegment.NULL); @@ -129,7 +129,7 @@ public static void specializeShader(int shader, @Nullable String pEntryPoint) { final long stackPointer = stack.getPointer(); try { specializeShader(shader, - pEntryPoint != null ? stack.allocateUtf8String(pEntryPoint) : MemorySegment.NULL, + pEntryPoint != null ? stack.allocateFrom(pEntryPoint) : MemorySegment.NULL, 0, MemorySegment.NULL, MemorySegment.NULL); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLDebugProc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLDebugProc.java index ff57aeed..0f054355 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLDebugProc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLDebugProc.java @@ -17,7 +17,6 @@ package overrungl.opengl; import overrungl.Callback; -import overrungl.internal.RuntimeHelper; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.MemorySegment; @@ -36,7 +35,7 @@ */ @FunctionalInterface public interface GLDebugProc extends Callback { - FunctionDescriptor DESC = FunctionDescriptor.ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, RuntimeHelper.ADDRESS_UNBOUNDED); + FunctionDescriptor DESC = FunctionDescriptor.ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS); MethodType MTYPE = DESC.toMethodType(); /** @@ -53,7 +52,7 @@ public interface GLDebugProc extends Callback { void invoke(int source, int type, int id, int severity, String message, MemorySegment userParam); default void ninvoke(int source, int type, int id, int severity, int length, MemorySegment message, MemorySegment userParam) { - invoke(source, type, id, severity, message.reinterpret(length + 1).getUtf8String(0), userParam); + invoke(source, type, id, severity, message.reinterpret(length + 1).getString(0), userParam.reinterpret(Long.MAX_VALUE)); } @Override diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java index 40052e76..3a2cfdca 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java @@ -56,7 +56,7 @@ private static boolean getExtensions(SegmentAllocator allocator, } for (int index = 0; index < numExtsI; index++) { var glStrTmp = GL30C.getStringi(GL10C.EXTENSIONS, index); - extsI.setAtIndex(ADDRESS, index, allocator.allocateUtf8String(glStrTmp)); + extsI.setAtIndex(ADDRESS, index, allocator.allocateFrom(glStrTmp)); } outNumExtsI.set(JAVA_INT, 0, numExtsI); outExtsI[0] = extsI; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java index dc31ffcc..d5a5c13a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINTELPerformanceQuery.java @@ -221,7 +221,7 @@ public static void glGetPerfQueryIdByNameINTEL(MemorySegment queryName, MemorySe public static int glGetPerfQueryIdByNameINTEL(SegmentAllocator allocator, String queryName) { var seg = allocator.allocate(JAVA_INT); - glGetPerfQueryIdByNameINTEL(allocator.allocateUtf8String(queryName), seg); + glGetPerfQueryIdByNameINTEL(allocator.allocateFrom(queryName), seg); return seg.get(JAVA_INT, 0); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java index 713e4424..18aa5ab3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java @@ -95,7 +95,7 @@ public static void glDebugMessageInsertAMD(int category, int severity, int id, i } public static void glDebugMessageInsertAMD(SegmentAllocator allocator, int category, int severity, int id, String buf) { - glDebugMessageInsertAMD(category, severity, id, 0, allocator.allocateUtf8String(buf)); + glDebugMessageInsertAMD(category, severity, id, 0, allocator.allocateFrom(buf)); } public static int glGetDebugMessageLogAMD(int count, int bufSize, MemorySegment categories, MemorySegment severities, MemorySegment ids, MemorySegment lengths, MemorySegment message) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLDebugProcAMD.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLDebugProcAMD.java index 4a5b5c80..af855e69 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLDebugProcAMD.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLDebugProcAMD.java @@ -36,7 +36,7 @@ */ @FunctionalInterface public interface GLDebugProcAMD extends Callback { - FunctionDescriptor DESC = FunctionDescriptor.ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, RuntimeHelper.ADDRESS_UNBOUNDED); + FunctionDescriptor DESC = FunctionDescriptor.ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS); MethodType MTYPE = DESC.toMethodType(); /** @@ -52,7 +52,7 @@ public interface GLDebugProcAMD extends Callback { void invoke(int id, int category, int severity, String message, MemorySegment userParam); default void ninvoke(int id, int category, int severity, int length, MemorySegment message, MemorySegment userParam) { - invoke(id, category, severity, message.reinterpret(length + 1).getUtf8String(0), userParam); + invoke(id, category, severity, message.reinterpret(length + 1).getString(0), userParam.reinterpret(Long.MAX_VALUE)); } @Override diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java index 3376e209..fa553313 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java @@ -66,7 +66,7 @@ public static void glDeleteVertexArraysAPPLE(SegmentAllocator allocator, int[] a } public static void glDeleteVertexArrayAPPLE(SegmentAllocator allocator, int array) { - glDeleteVertexArraysAPPLE(1, allocator.allocate(JAVA_INT, array)); + glDeleteVertexArraysAPPLE(1, allocator.allocateFrom(JAVA_INT, array)); } public static void glGenVertexArraysAPPLE(int n, MemorySegment arrays) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java index b2cd1bad..7a0d1fcd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java @@ -104,7 +104,7 @@ public static void glDebugMessageInsertARB(int source, int type, int id, int sev } public static void glDebugMessageInsertARB(SegmentAllocator allocator, int source, int type, int id, int severity, String buf) { - glDebugMessageInsertARB(source, type, id, severity, -1, allocator.allocateUtf8String(buf)); + glDebugMessageInsertARB(source, type, id, severity, -1, allocator.allocateFrom(buf)); } public static int glGetDebugMessageLogARB(int count, int bufSize, MemorySegment sources, MemorySegment types, MemorySegment ids, MemorySegment severities, MemorySegment lengths, MemorySegment messageLog) { diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java index c64a9643..8dd6a000 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java @@ -108,7 +108,7 @@ public static int nprint(float x, float y, MemorySegment text, MemorySegment col } public static int print(SegmentAllocator allocator, float x, float y, String text, byte[] color, MemorySegment vertexBuffer, int vbufSize) { - return nprint(x, y, allocator.allocateUtf8String(text), allocator.allocateArray(ValueLayout.JAVA_BYTE, color), vertexBuffer, vbufSize); + return nprint(x, y, allocator.allocateFrom(text), allocator.allocateArray(ValueLayout.JAVA_BYTE, color), vertexBuffer, vbufSize); } public static int nwidth(MemorySegment text) { @@ -123,7 +123,7 @@ public static int width(String text) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nwidth(stack.allocateUtf8String(text)); + return nwidth(stack.allocateFrom(text)); } finally { stack.setPointer(stackPointer); } @@ -141,7 +141,7 @@ public static int height(String text) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nheight(stack.allocateUtf8String(text)); + return nheight(stack.allocateFrom(text)); } finally { stack.setPointer(stackPointer); } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBIIoCallbacks.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBIIoCallbacks.java index 2710be90..b32e0197 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBIIoCallbacks.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBIIoCallbacks.java @@ -72,9 +72,18 @@ public STBIIoCallbacks(MemorySegment address) { */ @FunctionalInterface public interface Read extends Callback { - FunctionDescriptor DESC = FunctionDescriptor.of(ValueLayout.JAVA_INT, RuntimeHelper.ADDRESS_UNBOUNDED, RuntimeHelper.ADDRESS_UNBOUNDED, ValueLayout.JAVA_INT); + FunctionDescriptor DESC = FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.JAVA_INT); MethodType MTYPE = DESC.toMethodType(); + /** + * Fill {@code data} with {@code size} bytes. + * + * @param user userdata + * @param data data buffer to be filled + * @return number of bytes actually read + */ + int invoke(MemorySegment user, MemorySegment data); + /** * Fill {@code data} with {@code size} bytes. * @@ -83,7 +92,9 @@ public interface Read extends Callback { * @param size byte size to fill * @return number of bytes actually read */ - int invoke(MemorySegment user, MemorySegment data, int size); + default int ninvoke(MemorySegment user, MemorySegment data, int size) { + return invoke(user.reinterpret(Long.MAX_VALUE), data.reinterpret(size)); + } @Override default FunctionDescriptor descriptor() { @@ -92,7 +103,7 @@ default FunctionDescriptor descriptor() { @Override default MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodException, IllegalAccessException { - return lookup.findVirtual(Read.class, "invoke", MTYPE); + return lookup.findVirtual(Read.class, "ninvoke", MTYPE); } } @@ -104,7 +115,7 @@ default MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodExce */ @FunctionalInterface public interface Skip extends Callback { - FunctionDescriptor DESC = FunctionDescriptor.ofVoid(RuntimeHelper.ADDRESS_UNBOUNDED, ValueLayout.JAVA_INT); + FunctionDescriptor DESC = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.JAVA_INT); MethodType MTYPE = DESC.toMethodType(); /** @@ -115,6 +126,16 @@ public interface Skip extends Callback { */ void invoke(MemorySegment user, int n); + /** + * Skip the next {@code n} bytes, or “unget” the last {@code -n} bytes if negative + * + * @param user userdata + * @param n byte size to skip + */ + default void ninvoke(MemorySegment user, int n) { + invoke(user.reinterpret(Long.MAX_VALUE), n); + } + @Override default FunctionDescriptor descriptor() { return DESC; @@ -122,7 +143,7 @@ default FunctionDescriptor descriptor() { @Override default MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodException, IllegalAccessException { - return lookup.findVirtual(Skip.class, "invoke", MTYPE); + return lookup.findVirtual(Skip.class, "ninvoke", MTYPE); } } @@ -134,7 +155,7 @@ default MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodExce */ @FunctionalInterface public interface Eof extends Callback { - FunctionDescriptor DESC = FunctionDescriptor.of(ValueLayout.JAVA_INT, RuntimeHelper.ADDRESS_UNBOUNDED); + FunctionDescriptor DESC = FunctionDescriptor.of(ValueLayout.JAVA_INT, ValueLayout.ADDRESS); MethodType MTYPE = DESC.toMethodType(); /** @@ -144,6 +165,15 @@ public interface Eof extends Callback { */ int invoke(MemorySegment user); + /** + * {@return nonzero if we are at end of file/data} + * + * @param user userdata + */ + default int ninvoke(MemorySegment user) { + return invoke(user.reinterpret(Long.MAX_VALUE)); + } + @Override default FunctionDescriptor descriptor() { return DESC; @@ -151,7 +181,7 @@ default FunctionDescriptor descriptor() { @Override default MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodException, IllegalAccessException { - return lookup.findVirtual(Eof.class, "invoke", MTYPE); + return lookup.findVirtual(Eof.class, "ninvoke", MTYPE); } } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBIWriteFunc.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBIWriteFunc.java index a39307bd..eced09bf 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBIWriteFunc.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBIWriteFunc.java @@ -17,7 +17,6 @@ package overrungl.stb; import overrungl.Callback; -import overrungl.internal.RuntimeHelper; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.MemorySegment; @@ -34,10 +33,14 @@ */ @FunctionalInterface public interface STBIWriteFunc extends Callback { - FunctionDescriptor DESC = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, RuntimeHelper.ADDRESS_UNBOUNDED, ValueLayout.JAVA_INT); + FunctionDescriptor DESC = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.JAVA_INT); MethodType MTYPE = DESC.toMethodType(); - void invoke(MemorySegment context, MemorySegment data, int size); + void invoke(MemorySegment context, MemorySegment data); + + default void ninvoke(MemorySegment context, MemorySegment data, int size) { + invoke(context, data.reinterpret(size)); + } @Override default FunctionDescriptor descriptor() { @@ -46,6 +49,6 @@ default FunctionDescriptor descriptor() { @Override default MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodException, IllegalAccessException { - return lookup.findVirtual(STBIWriteFunc.class, "invoke", MTYPE); + return lookup.findVirtual(STBIWriteFunc.class, "ninvoke", MTYPE); } } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java index 40cf44a5..e40e2ffa 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java @@ -165,7 +165,7 @@ public static boolean info(String filename, int[] x, int[] y, int[] comp) { var px = stack.allocate(JAVA_INT); var py = stack.allocate(JAVA_INT); var pc = stack.allocate(JAVA_INT); - boolean b = ninfo(stack.allocateUtf8String(filename), px, py, pc); + boolean b = ninfo(stack.allocateFrom(filename), px, py, pc); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); comp[0] = pc.get(JAVA_INT, 0); @@ -266,7 +266,7 @@ public static boolean is16Bit(String filename) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nis16Bit(stack.allocateUtf8String(filename)); + return nis16Bit(stack.allocateFrom(filename)); } finally { stack.setPointer(stackPointer); } @@ -320,7 +320,7 @@ public static boolean isHdr(String filename) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nisHdr(stack.allocateUtf8String(filename)); + return nisHdr(stack.allocateFrom(filename)); } finally { stack.setPointer(stackPointer); } @@ -393,7 +393,7 @@ public static MemorySegment load(String filename, int[] x, int[] y, int[] channe var px = stack.allocate(JAVA_INT); var py = stack.allocate(JAVA_INT); var pc = stack.allocate(JAVA_INT); - var addr = nload(stack.allocateUtf8String(filename), px, py, pc, desiredChannels); + var addr = nload(stack.allocateFrom(filename), px, py, pc, desiredChannels); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); channelsInFile[0] = pc.get(JAVA_INT, 0); @@ -418,7 +418,7 @@ public static MemorySegment load16(String filename, int[] x, int[] y, int[] chan var px = stack.allocate(JAVA_INT); var py = stack.allocate(JAVA_INT); var pc = stack.allocate(JAVA_INT); - var addr = nload16(stack.allocateUtf8String(filename), px, py, pc, desiredChannels); + var addr = nload16(stack.allocateFrom(filename), px, py, pc, desiredChannels); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); channelsInFile[0] = pc.get(JAVA_INT, 0); @@ -617,7 +617,7 @@ public static MemorySegment loadf(String filename, int[] x, int[] y, int[] chann var px = stack.allocate(JAVA_INT); var py = stack.allocate(JAVA_INT); var pc = stack.allocate(JAVA_INT); - var addr = nloadf(stack.allocateUtf8String(filename), px, py, pc, desiredChannels); + var addr = nloadf(stack.allocateFrom(filename), px, py, pc, desiredChannels); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); channelsInFile[0] = pc.get(JAVA_INT, 0); diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java index 10e45017..22902258 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageWrite.java @@ -152,7 +152,7 @@ public static boolean png(String filename, int w, int h, int comp, MemorySegment final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return npng(stack.allocateUtf8String(filename), w, h, comp, data, strideInBytes); + return npng(stack.allocateFrom(filename), w, h, comp, data, strideInBytes); } finally { stack.setPointer(stackPointer); } @@ -162,7 +162,7 @@ public static boolean bmp(String filename, int w, int h, int comp, MemorySegment final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return nbmp(stack.allocateUtf8String(filename), w, h, comp, data); + return nbmp(stack.allocateFrom(filename), w, h, comp, data); } finally { stack.setPointer(stackPointer); } @@ -172,21 +172,21 @@ public static boolean tga(String filename, int w, int h, int comp, MemorySegment final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return ntga(stack.allocateUtf8String(filename), w, h, comp, data); + return ntga(stack.allocateFrom(filename), w, h, comp, data); } finally { stack.setPointer(stackPointer); } } public static boolean hdr(SegmentAllocator allocator, String filename, int w, int h, int comp, float[] data) { - return nhdr(allocator.allocateUtf8String(filename), w, h, comp, allocator.allocateArray(JAVA_FLOAT, data)); + return nhdr(allocator.allocateFrom(filename), w, h, comp, allocator.allocateFrom(JAVA_FLOAT, data)); } public static boolean jpg(String filename, int x, int y, int comp, MemorySegment data, int quality) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - return njpg(stack.allocateUtf8String(filename), x, y, comp, data, quality); + return njpg(stack.allocateFrom(filename), x, y, comp, data, quality); } finally { stack.setPointer(stackPointer); } @@ -245,7 +245,7 @@ public static boolean tgaToFunc(Arena arena, STBIWriteFunc func, MemorySegment c } public static boolean hdrToFunc(Arena arena, STBIWriteFunc func, MemorySegment context, int w, int h, int comp, float[] data) { - return nhdrToFunc(func.address(arena), context, w, h, comp, arena.allocateArray(JAVA_FLOAT, data)); + return nhdrToFunc(func.address(arena), context, w, h, comp, arena.allocateFrom(JAVA_FLOAT, data)); } public static boolean jpgToFunc(Arena arena, STBIWriteFunc func, MemorySegment context, int x, int y, int comp, MemorySegment data, int quality) { @@ -270,7 +270,7 @@ public static MemorySegment npngToMem(MemorySegment pixels, int strideInBytes, i public static byte[] pngToMem(SegmentAllocator allocator, byte[] pixels, int strideInBytes, int x, int y, int n, int[] outLen) { var pl = allocator.allocate(JAVA_INT); - var p = npngToMem(allocator.allocateArray(JAVA_BYTE, pixels), strideInBytes, x, y, n, pl); + var p = npngToMem(allocator.allocateFrom(JAVA_BYTE, pixels), strideInBytes, x, y, n, pl); final int len = pl.get(JAVA_INT, 0); outLen[0] = len; return RuntimeHelper.toArray(p, new byte[len]); @@ -286,7 +286,7 @@ public static MemorySegment nzlibCompress(MemorySegment data, int dataLen, Memor public static byte[] zlibCompress(SegmentAllocator allocator, byte[] data, int[] outLen, int quality) { var pl = allocator.allocate(JAVA_INT); - var p = nzlibCompress(allocator.allocateArray(JAVA_BYTE, data), data.length, pl, quality); + var p = nzlibCompress(allocator.allocateFrom(JAVA_BYTE, data), data.length, pl, quality); final int len = pl.get(JAVA_INT, 0); outLen[0] = len; return RuntimeHelper.toArray(p, new byte[len]); From e10ae5f3cd2cf7cea7296f4e22ee60e512b7ac87 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 21 Oct 2023 12:24:54 +0800 Subject: [PATCH 20/44] [Core] Rename MemoryUtil to CStdio --- .../java/overrungl/FunctionDescriptors.java | 6 ++--- .../overrungl/internal/RuntimeHelper.java | 6 ++--- .../util/{MemoryUtil.java => CStdio.java} | 6 ++--- .../main/java/overrungl/util/CheckUtil.java | 4 ++-- .../java/overrungl/util/DebugAllocator.java | 4 ++-- .../main/java/overrungl/util/MemoryStack.java | 8 +++---- .../java/overrungl/util/StackWalkUtil.java | 2 +- .../src/main/java/overrungl/joml/Matrixn.java | 22 +++++++++---------- .../src/main/java/overrungl/joml/Vectorn.java | 20 ++++++++--------- .../overrungl/demo/mem/MemoryUtilTest.java | 10 ++++----- 10 files changed, 44 insertions(+), 44 deletions(-) rename modules/overrungl.core/src/main/java/overrungl/util/{MemoryUtil.java => CStdio.java} (99%) diff --git a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java index 8a8ba594..8b5ccb38 100644 --- a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java +++ b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java @@ -17,7 +17,7 @@ package overrungl; import overrungl.internal.Exceptions; -import overrungl.util.MemoryUtil; +import overrungl.util.CStdio; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.ValueLayout; @@ -38,7 +38,7 @@ * case 'F' -> JAVA_FLOAT; * case 'D' -> JAVA_DOUBLE; * case 'P' -> ADDRESS; - * case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; + * case 'p' -> CStdio.ADDRESS_UNBOUNDED; * default -> throw new IllegalArgumentException(); * }} * @@ -123,7 +123,7 @@ public static ValueLayout ofValue(char c) throws IllegalArgumentException { case 'F' -> JAVA_FLOAT; case 'D' -> JAVA_DOUBLE; case 'P' -> ADDRESS; - case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; + case 'p' -> CStdio.ADDRESS_UNBOUNDED; default -> throw Exceptions.IAE. "Invalid argument c: expected one of B, S, I, J, C, Z, F, D, P or p; got '\{ c }'" ; }; diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index d21b38a0..fe876479 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -20,7 +20,7 @@ import overrungl.FunctionDescriptors; import overrungl.os.Architecture; import overrungl.os.Platform; -import overrungl.util.MemoryUtil; +import overrungl.util.CStdio; import java.io.File; import java.lang.foreign.*; @@ -50,7 +50,7 @@ public final class RuntimeHelper { /** * An unbounded address layout. */ - public static final AddressLayout ADDRESS_UNBOUNDED = MemoryUtil.ADDRESS_UNBOUNDED; + public static final AddressLayout ADDRESS_UNBOUNDED = CStdio.ADDRESS_UNBOUNDED; private static final StackWalker STACK_WALKER = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE); /** @@ -194,7 +194,7 @@ public static SymbolLookup load(String module, String basename, String version) * @param segment the segment. */ public static boolean isNullptr(@Nullable MemorySegment segment) { - return MemoryUtil.isNullptr(segment); + return CStdio.isNullptr(segment); } /** diff --git a/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/CStdio.java similarity index 99% rename from modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java rename to modules/overrungl.core/src/main/java/overrungl/util/CStdio.java index 569cc35b..cb2eb9ce 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/CStdio.java @@ -28,12 +28,12 @@ import static overrungl.FunctionDescriptors.*; /** - * The standard-C memory allocator. + * The standard-C library functions. * * @author squid233 * @since 0.1.0 */ -public final class MemoryUtil { +public final class CStdio { /** * An unbounded address layout. */ @@ -57,7 +57,7 @@ private static MethodHandle downcall(String name, FunctionDescriptors function) return RuntimeHelper.downcallThrow(LOOKUP.find(name), function); } - private MemoryUtil() { + private CStdio() { throw new IllegalStateException("Do not construct instance"); } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java index 41743db4..ab0793c0 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java @@ -92,7 +92,7 @@ public static void checkNotNullptr(MemorySegment segment) throws IllegalStateExc * @see #checkNotNullptr(MemorySegment, String) */ public static void checkNotNullptr(MemorySegment segment, Supplier messageSupplier) throws IllegalStateException { - if (MemoryUtil.isNullptr(segment)) throw new IllegalStateException(messageSupplier.get()); + if (CStdio.isNullptr(segment)) throw new IllegalStateException(messageSupplier.get()); } /** @@ -105,6 +105,6 @@ public static void checkNotNullptr(MemorySegment segment, Supplier messa * @see #checkNotNullptr(MemorySegment, Supplier) */ public static void checkNotNullptr(MemorySegment segment, String message) throws IllegalStateException { - if (MemoryUtil.isNullptr(segment)) throw new IllegalStateException(message); + if (CStdio.isNullptr(segment)) throw new IllegalStateException(message); } } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java index 28d6309d..b0d4fd96 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java @@ -74,7 +74,7 @@ private DebugAllocator() { } static long track(long address, long size) { - if (MemoryUtil.isNullptr(address)) { + if (CStdio.isNullptr(address)) { Thread t = Thread.currentThread(); THREADS.putIfAbsent(t.threadId(), t.getName()); @@ -122,7 +122,7 @@ private static void trackAbortPrint(Allocation allocation, String name, String a } static long untrack(long address) { - if (MemoryUtil.isNullptr(address)) { + if (CStdio.isNullptr(address)) { return 0L; } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java b/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java index 7c7c664d..d42d7c88 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java @@ -312,7 +312,7 @@ private void checkPointer(long pointer) { */ public MemorySegment malloc(long alignment, long size) { if (DEBUG) { - MemoryUtil.checkAlignment(alignment); + CStdio.checkAlignment(alignment); } // Align address to the specified alignment @@ -338,7 +338,7 @@ public MemorySegment malloc(long alignment, long size) { */ public MemorySegment ncalloc(long alignment, long num, long size) { if (DEBUG) { - MemoryUtil.checkAlignment(alignment); + CStdio.checkAlignment(alignment); } long bytes = num * size; @@ -559,8 +559,8 @@ public MemorySegment callocPointer() { @Override public MemorySegment allocate(long byteSize, long byteAlignment) throws IllegalArgumentException { - MemoryUtil.checkByteSize(byteSize); - MemoryUtil.checkAlignment(byteAlignment); + CStdio.checkByteSize(byteSize); + CStdio.checkAlignment(byteAlignment); return calloc(byteAlignment, byteSize); } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java index 9f3407ce..ddf7fdd9 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java @@ -109,7 +109,7 @@ static Object[] stackWalkGetTrace() { .skip(2) .dropWhile(f -> { String name = f.getClassName(); - return name.equals(MemoryUtil.class.getName()) || name.equals(DebugAllocator.class.getName()); + return name.equals(CStdio.class.getName()) || name.equals(DebugAllocator.class.getName()); }) .toArray(StackWalker.StackFrame[]::new) ); diff --git a/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java b/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java index e3223f02..9d454021 100644 --- a/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java +++ b/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java @@ -18,7 +18,7 @@ import org.joml.*; import overrungl.util.MemoryStack; -import overrungl.util.MemoryUtil; +import overrungl.util.CStdio; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; @@ -197,7 +197,7 @@ public static MemorySegment allocate(SegmentAllocator allocator, Matrix4dc mat) * @return the memory address */ public static MemorySegment malloc(Matrix2fc mat) { - return put(mat, MemoryUtil.malloc(MAT2F)); + return put(mat, CStdio.malloc(MAT2F)); } /** @@ -207,7 +207,7 @@ public static MemorySegment malloc(Matrix2fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix2dc mat) { - return put(mat, MemoryUtil.malloc(MAT2D)); + return put(mat, CStdio.malloc(MAT2D)); } /** @@ -217,7 +217,7 @@ public static MemorySegment malloc(Matrix2dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3x2fc mat) { - return put(mat, MemoryUtil.malloc(MAT3X2F)); + return put(mat, CStdio.malloc(MAT3X2F)); } /** @@ -227,7 +227,7 @@ public static MemorySegment malloc(Matrix3x2fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3x2dc mat) { - return put(mat, MemoryUtil.malloc(MAT3X2D)); + return put(mat, CStdio.malloc(MAT3X2D)); } /** @@ -237,7 +237,7 @@ public static MemorySegment malloc(Matrix3x2dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3fc mat) { - return put(mat, MemoryUtil.malloc(MAT3F)); + return put(mat, CStdio.malloc(MAT3F)); } /** @@ -247,7 +247,7 @@ public static MemorySegment malloc(Matrix3fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3dc mat) { - return put(mat, MemoryUtil.malloc(MAT3D)); + return put(mat, CStdio.malloc(MAT3D)); } /** @@ -257,7 +257,7 @@ public static MemorySegment malloc(Matrix3dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4x3fc mat) { - return put(mat, MemoryUtil.malloc(MAT4X3F)); + return put(mat, CStdio.malloc(MAT4X3F)); } /** @@ -267,7 +267,7 @@ public static MemorySegment malloc(Matrix4x3fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4x3dc mat) { - return put(mat, MemoryUtil.malloc(MAT4X3D)); + return put(mat, CStdio.malloc(MAT4X3D)); } /** @@ -277,7 +277,7 @@ public static MemorySegment malloc(Matrix4x3dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4fc mat) { - return put(mat, MemoryUtil.malloc(MAT4F)); + return put(mat, CStdio.malloc(MAT4F)); } /** @@ -287,7 +287,7 @@ public static MemorySegment malloc(Matrix4fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4dc mat) { - return put(mat, MemoryUtil.malloc(MAT4D)); + return put(mat, CStdio.malloc(MAT4D)); } /** diff --git a/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java b/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java index d0406bfc..f3806b91 100644 --- a/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java +++ b/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java @@ -18,7 +18,7 @@ import org.joml.*; import overrungl.util.MemoryStack; -import overrungl.util.MemoryUtil; +import overrungl.util.CStdio; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; @@ -181,7 +181,7 @@ public static MemorySegment allocate(SegmentAllocator allocator, Vector4dc vec) * @return the memory address */ public static MemorySegment malloc(Vector2ic vec) { - return put(vec, MemoryUtil.malloc(VEC2I)); + return put(vec, CStdio.malloc(VEC2I)); } /** @@ -191,7 +191,7 @@ public static MemorySegment malloc(Vector2ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector2fc vec) { - return put(vec, MemoryUtil.malloc(VEC2F)); + return put(vec, CStdio.malloc(VEC2F)); } /** @@ -201,7 +201,7 @@ public static MemorySegment malloc(Vector2fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector2dc vec) { - return put(vec, MemoryUtil.malloc(VEC2D)); + return put(vec, CStdio.malloc(VEC2D)); } /** @@ -211,7 +211,7 @@ public static MemorySegment malloc(Vector2dc vec) { * @return the memory address */ public static MemorySegment malloc(Vector3ic vec) { - return put(vec, MemoryUtil.malloc(VEC3I)); + return put(vec, CStdio.malloc(VEC3I)); } /** @@ -221,7 +221,7 @@ public static MemorySegment malloc(Vector3ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector3fc vec) { - return put(vec, MemoryUtil.malloc(VEC3F)); + return put(vec, CStdio.malloc(VEC3F)); } /** @@ -231,7 +231,7 @@ public static MemorySegment malloc(Vector3fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector3dc vec) { - return put(vec, MemoryUtil.malloc(VEC3D)); + return put(vec, CStdio.malloc(VEC3D)); } /** @@ -241,7 +241,7 @@ public static MemorySegment malloc(Vector3dc vec) { * @return the memory address */ public static MemorySegment malloc(Vector4ic vec) { - return put(vec, MemoryUtil.malloc(VEC4I)); + return put(vec, CStdio.malloc(VEC4I)); } /** @@ -251,7 +251,7 @@ public static MemorySegment malloc(Vector4ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector4fc vec) { - return put(vec, MemoryUtil.malloc(VEC4F)); + return put(vec, CStdio.malloc(VEC4F)); } /** @@ -261,7 +261,7 @@ public static MemorySegment malloc(Vector4fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector4dc vec) { - return put(vec, MemoryUtil.malloc(VEC4D)); + return put(vec, CStdio.malloc(VEC4D)); } /** diff --git a/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java b/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java index d518eff7..68a238c3 100644 --- a/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java +++ b/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java @@ -25,7 +25,7 @@ import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.RunnerException; import org.openjdk.jmh.runner.options.OptionsBuilder; -import overrungl.util.MemoryUtil; +import overrungl.util.CStdio; /** * Tests memory util @@ -66,10 +66,10 @@ public MemorySegment testArenaOutside() { public MemorySegment memoryUtilMalloc() { MemorySegment seg = null; try { - seg = MemoryUtil.malloc(size); + seg = CStdio.malloc(size); return seg; } finally { - MemoryUtil.free(seg); + CStdio.free(seg); } } @@ -77,10 +77,10 @@ public MemorySegment memoryUtilMalloc() { public MemorySegment memoryUtilCalloc() { MemorySegment seg = null; try { - seg = MemoryUtil.calloc(1, size); + seg = CStdio.calloc(1, size); return seg; } finally { - MemoryUtil.free(seg); + CStdio.free(seg); } } From 61f92b25c4067522917857ee2ffd249625e35479 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 21 Oct 2023 21:48:27 +0800 Subject: [PATCH 21/44] [Core] Rename CStdio to CStdlib --- .../java/overrungl/FunctionDescriptors.java | 6 ++--- .../overrungl/internal/RuntimeHelper.java | 6 ++--- .../util/{CStdio.java => CStdlib.java} | 4 ++-- .../main/java/overrungl/util/CheckUtil.java | 4 ++-- .../java/overrungl/util/DebugAllocator.java | 4 ++-- .../main/java/overrungl/util/MemoryStack.java | 8 +++---- .../java/overrungl/util/StackWalkUtil.java | 2 +- .../src/main/java/overrungl/joml/Matrixn.java | 22 +++++++++---------- .../src/main/java/overrungl/joml/Vectorn.java | 20 ++++++++--------- .../overrungl/demo/mem/MemoryUtilTest.java | 10 ++++----- 10 files changed, 43 insertions(+), 43 deletions(-) rename modules/overrungl.core/src/main/java/overrungl/util/{CStdio.java => CStdlib.java} (99%) diff --git a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java index 8b5ccb38..7287b1be 100644 --- a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java +++ b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java @@ -17,7 +17,7 @@ package overrungl; import overrungl.internal.Exceptions; -import overrungl.util.CStdio; +import overrungl.util.CStdlib; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.ValueLayout; @@ -38,7 +38,7 @@ * case 'F' -> JAVA_FLOAT; * case 'D' -> JAVA_DOUBLE; * case 'P' -> ADDRESS; - * case 'p' -> CStdio.ADDRESS_UNBOUNDED; + * case 'p' -> CStdlib.ADDRESS_UNBOUNDED; * default -> throw new IllegalArgumentException(); * }} * @@ -123,7 +123,7 @@ public static ValueLayout ofValue(char c) throws IllegalArgumentException { case 'F' -> JAVA_FLOAT; case 'D' -> JAVA_DOUBLE; case 'P' -> ADDRESS; - case 'p' -> CStdio.ADDRESS_UNBOUNDED; + case 'p' -> CStdlib.ADDRESS_UNBOUNDED; default -> throw Exceptions.IAE. "Invalid argument c: expected one of B, S, I, J, C, Z, F, D, P or p; got '\{ c }'" ; }; diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index fe876479..eae0bdbd 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -20,7 +20,7 @@ import overrungl.FunctionDescriptors; import overrungl.os.Architecture; import overrungl.os.Platform; -import overrungl.util.CStdio; +import overrungl.util.CStdlib; import java.io.File; import java.lang.foreign.*; @@ -50,7 +50,7 @@ public final class RuntimeHelper { /** * An unbounded address layout. */ - public static final AddressLayout ADDRESS_UNBOUNDED = CStdio.ADDRESS_UNBOUNDED; + public static final AddressLayout ADDRESS_UNBOUNDED = CStdlib.ADDRESS_UNBOUNDED; private static final StackWalker STACK_WALKER = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE); /** @@ -194,7 +194,7 @@ public static SymbolLookup load(String module, String basename, String version) * @param segment the segment. */ public static boolean isNullptr(@Nullable MemorySegment segment) { - return CStdio.isNullptr(segment); + return CStdlib.isNullptr(segment); } /** diff --git a/modules/overrungl.core/src/main/java/overrungl/util/CStdio.java b/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java similarity index 99% rename from modules/overrungl.core/src/main/java/overrungl/util/CStdio.java rename to modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java index cb2eb9ce..1e780730 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/CStdio.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java @@ -33,7 +33,7 @@ * @author squid233 * @since 0.1.0 */ -public final class CStdio { +public final class CStdlib { /** * An unbounded address layout. */ @@ -57,7 +57,7 @@ private static MethodHandle downcall(String name, FunctionDescriptors function) return RuntimeHelper.downcallThrow(LOOKUP.find(name), function); } - private CStdio() { + private CStdlib() { throw new IllegalStateException("Do not construct instance"); } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java index ab0793c0..7b694e62 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java @@ -92,7 +92,7 @@ public static void checkNotNullptr(MemorySegment segment) throws IllegalStateExc * @see #checkNotNullptr(MemorySegment, String) */ public static void checkNotNullptr(MemorySegment segment, Supplier messageSupplier) throws IllegalStateException { - if (CStdio.isNullptr(segment)) throw new IllegalStateException(messageSupplier.get()); + if (CStdlib.isNullptr(segment)) throw new IllegalStateException(messageSupplier.get()); } /** @@ -105,6 +105,6 @@ public static void checkNotNullptr(MemorySegment segment, Supplier messa * @see #checkNotNullptr(MemorySegment, Supplier) */ public static void checkNotNullptr(MemorySegment segment, String message) throws IllegalStateException { - if (CStdio.isNullptr(segment)) throw new IllegalStateException(message); + if (CStdlib.isNullptr(segment)) throw new IllegalStateException(message); } } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java index b0d4fd96..7b0e05d8 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java @@ -74,7 +74,7 @@ private DebugAllocator() { } static long track(long address, long size) { - if (CStdio.isNullptr(address)) { + if (CStdlib.isNullptr(address)) { Thread t = Thread.currentThread(); THREADS.putIfAbsent(t.threadId(), t.getName()); @@ -122,7 +122,7 @@ private static void trackAbortPrint(Allocation allocation, String name, String a } static long untrack(long address) { - if (CStdio.isNullptr(address)) { + if (CStdlib.isNullptr(address)) { return 0L; } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java b/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java index d42d7c88..a6f25b7c 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java @@ -312,7 +312,7 @@ private void checkPointer(long pointer) { */ public MemorySegment malloc(long alignment, long size) { if (DEBUG) { - CStdio.checkAlignment(alignment); + CStdlib.checkAlignment(alignment); } // Align address to the specified alignment @@ -338,7 +338,7 @@ public MemorySegment malloc(long alignment, long size) { */ public MemorySegment ncalloc(long alignment, long num, long size) { if (DEBUG) { - CStdio.checkAlignment(alignment); + CStdlib.checkAlignment(alignment); } long bytes = num * size; @@ -559,8 +559,8 @@ public MemorySegment callocPointer() { @Override public MemorySegment allocate(long byteSize, long byteAlignment) throws IllegalArgumentException { - CStdio.checkByteSize(byteSize); - CStdio.checkAlignment(byteAlignment); + CStdlib.checkByteSize(byteSize); + CStdlib.checkAlignment(byteAlignment); return calloc(byteAlignment, byteSize); } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java index ddf7fdd9..667a7d98 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java @@ -109,7 +109,7 @@ static Object[] stackWalkGetTrace() { .skip(2) .dropWhile(f -> { String name = f.getClassName(); - return name.equals(CStdio.class.getName()) || name.equals(DebugAllocator.class.getName()); + return name.equals(CStdlib.class.getName()) || name.equals(DebugAllocator.class.getName()); }) .toArray(StackWalker.StackFrame[]::new) ); diff --git a/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java b/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java index 9d454021..34d4bb71 100644 --- a/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java +++ b/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java @@ -18,7 +18,7 @@ import org.joml.*; import overrungl.util.MemoryStack; -import overrungl.util.CStdio; +import overrungl.util.CStdlib; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; @@ -197,7 +197,7 @@ public static MemorySegment allocate(SegmentAllocator allocator, Matrix4dc mat) * @return the memory address */ public static MemorySegment malloc(Matrix2fc mat) { - return put(mat, CStdio.malloc(MAT2F)); + return put(mat, CStdlib.malloc(MAT2F)); } /** @@ -207,7 +207,7 @@ public static MemorySegment malloc(Matrix2fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix2dc mat) { - return put(mat, CStdio.malloc(MAT2D)); + return put(mat, CStdlib.malloc(MAT2D)); } /** @@ -217,7 +217,7 @@ public static MemorySegment malloc(Matrix2dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3x2fc mat) { - return put(mat, CStdio.malloc(MAT3X2F)); + return put(mat, CStdlib.malloc(MAT3X2F)); } /** @@ -227,7 +227,7 @@ public static MemorySegment malloc(Matrix3x2fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3x2dc mat) { - return put(mat, CStdio.malloc(MAT3X2D)); + return put(mat, CStdlib.malloc(MAT3X2D)); } /** @@ -237,7 +237,7 @@ public static MemorySegment malloc(Matrix3x2dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3fc mat) { - return put(mat, CStdio.malloc(MAT3F)); + return put(mat, CStdlib.malloc(MAT3F)); } /** @@ -247,7 +247,7 @@ public static MemorySegment malloc(Matrix3fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3dc mat) { - return put(mat, CStdio.malloc(MAT3D)); + return put(mat, CStdlib.malloc(MAT3D)); } /** @@ -257,7 +257,7 @@ public static MemorySegment malloc(Matrix3dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4x3fc mat) { - return put(mat, CStdio.malloc(MAT4X3F)); + return put(mat, CStdlib.malloc(MAT4X3F)); } /** @@ -267,7 +267,7 @@ public static MemorySegment malloc(Matrix4x3fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4x3dc mat) { - return put(mat, CStdio.malloc(MAT4X3D)); + return put(mat, CStdlib.malloc(MAT4X3D)); } /** @@ -277,7 +277,7 @@ public static MemorySegment malloc(Matrix4x3dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4fc mat) { - return put(mat, CStdio.malloc(MAT4F)); + return put(mat, CStdlib.malloc(MAT4F)); } /** @@ -287,7 +287,7 @@ public static MemorySegment malloc(Matrix4fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4dc mat) { - return put(mat, CStdio.malloc(MAT4D)); + return put(mat, CStdlib.malloc(MAT4D)); } /** diff --git a/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java b/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java index f3806b91..53f597fe 100644 --- a/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java +++ b/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java @@ -18,7 +18,7 @@ import org.joml.*; import overrungl.util.MemoryStack; -import overrungl.util.CStdio; +import overrungl.util.CStdlib; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; @@ -181,7 +181,7 @@ public static MemorySegment allocate(SegmentAllocator allocator, Vector4dc vec) * @return the memory address */ public static MemorySegment malloc(Vector2ic vec) { - return put(vec, CStdio.malloc(VEC2I)); + return put(vec, CStdlib.malloc(VEC2I)); } /** @@ -191,7 +191,7 @@ public static MemorySegment malloc(Vector2ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector2fc vec) { - return put(vec, CStdio.malloc(VEC2F)); + return put(vec, CStdlib.malloc(VEC2F)); } /** @@ -201,7 +201,7 @@ public static MemorySegment malloc(Vector2fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector2dc vec) { - return put(vec, CStdio.malloc(VEC2D)); + return put(vec, CStdlib.malloc(VEC2D)); } /** @@ -211,7 +211,7 @@ public static MemorySegment malloc(Vector2dc vec) { * @return the memory address */ public static MemorySegment malloc(Vector3ic vec) { - return put(vec, CStdio.malloc(VEC3I)); + return put(vec, CStdlib.malloc(VEC3I)); } /** @@ -221,7 +221,7 @@ public static MemorySegment malloc(Vector3ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector3fc vec) { - return put(vec, CStdio.malloc(VEC3F)); + return put(vec, CStdlib.malloc(VEC3F)); } /** @@ -231,7 +231,7 @@ public static MemorySegment malloc(Vector3fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector3dc vec) { - return put(vec, CStdio.malloc(VEC3D)); + return put(vec, CStdlib.malloc(VEC3D)); } /** @@ -241,7 +241,7 @@ public static MemorySegment malloc(Vector3dc vec) { * @return the memory address */ public static MemorySegment malloc(Vector4ic vec) { - return put(vec, CStdio.malloc(VEC4I)); + return put(vec, CStdlib.malloc(VEC4I)); } /** @@ -251,7 +251,7 @@ public static MemorySegment malloc(Vector4ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector4fc vec) { - return put(vec, CStdio.malloc(VEC4F)); + return put(vec, CStdlib.malloc(VEC4F)); } /** @@ -261,7 +261,7 @@ public static MemorySegment malloc(Vector4fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector4dc vec) { - return put(vec, CStdio.malloc(VEC4D)); + return put(vec, CStdlib.malloc(VEC4D)); } /** diff --git a/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java b/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java index 68a238c3..a6ea1303 100644 --- a/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java +++ b/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java @@ -25,7 +25,7 @@ import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.RunnerException; import org.openjdk.jmh.runner.options.OptionsBuilder; -import overrungl.util.CStdio; +import overrungl.util.CStdlib; /** * Tests memory util @@ -66,10 +66,10 @@ public MemorySegment testArenaOutside() { public MemorySegment memoryUtilMalloc() { MemorySegment seg = null; try { - seg = CStdio.malloc(size); + seg = CStdlib.malloc(size); return seg; } finally { - CStdio.free(seg); + CStdlib.free(seg); } } @@ -77,10 +77,10 @@ public MemorySegment memoryUtilMalloc() { public MemorySegment memoryUtilCalloc() { MemorySegment seg = null; try { - seg = CStdio.calloc(1, size); + seg = CStdlib.calloc(1, size); return seg; } finally { - CStdio.free(seg); + CStdlib.free(seg); } } From b1a5da6164391a49b85542c77ca7ee5ebf4e6572 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 28 Oct 2023 21:01:10 +0800 Subject: [PATCH 22/44] [OpenGL] Update extensions --- .../overrungl/opengl/OpenGLGenerator.kt | 61 ++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 17cf0f23..2b6dd957 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -57,7 +57,7 @@ data class Type(val name: String, val layout: String?) { override fun toString(): String = name } -val fileHeader = """/* +const val fileHeader = """/* * MIT License * * Copyright (c) 2022-present Overrun Organization @@ -2861,6 +2861,65 @@ fun sgi() { "GL_GENERATE_MIPMAP_SGIS" to "0x8191", "GL_GENERATE_MIPMAP_HINT_SGIS" to "0x8192" ) + file("Multisample", SGIS, "GL_SGIS_multisample") { + "GL_MULTISAMPLE_SGIS"("0x809D") + "GL_SAMPLE_ALPHA_TO_MASK_SGIS"("0x809E") + "GL_SAMPLE_ALPHA_TO_ONE_SGIS"("0x809F") + "GL_SAMPLE_MASK_SGIS"("0x80A0") + "GL_1PASS_SGIS"("0x80A1") + "GL_2PASS_0_SGIS"("0x80A2") + "GL_2PASS_1_SGIS"("0x80A3") + "GL_4PASS_0_SGIS"("0x80A4") + "GL_4PASS_1_SGIS"("0x80A5") + "GL_4PASS_2_SGIS"("0x80A6") + "GL_4PASS_3_SGIS"("0x80A7") + "GL_SAMPLE_BUFFERS_SGIS"("0x80A8") + "GL_SAMPLES_SGIS"("0x80A9") + "GL_SAMPLE_MASK_VALUE_SGIS"("0x80AA") + "GL_SAMPLE_MASK_INVERT_SGIS"("0x80AB") + "GL_SAMPLE_PATTERN_SGIS"("0x80AC") + "glSampleMaskSGIS"(void, GLclampf("value"), GLboolean("invert")) + "glSamplePatternSGIS"(void, GLenum("pattern")) + } + file("PixelTexture", SGIS, "GL_SGIS_pixel_texture") { + "GL_PIXEL_TEXTURE_SGIS"("0x8353") + "GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"("0x8354") + "GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"("0x8355") + "GL_PIXEL_GROUP_COLOR_SGIS"("0x8356") + "glPixelTexGenParameteriSGIS"(void, GLenum("pname"), GLint("param")) + "glPixelTexGenParameterivSGIS"(void, GLenum("pname"), address("params", "const GLint *")) + "glPixelTexGenParameterfSGIS"(void, GLenum("pname"), GLfloat("param")) + "glPixelTexGenParameterfvSGIS"(void, GLenum("pname"), address("params", "const GLfloat *")) + "glGetPixelTexGenParameterivSGIS"(void, GLenum("pname"), address("params", "GLint *")) + "glGetPixelTexGenParameterfvSGIS"(void, GLenum("pname"), address("params", "GLfloat *")) + } + file( + "PointLineTexgen", SGIS, "GL_SGIS_point_line_texgen", + "GL_EYE_DISTANCE_TO_POINT_SGIS" to "0x81F0", + "GL_OBJECT_DISTANCE_TO_POINT_SGIS" to "0x81F1", + "GL_EYE_DISTANCE_TO_LINE_SGIS" to "0x81F2", + "GL_OBJECT_DISTANCE_TO_LINE_SGIS" to "0x81F3", + "GL_EYE_POINT_SGIS" to "0x81F4", + "GL_OBJECT_POINT_SGIS" to "0x81F5", + "GL_EYE_LINE_SGIS" to "0x81F6", + "GL_OBJECT_LINE_SGIS" to "0x81F7" + ) + file("PointParameters", SGIS, "GL_SGIS_point_parameters") { + "GL_POINT_SIZE_MIN_SGIS"("0x8126") + "GL_POINT_SIZE_MAX_SGIS"("0x8127") + "GL_POINT_FADE_THRESHOLD_SIZE_SGIS"("0x8128") + "GL_DISTANCE_ATTENUATION_SGIS"("0x8129") + "glPointParameterfSGIS"(void, GLenum("pname"), GLfloat("param")) + "glPointParameterfvSGIS"(void, GLenum("pname"), address("params", "const GLfloat *")) + } + file("SharpenTexture", SGIS, "GL_SGIS_sharpen_texture") { + "GL_LINEAR_SHARPEN_SGIS"("0x80AD") + "GL_LINEAR_SHARPEN_ALPHA_SGIS"("0x80AE") + "GL_LINEAR_SHARPEN_COLOR_SGIS"("0x80AF") + "GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"("0x80B0") + "glSharpenTexFuncSGIS"(void, GLenum("target"), GLsizei("n"), address("points", "const GLfloat *")) + "glGetSharpenTexFuncSGIS"(void, GLenum("target"), address("points", "GLfloat *")) + } } fun sun() { From 9a0856d31cb31589d4fbc0ea5a5c4227a5e1bb99 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 4 Nov 2023 16:28:14 +0800 Subject: [PATCH 23/44] [OpenGL] Updated extensions and compability constants --- build.gradle.kts | 28 +- gradle.properties | 5 +- modules/overrungl.opengl/build.gradle.kts | 9 +- .../overrungl/opengl/OpenGLGenerator.kt | 449 +++++++++++++++++- .../src/main/java/overrungl/opengl/GL13.java | 38 ++ .../src/main/java/overrungl/opengl/GL15.java | 48 ++ .../src/main/java/overrungl/opengl/GL15C.java | 2 +- .../src/main/java/overrungl/opengl/GL20.java | 30 ++ .../src/main/java/overrungl/opengl/GL20C.java | 2 +- .../src/main/java/overrungl/opengl/GL21.java | 33 ++ .../src/main/java/overrungl/opengl/GL21C.java | 2 +- .../src/main/java/overrungl/opengl/GL30.java | 29 ++ .../src/main/java/overrungl/opengl/GL30C.java | 2 +- .../main/java/overrungl/opengl/GLExtCaps.java | 40 +- .../opengl/ext/ext/GLEXT422Pixels.java | 35 ++ .../opengl/ext/nv/GLNVXConditionalRender.java | 51 ++ .../opengl/ext/sgi/GLSGIColorMatrix.java | 42 ++ .../opengl/ext/sgi/GLSGIColorTable.java | 107 +++++ .../opengl/ext/sgi/GLSGISMultisample.java | 67 +++ .../opengl/ext/sgi/GLSGISPixelTexture.java | 87 ++++ .../opengl/ext/sgi/GLSGISPointLineTexgen.java | 39 ++ .../opengl/ext/sgi/GLSGISPointParameters.java | 55 +++ .../opengl/ext/sgi/GLSGISSharpenTexture.java | 55 +++ .../opengl/ext/sgi/GLSGISTexture4D.java | 61 +++ .../ext/sgi/GLSGISTextureBorderClamp.java | 32 ++ .../ext/sgi/GLSGISTextureColorMask.java | 44 ++ .../ext/sgi/GLSGISTextureEdgeClamp.java | 32 ++ .../opengl/ext/sgi/GLSGISTextureFilter4.java | 53 +++ .../opengl/ext/sgi/GLSGISTextureLod.java | 35 ++ .../opengl/ext/sgi/GLSGISTextureSelect.java | 53 +++ .../ext/sgi/GLSGITextureColorTable.java | 33 ++ .../overrungl/opengl/ext/sgi/GLSGIXAsync.java | 88 ++++ .../opengl/ext/sgi/GLSGIXAsyncHistogram.java | 33 ++ .../opengl/ext/sgi/GLSGIXAsyncPixel.java | 37 ++ .../ext/sgi/GLSGIXBlendAlphaMinmax.java | 33 ++ .../ext/sgi/GLSGIXCalligraphicFragment.java | 32 ++ .../opengl/ext/sgi/GLSGIXClipmap.java | 43 ++ .../ext/sgi/GLSGIXConvolutionAccuracy.java | 32 ++ .../opengl/ext/sgi/GLSGIXDepthTexture.java | 34 ++ .../opengl/ext/sgi/GLSGIXFlushRaster.java | 43 ++ .../opengl/ext/sgi/GLSGIXFogOffset.java | 33 ++ .../ext/sgi/GLSGIXFragmentLighting.java | 199 ++++++++ .../opengl/ext/sgi/GLSGIXFramezoom.java | 46 ++ .../opengl/ext/sgi/GLSGIXIglooInterface.java | 43 ++ .../opengl/ext/sgi/GLSGIXInstruments.java | 87 ++++ .../opengl/ext/sgi/GLSGIXInterlace.java | 32 ++ .../opengl/ext/sgi/GLSGIXIrInstrument1.java | 32 ++ .../opengl/ext/sgi/GLSGIXListPriority.java | 84 ++++ .../opengl/ext/sgi/GLSGIXPixelTexture.java | 45 ++ .../opengl/ext/sgi/GLSGIXPixelTiles.java | 39 ++ .../opengl/ext/sgi/GLSGIXPolynomialFFD.java | 73 +++ .../opengl/ext/sgi/GLSGIXReferencePlane.java | 45 ++ .../opengl/ext/sgi/GLSGIXResample.java | 36 ++ .../opengl/ext/sgi/GLSGIXScalebiasHint.java | 32 ++ .../opengl/ext/sgi/GLSGIXShadow.java | 35 ++ .../opengl/ext/sgi/GLSGIXShadowAmbient.java | 32 ++ .../opengl/ext/sgi/GLSGIXSprite.java | 74 +++ .../opengl/ext/sgi/GLSGIXSubsample.java | 36 ++ .../opengl/ext/sgi/GLSGIXTagSampleBuffer.java | 43 ++ .../opengl/ext/sgi/GLSGIXTextureAddEnv.java | 32 ++ .../ext/sgi/GLSGIXTextureCoordinateClamp.java | 34 ++ .../opengl/ext/sgi/GLSGIXTextureLodBias.java | 34 ++ .../ext/sgi/GLSGIXTextureMultiBuffer.java | 32 ++ .../ext/sgi/GLSGIXTextureScaleBias.java | 35 ++ .../opengl/ext/sgi/GLSGIXVertexPreclip.java | 33 ++ .../overrungl/opengl/ext/sgi/GLSGIXYcrcb.java | 33 ++ .../opengl/ext/sgi/GLSGIXYcrcba.java | 33 ++ 67 files changed, 3244 insertions(+), 41 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java diff --git a/build.gradle.kts b/build.gradle.kts index 65d1d14f..d399dae1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,10 +21,11 @@ val orgName: String by project val orgUrl: String by project val developers: String by project -val jdkEABuildDoc: String? = null -val targetJavaVersion = 21 -val enablePreview = true -rootProject.ext["enablePreview"] = enablePreview +val jdkVersion: String by rootProject +val jdkEnablePreview: String by rootProject +val jdkEarlyAccessDoc: String? by rootProject + +val targetJavaVersion = jdkVersion.toInt() group = projGroupId version = projVersion @@ -149,12 +150,12 @@ subprojects { tasks.withType { options.encoding = "UTF-8" - if (enablePreview) options.compilerArgs.add("--enable-preview") + if (jdkEnablePreview.toBoolean()) options.compilerArgs.add("--enable-preview") options.release.set(targetJavaVersion) } tasks.withType { - if (enablePreview) jvmArgs("--enable-preview") + if (jdkEnablePreview.toBoolean()) jvmArgs("--enable-preview") } extensions.configure("java") { @@ -247,10 +248,10 @@ allprojects { charSet = "UTF-8" docEncoding = "UTF-8" isAuthor = true - if (jdkEABuildDoc == null) { + if (jdkEarlyAccessDoc == null) { links("https://docs.oracle.com/en/java/javase/$targetJavaVersion/docs/api/") } else { - links("https://download.java.net/java/early_access/$jdkEABuildDoc/docs/api/") + links("https://download.java.net/java/early_access/$jdkEarlyAccessDoc/docs/api/") } tags( @@ -294,17 +295,6 @@ publishing.publications { name.set(orgName) url.set(orgUrl) } - developers { - developers.split(',') - .map { it.split(':', limit = 3) } - .forEach { (id1, name1, email1) -> - developer { - id.set(id1) - name.set(name1) - email.set(email1) - } - } - } scm { connection.set("scm:git:https://github.com/${projVcs}.git") developerConnection.set("scm:git:https://github.com/${projVcs}.git") diff --git a/gradle.properties b/gradle.properties index 10e64037..9ff50500 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,8 @@ projBranch=main orgName=Overrun Organization orgUrl=https://over-run.github.io/ -# Developers -developers=squid233:squid233:513508220@qq.com +jdkVersion=21 +jdkEnablePreview=true +#jdkEarlyAccessDoc=jdk22 projModules=core, glfw, nfd, joml, opengl, stb diff --git a/modules/overrungl.opengl/build.gradle.kts b/modules/overrungl.opengl/build.gradle.kts index e9b367f2..b65b0a4a 100644 --- a/modules/overrungl.opengl/build.gradle.kts +++ b/modules/overrungl.opengl/build.gradle.kts @@ -1,4 +1,5 @@ -val enablePreview: Boolean by rootProject.ext +val jdkVersion: String by rootProject +val jdkEnablePreview: String by rootProject sourceSets { create("generator") @@ -7,16 +8,16 @@ sourceSets { tasks.named("compileGeneratorJava") { javaCompiler.set(javaToolchains.compilerFor { targetCompatibility = "20" - languageVersion.set(JavaLanguageVersion.of(21)) + languageVersion.set(JavaLanguageVersion.of(jdkVersion)) }) } tasks.register("generate") { classpath(sourceSets["generator"].runtimeClasspath) javaLauncher.set(javaToolchains.launcherFor { - languageVersion.set(JavaLanguageVersion.of(21)) + languageVersion.set(JavaLanguageVersion.of(jdkVersion)) }) - if (enablePreview) jvmArgs("--enable-preview") + if (jdkEnablePreview.toBoolean()) jvmArgs("--enable-preview") mainClass.set("overrungl.opengl.OpenGLGeneratorKt") workingDir = File("src/main/java/overrungl/opengl") } diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 2b6dd957..cff2975f 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -14,6 +14,10 @@ * copies or substantial portions of the Software. */ +/* note: adding a new extension + * you need to add the extension in glExtCaps::caps + */ + package overrungl.opengl import overrungl.opengl.OpenGLExt.* @@ -2383,7 +2387,15 @@ fun ati() { } } -fun ext() {} +fun ext() { + file( + "422Pixels", EXT, "GL_EXT_422_pixels", + "GL_422_EXT" to "0x80CC", + "GL_422_REV_EXT" to "0x80CD", + "GL_422_AVERAGE_EXT" to "0x80CE", + "GL_422_REV_AVERAGE_EXT" to "0x80CF" + ) +} fun gremedy() { file("FrameTerminator", GREMEDY, "GL_GREMEDY_frame_terminator") { @@ -2723,7 +2735,12 @@ fun mesa() { ) } -fun nv() {} +fun nv() { + file("ConditionalRender", NVX, "GL_NVX_conditional_render") { + "glBeginConditionalRenderNVX"(void, GLuint("id")) + "glEndConditionalRenderNVX"(void) + } +} fun oml() { file( @@ -2920,6 +2937,428 @@ fun sgi() { "glSharpenTexFuncSGIS"(void, GLenum("target"), GLsizei("n"), address("points", "const GLfloat *")) "glGetSharpenTexFuncSGIS"(void, GLenum("target"), address("points", "GLfloat *")) } + file("Texture4D", SGIS, "GL_SGIS_texture4D") { + "GL_PACK_SKIP_VOLUMES_SGIS"("0x8130") + "GL_PACK_IMAGE_DEPTH_SGIS"("0x8131") + "GL_UNPACK_SKIP_VOLUMES_SGIS"("0x8132") + "GL_UNPACK_IMAGE_DEPTH_SGIS"("0x8133") + "GL_TEXTURE_4D_SGIS"("0x8134") + "GL_PROXY_TEXTURE_4D_SGIS"("0x8135") + "GL_TEXTURE_4DSIZE_SGIS"("0x8136") + "GL_TEXTURE_WRAP_Q_SGIS"("0x8137") + "GL_MAX_4D_TEXTURE_SIZE_SGIS"("0x8138") + "GL_TEXTURE_4D_BINDING_SGIS"("0x814F") + "glTexImage4DSGIS"( + void, + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLsizei("size4d"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glTexSubImage4DSGIS"( + void, + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLint("woffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLsizei("size4d"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + } + file("TextureBorderClamp", SGIS, "GL_SGIS_texture_border_clamp", "GL_CLAMP_TO_BORDER_SGIS" to "0x812D") + file("TextureColorMask", SGIS, "GL_SGIS_texture_color_mask") { + "GL_TEXTURE_COLOR_WRITEMASK_SGIS"("0x81EF") + "glTextureColorMaskSGIS"(void, GLboolean("red"), GLboolean("green"), GLboolean("blue"), GLboolean("alpha")) + } + file("TextureEdgeClamp", SGIS, "GL_SGIS_texture_edge_clamp", "GL_CLAMP_TO_EDGE_SGIS" to "0x812F") + file("TextureFilter4", SGIS, "GL_SGIS_texture_filter4") { + "GL_FILTER4_SGIS"("0x8146") + "GL_TEXTURE_FILTER4_SIZE_SGIS"("0x8147") + "glGetTexFilterFuncSGIS"(void, GLenum("target"), GLenum("filter"), address("weights", "GLfloat *")) + "glTexFilterFuncSGIS"( + void, + GLenum("target"), + GLenum("filter"), + GLsizei("n"), + address("weights", "const GLfloat *") + ) + } + file( + "TextureLod", SGIS, "GL_SGIS_texture_lod", + "GL_TEXTURE_MIN_LOD_SGIS" to "0x813A", + "GL_TEXTURE_MAX_LOD_SGIS" to "0x813B", + "GL_TEXTURE_BASE_LEVEL_SGIS" to "0x813C", + "GL_TEXTURE_MAX_LEVEL_SGIS" to "0x813D" + ) + file( + "TextureSelect", SGIS, "GL_SGIS_texture_select", + "GL_DUAL_ALPHA4_SGIS" to "0x8110", + "GL_DUAL_ALPHA8_SGIS" to "0x8111", + "GL_DUAL_ALPHA12_SGIS" to "0x8112", + "GL_DUAL_ALPHA16_SGIS" to "0x8113", + "GL_DUAL_LUMINANCE4_SGIS" to "0x8114", + "GL_DUAL_LUMINANCE8_SGIS" to "0x8115", + "GL_DUAL_LUMINANCE12_SGIS" to "0x8116", + "GL_DUAL_LUMINANCE16_SGIS" to "0x8117", + "GL_DUAL_INTENSITY4_SGIS" to "0x8118", + "GL_DUAL_INTENSITY8_SGIS" to "0x8119", + "GL_DUAL_INTENSITY12_SGIS" to "0x811A", + "GL_DUAL_INTENSITY16_SGIS" to "0x811B", + "GL_DUAL_LUMINANCE_ALPHA4_SGIS" to "0x811C", + "GL_DUAL_LUMINANCE_ALPHA8_SGIS" to "0x811D", + "GL_QUAD_ALPHA4_SGIS" to "0x811E", + "GL_QUAD_ALPHA8_SGIS" to "0x811F", + "GL_QUAD_LUMINANCE4_SGIS" to "0x8120", + "GL_QUAD_LUMINANCE8_SGIS" to "0x8121", + "GL_QUAD_INTENSITY4_SGIS" to "0x8122", + "GL_QUAD_INTENSITY8_SGIS" to "0x8123", + "GL_DUAL_TEXTURE_SELECT_SGIS" to "0x8124", + "GL_QUAD_TEXTURE_SELECT_SGIS" to "0x8125" + ) + file("Async", SGIX, "GL_SGIX_async") { + "GL_ASYNC_MARKER_SGIX"("0x8329") + "glAsyncMarkerSGIX"(void, GLuint("marker")) + "glFinishAsyncSGIX"(GLint, address("markerp", "GLuint *")) + "glPollAsyncSGIX"(GLint, address("markerp", "GLuint *")) + "glGenAsyncMarkersSGIX"(GLuint, GLsizei("range")) + "glDeleteAsyncMarkersSGIX"(void, GLuint("marker"), GLsizei("range")) + "glIsAsyncMarkerSGIX"(GLboolean, GLuint("marker")) + } + file( + "AsyncHistogram", SGIX, "GL_SGIX_async_histogram", + "GL_ASYNC_HISTOGRAM_SGIX" to "0x832C", + "GL_MAX_ASYNC_HISTOGRAM_SGIX" to "0x832D" + ) + file( + "AsyncPixel", SGIX, "GL_SGIX_async_pixel", + "GL_ASYNC_TEX_IMAGE_SGIX" to "0x835C", + "GL_ASYNC_DRAW_PIXELS_SGIX" to "0x835D", + "GL_ASYNC_READ_PIXELS_SGIX" to "0x835E", + "GL_MAX_ASYNC_TEX_IMAGE_SGIX" to "0x835F", + "GL_MAX_ASYNC_DRAW_PIXELS_SGIX" to "0x8360", + "GL_MAX_ASYNC_READ_PIXELS_SGIX" to "0x8361" + ) + file( + "BlendAlphaMinmax", SGIX, "GL_SGIX_blend_alpha_minmax", + "GL_ALPHA_MIN_SGIX" to "0x8320", + "GL_ALPHA_MAX_SGIX" to "0x8321" + ) + file("CalligraphicFragment", SGIX, "GL_SGIX_calligraphic_fragment", "GL_CALLIGRAPHIC_FRAGMENT_SGIX" to "0x8183") + file( + "Clipmap", SGIX, "GL_SGIX_clipmap", + "GL_LINEAR_CLIPMAP_LINEAR_SGIX" to "0x8170", + "GL_TEXTURE_CLIPMAP_CENTER_SGIX" to "0x8171", + "GL_TEXTURE_CLIPMAP_FRAME_SGIX" to "0x8172", + "GL_TEXTURE_CLIPMAP_OFFSET_SGIX" to "0x8173", + "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX" to "0x8174", + "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX" to "0x8175", + "GL_TEXTURE_CLIPMAP_DEPTH_SGIX" to "0x8176", + "GL_MAX_CLIPMAP_DEPTH_SGIX" to "0x8177", + "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX" to "0x8178", + "GL_NEAREST_CLIPMAP_NEAREST_SGIX" to "0x844D", + "GL_NEAREST_CLIPMAP_LINEAR_SGIX" to "0x844E", + "GL_LINEAR_CLIPMAP_NEAREST_SGIX" to "0x844F" + ) + file("ConvolutionAccuracy", SGIX, "GL_SGIX_convolution_accuracy", "GL_CONVOLUTION_HINT_SGIX" to "0x8316") + file( + "DepthTexture", SGIX, "GL_SGIX_depth_texture", + "GL_DEPTH_COMPONENT16_SGIX" to "0x81A5", + "GL_DEPTH_COMPONENT24_SGIX" to "0x81A6", + "GL_DEPTH_COMPONENT32_SGIX" to "0x81A7" + ) + file("FlushRaster", SGIX, "GL_SGIX_flush_raster") { + "glFlushRasterSGIX"(void) + } + file( + "FogOffset", SGIX, "GL_SGIX_fog_offset", + "GL_FOG_OFFSET_SGIX" to "0x8198", + "GL_FOG_OFFSET_VALUE_SGIX" to "0x8199" + ) + file("FragmentLighting", SGIX, "GL_SGIX_fragment_lighting") { + "GL_FRAGMENT_LIGHTING_SGIX"("0x8400") + "GL_FRAGMENT_COLOR_MATERIAL_SGIX"("0x8401") + "GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX"("0x8402") + "GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX"("0x8403") + "GL_MAX_FRAGMENT_LIGHTS_SGIX"("0x8404") + "GL_MAX_ACTIVE_LIGHTS_SGIX"("0x8405") + "GL_CURRENT_RASTER_NORMAL_SGIX"("0x8406") + "GL_LIGHT_ENV_MODE_SGIX"("0x8407") + "GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"("0x8408") + "GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"("0x8409") + "GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"("0x840A") + "GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"("0x840B") + "GL_FRAGMENT_LIGHT0_SGIX"("0x840C") + "GL_FRAGMENT_LIGHT1_SGIX"("0x840D") + "GL_FRAGMENT_LIGHT2_SGIX"("0x840E") + "GL_FRAGMENT_LIGHT3_SGIX"("0x840F") + "GL_FRAGMENT_LIGHT4_SGIX"("0x8410") + "GL_FRAGMENT_LIGHT5_SGIX"("0x8411") + "GL_FRAGMENT_LIGHT6_SGIX"("0x8412") + "GL_FRAGMENT_LIGHT7_SGIX"("0x8413") + "glFragmentColorMaterialSGIX"(void, GLenum("face"), GLenum("mode")) + "glFragmentLightfSGIX"(void, GLenum("light"), GLenum("pname"), GLfloat("param")) + "glFragmentLightfvSGIX"(void, GLenum("light"), GLenum("pname"), address("params", "const GLfloat *")) + "glFragmentLightiSGIX"(void, GLenum("light"), GLenum("pname"), GLint("param")) + "glFragmentLightivSGIX"(void, GLenum("light"), GLenum("pname"), address("params", "const GLint *")) + "glFragmentLightModelfSGIX"(void, GLenum("pname"), GLfloat("param")) + "glFragmentLightModelfvSGIX"(void, GLenum("pname"), address("params", "const GLfloat *")) + "glFragmentLightModeliSGIX"(void, GLenum("pname"), GLint("param")) + "glFragmentLightModelivSGIX"(void, GLenum("pname"), address("params", "const GLint *")) + "glFragmentMaterialfSGIX"(void, GLenum("face"), GLenum("pname"), GLfloat("param")) + "glFragmentMaterialfvSGIX"(void, GLenum("face"), GLenum("pname"), address("params", "const GLfloat *")) + "glFragmentMaterialiSGIX"(void, GLenum("face"), GLenum("pname"), GLint("param")) + "glFragmentMaterialivSGIX"(void, GLenum("face"), GLenum("pname"), address("params", "const GLint *")) + "glGetFragmentLightfvSGIX"(void, GLenum("light"), GLenum("pname"), address("params", "GLfloat *")) + "glGetFragmentLightivSGIX"(void, GLenum("light"), GLenum("pname"), address("params", "GLint *")) + "glGetFragmentMaterialfvSGIX"(void, GLenum("face"), GLenum("pname"), address("params", "GLfloat *")) + "glGetFragmentMaterialivSGIX"(void, GLenum("face"), GLenum("pname"), address("params", "GLint *")) + "glLightEnviSGIX"(void, GLenum("pname"), GLint("param")) + } + file("Framezoom", SGIX, "GL_SGIX_framezoom") { + "GL_FRAMEZOOM_SGIX"("0x818B") + "GL_FRAMEZOOM_FACTOR_SGIX"("0x818C") + "GL_MAX_FRAMEZOOM_FACTOR_SGIX"("0x818D") + "glFrameZoomSGIX"(void, GLint("factor")) + } + file("IglooInterface", SGIX, "GL_SGIX_igloo_interface") { + "glIglooInterfaceSGIX"(void, GLenum("pname"), address("params", "const void *")) + } + file("Instruments", SGIX, "GL_SGIX_instruments") { + "GL_INSTRUMENT_BUFFER_POINTER_SGIX"("0x8180") + "GL_INSTRUMENT_MEASUREMENTS_SGIX"("0x8181") + "glGetInstrumentsSGIX"(GLint) + "glInstrumentsBufferSGIX"(void, GLsizei("size"), address("buffer", "GLint *")) + "glPollInstrumentsSGIX"(GLint, address("marker_p", "GLint *")) + "glReadInstrumentsSGIX"(void, GLint("marker")) + "glStartInstrumentsSGIX"(void) + "glStopInstrumentsSGIX"(void, GLint("marker")) + } + file("Interlace", SGIX, "GL_SGIX_interlace", "GL_INTERLACE_SGIX" to "0x8094") + file("IrInstrument1", SGIX, "GL_SGIX_ir_instrument1", "GL_IR_INSTRUMENT1_SGIX" to "0x817F") + file("ListPriority", SGIX, "GL_SGIX_list_priority") { + "GL_LIST_PRIORITY_SGIX"("0x8182") + "glGetListParameterfvSGIX"(void, GLuint("list"), GLenum("pname"), address("params", "GLfloat *")) + "glGetListParameterivSGIX"(void, GLuint("list"), GLenum("pname"), address("params", "GLint *")) + "glListParameterfSGIX"(void, GLuint("list"), GLenum("pname"), GLfloat("param")) + "glListParameterfvSGIX"(void, GLuint("list"), GLenum("pname"), address("params", "const GLfloat *")) + "glListParameteriSGIX"(void, GLuint("list"), GLenum("pname"), GLint("param")) + "glListParameterivSGIX"(void, GLuint("list"), GLenum("pname"), address("params", "const GLint *")) + } + file("PixelTexture", SGIX, "GL_SGIX_pixel_texture") { + "GL_PIXEL_TEX_GEN_SGIX"("0x8139") + "GL_PIXEL_TEX_GEN_MODE_SGIX"("0x832B") + "glPixelTexGenSGIX"(void, GLenum("mode")) + } + file( + "PixelTiles", SGIX, "GL_SGIX_pixel_tiles", + "GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX" to "0x813E", + "GL_PIXEL_TILE_CACHE_INCREMENT_SGIX" to "0x813F", + "GL_PIXEL_TILE_WIDTH_SGIX" to "0x8140", + "GL_PIXEL_TILE_HEIGHT_SGIX" to "0x8141", + "GL_PIXEL_TILE_GRID_WIDTH_SGIX" to "0x8142", + "GL_PIXEL_TILE_GRID_HEIGHT_SGIX" to "0x8143", + "GL_PIXEL_TILE_GRID_DEPTH_SGIX" to "0x8144", + "GL_PIXEL_TILE_CACHE_SIZE_SGIX" to "0x8145" + ) + file("PolynomialFFD", SGIX, "GL_SGIX_polynomial_ffd") { + "GL_TEXTURE_DEFORMATION_BIT_SGIX"("0x00000001") + "GL_GEOMETRY_DEFORMATION_BIT_SGIX"("0x00000002") + "GL_GEOMETRY_DEFORMATION_SGIX"("0x8194") + "GL_TEXTURE_DEFORMATION_SGIX"("0x8195") + "GL_DEFORMATIONS_MASK_SGIX"("0x8196") + "GL_MAX_DEFORMATION_ORDER_SGIX"("0x8197") + "glDeformationMap3dSGIX"( + void, + GLenum("target"), + GLdouble("u1"), + GLdouble("u2"), + GLint("ustride"), + GLint("uorder"), + GLdouble("v1"), + GLdouble("v2"), + GLint("vstride"), + GLint("vorder"), + GLdouble("w1"), + GLdouble("w2"), + GLint("wstride"), + GLint("worder"), + address("points", "const GLdouble *") + ) + "glDeformationMap3fSGIX"( + void, + GLenum("target"), + GLfloat("u1"), + GLfloat("u2"), + GLint("ustride"), + GLint("uorder"), + GLfloat("v1"), + GLfloat("v2"), + GLint("vstride"), + GLint("vorder"), + GLfloat("w1"), + GLfloat("w2"), + GLint("wstride"), + GLint("worder"), + address("points", "const GLfloat *") + ) + "glDeformSGIX"(void, GLbitfield("mask")) + "glLoadIdentityDeformationMapSGIX"(void, GLbitfield("mask")) + } + file("ReferencePlane", SGIX, "GL_SGIX_reference_plane") { + "GL_REFERENCE_PLANE_SGIX"("0x817D") + "GL_REFERENCE_PLANE_EQUATION_SGIX"("0x817E") + "glReferencePlaneSGIX"(void, address("equation", "const GLdouble *")) + } + file( + "Resample", SGIX, "GL_SGIX_resample", + "GL_PACK_RESAMPLE_SGIX" to "0x842E", + "GL_UNPACK_RESAMPLE_SGIX" to "0x842F", + "GL_RESAMPLE_REPLICATE_SGIX" to "0x8433", + "GL_RESAMPLE_ZERO_FILL_SGIX" to "0x8434", + "GL_RESAMPLE_DECIMATE_SGIX" to "0x8430" + ) + file("ScalebiasHint", SGIX, "GL_SGIX_scalebias_hint", "GL_SCALEBIAS_HINT_SGIX" to "0x8322") + file( + "Shadow", SGIX, "GL_SGIX_shadow", + "GL_TEXTURE_COMPARE_SGIX" to "0x819A", + "GL_TEXTURE_COMPARE_OPERATOR_SGIX" to "0x819B", + "GL_TEXTURE_LEQUAL_R_SGIX" to "0x819C", + "GL_TEXTURE_GEQUAL_R_SGIX" to "0x819D" + ) + file("ShadowAmbient", SGIX, "GL_SGIX_shadow_ambient", "GL_SHADOW_AMBIENT_SGIX" to "0x80BF") + file("Sprite", SGIX, "GL_SGIX_sprite") { + "GL_SPRITE_SGIX"("0x8148") + "GL_SPRITE_MODE_SGIX"("0x8149") + "GL_SPRITE_AXIS_SGIX"("0x814A") + "GL_SPRITE_TRANSLATION_SGIX"("0x814B") + "GL_SPRITE_AXIAL_SGIX"("0x814C") + "GL_SPRITE_OBJECT_ALIGNED_SGIX"("0x814D") + "GL_SPRITE_EYE_ALIGNED_SGIX"("0x814E") + "glSpriteParameterfSGIX"(void, GLenum("pname"), GLfloat("param")) + "glSpriteParameterfvSGIX"(void, GLenum("pname"), address("params", "const GLfloat *")) + "glSpriteParameteriSGIX"(void, GLenum("pname"), GLint("param")) + "glSpriteParameterivSGIX"(void, GLenum("pname"), address("params", "const GLint *")) + } + file( + "Subsample", SGIX, "GL_SGIX_subsample", + "GL_PACK_SUBSAMPLE_RATE_SGIX" to "0x85A0", + "GL_UNPACK_SUBSAMPLE_RATE_SGIX" to "0x85A1", + "GL_PIXEL_SUBSAMPLE_4444_SGIX" to "0x85A2", + "GL_PIXEL_SUBSAMPLE_2424_SGIX" to "0x85A3", + "GL_PIXEL_SUBSAMPLE_4242_SGIX" to "0x85A4" + ) + file("TagSampleBuffer", SGIX, "GL_SGIX_tag_sample_buffer") { + "glTagSampleBufferSGIX"(void) + } + file("TextureAddEnv", SGIX, "GL_SGIX_texture_add_env", "GL_TEXTURE_ENV_BIAS_SGIX" to "0x80BE") + file( + "TextureCoordinateClamp", SGIX, "GL_SGIX_texture_coordinate_clamp", + "GL_TEXTURE_MAX_CLAMP_S_SGIX" to "0x8369", + "GL_TEXTURE_MAX_CLAMP_T_SGIX" to "0x836A", + "GL_TEXTURE_MAX_CLAMP_R_SGIX" to "0x836B" + ) + file( + "TextureLodBias", SGIX, "GL_SGIX_texture_lod_bias", + "GL_TEXTURE_LOD_BIAS_S_SGIX" to "0x818E", + "GL_TEXTURE_LOD_BIAS_T_SGIX" to "0x818F", + "GL_TEXTURE_LOD_BIAS_R_SGIX" to "0x8190" + ) + file("TextureMultiBuffer", SGIX, "GL_SGIX_texture_multi_buffer", "GL_TEXTURE_MULTI_BUFFER_HINT_SGIX" to "0x812E") + file( + "TextureScaleBias", SGIX, "GL_SGIX_texture_scale_bias", + "GL_POST_TEXTURE_FILTER_BIAS_SGIX" to "0x8179", + "GL_POST_TEXTURE_FILTER_SCALE_SGIX" to "0x817A", + "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX" to "0x817B", + "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX" to "0x817C" + ) + file( + "VertexPreclip", SGIX, "GL_SGIX_vertex_preclip", + "GL_VERTEX_PRECLIP_SGIX" to "0x83EE", + "GL_VERTEX_PRECLIP_HINT_SGIX" to "0x83EF" + ) + file( + "Ycrcb", SGIX, "GL_SGIX_ycrcb", + "GL_YCRCB_422_SGIX" to "0x81BB", + "GL_YCRCB_444_SGIX" to "0x81BC" + ) + file( + "Ycrcba", SGIX, "GL_SGIX_ycrcba", + "GL_YCRCB_SGIX" to "0x8318", + "GL_YCRCBA_SGIX" to "0x8319" + ) + file( + "ColorMatrix", SGI, "GL_SGI_color_matrix", + "GL_COLOR_MATRIX_SGI" to "0x80B1", + "GL_COLOR_MATRIX_STACK_DEPTH_SGI" to "0x80B2", + "GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI" to "0x80B3", + "GL_POST_COLOR_MATRIX_RED_SCALE_SGI" to "0x80B4", + "GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI" to "0x80B5", + "GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI" to "0x80B6", + "GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI" to "0x80B7", + "GL_POST_COLOR_MATRIX_RED_BIAS_SGI" to "0x80B8", + "GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI" to "0x80B9", + "GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI" to "0x80BA", + "GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI" to "0x80BB" + ) + file("ColorTable", SGI, "GL_SGI_color_table") { + "GL_COLOR_TABLE_SGI"("0x80D0") + "GL_POST_CONVOLUTION_COLOR_TABLE_SGI"("0x80D1") + "GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"("0x80D2") + "GL_PROXY_COLOR_TABLE_SGI"("0x80D3") + "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI"("0x80D4") + "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI"("0x80D5") + "GL_COLOR_TABLE_SCALE_SGI"("0x80D6") + "GL_COLOR_TABLE_BIAS_SGI"("0x80D7") + "GL_COLOR_TABLE_FORMAT_SGI"("0x80D8") + "GL_COLOR_TABLE_WIDTH_SGI"("0x80D9") + "GL_COLOR_TABLE_RED_SIZE_SGI"("0x80DA") + "GL_COLOR_TABLE_GREEN_SIZE_SGI"("0x80DB") + "GL_COLOR_TABLE_BLUE_SIZE_SGI"("0x80DC") + "GL_COLOR_TABLE_ALPHA_SIZE_SGI"("0x80DD") + "GL_COLOR_TABLE_LUMINANCE_SIZE_SGI"("0x80DE") + "GL_COLOR_TABLE_INTENSITY_SIZE_SGI"("0x80DF") + "glColorTableSGI"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("table", "const void *") + ) + "glColorTableParameterfvSGI"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glColorTableParameterivSGI"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glCopyColorTableSGI"( + void, + GLenum("target"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width") + ) + "glGetColorTableSGI"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("table", "void *")) + "glGetColorTableParameterfvSGI"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetColorTableParameterivSGI"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + } + file( + "TextureColorTable", SGI, "GL_SGI_texture_color_table", + "GL_TEXTURE_COLOR_TABLE_SGI" to "0x80BC", + "GL_PROXY_TEXTURE_COLOR_TABLE_SGI" to "0x80BD" + ) } fun sun() { @@ -3924,11 +4363,11 @@ fun glExtCaps() { |import overrungl.opengl.ext.amd.*; |import overrungl.opengl.ext.apple.*; |import overrungl.opengl.ext.ati.*; - |//import overrungl.opengl.ext.ext.*; + |import overrungl.opengl.ext.ext.*; |import overrungl.opengl.ext.ibm.*; |import overrungl.opengl.ext.intel.*; |import overrungl.opengl.ext.mesa.*; - |//import overrungl.opengl.ext.nv.*; + |import overrungl.opengl.ext.nv.*; |import overrungl.opengl.ext.sgi.*; |import overrungl.opengl.ext.sun.*; | @@ -3988,7 +4427,7 @@ fun glExtCaps() { | int numExtsI = pNumExtsI.get(JAVA_INT, 0); | var extsI = pExtsI[0]; | - | ${caps.map { "this.$it = hasExtension(version, exts, numExtsI, extsI, \"$it\");" }.joinToString(separator = "\n| ")} + | ${caps.joinToString(separator = "\n| ") { "this.$it = hasExtension(version, exts, numExtsI, extsI, \"$it\");" }} | | return true; | } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java index 32865139..6070c386 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java @@ -38,6 +38,44 @@ * @since 0.1.0 */ public final class GL13 extends GL13C { + public static final int CLIENT_ACTIVE_TEXTURE = 0x84E1; + public static final int MAX_TEXTURE_UNITS = 0x84E2; + public static final int TRANSPOSE_MODELVIEW_MATRIX = 0x84E3; + public static final int TRANSPOSE_PROJECTION_MATRIX = 0x84E4; + public static final int TRANSPOSE_TEXTURE_MATRIX = 0x84E5; + public static final int TRANSPOSE_COLOR_MATRIX = 0x84E6; + public static final int MULTISAMPLE_BIT = 0x20000000; + public static final int NORMAL_MAP = 0x8511; + public static final int REFLECTION_MAP = 0x8512; + public static final int COMPRESSED_ALPHA = 0x84E9; + public static final int COMPRESSED_LUMINANCE = 0x84EA; + public static final int COMPRESSED_LUMINANCE_ALPHA = 0x84EB; + public static final int COMPRESSED_INTENSITY = 0x84EC; + public static final int COMBINE = 0x8570; + public static final int COMBINE_RGB = 0x8571; + public static final int COMBINE_ALPHA = 0x8572; + public static final int SOURCE0_RGB = 0x8580; + public static final int SOURCE1_RGB = 0x8581; + public static final int SOURCE2_RGB = 0x8582; + public static final int SOURCE0_ALPHA = 0x8588; + public static final int SOURCE1_ALPHA = 0x8589; + public static final int SOURCE2_ALPHA = 0x858A; + public static final int OPERAND0_RGB = 0x8590; + public static final int OPERAND1_RGB = 0x8591; + public static final int OPERAND2_RGB = 0x8592; + public static final int OPERAND0_ALPHA = 0x8598; + public static final int OPERAND1_ALPHA = 0x8599; + public static final int OPERAND2_ALPHA = 0x859A; + public static final int RGB_SCALE = 0x8573; + public static final int ADD_SIGNED = 0x8574; + public static final int INTERPOLATE = 0x8575; + public static final int SUBTRACT = 0x84E7; + public static final int CONSTANT = 0x8576; + public static final int PRIMARY_COLOR = 0x8577; + public static final int PREVIOUS = 0x8578; + public static final int DOT3_RGB = 0x86AE; + public static final int DOT3_RGBA = 0x86AF; + static void load(GLCapabilities caps, GLLoadFunc load) { if (!caps.Ver13) return; caps.glClientActiveTexture = load.invoke("glClientActiveTexture", IV); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15.java new file mode 100644 index 00000000..f5838470 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15.java @@ -0,0 +1,48 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl; + +/** + * The OpenGL 1.5 constants. + * + * @author squid233 + * @since 0.1.0 + */ +public final class GL15 extends GL15C { + public static final int VERTEX_ARRAY_BUFFER_BINDING = 0x8896; + public static final int NORMAL_ARRAY_BUFFER_BINDING = 0x8897; + public static final int COLOR_ARRAY_BUFFER_BINDING = 0x8898; + public static final int INDEX_ARRAY_BUFFER_BINDING = 0x8899; + public static final int TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A; + public static final int EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B; + public static final int SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C; + public static final int FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D; + public static final int WEIGHT_ARRAY_BUFFER_BINDING = 0x889E; + public static final int FOG_COORD_SRC = 0x8450; + public static final int FOG_COORD = 0x8451; + public static final int CURRENT_FOG_COORD = 0x8453; + public static final int FOG_COORD_ARRAY_TYPE = 0x8454; + public static final int FOG_COORD_ARRAY_STRIDE = 0x8455; + public static final int FOG_COORD_ARRAY_POINTER = 0x8456; + public static final int FOG_COORD_ARRAY = 0x8457; + public static final int FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D; + public static final int SRC0_RGB = 0x8580; + public static final int SRC1_RGB = 0x8581; + public static final int SRC2_RGB = 0x8582; + public static final int SRC0_ALPHA = 0x8588; + public static final int SRC2_ALPHA = 0x858A; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java index d335278b..a1aefc42 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java @@ -39,7 +39,7 @@ * @author squid233 * @since 0.1.0 */ -public sealed class GL15C extends GL14C permits GL20C { +public sealed class GL15C extends GL14C permits GL15, GL20C { public static final int BUFFER_SIZE = 0x8764; public static final int BUFFER_USAGE = 0x8765; public static final int QUERY_COUNTER_BITS = 0x8864; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20.java new file mode 100644 index 00000000..696ed4fa --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20.java @@ -0,0 +1,30 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl; + +/** + * The OpenGL 2.0 constants. + * + * @author squid233 + * @since 0.1.0 + */ +public final class GL20 extends GL20C { + public static final int VERTEX_PROGRAM_TWO_SIDE = 0x8643; + public static final int POINT_SPRITE = 0x8861; + public static final int COORD_REPLACE = 0x8862; + public static final int MAX_TEXTURE_COORDS = 0x8871; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java index 8f2c6a59..e7ea4684 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java @@ -46,7 +46,7 @@ * @author squid233 * @since 0.1.0 */ -public sealed class GL20C extends GL15C permits GL21C { +public sealed class GL20C extends GL15C permits GL20, GL21C { public static final int BLEND_EQUATION_RGB = 0x8009; public static final int VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; public static final int VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21.java new file mode 100644 index 00000000..551425bd --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl; + +/** + * The OpenGL 2.1 constants. + * + * @author squid233 + * @since 0.1.0 + */ +public final class GL21 extends GL21C { + public static final int CURRENT_RASTER_SECONDARY_COLOR = 0x845F; + public static final int SLUMINANCE_ALPHA = 0x8C44; + public static final int SLUMINANCE8_ALPHA8 = 0x8C45; + public static final int SLUMINANCE = 0x8C46; + public static final int SLUMINANCE8 = 0x8C47; + public static final int COMPRESSED_SLUMINANCE = 0x8C4A; + public static final int COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java index f80b2a1c..41a01416 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java @@ -36,7 +36,7 @@ * @author squid233 * @since 0.1.0 */ -public sealed class GL21C extends GL20C permits GL30C { +public sealed class GL21C extends GL20C permits GL21, GL30C { public static final int PIXEL_PACK_BUFFER = 0x88EB; public static final int PIXEL_UNPACK_BUFFER = 0x88EC; public static final int PIXEL_PACK_BUFFER_BINDING = 0x88ED; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30.java new file mode 100644 index 00000000..36e666af --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30.java @@ -0,0 +1,29 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl; + +/** + * The OpenGL 3.0 constants. + * + * @author squid233 + * @since 0.1.0 + */ +public final class GL30 extends GL30C { + public static final int CLAMP_VERTEX_COLOR = 0x891A; + public static final int CLAMP_FRAGMENT_COLOR = 0x891B; + public static final int ALPHA_INTEGER = 0x8D97; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java index c0232e0b..8b6d06c1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java @@ -44,7 +44,7 @@ * @author squid233 * @since 0.1.0 */ -public sealed class GL30C extends GL21C permits GL31C { +public sealed class GL30C extends GL21C permits GL30, GL31C { public static final int COMPARE_REF_TO_TEXTURE = 0x884E; public static final int CLIP_DISTANCE0 = 0x3000; public static final int CLIP_DISTANCE1 = 0x3001; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index acad7a76..3a66e746 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -24,11 +24,11 @@ import overrungl.opengl.ext.amd.*; import overrungl.opengl.ext.apple.*; import overrungl.opengl.ext.ati.*; -//import overrungl.opengl.ext.ext.*; +import overrungl.opengl.ext.ext.*; import overrungl.opengl.ext.ibm.*; import overrungl.opengl.ext.intel.*; import overrungl.opengl.ext.mesa.*; -//import overrungl.opengl.ext.nv.*; +import overrungl.opengl.ext.nv.*; import overrungl.opengl.ext.sgi.*; import overrungl.opengl.ext.sun.*; @@ -96,11 +96,16 @@ public GLExtCaps(GLCapabilities caps) { glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, - glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, - glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, - glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, - glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, - glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, + glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, + glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, + glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, + glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, + glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, + glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, + glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, + glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, + glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBRobustness.load(this, load); @@ -172,10 +177,31 @@ void load(GLLoadFunc load) { GLMESAFramebufferFlipY.load(this, load); GLMESAResizeBuffers.load(this, load); GLMESAWindowPos.load(this, load); + GLNVXConditionalRender.load(this, load); GLOVRMultiview.load(this, load); GLPGIMiscHints.load(this, load); GLSGISDetailTexture.load(this, load); GLSGISFogFunction.load(this, load); + GLSGISMultisample.load(this, load); + GLSGISPixelTexture.load(this, load); + GLSGISPointParameters.load(this, load); + GLSGISSharpenTexture.load(this, load); + GLSGISTexture4D.load(this, load); + GLSGISTextureColorMask.load(this, load); + GLSGISTextureFilter4.load(this, load); + GLSGIXAsync.load(this, load); + GLSGIXFlushRaster.load(this, load); + GLSGIXFragmentLighting.load(this, load); + GLSGIXFramezoom.load(this, load); + GLSGIXIglooInterface.load(this, load); + GLSGIXInstruments.load(this, load); + GLSGIXListPriority.load(this, load); + GLSGIXPixelTexture.load(this, load); + GLSGIXPolynomialFFD.load(this, load); + GLSGIXReferencePlane.load(this, load); + GLSGIXSprite.load(this, load); + GLSGIXTagSampleBuffer.load(this, load); + GLSGIColorTable.load(this, load); GLSUNXConstantData.load(this, load); GLSUNGlobalAlpha.load(this, load); GLSUNMeshArray.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java new file mode 100644 index 00000000..bcf992bf --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_422_pixels} + */ +public final class GLEXT422Pixels { + public static final int GL_422_EXT = 0x80CC; + public static final int GL_422_REV_EXT = 0x80CD; + public static final int GL_422_AVERAGE_EXT = 0x80CE; + public static final int GL_422_REV_AVERAGE_EXT = 0x80CF; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java new file mode 100644 index 00000000..103e11c0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NVX_conditional_render} + */ +public final class GLNVXConditionalRender { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NVX_conditional_render) return; + ext.glBeginConditionalRenderNVX = load.invoke("glBeginConditionalRenderNVX", ofVoid(JAVA_INT)); + ext.glEndConditionalRenderNVX = load.invoke("glEndConditionalRenderNVX", ofVoid()); + } + + public static void glBeginConditionalRenderNVX(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginConditionalRenderNVX).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndConditionalRenderNVX() { + final var ext = getExtCapabilities(); + try { + check(ext.glEndConditionalRenderNVX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java new file mode 100644 index 00000000..f2b4159b --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java @@ -0,0 +1,42 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGI_color_matrix} + */ +public final class GLSGIColorMatrix { + public static final int GL_COLOR_MATRIX_SGI = 0x80B1; + public static final int GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; + public static final int GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; + public static final int GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; + public static final int GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; + public static final int GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; + public static final int GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; + public static final int GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; + public static final int GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; + public static final int GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; + public static final int GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java new file mode 100644 index 00000000..a967358d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java @@ -0,0 +1,107 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGI_color_table} + */ +public final class GLSGIColorTable { + public static final int GL_COLOR_TABLE_SGI = 0x80D0; + public static final int GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; + public static final int GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; + public static final int GL_PROXY_COLOR_TABLE_SGI = 0x80D3; + public static final int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; + public static final int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; + public static final int GL_COLOR_TABLE_SCALE_SGI = 0x80D6; + public static final int GL_COLOR_TABLE_BIAS_SGI = 0x80D7; + public static final int GL_COLOR_TABLE_FORMAT_SGI = 0x80D8; + public static final int GL_COLOR_TABLE_WIDTH_SGI = 0x80D9; + public static final int GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA; + public static final int GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; + public static final int GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; + public static final int GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; + public static final int GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; + public static final int GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGI_color_table) return; + ext.glColorTableSGI = load.invoke("glColorTableSGI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glColorTableParameterfvSGI = load.invoke("glColorTableParameterfvSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glColorTableParameterivSGI = load.invoke("glColorTableParameterivSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyColorTableSGI = load.invoke("glCopyColorTableSGI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetColorTableSGI = load.invoke("glGetColorTableSGI", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetColorTableParameterfvSGI = load.invoke("glGetColorTableParameterfvSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetColorTableParameterivSGI = load.invoke("glGetColorTableParameterivSGI", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glColorTableSGI(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment table) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorTableSGI).invokeExact(target, internalformat, width, format, type, table); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorTableParameterfvSGI(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorTableParameterfvSGI).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorTableParameterivSGI(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorTableParameterivSGI).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyColorTableSGI(int target, int internalformat, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyColorTableSGI).invokeExact(target, internalformat, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableSGI(int target, int format, int type, @NativeType("void *") MemorySegment table) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableSGI).invokeExact(target, format, type, table); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableParameterfvSGI(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableParameterfvSGI).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableParameterivSGI(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableParameterivSGI).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java new file mode 100644 index 00000000..5ead8414 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java @@ -0,0 +1,67 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_multisample} + */ +public final class GLSGISMultisample { + public static final int GL_MULTISAMPLE_SGIS = 0x809D; + public static final int GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; + public static final int GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; + public static final int GL_SAMPLE_MASK_SGIS = 0x80A0; + public static final int GL_1PASS_SGIS = 0x80A1; + public static final int GL_2PASS_0_SGIS = 0x80A2; + public static final int GL_2PASS_1_SGIS = 0x80A3; + public static final int GL_4PASS_0_SGIS = 0x80A4; + public static final int GL_4PASS_1_SGIS = 0x80A5; + public static final int GL_4PASS_2_SGIS = 0x80A6; + public static final int GL_4PASS_3_SGIS = 0x80A7; + public static final int GL_SAMPLE_BUFFERS_SGIS = 0x80A8; + public static final int GL_SAMPLES_SGIS = 0x80A9; + public static final int GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA; + public static final int GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB; + public static final int GL_SAMPLE_PATTERN_SGIS = 0x80AC; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_multisample) return; + ext.glSampleMaskSGIS = load.invoke("glSampleMaskSGIS", ofVoid(JAVA_FLOAT, JAVA_BYTE)); + ext.glSamplePatternSGIS = load.invoke("glSamplePatternSGIS", ofVoid(JAVA_INT)); + } + + public static void glSampleMaskSGIS(float value, boolean invert) { + final var ext = getExtCapabilities(); + try { + check(ext.glSampleMaskSGIS).invokeExact(value, invert); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSamplePatternSGIS(int pattern) { + final var ext = getExtCapabilities(); + try { + check(ext.glSamplePatternSGIS).invokeExact(pattern); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java new file mode 100644 index 00000000..7f65f68a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java @@ -0,0 +1,87 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_pixel_texture} + */ +public final class GLSGISPixelTexture { + public static final int GL_PIXEL_TEXTURE_SGIS = 0x8353; + public static final int GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; + public static final int GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; + public static final int GL_PIXEL_GROUP_COLOR_SGIS = 0x8356; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_pixel_texture) return; + ext.glPixelTexGenParameteriSGIS = load.invoke("glPixelTexGenParameteriSGIS", ofVoid(JAVA_INT, JAVA_INT)); + ext.glPixelTexGenParameterivSGIS = load.invoke("glPixelTexGenParameterivSGIS", ofVoid(JAVA_INT, ADDRESS)); + ext.glPixelTexGenParameterfSGIS = load.invoke("glPixelTexGenParameterfSGIS", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glPixelTexGenParameterfvSGIS = load.invoke("glPixelTexGenParameterfvSGIS", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetPixelTexGenParameterivSGIS = load.invoke("glGetPixelTexGenParameterivSGIS", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetPixelTexGenParameterfvSGIS = load.invoke("glGetPixelTexGenParameterfvSGIS", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glPixelTexGenParameteriSGIS(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTexGenParameteriSGIS).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelTexGenParameterivSGIS(int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTexGenParameterivSGIS).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelTexGenParameterfSGIS(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTexGenParameterfSGIS).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelTexGenParameterfvSGIS(int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTexGenParameterfvSGIS).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPixelTexGenParameterivSGIS(int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPixelTexGenParameterivSGIS).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPixelTexGenParameterfvSGIS(int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPixelTexGenParameterfvSGIS).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java new file mode 100644 index 00000000..16a3b351 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java @@ -0,0 +1,39 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_point_line_texgen} + */ +public final class GLSGISPointLineTexgen { + public static final int GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; + public static final int GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; + public static final int GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; + public static final int GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; + public static final int GL_EYE_POINT_SGIS = 0x81F4; + public static final int GL_OBJECT_POINT_SGIS = 0x81F5; + public static final int GL_EYE_LINE_SGIS = 0x81F6; + public static final int GL_OBJECT_LINE_SGIS = 0x81F7; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java new file mode 100644 index 00000000..8ba511e8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_point_parameters} + */ +public final class GLSGISPointParameters { + public static final int GL_POINT_SIZE_MIN_SGIS = 0x8126; + public static final int GL_POINT_SIZE_MAX_SGIS = 0x8127; + public static final int GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; + public static final int GL_DISTANCE_ATTENUATION_SGIS = 0x8129; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_point_parameters) return; + ext.glPointParameterfSGIS = load.invoke("glPointParameterfSGIS", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glPointParameterfvSGIS = load.invoke("glPointParameterfvSGIS", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glPointParameterfSGIS(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointParameterfSGIS).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPointParameterfvSGIS(int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointParameterfvSGIS).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java new file mode 100644 index 00000000..8b2052ae --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_sharpen_texture} + */ +public final class GLSGISSharpenTexture { + public static final int GL_LINEAR_SHARPEN_SGIS = 0x80AD; + public static final int GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; + public static final int GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; + public static final int GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_sharpen_texture) return; + ext.glSharpenTexFuncSGIS = load.invoke("glSharpenTexFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetSharpenTexFuncSGIS = load.invoke("glGetSharpenTexFuncSGIS", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glSharpenTexFuncSGIS(int target, int n, @NativeType("const GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glSharpenTexFuncSGIS).invokeExact(target, n, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetSharpenTexFuncSGIS(int target, @NativeType("GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetSharpenTexFuncSGIS).invokeExact(target, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java new file mode 100644 index 00000000..9d496080 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java @@ -0,0 +1,61 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_texture4D} + */ +public final class GLSGISTexture4D { + public static final int GL_PACK_SKIP_VOLUMES_SGIS = 0x8130; + public static final int GL_PACK_IMAGE_DEPTH_SGIS = 0x8131; + public static final int GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132; + public static final int GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133; + public static final int GL_TEXTURE_4D_SGIS = 0x8134; + public static final int GL_PROXY_TEXTURE_4D_SGIS = 0x8135; + public static final int GL_TEXTURE_4DSIZE_SGIS = 0x8136; + public static final int GL_TEXTURE_WRAP_Q_SGIS = 0x8137; + public static final int GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; + public static final int GL_TEXTURE_4D_BINDING_SGIS = 0x814F; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_texture4D) return; + ext.glTexImage4DSGIS = load.invoke("glTexImage4DSGIS", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexSubImage4DSGIS = load.invoke("glTexSubImage4DSGIS", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glTexImage4DSGIS(int target, int level, int internalformat, int width, int height, int depth, int size4d, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexImage4DSGIS).invokeExact(target, level, internalformat, width, height, depth, size4d, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexSubImage4DSGIS(int target, int level, int xoffset, int yoffset, int zoffset, int woffset, int width, int height, int depth, int size4d, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexSubImage4DSGIS).invokeExact(target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java new file mode 100644 index 00000000..2e387303 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_texture_border_clamp} + */ +public final class GLSGISTextureBorderClamp { + public static final int GL_CLAMP_TO_BORDER_SGIS = 0x812D; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java new file mode 100644 index 00000000..97589f39 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java @@ -0,0 +1,44 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_texture_color_mask} + */ +public final class GLSGISTextureColorMask { + public static final int GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_texture_color_mask) return; + ext.glTextureColorMaskSGIS = load.invoke("glTextureColorMaskSGIS", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + } + + public static void glTextureColorMaskSGIS(boolean red, boolean green, boolean blue, boolean alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureColorMaskSGIS).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java new file mode 100644 index 00000000..d3ab802e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_texture_edge_clamp} + */ +public final class GLSGISTextureEdgeClamp { + public static final int GL_CLAMP_TO_EDGE_SGIS = 0x812F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java new file mode 100644 index 00000000..d7ce18e7 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_texture_filter4} + */ +public final class GLSGISTextureFilter4 { + public static final int GL_FILTER4_SGIS = 0x8146; + public static final int GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIS_texture_filter4) return; + ext.glGetTexFilterFuncSGIS = load.invoke("glGetTexFilterFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexFilterFuncSGIS = load.invoke("glTexFilterFuncSGIS", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glGetTexFilterFuncSGIS(int target, int filter, @NativeType("GLfloat *") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexFilterFuncSGIS).invokeExact(target, filter, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexFilterFuncSGIS(int target, int filter, int n, @NativeType("const GLfloat *") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexFilterFuncSGIS).invokeExact(target, filter, n, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java new file mode 100644 index 00000000..03657043 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_texture_lod} + */ +public final class GLSGISTextureLod { + public static final int GL_TEXTURE_MIN_LOD_SGIS = 0x813A; + public static final int GL_TEXTURE_MAX_LOD_SGIS = 0x813B; + public static final int GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C; + public static final int GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java new file mode 100644 index 00000000..e57bde47 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIS_texture_select} + */ +public final class GLSGISTextureSelect { + public static final int GL_DUAL_ALPHA4_SGIS = 0x8110; + public static final int GL_DUAL_ALPHA8_SGIS = 0x8111; + public static final int GL_DUAL_ALPHA12_SGIS = 0x8112; + public static final int GL_DUAL_ALPHA16_SGIS = 0x8113; + public static final int GL_DUAL_LUMINANCE4_SGIS = 0x8114; + public static final int GL_DUAL_LUMINANCE8_SGIS = 0x8115; + public static final int GL_DUAL_LUMINANCE12_SGIS = 0x8116; + public static final int GL_DUAL_LUMINANCE16_SGIS = 0x8117; + public static final int GL_DUAL_INTENSITY4_SGIS = 0x8118; + public static final int GL_DUAL_INTENSITY8_SGIS = 0x8119; + public static final int GL_DUAL_INTENSITY12_SGIS = 0x811A; + public static final int GL_DUAL_INTENSITY16_SGIS = 0x811B; + public static final int GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; + public static final int GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; + public static final int GL_QUAD_ALPHA4_SGIS = 0x811E; + public static final int GL_QUAD_ALPHA8_SGIS = 0x811F; + public static final int GL_QUAD_LUMINANCE4_SGIS = 0x8120; + public static final int GL_QUAD_LUMINANCE8_SGIS = 0x8121; + public static final int GL_QUAD_INTENSITY4_SGIS = 0x8122; + public static final int GL_QUAD_INTENSITY8_SGIS = 0x8123; + public static final int GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124; + public static final int GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java new file mode 100644 index 00000000..3e74c1e0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGI_texture_color_table} + */ +public final class GLSGITextureColorTable { + public static final int GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC; + public static final int GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java new file mode 100644 index 00000000..57514314 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java @@ -0,0 +1,88 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_async} + */ +public final class GLSGIXAsync { + public static final int GL_ASYNC_MARKER_SGIX = 0x8329; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_async) return; + ext.glAsyncMarkerSGIX = load.invoke("glAsyncMarkerSGIX", ofVoid(JAVA_INT)); + ext.glFinishAsyncSGIX = load.invoke("glFinishAsyncSGIX", of(JAVA_INT, ADDRESS)); + ext.glPollAsyncSGIX = load.invoke("glPollAsyncSGIX", of(JAVA_INT, ADDRESS)); + ext.glGenAsyncMarkersSGIX = load.invoke("glGenAsyncMarkersSGIX", of(JAVA_INT, JAVA_INT)); + ext.glDeleteAsyncMarkersSGIX = load.invoke("glDeleteAsyncMarkersSGIX", ofVoid(JAVA_INT, JAVA_INT)); + ext.glIsAsyncMarkerSGIX = load.invoke("glIsAsyncMarkerSGIX", of(JAVA_BYTE, JAVA_INT)); + } + + public static void glAsyncMarkerSGIX(int marker) { + final var ext = getExtCapabilities(); + try { + check(ext.glAsyncMarkerSGIX).invokeExact(marker); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glFinishAsyncSGIX(@NativeType("GLuint *") MemorySegment markerp) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glFinishAsyncSGIX).invokeExact(markerp); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glPollAsyncSGIX(@NativeType("GLuint *") MemorySegment markerp) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glPollAsyncSGIX).invokeExact(markerp); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGenAsyncMarkersSGIX(int range) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGenAsyncMarkersSGIX).invokeExact(range); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteAsyncMarkersSGIX(int marker, int range) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteAsyncMarkersSGIX).invokeExact(marker, range); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsAsyncMarkerSGIX(int marker) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsAsyncMarkerSGIX).invokeExact(marker); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java new file mode 100644 index 00000000..0eb808f7 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_async_histogram} + */ +public final class GLSGIXAsyncHistogram { + public static final int GL_ASYNC_HISTOGRAM_SGIX = 0x832C; + public static final int GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java new file mode 100644 index 00000000..27b8374e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java @@ -0,0 +1,37 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_async_pixel} + */ +public final class GLSGIXAsyncPixel { + public static final int GL_ASYNC_TEX_IMAGE_SGIX = 0x835C; + public static final int GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D; + public static final int GL_ASYNC_READ_PIXELS_SGIX = 0x835E; + public static final int GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; + public static final int GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; + public static final int GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java new file mode 100644 index 00000000..73125ffc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_blend_alpha_minmax} + */ +public final class GLSGIXBlendAlphaMinmax { + public static final int GL_ALPHA_MIN_SGIX = 0x8320; + public static final int GL_ALPHA_MAX_SGIX = 0x8321; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java new file mode 100644 index 00000000..61f0284a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_calligraphic_fragment} + */ +public final class GLSGIXCalligraphicFragment { + public static final int GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java new file mode 100644 index 00000000..2759d4f2 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_clipmap} + */ +public final class GLSGIXClipmap { + public static final int GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; + public static final int GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; + public static final int GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; + public static final int GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; + public static final int GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; + public static final int GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; + public static final int GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; + public static final int GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177; + public static final int GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; + public static final int GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; + public static final int GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; + public static final int GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java new file mode 100644 index 00000000..6a084f89 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_convolution_accuracy} + */ +public final class GLSGIXConvolutionAccuracy { + public static final int GL_CONVOLUTION_HINT_SGIX = 0x8316; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java new file mode 100644 index 00000000..20c9540d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_depth_texture} + */ +public final class GLSGIXDepthTexture { + public static final int GL_DEPTH_COMPONENT16_SGIX = 0x81A5; + public static final int GL_DEPTH_COMPONENT24_SGIX = 0x81A6; + public static final int GL_DEPTH_COMPONENT32_SGIX = 0x81A7; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java new file mode 100644 index 00000000..fcbedbe8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_flush_raster} + */ +public final class GLSGIXFlushRaster { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_flush_raster) return; + ext.glFlushRasterSGIX = load.invoke("glFlushRasterSGIX", ofVoid()); + } + + public static void glFlushRasterSGIX() { + final var ext = getExtCapabilities(); + try { + check(ext.glFlushRasterSGIX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java new file mode 100644 index 00000000..e3d8e54f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_fog_offset} + */ +public final class GLSGIXFogOffset { + public static final int GL_FOG_OFFSET_SGIX = 0x8198; + public static final int GL_FOG_OFFSET_VALUE_SGIX = 0x8199; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java new file mode 100644 index 00000000..881dfc7b --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java @@ -0,0 +1,199 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_fragment_lighting} + */ +public final class GLSGIXFragmentLighting { + public static final int GL_FRAGMENT_LIGHTING_SGIX = 0x8400; + public static final int GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; + public static final int GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; + public static final int GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; + public static final int GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; + public static final int GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405; + public static final int GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406; + public static final int GL_LIGHT_ENV_MODE_SGIX = 0x8407; + public static final int GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; + public static final int GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; + public static final int GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; + public static final int GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; + public static final int GL_FRAGMENT_LIGHT0_SGIX = 0x840C; + public static final int GL_FRAGMENT_LIGHT1_SGIX = 0x840D; + public static final int GL_FRAGMENT_LIGHT2_SGIX = 0x840E; + public static final int GL_FRAGMENT_LIGHT3_SGIX = 0x840F; + public static final int GL_FRAGMENT_LIGHT4_SGIX = 0x8410; + public static final int GL_FRAGMENT_LIGHT5_SGIX = 0x8411; + public static final int GL_FRAGMENT_LIGHT6_SGIX = 0x8412; + public static final int GL_FRAGMENT_LIGHT7_SGIX = 0x8413; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_fragment_lighting) return; + ext.glFragmentColorMaterialSGIX = load.invoke("glFragmentColorMaterialSGIX", ofVoid(JAVA_INT, JAVA_INT)); + ext.glFragmentLightfSGIX = load.invoke("glFragmentLightfSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glFragmentLightfvSGIX = load.invoke("glFragmentLightfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFragmentLightiSGIX = load.invoke("glFragmentLightiSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFragmentLightivSGIX = load.invoke("glFragmentLightivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFragmentLightModelfSGIX = load.invoke("glFragmentLightModelfSGIX", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glFragmentLightModelfvSGIX = load.invoke("glFragmentLightModelfvSGIX", ofVoid(JAVA_INT, ADDRESS)); + ext.glFragmentLightModeliSGIX = load.invoke("glFragmentLightModeliSGIX", ofVoid(JAVA_INT, JAVA_INT)); + ext.glFragmentLightModelivSGIX = load.invoke("glFragmentLightModelivSGIX", ofVoid(JAVA_INT, ADDRESS)); + ext.glFragmentMaterialfSGIX = load.invoke("glFragmentMaterialfSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glFragmentMaterialfvSGIX = load.invoke("glFragmentMaterialfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFragmentMaterialiSGIX = load.invoke("glFragmentMaterialiSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFragmentMaterialivSGIX = load.invoke("glFragmentMaterialivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFragmentLightfvSGIX = load.invoke("glGetFragmentLightfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFragmentLightivSGIX = load.invoke("glGetFragmentLightivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFragmentMaterialfvSGIX = load.invoke("glGetFragmentMaterialfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFragmentMaterialivSGIX = load.invoke("glGetFragmentMaterialivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glLightEnviSGIX = load.invoke("glLightEnviSGIX", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glFragmentColorMaterialSGIX(int face, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentColorMaterialSGIX).invokeExact(face, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightfSGIX(int light, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightfSGIX).invokeExact(light, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightfvSGIX(int light, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightfvSGIX).invokeExact(light, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightiSGIX(int light, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightiSGIX).invokeExact(light, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightivSGIX(int light, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightivSGIX).invokeExact(light, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightModelfSGIX(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightModelfSGIX).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightModelfvSGIX(int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightModelfvSGIX).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightModeliSGIX(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightModeliSGIX).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentLightModelivSGIX(int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentLightModelivSGIX).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentMaterialfSGIX(int face, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentMaterialfSGIX).invokeExact(face, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentMaterialfvSGIX(int face, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentMaterialfvSGIX).invokeExact(face, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentMaterialiSGIX(int face, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentMaterialiSGIX).invokeExact(face, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFragmentMaterialivSGIX(int face, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentMaterialivSGIX).invokeExact(face, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFragmentLightfvSGIX(int light, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFragmentLightfvSGIX).invokeExact(light, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFragmentLightivSGIX(int light, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFragmentLightivSGIX).invokeExact(light, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFragmentMaterialfvSGIX(int face, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFragmentMaterialfvSGIX).invokeExact(face, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFragmentMaterialivSGIX(int face, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFragmentMaterialivSGIX).invokeExact(face, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLightEnviSGIX(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glLightEnviSGIX).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java new file mode 100644 index 00000000..7b825a53 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_framezoom} + */ +public final class GLSGIXFramezoom { + public static final int GL_FRAMEZOOM_SGIX = 0x818B; + public static final int GL_FRAMEZOOM_FACTOR_SGIX = 0x818C; + public static final int GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_framezoom) return; + ext.glFrameZoomSGIX = load.invoke("glFrameZoomSGIX", ofVoid(JAVA_INT)); + } + + public static void glFrameZoomSGIX(int factor) { + final var ext = getExtCapabilities(); + try { + check(ext.glFrameZoomSGIX).invokeExact(factor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java new file mode 100644 index 00000000..04171a06 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_igloo_interface} + */ +public final class GLSGIXIglooInterface { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_igloo_interface) return; + ext.glIglooInterfaceSGIX = load.invoke("glIglooInterfaceSGIX", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glIglooInterfaceSGIX(int pname, @NativeType("const void *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glIglooInterfaceSGIX).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java new file mode 100644 index 00000000..78e2eca4 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java @@ -0,0 +1,87 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_instruments} + */ +public final class GLSGIXInstruments { + public static final int GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; + public static final int GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_instruments) return; + ext.glGetInstrumentsSGIX = load.invoke("glGetInstrumentsSGIX", of(JAVA_INT)); + ext.glInstrumentsBufferSGIX = load.invoke("glInstrumentsBufferSGIX", ofVoid(JAVA_INT, ADDRESS)); + ext.glPollInstrumentsSGIX = load.invoke("glPollInstrumentsSGIX", of(JAVA_INT, ADDRESS)); + ext.glReadInstrumentsSGIX = load.invoke("glReadInstrumentsSGIX", ofVoid(JAVA_INT)); + ext.glStartInstrumentsSGIX = load.invoke("glStartInstrumentsSGIX", ofVoid()); + ext.glStopInstrumentsSGIX = load.invoke("glStopInstrumentsSGIX", ofVoid(JAVA_INT)); + } + + public static int glGetInstrumentsSGIX() { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGetInstrumentsSGIX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glInstrumentsBufferSGIX(int size, @NativeType("GLint *") MemorySegment buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glInstrumentsBufferSGIX).invokeExact(size, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glPollInstrumentsSGIX(@NativeType("GLint *") MemorySegment marker_p) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glPollInstrumentsSGIX).invokeExact(marker_p); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glReadInstrumentsSGIX(int marker) { + final var ext = getExtCapabilities(); + try { + check(ext.glReadInstrumentsSGIX).invokeExact(marker); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStartInstrumentsSGIX() { + final var ext = getExtCapabilities(); + try { + check(ext.glStartInstrumentsSGIX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStopInstrumentsSGIX(int marker) { + final var ext = getExtCapabilities(); + try { + check(ext.glStopInstrumentsSGIX).invokeExact(marker); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java new file mode 100644 index 00000000..0bea7eb9 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_interlace} + */ +public final class GLSGIXInterlace { + public static final int GL_INTERLACE_SGIX = 0x8094; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java new file mode 100644 index 00000000..f8be52c0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_ir_instrument1} + */ +public final class GLSGIXIrInstrument1 { + public static final int GL_IR_INSTRUMENT1_SGIX = 0x817F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java new file mode 100644 index 00000000..41201c2b --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java @@ -0,0 +1,84 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_list_priority} + */ +public final class GLSGIXListPriority { + public static final int GL_LIST_PRIORITY_SGIX = 0x8182; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_list_priority) return; + ext.glGetListParameterfvSGIX = load.invoke("glGetListParameterfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetListParameterivSGIX = load.invoke("glGetListParameterivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glListParameterfSGIX = load.invoke("glListParameterfSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glListParameterfvSGIX = load.invoke("glListParameterfvSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glListParameteriSGIX = load.invoke("glListParameteriSGIX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glListParameterivSGIX = load.invoke("glListParameterivSGIX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glGetListParameterfvSGIX(int list, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetListParameterfvSGIX).invokeExact(list, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetListParameterivSGIX(int list, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetListParameterivSGIX).invokeExact(list, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glListParameterfSGIX(int list, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glListParameterfSGIX).invokeExact(list, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glListParameterfvSGIX(int list, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glListParameterfvSGIX).invokeExact(list, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glListParameteriSGIX(int list, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glListParameteriSGIX).invokeExact(list, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glListParameterivSGIX(int list, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glListParameterivSGIX).invokeExact(list, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java new file mode 100644 index 00000000..2a41b24a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_pixel_texture} + */ +public final class GLSGIXPixelTexture { + public static final int GL_PIXEL_TEX_GEN_SGIX = 0x8139; + public static final int GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_pixel_texture) return; + ext.glPixelTexGenSGIX = load.invoke("glPixelTexGenSGIX", ofVoid(JAVA_INT)); + } + + public static void glPixelTexGenSGIX(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTexGenSGIX).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java new file mode 100644 index 00000000..7bf0ae81 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java @@ -0,0 +1,39 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_pixel_tiles} + */ +public final class GLSGIXPixelTiles { + public static final int GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; + public static final int GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; + public static final int GL_PIXEL_TILE_WIDTH_SGIX = 0x8140; + public static final int GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141; + public static final int GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; + public static final int GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; + public static final int GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; + public static final int GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java new file mode 100644 index 00000000..676c3107 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java @@ -0,0 +1,73 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_polynomial_ffd} + */ +public final class GLSGIXPolynomialFFD { + public static final int GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; + public static final int GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; + public static final int GL_GEOMETRY_DEFORMATION_SGIX = 0x8194; + public static final int GL_TEXTURE_DEFORMATION_SGIX = 0x8195; + public static final int GL_DEFORMATIONS_MASK_SGIX = 0x8196; + public static final int GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_polynomial_ffd) return; + ext.glDeformationMap3dSGIX = load.invoke("glDeformationMap3dSGIX", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDeformationMap3fSGIX = load.invoke("glDeformationMap3fSGIX", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDeformSGIX = load.invoke("glDeformSGIX", ofVoid(JAVA_INT)); + ext.glLoadIdentityDeformationMapSGIX = load.invoke("glLoadIdentityDeformationMapSGIX", ofVoid(JAVA_INT)); + } + + public static void glDeformationMap3dSGIX(int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double w1, double w2, int wstride, int worder, @NativeType("const GLdouble *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeformationMap3dSGIX).invokeExact(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeformationMap3fSGIX(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float w1, float w2, int wstride, int worder, @NativeType("const GLfloat *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeformationMap3fSGIX).invokeExact(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeformSGIX(int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeformSGIX).invokeExact(mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLoadIdentityDeformationMapSGIX(int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glLoadIdentityDeformationMapSGIX).invokeExact(mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java new file mode 100644 index 00000000..129b662f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_reference_plane} + */ +public final class GLSGIXReferencePlane { + public static final int GL_REFERENCE_PLANE_SGIX = 0x817D; + public static final int GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_reference_plane) return; + ext.glReferencePlaneSGIX = load.invoke("glReferencePlaneSGIX", ofVoid(ADDRESS)); + } + + public static void glReferencePlaneSGIX(@NativeType("const GLdouble *") MemorySegment equation) { + final var ext = getExtCapabilities(); + try { + check(ext.glReferencePlaneSGIX).invokeExact(equation); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java new file mode 100644 index 00000000..b6e2c894 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_resample} + */ +public final class GLSGIXResample { + public static final int GL_PACK_RESAMPLE_SGIX = 0x842E; + public static final int GL_UNPACK_RESAMPLE_SGIX = 0x842F; + public static final int GL_RESAMPLE_REPLICATE_SGIX = 0x8433; + public static final int GL_RESAMPLE_ZERO_FILL_SGIX = 0x8434; + public static final int GL_RESAMPLE_DECIMATE_SGIX = 0x8430; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java new file mode 100644 index 00000000..fdcdd9ff --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_scalebias_hint} + */ +public final class GLSGIXScalebiasHint { + public static final int GL_SCALEBIAS_HINT_SGIX = 0x8322; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java new file mode 100644 index 00000000..2b0d3f9c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_shadow} + */ +public final class GLSGIXShadow { + public static final int GL_TEXTURE_COMPARE_SGIX = 0x819A; + public static final int GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; + public static final int GL_TEXTURE_LEQUAL_R_SGIX = 0x819C; + public static final int GL_TEXTURE_GEQUAL_R_SGIX = 0x819D; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java new file mode 100644 index 00000000..04d032dc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_shadow_ambient} + */ +public final class GLSGIXShadowAmbient { + public static final int GL_SHADOW_AMBIENT_SGIX = 0x80BF; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java new file mode 100644 index 00000000..64054d27 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java @@ -0,0 +1,74 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_sprite} + */ +public final class GLSGIXSprite { + public static final int GL_SPRITE_SGIX = 0x8148; + public static final int GL_SPRITE_MODE_SGIX = 0x8149; + public static final int GL_SPRITE_AXIS_SGIX = 0x814A; + public static final int GL_SPRITE_TRANSLATION_SGIX = 0x814B; + public static final int GL_SPRITE_AXIAL_SGIX = 0x814C; + public static final int GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; + public static final int GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_sprite) return; + ext.glSpriteParameterfSGIX = load.invoke("glSpriteParameterfSGIX", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glSpriteParameterfvSGIX = load.invoke("glSpriteParameterfvSGIX", ofVoid(JAVA_INT, ADDRESS)); + ext.glSpriteParameteriSGIX = load.invoke("glSpriteParameteriSGIX", ofVoid(JAVA_INT, JAVA_INT)); + ext.glSpriteParameterivSGIX = load.invoke("glSpriteParameterivSGIX", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glSpriteParameterfSGIX(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glSpriteParameterfSGIX).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSpriteParameterfvSGIX(int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glSpriteParameterfvSGIX).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSpriteParameteriSGIX(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glSpriteParameteriSGIX).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSpriteParameterivSGIX(int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glSpriteParameterivSGIX).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java new file mode 100644 index 00000000..7015ca7e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_subsample} + */ +public final class GLSGIXSubsample { + public static final int GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; + public static final int GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; + public static final int GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; + public static final int GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; + public static final int GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java new file mode 100644 index 00000000..69ed727d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_tag_sample_buffer} + */ +public final class GLSGIXTagSampleBuffer { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_SGIX_tag_sample_buffer) return; + ext.glTagSampleBufferSGIX = load.invoke("glTagSampleBufferSGIX", ofVoid()); + } + + public static void glTagSampleBufferSGIX() { + final var ext = getExtCapabilities(); + try { + check(ext.glTagSampleBufferSGIX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java new file mode 100644 index 00000000..4b74298c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_texture_add_env} + */ +public final class GLSGIXTextureAddEnv { + public static final int GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java new file mode 100644 index 00000000..93439b19 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_texture_coordinate_clamp} + */ +public final class GLSGIXTextureCoordinateClamp { + public static final int GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; + public static final int GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; + public static final int GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java new file mode 100644 index 00000000..9800540e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_texture_lod_bias} + */ +public final class GLSGIXTextureLodBias { + public static final int GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E; + public static final int GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F; + public static final int GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java new file mode 100644 index 00000000..e0da6983 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_texture_multi_buffer} + */ +public final class GLSGIXTextureMultiBuffer { + public static final int GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java new file mode 100644 index 00000000..d41d4c67 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_texture_scale_bias} + */ +public final class GLSGIXTextureScaleBias { + public static final int GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; + public static final int GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; + public static final int GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; + public static final int GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java new file mode 100644 index 00000000..8c0aa647 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_vertex_preclip} + */ +public final class GLSGIXVertexPreclip { + public static final int GL_VERTEX_PRECLIP_SGIX = 0x83EE; + public static final int GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java new file mode 100644 index 00000000..0d22cd96 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_ycrcb} + */ +public final class GLSGIXYcrcb { + public static final int GL_YCRCB_422_SGIX = 0x81BB; + public static final int GL_YCRCB_444_SGIX = 0x81BC; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java new file mode 100644 index 00000000..1fe03e13 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.sgi; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_SGIX_ycrcba} + */ +public final class GLSGIXYcrcba { + public static final int GL_YCRCB_SGIX = 0x8318; + public static final int GL_YCRCBA_SGIX = 0x8319; +} From 597cf78321a4e090f1ce6e63794eebd504b91626 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 4 Nov 2023 18:06:43 +0800 Subject: [PATCH 24/44] [OpenGL] Update extensions; fixed CI --- build.gradle.kts | 8 +- .../overrungl/opengl/OpenGLGenerator.kt | 903 +++++++++++++++++- .../main/java/overrungl/opengl/GLExtCaps.java | 121 ++- .../opengl/ext/GL3DFXMultisample.java | 4 +- .../overrungl/opengl/ext/GL3DFXTbuffer.java | 4 +- .../ext/GL3DFXTextureCompressionFXT1.java | 4 +- .../opengl/ext/GLGREMEDYFrameTerminator.java | 4 +- .../opengl/ext/GLGREMEDYStringMarker.java | 4 +- .../ext/GLHPConvolutionBorderModes.java | 4 +- .../opengl/ext/GLHPImageTransform.java | 4 +- .../opengl/ext/GLHPOcclusionTest.java | 4 +- .../opengl/ext/GLHPTextureLighting.java | 4 +- .../opengl/ext/GLINGRBlendFuncSeparate.java | 4 +- .../opengl/ext/GLINGRColorClamp.java | 4 +- .../opengl/ext/GLINGRInterlaceRead.java | 4 +- .../overrungl/opengl/ext/GLOMLInterlace.java | 4 +- .../overrungl/opengl/ext/GLOMLResample.java | 4 +- .../overrungl/opengl/ext/GLOMLSubsample.java | 4 +- .../overrungl/opengl/ext/GLOVRMultiview.java | 4 +- .../overrungl/opengl/ext/GLPGIMiscHints.java | 4 +- .../opengl/ext/GLPGIVertexHints.java | 4 +- .../opengl/ext/GLRENDScreenCoordinates.java | 4 +- .../java/overrungl/opengl/ext/GLS3S3tc.java | 4 +- .../opengl/ext/GLWINPhongShading.java | 4 +- .../opengl/ext/GLWINSpecularFog.java | 4 +- .../ext/amd/GLAMDBlendMinmaxFactor.java | 4 +- .../opengl/ext/amd/GLAMDDebugOutput.java | 4 +- .../ext/amd/GLAMDDepthClampSeparate.java | 4 +- .../opengl/ext/amd/GLAMDDrawBuffersBlend.java | 4 +- .../GLAMDFramebufferMultisampleAdvanced.java | 4 +- .../amd/GLAMDFramebufferSamplePositions.java | 4 +- .../ext/amd/GLAMDGpuShaderHalfFloat.java | 4 +- .../opengl/ext/amd/GLAMDGpuShaderInt64.java | 4 +- .../ext/amd/GLAMDInterleavedElements.java | 4 +- .../ext/amd/GLAMDMultiDrawIndirect.java | 4 +- .../opengl/ext/amd/GLAMDNameGenDelete.java | 4 +- .../ext/amd/GLAMDOcclusionQueryEvent.java | 4 +- .../ext/amd/GLAMDPerformanceMonitor.java | 4 +- .../opengl/ext/amd/GLAMDPinnedMemory.java | 4 +- .../ext/amd/GLAMDQueryBufferObject.java | 4 +- .../opengl/ext/amd/GLAMDSamplePositions.java | 4 +- .../opengl/ext/amd/GLAMDSparseTexture.java | 4 +- .../amd/GLAMDStencilOperationExtended.java | 4 +- .../ext/amd/GLAMDTransformFeedback4.java | 4 +- .../ext/amd/GLAMDVertexShaderTessellator.java | 4 +- .../ext/apple/GLAPPLEAuxDepthStencil.java | 4 +- .../ext/apple/GLAPPLEClientStorage.java | 4 +- .../opengl/ext/apple/GLAPPLEElementArray.java | 4 +- .../opengl/ext/apple/GLAPPLEFence.java | 4 +- .../opengl/ext/apple/GLAPPLEFloatPixels.java | 4 +- .../ext/apple/GLAPPLEFlushBufferRange.java | 4 +- .../ext/apple/GLAPPLEObjectPurgeable.java | 4 +- .../opengl/ext/apple/GLAPPLERgb422.java | 4 +- .../opengl/ext/apple/GLAPPLERowBytes.java | 4 +- .../ext/apple/GLAPPLESpecularVector.java | 4 +- .../opengl/ext/apple/GLAPPLETextureRange.java | 4 +- .../ext/apple/GLAPPLETransformHint.java | 4 +- .../ext/apple/GLAPPLEVertexArrayObject.java | 4 +- .../ext/apple/GLAPPLEVertexArrayRange.java | 4 +- .../apple/GLAPPLEVertexProgramEvaluators.java | 4 +- .../opengl/ext/apple/GLAPPLEYcbcr422.java | 4 +- .../opengl/ext/arb/GLARBBindlessTexture.java | 233 ++--- .../opengl/ext/arb/GLARBCLEvent.java | 33 +- .../opengl/ext/arb/GLARBColorBufferFloat.java | 32 +- .../arb/GLARBComputeVariableGroupSize.java | 30 +- .../opengl/ext/arb/GLARBDebugOutput.java | 107 +-- .../opengl/ext/arb/GLARBDepthTexture.java | 36 + .../opengl/ext/arb/GLARBDrawBuffers.java | 52 +- .../opengl/ext/arb/GLARBDrawBuffersBlend.java | 66 +- .../opengl/ext/arb/GLARBDrawInstanced.java | 54 +- .../ext/arb/GLARBES32Compatibility.java | 30 +- .../opengl/ext/arb/GLARBFragmentProgram.java | 396 ++++---- .../opengl/ext/arb/GLARBFragmentShader.java | 34 + .../opengl/ext/arb/GLARBGLSpirv.java | 32 +- .../opengl/ext/arb/GLARBGPUShaderInt64.java | 405 -------- .../opengl/ext/arb/GLARBGeometryShader4.java | 65 +- .../opengl/ext/arb/GLARBGpuShaderInt64.java | 330 +++++++ .../opengl/ext/arb/GLARBHalfFloatPixel.java | 32 + .../opengl/ext/arb/GLARBImaging.java | 343 +++++++ .../ext/arb/GLARBIndirectParameters.java | 44 +- .../opengl/ext/arb/GLARBInstancedArrays.java | 28 +- .../ext/arb/GLARBInternalformatQuery2.java | 13 +- .../opengl/ext/arb/GLARBMatrixPalette.java | 88 +- .../opengl/ext/arb/GLARBMultisample.java | 36 +- .../opengl/ext/arb/GLARBMultitexture.java | 396 ++++---- .../opengl/ext/arb/GLARBOcclusionQuery.java | 118 +-- .../ext/arb/GLARBParallelShaderCompile.java | 28 +- .../ext/arb/GLARBPipelineStatisticsQuery.java | 13 +- .../ext/arb/GLARBPixelBufferObject.java | 13 +- .../opengl/ext/arb/GLARBPointParameters.java | 42 +- .../opengl/ext/arb/GLARBPointSprite.java | 33 + .../opengl/ext/arb/GLARBRobustness.java | 4 +- .../opengl/ext/arb/GLARBSampleLocations.java | 4 +- .../opengl/ext/arb/GLARBSampleShading.java | 4 +- .../opengl/ext/arb/GLARBShaderObjects.java | 4 +- .../ext/arb/GLARBShadingLanguageInclude.java | 4 +- .../overrungl/opengl/ext/arb/GLARBShadow.java | 4 +- .../opengl/ext/arb/GLARBShadowAmbient.java | 4 +- .../opengl/ext/arb/GLARBSparseBuffer.java | 4 +- .../opengl/ext/arb/GLARBSparseTexture.java | 4 +- .../ext/arb/GLARBTextureBorderClamp.java | 4 +- .../ext/arb/GLARBTextureBufferObject.java | 4 +- .../ext/arb/GLARBTextureCompression.java | 4 +- .../ext/arb/GLARBTextureCompressionBptc.java | 4 +- .../opengl/ext/arb/GLARBTextureCubeMap.java | 4 +- .../ext/arb/GLARBTextureCubeMapArray.java | 4 +- .../ext/arb/GLARBTextureEnvCombine.java | 4 +- .../opengl/ext/arb/GLARBTextureEnvDot3.java | 4 +- .../ext/arb/GLARBTextureFilterMinmax.java | 4 +- .../opengl/ext/arb/GLARBTextureFloat.java | 4 +- .../opengl/ext/arb/GLARBTextureGather.java | 4 +- .../ext/arb/GLARBTextureMirroredRepeat.java | 4 +- .../opengl/ext/arb/GLARBTextureRectangle.java | 4 +- .../GLARBTransformFeedbackOverflowQuery.java | 4 +- .../opengl/ext/arb/GLARBTransposeMatrix.java | 4 +- .../opengl/ext/arb/GLARBVertexBlend.java | 4 +- .../ext/arb/GLARBVertexBufferObject.java | 4 +- .../opengl/ext/arb/GLARBVertexProgram.java | 4 +- .../opengl/ext/arb/GLARBVertexShader.java | 4 +- .../opengl/ext/arb/GLARBViewportArray.java | 4 +- .../opengl/ext/arb/GLARBWindowPos.java | 4 +- .../opengl/ext/ati/GLATIDrawBuffers.java | 4 +- .../opengl/ext/ati/GLATIElementArray.java | 4 +- .../opengl/ext/ati/GLATIEnvmapBumpmap.java | 4 +- .../opengl/ext/ati/GLATIFragmentShader.java | 4 +- .../opengl/ext/ati/GLATIMapObjectBuffer.java | 4 +- .../opengl/ext/ati/GLATIMeminfo.java | 4 +- .../opengl/ext/ati/GLATIPixelFormatFloat.java | 4 +- .../opengl/ext/ati/GLATIPnTriangles.java | 4 +- .../opengl/ext/ati/GLATISeparateStencil.java | 4 +- .../ext/ati/GLATITextFragmentShader.java | 4 +- .../ext/ati/GLATITextureEnvCombine3.java | 4 +- .../opengl/ext/ati/GLATITextureFloat.java | 4 +- .../ext/ati/GLATITextureMirrorOnce.java | 4 +- .../ext/ati/GLATIVertexArrayObject.java | 4 +- .../ext/ati/GLATIVertexAttribArrayObject.java | 4 +- .../opengl/ext/ati/GLATIVertexStreams.java | 4 +- .../opengl/ext/ext/GLEXT422Pixels.java | 4 +- .../opengl/ext/ibm/GLIBMCullVertex.java | 4 +- .../ext/ibm/GLIBMMultimodeDrawArrays.java | 4 +- .../opengl/ext/ibm/GLIBMRasterposClip.java | 4 +- .../opengl/ext/ibm/GLIBMStaticData.java | 4 +- .../ext/ibm/GLIBMTextureMirroredRepeat.java | 4 +- .../opengl/ext/ibm/GLIBMVertexArrayLists.java | 4 +- .../ext/intel/GLINTELBlackholeRender.java | 4 +- .../GLINTELConservativeRasterization.java | 4 +- .../ext/intel/GLINTELFramebufferCMAA.java | 4 +- .../opengl/ext/intel/GLINTELMapTexture.java | 4 +- .../ext/intel/GLINTELParallelArrays.java | 4 +- .../ext/intel/GLINTELPerformanceQuery.java | 4 +- .../ext/khr/GLKHRBlendEquationAdvanced.java | 4 +- .../GLKHRBlendEquationAdvancedCoherent.java | 4 +- .../opengl/ext/khr/GLKHRNoError.java | 4 +- .../ext/khr/GLKHRParallelShaderCompile.java | 4 +- .../opengl/ext/khr/GLKHRRobustness.java | 4 +- .../opengl/ext/khr/GLKHRShaderSubgroup.java | 4 +- .../khr/GLKHRTextureCompressionAstcHdr.java | 4 +- .../ext/mesa/GLMESAFramebufferFlipX.java | 4 +- .../ext/mesa/GLMESAFramebufferFlipY.java | 4 +- .../ext/mesa/GLMESAFramebufferSwapXY.java | 4 +- .../opengl/ext/mesa/GLMESAPackInvert.java | 4 +- .../ext/mesa/GLMESAProgramBinaryFormats.java | 4 +- .../opengl/ext/mesa/GLMESAResizeBuffers.java | 4 +- .../ext/mesa/GLMESATileRasterOrder.java | 4 +- .../opengl/ext/mesa/GLMESAWindowPos.java | 4 +- .../opengl/ext/mesa/GLMESAXTextureStack.java | 4 +- .../opengl/ext/mesa/GLMESAYcbcrTexture.java | 4 +- .../opengl/ext/nv/GLNVXConditionalRender.java | 4 +- .../opengl/ext/oes/GLOESByteCoordinates.java | 4 +- .../oes/GLOESCompressedPalettedTexture.java | 4 +- .../opengl/ext/oes/GLOESFixedPoint.java | 4 +- .../opengl/ext/oes/GLOESQueryMatrix.java | 4 +- .../opengl/ext/oes/GLOESReadFormat.java | 4 +- .../opengl/ext/oes/GLOESSinglePrecision.java | 4 +- .../opengl/ext/sgi/GLSGIColorMatrix.java | 4 +- .../opengl/ext/sgi/GLSGIColorTable.java | 4 +- .../opengl/ext/sgi/GLSGISDetailTexture.java | 4 +- .../opengl/ext/sgi/GLSGISFogFunction.java | 4 +- .../opengl/ext/sgi/GLSGISGenerateMipmap.java | 4 +- .../opengl/ext/sgi/GLSGISMultisample.java | 4 +- .../opengl/ext/sgi/GLSGISPixelTexture.java | 4 +- .../opengl/ext/sgi/GLSGISPointLineTexgen.java | 4 +- .../opengl/ext/sgi/GLSGISPointParameters.java | 4 +- .../opengl/ext/sgi/GLSGISSharpenTexture.java | 4 +- .../opengl/ext/sgi/GLSGISTexture4D.java | 4 +- .../ext/sgi/GLSGISTextureBorderClamp.java | 4 +- .../ext/sgi/GLSGISTextureColorMask.java | 4 +- .../ext/sgi/GLSGISTextureEdgeClamp.java | 4 +- .../opengl/ext/sgi/GLSGISTextureFilter4.java | 4 +- .../opengl/ext/sgi/GLSGISTextureLod.java | 4 +- .../opengl/ext/sgi/GLSGISTextureSelect.java | 4 +- .../ext/sgi/GLSGITextureColorTable.java | 4 +- .../overrungl/opengl/ext/sgi/GLSGIXAsync.java | 4 +- .../opengl/ext/sgi/GLSGIXAsyncHistogram.java | 4 +- .../opengl/ext/sgi/GLSGIXAsyncPixel.java | 4 +- .../ext/sgi/GLSGIXBlendAlphaMinmax.java | 4 +- .../ext/sgi/GLSGIXCalligraphicFragment.java | 4 +- .../opengl/ext/sgi/GLSGIXClipmap.java | 4 +- .../ext/sgi/GLSGIXConvolutionAccuracy.java | 4 +- .../opengl/ext/sgi/GLSGIXDepthTexture.java | 4 +- .../opengl/ext/sgi/GLSGIXFlushRaster.java | 4 +- .../opengl/ext/sgi/GLSGIXFogOffset.java | 4 +- .../ext/sgi/GLSGIXFragmentLighting.java | 4 +- .../opengl/ext/sgi/GLSGIXFramezoom.java | 4 +- .../opengl/ext/sgi/GLSGIXIglooInterface.java | 4 +- .../opengl/ext/sgi/GLSGIXInstruments.java | 4 +- .../opengl/ext/sgi/GLSGIXInterlace.java | 4 +- .../opengl/ext/sgi/GLSGIXIrInstrument1.java | 4 +- .../opengl/ext/sgi/GLSGIXListPriority.java | 4 +- .../opengl/ext/sgi/GLSGIXPixelTexture.java | 4 +- .../opengl/ext/sgi/GLSGIXPixelTiles.java | 4 +- .../opengl/ext/sgi/GLSGIXPolynomialFFD.java | 4 +- .../opengl/ext/sgi/GLSGIXReferencePlane.java | 4 +- .../opengl/ext/sgi/GLSGIXResample.java | 4 +- .../opengl/ext/sgi/GLSGIXScalebiasHint.java | 4 +- .../opengl/ext/sgi/GLSGIXShadow.java | 4 +- .../opengl/ext/sgi/GLSGIXShadowAmbient.java | 4 +- .../opengl/ext/sgi/GLSGIXSprite.java | 4 +- .../opengl/ext/sgi/GLSGIXSubsample.java | 4 +- .../opengl/ext/sgi/GLSGIXTagSampleBuffer.java | 4 +- .../opengl/ext/sgi/GLSGIXTextureAddEnv.java | 4 +- .../ext/sgi/GLSGIXTextureCoordinateClamp.java | 4 +- .../opengl/ext/sgi/GLSGIXTextureLodBias.java | 4 +- .../ext/sgi/GLSGIXTextureMultiBuffer.java | 4 +- .../ext/sgi/GLSGIXTextureScaleBias.java | 4 +- .../opengl/ext/sgi/GLSGIXVertexPreclip.java | 4 +- .../overrungl/opengl/ext/sgi/GLSGIXYcrcb.java | 4 +- .../opengl/ext/sgi/GLSGIXYcrcba.java | 4 +- .../ext/sun/GLSUNConvolutionBorderModes.java | 4 +- .../opengl/ext/sun/GLSUNGlobalAlpha.java | 4 +- .../opengl/ext/sun/GLSUNMeshArray.java | 4 +- .../opengl/ext/sun/GLSUNSliceAccum.java | 4 +- .../opengl/ext/sun/GLSUNTriangleList.java | 4 +- .../overrungl/opengl/ext/sun/GLSUNVertex.java | 4 +- .../opengl/ext/sun/GLSUNXConstantData.java | 4 +- 235 files changed, 3047 insertions(+), 1955 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGPUShaderInt64.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java diff --git a/build.gradle.kts b/build.gradle.kts index d399dae1..561f796c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ import org.gradle.plugins.ide.idea.model.IdeaModel -import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.nio.file.Files import kotlin.io.path.Path @@ -154,6 +154,10 @@ subprojects { options.release.set(targetJavaVersion) } + tasks.withType { + kotlinOptions { jvmTarget = "20" } + } + tasks.withType { if (jdkEnablePreview.toBoolean()) jvmArgs("--enable-preview") } @@ -203,8 +207,6 @@ subprojects { } the().module.inheritOutputDirs = true - - the().jvmToolchain(20) } tasks.register("assembleJavadocArgs") { diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index cff2975f..5cc55da6 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -114,6 +114,8 @@ val GLclampf = float val GLdouble = double val GLclampd = double val GLchar = byte +val GLint64 = long +val GLuint64 = long val GLsizeiptrARB = long val GLintptrARB = long @@ -187,8 +189,8 @@ class OpenGLFile( |import static overrungl.opengl.GLLoader.*; |/** - | * {@code $extName} - | */ + | * {@code $extName} + | */ |public final class GL${ext.extName}$name { """.trimMargin() ) @@ -287,6 +289,901 @@ fun file( } fun arb() { + file("ES32Compatibility", ARB, "GL_ARB_ES3_2_compatibility") { + "GL_PRIMITIVE_BOUNDING_BOX_ARB"("0x92BE") + "GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB"("0x9381") + "GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB"("0x9382") + "glPrimitiveBoundingBoxARB"( + void, + GLfloat("minX"), + GLfloat("minY"), + GLfloat("minZ"), + GLfloat("minW"), + GLfloat("maxX"), + GLfloat("maxY"), + GLfloat("maxZ"), + GLfloat("maxW") + ) + } + file("BindlessTexture", ARB, "GL_ARB_bindless_texture") { + "GL_UNSIGNED_INT64_ARB"("0x140F") + "glGetTextureHandleARB"(GLuint64, GLuint("texture")) + "glGetTextureSamplerHandleARB"(GLuint64, GLuint("texture"), GLuint("sampler")) + "glMakeTextureHandleResidentARB"(void, GLuint64("handle")) + "glMakeTextureHandleNonResidentARB"(void, GLuint64("handle")) + "glGetImageHandleARB"( + GLuint64, + GLuint("texture"), + GLint("level"), + GLboolean("layered"), + GLint("layer"), + GLenum("format") + ) + "glMakeImageHandleResidentARB"(void, GLuint64("handle"), GLenum("access")) + "glMakeImageHandleNonResidentARB"(void, GLuint64("handle")) + "glUniformHandleui64ARB"(void, GLint("location"), GLuint64("value")) + "glUniformHandleui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glProgramUniformHandleui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("value")) + "glProgramUniformHandleui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("values", "const GLuint64 *") + ) + "glIsTextureHandleResidentARB"(GLboolean, GLuint64("handle")) + "glIsImageHandleResidentARB"(GLboolean, GLuint64("handle")) + "glVertexAttribL1ui64ARB"(void, GLuint("index"), GLuint64EXT("x")) + "glVertexAttribL1ui64vARB"(void, GLuint("index"), address("v", "const GLuint64EXT *")) + "glGetVertexAttribLui64vARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLuint64EXT *")) + } + file("CLEvent", ARB, "GL_ARB_cl_event") { + "GL_SYNC_CL_EVENT_ARB"("0x8240") + "GL_SYNC_CL_EVENT_COMPLETE_ARB"("0x8241") + "glCreateSyncFromCLeventARB"( + address, + address("context", "struct _cl_context *"), + address("event", "struct _cl_event *"), + GLbitfield("flags"), + nativeType = "GLsync" + ) + } + file("ColorBufferFloat", ARB, "GL_ARB_color_buffer_float") { + "GL_RGBA_FLOAT_MODE_ARB"("0x8820") + "GL_CLAMP_VERTEX_COLOR_ARB"("0x891A") + "GL_CLAMP_FRAGMENT_COLOR_ARB"("0x891B") + "GL_CLAMP_READ_COLOR_ARB"("0x891C") + "GL_FIXED_ONLY_ARB"("0x891D") + "glClampColorARB"(void, GLenum("target"), GLenum("clamp")) + } + file("ComputeVariableGroupSize", ARB, "GL_ARB_compute_variable_group_size") { + "GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"("0x9344") + "GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB"("0x90EB") + "GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"("0x9345") + "GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB"("0x91BF") + "glDispatchComputeGroupSizeARB"( + void, + GLuint("num_groups_x"), + GLuint("num_groups_y"), + GLuint("num_groups_z"), + GLuint("group_size_x"), + GLuint("group_size_y"), + GLuint("group_size_z") + ) + } + file("DebugOutput", ARB, "GL_ARB_debug_output") { + "GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"("0x8242") + "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"("0x8243") + "GL_DEBUG_CALLBACK_FUNCTION_ARB"("0x8244") + "GL_DEBUG_CALLBACK_USER_PARAM_ARB"("0x8245") + "GL_DEBUG_SOURCE_API_ARB"("0x8246") + "GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"("0x8247") + "GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"("0x8248") + "GL_DEBUG_SOURCE_THIRD_PARTY_ARB"("0x8249") + "GL_DEBUG_SOURCE_APPLICATION_ARB"("0x824A") + "GL_DEBUG_SOURCE_OTHER_ARB"("0x824B") + "GL_DEBUG_TYPE_ERROR_ARB"("0x824C") + "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"("0x824D") + "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"("0x824E") + "GL_DEBUG_TYPE_PORTABILITY_ARB"("0x824F") + "GL_DEBUG_TYPE_PERFORMANCE_ARB"("0x8250") + "GL_DEBUG_TYPE_OTHER_ARB"("0x8251") + "GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"("0x9143") + "GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"("0x9144") + "GL_DEBUG_LOGGED_MESSAGES_ARB"("0x9145") + "GL_DEBUG_SEVERITY_HIGH_ARB"("0x9146") + "GL_DEBUG_SEVERITY_MEDIUM_ARB"("0x9147") + "GL_DEBUG_SEVERITY_LOW_ARB"("0x9148") + "glDebugMessageControlARB"( + void, + GLenum("source"), + GLenum("type"), + GLenum("severity"), + GLsizei("count"), + address("ids", "const GLuint *"), + GLboolean("enabled") + ) + "glDebugMessageInsertARB"( + void, + GLenum("source"), + GLenum("type"), + GLuint("id"), + GLenum("severity"), + GLsizei("length"), + address("buf", "const GLchar *") + ) + ("glDebugMessageCallbackARB"( + void, + address("callback", "GLDEBUGPROCARB"), + address("userParam", "const void *") + )) { + "glDebugMessageCallbackARB"( + void, + "glDebugMessageCallbackARB(callback.address(arena), userParam);", + arena("arena"), + Type("GLDebugProc", null)("callback"), + address("userParam", "const void *") + ) + } + "glGetDebugMessageLogARB"( + GLuint, + GLuint("count"), + GLsizei("bufSize"), + address("sources", "GLenum *"), + address("types", "GLenum *"), + address("ids", "GLuint *"), + address("severities", "GLenum *"), + address("lengths", "GLsizei *"), + address("messageLog", "GLchar *") + ) + } + file( + "DepthTexture", ARB, "GL_ARB_depth_texture", + "GL_DEPTH_COMPONENT16_ARB" to "0x81A5", + "GL_DEPTH_COMPONENT24_ARB" to "0x81A6", + "GL_DEPTH_COMPONENT32_ARB" to "0x81A7", + "GL_TEXTURE_DEPTH_SIZE_ARB" to "0x884A", + "GL_DEPTH_TEXTURE_MODE_ARB" to "0x884B" + ) + file("DrawBuffers", ARB, "GL_ARB_draw_buffers") { + "GL_MAX_DRAW_BUFFERS_ARB"("0x8824") + "GL_DRAW_BUFFER0_ARB"("0x8825") + "GL_DRAW_BUFFER1_ARB"("0x8826") + "GL_DRAW_BUFFER2_ARB"("0x8827") + "GL_DRAW_BUFFER3_ARB"("0x8828") + "GL_DRAW_BUFFER4_ARB"("0x8829") + "GL_DRAW_BUFFER5_ARB"("0x882A") + "GL_DRAW_BUFFER6_ARB"("0x882B") + "GL_DRAW_BUFFER7_ARB"("0x882C") + "GL_DRAW_BUFFER8_ARB"("0x882D") + "GL_DRAW_BUFFER9_ARB"("0x882E") + "GL_DRAW_BUFFER10_ARB"("0x882F") + "GL_DRAW_BUFFER11_ARB"("0x8830") + "GL_DRAW_BUFFER12_ARB"("0x8831") + "GL_DRAW_BUFFER13_ARB"("0x8832") + "GL_DRAW_BUFFER14_ARB"("0x8833") + "GL_DRAW_BUFFER15_ARB"("0x8834") + "glDrawBuffersARB"(void, GLsizei("n"), address("bufs", "const GLenum *")) + } + file("DrawBuffersBlend", ARB, "GL_ARB_draw_buffers_blend") { + "glBlendEquationiARB"(void, GLuint("buf"), GLenum("mode")) + "glBlendEquationSeparateiARB"(void, GLuint("buf"), GLenum("modeRGB"), GLenum("modeAlpha")) + "glBlendFunciARB"(void, GLuint("buf"), GLenum("src"), GLenum("dst")) + "glBlendFuncSeparateiARB"( + void, + GLuint("buf"), + GLenum("srcRGB"), + GLenum("dstRGB"), + GLenum("srcAlpha"), + GLenum("dstAlpha") + ) + } + file("DrawInstanced", ARB, "GL_ARB_draw_instanced") { + "glDrawArraysInstancedARB"(void, GLenum("mode"), GLint("first"), GLsizei("count"), GLsizei("primcount")) + "glDrawElementsInstancedARB"( + void, + GLenum("mode"), + GLsizei("count"), + GLenum("type"), + address("indices", "const void *"), + GLsizei("primcount") + ) + } + file("FragmentProgram", ARB, "GL_ARB_fragment_program") { + "GL_FRAGMENT_PROGRAM_ARB"("0x8804") + "GL_PROGRAM_FORMAT_ASCII_ARB"("0x8875") + "GL_PROGRAM_LENGTH_ARB"("0x8627") + "GL_PROGRAM_FORMAT_ARB"("0x8876") + "GL_PROGRAM_BINDING_ARB"("0x8677") + "GL_PROGRAM_INSTRUCTIONS_ARB"("0x88A0") + "GL_MAX_PROGRAM_INSTRUCTIONS_ARB"("0x88A1") + "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"("0x88A2") + "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"("0x88A3") + "GL_PROGRAM_TEMPORARIES_ARB"("0x88A4") + "GL_MAX_PROGRAM_TEMPORARIES_ARB"("0x88A5") + "GL_PROGRAM_NATIVE_TEMPORARIES_ARB"("0x88A6") + "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"("0x88A7") + "GL_PROGRAM_PARAMETERS_ARB"("0x88A8") + "GL_MAX_PROGRAM_PARAMETERS_ARB"("0x88A9") + "GL_PROGRAM_NATIVE_PARAMETERS_ARB"("0x88AA") + "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"("0x88AB") + "GL_PROGRAM_ATTRIBS_ARB"("0x88AC") + "GL_MAX_PROGRAM_ATTRIBS_ARB"("0x88AD") + "GL_PROGRAM_NATIVE_ATTRIBS_ARB"("0x88AE") + "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"("0x88AF") + "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"("0x88B4") + "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"("0x88B5") + "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"("0x88B6") + "GL_PROGRAM_ALU_INSTRUCTIONS_ARB"("0x8805") + "GL_PROGRAM_TEX_INSTRUCTIONS_ARB"("0x8806") + "GL_PROGRAM_TEX_INDIRECTIONS_ARB"("0x8807") + "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"("0x8808") + "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"("0x8809") + "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"("0x880A") + "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"("0x880B") + "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"("0x880C") + "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"("0x880D") + "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"("0x880E") + "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"("0x880F") + "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"("0x8810") + "GL_PROGRAM_STRING_ARB"("0x8628") + "GL_PROGRAM_ERROR_POSITION_ARB"("0x864B") + "GL_CURRENT_MATRIX_ARB"("0x8641") + "GL_TRANSPOSE_CURRENT_MATRIX_ARB"("0x88B7") + "GL_CURRENT_MATRIX_STACK_DEPTH_ARB"("0x8640") + "GL_MAX_PROGRAM_MATRICES_ARB"("0x862F") + "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"("0x862E") + "GL_MAX_TEXTURE_COORDS_ARB"("0x8871") + "GL_MAX_TEXTURE_IMAGE_UNITS_ARB"("0x8872") + "GL_PROGRAM_ERROR_STRING_ARB"("0x8874") + "GL_MATRIX0_ARB"("0x88C0") + "GL_MATRIX1_ARB"("0x88C1") + "GL_MATRIX2_ARB"("0x88C2") + "GL_MATRIX3_ARB"("0x88C3") + "GL_MATRIX4_ARB"("0x88C4") + "GL_MATRIX5_ARB"("0x88C5") + "GL_MATRIX6_ARB"("0x88C6") + "GL_MATRIX7_ARB"("0x88C7") + "GL_MATRIX8_ARB"("0x88C8") + "GL_MATRIX9_ARB"("0x88C9") + "GL_MATRIX10_ARB"("0x88CA") + "GL_MATRIX11_ARB"("0x88CB") + "GL_MATRIX12_ARB"("0x88CC") + "GL_MATRIX13_ARB"("0x88CD") + "GL_MATRIX14_ARB"("0x88CE") + "GL_MATRIX15_ARB"("0x88CF") + "GL_MATRIX16_ARB"("0x88D0") + "GL_MATRIX17_ARB"("0x88D1") + "GL_MATRIX18_ARB"("0x88D2") + "GL_MATRIX19_ARB"("0x88D3") + "GL_MATRIX20_ARB"("0x88D4") + "GL_MATRIX21_ARB"("0x88D5") + "GL_MATRIX22_ARB"("0x88D6") + "GL_MATRIX23_ARB"("0x88D7") + "GL_MATRIX24_ARB"("0x88D8") + "GL_MATRIX25_ARB"("0x88D9") + "GL_MATRIX26_ARB"("0x88DA") + "GL_MATRIX27_ARB"("0x88DB") + "GL_MATRIX28_ARB"("0x88DC") + "GL_MATRIX29_ARB"("0x88DD") + "GL_MATRIX30_ARB"("0x88DE") + "GL_MATRIX31_ARB"("0x88DF") + "glProgramStringARB"( + void, + GLenum("target"), + GLenum("format"), + GLsizei("len"), + address("string", "const void *") + ) + "glBindProgramARB"(void, GLenum("target"), GLuint("program")) + "glDeleteProgramsARB"(void, GLsizei("n"), address("programs", "const GLuint *")) + "glGenProgramsARB"(void, GLsizei("n"), address("programs", "GLuint *")) + "glProgramEnvParameter4dARB"( + void, + GLenum("target"), + GLuint("index"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glProgramEnvParameter4dvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLdouble *")) + "glProgramEnvParameter4fARB"( + void, + GLenum("target"), + GLuint("index"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glProgramEnvParameter4fvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLfloat *")) + "glProgramLocalParameter4dARB"( + void, + GLenum("target"), + GLuint("index"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glProgramLocalParameter4dvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLdouble *")) + "glProgramLocalParameter4fARB"( + void, + GLenum("target"), + GLuint("index"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glProgramLocalParameter4fvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLfloat *")) + "glGetProgramEnvParameterdvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLdouble *")) + "glGetProgramEnvParameterfvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLfloat *")) + "glGetProgramLocalParameterdvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLdouble *")) + "glGetProgramLocalParameterfvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLfloat *")) + "glGetProgramivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetProgramStringARB"(void, GLenum("target"), GLenum("pname"), address("string", "void *")) + "glIsProgramARB"(GLboolean, GLuint("program")) + } + file( + "FragmentShader", ARB, "GL_ARB_fragment_shader", + "GL_FRAGMENT_SHADER_ARB" to "0x8B30", + "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB" to "0x8B49", + "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB" to "0x8B8B" + ) + file("GeometryShader4", ARB, "GL_ARB_geometry_shader4") { + "GL_LINES_ADJACENCY_ARB"("0x000A") + "GL_LINE_STRIP_ADJACENCY_ARB"("0x000B") + "GL_TRIANGLES_ADJACENCY_ARB"("0x000C") + "GL_TRIANGLE_STRIP_ADJACENCY_ARB"("0x000D") + "GL_PROGRAM_POINT_SIZE_ARB"("0x8642") + "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"("0x8C29") + "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"("0x8DA7") + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"("0x8DA8") + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"("0x8DA9") + "GL_GEOMETRY_SHADER_ARB"("0x8DD9") + "GL_GEOMETRY_VERTICES_OUT_ARB"("0x8DDA") + "GL_GEOMETRY_INPUT_TYPE_ARB"("0x8DDB") + "GL_GEOMETRY_OUTPUT_TYPE_ARB"("0x8DDC") + "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"("0x8DDD") + "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"("0x8DDE") + "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"("0x8DDF") + "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB"("0x8DE0") + "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"("0x8DE1") + "glProgramParameteriARB"(void, GLuint("program"), GLenum("pname"), GLint("value")) + "glFramebufferTextureARB"(void, GLenum("target"), GLenum("attachment"), GLuint("texture"), GLint("level")) + "glFramebufferTextureLayerARB"( + void, + GLenum("target"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLint("layer") + ) + "glFramebufferTextureFaceARB"( + void, + GLenum("target"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLenum("face") + ) + } + file("GLSpirv", ARB, "GL_ARB_gl_spirv") { + "GL_SHADER_BINARY_FORMAT_SPIR_V_ARB"("0x9551") + "GL_SPIR_V_BINARY_ARB"("0x9552") + "glSpecializeShaderARB"( + void, + GLuint("shader"), + address("pEntryPoint", "const GLchar *"), + GLuint("numSpecializationConstants"), + address("pConstantIndex", "const GLuint *"), + address("pConstantValue", "const GLuint *") + ) + } + file("GpuShaderInt64", ARB, "GL_ARB_gpu_shader_int64") { + "GL_INT64_ARB"("0x140E") + "GL_INT64_VEC2_ARB"("0x8FE9") + "GL_INT64_VEC3_ARB"("0x8FEA") + "GL_INT64_VEC4_ARB"("0x8FEB") + "GL_UNSIGNED_INT64_VEC2_ARB"("0x8FF5") + "GL_UNSIGNED_INT64_VEC3_ARB"("0x8FF6") + "GL_UNSIGNED_INT64_VEC4_ARB"("0x8FF7") + "glUniform1i64ARB"(void, GLint("location"), GLint64("x")) + "glUniform2i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y")) + "glUniform3i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y"), GLint64("z")) + "glUniform4i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y"), GLint64("z"), GLint64("w")) + "glUniform1i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform2i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform3i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform4i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform1ui64ARB"(void, GLint("location"), GLuint64("x")) + "glUniform2ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y")) + "glUniform3ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y"), GLuint64("z")) + "glUniform4ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y"), GLuint64("z"), GLuint64("w")) + "glUniform1ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glUniform2ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glUniform3ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glUniform4ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glGetUniformi64vARB"(void, GLuint("program"), GLint("location"), address("params", "GLint64 *")) + "glGetUniformui64vARB"(void, GLuint("program"), GLint("location"), address("params", "GLuint64 *")) + "glGetnUniformi64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("bufSize"), + address("params", "GLint64 *") + ) + "glGetnUniformui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("bufSize"), + address("params", "GLuint64 *") + ) + "glProgramUniform1i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x")) + "glProgramUniform2i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x"), GLint64("y")) + "glProgramUniform3i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x"), GLint64("y"), GLint64("z")) + "glProgramUniform4i64ARB"( + void, + GLuint("program"), + GLint("location"), + GLint64("x"), + GLint64("y"), + GLint64("z"), + GLint64("w") + ) + "glProgramUniform1i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform2i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform3i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform4i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform1ui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("x")) + "glProgramUniform2ui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("x"), GLuint64("y")) + "glProgramUniform3ui64ARB"( + void, + GLuint("program"), + GLint("location"), + GLuint64("x"), + GLuint64("y"), + GLuint64("z") + ) + "glProgramUniform4ui64ARB"( + void, + GLuint("program"), + GLint("location"), + GLuint64("x"), + GLuint64("y"), + GLuint64("z"), + GLuint64("w") + ) + "glProgramUniform1ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + "glProgramUniform2ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + "glProgramUniform3ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + "glProgramUniform4ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + } + file("HalfFloatPixel", ARB, "GL_ARB_half_float_pixel", "GL_HALF_FLOAT_ARB" to "0x140B") + file("Imaging", ARB, "GL_ARB_imaging") { + "GL_CONVOLUTION_BORDER_MODE"("0x8013") + "GL_CONVOLUTION_FILTER_SCALE"("0x8014") + "GL_CONVOLUTION_FILTER_BIAS"("0x8015") + "GL_REDUCE"("0x8016") + "GL_CONVOLUTION_FORMAT"("0x8017") + "GL_CONVOLUTION_WIDTH"("0x8018") + "GL_CONVOLUTION_HEIGHT"("0x8019") + "GL_MAX_CONVOLUTION_WIDTH"("0x801A") + "GL_MAX_CONVOLUTION_HEIGHT"("0x801B") + "GL_POST_CONVOLUTION_RED_SCALE"("0x801C") + "GL_POST_CONVOLUTION_GREEN_SCALE"("0x801D") + "GL_POST_CONVOLUTION_BLUE_SCALE"("0x801E") + "GL_POST_CONVOLUTION_ALPHA_SCALE"("0x801F") + "GL_POST_CONVOLUTION_RED_BIAS"("0x8020") + "GL_POST_CONVOLUTION_GREEN_BIAS"("0x8021") + "GL_POST_CONVOLUTION_BLUE_BIAS"("0x8022") + "GL_POST_CONVOLUTION_ALPHA_BIAS"("0x8023") + "GL_HISTOGRAM_WIDTH"("0x8026") + "GL_HISTOGRAM_FORMAT"("0x8027") + "GL_HISTOGRAM_RED_SIZE"("0x8028") + "GL_HISTOGRAM_GREEN_SIZE"("0x8029") + "GL_HISTOGRAM_BLUE_SIZE"("0x802A") + "GL_HISTOGRAM_ALPHA_SIZE"("0x802B") + "GL_HISTOGRAM_LUMINANCE_SIZE"("0x802C") + "GL_HISTOGRAM_SINK"("0x802D") + "GL_MINMAX_FORMAT"("0x802F") + "GL_MINMAX_SINK"("0x8030") + "GL_TABLE_TOO_LARGE"("0x8031") + "GL_COLOR_MATRIX"("0x80B1") + "GL_COLOR_MATRIX_STACK_DEPTH"("0x80B2") + "GL_MAX_COLOR_MATRIX_STACK_DEPTH"("0x80B3") + "GL_POST_COLOR_MATRIX_RED_SCALE"("0x80B4") + "GL_POST_COLOR_MATRIX_GREEN_SCALE"("0x80B5") + "GL_POST_COLOR_MATRIX_BLUE_SCALE"("0x80B6") + "GL_POST_COLOR_MATRIX_ALPHA_SCALE"("0x80B7") + "GL_POST_COLOR_MATRIX_RED_BIAS"("0x80B8") + "GL_POST_COLOR_MATRIX_GREEN_BIAS"("0x80B9") + "GL_POST_COLOR_MATRIX_BLUE_BIAS"("0x80BA") + "GL_POST_COLOR_MATRIX_ALPHA_BIAS"("0x80BB") + "GL_COLOR_TABLE_SCALE"("0x80D6") + "GL_COLOR_TABLE_BIAS"("0x80D7") + "GL_COLOR_TABLE_FORMAT"("0x80D8") + "GL_COLOR_TABLE_WIDTH"("0x80D9") + "GL_COLOR_TABLE_RED_SIZE"("0x80DA") + "GL_COLOR_TABLE_GREEN_SIZE"("0x80DB") + "GL_COLOR_TABLE_BLUE_SIZE"("0x80DC") + "GL_COLOR_TABLE_ALPHA_SIZE"("0x80DD") + "GL_COLOR_TABLE_LUMINANCE_SIZE"("0x80DE") + "GL_COLOR_TABLE_INTENSITY_SIZE"("0x80DF") + "GL_CONSTANT_BORDER"("0x8151") + "GL_REPLICATE_BORDER"("0x8153") + "GL_CONVOLUTION_BORDER_COLOR"("0x8154") + "glColorTable"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("table", "const void *") + ) + "glColorTableParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glColorTableParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glCopyColorTable"(void, GLenum("target"), GLenum("internalformat"), GLint("x"), GLint("y"), GLsizei("width")) + "glGetColorTable"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("table", "void *")) + "glGetColorTableParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetColorTableParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glColorSubTable"( + void, + GLenum("target"), + GLsizei("start"), + GLsizei("count"), + GLenum("format"), + GLenum("type"), + address("data", "const void *") + ) + "glCopyColorSubTable"(void, GLenum("target"), GLsizei("start"), GLint("x"), GLint("y"), GLsizei("width")) + "glConvolutionFilter1D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("image", "const void *") + ) + "glConvolutionFilter2D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("image", "const void *") + ) + "glConvolutionParameterf"(void, GLenum("target"), GLenum("pname"), GLfloat("params")) + "glConvolutionParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glConvolutionParameteri"(void, GLenum("target"), GLenum("pname"), GLint("params")) + "glConvolutionParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glCopyConvolutionFilter1D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width") + ) + "glCopyConvolutionFilter2D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glGetConvolutionFilter"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("image", "void *")) + "glGetConvolutionParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetConvolutionParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetSeparableFilter"( + void, + GLenum("target"), + GLenum("format"), + GLenum("type"), + address("row", "void *"), + address("column", "void *"), + address("span", "void *") + ) + "glSeparableFilter2D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("row", "const void *"), + address("column", "const void *") + ) + "glGetHistogram"( + void, + GLenum("target"), + GLboolean("reset"), + GLenum("format"), + GLenum("type"), + address("values", "void *") + ) + "glGetHistogramParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetHistogramParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetMinmax"( + void, + GLenum("target"), + GLboolean("reset"), + GLenum("format"), + GLenum("type"), + address("values", "void *") + ) + "glGetMinmaxParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetMinmaxParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glHistogram"(void, GLenum("target"), GLsizei("width"), GLenum("internalformat"), GLboolean("sink")) + "glMinmax"(void, GLenum("target"), GLenum("internalformat"), GLboolean("sink")) + "glResetHistogram"(void, GLenum("target")) + "glResetMinmax"(void, GLenum("target")) + } + file("IndirectParameters", ARB, "GL_ARB_indirect_parameters") { + "GL_PARAMETER_BUFFER_ARB"("0x80EE") + "GL_PARAMETER_BUFFER_BINDING_ARB"("0x80EF") + "glMultiDrawArraysIndirectCountARB"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLintptr("drawcount"), + GLsizei("maxdrawcount"), + GLsizei("stride") + ) + "glMultiDrawElementsIndirectCountARB"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLintptr("drawcount"), + GLsizei("maxdrawcount"), + GLsizei("stride") + ) + } + file("InstancedArrays", ARB, "GL_ARB_instanced_arrays") { + "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"("0x88FE") + "glVertexAttribDivisorARB"(void, GLuint("index"), GLuint("divisor")) + } + file( + "InternalformatQuery2", ARB, "GL_ARB_internalformat_query2", + "GL_SRGB_DECODE_ARB" to "0x8299", + "GL_VIEW_CLASS_EAC_R11" to "0x9383", + "GL_VIEW_CLASS_EAC_RG11" to "0x9384", + "GL_VIEW_CLASS_ETC2_RGB" to "0x9385", + "GL_VIEW_CLASS_ETC2_RGBA" to "0x9386", + "GL_VIEW_CLASS_ETC2_EAC_RGBA" to "0x9387", + "GL_VIEW_CLASS_ASTC_4x4_RGBA" to "0x9388", + "GL_VIEW_CLASS_ASTC_5x4_RGBA" to "0x9389", + "GL_VIEW_CLASS_ASTC_5x5_RGBA" to "0x938A", + "GL_VIEW_CLASS_ASTC_6x5_RGBA" to "0x938B", + "GL_VIEW_CLASS_ASTC_6x6_RGBA" to "0x938C", + "GL_VIEW_CLASS_ASTC_8x5_RGBA" to "0x938D", + "GL_VIEW_CLASS_ASTC_8x6_RGBA" to "0x938E", + "GL_VIEW_CLASS_ASTC_8x8_RGBA" to "0x938F", + "GL_VIEW_CLASS_ASTC_10x5_RGBA" to "0x9390", + "GL_VIEW_CLASS_ASTC_10x6_RGBA" to "0x9391", + "GL_VIEW_CLASS_ASTC_10x8_RGBA" to "0x9392", + "GL_VIEW_CLASS_ASTC_10x10_RGBA" to "0x9393", + "GL_VIEW_CLASS_ASTC_12x10_RGBA" to "0x9394", + "GL_VIEW_CLASS_ASTC_12x12_RGBA" to "0x9395" + ) + file("MatrixPalette", ARB, "GL_ARB_matrix_palette") { + "GL_MATRIX_PALETTE_ARB"("0x8840") + "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"("0x8841") + "GL_MAX_PALETTE_MATRICES_ARB"("0x8842") + "GL_CURRENT_PALETTE_MATRIX_ARB"("0x8843") + "GL_MATRIX_INDEX_ARRAY_ARB"("0x8844") + "GL_CURRENT_MATRIX_INDEX_ARB"("0x8845") + "GL_MATRIX_INDEX_ARRAY_SIZE_ARB"("0x8846") + "GL_MATRIX_INDEX_ARRAY_TYPE_ARB"("0x8847") + "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"("0x8848") + "GL_MATRIX_INDEX_ARRAY_POINTER_ARB"("0x8849") + "glCurrentPaletteMatrixARB"(void, GLint("index")) + "glMatrixIndexubvARB"(void, GLint("size"), address("indices", "const GLubyte *")) + "glMatrixIndexusvARB"(void, GLint("size"), address("indices", "const GLushort *")) + "glMatrixIndexuivARB"(void, GLint("size"), address("indices", "const GLuint *")) + "glMatrixIndexPointerARB"( + void, + GLint("size"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + } + file("Multisample", ARB, "GL_ARB_multisample") { + "GL_MULTISAMPLE_ARB"("0x809D") + "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB"("0x809E") + "GL_SAMPLE_ALPHA_TO_ONE_ARB"("0x809F") + "GL_SAMPLE_COVERAGE_ARB"("0x80A0") + "GL_SAMPLE_BUFFERS_ARB"("0x80A8") + "GL_SAMPLES_ARB"("0x80A9") + "GL_SAMPLE_COVERAGE_VALUE_ARB"("0x80AA") + "GL_SAMPLE_COVERAGE_INVERT_ARB"("0x80AB") + "GL_MULTISAMPLE_BIT_ARB"("0x20000000") + "glSampleCoverageARB"(void, GLfloat("value"), GLboolean("invert")) + } + file("Multitexture", ARB, "GL_ARB_multitexture") { + "GL_TEXTURE0_ARB"("0x84C0") + "GL_TEXTURE1_ARB"("0x84C1") + "GL_TEXTURE2_ARB"("0x84C2") + "GL_TEXTURE3_ARB"("0x84C3") + "GL_TEXTURE4_ARB"("0x84C4") + "GL_TEXTURE5_ARB"("0x84C5") + "GL_TEXTURE6_ARB"("0x84C6") + "GL_TEXTURE7_ARB"("0x84C7") + "GL_TEXTURE8_ARB"("0x84C8") + "GL_TEXTURE9_ARB"("0x84C9") + "GL_TEXTURE10_ARB"("0x84CA") + "GL_TEXTURE11_ARB"("0x84CB") + "GL_TEXTURE12_ARB"("0x84CC") + "GL_TEXTURE13_ARB"("0x84CD") + "GL_TEXTURE14_ARB"("0x84CE") + "GL_TEXTURE15_ARB"("0x84CF") + "GL_TEXTURE16_ARB"("0x84D0") + "GL_TEXTURE17_ARB"("0x84D1") + "GL_TEXTURE18_ARB"("0x84D2") + "GL_TEXTURE19_ARB"("0x84D3") + "GL_TEXTURE20_ARB"("0x84D4") + "GL_TEXTURE21_ARB"("0x84D5") + "GL_TEXTURE22_ARB"("0x84D6") + "GL_TEXTURE23_ARB"("0x84D7") + "GL_TEXTURE24_ARB"("0x84D8") + "GL_TEXTURE25_ARB"("0x84D9") + "GL_TEXTURE26_ARB"("0x84DA") + "GL_TEXTURE27_ARB"("0x84DB") + "GL_TEXTURE28_ARB"("0x84DC") + "GL_TEXTURE29_ARB"("0x84DD") + "GL_TEXTURE30_ARB"("0x84DE") + "GL_TEXTURE31_ARB"("0x84DF") + "GL_ACTIVE_TEXTURE_ARB"("0x84E0") + "GL_CLIENT_ACTIVE_TEXTURE_ARB"("0x84E1") + "GL_MAX_TEXTURE_UNITS_ARB"("0x84E2") + "glActiveTextureARB"(void, GLenum("texture")) + "glClientActiveTextureARB"(void, GLenum("texture")) + "glMultiTexCoord1dARB"(void, GLenum("target"), GLdouble("s")) + "glMultiTexCoord1dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord1fARB"(void, GLenum("target"), GLfloat("s")) + "glMultiTexCoord1fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord1iARB"(void, GLenum("target"), GLint("s")) + "glMultiTexCoord1ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord1sARB"(void, GLenum("target"), GLshort("s")) + "glMultiTexCoord1svARB"(void, GLenum("target"), address("v", "const GLshort *")) + "glMultiTexCoord2dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t")) + "glMultiTexCoord2dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord2fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t")) + "glMultiTexCoord2fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord2iARB"(void, GLenum("target"), GLint("s"), GLint("t")) + "glMultiTexCoord2ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord2sARB"(void, GLenum("target"), GLshort("s"), GLshort("t")) + "glMultiTexCoord2svARB"(void, GLenum("target"), address("v", "const GLshort *")) + "glMultiTexCoord3dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t"), GLdouble("r")) + "glMultiTexCoord3dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord3fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t"), GLfloat("r")) + "glMultiTexCoord3fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord3iARB"(void, GLenum("target"), GLint("s"), GLint("t"), GLint("r")) + "glMultiTexCoord3ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord3sARB"(void, GLenum("target"), GLshort("s"), GLshort("t"), GLshort("r")) + "glMultiTexCoord3svARB"(void, GLenum("target"), address("v", "const GLshort *")) + "glMultiTexCoord4dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t"), GLdouble("r"), GLdouble("q")) + "glMultiTexCoord4dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord4fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t"), GLfloat("r"), GLfloat("q")) + "glMultiTexCoord4fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord4iARB"(void, GLenum("target"), GLint("s"), GLint("t"), GLint("r"), GLint("q")) + "glMultiTexCoord4ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord4sARB"(void, GLenum("target"), GLshort("s"), GLshort("t"), GLshort("r"), GLshort("q")) + "glMultiTexCoord4svARB"(void, GLenum("target"), address("v", "const GLshort *")) + } + file("OcclusionQuery", ARB, "GL_ARB_occlusion_query") { + "GL_QUERY_COUNTER_BITS_ARB"("0x8864") + "GL_CURRENT_QUERY_ARB"("0x8865") + "GL_QUERY_RESULT_ARB"("0x8866") + "GL_QUERY_RESULT_AVAILABLE_ARB"("0x8867") + "GL_SAMPLES_PASSED_ARB"("0x8914") + "glGenQueriesARB"(void, GLsizei("n"), address("ids", "GLuint *")) + "glDeleteQueriesARB"(void, GLsizei("n"), address("ids", "const GLuint *")) + "glIsQueryARB"(GLboolean, GLuint("id")) + "glBeginQueryARB"(void, GLenum("target"), GLuint("id")) + "glEndQueryARB"(void, GLenum("target")) + "glGetQueryivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetQueryObjectivARB"(void, GLuint("id"), GLenum("pname"), address("params", "GLint *")) + "glGetQueryObjectuivARB"(void, GLuint("id"), GLenum("pname"), address("params", "GLuint *")) + } + file("ParallelShaderCompile", ARB, "GL_ARB_parallel_shader_compile") { + "GL_MAX_SHADER_COMPILER_THREADS_ARB"("0x91B0") + "GL_COMPLETION_STATUS_ARB"("0x91B1") + "glMaxShaderCompilerThreadsARB"(void, GLuint("count")) + } + file( + "PipelineStatisticsQuery", ARB, "GL_ARB_pipeline_statistics_query", + "GL_VERTICES_SUBMITTED_ARB" to "0x82EE", + "GL_PRIMITIVES_SUBMITTED_ARB" to "0x82EF", + "GL_VERTEX_SHADER_INVOCATIONS_ARB" to "0x82F0", + "GL_TESS_CONTROL_SHADER_PATCHES_ARB" to "0x82F1", + "GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB" to "0x82F2", + "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB" to "0x82F3", + "GL_FRAGMENT_SHADER_INVOCATIONS_ARB" to "0x82F4", + "GL_COMPUTE_SHADER_INVOCATIONS_ARB" to "0x82F5", + "GL_CLIPPING_INPUT_PRIMITIVES_ARB" to "0x82F6", + "GL_CLIPPING_OUTPUT_PRIMITIVES_ARB" to "0x82F7" + ) + file( + "PixelBufferObject", ARB, "GL_ARB_pixel_buffer_object", + "GL_PIXEL_PACK_BUFFER_ARB" to "0x88EB", + "GL_PIXEL_UNPACK_BUFFER_ARB" to "0x88EC", + "GL_PIXEL_PACK_BUFFER_BINDING_ARB" to "0x88ED", + "GL_PIXEL_UNPACK_BUFFER_BINDING_ARB" to "0x88EF" + ) + file("PointParameters", ARB, "GL_ARB_point_parameters") { + "GL_POINT_SIZE_MIN_ARB"("0x8126") + "GL_POINT_SIZE_MAX_ARB"("0x8127") + "GL_POINT_FADE_THRESHOLD_SIZE_ARB"("0x8128") + "GL_POINT_DISTANCE_ATTENUATION_ARB"("0x8129") + "glPointParameterfARB"(void, GLenum("pname"), GLfloat("param")) + "glPointParameterfvARB"(void, GLenum("pname"), address("params", "const GLfloat *")) + } + file( + "PointSprite", ARB, "GL_ARB_point_sprite", + "GL_POINT_SPRITE_ARB" to "0x8861", + "GL_COORD_REPLACE_ARB" to "0x8862" + ) file("Robustness", ARB, "GL_ARB_robustness") { "GL_NO_RESET_NOTIFICATION_ARB"("0x8261") "GL_RESET_NOTIFICATION_STRATEGY_ARB"("0x8256") @@ -1319,7 +2216,7 @@ fun amd() { "GL_FACTOR_MIN_AMD" to "0x901C", "GL_FACTOR_MAX_AMD" to "0x901D" ) - file("DebugOutput",AMD,"GL_AMD_debug_output") { + file("DebugOutput", AMD, "GL_AMD_debug_output") { "GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"("0x9143") "GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"("0x9144") "GL_DEBUG_LOGGED_MESSAGES_AMD"("0x9145") diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 3a66e746..005f422c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -62,52 +62,85 @@ public GLExtCaps(GLCapabilities caps) { /** Method handles. */ public MethodHandle - glGetGraphicsResetStatusARB, glGetnCompressedTexImageARB, glGetnTexImageARB, glGetnUniformdvARB, glGetnUniformfvARB, glGetnUniformivARB, glGetnUniformuivARB, glReadnPixelsARB, glEvaluateDepthValuesARB, glFramebufferSampleLocationsfvARB, glNamedFramebufferSampleLocationsfvARB, glMinSampleShadingARB, glDeleteObjectARB, glGetHandleARB, glDetachObjectARB, glCreateShaderObjectARB, - glShaderSourceARB, glCompileShaderARB, glCreateProgramObjectARB, glAttachObjectARB, glLinkProgramARB, glUseProgramObjectARB, glValidateProgramARB, glUniform1fARB, glUniform2fARB, glUniform3fARB, glUniform4fARB, glUniform1iARB, glUniform2iARB, glUniform3iARB, glUniform4iARB, glUniform1fvARB, - glUniform2fvARB, glUniform3fvARB, glUniform4fvARB, glUniform1ivARB, glUniform2ivARB, glUniform3ivARB, glUniform4ivARB, glUniformMatrix2fvARB, glUniformMatrix3fvARB, glUniformMatrix4fvARB, glGetObjectParameterfvARB, glGetObjectParameterivARB, glGetInfoLogARB, glGetAttachedObjectsARB, glGetUniformLocationARB, glGetActiveUniformARB, - glGetUniformfvARB, glGetUniformivARB, glGetShaderSourceARB, glNamedStringARB, glDeleteNamedStringARB, glCompileShaderIncludeARB, glIsNamedStringARB, glGetNamedStringARB, glGetNamedStringivARB, glBufferPageCommitmentARB, glNamedBufferPageCommitmentEXT, glNamedBufferPageCommitmentARB, glTexPageCommitmentARB, glTexBufferARB, glCompressedTexImage3DARB, glCompressedTexImage2DARB, - glCompressedTexImage1DARB, glCompressedTexSubImage3DARB, glCompressedTexSubImage2DARB, glCompressedTexSubImage1DARB, glGetCompressedTexImageARB, glLoadTransposeMatrixfARB, glLoadTransposeMatrixdARB, glMultTransposeMatrixfARB, glMultTransposeMatrixdARB, glWeightbvARB, glWeightsvARB, glWeightivARB, glWeightfvARB, glWeightdvARB, glWeightubvARB, glWeightusvARB, - glWeightuivARB, glWeightPointerARB, glVertexBlendARB, glBindBufferARB, glDeleteBuffersARB, glGenBuffersARB, glIsBufferARB, glBufferDataARB, glBufferSubDataARB, glGetBufferSubDataARB, glMapBufferARB, glUnmapBufferARB, glGetBufferParameterivARB, glGetBufferPointervARB, glVertexAttrib1dARB, glVertexAttrib1dvARB, - glVertexAttrib1fARB, glVertexAttrib1fvARB, glVertexAttrib1sARB, glVertexAttrib1svARB, glVertexAttrib2dARB, glVertexAttrib2dvARB, glVertexAttrib2fARB, glVertexAttrib2fvARB, glVertexAttrib2sARB, glVertexAttrib2svARB, glVertexAttrib3dARB, glVertexAttrib3dvARB, glVertexAttrib3fARB, glVertexAttrib3fvARB, glVertexAttrib3sARB, glVertexAttrib3svARB, - glVertexAttrib4NbvARB, glVertexAttrib4NivARB, glVertexAttrib4NsvARB, glVertexAttrib4NubARB, glVertexAttrib4NubvARB, glVertexAttrib4NuivARB, glVertexAttrib4NusvARB, glVertexAttrib4bvARB, glVertexAttrib4dARB, glVertexAttrib4dvARB, glVertexAttrib4fARB, glVertexAttrib4fvARB, glVertexAttrib4ivARB, glVertexAttrib4sARB, glVertexAttrib4svARB, glVertexAttrib4ubvARB, - glVertexAttrib4uivARB, glVertexAttrib4usvARB, glVertexAttribPointerARB, glEnableVertexAttribArrayARB, glDisableVertexAttribArrayARB, glGetVertexAttribdvARB, glGetVertexAttribfvARB, glGetVertexAttribivARB, glGetVertexAttribPointervARB, glBindAttribLocationARB, glGetActiveAttribARB, glGetAttribLocationARB, glDepthRangeArraydvNV, glDepthRangeIndexeddNV, glWindowPos2dARB, glWindowPos2dvARB, - glWindowPos2fARB, glWindowPos2fvARB, glWindowPos2iARB, glWindowPos2ivARB, glWindowPos2sARB, glWindowPos2svARB, glWindowPos3dARB, glWindowPos3dvARB, glWindowPos3fARB, glWindowPos3fvARB, glWindowPos3iARB, glWindowPos3ivARB, glWindowPos3sARB, glWindowPos3svARB, glBlendBarrierKHR, glMaxShaderCompilerThreadsKHR, - glMultiTexCoord1bOES, glMultiTexCoord1bvOES, glMultiTexCoord2bOES, glMultiTexCoord2bvOES, glMultiTexCoord3bOES, glMultiTexCoord3bvOES, glMultiTexCoord4bOES, glMultiTexCoord4bvOES, glTexCoord1bOES, glTexCoord1bvOES, glTexCoord2bOES, glTexCoord2bvOES, glTexCoord3bOES, glTexCoord3bvOES, glTexCoord4bOES, glTexCoord4bvOES, - glVertex2bOES, glVertex2bvOES, glVertex3bOES, glVertex3bvOES, glVertex4bOES, glVertex4bvOES, glAlphaFuncxOES, glClearColorxOES, glClearDepthxOES, glClipPlanexOES, glColor4xOES, glDepthRangexOES, glFogxOES, glFogxvOES, glFrustumxOES, glGetClipPlanexOES, - glGetFixedvOES, glGetTexEnvxvOES, glGetTexParameterxvOES, glLightModelxOES, glLightModelxvOES, glLightxOES, glLightxvOES, glLineWidthxOES, glLoadMatrixxOES, glMaterialxOES, glMaterialxvOES, glMultMatrixxOES, glMultiTexCoord4xOES, glNormal3xOES, glOrthoxOES, glPointParameterxvOES, - glPointSizexOES, glPolygonOffsetxOES, glRotatexOES, glScalexOES, glTexEnvxOES, glTexEnvxvOES, glTexParameterxOES, glTexParameterxvOES, glTranslatexOES, glAccumxOES, glBitmapxOES, glBlendColorxOES, glClearAccumxOES, glColor3xOES, glColor3xvOES, glColor4xvOES, - glConvolutionParameterxOES, glConvolutionParameterxvOES, glEvalCoord1xOES, glEvalCoord1xvOES, glEvalCoord2xOES, glEvalCoord2xvOES, glFeedbackBufferxOES, glGetConvolutionParameterxvOES, glGetHistogramParameterxvOES, glGetLightxOES, glGetMapxvOES, glGetMaterialxOES, glGetPixelMapxv, glGetTexGenxvOES, glGetTexLevelParameterxvOES, glIndexxOES, - glIndexxvOES, glLoadTransposeMatrixxOES, glMap1xOES, glMap2xOES, glMapGrid1xOES, glMapGrid2xOES, glMultTransposeMatrixxOES, glMultiTexCoord1xOES, glMultiTexCoord1xvOES, glMultiTexCoord2xOES, glMultiTexCoord2xvOES, glMultiTexCoord3xOES, glMultiTexCoord3xvOES, glMultiTexCoord4xvOES, glNormal3xvOES, glPassThroughxOES, - glPixelMapx, glPixelStorex, glPixelTransferxOES, glPixelZoomxOES, glPrioritizeTexturesxOES, glRasterPos2xOES, glRasterPos2xvOES, glRasterPos3xOES, glRasterPos3xvOES, glRasterPos4xOES, glRasterPos4xvOES, glRectxOES, glRectxvOES, glTexCoord1xOES, glTexCoord1xvOES, glTexCoord2xOES, - glTexCoord2xvOES, glTexCoord3xOES, glTexCoord3xvOES, glTexCoord4xOES, glTexCoord4xvOES, glTexGenxOES, glTexGenxvOES, glVertex2xOES, glVertex2xvOES, glVertex3xOES, glVertex3xvOES, glVertex4xOES, glVertex4xvOES, glQueryMatrixxOES, glClearDepthfOES, glClipPlanefOES, - glDepthRangefOES, glFrustumfOES, glGetClipPlanefOES, glOrthofOES, glTbufferMask3DFX, glDebugMessageEnableAMD, glDebugMessageInsertAMD, glDebugMessageCallbackAMD, glGetDebugMessageLogAMD, glBlendFuncIndexedAMD, glBlendFuncSeparateIndexedAMD, glBlendEquationIndexedAMD, glBlendEquationSeparateIndexedAMD, glRenderbufferStorageMultisampleAdvancedAMD, glNamedRenderbufferStorageMultisampleAdvancedAMD, glFramebufferSamplePositionsfvAMD, - glNamedFramebufferSamplePositionsfvAMD, glGetFramebufferParameterfvAMD, glGetNamedFramebufferParameterfvAMD, glUniform1i64NV, glUniform2i64NV, glUniform3i64NV, glUniform4i64NV, glUniform1i64vNV, glUniform2i64vNV, glUniform3i64vNV, glUniform4i64vNV, glUniform1ui64NV, glUniform2ui64NV, glUniform3ui64NV, glUniform4ui64NV, glUniform1ui64vNV, - glUniform2ui64vNV, glUniform3ui64vNV, glUniform4ui64vNV, glGetUniformi64vNV, glGetUniformui64vNV, glProgramUniform1i64NV, glProgramUniform2i64NV, glProgramUniform3i64NV, glProgramUniform4i64NV, glProgramUniform1i64vNV, glProgramUniform2i64vNV, glProgramUniform3i64vNV, glProgramUniform4i64vNV, glProgramUniform1ui64NV, glProgramUniform2ui64NV, glProgramUniform3ui64NV, - glProgramUniform4ui64NV, glProgramUniform1ui64vNV, glProgramUniform2ui64vNV, glProgramUniform3ui64vNV, glProgramUniform4ui64vNV, glVertexAttribParameteriAMD, glMultiDrawArraysIndirectAMD, glMultiDrawElementsIndirectAMD, glGenNamesAMD, glDeleteNamesAMD, glIsNameAMD, glQueryObjectParameteruiAMD, glGetPerfMonitorGroupsAMD, glGetPerfMonitorCountersAMD, glGetPerfMonitorGroupStringAMD, glGetPerfMonitorCounterStringAMD, - glGetPerfMonitorCounterInfoAMD, glGenPerfMonitorsAMD, glDeletePerfMonitorsAMD, glSelectPerfMonitorCountersAMD, glBeginPerfMonitorAMD, glEndPerfMonitorAMD, glGetPerfMonitorCounterDataAMD, glSetMultisamplefvAMD, glTexStorageSparseAMD, glTextureStorageSparseAMD, glStencilOpValueAMD, glTessellationFactorAMD, glTessellationModeAMD, glElementPointerAPPLE, glDrawElementArrayAPPLE, glDrawRangeElementArrayAPPLE, - glMultiDrawElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE, glGenFencesAPPLE, glDeleteFencesAPPLE, glSetFenceAPPLE, glIsFenceAPPLE, glTestFenceAPPLE, glFinishFenceAPPLE, glTestObjectAPPLE, glFinishObjectAPPLE, glBufferParameteriAPPLE, glFlushMappedBufferRangeAPPLE, glObjectPurgeableAPPLE, glObjectUnpurgeableAPPLE, glGetObjectParameterivAPPLE, glTextureRangeAPPLE, - glGetTexParameterPointervAPPLE, glBindVertexArrayAPPLE, glDeleteVertexArraysAPPLE, glGenVertexArraysAPPLE, glIsVertexArrayAPPLE, glVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE, glVertexArrayParameteriAPPLE, glEnableVertexAttribAPPLE, glDisableVertexAttribAPPLE, glIsVertexAttribEnabledAPPLE, glMapVertexAttrib1dAPPLE, glMapVertexAttrib1fAPPLE, glMapVertexAttrib2dAPPLE, glMapVertexAttrib2fAPPLE, glDrawBuffersATI, - glElementPointerATI, glDrawElementArrayATI, glDrawRangeElementArrayATI, glTexBumpParameterivATI, glTexBumpParameterfvATI, glGetTexBumpParameterivATI, glGetTexBumpParameterfvATI, glGenFragmentShadersATI, glBindFragmentShaderATI, glDeleteFragmentShaderATI, glBeginFragmentShaderATI, glEndFragmentShaderATI, glPassTexCoordATI, glSampleMapATI, glColorFragmentOp1ATI, glColorFragmentOp2ATI, - glColorFragmentOp3ATI, glAlphaFragmentOp1ATI, glAlphaFragmentOp2ATI, glAlphaFragmentOp3ATI, glSetFragmentShaderConstantATI, glMapObjectBufferATI, glUnmapObjectBufferATI, glPNTrianglesiATI, glPNTrianglesfATI, glStencilOpSeparateATI, glStencilFuncSeparateATI, glNewObjectBufferATI, glIsObjectBufferATI, glUpdateObjectBufferATI, glGetObjectBufferfvATI, glGetObjectBufferivATI, - glFreeObjectBufferATI, glArrayObjectATI, glGetArrayObjectfvATI, glGetArrayObjectivATI, glVariantArrayObjectATI, glGetVariantArrayObjectfvATI, glGetVariantArrayObjectivATI, glVertexAttribArrayObjectATI, glGetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectivATI, glVertexStream1sATI, glVertexStream1svATI, glVertexStream1iATI, glVertexStream1ivATI, glVertexStream1fATI, glVertexStream1fvATI, - glVertexStream1dATI, glVertexStream1dvATI, glVertexStream2sATI, glVertexStream2svATI, glVertexStream2iATI, glVertexStream2ivATI, glVertexStream2fATI, glVertexStream2fvATI, glVertexStream2dATI, glVertexStream2dvATI, glVertexStream3sATI, glVertexStream3svATI, glVertexStream3iATI, glVertexStream3ivATI, glVertexStream3fATI, glVertexStream3fvATI, - glVertexStream3dATI, glVertexStream3dvATI, glVertexStream4sATI, glVertexStream4svATI, glVertexStream4iATI, glVertexStream4ivATI, glVertexStream4fATI, glVertexStream4fvATI, glVertexStream4dATI, glVertexStream4dvATI, glNormalStream3bATI, glNormalStream3bvATI, glNormalStream3sATI, glNormalStream3svATI, glNormalStream3iATI, glNormalStream3ivATI, - glNormalStream3fATI, glNormalStream3fvATI, glNormalStream3dATI, glNormalStream3dvATI, glClientActiveVertexStreamATI, glVertexBlendEnviATI, glVertexBlendEnvfATI, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, - glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, - glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, - glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, - glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, - glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, - glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, - glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, - glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, - glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, - glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, - glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, - glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, - glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glPrimitiveBoundingBoxARB, glGetTextureHandleARB, glGetTextureSamplerHandleARB, glMakeTextureHandleResidentARB, glMakeTextureHandleNonResidentARB, glGetImageHandleARB, glMakeImageHandleResidentARB, glMakeImageHandleNonResidentARB, glUniformHandleui64ARB, glUniformHandleui64vARB, glProgramUniformHandleui64ARB, glProgramUniformHandleui64vARB, glIsTextureHandleResidentARB, glIsImageHandleResidentARB, glVertexAttribL1ui64ARB, glVertexAttribL1ui64vARB, + glGetVertexAttribLui64vARB, glCreateSyncFromCLeventARB, glClampColorARB, glDispatchComputeGroupSizeARB, glDebugMessageControlARB, glDebugMessageInsertARB, glDebugMessageCallbackARB, glGetDebugMessageLogARB, glDrawBuffersARB, glBlendEquationiARB, glBlendEquationSeparateiARB, glBlendFunciARB, glBlendFuncSeparateiARB, glDrawArraysInstancedARB, glDrawElementsInstancedARB, glProgramStringARB, + glBindProgramARB, glDeleteProgramsARB, glGenProgramsARB, glProgramEnvParameter4dARB, glProgramEnvParameter4dvARB, glProgramEnvParameter4fARB, glProgramEnvParameter4fvARB, glProgramLocalParameter4dARB, glProgramLocalParameter4dvARB, glProgramLocalParameter4fARB, glProgramLocalParameter4fvARB, glGetProgramEnvParameterdvARB, glGetProgramEnvParameterfvARB, glGetProgramLocalParameterdvARB, glGetProgramLocalParameterfvARB, glGetProgramivARB, + glGetProgramStringARB, glIsProgramARB, glProgramParameteriARB, glFramebufferTextureARB, glFramebufferTextureLayerARB, glFramebufferTextureFaceARB, glSpecializeShaderARB, glUniform1i64ARB, glUniform2i64ARB, glUniform3i64ARB, glUniform4i64ARB, glUniform1i64vARB, glUniform2i64vARB, glUniform3i64vARB, glUniform4i64vARB, glUniform1ui64ARB, + glUniform2ui64ARB, glUniform3ui64ARB, glUniform4ui64ARB, glUniform1ui64vARB, glUniform2ui64vARB, glUniform3ui64vARB, glUniform4ui64vARB, glGetUniformi64vARB, glGetUniformui64vARB, glGetnUniformi64vARB, glGetnUniformui64vARB, glProgramUniform1i64ARB, glProgramUniform2i64ARB, glProgramUniform3i64ARB, glProgramUniform4i64ARB, glProgramUniform1i64vARB, + glProgramUniform2i64vARB, glProgramUniform3i64vARB, glProgramUniform4i64vARB, glProgramUniform1ui64ARB, glProgramUniform2ui64ARB, glProgramUniform3ui64ARB, glProgramUniform4ui64ARB, glProgramUniform1ui64vARB, glProgramUniform2ui64vARB, glProgramUniform3ui64vARB, glProgramUniform4ui64vARB, glColorTable, glColorTableParameterfv, glColorTableParameteriv, glCopyColorTable, glGetColorTable, + glGetColorTableParameterfv, glGetColorTableParameteriv, glColorSubTable, glCopyColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glConvolutionParameterf, glConvolutionParameterfv, glConvolutionParameteri, glConvolutionParameteriv, glCopyConvolutionFilter1D, glCopyConvolutionFilter2D, glGetConvolutionFilter, glGetConvolutionParameterfv, glGetConvolutionParameteriv, glGetSeparableFilter, + glSeparableFilter2D, glGetHistogram, glGetHistogramParameterfv, glGetHistogramParameteriv, glGetMinmax, glGetMinmaxParameterfv, glGetMinmaxParameteriv, glHistogram, glMinmax, glResetHistogram, glResetMinmax, glMultiDrawArraysIndirectCountARB, glMultiDrawElementsIndirectCountARB, glVertexAttribDivisorARB, glCurrentPaletteMatrixARB, glMatrixIndexubvARB, + glMatrixIndexusvARB, glMatrixIndexuivARB, glMatrixIndexPointerARB, glSampleCoverageARB, glActiveTextureARB, glClientActiveTextureARB, glMultiTexCoord1dARB, glMultiTexCoord1dvARB, glMultiTexCoord1fARB, glMultiTexCoord1fvARB, glMultiTexCoord1iARB, glMultiTexCoord1ivARB, glMultiTexCoord1sARB, glMultiTexCoord1svARB, glMultiTexCoord2dARB, glMultiTexCoord2dvARB, + glMultiTexCoord2fARB, glMultiTexCoord2fvARB, glMultiTexCoord2iARB, glMultiTexCoord2ivARB, glMultiTexCoord2sARB, glMultiTexCoord2svARB, glMultiTexCoord3dARB, glMultiTexCoord3dvARB, glMultiTexCoord3fARB, glMultiTexCoord3fvARB, glMultiTexCoord3iARB, glMultiTexCoord3ivARB, glMultiTexCoord3sARB, glMultiTexCoord3svARB, glMultiTexCoord4dARB, glMultiTexCoord4dvARB, + glMultiTexCoord4fARB, glMultiTexCoord4fvARB, glMultiTexCoord4iARB, glMultiTexCoord4ivARB, glMultiTexCoord4sARB, glMultiTexCoord4svARB, glGenQueriesARB, glDeleteQueriesARB, glIsQueryARB, glBeginQueryARB, glEndQueryARB, glGetQueryivARB, glGetQueryObjectivARB, glGetQueryObjectuivARB, glMaxShaderCompilerThreadsARB, glPointParameterfARB, + glPointParameterfvARB, glGetGraphicsResetStatusARB, glGetnCompressedTexImageARB, glGetnTexImageARB, glGetnUniformdvARB, glGetnUniformfvARB, glGetnUniformivARB, glGetnUniformuivARB, glReadnPixelsARB, glEvaluateDepthValuesARB, glFramebufferSampleLocationsfvARB, glNamedFramebufferSampleLocationsfvARB, glMinSampleShadingARB, glDeleteObjectARB, glGetHandleARB, glDetachObjectARB, + glCreateShaderObjectARB, glShaderSourceARB, glCompileShaderARB, glCreateProgramObjectARB, glAttachObjectARB, glLinkProgramARB, glUseProgramObjectARB, glValidateProgramARB, glUniform1fARB, glUniform2fARB, glUniform3fARB, glUniform4fARB, glUniform1iARB, glUniform2iARB, glUniform3iARB, glUniform4iARB, + glUniform1fvARB, glUniform2fvARB, glUniform3fvARB, glUniform4fvARB, glUniform1ivARB, glUniform2ivARB, glUniform3ivARB, glUniform4ivARB, glUniformMatrix2fvARB, glUniformMatrix3fvARB, glUniformMatrix4fvARB, glGetObjectParameterfvARB, glGetObjectParameterivARB, glGetInfoLogARB, glGetAttachedObjectsARB, glGetUniformLocationARB, + glGetActiveUniformARB, glGetUniformfvARB, glGetUniformivARB, glGetShaderSourceARB, glNamedStringARB, glDeleteNamedStringARB, glCompileShaderIncludeARB, glIsNamedStringARB, glGetNamedStringARB, glGetNamedStringivARB, glBufferPageCommitmentARB, glNamedBufferPageCommitmentEXT, glNamedBufferPageCommitmentARB, glTexPageCommitmentARB, glTexBufferARB, glCompressedTexImage3DARB, + glCompressedTexImage2DARB, glCompressedTexImage1DARB, glCompressedTexSubImage3DARB, glCompressedTexSubImage2DARB, glCompressedTexSubImage1DARB, glGetCompressedTexImageARB, glLoadTransposeMatrixfARB, glLoadTransposeMatrixdARB, glMultTransposeMatrixfARB, glMultTransposeMatrixdARB, glWeightbvARB, glWeightsvARB, glWeightivARB, glWeightfvARB, glWeightdvARB, glWeightubvARB, + glWeightusvARB, glWeightuivARB, glWeightPointerARB, glVertexBlendARB, glBindBufferARB, glDeleteBuffersARB, glGenBuffersARB, glIsBufferARB, glBufferDataARB, glBufferSubDataARB, glGetBufferSubDataARB, glMapBufferARB, glUnmapBufferARB, glGetBufferParameterivARB, glGetBufferPointervARB, glVertexAttrib1dARB, + glVertexAttrib1dvARB, glVertexAttrib1fARB, glVertexAttrib1fvARB, glVertexAttrib1sARB, glVertexAttrib1svARB, glVertexAttrib2dARB, glVertexAttrib2dvARB, glVertexAttrib2fARB, glVertexAttrib2fvARB, glVertexAttrib2sARB, glVertexAttrib2svARB, glVertexAttrib3dARB, glVertexAttrib3dvARB, glVertexAttrib3fARB, glVertexAttrib3fvARB, glVertexAttrib3sARB, + glVertexAttrib3svARB, glVertexAttrib4NbvARB, glVertexAttrib4NivARB, glVertexAttrib4NsvARB, glVertexAttrib4NubARB, glVertexAttrib4NubvARB, glVertexAttrib4NuivARB, glVertexAttrib4NusvARB, glVertexAttrib4bvARB, glVertexAttrib4dARB, glVertexAttrib4dvARB, glVertexAttrib4fARB, glVertexAttrib4fvARB, glVertexAttrib4ivARB, glVertexAttrib4sARB, glVertexAttrib4svARB, + glVertexAttrib4ubvARB, glVertexAttrib4uivARB, glVertexAttrib4usvARB, glVertexAttribPointerARB, glEnableVertexAttribArrayARB, glDisableVertexAttribArrayARB, glGetVertexAttribdvARB, glGetVertexAttribfvARB, glGetVertexAttribivARB, glGetVertexAttribPointervARB, glBindAttribLocationARB, glGetActiveAttribARB, glGetAttribLocationARB, glDepthRangeArraydvNV, glDepthRangeIndexeddNV, glWindowPos2dARB, + glWindowPos2dvARB, glWindowPos2fARB, glWindowPos2fvARB, glWindowPos2iARB, glWindowPos2ivARB, glWindowPos2sARB, glWindowPos2svARB, glWindowPos3dARB, glWindowPos3dvARB, glWindowPos3fARB, glWindowPos3fvARB, glWindowPos3iARB, glWindowPos3ivARB, glWindowPos3sARB, glWindowPos3svARB, glBlendBarrierKHR, + glMaxShaderCompilerThreadsKHR, glMultiTexCoord1bOES, glMultiTexCoord1bvOES, glMultiTexCoord2bOES, glMultiTexCoord2bvOES, glMultiTexCoord3bOES, glMultiTexCoord3bvOES, glMultiTexCoord4bOES, glMultiTexCoord4bvOES, glTexCoord1bOES, glTexCoord1bvOES, glTexCoord2bOES, glTexCoord2bvOES, glTexCoord3bOES, glTexCoord3bvOES, glTexCoord4bOES, + glTexCoord4bvOES, glVertex2bOES, glVertex2bvOES, glVertex3bOES, glVertex3bvOES, glVertex4bOES, glVertex4bvOES, glAlphaFuncxOES, glClearColorxOES, glClearDepthxOES, glClipPlanexOES, glColor4xOES, glDepthRangexOES, glFogxOES, glFogxvOES, glFrustumxOES, + glGetClipPlanexOES, glGetFixedvOES, glGetTexEnvxvOES, glGetTexParameterxvOES, glLightModelxOES, glLightModelxvOES, glLightxOES, glLightxvOES, glLineWidthxOES, glLoadMatrixxOES, glMaterialxOES, glMaterialxvOES, glMultMatrixxOES, glMultiTexCoord4xOES, glNormal3xOES, glOrthoxOES, + glPointParameterxvOES, glPointSizexOES, glPolygonOffsetxOES, glRotatexOES, glScalexOES, glTexEnvxOES, glTexEnvxvOES, glTexParameterxOES, glTexParameterxvOES, glTranslatexOES, glAccumxOES, glBitmapxOES, glBlendColorxOES, glClearAccumxOES, glColor3xOES, glColor3xvOES, + glColor4xvOES, glConvolutionParameterxOES, glConvolutionParameterxvOES, glEvalCoord1xOES, glEvalCoord1xvOES, glEvalCoord2xOES, glEvalCoord2xvOES, glFeedbackBufferxOES, glGetConvolutionParameterxvOES, glGetHistogramParameterxvOES, glGetLightxOES, glGetMapxvOES, glGetMaterialxOES, glGetPixelMapxv, glGetTexGenxvOES, glGetTexLevelParameterxvOES, + glIndexxOES, glIndexxvOES, glLoadTransposeMatrixxOES, glMap1xOES, glMap2xOES, glMapGrid1xOES, glMapGrid2xOES, glMultTransposeMatrixxOES, glMultiTexCoord1xOES, glMultiTexCoord1xvOES, glMultiTexCoord2xOES, glMultiTexCoord2xvOES, glMultiTexCoord3xOES, glMultiTexCoord3xvOES, glMultiTexCoord4xvOES, glNormal3xvOES, + glPassThroughxOES, glPixelMapx, glPixelStorex, glPixelTransferxOES, glPixelZoomxOES, glPrioritizeTexturesxOES, glRasterPos2xOES, glRasterPos2xvOES, glRasterPos3xOES, glRasterPos3xvOES, glRasterPos4xOES, glRasterPos4xvOES, glRectxOES, glRectxvOES, glTexCoord1xOES, glTexCoord1xvOES, + glTexCoord2xOES, glTexCoord2xvOES, glTexCoord3xOES, glTexCoord3xvOES, glTexCoord4xOES, glTexCoord4xvOES, glTexGenxOES, glTexGenxvOES, glVertex2xOES, glVertex2xvOES, glVertex3xOES, glVertex3xvOES, glVertex4xOES, glVertex4xvOES, glQueryMatrixxOES, glClearDepthfOES, + glClipPlanefOES, glDepthRangefOES, glFrustumfOES, glGetClipPlanefOES, glOrthofOES, glTbufferMask3DFX, glDebugMessageEnableAMD, glDebugMessageInsertAMD, glDebugMessageCallbackAMD, glGetDebugMessageLogAMD, glBlendFuncIndexedAMD, glBlendFuncSeparateIndexedAMD, glBlendEquationIndexedAMD, glBlendEquationSeparateIndexedAMD, glRenderbufferStorageMultisampleAdvancedAMD, glNamedRenderbufferStorageMultisampleAdvancedAMD, + glFramebufferSamplePositionsfvAMD, glNamedFramebufferSamplePositionsfvAMD, glGetFramebufferParameterfvAMD, glGetNamedFramebufferParameterfvAMD, glUniform1i64NV, glUniform2i64NV, glUniform3i64NV, glUniform4i64NV, glUniform1i64vNV, glUniform2i64vNV, glUniform3i64vNV, glUniform4i64vNV, glUniform1ui64NV, glUniform2ui64NV, glUniform3ui64NV, glUniform4ui64NV, + glUniform1ui64vNV, glUniform2ui64vNV, glUniform3ui64vNV, glUniform4ui64vNV, glGetUniformi64vNV, glGetUniformui64vNV, glProgramUniform1i64NV, glProgramUniform2i64NV, glProgramUniform3i64NV, glProgramUniform4i64NV, glProgramUniform1i64vNV, glProgramUniform2i64vNV, glProgramUniform3i64vNV, glProgramUniform4i64vNV, glProgramUniform1ui64NV, glProgramUniform2ui64NV, + glProgramUniform3ui64NV, glProgramUniform4ui64NV, glProgramUniform1ui64vNV, glProgramUniform2ui64vNV, glProgramUniform3ui64vNV, glProgramUniform4ui64vNV, glVertexAttribParameteriAMD, glMultiDrawArraysIndirectAMD, glMultiDrawElementsIndirectAMD, glGenNamesAMD, glDeleteNamesAMD, glIsNameAMD, glQueryObjectParameteruiAMD, glGetPerfMonitorGroupsAMD, glGetPerfMonitorCountersAMD, glGetPerfMonitorGroupStringAMD, + glGetPerfMonitorCounterStringAMD, glGetPerfMonitorCounterInfoAMD, glGenPerfMonitorsAMD, glDeletePerfMonitorsAMD, glSelectPerfMonitorCountersAMD, glBeginPerfMonitorAMD, glEndPerfMonitorAMD, glGetPerfMonitorCounterDataAMD, glSetMultisamplefvAMD, glTexStorageSparseAMD, glTextureStorageSparseAMD, glStencilOpValueAMD, glTessellationFactorAMD, glTessellationModeAMD, glElementPointerAPPLE, glDrawElementArrayAPPLE, + glDrawRangeElementArrayAPPLE, glMultiDrawElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE, glGenFencesAPPLE, glDeleteFencesAPPLE, glSetFenceAPPLE, glIsFenceAPPLE, glTestFenceAPPLE, glFinishFenceAPPLE, glTestObjectAPPLE, glFinishObjectAPPLE, glBufferParameteriAPPLE, glFlushMappedBufferRangeAPPLE, glObjectPurgeableAPPLE, glObjectUnpurgeableAPPLE, glGetObjectParameterivAPPLE, + glTextureRangeAPPLE, glGetTexParameterPointervAPPLE, glBindVertexArrayAPPLE, glDeleteVertexArraysAPPLE, glGenVertexArraysAPPLE, glIsVertexArrayAPPLE, glVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE, glVertexArrayParameteriAPPLE, glEnableVertexAttribAPPLE, glDisableVertexAttribAPPLE, glIsVertexAttribEnabledAPPLE, glMapVertexAttrib1dAPPLE, glMapVertexAttrib1fAPPLE, glMapVertexAttrib2dAPPLE, glMapVertexAttrib2fAPPLE, + glDrawBuffersATI, glElementPointerATI, glDrawElementArrayATI, glDrawRangeElementArrayATI, glTexBumpParameterivATI, glTexBumpParameterfvATI, glGetTexBumpParameterivATI, glGetTexBumpParameterfvATI, glGenFragmentShadersATI, glBindFragmentShaderATI, glDeleteFragmentShaderATI, glBeginFragmentShaderATI, glEndFragmentShaderATI, glPassTexCoordATI, glSampleMapATI, glColorFragmentOp1ATI, + glColorFragmentOp2ATI, glColorFragmentOp3ATI, glAlphaFragmentOp1ATI, glAlphaFragmentOp2ATI, glAlphaFragmentOp3ATI, glSetFragmentShaderConstantATI, glMapObjectBufferATI, glUnmapObjectBufferATI, glPNTrianglesiATI, glPNTrianglesfATI, glStencilOpSeparateATI, glStencilFuncSeparateATI, glNewObjectBufferATI, glIsObjectBufferATI, glUpdateObjectBufferATI, glGetObjectBufferfvATI, + glGetObjectBufferivATI, glFreeObjectBufferATI, glArrayObjectATI, glGetArrayObjectfvATI, glGetArrayObjectivATI, glVariantArrayObjectATI, glGetVariantArrayObjectfvATI, glGetVariantArrayObjectivATI, glVertexAttribArrayObjectATI, glGetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectivATI, glVertexStream1sATI, glVertexStream1svATI, glVertexStream1iATI, glVertexStream1ivATI, glVertexStream1fATI, + glVertexStream1fvATI, glVertexStream1dATI, glVertexStream1dvATI, glVertexStream2sATI, glVertexStream2svATI, glVertexStream2iATI, glVertexStream2ivATI, glVertexStream2fATI, glVertexStream2fvATI, glVertexStream2dATI, glVertexStream2dvATI, glVertexStream3sATI, glVertexStream3svATI, glVertexStream3iATI, glVertexStream3ivATI, glVertexStream3fATI, + glVertexStream3fvATI, glVertexStream3dATI, glVertexStream3dvATI, glVertexStream4sATI, glVertexStream4svATI, glVertexStream4iATI, glVertexStream4ivATI, glVertexStream4fATI, glVertexStream4fvATI, glVertexStream4dATI, glVertexStream4dvATI, glNormalStream3bATI, glNormalStream3bvATI, glNormalStream3sATI, glNormalStream3svATI, glNormalStream3iATI, + glNormalStream3ivATI, glNormalStream3fATI, glNormalStream3fvATI, glNormalStream3dATI, glNormalStream3dvATI, glClientActiveVertexStreamATI, glVertexBlendEnviATI, glVertexBlendEnvfATI, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, + glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, + glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, + glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, + glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, + glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, + glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, + glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, + glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, + glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, + glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, + glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, + glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, + glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { + GLARBES32Compatibility.load(this, load); + GLARBBindlessTexture.load(this, load); + GLARBCLEvent.load(this, load); + GLARBColorBufferFloat.load(this, load); + GLARBComputeVariableGroupSize.load(this, load); + GLARBDebugOutput.load(this, load); + GLARBDrawBuffers.load(this, load); + GLARBDrawBuffersBlend.load(this, load); + GLARBDrawInstanced.load(this, load); + GLARBFragmentProgram.load(this, load); + GLARBGeometryShader4.load(this, load); + GLARBGLSpirv.load(this, load); + GLARBGpuShaderInt64.load(this, load); + GLARBImaging.load(this, load); + GLARBIndirectParameters.load(this, load); + GLARBInstancedArrays.load(this, load); + GLARBMatrixPalette.load(this, load); + GLARBMultisample.load(this, load); + GLARBMultitexture.load(this, load); + GLARBOcclusionQuery.load(this, load); + GLARBParallelShaderCompile.load(this, load); + GLARBPointParameters.load(this, load); GLARBRobustness.load(this, load); GLARBSampleLocations.load(this, load); GLARBSampleShading.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java index 0bf02aea..ef813701 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXMultisample.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_3DFX_multisample} - */ + * {@code GL_3DFX_multisample} + */ public final class GL3DFXMultisample { public static final int GL_MULTISAMPLE_3DFX = 0x86B2; public static final int GL_SAMPLE_BUFFERS_3DFX = 0x86B3; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java index 82a24bb4..c3123958 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTbuffer.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_3DFX_tbuffer} - */ + * {@code GL_3DFX_tbuffer} + */ public final class GL3DFXTbuffer { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_3DFX_tbuffer) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java index d5b93ba8..2f62e9e7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GL3DFXTextureCompressionFXT1.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_3DFX_texture_compression_FXT1} - */ + * {@code GL_3DFX_texture_compression_FXT1} + */ public final class GL3DFXTextureCompressionFXT1 { public static final int GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0; public static final int GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java index 1b5a3aab..6436ad60 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYFrameTerminator.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_GREMEDY_frame_terminator} - */ + * {@code GL_GREMEDY_frame_terminator} + */ public final class GLGREMEDYFrameTerminator { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_GREMEDY_frame_terminator) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java index fd556f57..bfc93ef2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLGREMEDYStringMarker.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_GREMEDY_string_marker} - */ + * {@code GL_GREMEDY_string_marker} + */ public final class GLGREMEDYStringMarker { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_GREMEDY_string_marker) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java index 89919e62..0f526eff 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPConvolutionBorderModes.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_HP_convolution_border_modes} - */ + * {@code GL_HP_convolution_border_modes} + */ public final class GLHPConvolutionBorderModes { public static final int GL_IGNORE_BORDER_HP = 0x8150; public static final int GL_CONSTANT_BORDER_HP = 0x8151; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java index 0fea5dd3..14ba70c6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPImageTransform.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_HP_image_transform} - */ + * {@code GL_HP_image_transform} + */ public final class GLHPImageTransform { public static final int GL_IMAGE_SCALE_X_HP = 0x8155; public static final int GL_IMAGE_SCALE_Y_HP = 0x8156; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java index 4a8cf9ca..8d28586d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPOcclusionTest.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_HP_occlusion_test} - */ + * {@code GL_HP_occlusion_test} + */ public final class GLHPOcclusionTest { public static final int GL_OCCLUSION_TEST_HP = 0x8165; public static final int GL_OCCLUSION_TEST_RESULT_HP = 0x8166; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java index 730067e4..66cab388 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLHPTextureLighting.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_HP_texture_lighting} - */ + * {@code GL_HP_texture_lighting} + */ public final class GLHPTextureLighting { public static final int GL_TEXTURE_LIGHTING_MODE_HP = 0x8167; public static final int GL_TEXTURE_POST_SPECULAR_HP = 0x8168; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java index 572b7f0c..16fc5f31 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRBlendFuncSeparate.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INGR_blend_func_separate} - */ + * {@code GL_INGR_blend_func_separate} + */ public final class GLINGRBlendFuncSeparate { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_INGR_blend_func_separate) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java index da602d63..d78c29a7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRColorClamp.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INGR_color_clamp} - */ + * {@code GL_INGR_color_clamp} + */ public final class GLINGRColorClamp { public static final int GL_RED_MIN_CLAMP_INGR = 0x8560; public static final int GL_GREEN_MIN_CLAMP_INGR = 0x8561; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java index 158966ca..60809496 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLINGRInterlaceRead.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INGR_interlace_read} - */ + * {@code GL_INGR_interlace_read} + */ public final class GLINGRInterlaceRead { public static final int GL_INTERLACE_READ_INGR = 0x8568; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java index e03f6e5c..4f3e93fb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLInterlace.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OML_interlace} - */ + * {@code GL_OML_interlace} + */ public final class GLOMLInterlace { public static final int GL_INTERLACE_OML = 0x8980; public static final int GL_INTERLACE_READ_OML = 0x8981; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java index 865fb884..3cd9ed74 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLResample.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OML_resample} - */ + * {@code GL_OML_resample} + */ public final class GLOMLResample { public static final int GL_PACK_RESAMPLE_OML = 0x8984; public static final int GL_UNPACK_RESAMPLE_OML = 0x8985; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java index 2c656ec3..b2bc03fa 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOMLSubsample.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OML_subsample} - */ + * {@code GL_OML_subsample} + */ public final class GLOMLSubsample { public static final int GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982; public static final int GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java index 701339c2..fdd955da 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLOVRMultiview.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OVR_multiview} - */ + * {@code GL_OVR_multiview} + */ public final class GLOVRMultiview { public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java index 052269b9..a0a1e546 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIMiscHints.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_PGI_misc_hints} - */ + * {@code GL_PGI_misc_hints} + */ public final class GLPGIMiscHints { public static final int GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; public static final int GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java index 950ba648..9c81af95 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLPGIVertexHints.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_PGI_vertex_hints} - */ + * {@code GL_PGI_vertex_hints} + */ public final class GLPGIVertexHints { public static final int GL_VERTEX_DATA_HINT_PGI = 0x1A22A; public static final int GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java index ef109c55..44b57f5b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLRENDScreenCoordinates.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_REND_screen_coordinates} - */ + * {@code GL_REND_screen_coordinates} + */ public final class GLRENDScreenCoordinates { public static final int GL_SCREEN_COORDINATES_REND = 0x8490; public static final int GL_INVERTED_SCREEN_W_REND = 0x8491; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java index c2a70d07..97c17d24 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLS3S3tc.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_S3_s3tc} - */ + * {@code GL_S3_s3tc} + */ public final class GLS3S3tc { public static final int GL_RGB_S3TC = 0x83A0; public static final int GL_RGB4_S3TC = 0x83A1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java index 5b16fe97..ab07d951 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINPhongShading.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_WIN_phong_shading} - */ + * {@code GL_WIN_phong_shading} + */ public final class GLWINPhongShading { public static final int GL_PHONG_WIN = 0x80EA; public static final int GL_PHONG_HINT_WIN = 0x80EB; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java index 573b7e81..3bd09627 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/GLWINSpecularFog.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_WIN_specular_fog} - */ + * {@code GL_WIN_specular_fog} + */ public final class GLWINSpecularFog { public static final int GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java index 6c4a45a5..d5377d2e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDBlendMinmaxFactor.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_blend_minmax_factor} - */ + * {@code GL_AMD_blend_minmax_factor} + */ public final class GLAMDBlendMinmaxFactor { public static final int GL_FACTOR_MIN_AMD = 0x901C; public static final int GL_FACTOR_MAX_AMD = 0x901D; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java index dd37bbdb..09043b58 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDebugOutput.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_debug_output} - */ + * {@code GL_AMD_debug_output} + */ public final class GLAMDDebugOutput { public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java index f354fa5c..fca5854b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDepthClampSeparate.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_depth_clamp_separate} - */ + * {@code GL_AMD_depth_clamp_separate} + */ public final class GLAMDDepthClampSeparate { public static final int GL_DEPTH_CLAMP_NEAR_AMD = 0x901E; public static final int GL_DEPTH_CLAMP_FAR_AMD = 0x901F; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java index b6c09e0c..7718cea1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDDrawBuffersBlend.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_draw_buffers_blend} - */ + * {@code GL_AMD_draw_buffers_blend} + */ public final class GLAMDDrawBuffersBlend { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_draw_buffers_blend) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java index 2f9980ef..715f9287 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferMultisampleAdvanced.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_framebuffer_multisample_advanced} - */ + * {@code GL_AMD_framebuffer_multisample_advanced} + */ public final class GLAMDFramebufferMultisampleAdvanced { public static final int GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; public static final int GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java index 469e674e..a4ba41ac 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDFramebufferSamplePositions.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_framebuffer_sample_positions} - */ + * {@code GL_AMD_framebuffer_sample_positions} + */ public final class GLAMDFramebufferSamplePositions { public static final int GL_SUBSAMPLE_DISTANCE_AMD = 0x883F; public static final int GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java index d75d7a49..415aad7a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderHalfFloat.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_gpu_shader_half_float} - */ + * {@code GL_AMD_gpu_shader_half_float} + */ public final class GLAMDGpuShaderHalfFloat { public static final int GL_FLOAT16_NV = 0x8FF8; public static final int GL_FLOAT16_VEC2_NV = 0x8FF9; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java index beab01ec..44e17aba 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDGpuShaderInt64.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_gpu_shader_int64} - */ + * {@code GL_AMD_gpu_shader_int64} + */ public final class GLAMDGpuShaderInt64 { public static final int GL_INT64_NV = 0x140E; public static final int GL_UNSIGNED_INT64_NV = 0x140F; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java index be3e391b..432669ee 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDInterleavedElements.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_interleaved_elements} - */ + * {@code GL_AMD_interleaved_elements} + */ public final class GLAMDInterleavedElements { public static final int GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; public static final int GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java index 78da667a..5f15112d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDMultiDrawIndirect.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_multi_draw_indirect} - */ + * {@code GL_AMD_multi_draw_indirect} + */ public final class GLAMDMultiDrawIndirect { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_multi_draw_indirect) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java index 67ed557b..04dec874 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDNameGenDelete.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_name_gen_delete} - */ + * {@code GL_AMD_name_gen_delete} + */ public final class GLAMDNameGenDelete { public static final int GL_DATA_BUFFER_AMD = 0x9151; public static final int GL_PERFORMANCE_MONITOR_AMD = 0x9152; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java index 5f7f9df0..8791bf02 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDOcclusionQueryEvent.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_occlusion_query_event} - */ + * {@code GL_AMD_occlusion_query_event} + */ public final class GLAMDOcclusionQueryEvent { public static final int GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; public static final int GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java index d4a4ebe4..ef493fc2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPerformanceMonitor.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_performance_monitor} - */ + * {@code GL_AMD_performance_monitor} + */ public final class GLAMDPerformanceMonitor { public static final int GL_COUNTER_TYPE_AMD = 0x8BC0; public static final int GL_COUNTER_RANGE_AMD = 0x8BC1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java index d08374e6..6eb5f498 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDPinnedMemory.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_pinned_memory} - */ + * {@code GL_AMD_pinned_memory} + */ public final class GLAMDPinnedMemory { public static final int GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java index 4f596ba7..46d8d1b6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDQueryBufferObject.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_query_buffer_object} - */ + * {@code GL_AMD_query_buffer_object} + */ public final class GLAMDQueryBufferObject { public static final int GL_QUERY_BUFFER_AMD = 0x9192; public static final int GL_QUERY_BUFFER_BINDING_AMD = 0x9193; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java index 21d6bc19..62932539 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSamplePositions.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_sample_positions} - */ + * {@code GL_AMD_sample_positions} + */ public final class GLAMDSamplePositions { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_AMD_sample_positions) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java index 41fd8b3b..6d05244c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDSparseTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_sparse_texture} - */ + * {@code GL_AMD_sparse_texture} + */ public final class GLAMDSparseTexture { public static final int GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; public static final int GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java index c8ba3568..e13807c1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDStencilOperationExtended.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_stencil_operation_extended} - */ + * {@code GL_AMD_stencil_operation_extended} + */ public final class GLAMDStencilOperationExtended { public static final int GL_SET_AMD = 0x874A; public static final int GL_REPLACE_VALUE_AMD = 0x874B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java index 5bf64bce..8a1250a7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDTransformFeedback4.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_transform_feedback4} - */ + * {@code GL_AMD_transform_feedback4} + */ public final class GLAMDTransformFeedback4 { public static final int GL_STREAM_RASTERIZATION_AMD = 0x91A0; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java index 26829472..a37f9d69 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/amd/GLAMDVertexShaderTessellator.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_AMD_vertex_shader_tessellator} - */ + * {@code GL_AMD_vertex_shader_tessellator} + */ public final class GLAMDVertexShaderTessellator { public static final int GL_SAMPLER_BUFFER_AMD = 0x9001; public static final int GL_INT_SAMPLER_BUFFER_AMD = 0x9002; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java index bab83f5d..512f4dde 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEAuxDepthStencil.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_aux_depth_stencil} - */ + * {@code GL_APPLE_aux_depth_stencil} + */ public final class GLAPPLEAuxDepthStencil { public static final int GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java index 21958211..904c1674 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEClientStorage.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_client_storage} - */ + * {@code GL_APPLE_client_storage} + */ public final class GLAPPLEClientStorage { public static final int GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java index f61a0fdf..ec27f40e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEElementArray.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_element_array} - */ + * {@code GL_APPLE_element_array} + */ public final class GLAPPLEElementArray { public static final int GL_ELEMENT_ARRAY_APPLE = 0x8A0C; public static final int GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java index 73ce0074..4b942e30 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFence.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_fence} - */ + * {@code GL_APPLE_fence} + */ public final class GLAPPLEFence { public static final int GL_DRAW_PIXELS_APPLE = 0x8A0A; public static final int GL_FENCE_APPLE = 0x8A0B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java index 66513662..ba6a44c5 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFloatPixels.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_float_pixels} - */ + * {@code GL_APPLE_float_pixels} + */ public final class GLAPPLEFloatPixels { public static final int GL_HALF_APPLE = 0x140B; public static final int GL_RGBA_FLOAT32_APPLE = 0x8814; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java index 7bdd3679..268ee357 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEFlushBufferRange.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_flush_buffer_range} - */ + * {@code GL_APPLE_flush_buffer_range} + */ public final class GLAPPLEFlushBufferRange { public static final int GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; public static final int GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java index 71be15b4..3e684db4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEObjectPurgeable.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_object_purgeable} - */ + * {@code GL_APPLE_object_purgeable} + */ public final class GLAPPLEObjectPurgeable { public static final int GL_BUFFER_OBJECT_APPLE = 0x85B3; public static final int GL_RELEASED_APPLE = 0x8A19; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java index c04a97bd..cfb42b2d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERgb422.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_rgb_422} - */ + * {@code GL_APPLE_rgb_422} + */ public final class GLAPPLERgb422 { public static final int GL_RGB_422_APPLE = 0x8A1F; public static final int GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java index 83c17106..9348ad53 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLERowBytes.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_row_bytes} - */ + * {@code GL_APPLE_row_bytes} + */ public final class GLAPPLERowBytes { public static final int GL_PACK_ROW_BYTES_APPLE = 0x8A15; public static final int GL_UNPACK_ROW_BYTES_APPLE = 0x8A16; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java index 7b16a322..9f78c2b3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLESpecularVector.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_specular_vector} - */ + * {@code GL_APPLE_specular_vector} + */ public final class GLAPPLESpecularVector { public static final int GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java index f87ea810..efafb323 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETextureRange.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_texture_range} - */ + * {@code GL_APPLE_texture_range} + */ public final class GLAPPLETextureRange { public static final int GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; public static final int GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java index f72247c6..c674c0c7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLETransformHint.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_transform_hint} - */ + * {@code GL_APPLE_transform_hint} + */ public final class GLAPPLETransformHint { public static final int GL_TRANSFORM_HINT_APPLE = 0x85B1; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java index 091991e0..232d0369 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayObject.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_vertex_array_object} - */ + * {@code GL_APPLE_vertex_array_object} + */ public final class GLAPPLEVertexArrayObject { public static final int GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5; public static void load(GLExtCaps ext, GLLoadFunc load) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java index bb84a852..9c6be3d1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexArrayRange.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_vertex_array_range} - */ + * {@code GL_APPLE_vertex_array_range} + */ public final class GLAPPLEVertexArrayRange { public static final int GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D; public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java index de4feff0..4cb4bfa7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEVertexProgramEvaluators.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_vertex_program_evaluators} - */ + * {@code GL_APPLE_vertex_program_evaluators} + */ public final class GLAPPLEVertexProgramEvaluators { public static final int GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; public static final int GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java index 0e658f9f..398a9489 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/apple/GLAPPLEYcbcr422.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_APPLE_ycbcr_422} - */ + * {@code GL_APPLE_ycbcr_422} + */ public final class GLAPPLEYcbcr422 { public static final int GL_YCBCR_422_APPLE = 0x85B9; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java index 158d81fc..85a1ba78 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBBindlessTexture.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,207 +14,156 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.internal.RuntimeHelper; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_LONG; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_bindless_texture} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBBindlessTexture { public static final int GL_UNSIGNED_INT64_ARB = 0x140F; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_bindless_texture) return; - ext.glGetImageHandleARB = load.invoke("glGetImageHandleARB", IIZIIJ); - ext.glGetTextureHandleARB = load.invoke("glGetTextureHandleARB", IJ); - ext.glGetTextureSamplerHandleARB = load.invoke("glGetTextureSamplerHandleARB", IIJ); - ext.glGetVertexAttribLui64vARB = load.invoke("glGetVertexAttribLui64vARB", IIPV); - ext.glIsImageHandleResidentARB = load.invoke("glIsImageHandleResidentARB", JZ); - ext.glIsTextureHandleResidentARB = load.invoke("glIsTextureHandleResidentARB", JZ); - ext.glMakeImageHandleNonResidentARB = load.invoke("glMakeImageHandleNonResidentARB", JV); - ext.glMakeImageHandleResidentARB = load.invoke("glMakeImageHandleResidentARB", JIV); - ext.glMakeTextureHandleNonResidentARB = load.invoke("glMakeTextureHandleNonResidentARB", JV); - ext.glMakeTextureHandleResidentARB = load.invoke("glMakeTextureHandleResidentARB", JV); - ext.glProgramUniformHandleui64ARB = load.invoke("glProgramUniformHandleui64ARB", IIJV); - ext.glProgramUniformHandleui64vARB = load.invoke("glProgramUniformHandleui64vARB", IIIPV); - ext.glUniformHandleui64ARB = load.invoke("glUniformHandleui64ARB", IJV); - ext.glUniformHandleui64vARB = load.invoke("glUniformHandleui64vARB", IIPV); - ext.glVertexAttribL1ui64ARB = load.invoke("glVertexAttribL1ui64ARB", IJV); - ext.glVertexAttribL1ui64vARB = load.invoke("glVertexAttribL1ui64vARB", IPV); - } - - public static long glGetImageHandleARB(int texture, int level, boolean layered, int layer, int format) { - var ext = GLLoader.getExtCapabilities(); - try { - return (long) GLLoader.check(ext.glGetImageHandleARB).invokeExact(texture, level, layered, layer, format); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + ext.glGetTextureHandleARB = load.invoke("glGetTextureHandleARB", of(JAVA_LONG, JAVA_INT)); + ext.glGetTextureSamplerHandleARB = load.invoke("glGetTextureSamplerHandleARB", of(JAVA_LONG, JAVA_INT, JAVA_INT)); + ext.glMakeTextureHandleResidentARB = load.invoke("glMakeTextureHandleResidentARB", ofVoid(JAVA_LONG)); + ext.glMakeTextureHandleNonResidentARB = load.invoke("glMakeTextureHandleNonResidentARB", ofVoid(JAVA_LONG)); + ext.glGetImageHandleARB = load.invoke("glGetImageHandleARB", of(JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT)); + ext.glMakeImageHandleResidentARB = load.invoke("glMakeImageHandleResidentARB", ofVoid(JAVA_LONG, JAVA_INT)); + ext.glMakeImageHandleNonResidentARB = load.invoke("glMakeImageHandleNonResidentARB", ofVoid(JAVA_LONG)); + ext.glUniformHandleui64ARB = load.invoke("glUniformHandleui64ARB", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glUniformHandleui64vARB = load.invoke("glUniformHandleui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniformHandleui64ARB = load.invoke("glProgramUniformHandleui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glProgramUniformHandleui64vARB = load.invoke("glProgramUniformHandleui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glIsTextureHandleResidentARB = load.invoke("glIsTextureHandleResidentARB", of(JAVA_BYTE, JAVA_LONG)); + ext.glIsImageHandleResidentARB = load.invoke("glIsImageHandleResidentARB", of(JAVA_BYTE, JAVA_LONG)); + ext.glVertexAttribL1ui64ARB = load.invoke("glVertexAttribL1ui64ARB", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glVertexAttribL1ui64vARB = load.invoke("glVertexAttribL1ui64vARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetVertexAttribLui64vARB = load.invoke("glGetVertexAttribLui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); } public static long glGetTextureHandleARB(int texture) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (long) GLLoader.check(ext.glGetTextureHandleARB).invokeExact(texture); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (long) + check(ext.glGetTextureHandleARB).invokeExact(texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static long glGetTextureSamplerHandleARB(int texture, int sampler) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - return (long) GLLoader.check(ext.glGetTextureSamplerHandleARB).invokeExact(texture, sampler); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (long) + check(ext.glGetTextureSamplerHandleARB).invokeExact(texture, sampler); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetVertexAttribLui64vARB(int index, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glMakeTextureHandleResidentARB(long handle) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetVertexAttribLui64vARB).invokeExact(index, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetVertexAttribLui64vARB(SegmentAllocator allocator, int index, int pname, long[] params) { - var seg = allocator.allocateArray(JAVA_LONG, params.length); - glGetVertexAttribLui64vARB(index, pname, seg); - RuntimeHelper.toArray(seg, params); + check(ext.glMakeTextureHandleResidentARB).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static boolean glIsImageHandleResidentARB(long handle) { - var ext = GLLoader.getExtCapabilities(); + public static void glMakeTextureHandleNonResidentARB(long handle) { + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsImageHandleResidentARB).invokeExact(handle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMakeTextureHandleNonResidentARB).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static boolean glIsTextureHandleResidentARB(long handle) { - var ext = GLLoader.getExtCapabilities(); + public static long glGetImageHandleARB(int texture, int level, boolean layered, int layer, int format) { + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsTextureHandleResidentARB).invokeExact(handle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (long) + check(ext.glGetImageHandleARB).invokeExact(texture, level, layered, layer, format); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMakeImageHandleNonResidentARB(long handle) { - var ext = GLLoader.getExtCapabilities(); + public static void glMakeImageHandleResidentARB(long handle, int access) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMakeImageHandleNonResidentARB).invokeExact(handle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMakeImageHandleResidentARB).invokeExact(handle, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMakeImageHandleResidentARB(long handle, int access) { - var ext = GLLoader.getExtCapabilities(); + public static void glMakeImageHandleNonResidentARB(long handle) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMakeImageHandleResidentARB).invokeExact(handle, access); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMakeImageHandleNonResidentARB).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMakeTextureHandleNonResidentARB(long handle) { - var ext = GLLoader.getExtCapabilities(); + public static void glUniformHandleui64ARB(int location, long value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMakeTextureHandleNonResidentARB).invokeExact(handle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniformHandleui64ARB).invokeExact(location, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMakeTextureHandleResidentARB(long handle) { - var ext = GLLoader.getExtCapabilities(); + public static void glUniformHandleui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMakeTextureHandleResidentARB).invokeExact(handle); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glUniformHandleui64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glProgramUniformHandleui64ARB(int program, int location, long value) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramUniformHandleui64ARB).invokeExact(program, location, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramUniformHandleui64ARB).invokeExact(program, location, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramUniformHandleui64vARB(int program, int location, int count, MemorySegment values) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramUniformHandleui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment values) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramUniformHandleui64vARB).invokeExact(program, location, count, values); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniformHandleui64vARB(SegmentAllocator allocator, int program, int location, long[] values) { - glProgramUniformHandleui64vARB(program, location, values.length, allocator.allocateArray(JAVA_LONG, values)); + check(ext.glProgramUniformHandleui64vARB).invokeExact(program, location, count, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniformHandleui64ARB(int location, long value) { - var ext = GLLoader.getExtCapabilities(); + public static boolean glIsTextureHandleResidentARB(long handle) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniformHandleui64ARB).invokeExact(location, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (boolean) + check(ext.glIsTextureHandleResidentARB).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glUniformHandleui64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); + public static boolean glIsImageHandleResidentARB(long handle) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glUniformHandleui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniformHandleui64vARB(SegmentAllocator allocator, int location, long[] value) { - glUniformHandleui64vARB(location, value.length, allocator.allocateArray(JAVA_LONG, value)); + return (boolean) + check(ext.glIsImageHandleResidentARB).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glVertexAttribL1ui64ARB(int index, long x) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glVertexAttribL1ui64ARB).invokeExact(index, x); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glVertexAttribL1ui64ARB).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glVertexAttribL1ui64vARB(int index, MemorySegment v) { - var ext = GLLoader.getExtCapabilities(); + public static void glVertexAttribL1ui64vARB(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glVertexAttribL1ui64vARB).invokeExact(index, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glVertexAttribL1ui64vARB).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glVertexAttribL1ui64vARB(SegmentAllocator allocator, int index, long[] v) { - glVertexAttribL1ui64vARB(index, allocator.allocateArray(JAVA_LONG, v)); + public static void glGetVertexAttribLui64vARB(int index, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribLui64vARB).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java index 4ccaa5f7..86a727a9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBCLEvent.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,36 +14,33 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_cl_event} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBCLEvent { public static final int GL_SYNC_CL_EVENT_ARB = 0x8240; public static final int GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_cl_event) return; - ext.glCreateSyncFromCLeventARB = load.invoke("glCreateSyncFromCLeventARB", FunctionDescriptors.PPIP); + ext.glCreateSyncFromCLeventARB = load.invoke("glCreateSyncFromCLeventARB", of(ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); } - public static MemorySegment glCreateSyncFromCLeventARB(MemorySegment context, MemorySegment event, int flags) { - var ext = GLLoader.getExtCapabilities(); + public static @NativeType("GLsync") MemorySegment glCreateSyncFromCLeventARB(@NativeType("struct _cl_context *") MemorySegment context, @NativeType("struct _cl_event *") MemorySegment event, int flags) { + final var ext = getExtCapabilities(); try { - return (MemorySegment) GLLoader.check(ext.glCreateSyncFromCLeventARB).invokeExact(context, event, flags); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (MemorySegment) + check(ext.glCreateSyncFromCLeventARB).invokeExact(context, event, flags); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java index 692246f2..1181ef5f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBColorBufferFloat.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,31 +14,35 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_color_buffer_float} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBColorBufferFloat { + public static final int GL_RGBA_FLOAT_MODE_ARB = 0x8820; + public static final int GL_CLAMP_VERTEX_COLOR_ARB = 0x891A; + public static final int GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B; + public static final int GL_CLAMP_READ_COLOR_ARB = 0x891C; + public static final int GL_FIXED_ONLY_ARB = 0x891D; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_color_buffer_float) return; - ext.glClampColorARB = load.invoke("glClampColorARB", FunctionDescriptors.IIV); + ext.glClampColorARB = load.invoke("glClampColorARB", ofVoid(JAVA_INT, JAVA_INT)); } public static void glClampColorARB(int target, int clamp) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glClampColorARB).invokeExact(target, clamp); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glClampColorARB).invokeExact(target, clamp); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java index f3222e98..c579e7b7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBComputeVariableGroupSize.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,36 +14,34 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_compute_variable_group_size} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBComputeVariableGroupSize { public static final int GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344; public static final int GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB; public static final int GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345; public static final int GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_compute_variable_group_size) return; - ext.glDispatchComputeGroupSizeARB = load.invoke("glDispatchComputeGroupSizeARB", FunctionDescriptors.IIIIIIV); + ext.glDispatchComputeGroupSizeARB = load.invoke("glDispatchComputeGroupSizeARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } - public static void glDispatchComputeGroupSizeARB(int numGroupsX, int numGroupsY, int numGroupsZ, int groupSizeX, int groupSizeY, int groupSizeZ) { - var ext = GLLoader.getExtCapabilities(); + public static void glDispatchComputeGroupSizeARB(int num_groups_x, int num_groups_y, int num_groups_z, int group_size_x, int group_size_y, int group_size_z) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDispatchComputeGroupSizeARB).invokeExact(numGroupsX, numGroupsY, numGroupsZ, groupSizeX, groupSizeY, groupSizeZ); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDispatchComputeGroupSizeARB).invokeExact(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java index b2cd1bad..0d1e3f6a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDebugOutput.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,27 +14,18 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLDebugProc; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.internal.RuntimeHelper; - -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - -import static java.lang.foreign.ValueLayout.JAVA_BYTE; -import static java.lang.foreign.ValueLayout.JAVA_INT; -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_debug_output} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBDebugOutput { public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242; @@ -59,81 +50,45 @@ public final class GLARBDebugOutput { public static final int GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146; public static final int GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147; public static final int GL_DEBUG_SEVERITY_LOW_ARB = 0x9148; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_debug_output) return; - ext.glDebugMessageCallbackARB = load.invoke("glDebugMessageCallbackARB", PPV); - ext.glDebugMessageControlARB = load.invoke("glDebugMessageControlARB", IIIIPZV); - ext.glDebugMessageInsertARB = load.invoke("glDebugMessageInsertARB", IIIIIPV); - ext.glGetDebugMessageLogARB = load.invoke("glGetDebugMessageLogARB", IIPPPPPPI); + ext.glDebugMessageControlARB = load.invoke("glDebugMessageControlARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_BYTE)); + ext.glDebugMessageInsertARB = load.invoke("glDebugMessageInsertARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDebugMessageCallbackARB = load.invoke("glDebugMessageCallbackARB", ofVoid(ADDRESS, ADDRESS)); + ext.glGetDebugMessageLogARB = load.invoke("glGetDebugMessageLogARB", of(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); } - public static void glDebugMessageCallbackARB(MemorySegment callback, MemorySegment userParam) { - var ext = GLLoader.getExtCapabilities(); + public static void glDebugMessageControlARB(int source, int type, int severity, int count, @NativeType("const GLuint *") MemorySegment ids, boolean enabled) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDebugMessageCallbackARB).invokeExact(callback, userParam); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDebugMessageCallbackARB(Arena arena, GLDebugProc callback, MemorySegment userParam) { - glDebugMessageCallbackARB(callback.address(arena), userParam); + check(ext.glDebugMessageControlARB).invokeExact(source, type, severity, count, ids, enabled); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDebugMessageControlARB(int source, int type, int severity, int count, MemorySegment ids, boolean enabled) { - var ext = GLLoader.getExtCapabilities(); + public static void glDebugMessageInsertARB(int source, int type, int id, int severity, int length, @NativeType("const GLchar *") MemorySegment buf) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDebugMessageControlARB).invokeExact(source, type, severity, count, ids, enabled); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDebugMessageInsertARB).invokeExact(source, type, id, severity, length, buf); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDebugMessageControlARB(SegmentAllocator allocator, int source, int type, int severity, int count, int[] ids, boolean enabled) { - glDebugMessageControlARB(source, type, severity, count, allocator.allocateArray(JAVA_INT, ids), enabled); - } - - public static void glDebugMessageInsertARB(int source, int type, int id, int severity, int length, MemorySegment buf) { - var ext = GLLoader.getExtCapabilities(); + public static void glDebugMessageCallbackARB(@NativeType("GLDEBUGPROCARB") MemorySegment callback, @NativeType("const void *") MemorySegment userParam) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDebugMessageInsertARB).invokeExact(source, type, id, severity, length, buf); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDebugMessageCallbackARB).invokeExact(callback, userParam); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDebugMessageInsertARB(SegmentAllocator allocator, int source, int type, int id, int severity, String buf) { - glDebugMessageInsertARB(source, type, id, severity, -1, allocator.allocateUtf8String(buf)); + public static void glDebugMessageCallbackARB(Arena arena, GLDebugProc callback, @NativeType("const void *") MemorySegment userParam) { + glDebugMessageCallbackARB(callback.address(arena), userParam); } - public static int glGetDebugMessageLogARB(int count, int bufSize, MemorySegment sources, MemorySegment types, MemorySegment ids, MemorySegment severities, MemorySegment lengths, MemorySegment messageLog) { - var ext = GLLoader.getExtCapabilities(); + public static int glGetDebugMessageLogARB(int count, int bufSize, @NativeType("GLenum *") MemorySegment sources, @NativeType("GLenum *") MemorySegment types, @NativeType("GLuint *") MemorySegment ids, @NativeType("GLenum *") MemorySegment severities, @NativeType("GLsizei *") MemorySegment lengths, @NativeType("GLchar *") MemorySegment messageLog) { + final var ext = getExtCapabilities(); try { - return (int) GLLoader.check(ext.glGetDebugMessageLogARB).invokeExact(count, bufSize, sources, types, ids, severities, lengths, messageLog); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (int) + check(ext.glGetDebugMessageLogARB).invokeExact(count, bufSize, sources, types, ids, severities, lengths, messageLog); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static int glGetDebugMessageLogARB(int count, MemorySegment sources, MemorySegment types, MemorySegment ids, MemorySegment severities, MemorySegment lengths, MemorySegment messageLog) { - return glGetDebugMessageLogARB(count, (int) messageLog.byteSize(), sources, types, ids, severities, lengths, messageLog); - } - - public static int glGetDebugMessageLogARB(SegmentAllocator allocator, int count, int bufSize, int[] sources, int[] types, int[] ids, int[] severities, int[] lengths, String[] messageLog) { - var pSrc = allocator.allocateArray(JAVA_INT, sources.length); - var pTypes = allocator.allocateArray(JAVA_INT, types.length); - var pIds = allocator.allocateArray(JAVA_INT, ids.length); - var pSvr = allocator.allocateArray(JAVA_INT, severities.length); - var pLen = allocator.allocateArray(JAVA_INT, lengths.length); - var pLog = allocator.allocateArray(JAVA_BYTE, bufSize); - int num = glGetDebugMessageLogARB(count, bufSize, pSrc, pTypes, pIds, pSvr, pLen, pLog); - RuntimeHelper.toArray(pSrc, sources); - RuntimeHelper.toArray(pTypes, types); - RuntimeHelper.toArray(pIds, ids); - RuntimeHelper.toArray(pSvr, severities); - RuntimeHelper.toArray(pLen, lengths); - messageLog[0] = pLog.getUtf8String(0); - return num; - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java new file mode 100644 index 00000000..4edddeeb --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDepthTexture.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_depth_texture} + */ +public final class GLARBDepthTexture { + public static final int GL_DEPTH_COMPONENT16_ARB = 0x81A5; + public static final int GL_DEPTH_COMPONENT24_ARB = 0x81A6; + public static final int GL_DEPTH_COMPONENT32_ARB = 0x81A7; + public static final int GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A; + public static final int GL_DEPTH_TEXTURE_MODE_ARB = 0x884B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java index de21ea7b..e18300a2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffers.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,39 +14,47 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; -import java.lang.foreign.ValueLayout; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_draw_buffers} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBDrawBuffers { + public static final int GL_MAX_DRAW_BUFFERS_ARB = 0x8824; + public static final int GL_DRAW_BUFFER0_ARB = 0x8825; + public static final int GL_DRAW_BUFFER1_ARB = 0x8826; + public static final int GL_DRAW_BUFFER2_ARB = 0x8827; + public static final int GL_DRAW_BUFFER3_ARB = 0x8828; + public static final int GL_DRAW_BUFFER4_ARB = 0x8829; + public static final int GL_DRAW_BUFFER5_ARB = 0x882A; + public static final int GL_DRAW_BUFFER6_ARB = 0x882B; + public static final int GL_DRAW_BUFFER7_ARB = 0x882C; + public static final int GL_DRAW_BUFFER8_ARB = 0x882D; + public static final int GL_DRAW_BUFFER9_ARB = 0x882E; + public static final int GL_DRAW_BUFFER10_ARB = 0x882F; + public static final int GL_DRAW_BUFFER11_ARB = 0x8830; + public static final int GL_DRAW_BUFFER12_ARB = 0x8831; + public static final int GL_DRAW_BUFFER13_ARB = 0x8832; + public static final int GL_DRAW_BUFFER14_ARB = 0x8833; + public static final int GL_DRAW_BUFFER15_ARB = 0x8834; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_draw_buffers) return; - ext.glDrawBuffersARB = load.invoke("glDrawBuffersARB", FunctionDescriptors.IPV); + ext.glDrawBuffersARB = load.invoke("glDrawBuffersARB", ofVoid(JAVA_INT, ADDRESS)); } - public static void glDrawBuffersARB(int n, MemorySegment bufs) { - var ext = GLLoader.getExtCapabilities(); + public static void glDrawBuffersARB(int n, @NativeType("const GLenum *") MemorySegment bufs) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDrawBuffersARB).invokeExact(n, bufs); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDrawBuffersARB).invokeExact(n, bufs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDrawBuffersARB(SegmentAllocator allocator, int[] bufs) { - glDrawBuffersARB(bufs.length, allocator.allocateArray(ValueLayout.JAVA_INT, bufs)); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java index 34e08420..07362c9c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawBuffersBlend.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,62 +14,54 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_draw_buffers_blend} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBDrawBuffersBlend { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_draw_buffers_blend) return; - ext.glBlendEquationSeparateiARB = load.invoke("glBlendEquationSeparateiARB", IIIV); - ext.glBlendEquationiARB = load.invoke("glBlendEquationiARB", IIV); - ext.glBlendFuncSeparateiARB = load.invoke("glBlendFuncSeparateiARB", IIIIIV); - ext.glBlendFunciARB = load.invoke("glBlendFunciARB", IIIV); + ext.glBlendEquationiARB = load.invoke("glBlendEquationiARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glBlendEquationSeparateiARB = load.invoke("glBlendEquationSeparateiARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBlendFunciARB = load.invoke("glBlendFunciARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBlendFuncSeparateiARB = load.invoke("glBlendFuncSeparateiARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } - public static void glBlendEquationSeparateiARB(int buf, int modeRGB, int modeAlpha) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendEquationiARB(int buf, int mode) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendEquationSeparateiARB).invokeExact(buf, modeRGB, modeAlpha); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendEquationiARB).invokeExact(buf, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glBlendEquationiARB(int buf, int mode) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendEquationSeparateiARB(int buf, int modeRGB, int modeAlpha) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendEquationiARB).invokeExact(buf, mode); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendEquationSeparateiARB).invokeExact(buf, modeRGB, modeAlpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glBlendFuncSeparateiARB(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendFunciARB(int buf, int src, int dst) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendFuncSeparateiARB).invokeExact(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendFunciARB).invokeExact(buf, src, dst); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glBlendFunciARB(int buf, int src, int dst) { - var ext = GLLoader.getExtCapabilities(); + public static void glBlendFuncSeparateiARB(int buf, int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBlendFunciARB).invokeExact(buf, src, dst); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBlendFuncSeparateiARB).invokeExact(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java index db04a620..b1db3fae 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBDrawInstanced.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,58 +14,38 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_draw_instanced} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBDrawInstanced { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_draw_instanced) return; - ext.glDrawArraysInstancedARB = load.invoke("glDrawArraysInstancedARB", FunctionDescriptors.IIIIV); - ext.glDrawElementsInstancedARB = load.invoke("glDrawElementsInstancedARB", FunctionDescriptors.IIIPIV); + ext.glDrawArraysInstancedARB = load.invoke("glDrawArraysInstancedARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glDrawElementsInstancedARB = load.invoke("glDrawElementsInstancedARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); } - public static void glDrawArraysInstancedARB(int mode, int first, int count, int primCount) { - var ext = GLLoader.getExtCapabilities(); + public static void glDrawArraysInstancedARB(int mode, int first, int count, int primcount) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDrawArraysInstancedARB).invokeExact(mode, first, count, primCount); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDrawArraysInstancedARB).invokeExact(mode, first, count, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDrawElementsInstancedARB(int mode, int count, int type, MemorySegment indices, int primCount) { - var ext = GLLoader.getExtCapabilities(); + public static void glDrawElementsInstancedARB(int mode, int count, int type, @NativeType("const void *") MemorySegment indices, int primcount) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDrawElementsInstancedARB).invokeExact(mode, count, type, indices, primCount); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDrawElementsInstancedARB(SegmentAllocator allocator, int mode, int count, int type, byte[] indices, int primCount) { - glDrawElementsInstancedARB(mode, count, type, allocator.allocateArray(JAVA_BYTE, indices), primCount); - } - - public static void glDrawElementsInstancedARB(SegmentAllocator allocator, int mode, int count, int type, short[] indices, int primCount) { - glDrawElementsInstancedARB(mode, count, type, allocator.allocateArray(JAVA_SHORT, indices), primCount); + check(ext.glDrawElementsInstancedARB).invokeExact(mode, count, type, indices, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDrawElementsInstancedARB(SegmentAllocator allocator, int mode, int count, int type, int[] indices, int primCount) { - glDrawElementsInstancedARB(mode, count, type, allocator.allocateArray(JAVA_INT, indices), primCount); - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java index fba123cc..dbe2f2a2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBES32Compatibility.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,35 +14,33 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_ES3_1_compatibility} - * - * @author squid233 - * @since 0.1.0 + * {@code GL_ARB_ES3_2_compatibility} */ public final class GLARBES32Compatibility { public static final int GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE; public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381; public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_ES3_2_compatibility) return; - ext.glPrimitiveBoundingBoxARB = load.invoke("glPrimitiveBoundingBoxARB", FunctionDescriptors.FFFFFFFFV); + ext.glPrimitiveBoundingBoxARB = load.invoke("glPrimitiveBoundingBoxARB", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); } public static void glPrimitiveBoundingBoxARB(float minX, float minY, float minZ, float minW, float maxX, float maxY, float maxZ, float maxW) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glPrimitiveBoundingBoxARB).invokeExact(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glPrimitiveBoundingBoxARB).invokeExact(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java index b2bea9d9..61d07f40 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentProgram.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,283 +14,253 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.util.MemoryStack; - -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; - +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; import static java.lang.foreign.ValueLayout.*; -import static overrungl.FunctionDescriptors.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_fragment_program} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBFragmentProgram { + public static final int GL_FRAGMENT_PROGRAM_ARB = 0x8804; + public static final int GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; + public static final int GL_PROGRAM_LENGTH_ARB = 0x8627; + public static final int GL_PROGRAM_FORMAT_ARB = 0x8876; + public static final int GL_PROGRAM_BINDING_ARB = 0x8677; + public static final int GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; + public static final int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; + public static final int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; + public static final int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; + public static final int GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; + public static final int GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; + public static final int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; + public static final int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; + public static final int GL_PROGRAM_PARAMETERS_ARB = 0x88A8; + public static final int GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; + public static final int GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; + public static final int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; + public static final int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; + public static final int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; + public static final int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; + public static final int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; + public static final int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; + public static final int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; + public static final int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; + public static final int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; + public static final int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; + public static final int GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; + public static final int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; + public static final int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; + public static final int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; + public static final int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; + public static final int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; + public static final int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; + public static final int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; + public static final int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; + public static final int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; + public static final int GL_PROGRAM_STRING_ARB = 0x8628; + public static final int GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; + public static final int GL_CURRENT_MATRIX_ARB = 0x8641; + public static final int GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; + public static final int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; + public static final int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; + public static final int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; + public static final int GL_MAX_TEXTURE_COORDS_ARB = 0x8871; + public static final int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; + public static final int GL_PROGRAM_ERROR_STRING_ARB = 0x8874; + public static final int GL_MATRIX0_ARB = 0x88C0; + public static final int GL_MATRIX1_ARB = 0x88C1; + public static final int GL_MATRIX2_ARB = 0x88C2; + public static final int GL_MATRIX3_ARB = 0x88C3; + public static final int GL_MATRIX4_ARB = 0x88C4; + public static final int GL_MATRIX5_ARB = 0x88C5; + public static final int GL_MATRIX6_ARB = 0x88C6; + public static final int GL_MATRIX7_ARB = 0x88C7; + public static final int GL_MATRIX8_ARB = 0x88C8; + public static final int GL_MATRIX9_ARB = 0x88C9; + public static final int GL_MATRIX10_ARB = 0x88CA; + public static final int GL_MATRIX11_ARB = 0x88CB; + public static final int GL_MATRIX12_ARB = 0x88CC; + public static final int GL_MATRIX13_ARB = 0x88CD; + public static final int GL_MATRIX14_ARB = 0x88CE; + public static final int GL_MATRIX15_ARB = 0x88CF; + public static final int GL_MATRIX16_ARB = 0x88D0; + public static final int GL_MATRIX17_ARB = 0x88D1; + public static final int GL_MATRIX18_ARB = 0x88D2; + public static final int GL_MATRIX19_ARB = 0x88D3; + public static final int GL_MATRIX20_ARB = 0x88D4; + public static final int GL_MATRIX21_ARB = 0x88D5; + public static final int GL_MATRIX22_ARB = 0x88D6; + public static final int GL_MATRIX23_ARB = 0x88D7; + public static final int GL_MATRIX24_ARB = 0x88D8; + public static final int GL_MATRIX25_ARB = 0x88D9; + public static final int GL_MATRIX26_ARB = 0x88DA; + public static final int GL_MATRIX27_ARB = 0x88DB; + public static final int GL_MATRIX28_ARB = 0x88DC; + public static final int GL_MATRIX29_ARB = 0x88DD; + public static final int GL_MATRIX30_ARB = 0x88DE; + public static final int GL_MATRIX31_ARB = 0x88DF; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_fragment_program) return; - ext.glBindProgramARB = load.invoke("glBindProgramARB", IIV); - ext.glDeleteProgramsARB = load.invoke("glDeleteProgramsARB", IPV); - ext.glGenProgramsARB = load.invoke("glGenProgramsARB", IPV); - ext.glGetProgramEnvParameterdvARB = load.invoke("glGetProgramEnvParameterdvARB", IIPV); - ext.glGetProgramEnvParameterfvARB = load.invoke("glGetProgramEnvParameterfvARB", IIPV); - ext.glGetProgramLocalParameterdvARB = load.invoke("glGetProgramLocalParameterdvARB", IIPV); - ext.glGetProgramLocalParameterfvARB = load.invoke("glGetProgramLocalParameterfvARB", IIPV); - ext.glGetProgramStringARB = load.invoke("glGetProgramStringARB", IIPV); - ext.glGetProgramivARB = load.invoke("glGetProgramivARB", IIPV); - ext.glIsProgramARB = load.invoke("glIsProgramARB", IZ); - ext.glProgramEnvParameter4dARB = load.invoke("glProgramEnvParameter4dARB", IIDDDDV); - ext.glProgramEnvParameter4dvARB = load.invoke("glProgramEnvParameter4dvARB", IIPV); - ext.glProgramEnvParameter4fARB = load.invoke("glProgramEnvParameter4fARB", IIFFFFV); - ext.glProgramEnvParameter4fvARB = load.invoke("glProgramEnvParameter4fvARB", IIPV); - ext.glProgramLocalParameter4dARB = load.invoke("glProgramLocalParameter4dARB", IIDDDDV); - ext.glProgramLocalParameter4dvARB = load.invoke("glProgramLocalParameter4dvARB", IIPV); - ext.glProgramLocalParameter4fARB = load.invoke("glProgramLocalParameter4fARB", IIFFFFV); - ext.glProgramLocalParameter4fvARB = load.invoke("glProgramLocalParameter4fvARB", IIPV); - ext.glProgramStringARB = load.invoke("glProgramStringARB", IIIPV); - } - - public static void glBindProgramARB(int target, int program) { - var ext = GLLoader.getExtCapabilities(); + ext.glProgramStringARB = load.invoke("glProgramStringARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glBindProgramARB = load.invoke("glBindProgramARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDeleteProgramsARB = load.invoke("glDeleteProgramsARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenProgramsARB = load.invoke("glGenProgramsARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glProgramEnvParameter4dARB = load.invoke("glProgramEnvParameter4dARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glProgramEnvParameter4dvARB = load.invoke("glProgramEnvParameter4dvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramEnvParameter4fARB = load.invoke("glProgramEnvParameter4fARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glProgramEnvParameter4fvARB = load.invoke("glProgramEnvParameter4fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramLocalParameter4dARB = load.invoke("glProgramLocalParameter4dARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glProgramLocalParameter4dvARB = load.invoke("glProgramLocalParameter4dvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramLocalParameter4fARB = load.invoke("glProgramLocalParameter4fARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glProgramLocalParameter4fvARB = load.invoke("glProgramLocalParameter4fvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramEnvParameterdvARB = load.invoke("glGetProgramEnvParameterdvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramEnvParameterfvARB = load.invoke("glGetProgramEnvParameterfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramLocalParameterdvARB = load.invoke("glGetProgramLocalParameterdvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramLocalParameterfvARB = load.invoke("glGetProgramLocalParameterfvARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramivARB = load.invoke("glGetProgramivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramStringARB = load.invoke("glGetProgramStringARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glIsProgramARB = load.invoke("glIsProgramARB", of(JAVA_BYTE, JAVA_INT)); + } + + public static void glProgramStringARB(int target, int format, int len, @NativeType("const void *") MemorySegment string) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBindProgramARB).invokeExact(target, program); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDeleteProgramsARB(int n, MemorySegment programs) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glDeleteProgramsARB).invokeExact(n, programs); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glDeleteProgramsARB(SegmentAllocator allocator, int[] programs) { - glDeleteProgramsARB(programs.length, allocator.allocateArray(JAVA_INT, programs)); + check(ext.glProgramStringARB).invokeExact(target, format, len, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDeleteProgramARB(int program) { - MemoryStack stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); + public static void glBindProgramARB(int target, int program) { + final var ext = getExtCapabilities(); try { - glDeleteProgramsARB(1, stack.ints(program)); - } finally { - stack.setPointer(stackPointer); - } + check(ext.glBindProgramARB).invokeExact(target, program); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGenProgramsARB(int n, MemorySegment programs) { - var ext = GLLoader.getExtCapabilities(); + public static void glDeleteProgramsARB(int n, @NativeType("const GLuint *") MemorySegment programs) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGenProgramsARB).invokeExact(n, programs); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGenProgramsARB(SegmentAllocator allocator, int[] programs) { - glGenProgramsARB(programs.length, allocator.allocateArray(JAVA_INT, programs)); + check(ext.glDeleteProgramsARB).invokeExact(n, programs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static int glGenProgramARB() { - MemoryStack stack = MemoryStack.stackGet(); - long stackPointer = stack.getPointer(); + public static void glGenProgramsARB(int n, @NativeType("GLuint *") MemorySegment programs) { + final var ext = getExtCapabilities(); try { - MemorySegment segment = stack.callocInt(); - glGenProgramsARB(1, segment); - return segment.get(JAVA_INT, 0); - } finally { - stack.setPointer(stackPointer); - } + check(ext.glGenProgramsARB).invokeExact(n, programs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetProgramEnvParameterdvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramEnvParameter4dARB(int target, int index, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetProgramEnvParameterdvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetProgramEnvParameterdvARB(SegmentAllocator allocator, int target, int index, double[] params) { - glGetProgramEnvParameterdvARB(target, index, allocator.allocateArray(JAVA_DOUBLE, params)); + check(ext.glProgramEnvParameter4dARB).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetProgramEnvParameterfvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramEnvParameter4dvARB(int target, int index, @NativeType("const GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetProgramEnvParameterfvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramEnvParameter4dvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetProgramEnvParameterfvARB(SegmentAllocator allocator, int target, int index, float[] params) { - glGetProgramEnvParameterfvARB(target, index, allocator.allocateArray(JAVA_FLOAT, params)); - } - - public static void glGetProgramLocalParameterdvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramEnvParameter4fARB(int target, int index, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetProgramLocalParameterdvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetProgramLocalParameterdvARB(SegmentAllocator allocator, int target, int index, double[] params) { - glGetProgramLocalParameterdvARB(target, index, allocator.allocateArray(JAVA_DOUBLE, params)); + check(ext.glProgramEnvParameter4fARB).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetProgramLocalParameterfvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramEnvParameter4fvARB(int target, int index, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetProgramLocalParameterfvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramEnvParameter4fvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetProgramLocalParameterfvARB(SegmentAllocator allocator, int target, int index, float[] params) { - glGetProgramLocalParameterfvARB(target, index, allocator.allocateArray(JAVA_FLOAT, params)); - } - - public static void glGetProgramStringARB(int target, int pname, MemorySegment string) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramLocalParameter4dARB(int target, int index, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetProgramStringARB).invokeExact(target, pname, string); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramLocalParameter4dARB).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetProgramivARB(int target, int pname, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramLocalParameter4dvARB(int target, int index, @NativeType("const GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetProgramivARB).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramLocalParameter4dvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetProgramivARB(SegmentAllocator allocator, int target, int pname, int[] params) { - glGetProgramivARB(target, pname, allocator.allocateArray(JAVA_INT, params)); - } - - public static boolean glIsProgramARB(int program) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramLocalParameter4fARB(int target, int index, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsProgramARB).invokeExact(program); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramLocalParameter4fARB).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramEnvParameter4dARB(int target, int index, double x, double y, double z, double w) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramLocalParameter4fvARB(int target, int index, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramEnvParameter4dARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramLocalParameter4fvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramEnvParameter4dvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetProgramEnvParameterdvARB(int target, int index, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramEnvParameter4dvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetProgramEnvParameterdvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramEnvParameter4dvARB(SegmentAllocator allocator, int target, int index, double[] params) { - glProgramEnvParameter4dvARB(target, index, allocator.allocateArray(JAVA_DOUBLE, params)); - } - - public static void glProgramEnvParameter4fARB(int target, int index, float x, float y, float z, float w) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetProgramEnvParameterfvARB(int target, int index, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramEnvParameter4fARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetProgramEnvParameterfvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramEnvParameter4fvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetProgramLocalParameterdvARB(int target, int index, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramEnvParameter4fvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetProgramLocalParameterdvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramEnvParameter4fvARB(SegmentAllocator allocator, int target, int index, float[] params) { - glProgramEnvParameter4fvARB(target, index, allocator.allocateArray(JAVA_FLOAT, params)); - } - - public static void glProgramLocalParameter4dARB(int target, int index, double x, double y, double z, double w) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetProgramLocalParameterfvARB(int target, int index, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramLocalParameter4dARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetProgramLocalParameterfvARB).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramLocalParameter4dvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetProgramivARB(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramLocalParameter4dvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetProgramivARB).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramLocalParameter4dvARB(SegmentAllocator allocator, int target, int index, double[] params) { - glProgramLocalParameter4dvARB(target, index, allocator.allocateArray(JAVA_DOUBLE, params)); - } - - public static void glProgramLocalParameter4fARB(int target, int index, float x, float y, float z, float w) { - var ext = GLLoader.getExtCapabilities(); + public static void glGetProgramStringARB(int target, int pname, @NativeType("void *") MemorySegment string) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramLocalParameter4fARB).invokeExact(target, index, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetProgramStringARB).invokeExact(target, pname, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramLocalParameter4fvARB(int target, int index, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); + public static boolean glIsProgramARB(int program) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramLocalParameter4fvARB).invokeExact(target, index, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramLocalParameter4fvARB(SegmentAllocator allocator, int target, int index, float[] params) { - glProgramLocalParameter4fvARB(target, index, allocator.allocateArray(JAVA_FLOAT, params)); + return (boolean) + check(ext.glIsProgramARB).invokeExact(program); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramStringARB(int target, int format, int len, MemorySegment string) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramStringARB).invokeExact(target, format, len, string); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java new file mode 100644 index 00000000..9e414821 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBFragmentShader.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_fragment_shader} + */ +public final class GLARBFragmentShader { + public static final int GL_FRAGMENT_SHADER_ARB = 0x8B30; + public static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; + public static final int GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java index c8d54706..c00670ef 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGLSpirv.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,36 +14,32 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_gl_spirv} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBGLSpirv { public static final int GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551; public static final int GL_SPIR_V_BINARY_ARB = 0x9552; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_gl_spirv) return; - ext.glSpecializeShaderARB = load.invoke("glSpecializeShaderARB", FunctionDescriptors.IPIPPV); + ext.glSpecializeShaderARB = load.invoke("glSpecializeShaderARB", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); } - public static void glSpecializeShaderARB(int shader, MemorySegment pEntryPoint, int numSpecializationConstants, MemorySegment pConstantIndex, MemorySegment pConstantValue) { - var ext = GLLoader.getExtCapabilities(); + public static void glSpecializeShaderARB(int shader, @NativeType("const GLchar *") MemorySegment pEntryPoint, int numSpecializationConstants, @NativeType("const GLuint *") MemorySegment pConstantIndex, @NativeType("const GLuint *") MemorySegment pConstantValue) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glSpecializeShaderARB).invokeExact(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glSpecializeShaderARB).invokeExact(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGPUShaderInt64.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGPUShaderInt64.java deleted file mode 100644 index cc604094..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGPUShaderInt64.java +++ /dev/null @@ -1,405 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl.ext.arb; - -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; - -/** - * {@code GL_ARB_gpu_shader_int64} - * - * @author squid233 - * @since 0.1.0 - */ -public final class GLARBGPUShaderInt64 { - public static final int GL_INT64_ARB = 0x140E; - public static final int GL_INT64_VEC2_ARB = 0x8FE9; - public static final int GL_INT64_VEC3_ARB = 0x8FEA; - public static final int GL_INT64_VEC4_ARB = 0x8FEB; - public static final int GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5; - public static final int GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6; - public static final int GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7; - - public static void load(GLExtCaps ext, GLLoadFunc load) { - if (!ext.GL_ARB_gpu_shader_int64) return; - ext.glGetUniformi64vARB = load.invoke("glGetUniformi64vARB", IIPV); - ext.glGetUniformui64vARB = load.invoke("glGetUniformui64vARB", IIPV); - ext.glGetnUniformi64vARB = load.invoke("glGetnUniformi64vARB", IIIPV); - ext.glGetnUniformui64vARB = load.invoke("glGetnUniformui64vARB", IIIPV); - ext.glProgramUniform1i64ARB = load.invoke("glProgramUniform1i64ARB", IIJV); - ext.glProgramUniform1i64vARB = load.invoke("glProgramUniform1i64vARB", IIIPV); - ext.glProgramUniform1ui64ARB = load.invoke("glProgramUniform1ui64ARB", IIJV); - ext.glProgramUniform1ui64vARB = load.invoke("glProgramUniform1ui64vARB", IIIPV); - ext.glProgramUniform2i64ARB = load.invoke("glProgramUniform2i64ARB", IIJJV); - ext.glProgramUniform2i64vARB = load.invoke("glProgramUniform2i64vARB", IIIPV); - ext.glProgramUniform2ui64ARB = load.invoke("glProgramUniform2ui64ARB", IIJJV); - ext.glProgramUniform2ui64vARB = load.invoke("glProgramUniform2ui64vARB", IIIPV); - ext.glProgramUniform3i64ARB = load.invoke("glProgramUniform3i64ARB", IIJJJV); - ext.glProgramUniform3i64vARB = load.invoke("glProgramUniform3i64vARB", IIIPV); - ext.glProgramUniform3ui64ARB = load.invoke("glProgramUniform3ui64ARB", IIJJJV); - ext.glProgramUniform3ui64vARB = load.invoke("glProgramUniform3ui64vARB", IIIPV); - ext.glProgramUniform4i64ARB = load.invoke("glProgramUniform4i64ARB", IIJJJJV); - ext.glProgramUniform4i64vARB = load.invoke("glProgramUniform4i64vARB", IIIPV); - ext.glProgramUniform4ui64ARB = load.invoke("glProgramUniform4ui64ARB", IIJJJJV); - ext.glProgramUniform4ui64vARB = load.invoke("glProgramUniform4ui64vARB", IIIPV); - ext.glUniform1i64ARB = load.invoke("glUniform1i64ARB", IJV); - ext.glUniform1i64vARB = load.invoke("glUniform1i64vARB", IIPV); - ext.glUniform1ui64ARB = load.invoke("glUniform1ui64ARB", IJV); - ext.glUniform1ui64vARB = load.invoke("glUniform1ui64vARB", IIPV); - ext.glUniform2i64ARB = load.invoke("glUniform2i64ARB", IJJV); - ext.glUniform2i64vARB = load.invoke("glUniform2i64vARB", IIPV); - ext.glUniform2ui64ARB = load.invoke("glUniform2ui64ARB", IJJV); - ext.glUniform2ui64vARB = load.invoke("glUniform2ui64vARB", IIPV); - ext.glUniform3i64ARB = load.invoke("glUniform3i64ARB", IJJJV); - ext.glUniform3i64vARB = load.invoke("glUniform3i64vARB", IIPV); - ext.glUniform3ui64ARB = load.invoke("glUniform3ui64ARB", IJJJV); - ext.glUniform3ui64vARB = load.invoke("glUniform3ui64vARB", IIPV); - ext.glUniform4i64ARB = load.invoke("glUniform4i64ARB", IJJJJV); - ext.glUniform4i64vARB = load.invoke("glUniform4i64vARB", IIPV); - ext.glUniform4ui64ARB = load.invoke("glUniform4ui64ARB", IJJJJV); - ext.glUniform4ui64vARB = load.invoke("glUniform4ui64vARB", IIPV); - } - - public static void glGetUniformi64vARB(int program, int location, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetUniformi64vARB).invokeExact(program, location, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetUniformui64vARB(int program, int location, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetUniformui64vARB).invokeExact(program, location, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetnUniformi64vARB(int program, int location, int bufSize, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetnUniformi64vARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glGetnUniformui64vARB(int program, int location, int bufSize, MemorySegment params) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glGetnUniformui64vARB).invokeExact(program, location, bufSize, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform1i64ARB(int program, int location, long x) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform1i64ARB).invokeExact(program, location, x); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform1i64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform1i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform1ui64ARB(int program, int location, long x) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform1ui64ARB).invokeExact(program, location, x); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform1ui64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform1ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform2i64ARB(int program, int location, long x, long y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform2i64ARB).invokeExact(program, location, x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform2i64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform2i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform2ui64ARB(int program, int location, long x, long y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform2ui64ARB).invokeExact(program, location, x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform2ui64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform2ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform3i64ARB(int program, int location, long x, long y, long z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform3i64ARB).invokeExact(program, location, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform3i64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform3i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform3ui64ARB(int program, int location, long x, long y, long z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform3ui64ARB).invokeExact(program, location, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform3ui64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform3ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform4i64ARB(int program, int location, long x, long y, long z, long w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform4i64ARB).invokeExact(program, location, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform4i64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform4i64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform4ui64ARB(int program, int location, long x, long y, long z, long w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform4ui64ARB).invokeExact(program, location, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glProgramUniform4ui64vARB(int program, int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glProgramUniform4ui64vARB).invokeExact(program, location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform1i64ARB(int location, long x) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform1i64ARB).invokeExact(location, x); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform1i64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform1i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform1ui64ARB(int location, long x) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform1ui64ARB).invokeExact(location, x); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform1ui64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform1ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform2i64ARB(int location, long x, long y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform2i64ARB).invokeExact(location, x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform2i64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform2i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform2ui64ARB(int location, long x, long y) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform2ui64ARB).invokeExact(location, x, y); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform2ui64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform2ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform3i64ARB(int location, long x, long y, long z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform3i64ARB).invokeExact(location, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform3i64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform3i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform3ui64ARB(int location, long x, long y, long z) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform3ui64ARB).invokeExact(location, x, y, z); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform3ui64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform3ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform4i64ARB(int location, long x, long y, long z, long w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform4i64ARB).invokeExact(location, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform4i64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform4i64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform4ui64ARB(int location, long x, long y, long z, long w) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform4ui64ARB).invokeExact(location, x, y, z, w); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } - - public static void glUniform4ui64vARB(int location, int count, MemorySegment value) { - var ext = GLLoader.getExtCapabilities(); - try { - GLLoader.check(ext.glUniform4ui64vARB).invokeExact(location, count, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } - } -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java index 0fdf6b36..a2e61f4a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGeometryShader4.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,19 +14,18 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_geometry_shader4} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBGeometryShader4 { public static final int GL_LINES_ADJACENCY_ARB = 0x000A; @@ -47,48 +46,40 @@ public final class GLARBGeometryShader4 { public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF; public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0; public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_geometry_shader4) return; - ext.glFramebufferTextureARB = load.invoke("glFramebufferTextureARB", IIIIV); - ext.glFramebufferTextureFaceARB = load.invoke("glFramebufferTextureFaceARB", IIIIIV); - ext.glFramebufferTextureLayerARB = load.invoke("glFramebufferTextureLayerARB", IIIIIV); - ext.glProgramParameteriARB = load.invoke("glProgramParameteriARB", IIIV); + ext.glProgramParameteriARB = load.invoke("glProgramParameteriARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFramebufferTextureARB = load.invoke("glFramebufferTextureARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFramebufferTextureLayerARB = load.invoke("glFramebufferTextureLayerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFramebufferTextureFaceARB = load.invoke("glFramebufferTextureFaceARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); } - public static void glFramebufferTextureARB(int target, int attachment, int texture, int level) { - var ext = GLLoader.getExtCapabilities(); + public static void glProgramParameteriARB(int program, int pname, int value) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFramebufferTextureARB).invokeExact(target, attachment, texture, level); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glProgramParameteriARB).invokeExact(program, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glFramebufferTextureFaceARB(int target, int attachment, int texture, int level, int face) { - var ext = GLLoader.getExtCapabilities(); + public static void glFramebufferTextureARB(int target, int attachment, int texture, int level) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFramebufferTextureFaceARB).invokeExact(target, attachment, texture, level, face); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFramebufferTextureARB).invokeExact(target, attachment, texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glFramebufferTextureLayerARB(int target, int attachment, int texture, int level, int layer) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glFramebufferTextureLayerARB).invokeExact(target, attachment, texture, level, layer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFramebufferTextureLayerARB).invokeExact(target, attachment, texture, level, layer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glProgramParameteriARB(int program, int pname, int value) { - var ext = GLLoader.getExtCapabilities(); + public static void glFramebufferTextureFaceARB(int target, int attachment, int texture, int level, int face) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glProgramParameteriARB).invokeExact(program, pname, value); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glFramebufferTextureFaceARB).invokeExact(target, attachment, texture, level, face); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java new file mode 100644 index 00000000..366af38e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBGpuShaderInt64.java @@ -0,0 +1,330 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_gpu_shader_int64} + */ +public final class GLARBGpuShaderInt64 { + public static final int GL_INT64_ARB = 0x140E; + public static final int GL_INT64_VEC2_ARB = 0x8FE9; + public static final int GL_INT64_VEC3_ARB = 0x8FEA; + public static final int GL_INT64_VEC4_ARB = 0x8FEB; + public static final int GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5; + public static final int GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6; + public static final int GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_gpu_shader_int64) return; + ext.glUniform1i64ARB = load.invoke("glUniform1i64ARB", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glUniform2i64ARB = load.invoke("glUniform2i64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glUniform3i64ARB = load.invoke("glUniform3i64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform4i64ARB = load.invoke("glUniform4i64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform1i64vARB = load.invoke("glUniform1i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform2i64vARB = load.invoke("glUniform2i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform3i64vARB = load.invoke("glUniform3i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform4i64vARB = load.invoke("glUniform4i64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform1ui64ARB = load.invoke("glUniform1ui64ARB", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glUniform2ui64ARB = load.invoke("glUniform2ui64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glUniform3ui64ARB = load.invoke("glUniform3ui64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform4ui64ARB = load.invoke("glUniform4ui64ARB", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glUniform1ui64vARB = load.invoke("glUniform1ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform2ui64vARB = load.invoke("glUniform2ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform3ui64vARB = load.invoke("glUniform3ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform4ui64vARB = load.invoke("glUniform4ui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetUniformi64vARB = load.invoke("glGetUniformi64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetUniformui64vARB = load.invoke("glGetUniformui64vARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetnUniformi64vARB = load.invoke("glGetnUniformi64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetnUniformui64vARB = load.invoke("glGetnUniformui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform1i64ARB = load.invoke("glProgramUniform1i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glProgramUniform2i64ARB = load.invoke("glProgramUniform2i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform3i64ARB = load.invoke("glProgramUniform3i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform4i64ARB = load.invoke("glProgramUniform4i64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform1i64vARB = load.invoke("glProgramUniform1i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2i64vARB = load.invoke("glProgramUniform2i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3i64vARB = load.invoke("glProgramUniform3i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4i64vARB = load.invoke("glProgramUniform4i64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform1ui64ARB = load.invoke("glProgramUniform1ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glProgramUniform2ui64ARB = load.invoke("glProgramUniform2ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform3ui64ARB = load.invoke("glProgramUniform3ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform4ui64ARB = load.invoke("glProgramUniform4ui64ARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glProgramUniform1ui64vARB = load.invoke("glProgramUniform1ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2ui64vARB = load.invoke("glProgramUniform2ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3ui64vARB = load.invoke("glProgramUniform3ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4ui64vARB = load.invoke("glProgramUniform4ui64vARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glUniform1i64ARB(int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1i64ARB).invokeExact(location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2i64ARB(int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2i64ARB).invokeExact(location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3i64ARB(int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3i64ARB).invokeExact(location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4i64ARB(int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4i64ARB).invokeExact(location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1i64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2i64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3i64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4i64vARB(int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4i64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1ui64ARB(int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1ui64ARB).invokeExact(location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2ui64ARB(int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2ui64ARB).invokeExact(location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3ui64ARB(int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3ui64ARB).invokeExact(location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4ui64ARB(int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4ui64ARB).invokeExact(location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1ui64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2ui64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3ui64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4ui64vARB(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4ui64vARB).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetUniformi64vARB(int program, int location, @NativeType("GLint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetUniformi64vARB).invokeExact(program, location, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetUniformui64vARB(int program, int location, @NativeType("GLuint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetUniformui64vARB).invokeExact(program, location, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetnUniformi64vARB(int program, int location, int bufSize, @NativeType("GLint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetnUniformi64vARB).invokeExact(program, location, bufSize, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetnUniformui64vARB(int program, int location, int bufSize, @NativeType("GLuint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetnUniformui64vARB).invokeExact(program, location, bufSize, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1i64ARB(int program, int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1i64ARB).invokeExact(program, location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2i64ARB(int program, int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2i64ARB).invokeExact(program, location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3i64ARB(int program, int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3i64ARB).invokeExact(program, location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4i64ARB(int program, int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4i64ARB).invokeExact(program, location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1i64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2i64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3i64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4i64vARB(int program, int location, int count, @NativeType("const GLint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4i64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1ui64ARB(int program, int location, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1ui64ARB).invokeExact(program, location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2ui64ARB(int program, int location, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2ui64ARB).invokeExact(program, location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3ui64ARB(int program, int location, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3ui64ARB).invokeExact(program, location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4ui64ARB(int program, int location, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4ui64ARB).invokeExact(program, location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1ui64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2ui64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3ui64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4ui64vARB(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4ui64vARB).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java new file mode 100644 index 00000000..a7531247 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBHalfFloatPixel.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_half_float_pixel} + */ +public final class GLARBHalfFloatPixel { + public static final int GL_HALF_FLOAT_ARB = 0x140B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java new file mode 100644 index 00000000..67ca262a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBImaging.java @@ -0,0 +1,343 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_imaging} + */ +public final class GLARBImaging { + public static final int GL_CONVOLUTION_BORDER_MODE = 0x8013; + public static final int GL_CONVOLUTION_FILTER_SCALE = 0x8014; + public static final int GL_CONVOLUTION_FILTER_BIAS = 0x8015; + public static final int GL_REDUCE = 0x8016; + public static final int GL_CONVOLUTION_FORMAT = 0x8017; + public static final int GL_CONVOLUTION_WIDTH = 0x8018; + public static final int GL_CONVOLUTION_HEIGHT = 0x8019; + public static final int GL_MAX_CONVOLUTION_WIDTH = 0x801A; + public static final int GL_MAX_CONVOLUTION_HEIGHT = 0x801B; + public static final int GL_POST_CONVOLUTION_RED_SCALE = 0x801C; + public static final int GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D; + public static final int GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E; + public static final int GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F; + public static final int GL_POST_CONVOLUTION_RED_BIAS = 0x8020; + public static final int GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021; + public static final int GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022; + public static final int GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023; + public static final int GL_HISTOGRAM_WIDTH = 0x8026; + public static final int GL_HISTOGRAM_FORMAT = 0x8027; + public static final int GL_HISTOGRAM_RED_SIZE = 0x8028; + public static final int GL_HISTOGRAM_GREEN_SIZE = 0x8029; + public static final int GL_HISTOGRAM_BLUE_SIZE = 0x802A; + public static final int GL_HISTOGRAM_ALPHA_SIZE = 0x802B; + public static final int GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C; + public static final int GL_HISTOGRAM_SINK = 0x802D; + public static final int GL_MINMAX_FORMAT = 0x802F; + public static final int GL_MINMAX_SINK = 0x8030; + public static final int GL_TABLE_TOO_LARGE = 0x8031; + public static final int GL_COLOR_MATRIX = 0x80B1; + public static final int GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2; + public static final int GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3; + public static final int GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4; + public static final int GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5; + public static final int GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6; + public static final int GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7; + public static final int GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8; + public static final int GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9; + public static final int GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA; + public static final int GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB; + public static final int GL_COLOR_TABLE_SCALE = 0x80D6; + public static final int GL_COLOR_TABLE_BIAS = 0x80D7; + public static final int GL_COLOR_TABLE_FORMAT = 0x80D8; + public static final int GL_COLOR_TABLE_WIDTH = 0x80D9; + public static final int GL_COLOR_TABLE_RED_SIZE = 0x80DA; + public static final int GL_COLOR_TABLE_GREEN_SIZE = 0x80DB; + public static final int GL_COLOR_TABLE_BLUE_SIZE = 0x80DC; + public static final int GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD; + public static final int GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE; + public static final int GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF; + public static final int GL_CONSTANT_BORDER = 0x8151; + public static final int GL_REPLICATE_BORDER = 0x8153; + public static final int GL_CONVOLUTION_BORDER_COLOR = 0x8154; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_ARB_imaging) return; + ext.glColorTable = load.invoke("glColorTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glColorTableParameterfv = load.invoke("glColorTableParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glColorTableParameteriv = load.invoke("glColorTableParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyColorTable = load.invoke("glCopyColorTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetColorTable = load.invoke("glGetColorTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetColorTableParameterfv = load.invoke("glGetColorTableParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetColorTableParameteriv = load.invoke("glGetColorTableParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glColorSubTable = load.invoke("glColorSubTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyColorSubTable = load.invoke("glCopyColorSubTable", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glConvolutionFilter1D = load.invoke("glConvolutionFilter1D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glConvolutionFilter2D = load.invoke("glConvolutionFilter2D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glConvolutionParameterf = load.invoke("glConvolutionParameterf", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glConvolutionParameterfv = load.invoke("glConvolutionParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glConvolutionParameteri = load.invoke("glConvolutionParameteri", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glConvolutionParameteriv = load.invoke("glConvolutionParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyConvolutionFilter1D = load.invoke("glCopyConvolutionFilter1D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyConvolutionFilter2D = load.invoke("glCopyConvolutionFilter2D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetConvolutionFilter = load.invoke("glGetConvolutionFilter", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetConvolutionParameterfv = load.invoke("glGetConvolutionParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetConvolutionParameteriv = load.invoke("glGetConvolutionParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetSeparableFilter = load.invoke("glGetSeparableFilter", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS)); + ext.glSeparableFilter2D = load.invoke("glSeparableFilter2D", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetHistogram = load.invoke("glGetHistogram", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetHistogramParameterfv = load.invoke("glGetHistogramParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetHistogramParameteriv = load.invoke("glGetHistogramParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMinmax = load.invoke("glGetMinmax", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMinmaxParameterfv = load.invoke("glGetMinmaxParameterfv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMinmaxParameteriv = load.invoke("glGetMinmaxParameteriv", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glHistogram = load.invoke("glHistogram", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glMinmax = load.invoke("glMinmax", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glResetHistogram = load.invoke("glResetHistogram", ofVoid(JAVA_INT)); + ext.glResetMinmax = load.invoke("glResetMinmax", ofVoid(JAVA_INT)); + } + + public static void glColorTable(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment table) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorTable).invokeExact(target, internalformat, width, format, type, table); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorTableParameterfv(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorTableParameterfv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorTableParameteriv(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorTableParameteriv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyColorTable(int target, int internalformat, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyColorTable).invokeExact(target, internalformat, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTable(int target, int format, int type, @NativeType("void *") MemorySegment table) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTable).invokeExact(target, format, type, table); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableParameterfv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableParameteriv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorSubTable(int target, int start, int count, int format, int type, @NativeType("const void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorSubTable).invokeExact(target, start, count, format, type, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyColorSubTable(int target, int start, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyColorSubTable).invokeExact(target, start, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionFilter1D(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment image) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionFilter1D).invokeExact(target, internalformat, width, format, type, image); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionFilter2D(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment image) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionFilter2D).invokeExact(target, internalformat, width, height, format, type, image); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameterf(int target, int pname, float params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameterf).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameterfv(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameterfv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameteri(int target, int pname, int params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameteri).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameteriv(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameteriv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyConvolutionFilter1D(int target, int internalformat, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyConvolutionFilter1D).invokeExact(target, internalformat, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyConvolutionFilter2D(int target, int internalformat, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyConvolutionFilter2D).invokeExact(target, internalformat, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetConvolutionFilter(int target, int format, int type, @NativeType("void *") MemorySegment image) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetConvolutionFilter).invokeExact(target, format, type, image); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetConvolutionParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetConvolutionParameterfv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetConvolutionParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetConvolutionParameteriv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetSeparableFilter(int target, int format, int type, @NativeType("void *") MemorySegment row, @NativeType("void *") MemorySegment column, @NativeType("void *") MemorySegment span) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetSeparableFilter).invokeExact(target, format, type, row, column, span); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSeparableFilter2D(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment row, @NativeType("const void *") MemorySegment column) { + final var ext = getExtCapabilities(); + try { + check(ext.glSeparableFilter2D).invokeExact(target, internalformat, width, height, format, type, row, column); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetHistogram(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetHistogram).invokeExact(target, reset, format, type, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetHistogramParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetHistogramParameterfv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetHistogramParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetHistogramParameteriv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMinmax(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMinmax).invokeExact(target, reset, format, type, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMinmaxParameterfv(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMinmaxParameterfv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMinmaxParameteriv(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMinmaxParameteriv).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glHistogram(int target, int width, int internalformat, boolean sink) { + final var ext = getExtCapabilities(); + try { + check(ext.glHistogram).invokeExact(target, width, internalformat, sink); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMinmax(int target, int internalformat, boolean sink) { + final var ext = getExtCapabilities(); + try { + check(ext.glMinmax).invokeExact(target, internalformat, sink); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glResetHistogram(int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glResetHistogram).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glResetMinmax(int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glResetMinmax).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java index b75f1431..366db1d4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBIndirectParameters.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,46 +14,40 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_indirect_parameters} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBIndirectParameters { public static final int GL_PARAMETER_BUFFER_ARB = 0x80EE; public static final int GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_indirect_parameters) return; - ext.glMultiDrawArraysIndirectCountARB = load.invoke("glMultiDrawArraysIndirectCountARB", FunctionDescriptors.IPJIIV); - ext.glMultiDrawElementsIndirectCountARB = load.invoke("glMultiDrawElementsIndirectCountARB", FunctionDescriptors.IIPJIIV); + ext.glMultiDrawArraysIndirectCountARB = load.invoke("glMultiDrawArraysIndirectCountARB", ofVoid(JAVA_INT, ADDRESS, JAVA_LONG, JAVA_INT, JAVA_INT)); + ext.glMultiDrawElementsIndirectCountARB = load.invoke("glMultiDrawElementsIndirectCountARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_LONG, JAVA_INT, JAVA_INT)); } - public static void glMultiDrawArraysIndirectCountARB(int mode, MemorySegment indirect, long drawCount, int maxDrawCount, int stride) { - var ext = GLLoader.getExtCapabilities(); + public static void glMultiDrawArraysIndirectCountARB(int mode, @NativeType("const void *") MemorySegment indirect, long drawcount, int maxdrawcount, int stride) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiDrawArraysIndirectCountARB).invokeExact(mode, indirect, drawCount, maxDrawCount, stride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiDrawArraysIndirectCountARB).invokeExact(mode, indirect, drawcount, maxdrawcount, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiDrawElementsIndirectCountARB(int mode, int type, MemorySegment indirect, long drawCount, int maxDrawCount, int stride) { - var ext = GLLoader.getExtCapabilities(); + public static void glMultiDrawElementsIndirectCountARB(int mode, int type, @NativeType("const void *") MemorySegment indirect, long drawcount, int maxdrawcount, int stride) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiDrawElementsIndirectCountARB).invokeExact(mode, type, indirect, drawCount, maxDrawCount, stride); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiDrawElementsIndirectCountARB).invokeExact(mode, type, indirect, drawcount, maxdrawcount, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java index aa8721f7..0fa02483 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInstancedArrays.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,33 +14,31 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_instanced_arrays} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBInstancedArrays { public static final int GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_instanced_arrays) return; - ext.glVertexAttribDivisorARB = load.invoke("glVertexAttribDivisorARB", FunctionDescriptors.IIV); + ext.glVertexAttribDivisorARB = load.invoke("glVertexAttribDivisorARB", ofVoid(JAVA_INT, JAVA_INT)); } public static void glVertexAttribDivisorARB(int index, int divisor) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glVertexAttribDivisorARB).invokeExact(index, divisor); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glVertexAttribDivisorARB).invokeExact(index, divisor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java index 6555a7eb..28a501bc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBInternalformatQuery2.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,13 +14,18 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** * {@code GL_ARB_internalformat_query2} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBInternalformatQuery2 { public static final int GL_SRGB_DECODE_ARB = 0x8299; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java index 5a18315c..4ec72c5d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMatrixPalette.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,74 +14,72 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_matrix_palette} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBMatrixPalette { + public static final int GL_MATRIX_PALETTE_ARB = 0x8840; + public static final int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; + public static final int GL_MAX_PALETTE_MATRICES_ARB = 0x8842; + public static final int GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843; + public static final int GL_MATRIX_INDEX_ARRAY_ARB = 0x8844; + public static final int GL_CURRENT_MATRIX_INDEX_ARB = 0x8845; + public static final int GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; + public static final int GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; + public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; + public static final int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_matrix_palette) return; - ext.glCurrentPaletteMatrixARB = load.invoke("glCurrentPaletteMatrixARB", IV); - ext.glMatrixIndexPointerARB = load.invoke("glMatrixIndexPointerARB", IIIPV); - ext.glMatrixIndexubvARB = load.invoke("glMatrixIndexubvARB", IPV); - ext.glMatrixIndexuivARB = load.invoke("glMatrixIndexuivARB", IPV); - ext.glMatrixIndexusvARB = load.invoke("glMatrixIndexusvARB", IPV); + ext.glCurrentPaletteMatrixARB = load.invoke("glCurrentPaletteMatrixARB", ofVoid(JAVA_INT)); + ext.glMatrixIndexubvARB = load.invoke("glMatrixIndexubvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixIndexusvARB = load.invoke("glMatrixIndexusvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixIndexuivARB = load.invoke("glMatrixIndexuivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixIndexPointerARB = load.invoke("glMatrixIndexPointerARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); } public static void glCurrentPaletteMatrixARB(int index) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glCurrentPaletteMatrixARB).invokeExact(index); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glCurrentPaletteMatrixARB).invokeExact(index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMatrixIndexPointerARB(int size, int type, int stride, MemorySegment pointer) { - var ext = GLLoader.getExtCapabilities(); + public static void glMatrixIndexubvARB(int size, @NativeType("const GLubyte *") MemorySegment indices) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMatrixIndexPointerARB).invokeExact(size, type, stride, pointer); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMatrixIndexubvARB).invokeExact(size, indices); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMatrixIndexubvARB(int size, MemorySegment indices) { - var ext = GLLoader.getExtCapabilities(); + public static void glMatrixIndexusvARB(int size, @NativeType("const GLushort *") MemorySegment indices) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMatrixIndexubvARB).invokeExact(size, indices); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMatrixIndexusvARB).invokeExact(size, indices); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMatrixIndexuivARB(int size, MemorySegment indices) { - var ext = GLLoader.getExtCapabilities(); + public static void glMatrixIndexuivARB(int size, @NativeType("const GLuint *") MemorySegment indices) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMatrixIndexuivARB).invokeExact(size, indices); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMatrixIndexuivARB).invokeExact(size, indices); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMatrixIndexusvARB(int size, MemorySegment indices) { - var ext = GLLoader.getExtCapabilities(); + public static void glMatrixIndexPointerARB(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMatrixIndexusvARB).invokeExact(size, indices); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMatrixIndexPointerARB).invokeExact(size, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java index 67676ae3..7307e93e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultisample.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,31 +14,39 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_multisample} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBMultisample { + public static final int GL_MULTISAMPLE_ARB = 0x809D; + public static final int GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; + public static final int GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; + public static final int GL_SAMPLE_COVERAGE_ARB = 0x80A0; + public static final int GL_SAMPLE_BUFFERS_ARB = 0x80A8; + public static final int GL_SAMPLES_ARB = 0x80A9; + public static final int GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; + public static final int GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; + public static final int GL_MULTISAMPLE_BIT_ARB = 0x20000000; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_multisample) return; - ext.glSampleCoverageARB = load.invoke("glSampleCoverageARB", FunctionDescriptors.FZV); + ext.glSampleCoverageARB = load.invoke("glSampleCoverageARB", ofVoid(JAVA_FLOAT, JAVA_BYTE)); } public static void glSampleCoverageARB(float value, boolean invert) { - var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glSampleCoverageARB).invokeExact(value, invert); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glSampleCoverageARB).invokeExact(value, invert); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java index 44f4de3f..95ddf7fb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBMultitexture.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,21 +14,18 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_multitexture} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBMultitexture { public static final int GL_TEXTURE0_ARB = 0x84C0; @@ -63,348 +60,283 @@ public final class GLARBMultitexture { public static final int GL_TEXTURE29_ARB = 0x84DD; public static final int GL_TEXTURE30_ARB = 0x84DE; public static final int GL_TEXTURE31_ARB = 0x84DF; - + public static final int GL_ACTIVE_TEXTURE_ARB = 0x84E0; + public static final int GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; + public static final int GL_MAX_TEXTURE_UNITS_ARB = 0x84E2; public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_multitexture) return; - ext.glActiveTextureARB = load.invoke("glActiveTextureARB", IV); - ext.glClientActiveTextureARB = load.invoke("glClientActiveTextureARB", IV); - ext.glMultiTexCoord1dARB = load.invoke("glMultiTexCoord1dARB", IDV); - ext.glMultiTexCoord1dvARB = load.invoke("glMultiTexCoord1dvARB", IPV); - ext.glMultiTexCoord1fARB = load.invoke("glMultiTexCoord1fARB", IFV); - ext.glMultiTexCoord1fvARB = load.invoke("glMultiTexCoord1fvARB", IPV); - ext.glMultiTexCoord1iARB = load.invoke("glMultiTexCoord1iARB", IIV); - ext.glMultiTexCoord1ivARB = load.invoke("glMultiTexCoord1ivARB", IPV); - ext.glMultiTexCoord1sARB = load.invoke("glMultiTexCoord1sARB", ISV); - ext.glMultiTexCoord1svARB = load.invoke("glMultiTexCoord1svARB", IPV); - ext.glMultiTexCoord2dARB = load.invoke("glMultiTexCoord2dARB", IDDV); - ext.glMultiTexCoord2dvARB = load.invoke("glMultiTexCoord2dvARB", IPV); - ext.glMultiTexCoord2fARB = load.invoke("glMultiTexCoord2fARB", IFFV); - ext.glMultiTexCoord2fvARB = load.invoke("glMultiTexCoord2fvARB", IPV); - ext.glMultiTexCoord2iARB = load.invoke("glMultiTexCoord2iARB", IIIV); - ext.glMultiTexCoord2ivARB = load.invoke("glMultiTexCoord2ivARB", IPV); - ext.glMultiTexCoord2sARB = load.invoke("glMultiTexCoord2sARB", ISSV); - ext.glMultiTexCoord2svARB = load.invoke("glMultiTexCoord2svARB", IPV); - ext.glMultiTexCoord3dARB = load.invoke("glMultiTexCoord3dARB", IDDDV); - ext.glMultiTexCoord3dvARB = load.invoke("glMultiTexCoord3dvARB", IPV); - ext.glMultiTexCoord3fARB = load.invoke("glMultiTexCoord3fARB", IFFFV); - ext.glMultiTexCoord3fvARB = load.invoke("glMultiTexCoord3fvARB", IPV); - ext.glMultiTexCoord3iARB = load.invoke("glMultiTexCoord3iARB", IIIIV); - ext.glMultiTexCoord3ivARB = load.invoke("glMultiTexCoord3ivARB", IPV); - ext.glMultiTexCoord3sARB = load.invoke("glMultiTexCoord3sARB", ISSSV); - ext.glMultiTexCoord3svARB = load.invoke("glMultiTexCoord3svARB", IPV); - ext.glMultiTexCoord4dARB = load.invoke("glMultiTexCoord4dARB", IDDDDV); - ext.glMultiTexCoord4dvARB = load.invoke("glMultiTexCoord4dvARB", IPV); - ext.glMultiTexCoord4fARB = load.invoke("glMultiTexCoord4fARB", IFFFFV); - ext.glMultiTexCoord4fvARB = load.invoke("glMultiTexCoord4fvARB", IPV); - ext.glMultiTexCoord4iARB = load.invoke("glMultiTexCoord4iARB", IIIIIV); - ext.glMultiTexCoord4ivARB = load.invoke("glMultiTexCoord4ivARB", IPV); - ext.glMultiTexCoord4sARB = load.invoke("glMultiTexCoord4sARB", ISSSSV); - ext.glMultiTexCoord4svARB = load.invoke("glMultiTexCoord4svARB", IPV); + ext.glActiveTextureARB = load.invoke("glActiveTextureARB", ofVoid(JAVA_INT)); + ext.glClientActiveTextureARB = load.invoke("glClientActiveTextureARB", ofVoid(JAVA_INT)); + ext.glMultiTexCoord1dARB = load.invoke("glMultiTexCoord1dARB", ofVoid(JAVA_INT, JAVA_DOUBLE)); + ext.glMultiTexCoord1dvARB = load.invoke("glMultiTexCoord1dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord1fARB = load.invoke("glMultiTexCoord1fARB", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glMultiTexCoord1fvARB = load.invoke("glMultiTexCoord1fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord1iARB = load.invoke("glMultiTexCoord1iARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glMultiTexCoord1ivARB = load.invoke("glMultiTexCoord1ivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord1sARB = load.invoke("glMultiTexCoord1sARB", ofVoid(JAVA_INT, JAVA_SHORT)); + ext.glMultiTexCoord1svARB = load.invoke("glMultiTexCoord1svARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord2dARB = load.invoke("glMultiTexCoord2dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMultiTexCoord2dvARB = load.invoke("glMultiTexCoord2dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord2fARB = load.invoke("glMultiTexCoord2fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glMultiTexCoord2fvARB = load.invoke("glMultiTexCoord2fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord2iARB = load.invoke("glMultiTexCoord2iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexCoord2ivARB = load.invoke("glMultiTexCoord2ivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord2sARB = load.invoke("glMultiTexCoord2sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); + ext.glMultiTexCoord2svARB = load.invoke("glMultiTexCoord2svARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord3dARB = load.invoke("glMultiTexCoord3dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMultiTexCoord3dvARB = load.invoke("glMultiTexCoord3dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord3fARB = load.invoke("glMultiTexCoord3fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glMultiTexCoord3fvARB = load.invoke("glMultiTexCoord3fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord3iARB = load.invoke("glMultiTexCoord3iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexCoord3ivARB = load.invoke("glMultiTexCoord3ivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord3sARB = load.invoke("glMultiTexCoord3sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glMultiTexCoord3svARB = load.invoke("glMultiTexCoord3svARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord4dARB = load.invoke("glMultiTexCoord4dARB", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMultiTexCoord4dvARB = load.invoke("glMultiTexCoord4dvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord4fARB = load.invoke("glMultiTexCoord4fARB", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glMultiTexCoord4fvARB = load.invoke("glMultiTexCoord4fvARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord4iARB = load.invoke("glMultiTexCoord4iARB", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexCoord4ivARB = load.invoke("glMultiTexCoord4ivARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord4sARB = load.invoke("glMultiTexCoord4sARB", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glMultiTexCoord4svARB = load.invoke("glMultiTexCoord4svARB", ofVoid(JAVA_INT, ADDRESS)); } public static void glActiveTextureARB(int texture) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glActiveTextureARB).invokeExact(texture); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glActiveTextureARB).invokeExact(texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glClientActiveTextureARB(int texture) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glClientActiveTextureARB).invokeExact(texture); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glClientActiveTextureARB).invokeExact(texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord1dARB(int target, double s) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1dARB).invokeExact(target, s); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1dARB).invokeExact(target, s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord1dvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord1dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1dvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1dvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord1fARB(int target, float s) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1fARB).invokeExact(target, s); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1fARB).invokeExact(target, s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord1fvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord1fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1fvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1fvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord1iARB(int target, int s) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1iARB).invokeExact(target, s); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1iARB).invokeExact(target, s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord1ivARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord1ivARB(int target, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1ivARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1ivARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord1sARB(int target, short s) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1sARB).invokeExact(target, s); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1sARB).invokeExact(target, s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord1svARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord1svARB(int target, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord1svARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord1svARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord2dARB(int target, double s, double t) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2dARB).invokeExact(target, s, t); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2dARB).invokeExact(target, s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord2dvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord2dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2dvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2dvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord2fARB(int target, float s, float t) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2fARB).invokeExact(target, s, t); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2fARB).invokeExact(target, s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord2fvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord2fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2fvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2fvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord2iARB(int target, int s, int t) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2iARB).invokeExact(target, s, t); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2iARB).invokeExact(target, s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord2ivARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord2ivARB(int target, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2ivARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2ivARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord2sARB(int target, short s, short t) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2sARB).invokeExact(target, s, t); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2sARB).invokeExact(target, s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord2svARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord2svARB(int target, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord2svARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord2svARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord3dARB(int target, double s, double t, double r) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3dARB).invokeExact(target, s, t, r); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3dARB).invokeExact(target, s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord3dvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord3dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3dvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3dvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord3fARB(int target, float s, float t, float r) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3fARB).invokeExact(target, s, t, r); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3fARB).invokeExact(target, s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord3fvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord3fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3fvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3fvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord3iARB(int target, int s, int t, int r) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3iARB).invokeExact(target, s, t, r); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3iARB).invokeExact(target, s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord3ivARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord3ivARB(int target, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3ivARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3ivARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord3sARB(int target, short s, short t, short r) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3sARB).invokeExact(target, s, t, r); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3sARB).invokeExact(target, s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord3svARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord3svARB(int target, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord3svARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord3svARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord4dARB(int target, double s, double t, double r, double q) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4dARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4dARB).invokeExact(target, s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord4dvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord4dvARB(int target, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4dvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4dvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord4fARB(int target, float s, float t, float r, float q) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4fARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4fARB).invokeExact(target, s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord4fvARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord4fvARB(int target, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4fvARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4fvARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord4iARB(int target, int s, int t, int r, int q) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4iARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4iARB).invokeExact(target, s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord4ivARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord4ivARB(int target, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4ivARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4ivARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } public static void glMultiTexCoord4sARB(int target, short s, short t, short r, short q) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4sARB).invokeExact(target, s, t, r, q); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4sARB).invokeExact(target, s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glMultiTexCoord4svARB(int target, MemorySegment v) { - final var ext = GLLoader.getExtCapabilities(); + public static void glMultiTexCoord4svARB(int target, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMultiTexCoord4svARB).invokeExact(target, v); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMultiTexCoord4svARB).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java index 677f2b30..1d388905 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBOcclusionQuery.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,21 +14,18 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; - -import java.lang.foreign.MemorySegment; - -import static overrungl.FunctionDescriptors.*; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_occlusion_query} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBOcclusionQuery { public static final int GL_QUERY_COUNTER_BITS_ARB = 0x8864; @@ -36,88 +33,73 @@ public final class GLARBOcclusionQuery { public static final int GL_QUERY_RESULT_ARB = 0x8866; public static final int GL_QUERY_RESULT_AVAILABLE_ARB = 0x8867; public static final int GL_SAMPLES_PASSED_ARB = 0x8914; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_occlusion_query) return; - ext.glBeginQueryARB = load.invoke("glBeginQueryARB", IIV); - ext.glDeleteQueriesARB = load.invoke("glDeleteQueriesARB", IPV); - ext.glEndQueryARB = load.invoke("glEndQueryARB", IV); - ext.glGenQueriesARB = load.invoke("glGenQueriesARB", IPV); - ext.glGetQueryObjectivARB = load.invoke("glGetQueryObjectivARB", IIPV); - ext.glGetQueryObjectuivARB = load.invoke("glGetQueryObjectuivARB", IIPV); - ext.glGetQueryivARB = load.invoke("glGetQueryivARB", IIPV); - ext.glIsQueryARB = load.invoke("glIsQueryARB", IZ); + ext.glGenQueriesARB = load.invoke("glGenQueriesARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeleteQueriesARB = load.invoke("glDeleteQueriesARB", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsQueryARB = load.invoke("glIsQueryARB", of(JAVA_BYTE, JAVA_INT)); + ext.glBeginQueryARB = load.invoke("glBeginQueryARB", ofVoid(JAVA_INT, JAVA_INT)); + ext.glEndQueryARB = load.invoke("glEndQueryARB", ofVoid(JAVA_INT)); + ext.glGetQueryivARB = load.invoke("glGetQueryivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetQueryObjectivARB = load.invoke("glGetQueryObjectivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetQueryObjectuivARB = load.invoke("glGetQueryObjectuivARB", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); } - public static void glBeginQueryARB(int target, int id) { - final var ext = GLLoader.getExtCapabilities(); + public static void glGenQueriesARB(int n, @NativeType("GLuint *") MemorySegment ids) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glBeginQueryARB).invokeExact(target, id); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGenQueriesARB).invokeExact(n, ids); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glDeleteQueriesARB(int n, MemorySegment ids) { - final var ext = GLLoader.getExtCapabilities(); + public static void glDeleteQueriesARB(int n, @NativeType("const GLuint *") MemorySegment ids) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glDeleteQueriesARB).invokeExact(n, ids); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glDeleteQueriesARB).invokeExact(n, ids); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glEndQueryARB(int target) { - final var ext = GLLoader.getExtCapabilities(); + public static boolean glIsQueryARB(int id) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glEndQueryARB).invokeExact(target); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + return (boolean) + check(ext.glIsQueryARB).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGenQueriesARB(int n, MemorySegment ids) { - final var ext = GLLoader.getExtCapabilities(); + public static void glBeginQueryARB(int target, int id) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGenQueriesARB).invokeExact(n, ids); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glBeginQueryARB).invokeExact(target, id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetQueryObjectivARB(int id, int pname, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + public static void glEndQueryARB(int target) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetQueryObjectivARB).invokeExact(id, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glEndQueryARB).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetQueryObjectuivARB(int id, int pname, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + public static void glGetQueryivARB(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetQueryObjectuivARB).invokeExact(id, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetQueryivARB).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glGetQueryivARB(int target, int pname, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + public static void glGetQueryObjectivARB(int id, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glGetQueryivARB).invokeExact(target, pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetQueryObjectivARB).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static boolean glIsQueryARB(int id) { - final var ext = GLLoader.getExtCapabilities(); + public static void glGetQueryObjectuivARB(int id, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - return (boolean) GLLoader.check(ext.glIsQueryARB).invokeExact(id); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glGetQueryObjectuivARB).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java index a70a6b2d..e244de40 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBParallelShaderCompile.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,34 +14,32 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_parallel_shader_compile} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBParallelShaderCompile { public static final int GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0; public static final int GL_COMPLETION_STATUS_ARB = 0x91B1; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_parallel_shader_compile) return; - ext.glMaxShaderCompilerThreadsARB = load.invoke("glMaxShaderCompilerThreadsARB", FunctionDescriptors.IV); + ext.glMaxShaderCompilerThreadsARB = load.invoke("glMaxShaderCompilerThreadsARB", ofVoid(JAVA_INT)); } public static void glMaxShaderCompilerThreadsARB(int count) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glMaxShaderCompilerThreadsARB).invokeExact(count); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glMaxShaderCompilerThreadsARB).invokeExact(count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java index fc3ac59a..90f8d82b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPipelineStatisticsQuery.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,13 +14,18 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** * {@code GL_ARB_pipeline_statistics_query} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBPipelineStatisticsQuery { public static final int GL_VERTICES_SUBMITTED_ARB = 0x82EE; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java index f3a18532..3a9331ec 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPixelBufferObject.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,13 +14,18 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + /** * {@code GL_ARB_pixel_buffer_object} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBPixelBufferObject { public static final int GL_PIXEL_PACK_BUFFER_ARB = 0x88EB; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java index 48007b7e..e4ca8279 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointParameters.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2022-present Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -14,48 +14,42 @@ * copies or substantial portions of the Software. */ +// This file is auto-generated. DO NOT EDIT! package overrungl.opengl.ext.arb; -import overrungl.opengl.GLExtCaps; -import overrungl.opengl.GLLoadFunc; -import overrungl.opengl.GLLoader; -import overrungl.FunctionDescriptors; - -import java.lang.foreign.MemorySegment; +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; /** * {@code GL_ARB_point_parameters} - * - * @author squid233 - * @since 0.1.0 */ public final class GLARBPointParameters { public static final int GL_POINT_SIZE_MIN_ARB = 0x8126; public static final int GL_POINT_SIZE_MAX_ARB = 0x8127; public static final int GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; public static final int GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129; - public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_point_parameters) return; - ext.glPointParameterfARB = load.invoke("glPointParameterfARB", FunctionDescriptors.IFV); - ext.glPointParameterfvARB = load.invoke("glPointParameterfvARB", FunctionDescriptors.IPV); + ext.glPointParameterfARB = load.invoke("glPointParameterfARB", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glPointParameterfvARB = load.invoke("glPointParameterfvARB", ofVoid(JAVA_INT, ADDRESS)); } public static void glPointParameterfARB(int pname, float param) { - final var ext = GLLoader.getExtCapabilities(); + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glPointParameterfARB).invokeExact(pname, param); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glPointParameterfARB).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } - public static void glPointParameterfvARB(int pname, MemorySegment params) { - final var ext = GLLoader.getExtCapabilities(); + public static void glPointParameterfvARB(int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); try { - GLLoader.check(ext.glPointParameterfvARB).invokeExact(pname, params); - } catch (Throwable e) { - throw new AssertionError("should not reach here", e); - } + check(ext.glPointParameterfvARB).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } } + } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java new file mode 100644 index 00000000..3b6bbf3d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBPointSprite.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.arb; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_ARB_point_sprite} + */ +public final class GLARBPointSprite { + public static final int GL_POINT_SPRITE_ARB = 0x8861; + public static final int GL_COORD_REPLACE_ARB = 0x8862; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java index 7614613b..47efb739 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBRobustness.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_robustness} - */ + * {@code GL_ARB_robustness} + */ public final class GLARBRobustness { public static final int GL_NO_RESET_NOTIFICATION_ARB = 0x8261; public static final int GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java index ac7f0fe0..f1059e61 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleLocations.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sample_locations} - */ + * {@code GL_ARB_sample_locations} + */ public final class GLARBSampleLocations { public static final int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java index 448573dc..2ce7f94a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSampleShading.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sample_shading} - */ + * {@code GL_ARB_sample_shading} + */ public final class GLARBSampleShading { public static final int GL_SAMPLE_SHADING_ARB = 0x8C36; public static final int GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java index c13fe8a1..4f0c6ebd 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShaderObjects.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_shader_objects} - */ + * {@code GL_ARB_shader_objects} + */ public final class GLARBShaderObjects { public static final int GL_PROGRAM_OBJECT_ARB = 0x8B40; public static final int GL_SHADER_OBJECT_ARB = 0x8B48; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java index efdd6b96..5dfc355f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadingLanguageInclude.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_shading_language_include} - */ + * {@code GL_ARB_shading_language_include} + */ public final class GLARBShadingLanguageInclude { public static final int GL_SHADER_INCLUDE_ARB = 0x8DAE; public static final int GL_NAMED_STRING_LENGTH_ARB = 0x8DE9; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java index e59f4cfc..e410d045 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadow.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_shadow} - */ + * {@code GL_ARB_shadow} + */ public final class GLARBShadow { public static final int GL_TEXTURE_COMPARE_MODE_ARB = 0x884C; public static final int GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java index 6e6094c6..d922b49e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBShadowAmbient.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_shadow_ambient} - */ + * {@code GL_ARB_shadow_ambient} + */ public final class GLARBShadowAmbient { public static final int GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java index 79b5e71a..fa16c390 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseBuffer.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sparse_buffer} - */ + * {@code GL_ARB_sparse_buffer} + */ public final class GLARBSparseBuffer { public static final int GL_SPARSE_STORAGE_BIT_ARB = 0x0400; public static final int GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java index f8aeedd9..61da4460 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBSparseTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_sparse_texture} - */ + * {@code GL_ARB_sparse_texture} + */ public final class GLARBSparseTexture { public static final int GL_TEXTURE_SPARSE_ARB = 0x91A6; public static final int GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java index db29443a..fc68f058 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBorderClamp.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_border_clamp} - */ + * {@code GL_ARB_texture_border_clamp} + */ public final class GLARBTextureBorderClamp { public static final int GL_CLAMP_TO_BORDER_ARB = 0x812D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java index 3c9b8b52..8b3ec23c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureBufferObject.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_buffer_object} - */ + * {@code GL_ARB_texture_buffer_object} + */ public final class GLARBTextureBufferObject { public static final int GL_TEXTURE_BUFFER_ARB = 0x8C2A; public static final int GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java index ad4a5cd8..d6e1ff9a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompression.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_compression} - */ + * {@code GL_ARB_texture_compression} + */ public final class GLARBTextureCompression { public static final int GL_COMPRESSED_ALPHA_ARB = 0x84E9; public static final int GL_COMPRESSED_LUMINANCE_ARB = 0x84EA; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java index 44feb958..70b3bb71 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCompressionBptc.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_compression_bptc} - */ + * {@code GL_ARB_texture_compression_bptc} + */ public final class GLARBTextureCompressionBptc { public static final int GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; public static final int GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java index 56b211b4..39341c22 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMap.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_cube_map} - */ + * {@code GL_ARB_texture_cube_map} + */ public final class GLARBTextureCubeMap { public static final int GL_NORMAL_MAP_ARB = 0x8511; public static final int GL_REFLECTION_MAP_ARB = 0x8512; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java index 4a403360..1226fb4e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureCubeMapArray.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_cube_map_array} - */ + * {@code GL_ARB_texture_cube_map_array} + */ public final class GLARBTextureCubeMapArray { public static final int GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java index 03719961..b57c6400 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvCombine.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_env_combine} - */ + * {@code GL_ARB_texture_env_combine} + */ public final class GLARBTextureEnvCombine { public static final int GL_COMBINE_ARB = 0x8570; public static final int GL_COMBINE_RGB_ARB = 0x8571; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java index 98fa7a81..d52bff2d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureEnvDot3.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_env_dot3} - */ + * {@code GL_ARB_texture_env_dot3} + */ public final class GLARBTextureEnvDot3 { public static final int GL_DOT3_RGB_ARB = 0x86AE; public static final int GL_DOT3_RGBA_ARB = 0x86AF; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java index c727fa90..d8ecf803 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFilterMinmax.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_filter_minmax} - */ + * {@code GL_ARB_texture_filter_minmax} + */ public final class GLARBTextureFilterMinmax { public static final int GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366; public static final int GL_WEIGHTED_AVERAGE_ARB = 0x9367; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java index 4072516f..421125e3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureFloat.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_float} - */ + * {@code GL_ARB_texture_float} + */ public final class GLARBTextureFloat { public static final int GL_TEXTURE_RED_TYPE_ARB = 0x8C10; public static final int GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java index 726c5b37..b25a38c3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureGather.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_gather} - */ + * {@code GL_ARB_texture_gather} + */ public final class GLARBTextureGather { public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java index 4b2f644e..6349ccab 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureMirroredRepeat.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_mirrored_repeat} - */ + * {@code GL_ARB_texture_mirrored_repeat} + */ public final class GLARBTextureMirroredRepeat { public static final int GL_MIRRORED_REPEAT_ARB = 0x8370; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java index 19b0cc93..7b30e5c3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTextureRectangle.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_texture_rectangle} - */ + * {@code GL_ARB_texture_rectangle} + */ public final class GLARBTextureRectangle { public static final int GL_TEXTURE_RECTANGLE_ARB = 0x84F5; public static final int GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java index d0fb4de8..46c310eb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransformFeedbackOverflowQuery.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_transform_feedback_overflow_query} - */ + * {@code GL_ARB_transform_feedback_overflow_query} + */ public final class GLARBTransformFeedbackOverflowQuery { public static final int GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; public static final int GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java index 97d0327b..8e848adc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBTransposeMatrix.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_transpose_matrix} - */ + * {@code GL_ARB_transpose_matrix} + */ public final class GLARBTransposeMatrix { public static final int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; public static final int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java index f0636ca9..b8c90f24 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBlend.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_vertex_blend} - */ + * {@code GL_ARB_vertex_blend} + */ public final class GLARBVertexBlend { public static final int GL_MAX_VERTEX_UNITS_ARB = 0x86A4; public static final int GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java index c9f8aaf6..b88324d2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexBufferObject.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_vertex_buffer_object} - */ + * {@code GL_ARB_vertex_buffer_object} + */ public final class GLARBVertexBufferObject { public static final int GL_BUFFER_SIZE_ARB = 0x8764; public static final int GL_BUFFER_USAGE_ARB = 0x8765; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java index 09bf3e2c..dd1f839f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexProgram.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_vertex_program} - */ + * {@code GL_ARB_vertex_program} + */ public final class GLARBVertexProgram { public static final int GL_COLOR_SUM_ARB = 0x8458; public static final int GL_VERTEX_PROGRAM_ARB = 0x8620; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java index 4373fc14..e8b4db31 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBVertexShader.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_vertex_shader} - */ + * {@code GL_ARB_vertex_shader} + */ public final class GLARBVertexShader { public static final int GL_VERTEX_SHADER_ARB = 0x8B31; public static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java index 209d677d..6a7a402c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBViewportArray.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_viewport_array} - */ + * {@code GL_ARB_viewport_array} + */ public final class GLARBViewportArray { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_viewport_array) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java index a4785a7e..6a52a5da 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/arb/GLARBWindowPos.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ARB_window_pos} - */ + * {@code GL_ARB_window_pos} + */ public final class GLARBWindowPos { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ARB_window_pos) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java index 276c746e..d1aae866 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIDrawBuffers.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_draw_buffers} - */ + * {@code GL_ATI_draw_buffers} + */ public final class GLATIDrawBuffers { public static final int GL_MAX_DRAW_BUFFERS_ATI = 0x8824; public static final int GL_DRAW_BUFFER0_ATI = 0x8825; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java index db779d68..9c142156 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIElementArray.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_element_array} - */ + * {@code GL_ATI_element_array} + */ public final class GLATIElementArray { public static final int GL_ELEMENT_ARRAY_ATI = 0x8768; public static final int GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java index a3324ba2..a528be6d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIEnvmapBumpmap.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_envmap_bumpmap} - */ + * {@code GL_ATI_envmap_bumpmap} + */ public final class GLATIEnvmapBumpmap { public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775; public static final int GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java index 8e4ad1ff..14118cae 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIFragmentShader.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_fragment_shader} - */ + * {@code GL_ATI_fragment_shader} + */ public final class GLATIFragmentShader { public static final int GL_FRAGMENT_SHADER_ATI = 0x8920; public static final int GL_REG_0_ATI = 0x8921; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java index b661c3e9..4812b584 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMapObjectBuffer.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_map_object_buffer} - */ + * {@code GL_ATI_map_object_buffer} + */ public final class GLATIMapObjectBuffer { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ATI_map_object_buffer) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java index d4c9a647..20d3dce6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIMeminfo.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_meminfo} - */ + * {@code GL_ATI_meminfo} + */ public final class GLATIMeminfo { public static final int GL_VBO_FREE_MEMORY_ATI = 0x87FB; public static final int GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java index f10600e6..2a125224 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPixelFormatFloat.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_pixel_format_float} - */ + * {@code GL_ATI_pixel_format_float} + */ public final class GLATIPixelFormatFloat { public static final int GL_RGBA_FLOAT_MODE_ATI = 0x8820; public static final int GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java index 5d157d64..a15809c1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIPnTriangles.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_pn_triangles} - */ + * {@code GL_ATI_pn_triangles} + */ public final class GLATIPnTriangles { public static final int GL_PN_TRIANGLES_ATI = 0x87F0; public static final int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java index 24927533..e5ab8f74 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATISeparateStencil.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_separate_stencil} - */ + * {@code GL_ATI_separate_stencil} + */ public final class GLATISeparateStencil { public static final int GL_STENCIL_BACK_FUNC_ATI = 0x8800; public static final int GL_STENCIL_BACK_FAIL_ATI = 0x8801; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java index 94ef41ed..3e7f8a1a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextFragmentShader.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_text_fragment_shader} - */ + * {@code GL_ATI_text_fragment_shader} + */ public final class GLATITextFragmentShader { public static final int GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java index 58e1059e..f63ccd70 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureEnvCombine3.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_texture_env_combine3} - */ + * {@code GL_ATI_texture_env_combine3} + */ public final class GLATITextureEnvCombine3 { public static final int GL_MODULATE_ADD_ATI = 0x8744; public static final int GL_MODULATE_SIGNED_ADD_ATI = 0x8745; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java index 3352a01b..5c86a1ad 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureFloat.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_texture_float} - */ + * {@code GL_ATI_texture_float} + */ public final class GLATITextureFloat { public static final int GL_RGBA_FLOAT32_ATI = 0x8814; public static final int GL_RGB_FLOAT32_ATI = 0x8815; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java index de8a4c1a..edb6d808 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATITextureMirrorOnce.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_texture_mirror_once} - */ + * {@code GL_ATI_texture_mirror_once} + */ public final class GLATITextureMirrorOnce { public static final int GL_MIRROR_CLAMP_ATI = 0x8742; public static final int GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java index d90221f4..a4cac56a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexArrayObject.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_vertex_array_object} - */ + * {@code GL_ATI_vertex_array_object} + */ public final class GLATIVertexArrayObject { public static final int GL_STATIC_ATI = 0x8760; public static final int GL_DYNAMIC_ATI = 0x8761; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java index b11ee488..0806c8b3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexAttribArrayObject.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_vertex_attrib_array_object} - */ + * {@code GL_ATI_vertex_attrib_array_object} + */ public final class GLATIVertexAttribArrayObject { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_ATI_vertex_attrib_array_object) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java index cd25649d..170a5911 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ati/GLATIVertexStreams.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_ATI_vertex_streams} - */ + * {@code GL_ATI_vertex_streams} + */ public final class GLATIVertexStreams { public static final int GL_MAX_VERTEX_STREAMS_ATI = 0x876B; public static final int GL_VERTEX_STREAM0_ATI = 0x876C; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java index bcf992bf..5fc033ac 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXT422Pixels.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_EXT_422_pixels} - */ + * {@code GL_EXT_422_pixels} + */ public final class GLEXT422Pixels { public static final int GL_422_EXT = 0x80CC; public static final int GL_422_REV_EXT = 0x80CD; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java index 49e1b439..88f82176 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMCullVertex.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_IBM_cull_vertex} - */ + * {@code GL_IBM_cull_vertex} + */ public final class GLIBMCullVertex { public static final int GL_CULL_VERTEX_IBM = 103050; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java index 00664d0b..ceb448c4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMMultimodeDrawArrays.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_IBM_multimode_draw_arrays} - */ + * {@code GL_IBM_multimode_draw_arrays} + */ public final class GLIBMMultimodeDrawArrays { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_IBM_multimode_draw_arrays) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java index c8dd22fc..b9b66632 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMRasterposClip.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_IBM_rasterpos_clip} - */ + * {@code GL_IBM_rasterpos_clip} + */ public final class GLIBMRasterposClip { public static final int GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java index 01238982..6a72f818 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMStaticData.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_IBM_static_data} - */ + * {@code GL_IBM_static_data} + */ public final class GLIBMStaticData { public static final int GL_ALL_STATIC_DATA_IBM = 103060; public static final int GL_STATIC_VERTEX_ARRAY_IBM = 103061; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java index 0499f1af..7453cc46 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMTextureMirroredRepeat.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_IBM_texture_mirrored_repeat} - */ + * {@code GL_IBM_texture_mirrored_repeat} + */ public final class GLIBMTextureMirroredRepeat { public static final int GL_MIRRORED_REPEAT_IBM = 0x8370; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java index 879bcdd1..9c25f714 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ibm/GLIBMVertexArrayLists.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_IBM_vertex_array_lists} - */ + * {@code GL_IBM_vertex_array_lists} + */ public final class GLIBMVertexArrayLists { public static final int GL_VERTEX_ARRAY_LIST_IBM = 103070; public static final int GL_NORMAL_ARRAY_LIST_IBM = 103071; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java index d60e393d..af961380 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELBlackholeRender.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INTEL_blackhole_render} - */ + * {@code GL_INTEL_blackhole_render} + */ public final class GLINTELBlackholeRender { public static final int GL_BLACKHOLE_RENDER_INTEL = 0x83FC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java index 08a1e670..b020fa7d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELConservativeRasterization.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INTEL_conservative_rasterization} - */ + * {@code GL_INTEL_conservative_rasterization} + */ public final class GLINTELConservativeRasterization { public static final int GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java index a1462a64..aaf88e98 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELFramebufferCMAA.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INTEL_framebuffer_CMAA} - */ + * {@code GL_INTEL_framebuffer_CMAA} + */ public final class GLINTELFramebufferCMAA { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_INTEL_framebuffer_CMAA) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java index 01239da6..f5aab922 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELMapTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INTEL_map_texture} - */ + * {@code GL_INTEL_map_texture} + */ public final class GLINTELMapTexture { public static final int GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; public static final int GL_LAYOUT_DEFAULT_INTEL = 0; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java index 19f6c393..bc0965b6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELParallelArrays.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INTEL_parallel_arrays} - */ + * {@code GL_INTEL_parallel_arrays} + */ public final class GLINTELParallelArrays { public static final int GL_PARALLEL_ARRAYS_INTEL = 0x83F4; public static final int GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java index 97c239a3..2c68714f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/intel/GLINTELPerformanceQuery.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_INTEL_performance_query} - */ + * {@code GL_INTEL_performance_query} + */ public final class GLINTELPerformanceQuery { public static final int GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; public static final int GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java index ed014356..3bf60770 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvanced.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_KHR_blend_equation_advanced} - */ + * {@code GL_KHR_blend_equation_advanced} + */ public final class GLKHRBlendEquationAdvanced { public static final int GL_MULTIPLY_KHR = 0x9294; public static final int GL_SCREEN_KHR = 0x9295; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java index fdc44c01..538c6a6d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRBlendEquationAdvancedCoherent.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_KHR_blend_equation_advanced_coherent} - */ + * {@code GL_KHR_blend_equation_advanced_coherent} + */ public final class GLKHRBlendEquationAdvancedCoherent { public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java index 65070acc..a5fcb12d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRNoError.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_KHR_no_error} - */ + * {@code GL_KHR_no_error} + */ public final class GLKHRNoError { public static final int GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java index e620d88e..bbe7b1fa 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRParallelShaderCompile.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_KHR_parallel_shader_compile} - */ + * {@code GL_KHR_parallel_shader_compile} + */ public final class GLKHRParallelShaderCompile { public static final int GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; public static final int GL_COMPLETION_STATUS_KHR = 0x91B1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java index e9b1bf1f..40713187 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRRobustness.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_KHR_robustness} - */ + * {@code GL_KHR_robustness} + */ public final class GLKHRRobustness { public static final int GL_CONTEXT_ROBUST_ACCESS = 0x90F3; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java index adb08522..14c62d3e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRShaderSubgroup.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_KHR_shader_subgroup} - */ + * {@code GL_KHR_shader_subgroup} + */ public final class GLKHRShaderSubgroup { public static final int GL_SUBGROUP_SIZE_KHR = 0x9532; public static final int GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java index 4de0f61e..f5b77d63 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/khr/GLKHRTextureCompressionAstcHdr.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_KHR_texture_compression_astc_hdr} - */ + * {@code GL_KHR_texture_compression_astc_hdr} + */ public final class GLKHRTextureCompressionAstcHdr { public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java index 8161e5c8..90f63a3c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipX.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_framebuffer_flip_x} - */ + * {@code GL_MESA_framebuffer_flip_x} + */ public final class GLMESAFramebufferFlipX { public static final int GL_FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java index 03114979..d8508292 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferFlipY.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_framebuffer_flip_y} - */ + * {@code GL_MESA_framebuffer_flip_y} + */ public final class GLMESAFramebufferFlipY { public static final int GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; public static void load(GLExtCaps ext, GLLoadFunc load) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java index 2a1b95a7..d28d6cee 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAFramebufferSwapXY.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_framebuffer_swap_xy} - */ + * {@code GL_MESA_framebuffer_swap_xy} + */ public final class GLMESAFramebufferSwapXY { public static final int GL_FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java index db5f0c58..c3681b87 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAPackInvert.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_pack_invert} - */ + * {@code GL_MESA_pack_invert} + */ public final class GLMESAPackInvert { public static final int GL_PACK_INVERT_MESA = 0x8758; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java index 1f6f4ce0..f4174332 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAProgramBinaryFormats.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_program_binary_formats} - */ + * {@code GL_MESA_program_binary_formats} + */ public final class GLMESAProgramBinaryFormats { public static final int GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java index da823763..f036b4da 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAResizeBuffers.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_resize_buffers} - */ + * {@code GL_MESA_resize_buffers} + */ public final class GLMESAResizeBuffers { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_MESA_resize_buffers) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java index 9ad96ccc..1b0308fc 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESATileRasterOrder.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_tile_raster_order} - */ + * {@code GL_MESA_tile_raster_order} + */ public final class GLMESATileRasterOrder { public static final int GL_TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; public static final int GL_TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java index 9e56e844..aa1e4b21 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAWindowPos.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_window_pos} - */ + * {@code GL_MESA_window_pos} + */ public final class GLMESAWindowPos { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_MESA_window_pos) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java index 93a18362..c42d2b31 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAXTextureStack.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESAX_texture_stack} - */ + * {@code GL_MESAX_texture_stack} + */ public final class GLMESAXTextureStack { public static final int GL_TEXTURE_1D_STACK_MESAX = 0x8759; public static final int GL_TEXTURE_2D_STACK_MESAX = 0x875A; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java index 7d85deca..8ea9bfad 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/mesa/GLMESAYcbcrTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_MESA_ycbcr_texture} - */ + * {@code GL_MESA_ycbcr_texture} + */ public final class GLMESAYcbcrTexture { public static final int GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA; public static final int GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java index 103e11c0..147dbdd9 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXConditionalRender.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_NVX_conditional_render} - */ + * {@code GL_NVX_conditional_render} + */ public final class GLNVXConditionalRender { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_NVX_conditional_render) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java index 984d0107..c7ec56b6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESByteCoordinates.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OES_byte_coordinates} - */ + * {@code GL_OES_byte_coordinates} + */ public final class GLOESByteCoordinates { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_OES_byte_coordinates) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java index 3b43b0a2..90e7859c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESCompressedPalettedTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OES_compressed_paletted_texture} - */ + * {@code GL_OES_compressed_paletted_texture} + */ public final class GLOESCompressedPalettedTexture { public static final int GL_PALETTE4_RGB8_OES = 0x8B90; public static final int GL_PALETTE4_RGBA8_OES = 0x8B91; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java index 3f1339c6..722b74ab 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESFixedPoint.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OES_fixed_point} - */ + * {@code GL_OES_fixed_point} + */ public final class GLOESFixedPoint { public static final int GL_FIXED_OES = 0x140C; public static void load(GLExtCaps ext, GLLoadFunc load) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java index 067c74e0..9c0096f2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESQueryMatrix.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OES_query_matrix} - */ + * {@code GL_OES_query_matrix} + */ public final class GLOESQueryMatrix { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_OES_query_matrix) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java index 32921bc1..1a7e33c1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESReadFormat.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OES_read_format} - */ + * {@code GL_OES_read_format} + */ public final class GLOESReadFormat { public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java index 523b0b5b..11bc85ae 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/oes/GLOESSinglePrecision.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_OES_single_precision} - */ + * {@code GL_OES_single_precision} + */ public final class GLOESSinglePrecision { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_OES_single_precision) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java index f2b4159b..95cc319a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorMatrix.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGI_color_matrix} - */ + * {@code GL_SGI_color_matrix} + */ public final class GLSGIColorMatrix { public static final int GL_COLOR_MATRIX_SGI = 0x80B1; public static final int GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java index a967358d..a8e87741 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIColorTable.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGI_color_table} - */ + * {@code GL_SGI_color_table} + */ public final class GLSGIColorTable { public static final int GL_COLOR_TABLE_SGI = 0x80D0; public static final int GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java index b3cbb144..7498c940 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISDetailTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_detail_texture} - */ + * {@code GL_SGIS_detail_texture} + */ public final class GLSGISDetailTexture { public static final int GL_DETAIL_TEXTURE_2D_SGIS = 0x8095; public static final int GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java index 7b0b3510..5e6e0d83 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISFogFunction.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_fog_function} - */ + * {@code GL_SGIS_fog_function} + */ public final class GLSGISFogFunction { public static final int GL_FOG_FUNC_SGIS = 0x812A; public static final int GL_FOG_FUNC_POINTS_SGIS = 0x812B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java index 4747cc24..404e5a91 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISGenerateMipmap.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_generate_mipmap} - */ + * {@code GL_SGIS_generate_mipmap} + */ public final class GLSGISGenerateMipmap { public static final int GL_GENERATE_MIPMAP_SGIS = 0x8191; public static final int GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java index 5ead8414..9da9e512 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISMultisample.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_multisample} - */ + * {@code GL_SGIS_multisample} + */ public final class GLSGISMultisample { public static final int GL_MULTISAMPLE_SGIS = 0x809D; public static final int GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java index 7f65f68a..563763b8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPixelTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_pixel_texture} - */ + * {@code GL_SGIS_pixel_texture} + */ public final class GLSGISPixelTexture { public static final int GL_PIXEL_TEXTURE_SGIS = 0x8353; public static final int GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java index 16a3b351..72095425 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointLineTexgen.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_point_line_texgen} - */ + * {@code GL_SGIS_point_line_texgen} + */ public final class GLSGISPointLineTexgen { public static final int GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; public static final int GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java index 8ba511e8..e1d31315 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISPointParameters.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_point_parameters} - */ + * {@code GL_SGIS_point_parameters} + */ public final class GLSGISPointParameters { public static final int GL_POINT_SIZE_MIN_SGIS = 0x8126; public static final int GL_POINT_SIZE_MAX_SGIS = 0x8127; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java index 8b2052ae..bb747805 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISSharpenTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_sharpen_texture} - */ + * {@code GL_SGIS_sharpen_texture} + */ public final class GLSGISSharpenTexture { public static final int GL_LINEAR_SHARPEN_SGIS = 0x80AD; public static final int GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java index 9d496080..f235cf5d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTexture4D.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_texture4D} - */ + * {@code GL_SGIS_texture4D} + */ public final class GLSGISTexture4D { public static final int GL_PACK_SKIP_VOLUMES_SGIS = 0x8130; public static final int GL_PACK_IMAGE_DEPTH_SGIS = 0x8131; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java index 2e387303..cff30b7f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureBorderClamp.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_texture_border_clamp} - */ + * {@code GL_SGIS_texture_border_clamp} + */ public final class GLSGISTextureBorderClamp { public static final int GL_CLAMP_TO_BORDER_SGIS = 0x812D; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java index 97589f39..6e2b103d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureColorMask.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_texture_color_mask} - */ + * {@code GL_SGIS_texture_color_mask} + */ public final class GLSGISTextureColorMask { public static final int GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; public static void load(GLExtCaps ext, GLLoadFunc load) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java index d3ab802e..824d582a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureEdgeClamp.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_texture_edge_clamp} - */ + * {@code GL_SGIS_texture_edge_clamp} + */ public final class GLSGISTextureEdgeClamp { public static final int GL_CLAMP_TO_EDGE_SGIS = 0x812F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java index d7ce18e7..c92f06e2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureFilter4.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_texture_filter4} - */ + * {@code GL_SGIS_texture_filter4} + */ public final class GLSGISTextureFilter4 { public static final int GL_FILTER4_SGIS = 0x8146; public static final int GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java index 03657043..310987e1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureLod.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_texture_lod} - */ + * {@code GL_SGIS_texture_lod} + */ public final class GLSGISTextureLod { public static final int GL_TEXTURE_MIN_LOD_SGIS = 0x813A; public static final int GL_TEXTURE_MAX_LOD_SGIS = 0x813B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java index e57bde47..e77c06b4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGISTextureSelect.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIS_texture_select} - */ + * {@code GL_SGIS_texture_select} + */ public final class GLSGISTextureSelect { public static final int GL_DUAL_ALPHA4_SGIS = 0x8110; public static final int GL_DUAL_ALPHA8_SGIS = 0x8111; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java index 3e74c1e0..d57f7017 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGITextureColorTable.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGI_texture_color_table} - */ + * {@code GL_SGI_texture_color_table} + */ public final class GLSGITextureColorTable { public static final int GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC; public static final int GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java index 57514314..4800da97 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsync.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_async} - */ + * {@code GL_SGIX_async} + */ public final class GLSGIXAsync { public static final int GL_ASYNC_MARKER_SGIX = 0x8329; public static void load(GLExtCaps ext, GLLoadFunc load) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java index 0eb808f7..472ac076 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncHistogram.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_async_histogram} - */ + * {@code GL_SGIX_async_histogram} + */ public final class GLSGIXAsyncHistogram { public static final int GL_ASYNC_HISTOGRAM_SGIX = 0x832C; public static final int GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java index 27b8374e..37f06947 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXAsyncPixel.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_async_pixel} - */ + * {@code GL_SGIX_async_pixel} + */ public final class GLSGIXAsyncPixel { public static final int GL_ASYNC_TEX_IMAGE_SGIX = 0x835C; public static final int GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java index 73125ffc..7b68ac9d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXBlendAlphaMinmax.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_blend_alpha_minmax} - */ + * {@code GL_SGIX_blend_alpha_minmax} + */ public final class GLSGIXBlendAlphaMinmax { public static final int GL_ALPHA_MIN_SGIX = 0x8320; public static final int GL_ALPHA_MAX_SGIX = 0x8321; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java index 61f0284a..1ab23c28 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXCalligraphicFragment.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_calligraphic_fragment} - */ + * {@code GL_SGIX_calligraphic_fragment} + */ public final class GLSGIXCalligraphicFragment { public static final int GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java index 2759d4f2..4fa16086 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXClipmap.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_clipmap} - */ + * {@code GL_SGIX_clipmap} + */ public final class GLSGIXClipmap { public static final int GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; public static final int GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java index 6a084f89..903f7e2d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXConvolutionAccuracy.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_convolution_accuracy} - */ + * {@code GL_SGIX_convolution_accuracy} + */ public final class GLSGIXConvolutionAccuracy { public static final int GL_CONVOLUTION_HINT_SGIX = 0x8316; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java index 20c9540d..6c28a1ba 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXDepthTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_depth_texture} - */ + * {@code GL_SGIX_depth_texture} + */ public final class GLSGIXDepthTexture { public static final int GL_DEPTH_COMPONENT16_SGIX = 0x81A5; public static final int GL_DEPTH_COMPONENT24_SGIX = 0x81A6; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java index fcbedbe8..3f1ccd5a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFlushRaster.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_flush_raster} - */ + * {@code GL_SGIX_flush_raster} + */ public final class GLSGIXFlushRaster { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SGIX_flush_raster) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java index e3d8e54f..6080755c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFogOffset.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_fog_offset} - */ + * {@code GL_SGIX_fog_offset} + */ public final class GLSGIXFogOffset { public static final int GL_FOG_OFFSET_SGIX = 0x8198; public static final int GL_FOG_OFFSET_VALUE_SGIX = 0x8199; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java index 881dfc7b..f5056c24 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFragmentLighting.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_fragment_lighting} - */ + * {@code GL_SGIX_fragment_lighting} + */ public final class GLSGIXFragmentLighting { public static final int GL_FRAGMENT_LIGHTING_SGIX = 0x8400; public static final int GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java index 7b825a53..7a426efe 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXFramezoom.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_framezoom} - */ + * {@code GL_SGIX_framezoom} + */ public final class GLSGIXFramezoom { public static final int GL_FRAMEZOOM_SGIX = 0x818B; public static final int GL_FRAMEZOOM_FACTOR_SGIX = 0x818C; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java index 04171a06..60f018e1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIglooInterface.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_igloo_interface} - */ + * {@code GL_SGIX_igloo_interface} + */ public final class GLSGIXIglooInterface { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SGIX_igloo_interface) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java index 78e2eca4..a9915749 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInstruments.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_instruments} - */ + * {@code GL_SGIX_instruments} + */ public final class GLSGIXInstruments { public static final int GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; public static final int GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java index 0bea7eb9..2e2c7ceb 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXInterlace.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_interlace} - */ + * {@code GL_SGIX_interlace} + */ public final class GLSGIXInterlace { public static final int GL_INTERLACE_SGIX = 0x8094; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java index f8be52c0..e8a83df1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXIrInstrument1.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_ir_instrument1} - */ + * {@code GL_SGIX_ir_instrument1} + */ public final class GLSGIXIrInstrument1 { public static final int GL_IR_INSTRUMENT1_SGIX = 0x817F; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java index 41201c2b..94a8d12d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXListPriority.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_list_priority} - */ + * {@code GL_SGIX_list_priority} + */ public final class GLSGIXListPriority { public static final int GL_LIST_PRIORITY_SGIX = 0x8182; public static void load(GLExtCaps ext, GLLoadFunc load) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java index 2a41b24a..3e91ca30 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTexture.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_pixel_texture} - */ + * {@code GL_SGIX_pixel_texture} + */ public final class GLSGIXPixelTexture { public static final int GL_PIXEL_TEX_GEN_SGIX = 0x8139; public static final int GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java index 7bf0ae81..e49f8eb3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPixelTiles.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_pixel_tiles} - */ + * {@code GL_SGIX_pixel_tiles} + */ public final class GLSGIXPixelTiles { public static final int GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; public static final int GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java index 676c3107..04486bd7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXPolynomialFFD.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_polynomial_ffd} - */ + * {@code GL_SGIX_polynomial_ffd} + */ public final class GLSGIXPolynomialFFD { public static final int GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; public static final int GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java index 129b662f..7ee332d8 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXReferencePlane.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_reference_plane} - */ + * {@code GL_SGIX_reference_plane} + */ public final class GLSGIXReferencePlane { public static final int GL_REFERENCE_PLANE_SGIX = 0x817D; public static final int GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java index b6e2c894..8c18028f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXResample.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_resample} - */ + * {@code GL_SGIX_resample} + */ public final class GLSGIXResample { public static final int GL_PACK_RESAMPLE_SGIX = 0x842E; public static final int GL_UNPACK_RESAMPLE_SGIX = 0x842F; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java index fdcdd9ff..a3ea2b9b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXScalebiasHint.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_scalebias_hint} - */ + * {@code GL_SGIX_scalebias_hint} + */ public final class GLSGIXScalebiasHint { public static final int GL_SCALEBIAS_HINT_SGIX = 0x8322; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java index 2b0d3f9c..1c3ac066 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadow.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_shadow} - */ + * {@code GL_SGIX_shadow} + */ public final class GLSGIXShadow { public static final int GL_TEXTURE_COMPARE_SGIX = 0x819A; public static final int GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java index 04d032dc..7c567206 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXShadowAmbient.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_shadow_ambient} - */ + * {@code GL_SGIX_shadow_ambient} + */ public final class GLSGIXShadowAmbient { public static final int GL_SHADOW_AMBIENT_SGIX = 0x80BF; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java index 64054d27..21e8553b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSprite.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_sprite} - */ + * {@code GL_SGIX_sprite} + */ public final class GLSGIXSprite { public static final int GL_SPRITE_SGIX = 0x8148; public static final int GL_SPRITE_MODE_SGIX = 0x8149; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java index 7015ca7e..608b0f6e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXSubsample.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_subsample} - */ + * {@code GL_SGIX_subsample} + */ public final class GLSGIXSubsample { public static final int GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; public static final int GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java index 69ed727d..2ee333a3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTagSampleBuffer.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_tag_sample_buffer} - */ + * {@code GL_SGIX_tag_sample_buffer} + */ public final class GLSGIXTagSampleBuffer { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SGIX_tag_sample_buffer) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java index 4b74298c..caf3ba8a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureAddEnv.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_texture_add_env} - */ + * {@code GL_SGIX_texture_add_env} + */ public final class GLSGIXTextureAddEnv { public static final int GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java index 93439b19..eb6b07af 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureCoordinateClamp.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_texture_coordinate_clamp} - */ + * {@code GL_SGIX_texture_coordinate_clamp} + */ public final class GLSGIXTextureCoordinateClamp { public static final int GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; public static final int GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java index 9800540e..db96e5d2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureLodBias.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_texture_lod_bias} - */ + * {@code GL_SGIX_texture_lod_bias} + */ public final class GLSGIXTextureLodBias { public static final int GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E; public static final int GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java index e0da6983..fd606896 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureMultiBuffer.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_texture_multi_buffer} - */ + * {@code GL_SGIX_texture_multi_buffer} + */ public final class GLSGIXTextureMultiBuffer { public static final int GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java index d41d4c67..ebd00787 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXTextureScaleBias.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_texture_scale_bias} - */ + * {@code GL_SGIX_texture_scale_bias} + */ public final class GLSGIXTextureScaleBias { public static final int GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; public static final int GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java index 8c0aa647..9db4a81d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXVertexPreclip.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_vertex_preclip} - */ + * {@code GL_SGIX_vertex_preclip} + */ public final class GLSGIXVertexPreclip { public static final int GL_VERTEX_PRECLIP_SGIX = 0x83EE; public static final int GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java index 0d22cd96..5bf0fca2 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcb.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_ycrcb} - */ + * {@code GL_SGIX_ycrcb} + */ public final class GLSGIXYcrcb { public static final int GL_YCRCB_422_SGIX = 0x81BB; public static final int GL_YCRCB_444_SGIX = 0x81BC; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java index 1fe03e13..4fb14d7a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sgi/GLSGIXYcrcba.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SGIX_ycrcba} - */ + * {@code GL_SGIX_ycrcba} + */ public final class GLSGIXYcrcba { public static final int GL_YCRCB_SGIX = 0x8318; public static final int GL_YCRCBA_SGIX = 0x8319; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java index 02dab355..91fe640c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNConvolutionBorderModes.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_convolution_border_modes} - */ + * {@code GL_SUN_convolution_border_modes} + */ public final class GLSUNConvolutionBorderModes { public static final int GL_WRAP_BORDER_SUN = 0x81D4; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java index 8060406d..a77e8314 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNGlobalAlpha.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_global_alpha} - */ + * {@code GL_SUN_global_alpha} + */ public final class GLSUNGlobalAlpha { public static final int GL_GLOBAL_ALPHA_SUN = 0x81D9; public static final int GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java index 071647a0..72ac6d17 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNMeshArray.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_mesh_array} - */ + * {@code GL_SUN_mesh_array} + */ public final class GLSUNMeshArray { public static final int GL_QUAD_MESH_SUN = 0x8614; public static final int GL_TRIANGLE_MESH_SUN = 0x8615; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java index c7cbc10e..9e4b7539 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNSliceAccum.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_slice_accum} - */ + * {@code GL_SUN_slice_accum} + */ public final class GLSUNSliceAccum { public static final int GL_SLICE_ACCUM_SUN = 0x85CC; } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java index cfc81598..b12bcd9c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNTriangleList.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_triangle_list} - */ + * {@code GL_SUN_triangle_list} + */ public final class GLSUNTriangleList { public static final int GL_RESTART_SUN = 0x0001; public static final int GL_REPLACE_MIDDLE_SUN = 0x0002; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java index a65d860e..2522774b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNVertex.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUN_vertex} - */ + * {@code GL_SUN_vertex} + */ public final class GLSUNVertex { public static void load(GLExtCaps ext, GLLoadFunc load) { if (!ext.GL_SUN_vertex) return; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java index 3aed148d..d8078f39 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/sun/GLSUNXConstantData.java @@ -25,8 +25,8 @@ import static overrungl.opengl.GLLoader.*; /** - * {@code GL_SUNX_constant_data} - */ + * {@code GL_SUNX_constant_data} + */ public final class GLSUNXConstantData { public static final int GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5; public static final int GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; From 201ea6a961af6d57d10b031cc2e32dd1a16ee4cb Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 11 Nov 2023 12:58:13 +0800 Subject: [PATCH 25/44] [OpenGL] Update extensions --- .../src/main/java/overrungl/Callback.java | 20 + .../overrungl/opengl/OpenGLGenerator.kt | 532 ++++++++++++++++++ .../main/java/overrungl/opengl/GLExtCaps.java | 45 +- .../nv/GLNVAlphaToCoverageDitherControl.java | 47 ++ .../ext/nv/GLNVBindlessMultiDrawIndirect.java | 51 ++ .../GLNVBindlessMultiDrawIndirectCount.java | 51 ++ .../opengl/ext/nv/GLNVBindlessTexture.java | 144 +++++ .../ext/nv/GLNVBlendEquationAdvanced.java | 100 ++++ .../nv/GLNVBlendEquationAdvancedCoherent.java | 32 ++ .../opengl/ext/nv/GLNVClipSpaceWScaling.java | 46 ++ .../opengl/ext/nv/GLNVCommandList.java | 194 +++++++ .../opengl/ext/nv/GLNVComputeProgram5.java | 33 ++ .../opengl/ext/nv/GLNVConditionalRender.java | 55 ++ .../opengl/ext/nv/GLNVConservativeRaster.java | 47 ++ .../ext/nv/GLNVConservativeRasterDilate.java | 46 ++ .../ext/nv/GLNVConservativeRasterPreSnap.java | 32 ++ ...LNVConservativeRasterPreSnapTriangles.java | 46 ++ .../opengl/ext/nv/GLNVCopyDepthToColor.java | 33 ++ .../opengl/ext/nv/GLNVCopyImage.java | 43 ++ .../opengl/ext/nv/GLNVDeepTexture3D.java | 33 ++ .../opengl/ext/nv/GLNVDepthBufferFloat.java | 63 +++ .../opengl/ext/nv/GLNVDepthClamp.java | 32 ++ .../opengl/ext/nv/GLNVDrawTexture.java | 43 ++ .../opengl/ext/nv/GLNVDrawVulkanImage.java | 76 +++ .../opengl/ext/nv/GLNVEvaluators.java | 131 +++++ .../ext/nv/GLNVExplicitMultisample.java | 69 +++ .../opengl/ext/nv/GLNVXGpuMemoryInfo.java | 36 ++ .../opengl/ext/nv/GLNVXGpuMulticast2.java | 86 +++ .../ext/nv/GLNVXLinkedGpuMulticast.java | 61 ++ .../opengl/ext/nv/GLNVXProgressFence.java | 67 +++ .../opengl/ext/nv/GLVulkanProcNV.java | 58 ++ 31 files changed, 2342 insertions(+), 10 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLVulkanProcNV.java diff --git a/modules/overrungl.core/src/main/java/overrungl/Callback.java b/modules/overrungl.core/src/main/java/overrungl/Callback.java index a2edae5e..f2083fd1 100644 --- a/modules/overrungl.core/src/main/java/overrungl/Callback.java +++ b/modules/overrungl.core/src/main/java/overrungl/Callback.java @@ -23,6 +23,7 @@ import java.lang.foreign.MemorySegment; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; +import java.util.function.Function; /** * The upcall stub which can be passed to other foreign functions as a function pointer, @@ -58,6 +59,16 @@ default MemorySegment address(Arena arena) { */ MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodException, IllegalAccessException; + /** + * Creates a method handle that invokes a native function callback. + * + * @param segment the segment of the native function. + * @return the method handle + */ + default MethodHandle nativeHandle(MemorySegment segment) { + return RuntimeHelper.LINKER.downcallHandle(segment, descriptor()); + } + /** * Gets the memory segment of the upcall stub with the given arena. * @@ -72,4 +83,13 @@ default MemorySegment segment(Arena arena, FunctionDescriptor function) { throw new RuntimeException(e); } } + + /** + * Method handle getter. + * + * @author squid233 + * @since 0.1.0 + */ + interface Native extends Function { + } } diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 5cc55da6..ffcefd2b 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -3637,6 +3637,538 @@ fun nv() { "glBeginConditionalRenderNVX"(void, GLuint("id")) "glEndConditionalRenderNVX"(void) } + file( + "GpuMemoryInfo", NVX, "GL_NVX_gpu_memory_info", + "GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX" to "0x9047", + "GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX" to "0x9048", + "GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX" to "0x9049", + "GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX" to "0x904A", + "GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX" to "0x904B" + ) + file("GpuMulticast2", NVX, "GL_NVX_gpu_multicast2") { + "GL_UPLOAD_GPU_MASK_NVX"("0x954A") + "glUploadGpuMaskNVX"(void, GLbitfield("mask")) + "glMulticastViewportArrayvNVX"( + void, + GLuint("gpu"), + GLuint("first"), + GLsizei("count"), + address("v", "const GLfloat *") + ) + "glMulticastViewportPositionWScaleNVX"( + void, + GLuint("gpu"), + GLuint("index"), + GLfloat("xcoeff"), + GLfloat("ycoeff") + ) + "glMulticastScissorArrayvNVX"( + void, + GLuint("gpu"), + GLuint("first"), + GLsizei("count"), + address("v", "const GLint *") + ) + "glAsyncCopyBufferSubDataNVX"( + GLuint, + GLsizei("waitSemaphoreCount"), + address("waitSemaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *"), + GLuint("readGpu"), + GLbitfield("writeGpuMask"), + GLuint("readBuffer"), + GLuint("writeBuffer"), + GLintptr("readOffset"), + GLintptr("writeOffset"), + GLsizeiptr("size"), + GLsizei("signalSemaphoreCount"), + address("signalSemaphoreArray", "const GLuint *"), + address("signalValueArray", "const GLuint64 *") + ) + "glAsyncCopyImageSubDataNVX"( + GLuint, + GLsizei("waitSemaphoreCount"), + address("waitSemaphoreArray", "const GLuint *"), + address("waitValueArray", "const GLuint64 *"), + GLuint("srcGpu"), + GLbitfield("dstGpuMask"), + GLuint("srcName"), + GLenum("srcTarget"), + GLint("srcLevel"), + GLint("srcX"), + GLint("srcY"), + GLint("srcZ"), + GLuint("dstName"), + GLenum("dstTarget"), + GLint("dstLevel"), + GLint("dstX"), + GLint("dstY"), + GLint("dstZ"), + GLsizei("srcWidth"), + GLsizei("srcHeight"), + GLsizei("srcDepth"), + GLsizei("signalSemaphoreCount"), + address("signalSemaphoreArray", "const GLuint *"), + address("signalValueArray", "const GLuint64 *") + ) + } + file("LinkedGpuMulticast", NVX, "GL_NVX_linked_gpu_multicast") { + "GL_LGPU_SEPARATE_STORAGE_BIT_NVX"("0x0800") + "GL_MAX_LGPU_GPUS_NVX"("0x92BA") + "glLGPUNamedBufferSubDataNVX"( + void, + GLbitfield("gpuMask"), + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size"), + address("data", "const void *") + ) + "glLGPUCopyImageSubDataNVX"( + void, + GLuint("sourceGpu"), + GLbitfield("destinationGpuMask"), + GLuint("srcName"), + GLenum("srcTarget"), + GLint("srcLevel"), + GLint("srcX"), + GLint("srxY"), + GLint("srcZ"), + GLuint("dstName"), + GLenum("dstTarget"), + GLint("dstLevel"), + GLint("dstX"), + GLint("dstY"), + GLint("dstZ"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth") + ) + "glLGPUInterlockNVX"(void) + } + file("ProgressFence", NVX, "GL_NVX_progress_fence") { + "glCreateProgressFenceNVX"(void) + "glSignalSemaphoreui64NVX"( + void, + GLuint("signalGpu"), + GLsizei("fenceObjectCount"), + address("semaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *") + ) + "glWaitSemaphoreui64NVX"( + void, + GLuint("waitGpu"), + GLsizei("fenceObjectCount"), + address("semaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *") + ) + "glClientWaitSemaphoreui64NVX"( + void, + GLsizei("fenceObjectCount"), + address("semaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *") + ) + } + file("AlphaToCoverageDitherControl", NV, "GL_NV_alpha_to_coverage_dither_control") { + "GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV"("0x934D") + "GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV"("0x934E") + "GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV"("0x934F") + "GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV"("0x92BF") + "glAlphaToCoverageDitherControlNV"(void, GLenum("mode")) + } + file("BindlessMultiDrawIndirect", NV, "GL_NV_bindless_multi_draw_indirect") { + "glMultiDrawArraysIndirectBindlessNV"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + "glMultiDrawElementsIndirectBindlessNV"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + } + file("BindlessMultiDrawIndirectCount", NV, "GL_NV_bindless_multi_draw_indirect_count") { + "glMultiDrawArraysIndirectBindlessCountNV"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("maxDrawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + "glMultiDrawElementsIndirectBindlessCountNV"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("maxDrawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + } + file("BindlessTexture", NV, "GL_NV_bindless_texture") { + "glGetTextureHandleNV"(GLuint64, GLuint("texture")) + "glGetTextureSamplerHandleNV"(GLuint64, GLuint("texture"), GLuint("sampler")) + "glMakeTextureHandleResidentNV"(void, GLuint64("handle")) + "glMakeTextureHandleNonResidentNV"(void, GLuint64("handle")) + "glGetImageHandleNV"( + GLuint64, + GLuint("texture"), + GLint("level"), + GLboolean("layered"), + GLint("layer"), + GLenum("format") + ) + "glMakeImageHandleResidentNV"(void, GLuint64("handle"), GLenum("access")) + "glMakeImageHandleNonResidentNV"(void, GLuint64("handle")) + "glUniformHandleui64NV"(void, GLint("location"), GLuint64("value")) + "glUniformHandleui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glProgramUniformHandleui64NV"(void, GLuint("program"), GLint("location"), GLuint64("value")) + "glProgramUniformHandleui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("values", "const GLuint64 *") + ) + "glIsTextureHandleResidentNV"(GLboolean, GLuint64("handle")) + "glIsImageHandleResidentNV"(GLboolean, GLuint64("handle")) + } + file("BlendEquationAdvanced", NV, "GL_NV_blend_equation_advanced") { + "GL_BLEND_OVERLAP_NV"("0x9281") + "GL_BLEND_PREMULTIPLIED_SRC_NV"("0x9280") + "GL_BLUE_NV"("0x1905") + "GL_COLORBURN_NV"("0x929A") + "GL_COLORDODGE_NV"("0x9299") + "GL_CONJOINT_NV"("0x9284") + "GL_CONTRAST_NV"("0x92A1") + "GL_DARKEN_NV"("0x9297") + "GL_DIFFERENCE_NV"("0x929E") + "GL_DISJOINT_NV"("0x9283") + "GL_DST_ATOP_NV"("0x928F") + "GL_DST_IN_NV"("0x928B") + "GL_DST_NV"("0x9287") + "GL_DST_OUT_NV"("0x928D") + "GL_DST_OVER_NV"("0x9289") + "GL_EXCLUSION_NV"("0x92A0") + "GL_GREEN_NV"("0x1904") + "GL_HARDLIGHT_NV"("0x929B") + "GL_HARDMIX_NV"("0x92A9") + "GL_HSL_COLOR_NV"("0x92AF") + "GL_HSL_HUE_NV"("0x92AD") + "GL_HSL_LUMINOSITY_NV"("0x92B0") + "GL_HSL_SATURATION_NV"("0x92AE") + "GL_INVERT_OVG_NV"("0x92B4") + "GL_INVERT_RGB_NV"("0x92A3") + "GL_LIGHTEN_NV"("0x9298") + "GL_LINEARBURN_NV"("0x92A5") + "GL_LINEARDODGE_NV"("0x92A4") + "GL_LINEARLIGHT_NV"("0x92A7") + "GL_MINUS_CLAMPED_NV"("0x92B3") + "GL_MINUS_NV"("0x929F") + "GL_MULTIPLY_NV"("0x9294") + "GL_OVERLAY_NV"("0x9296") + "GL_PINLIGHT_NV"("0x92A8") + "GL_PLUS_CLAMPED_ALPHA_NV"("0x92B2") + "GL_PLUS_CLAMPED_NV"("0x92B1") + "GL_PLUS_DARKER_NV"("0x9292") + "GL_PLUS_NV"("0x9291") + "GL_RED_NV"("0x1903") + "GL_SCREEN_NV"("0x9295") + "GL_SOFTLIGHT_NV"("0x929C") + "GL_SRC_ATOP_NV"("0x928E") + "GL_SRC_IN_NV"("0x928A") + "GL_SRC_NV"("0x9286") + "GL_SRC_OUT_NV"("0x928C") + "GL_SRC_OVER_NV"("0x9288") + "GL_UNCORRELATED_NV"("0x9282") + "GL_VIVIDLIGHT_NV"("0x92A6") + "GL_XOR_NV"("0x1506") + "glBlendParameteriNV"(void, GLenum("pname"), GLint("value")) + "glBlendBarrierNV"(void) + } + file("BlendEquationAdvancedCoherent", NV, "GL_NV_blend_equation_advanced_coherent", "GL_BLEND_ADVANCED_COHERENT_NV" to "0x9285") + file("ClipSpaceWScaling", NV, "GL_NV_clip_space_w_scaling") { + "GL_VIEWPORT_POSITION_W_SCALE_NV"("0x937C") + "GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV"("0x937D") + "GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV"("0x937E") + "glViewportPositionWScaleNV"(void, GLuint("index"), GLfloat("xcoeff"), GLfloat("ycoeff")) + } + file("CommandList", NV, "GL_NV_command_list") { + "GL_TERMINATE_SEQUENCE_COMMAND_NV"("0x0000") + "GL_NOP_COMMAND_NV"("0x0001") + "GL_DRAW_ELEMENTS_COMMAND_NV"("0x0002") + "GL_DRAW_ARRAYS_COMMAND_NV"("0x0003") + "GL_DRAW_ELEMENTS_STRIP_COMMAND_NV"("0x0004") + "GL_DRAW_ARRAYS_STRIP_COMMAND_NV"("0x0005") + "GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV"("0x0006") + "GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV"("0x0007") + "GL_ELEMENT_ADDRESS_COMMAND_NV"("0x0008") + "GL_ATTRIBUTE_ADDRESS_COMMAND_NV"("0x0009") + "GL_UNIFORM_ADDRESS_COMMAND_NV"("0x000A") + "GL_BLEND_COLOR_COMMAND_NV"("0x000B") + "GL_STENCIL_REF_COMMAND_NV"("0x000C") + "GL_LINE_WIDTH_COMMAND_NV"("0x000D") + "GL_POLYGON_OFFSET_COMMAND_NV"("0x000E") + "GL_ALPHA_REF_COMMAND_NV"("0x000F") + "GL_VIEWPORT_COMMAND_NV"("0x0010") + "GL_SCISSOR_COMMAND_NV"("0x0011") + "GL_FRONT_FACE_COMMAND_NV"("0x0012") + "glCreateStatesNV"(void, GLsizei("n"), address("states", "GLuint *")) + "glDeleteStatesNV"(void, GLsizei("n"), address("states", "const GLuint *")) + "glIsStateNV"(GLboolean, GLuint("state")) + "glStateCaptureNV"(void, GLuint("state"), GLenum("mode")) + "glGetCommandHeaderNV"(GLuint, GLenum("tokenID"), GLuint("size")) + "glGetStageIndexNV"(GLushort, GLenum("shadertype")) + "glDrawCommandsNV"( + void, + GLenum("primitiveMode"), + GLuint("buffer"), + address("indirects", "const GLintptr *"), + address("sizes", "const GLsizei *"), + GLuint("count") + ) + "glDrawCommandsAddressNV"( + void, + GLenum("primitiveMode"), + address("indirects", "const GLuint64 *"), + address("sizes", "const GLsizei *"), + GLuint("count") + ) + "glDrawCommandsStatesNV"( + void, + GLuint("buffer"), + address("indirects", "const GLintptr *"), + address("sizes", "const GLsizei *"), + address("states", "const GLuint *"), + address("fbos", "const GLuint *"), + GLuint("count") + ) + "glDrawCommandsStatesAddressNV"( + void, + address("indirects", "const GLuint64 *"), + address("sizes", "const GLsizei *"), + address("states", "const GLuint *"), + address("fbos", "const GLuint *"), + GLuint("count") + ) + "glCreateCommandListsNV"(void, GLsizei("n"), address("lists", "GLuint *")) + "glDeleteCommandListsNV"(void, GLsizei("n"), address("lists", "const GLuint *")) + "glIsCommandListNV"(GLboolean, GLuint("list")) + "glListDrawCommandsStatesClientNV"( + void, + GLuint("list"), + GLuint("segment"), + address("indirects", "const void **"), + address("sizes", "const GLsizei *"), + address("states", "const GLuint *"), + address("fbos", "const GLuint *"), + GLuint("count") + ) + "glCommandListSegmentsNV"(void, GLuint("list"), GLuint("segments")) + "glCompileCommandListNV"(void, GLuint("list")) + "glCallCommandListNV"(void, GLuint("list")) + } + file( + "ComputeProgram5", NV, "GL_NV_compute_program5", + "GL_COMPUTE_PROGRAM_NV" to "0x90FB", + "GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV" to "0x90FC" + ) + file("ConditionalRender", NV, "GL_NV_conditional_render") { + "GL_QUERY_WAIT_NV"("0x8E13") + "GL_QUERY_NO_WAIT_NV"("0x8E14") + "GL_QUERY_BY_REGION_WAIT_NV"("0x8E15") + "GL_QUERY_BY_REGION_NO_WAIT_NV"("0x8E16") + "glBeginConditionalRenderNV"(void, GLuint("id"), GLenum("mode")) + "glEndConditionalRenderNV"(void) + } + file("ConservativeRaster", NV, "GL_NV_conservative_raster") { + "GL_CONSERVATIVE_RASTERIZATION_NV"("0x9346") + "GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV"("0x9347") + "GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV"("0x9348") + "GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV"("0x9349") + "glSubpixelPrecisionBiasNV"(void, GLuint("xbits"), GLuint("ybits")) + } + file("ConservativeRasterDilate", NV, "GL_NV_conservative_raster_dilate") { + "GL_CONSERVATIVE_RASTER_DILATE_NV" ("0x9379") + "GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV" ("0x937A") + "GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV" ("0x937B") + "glConservativeRasterParameterfNV" (void, GLenum ("pname"), GLfloat ("value")) + } + file("ConservativeRasterPreSnap", NV, "GL_NV_conservative_raster_pre_snap", "GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV" to "0x9550") + file("ConservativeRasterPreSnapTriangles", NV, "GL_NV_conservative_raster_pre_snap_triangles") { + "GL_CONSERVATIVE_RASTER_MODE_NV"("0x954D") + "GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV"("0x954E") + "GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV"("0x954F") + "glConservativeRasterParameteriNV"(void, GLenum("pname"), GLint("param")) + } + file( + "CopyDepthToColor", NV, "GL_NV_copy_depth_to_color", + "GL_DEPTH_STENCIL_TO_RGBA_NV" to "0x886E", + "GL_DEPTH_STENCIL_TO_BGRA_NV" to "0x886F" + ) + file("CopyImage", NV, "GL_NV_copy_image") { + "glCopyImageSubDataNV"( + void, + GLuint("srcName"), + GLenum("srcTarget"), + GLint("srcLevel"), + GLint("srcX"), + GLint("srcY"), + GLint("srcZ"), + GLuint("dstName"), + GLenum("dstTarget"), + GLint("dstLevel"), + GLint("dstX"), + GLint("dstY"), + GLint("dstZ"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth") + ) + } + file( + "DeepTexture3D", NV, "GL_NV_deep_texture3D", + "GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV" to "0x90D0", + "GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV" to "0x90D1" + ) + file("DepthBufferFloat", NV, "GL_NV_depth_buffer_float") { + "GL_DEPTH_COMPONENT32F_NV"("0x8DAB") + "GL_DEPTH32F_STENCIL8_NV"("0x8DAC") + "GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"("0x8DAD") + "GL_DEPTH_BUFFER_FLOAT_MODE_NV"("0x8DAF") + "glDepthRangedNV"(void, GLdouble("zNear"), GLdouble("zFar")) + "glClearDepthdNV"(void, GLdouble("depth")) + "glDepthBoundsdNV"(void, GLdouble("zmin"), GLdouble("zmax")) + } + file("DepthClamp", NV, "GL_NV_depth_clamp", "GL_DEPTH_CLAMP_NV" to "0x864F") + file("DrawTexture", NV, "GL_NV_draw_texture") { + "glDrawTextureNV"( + void, + GLuint("texture"), + GLuint("sampler"), + GLfloat("x0"), + GLfloat("y0"), + GLfloat("x1"), + GLfloat("y1"), + GLfloat("z"), + GLfloat("s0"), + GLfloat("t0"), + GLfloat("s1"), + GLfloat("t1") + ) + } + file("DrawVulkanImage", NV, "GL_NV_draw_vulkan_image") { + "glDrawVkImageNV"( + void, + GLuint64("vkImage"), + GLuint("sampler"), + GLfloat("x0"), + GLfloat("y0"), + GLfloat("x1"), + GLfloat("y1"), + GLfloat("z"), + GLfloat("s0"), + GLfloat("t0"), + GLfloat("s1"), + GLfloat("t1") + ) + "glGetVkProcAddrNV"(address, address("name", "const GLchar *"), nativeType = "GLVULKANPROCNV") + "glWaitVkSemaphoreNV"(void, GLuint64("vkSemaphore")) + "glSignalVkSemaphoreNV"(void, GLuint64("vkSemaphore")) + "glSignalVkFenceNV"(void, GLuint64("vkFence")) + } + file("Evaluators", NV, "GL_NV_evaluators") { + "GL_EVAL_2D_NV"("0x86C0") + "GL_EVAL_TRIANGULAR_2D_NV"("0x86C1") + "GL_MAP_TESSELLATION_NV"("0x86C2") + "GL_MAP_ATTRIB_U_ORDER_NV"("0x86C3") + "GL_MAP_ATTRIB_V_ORDER_NV"("0x86C4") + "GL_EVAL_FRACTIONAL_TESSELLATION_NV"("0x86C5") + "GL_EVAL_VERTEX_ATTRIB0_NV"("0x86C6") + "GL_EVAL_VERTEX_ATTRIB1_NV"("0x86C7") + "GL_EVAL_VERTEX_ATTRIB2_NV"("0x86C8") + "GL_EVAL_VERTEX_ATTRIB3_NV"("0x86C9") + "GL_EVAL_VERTEX_ATTRIB4_NV"("0x86CA") + "GL_EVAL_VERTEX_ATTRIB5_NV"("0x86CB") + "GL_EVAL_VERTEX_ATTRIB6_NV"("0x86CC") + "GL_EVAL_VERTEX_ATTRIB7_NV"("0x86CD") + "GL_EVAL_VERTEX_ATTRIB8_NV"("0x86CE") + "GL_EVAL_VERTEX_ATTRIB9_NV"("0x86CF") + "GL_EVAL_VERTEX_ATTRIB10_NV"("0x86D0") + "GL_EVAL_VERTEX_ATTRIB11_NV"("0x86D1") + "GL_EVAL_VERTEX_ATTRIB12_NV"("0x86D2") + "GL_EVAL_VERTEX_ATTRIB13_NV"("0x86D3") + "GL_EVAL_VERTEX_ATTRIB14_NV"("0x86D4") + "GL_EVAL_VERTEX_ATTRIB15_NV"("0x86D5") + "GL_MAX_MAP_TESSELLATION_NV"("0x86D6") + "GL_MAX_RATIONAL_EVAL_ORDER_NV"("0x86D7") + "glMapControlPointsNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("type"), + GLsizei("ustride"), + GLsizei("vstride"), + GLint("uorder"), + GLint("vorder"), + GLboolean("packed"), + address("points", "const void *") + ) + "glMapParameterivNV"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glMapParameterfvNV"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glGetMapControlPointsNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("type"), + GLsizei("ustride"), + GLsizei("vstride"), + GLboolean("packed"), + address("points", "void *") + ) + "glGetMapParameterivNV"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetMapParameterfvNV"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetMapAttribParameterivNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetMapAttribParameterfvNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glEvalMapsNV"(void, GLenum("target"), GLenum("mode")) + } + file("ExplicitMultisample", NV, "GL_NV_explicit_multisample") { + "GL_SAMPLE_POSITION_NV"("0x8E50") + "GL_SAMPLE_MASK_NV"("0x8E51") + "GL_SAMPLE_MASK_VALUE_NV"("0x8E52") + "GL_TEXTURE_BINDING_RENDERBUFFER_NV"("0x8E53") + "GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"("0x8E54") + "GL_TEXTURE_RENDERBUFFER_NV"("0x8E55") + "GL_SAMPLER_RENDERBUFFER_NV"("0x8E56") + "GL_INT_SAMPLER_RENDERBUFFER_NV"("0x8E57") + "GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"("0x8E58") + "GL_MAX_SAMPLE_MASK_WORDS_NV"("0x8E59") + "glGetMultisamplefvNV"(void, GLenum("pname"), GLuint("index"), address("val", "GLfloat *")) + "glSampleMaskIndexedNV"(void, GLuint("index"), GLbitfield("mask")) + "glTexRenderbufferNV"(void, GLenum("target"), GLuint("renderbuffer")) + } } fun oml() { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 005f422c..1cb105f1 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -107,16 +107,21 @@ public GLExtCaps(GLCapabilities caps) { glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, - glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, - glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, - glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, - glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, - glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, - glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, - glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, - glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, - glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, - glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, + glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, + glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, + glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, + glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, + glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, + glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, + glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, + glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, + glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, + glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, + glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, + glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, + glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, + glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -211,6 +216,26 @@ void load(GLLoadFunc load) { GLMESAResizeBuffers.load(this, load); GLMESAWindowPos.load(this, load); GLNVXConditionalRender.load(this, load); + GLNVXGpuMulticast2.load(this, load); + GLNVXLinkedGpuMulticast.load(this, load); + GLNVXProgressFence.load(this, load); + GLNVAlphaToCoverageDitherControl.load(this, load); + GLNVBindlessMultiDrawIndirect.load(this, load); + GLNVBindlessMultiDrawIndirectCount.load(this, load); + GLNVBindlessTexture.load(this, load); + GLNVBlendEquationAdvanced.load(this, load); + GLNVClipSpaceWScaling.load(this, load); + GLNVCommandList.load(this, load); + GLNVConditionalRender.load(this, load); + GLNVConservativeRaster.load(this, load); + GLNVConservativeRasterDilate.load(this, load); + GLNVConservativeRasterPreSnapTriangles.load(this, load); + GLNVCopyImage.load(this, load); + GLNVDepthBufferFloat.load(this, load); + GLNVDrawTexture.load(this, load); + GLNVDrawVulkanImage.load(this, load); + GLNVEvaluators.load(this, load); + GLNVExplicitMultisample.load(this, load); GLOVRMultiview.load(this, load); GLPGIMiscHints.load(this, load); GLSGISDetailTexture.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java new file mode 100644 index 00000000..02b9e996 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVAlphaToCoverageDitherControl.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_alpha_to_coverage_dither_control} + */ +public final class GLNVAlphaToCoverageDitherControl { + public static final int GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D; + public static final int GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E; + public static final int GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F; + public static final int GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_alpha_to_coverage_dither_control) return; + ext.glAlphaToCoverageDitherControlNV = load.invoke("glAlphaToCoverageDitherControlNV", ofVoid(JAVA_INT)); + } + + public static void glAlphaToCoverageDitherControlNV(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glAlphaToCoverageDitherControlNV).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java new file mode 100644 index 00000000..22530da7 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirect.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_bindless_multi_draw_indirect} + */ +public final class GLNVBindlessMultiDrawIndirect { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_bindless_multi_draw_indirect) return; + ext.glMultiDrawArraysIndirectBindlessNV = load.invoke("glMultiDrawArraysIndirectBindlessNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiDrawElementsIndirectBindlessNV = load.invoke("glMultiDrawElementsIndirectBindlessNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glMultiDrawArraysIndirectBindlessNV(int mode, @NativeType("const void *") MemorySegment indirect, int drawCount, int stride, int vertexBufferCount) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawArraysIndirectBindlessNV).invokeExact(mode, indirect, drawCount, stride, vertexBufferCount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiDrawElementsIndirectBindlessNV(int mode, int type, @NativeType("const void *") MemorySegment indirect, int drawCount, int stride, int vertexBufferCount) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawElementsIndirectBindlessNV).invokeExact(mode, type, indirect, drawCount, stride, vertexBufferCount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java new file mode 100644 index 00000000..9dd1a783 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessMultiDrawIndirectCount.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_bindless_multi_draw_indirect_count} + */ +public final class GLNVBindlessMultiDrawIndirectCount { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_bindless_multi_draw_indirect_count) return; + ext.glMultiDrawArraysIndirectBindlessCountNV = load.invoke("glMultiDrawArraysIndirectBindlessCountNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiDrawElementsIndirectBindlessCountNV = load.invoke("glMultiDrawElementsIndirectBindlessCountNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glMultiDrawArraysIndirectBindlessCountNV(int mode, @NativeType("const void *") MemorySegment indirect, int drawCount, int maxDrawCount, int stride, int vertexBufferCount) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawArraysIndirectBindlessCountNV).invokeExact(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiDrawElementsIndirectBindlessCountNV(int mode, int type, @NativeType("const void *") MemorySegment indirect, int drawCount, int maxDrawCount, int stride, int vertexBufferCount) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawElementsIndirectBindlessCountNV).invokeExact(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java new file mode 100644 index 00000000..e43b91d3 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBindlessTexture.java @@ -0,0 +1,144 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_bindless_texture} + */ +public final class GLNVBindlessTexture { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_bindless_texture) return; + ext.glGetTextureHandleNV = load.invoke("glGetTextureHandleNV", of(JAVA_LONG, JAVA_INT)); + ext.glGetTextureSamplerHandleNV = load.invoke("glGetTextureSamplerHandleNV", of(JAVA_LONG, JAVA_INT, JAVA_INT)); + ext.glMakeTextureHandleResidentNV = load.invoke("glMakeTextureHandleResidentNV", ofVoid(JAVA_LONG)); + ext.glMakeTextureHandleNonResidentNV = load.invoke("glMakeTextureHandleNonResidentNV", ofVoid(JAVA_LONG)); + ext.glGetImageHandleNV = load.invoke("glGetImageHandleNV", of(JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT)); + ext.glMakeImageHandleResidentNV = load.invoke("glMakeImageHandleResidentNV", ofVoid(JAVA_LONG, JAVA_INT)); + ext.glMakeImageHandleNonResidentNV = load.invoke("glMakeImageHandleNonResidentNV", ofVoid(JAVA_LONG)); + ext.glUniformHandleui64NV = load.invoke("glUniformHandleui64NV", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glUniformHandleui64vNV = load.invoke("glUniformHandleui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniformHandleui64NV = load.invoke("glProgramUniformHandleui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glProgramUniformHandleui64vNV = load.invoke("glProgramUniformHandleui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glIsTextureHandleResidentNV = load.invoke("glIsTextureHandleResidentNV", of(JAVA_BYTE, JAVA_LONG)); + ext.glIsImageHandleResidentNV = load.invoke("glIsImageHandleResidentNV", of(JAVA_BYTE, JAVA_LONG)); + } + + public static long glGetTextureHandleNV(int texture) { + final var ext = getExtCapabilities(); + try { + return (long) + check(ext.glGetTextureHandleNV).invokeExact(texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static long glGetTextureSamplerHandleNV(int texture, int sampler) { + final var ext = getExtCapabilities(); + try { + return (long) + check(ext.glGetTextureSamplerHandleNV).invokeExact(texture, sampler); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMakeTextureHandleResidentNV(long handle) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeTextureHandleResidentNV).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMakeTextureHandleNonResidentNV(long handle) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeTextureHandleNonResidentNV).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static long glGetImageHandleNV(int texture, int level, boolean layered, int layer, int format) { + final var ext = getExtCapabilities(); + try { + return (long) + check(ext.glGetImageHandleNV).invokeExact(texture, level, layered, layer, format); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMakeImageHandleResidentNV(long handle, int access) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeImageHandleResidentNV).invokeExact(handle, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMakeImageHandleNonResidentNV(long handle) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeImageHandleNonResidentNV).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniformHandleui64NV(int location, long value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniformHandleui64NV).invokeExact(location, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniformHandleui64vNV(int location, int count, @NativeType("const GLuint64 *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniformHandleui64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformHandleui64NV(int program, int location, long value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformHandleui64NV).invokeExact(program, location, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformHandleui64vNV(int program, int location, int count, @NativeType("const GLuint64 *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformHandleui64vNV).invokeExact(program, location, count, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsTextureHandleResidentNV(long handle) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsTextureHandleResidentNV).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsImageHandleResidentNV(long handle) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsImageHandleResidentNV).invokeExact(handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java new file mode 100644 index 00000000..4e0e6cd8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvanced.java @@ -0,0 +1,100 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_blend_equation_advanced} + */ +public final class GLNVBlendEquationAdvanced { + public static final int GL_BLEND_OVERLAP_NV = 0x9281; + public static final int GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280; + public static final int GL_BLUE_NV = 0x1905; + public static final int GL_COLORBURN_NV = 0x929A; + public static final int GL_COLORDODGE_NV = 0x9299; + public static final int GL_CONJOINT_NV = 0x9284; + public static final int GL_CONTRAST_NV = 0x92A1; + public static final int GL_DARKEN_NV = 0x9297; + public static final int GL_DIFFERENCE_NV = 0x929E; + public static final int GL_DISJOINT_NV = 0x9283; + public static final int GL_DST_ATOP_NV = 0x928F; + public static final int GL_DST_IN_NV = 0x928B; + public static final int GL_DST_NV = 0x9287; + public static final int GL_DST_OUT_NV = 0x928D; + public static final int GL_DST_OVER_NV = 0x9289; + public static final int GL_EXCLUSION_NV = 0x92A0; + public static final int GL_GREEN_NV = 0x1904; + public static final int GL_HARDLIGHT_NV = 0x929B; + public static final int GL_HARDMIX_NV = 0x92A9; + public static final int GL_HSL_COLOR_NV = 0x92AF; + public static final int GL_HSL_HUE_NV = 0x92AD; + public static final int GL_HSL_LUMINOSITY_NV = 0x92B0; + public static final int GL_HSL_SATURATION_NV = 0x92AE; + public static final int GL_INVERT_OVG_NV = 0x92B4; + public static final int GL_INVERT_RGB_NV = 0x92A3; + public static final int GL_LIGHTEN_NV = 0x9298; + public static final int GL_LINEARBURN_NV = 0x92A5; + public static final int GL_LINEARDODGE_NV = 0x92A4; + public static final int GL_LINEARLIGHT_NV = 0x92A7; + public static final int GL_MINUS_CLAMPED_NV = 0x92B3; + public static final int GL_MINUS_NV = 0x929F; + public static final int GL_MULTIPLY_NV = 0x9294; + public static final int GL_OVERLAY_NV = 0x9296; + public static final int GL_PINLIGHT_NV = 0x92A8; + public static final int GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2; + public static final int GL_PLUS_CLAMPED_NV = 0x92B1; + public static final int GL_PLUS_DARKER_NV = 0x9292; + public static final int GL_PLUS_NV = 0x9291; + public static final int GL_RED_NV = 0x1903; + public static final int GL_SCREEN_NV = 0x9295; + public static final int GL_SOFTLIGHT_NV = 0x929C; + public static final int GL_SRC_ATOP_NV = 0x928E; + public static final int GL_SRC_IN_NV = 0x928A; + public static final int GL_SRC_NV = 0x9286; + public static final int GL_SRC_OUT_NV = 0x928C; + public static final int GL_SRC_OVER_NV = 0x9288; + public static final int GL_UNCORRELATED_NV = 0x9282; + public static final int GL_VIVIDLIGHT_NV = 0x92A6; + public static final int GL_XOR_NV = 0x1506; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_blend_equation_advanced) return; + ext.glBlendParameteriNV = load.invoke("glBlendParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glBlendBarrierNV = load.invoke("glBlendBarrierNV", ofVoid()); + } + + public static void glBlendParameteriNV(int pname, int value) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendParameteriNV).invokeExact(pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBlendBarrierNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendBarrierNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java new file mode 100644 index 00000000..64ac7dc0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVBlendEquationAdvancedCoherent.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_blend_equation_advanced_coherent} + */ +public final class GLNVBlendEquationAdvancedCoherent { + public static final int GL_BLEND_ADVANCED_COHERENT_NV = 0x9285; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java new file mode 100644 index 00000000..83bb883a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVClipSpaceWScaling.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_clip_space_w_scaling} + */ +public final class GLNVClipSpaceWScaling { + public static final int GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937C; + public static final int GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; + public static final int GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_clip_space_w_scaling) return; + ext.glViewportPositionWScaleNV = load.invoke("glViewportPositionWScaleNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + } + + public static void glViewportPositionWScaleNV(int index, float xcoeff, float ycoeff) { + final var ext = getExtCapabilities(); + try { + check(ext.glViewportPositionWScaleNV).invokeExact(index, xcoeff, ycoeff); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java new file mode 100644 index 00000000..dc5d4a76 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCommandList.java @@ -0,0 +1,194 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_command_list} + */ +public final class GLNVCommandList { + public static final int GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; + public static final int GL_NOP_COMMAND_NV = 0x0001; + public static final int GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002; + public static final int GL_DRAW_ARRAYS_COMMAND_NV = 0x0003; + public static final int GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; + public static final int GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; + public static final int GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; + public static final int GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; + public static final int GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008; + public static final int GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; + public static final int GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000A; + public static final int GL_BLEND_COLOR_COMMAND_NV = 0x000B; + public static final int GL_STENCIL_REF_COMMAND_NV = 0x000C; + public static final int GL_LINE_WIDTH_COMMAND_NV = 0x000D; + public static final int GL_POLYGON_OFFSET_COMMAND_NV = 0x000E; + public static final int GL_ALPHA_REF_COMMAND_NV = 0x000F; + public static final int GL_VIEWPORT_COMMAND_NV = 0x0010; + public static final int GL_SCISSOR_COMMAND_NV = 0x0011; + public static final int GL_FRONT_FACE_COMMAND_NV = 0x0012; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_command_list) return; + ext.glCreateStatesNV = load.invoke("glCreateStatesNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeleteStatesNV = load.invoke("glDeleteStatesNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsStateNV = load.invoke("glIsStateNV", of(JAVA_BYTE, JAVA_INT)); + ext.glStateCaptureNV = load.invoke("glStateCaptureNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glGetCommandHeaderNV = load.invoke("glGetCommandHeaderNV", of(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetStageIndexNV = load.invoke("glGetStageIndexNV", of(JAVA_SHORT, JAVA_INT)); + ext.glDrawCommandsNV = load.invoke("glDrawCommandsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); + ext.glDrawCommandsAddressNV = load.invoke("glDrawCommandsAddressNV", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); + ext.glDrawCommandsStatesNV = load.invoke("glDrawCommandsStatesNV", ofVoid(JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); + ext.glDrawCommandsStatesAddressNV = load.invoke("glDrawCommandsStatesAddressNV", ofVoid(ADDRESS, ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); + ext.glCreateCommandListsNV = load.invoke("glCreateCommandListsNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeleteCommandListsNV = load.invoke("glDeleteCommandListsNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsCommandListNV = load.invoke("glIsCommandListNV", of(JAVA_BYTE, JAVA_INT)); + ext.glListDrawCommandsStatesClientNV = load.invoke("glListDrawCommandsStatesClientNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS, JAVA_INT)); + ext.glCommandListSegmentsNV = load.invoke("glCommandListSegmentsNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glCompileCommandListNV = load.invoke("glCompileCommandListNV", ofVoid(JAVA_INT)); + ext.glCallCommandListNV = load.invoke("glCallCommandListNV", ofVoid(JAVA_INT)); + } + + public static void glCreateStatesNV(int n, @NativeType("GLuint *") MemorySegment states) { + final var ext = getExtCapabilities(); + try { + check(ext.glCreateStatesNV).invokeExact(n, states); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteStatesNV(int n, @NativeType("const GLuint *") MemorySegment states) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteStatesNV).invokeExact(n, states); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsStateNV(int state) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsStateNV).invokeExact(state); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStateCaptureNV(int state, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glStateCaptureNV).invokeExact(state, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGetCommandHeaderNV(int tokenID, int size) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGetCommandHeaderNV).invokeExact(tokenID, size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static short glGetStageIndexNV(int shadertype) { + final var ext = getExtCapabilities(); + try { + return (short) + check(ext.glGetStageIndexNV).invokeExact(shadertype); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawCommandsNV(int primitiveMode, int buffer, @NativeType("const GLintptr *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawCommandsNV).invokeExact(primitiveMode, buffer, indirects, sizes, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawCommandsAddressNV(int primitiveMode, @NativeType("const GLuint64 *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawCommandsAddressNV).invokeExact(primitiveMode, indirects, sizes, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawCommandsStatesNV(int buffer, @NativeType("const GLintptr *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawCommandsStatesNV).invokeExact(buffer, indirects, sizes, states, fbos, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawCommandsStatesAddressNV(@NativeType("const GLuint64 *") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawCommandsStatesAddressNV).invokeExact(indirects, sizes, states, fbos, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCreateCommandListsNV(int n, @NativeType("GLuint *") MemorySegment lists) { + final var ext = getExtCapabilities(); + try { + check(ext.glCreateCommandListsNV).invokeExact(n, lists); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteCommandListsNV(int n, @NativeType("const GLuint *") MemorySegment lists) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteCommandListsNV).invokeExact(n, lists); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsCommandListNV(int list) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsCommandListNV).invokeExact(list); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glListDrawCommandsStatesClientNV(int list, int segment, @NativeType("const void **") MemorySegment indirects, @NativeType("const GLsizei *") MemorySegment sizes, @NativeType("const GLuint *") MemorySegment states, @NativeType("const GLuint *") MemorySegment fbos, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glListDrawCommandsStatesClientNV).invokeExact(list, segment, indirects, sizes, states, fbos, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCommandListSegmentsNV(int list, int segments) { + final var ext = getExtCapabilities(); + try { + check(ext.glCommandListSegmentsNV).invokeExact(list, segments); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompileCommandListNV(int list) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompileCommandListNV).invokeExact(list); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCallCommandListNV(int list) { + final var ext = getExtCapabilities(); + try { + check(ext.glCallCommandListNV).invokeExact(list); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java new file mode 100644 index 00000000..f7f3cee8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVComputeProgram5.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_compute_program5} + */ +public final class GLNVComputeProgram5 { + public static final int GL_COMPUTE_PROGRAM_NV = 0x90FB; + public static final int GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java new file mode 100644 index 00000000..dde4d1bb --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConditionalRender.java @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_conditional_render} + */ +public final class GLNVConditionalRender { + public static final int GL_QUERY_WAIT_NV = 0x8E13; + public static final int GL_QUERY_NO_WAIT_NV = 0x8E14; + public static final int GL_QUERY_BY_REGION_WAIT_NV = 0x8E15; + public static final int GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_conditional_render) return; + ext.glBeginConditionalRenderNV = load.invoke("glBeginConditionalRenderNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glEndConditionalRenderNV = load.invoke("glEndConditionalRenderNV", ofVoid()); + } + + public static void glBeginConditionalRenderNV(int id, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginConditionalRenderNV).invokeExact(id, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndConditionalRenderNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glEndConditionalRenderNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java new file mode 100644 index 00000000..f25dc09b --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRaster.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_conservative_raster} + */ +public final class GLNVConservativeRaster { + public static final int GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346; + public static final int GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; + public static final int GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; + public static final int GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_conservative_raster) return; + ext.glSubpixelPrecisionBiasNV = load.invoke("glSubpixelPrecisionBiasNV", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glSubpixelPrecisionBiasNV(int xbits, int ybits) { + final var ext = getExtCapabilities(); + try { + check(ext.glSubpixelPrecisionBiasNV).invokeExact(xbits, ybits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java new file mode 100644 index 00000000..93f71105 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterDilate.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_conservative_raster_dilate} + */ +public final class GLNVConservativeRasterDilate { + public static final int GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379; + public static final int GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; + public static final int GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_conservative_raster_dilate) return; + ext.glConservativeRasterParameterfNV = load.invoke("glConservativeRasterParameterfNV", ofVoid(JAVA_INT, JAVA_FLOAT)); + } + + public static void glConservativeRasterParameterfNV(int pname, float value) { + final var ext = getExtCapabilities(); + try { + check(ext.glConservativeRasterParameterfNV).invokeExact(pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java new file mode 100644 index 00000000..980c8a26 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnap.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_conservative_raster_pre_snap} + */ +public final class GLNVConservativeRasterPreSnap { + public static final int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java new file mode 100644 index 00000000..8a24e828 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVConservativeRasterPreSnapTriangles.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_conservative_raster_pre_snap_triangles} + */ +public final class GLNVConservativeRasterPreSnapTriangles { + public static final int GL_CONSERVATIVE_RASTER_MODE_NV = 0x954D; + public static final int GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; + public static final int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_conservative_raster_pre_snap_triangles) return; + ext.glConservativeRasterParameteriNV = load.invoke("glConservativeRasterParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glConservativeRasterParameteriNV(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glConservativeRasterParameteriNV).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java new file mode 100644 index 00000000..8587e932 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyDepthToColor.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_copy_depth_to_color} + */ +public final class GLNVCopyDepthToColor { + public static final int GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E; + public static final int GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java new file mode 100644 index 00000000..94ae52a3 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVCopyImage.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_copy_image} + */ +public final class GLNVCopyImage { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_copy_image) return; + ext.glCopyImageSubDataNV = load.invoke("glCopyImageSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glCopyImageSubDataNV(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int width, int height, int depth) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyImageSubDataNV).invokeExact(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java new file mode 100644 index 00000000..db50def8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDeepTexture3D.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_deep_texture3D} + */ +public final class GLNVDeepTexture3D { + public static final int GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; + public static final int GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java new file mode 100644 index 00000000..cd081830 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthBufferFloat.java @@ -0,0 +1,63 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_depth_buffer_float} + */ +public final class GLNVDepthBufferFloat { + public static final int GL_DEPTH_COMPONENT32F_NV = 0x8DAB; + public static final int GL_DEPTH32F_STENCIL8_NV = 0x8DAC; + public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; + public static final int GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_depth_buffer_float) return; + ext.glDepthRangedNV = load.invoke("glDepthRangedNV", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glClearDepthdNV = load.invoke("glClearDepthdNV", ofVoid(JAVA_DOUBLE)); + ext.glDepthBoundsdNV = load.invoke("glDepthBoundsdNV", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); + } + + public static void glDepthRangedNV(double zNear, double zFar) { + final var ext = getExtCapabilities(); + try { + check(ext.glDepthRangedNV).invokeExact(zNear, zFar); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearDepthdNV(double depth) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearDepthdNV).invokeExact(depth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDepthBoundsdNV(double zmin, double zmax) { + final var ext = getExtCapabilities(); + try { + check(ext.glDepthBoundsdNV).invokeExact(zmin, zmax); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java new file mode 100644 index 00000000..b782616f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDepthClamp.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_depth_clamp} + */ +public final class GLNVDepthClamp { + public static final int GL_DEPTH_CLAMP_NV = 0x864F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java new file mode 100644 index 00000000..085de6d2 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawTexture.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_draw_texture} + */ +public final class GLNVDrawTexture { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_draw_texture) return; + ext.glDrawTextureNV = load.invoke("glDrawTextureNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + } + + public static void glDrawTextureNV(int texture, int sampler, float x0, float y0, float x1, float y1, float z, float s0, float t0, float s1, float t1) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawTextureNV).invokeExact(texture, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java new file mode 100644 index 00000000..5238c653 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVDrawVulkanImage.java @@ -0,0 +1,76 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_draw_vulkan_image} + */ +public final class GLNVDrawVulkanImage { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_draw_vulkan_image) return; + ext.glDrawVkImageNV = load.invoke("glDrawVkImageNV", ofVoid(JAVA_LONG, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glGetVkProcAddrNV = load.invoke("glGetVkProcAddrNV", of(ADDRESS, ADDRESS)); + ext.glWaitVkSemaphoreNV = load.invoke("glWaitVkSemaphoreNV", ofVoid(JAVA_LONG)); + ext.glSignalVkSemaphoreNV = load.invoke("glSignalVkSemaphoreNV", ofVoid(JAVA_LONG)); + ext.glSignalVkFenceNV = load.invoke("glSignalVkFenceNV", ofVoid(JAVA_LONG)); + } + + public static void glDrawVkImageNV(long vkImage, int sampler, float x0, float y0, float x1, float y1, float z, float s0, float t0, float s1, float t1) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawVkImageNV).invokeExact(vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static @NativeType("GLVULKANPROCNV") MemorySegment glGetVkProcAddrNV(@NativeType("const GLchar *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + return (MemorySegment) + check(ext.glGetVkProcAddrNV).invokeExact(name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWaitVkSemaphoreNV(long vkSemaphore) { + final var ext = getExtCapabilities(); + try { + check(ext.glWaitVkSemaphoreNV).invokeExact(vkSemaphore); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSignalVkSemaphoreNV(long vkSemaphore) { + final var ext = getExtCapabilities(); + try { + check(ext.glSignalVkSemaphoreNV).invokeExact(vkSemaphore); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSignalVkFenceNV(long vkFence) { + final var ext = getExtCapabilities(); + try { + check(ext.glSignalVkFenceNV).invokeExact(vkFence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java new file mode 100644 index 00000000..5d3e2cf7 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVEvaluators.java @@ -0,0 +1,131 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_evaluators} + */ +public final class GLNVEvaluators { + public static final int GL_EVAL_2D_NV = 0x86C0; + public static final int GL_EVAL_TRIANGULAR_2D_NV = 0x86C1; + public static final int GL_MAP_TESSELLATION_NV = 0x86C2; + public static final int GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3; + public static final int GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4; + public static final int GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; + public static final int GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6; + public static final int GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7; + public static final int GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8; + public static final int GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9; + public static final int GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA; + public static final int GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB; + public static final int GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC; + public static final int GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD; + public static final int GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE; + public static final int GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF; + public static final int GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0; + public static final int GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1; + public static final int GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2; + public static final int GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3; + public static final int GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4; + public static final int GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5; + public static final int GL_MAX_MAP_TESSELLATION_NV = 0x86D6; + public static final int GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_evaluators) return; + ext.glMapControlPointsNV = load.invoke("glMapControlPointsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glMapParameterivNV = load.invoke("glMapParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMapParameterfvNV = load.invoke("glMapParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMapControlPointsNV = load.invoke("glGetMapControlPointsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glGetMapParameterivNV = load.invoke("glGetMapParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMapParameterfvNV = load.invoke("glGetMapParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMapAttribParameterivNV = load.invoke("glGetMapAttribParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMapAttribParameterfvNV = load.invoke("glGetMapAttribParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glEvalMapsNV = load.invoke("glEvalMapsNV", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glMapControlPointsNV(int target, int index, int type, int ustride, int vstride, int uorder, int vorder, boolean packed, @NativeType("const void *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glMapControlPointsNV).invokeExact(target, index, type, ustride, vstride, uorder, vorder, packed, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMapParameterivNV(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMapParameterivNV).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMapParameterfvNV(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMapParameterfvNV).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMapControlPointsNV(int target, int index, int type, int ustride, int vstride, boolean packed, @NativeType("void *") MemorySegment points) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMapControlPointsNV).invokeExact(target, index, type, ustride, vstride, packed, points); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMapParameterivNV(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMapParameterivNV).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMapParameterfvNV(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMapParameterfvNV).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMapAttribParameterivNV(int target, int index, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMapAttribParameterivNV).invokeExact(target, index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMapAttribParameterfvNV(int target, int index, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMapAttribParameterfvNV).invokeExact(target, index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEvalMapsNV(int target, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glEvalMapsNV).invokeExact(target, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java new file mode 100644 index 00000000..856db0f9 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVExplicitMultisample.java @@ -0,0 +1,69 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_explicit_multisample} + */ +public final class GLNVExplicitMultisample { + public static final int GL_SAMPLE_POSITION_NV = 0x8E50; + public static final int GL_SAMPLE_MASK_NV = 0x8E51; + public static final int GL_SAMPLE_MASK_VALUE_NV = 0x8E52; + public static final int GL_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; + public static final int GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; + public static final int GL_TEXTURE_RENDERBUFFER_NV = 0x8E55; + public static final int GL_SAMPLER_RENDERBUFFER_NV = 0x8E56; + public static final int GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; + public static final int GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; + public static final int GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_explicit_multisample) return; + ext.glGetMultisamplefvNV = load.invoke("glGetMultisamplefvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glSampleMaskIndexedNV = load.invoke("glSampleMaskIndexedNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glTexRenderbufferNV = load.invoke("glTexRenderbufferNV", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glGetMultisamplefvNV(int pname, int index, @NativeType("GLfloat *") MemorySegment val) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultisamplefvNV).invokeExact(pname, index, val); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSampleMaskIndexedNV(int index, int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glSampleMaskIndexedNV).invokeExact(index, mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexRenderbufferNV(int target, int renderbuffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexRenderbufferNV).invokeExact(target, renderbuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java new file mode 100644 index 00000000..4e22beb6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMemoryInfo.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NVX_gpu_memory_info} + */ +public final class GLNVXGpuMemoryInfo { + public static final int GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; + public static final int GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; + public static final int GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; + public static final int GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; + public static final int GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java new file mode 100644 index 00000000..23477d0a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXGpuMulticast2.java @@ -0,0 +1,86 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NVX_gpu_multicast2} + */ +public final class GLNVXGpuMulticast2 { + public static final int GL_UPLOAD_GPU_MASK_NVX = 0x954A; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NVX_gpu_multicast2) return; + ext.glUploadGpuMaskNVX = load.invoke("glUploadGpuMaskNVX", ofVoid(JAVA_INT)); + ext.glMulticastViewportArrayvNVX = load.invoke("glMulticastViewportArrayvNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMulticastViewportPositionWScaleNVX = load.invoke("glMulticastViewportPositionWScaleNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glMulticastScissorArrayvNVX = load.invoke("glMulticastScissorArrayvNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glAsyncCopyBufferSubDataNVX = load.invoke("glAsyncCopyBufferSubDataNVX", of(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_INT, ADDRESS, ADDRESS)); + ext.glAsyncCopyImageSubDataNVX = load.invoke("glAsyncCopyImageSubDataNVX", of(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glUploadGpuMaskNVX(int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glUploadGpuMaskNVX).invokeExact(mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastViewportArrayvNVX(int gpu, int first, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastViewportArrayvNVX).invokeExact(gpu, first, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastViewportPositionWScaleNVX(int gpu, int index, float xcoeff, float ycoeff) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastViewportPositionWScaleNVX).invokeExact(gpu, index, xcoeff, ycoeff); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastScissorArrayvNVX(int gpu, int first, int count, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastScissorArrayvNVX).invokeExact(gpu, first, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glAsyncCopyBufferSubDataNVX(int waitSemaphoreCount, @NativeType("const GLuint *") MemorySegment waitSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray, int readGpu, int writeGpuMask, int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size, int signalSemaphoreCount, @NativeType("const GLuint *") MemorySegment signalSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment signalValueArray) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glAsyncCopyBufferSubDataNVX).invokeExact(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glAsyncCopyImageSubDataNVX(int waitSemaphoreCount, @NativeType("const GLuint *") MemorySegment waitSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment waitValueArray, int srcGpu, int dstGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth, int signalSemaphoreCount, @NativeType("const GLuint *") MemorySegment signalSemaphoreArray, @NativeType("const GLuint64 *") MemorySegment signalValueArray) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glAsyncCopyImageSubDataNVX).invokeExact(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java new file mode 100644 index 00000000..744ae92a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXLinkedGpuMulticast.java @@ -0,0 +1,61 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NVX_linked_gpu_multicast} + */ +public final class GLNVXLinkedGpuMulticast { + public static final int GL_LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; + public static final int GL_MAX_LGPU_GPUS_NVX = 0x92BA; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NVX_linked_gpu_multicast) return; + ext.glLGPUNamedBufferSubDataNVX = load.invoke("glLGPUNamedBufferSubDataNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); + ext.glLGPUCopyImageSubDataNVX = load.invoke("glLGPUCopyImageSubDataNVX", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glLGPUInterlockNVX = load.invoke("glLGPUInterlockNVX", ofVoid()); + } + + public static void glLGPUNamedBufferSubDataNVX(int gpuMask, int buffer, long offset, long size, @NativeType("const void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glLGPUNamedBufferSubDataNVX).invokeExact(gpuMask, buffer, offset, size, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLGPUCopyImageSubDataNVX(int sourceGpu, int destinationGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srxY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int width, int height, int depth) { + final var ext = getExtCapabilities(); + try { + check(ext.glLGPUCopyImageSubDataNVX).invokeExact(sourceGpu, destinationGpuMask, srcName, srcTarget, srcLevel, srcX, srxY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLGPUInterlockNVX() { + final var ext = getExtCapabilities(); + try { + check(ext.glLGPUInterlockNVX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java new file mode 100644 index 00000000..b858fdcd --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVXProgressFence.java @@ -0,0 +1,67 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NVX_progress_fence} + */ +public final class GLNVXProgressFence { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NVX_progress_fence) return; + ext.glCreateProgressFenceNVX = load.invoke("glCreateProgressFenceNVX", ofVoid()); + ext.glSignalSemaphoreui64NVX = load.invoke("glSignalSemaphoreui64NVX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glWaitSemaphoreui64NVX = load.invoke("glWaitSemaphoreui64NVX", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glClientWaitSemaphoreui64NVX = load.invoke("glClientWaitSemaphoreui64NVX", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glCreateProgressFenceNVX() { + final var ext = getExtCapabilities(); + try { + check(ext.glCreateProgressFenceNVX).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSignalSemaphoreui64NVX(int signalGpu, int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray) { + final var ext = getExtCapabilities(); + try { + check(ext.glSignalSemaphoreui64NVX).invokeExact(signalGpu, fenceObjectCount, semaphoreArray, fenceValueArray); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWaitSemaphoreui64NVX(int waitGpu, int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray) { + final var ext = getExtCapabilities(); + try { + check(ext.glWaitSemaphoreui64NVX).invokeExact(waitGpu, fenceObjectCount, semaphoreArray, fenceValueArray); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClientWaitSemaphoreui64NVX(int fenceObjectCount, @NativeType("const GLuint *") MemorySegment semaphoreArray, @NativeType("const GLuint64 *") MemorySegment fenceValueArray) { + final var ext = getExtCapabilities(); + try { + check(ext.glClientWaitSemaphoreui64NVX).invokeExact(fenceObjectCount, semaphoreArray, fenceValueArray); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLVulkanProcNV.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLVulkanProcNV.java new file mode 100644 index 00000000..ff939276 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLVulkanProcNV.java @@ -0,0 +1,58 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl.ext.nv; + +import overrungl.Callback; + +import java.lang.foreign.FunctionDescriptor; +import java.lang.invoke.MethodHandle; +import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; + +/** + * {@link GLNVDrawVulkanImage} + * + * @author squid233 + * @since 0.1.0 + */ +@FunctionalInterface +public interface GLVulkanProcNV extends Callback { + FunctionDescriptor DESC = FunctionDescriptor.ofVoid(); + MethodType MTYPE = DESC.toMethodType(); + Native NATIVE = segment -> new GLVulkanProcNV() { + @Override + public void invoke() { + try { + nativeHandle(segment).invokeExact(); + } catch (Throwable e) { + throw new AssertionError("should not reach here", e); + } + } + }; + + void invoke(); + + @Override + default FunctionDescriptor descriptor() { + return DESC; + } + + @Override + default MethodHandle handle(MethodHandles.Lookup lookup) throws NoSuchMethodException, IllegalAccessException { + return lookup.findVirtual(GLVulkanProcNV.class, "invoke", MTYPE); + } +} From 94efe40d0f10fd839b63cd1d32e7a9612b294c2f Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 18 Nov 2023 15:09:16 +0800 Subject: [PATCH 26/44] [OpenGL] Update extensions --- .../kotlin/overrungl/opengl/GLAMD.kt | 492 +++ .../kotlin/overrungl/opengl/GLARB.kt | 1641 ++++++++++ .../generator/kotlin/overrungl/opengl/GLNV.kt | 1631 ++++++++++ .../overrungl/opengl/OpenGLGenerator.kt | 2628 +---------------- .../main/java/overrungl/opengl/GLExtCaps.java | 51 +- .../overrungl/opengl/ext/nv/GLNVFence.java | 96 + .../opengl/ext/nv/GLNVFillRectangle.java | 32 + .../opengl/ext/nv/GLNVFloatBuffer.java | 46 + .../opengl/ext/nv/GLNVFogDistance.java | 34 + .../ext/nv/GLNVFragmentCoverageToColor.java | 45 + .../opengl/ext/nv/GLNVFragmentProgram.java | 89 + .../opengl/ext/nv/GLNVFragmentProgram2.java | 36 + .../ext/nv/GLNVFramebufferMixedSamples.java | 67 + .../GLNVFramebufferMultisampleCoverage.java | 47 + .../opengl/ext/nv/GLNVGeometryProgram4.java | 62 + .../opengl/ext/nv/GLNVGpuMulticast.java | 136 + .../opengl/ext/nv/GLNVGpuProgram4.java | 171 ++ .../opengl/ext/nv/GLNVGpuProgram5.java | 59 + .../opengl/ext/nv/GLNVHalfFloat.java | 404 +++ .../ext/nv/GLNVInternalformatSampleQuery.java | 47 + .../opengl/ext/nv/GLNVLightMaxExponent.java | 33 + .../opengl/ext/nv/GLNVMemoryAttachment.java | 93 + .../opengl/ext/nv/GLNVMemoryObjectSparse.java | 67 + .../opengl/ext/nv/GLNVMeshShader.java | 115 + .../ext/nv/GLNVMultisampleFilterHint.java | 32 + .../opengl/ext/nv/GLNVOcculusionQuery.java | 96 + .../opengl/ext/nv/GLNVPackedDepthStencil.java | 33 + .../ext/nv/GLNVParameterBufferObject.java | 64 + .../opengl/ext/nv/GLNVPathRendering.java | 719 +++++ .../ext/nv/GLNVPathRenderingSharedEdge.java | 32 + 30 files changed, 6461 insertions(+), 2637 deletions(-) create mode 100644 modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLAMD.kt create mode 100644 modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt create mode 100644 modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLAMD.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLAMD.kt new file mode 100644 index 00000000..fde48d9b --- /dev/null +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLAMD.kt @@ -0,0 +1,492 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl + +import overrungl.opengl.OpenGLExt.AMD + +/** + * @author squid233 + * @since 0.1.0 + */ +fun amd() { + file( + "BlendMinmaxFactor", AMD, "GL_AMD_blend_minmax_factor", + "GL_FACTOR_MIN_AMD" to "0x901C", + "GL_FACTOR_MAX_AMD" to "0x901D" + ) + file("DebugOutput", AMD, "GL_AMD_debug_output") { + "GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"("0x9143") + "GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"("0x9144") + "GL_DEBUG_LOGGED_MESSAGES_AMD"("0x9145") + "GL_DEBUG_SEVERITY_HIGH_AMD"("0x9146") + "GL_DEBUG_SEVERITY_MEDIUM_AMD"("0x9147") + "GL_DEBUG_SEVERITY_LOW_AMD"("0x9148") + "GL_DEBUG_CATEGORY_API_ERROR_AMD"("0x9149") + "GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"("0x914A") + "GL_DEBUG_CATEGORY_DEPRECATION_AMD"("0x914B") + "GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"("0x914C") + "GL_DEBUG_CATEGORY_PERFORMANCE_AMD"("0x914D") + "GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"("0x914E") + "GL_DEBUG_CATEGORY_APPLICATION_AMD"("0x914F") + "GL_DEBUG_CATEGORY_OTHER_AMD"("0x9150") + "glDebugMessageEnableAMD"( + void, + GLenum("category"), + GLenum("severity"), + GLsizei("count"), + address("ids", "const GLuint *"), + GLboolean("enabled") + ) + "glDebugMessageInsertAMD"( + void, + GLenum("category"), + GLenum("severity"), + GLuint("id"), + GLsizei("length"), + address("buf", "const GLchar *") + ) + ("glDebugMessageCallbackAMD"(void, address("callback", "GLDEBUGPROCAMD"), address("userParam", "void *"))) { + "glDebugMessageCallbackAMD"( + void, + "glDebugMessageCallbackAMD(callback.address(arena), userParam);", + arena("arena"), + Type("GLDebugProcAMD", null)("callback"), + address("userParam", "void *") + ) + } + "glGetDebugMessageLogAMD"( + GLuint, + GLuint("count"), + GLsizei("bufSize"), + address("categories", "GLenum *"), + address("severities", "GLenum *"), + address("ids", "GLuint *"), + address("lengths", "GLsizei *"), + address("message", "GLchar *") + ) + } + file( + "DepthClampSeparate", AMD, "GL_AMD_depth_clamp_separate", + "GL_DEPTH_CLAMP_NEAR_AMD" to "0x901E", + "GL_DEPTH_CLAMP_FAR_AMD" to "0x901F" + ) + file("DrawBuffersBlend", AMD, "GL_AMD_draw_buffers_blend") { + "glBlendFuncIndexedAMD"(void, GLuint("buf"), GLenum("src"), GLenum("dst")) + "glBlendFuncSeparateIndexedAMD"( + void, + GLuint("buf"), + GLenum("srcRGB"), + GLenum("dstRGB"), + GLenum("srcAlpha"), + GLenum("dstAlpha") + ) + "glBlendEquationIndexedAMD"(void, GLuint("buf"), GLenum("mode")) + "glBlendEquationSeparateIndexedAMD"(void, GLuint("buf"), GLenum("modeRGB"), GLenum("modeAlpha")) + } + file("FramebufferMultisampleAdvanced", AMD, "GL_AMD_framebuffer_multisample_advanced") { + "GL_RENDERBUFFER_STORAGE_SAMPLES_AMD"("0x91B2") + "GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD"("0x91B3") + "GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD"("0x91B4") + "GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD"("0x91B5") + "GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD"("0x91B6") + "GL_SUPPORTED_MULTISAMPLE_MODES_AMD"("0x91B7") + "glRenderbufferStorageMultisampleAdvancedAMD"( + void, + GLenum("target"), + GLsizei("samples"), + GLsizei("storageSamples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + "glNamedRenderbufferStorageMultisampleAdvancedAMD"( + void, + GLuint("renderbuffer"), + GLsizei("samples"), + GLsizei("storageSamples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + } + file("FramebufferSamplePositions", AMD, "GL_AMD_framebuffer_sample_positions") { + "GL_SUBSAMPLE_DISTANCE_AMD"("0x883F") + "GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD"("0x91AE") + "GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD"("0x91AF") + "GL_ALL_PIXELS_AMD"("0xFFFFFFFF") + "glFramebufferSamplePositionsfvAMD"( + void, + GLenum("target"), + GLuint("numsamples"), + GLuint("pixelindex"), + address("values", "const GLfloat *") + ) + "glNamedFramebufferSamplePositionsfvAMD"( + void, + GLuint("framebuffer"), + GLuint("numsamples"), + GLuint("pixelindex"), + address("values", "const GLfloat *") + ) + "glGetFramebufferParameterfvAMD"( + void, + GLenum("target"), + GLenum("pname"), + GLuint("numsamples"), + GLuint("pixelindex"), + GLsizei("size"), + address("values", "GLfloat *") + ) + "glGetNamedFramebufferParameterfvAMD"( + void, + GLuint("framebuffer"), + GLenum("pname"), + GLuint("numsamples"), + GLuint("pixelindex"), + GLsizei("size"), + address("values", "GLfloat *") + ) + } + file( + "GpuShaderHalfFloat", AMD, "GL_AMD_gpu_shader_half_float", + "GL_FLOAT16_NV" to "0x8FF8", + "GL_FLOAT16_VEC2_NV" to "0x8FF9", + "GL_FLOAT16_VEC3_NV" to "0x8FFA", + "GL_FLOAT16_VEC4_NV" to "0x8FFB", + "GL_FLOAT16_MAT2_AMD" to "0x91C5", + "GL_FLOAT16_MAT3_AMD" to "0x91C6", + "GL_FLOAT16_MAT4_AMD" to "0x91C7", + "GL_FLOAT16_MAT2x3_AMD" to "0x91C8", + "GL_FLOAT16_MAT2x4_AMD" to "0x91C9", + "GL_FLOAT16_MAT3x2_AMD" to "0x91CA", + "GL_FLOAT16_MAT3x4_AMD" to "0x91CB", + "GL_FLOAT16_MAT4x2_AMD" to "0x91CC", + "GL_FLOAT16_MAT4x3_AMD" to "0x91CD" + ) + file("GpuShaderInt64", AMD, "GL_AMD_gpu_shader_int64") { + "GL_INT64_NV"("0x140E") + "GL_UNSIGNED_INT64_NV"("0x140F") + "GL_INT8_NV"("0x8FE0") + "GL_INT8_VEC2_NV"("0x8FE1") + "GL_INT8_VEC3_NV"("0x8FE2") + "GL_INT8_VEC4_NV"("0x8FE3") + "GL_INT16_NV"("0x8FE4") + "GL_INT16_VEC2_NV"("0x8FE5") + "GL_INT16_VEC3_NV"("0x8FE6") + "GL_INT16_VEC4_NV"("0x8FE7") + "GL_INT64_VEC2_NV"("0x8FE9") + "GL_INT64_VEC3_NV"("0x8FEA") + "GL_INT64_VEC4_NV"("0x8FEB") + "GL_UNSIGNED_INT8_NV"("0x8FEC") + "GL_UNSIGNED_INT8_VEC2_NV"("0x8FED") + "GL_UNSIGNED_INT8_VEC3_NV"("0x8FEE") + "GL_UNSIGNED_INT8_VEC4_NV"("0x8FEF") + "GL_UNSIGNED_INT16_NV"("0x8FF0") + "GL_UNSIGNED_INT16_VEC2_NV"("0x8FF1") + "GL_UNSIGNED_INT16_VEC3_NV"("0x8FF2") + "GL_UNSIGNED_INT16_VEC4_NV"("0x8FF3") + "GL_UNSIGNED_INT64_VEC2_NV"("0x8FF5") + "GL_UNSIGNED_INT64_VEC3_NV"("0x8FF6") + "GL_UNSIGNED_INT64_VEC4_NV"("0x8FF7") + "glUniform1i64NV"(void, GLint("location"), GLint64EXT("x")) + "glUniform2i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y")) + "glUniform3i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y"), GLint64EXT("z")) + "glUniform4i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y"), GLint64EXT("z"), GLint64EXT("w")) + "glUniform1i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform2i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform3i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform4i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) + "glUniform1ui64NV"(void, GLint("location"), GLuint64EXT("x")) + "glUniform2ui64NV"(void, GLint("location"), GLuint64EXT("x"), GLuint64EXT("y")) + "glUniform3ui64NV"(void, GLint("location"), GLuint64EXT("x"), GLuint64EXT("y"), GLuint64EXT("z")) + "glUniform4ui64NV"( + void, + GLint("location"), + GLuint64EXT("x"), + GLuint64EXT("y"), + GLuint64EXT("z"), + GLuint64EXT("w") + ) + "glUniform1ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glUniform2ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glUniform3ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glUniform4ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glGetUniformi64vNV"(void, GLuint("program"), GLint("location"), address("params", "GLint64EXT *")) + "glGetUniformui64vNV"(void, GLuint("program"), GLint("location"), address("params", "GLuint64EXT *")) + "glProgramUniform1i64NV"(void, GLuint("program"), GLint("location"), GLint64EXT("x")) + "glProgramUniform2i64NV"(void, GLuint("program"), GLint("location"), GLint64EXT("x"), GLint64EXT("y")) + "glProgramUniform3i64NV"( + void, + GLuint("program"), + GLint("location"), + GLint64EXT("x"), + GLint64EXT("y"), + GLint64EXT("z") + ) + "glProgramUniform4i64NV"( + void, + GLuint("program"), + GLint("location"), + GLint64EXT("x"), + GLint64EXT("y"), + GLint64EXT("z"), + GLint64EXT("w") + ) + "glProgramUniform1i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform2i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform3i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform4i64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64EXT *") + ) + "glProgramUniform1ui64NV"(void, GLuint("program"), GLint("location"), GLuint64EXT("x")) + "glProgramUniform2ui64NV"(void, GLuint("program"), GLint("location"), GLuint64EXT("x"), GLuint64EXT("y")) + "glProgramUniform3ui64NV"( + void, + GLuint("program"), + GLint("location"), + GLuint64EXT("x"), + GLuint64EXT("y"), + GLuint64EXT("z") + ) + "glProgramUniform4ui64NV"( + void, + GLuint("program"), + GLint("location"), + GLuint64EXT("x"), + GLuint64EXT("y"), + GLuint64EXT("z"), + GLuint64EXT("w") + ) + "glProgramUniform1ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + "glProgramUniform2ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + "glProgramUniform3ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + "glProgramUniform4ui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + } + file("InterleavedElements", AMD, "GL_AMD_interleaved_elements") { + "GL_VERTEX_ELEMENT_SWIZZLE_AMD"("0x91A4") + "GL_VERTEX_ID_SWIZZLE_AMD"("0x91A5") + "glVertexAttribParameteriAMD"(void, GLuint("index"), GLenum("pname"), GLint("param")) + } + file("MultiDrawIndirect", AMD, "GL_AMD_multi_draw_indirect") { + "glMultiDrawArraysIndirectAMD"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLsizei("primcount"), + GLsizei("stride") + ) + "glMultiDrawElementsIndirectAMD"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLsizei("primcount"), + GLsizei("stride") + ) + } + file("NameGenDelete", AMD, "GL_AMD_name_gen_delete") { + "GL_DATA_BUFFER_AMD"("0x9151") + "GL_PERFORMANCE_MONITOR_AMD"("0x9152") + "GL_QUERY_OBJECT_AMD"("0x9153") + "GL_VERTEX_ARRAY_OBJECT_AMD"("0x9154") + "GL_SAMPLER_OBJECT_AMD"("0x9155") + "glGenNamesAMD"(void, GLenum("identifier"), GLuint("num"), address("names", "GLuint *")) + "glDeleteNamesAMD"(void, GLenum("identifier"), GLuint("num"), address("names", "const GLuint *")) + "glIsNameAMD"(GLboolean, GLenum("identifier"), GLuint("name")) + } + file("OcclusionQueryEvent", AMD, "GL_AMD_occlusion_query_event") { + "GL_OCCLUSION_QUERY_EVENT_MASK_AMD"("0x874F") + "GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"("0x00000001") + "GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"("0x00000002") + "GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"("0x00000004") + "GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"("0x00000008") + "GL_QUERY_ALL_EVENT_BITS_AMD"("0xFFFFFFFF") + "glQueryObjectParameteruiAMD"(void, GLenum("target"), GLuint("id"), GLenum("pname"), GLuint("param")) + } + file("PerformanceMonitor", AMD, "GL_AMD_performance_monitor") { + "GL_COUNTER_TYPE_AMD"("0x8BC0") + "GL_COUNTER_RANGE_AMD"("0x8BC1") + "GL_UNSIGNED_INT64_AMD"("0x8BC2") + "GL_PERCENTAGE_AMD"("0x8BC3") + "GL_PERFMON_RESULT_AVAILABLE_AMD"("0x8BC4") + "GL_PERFMON_RESULT_SIZE_AMD"("0x8BC5") + "GL_PERFMON_RESULT_AMD"("0x8BC6") + "glGetPerfMonitorGroupsAMD"( + void, + address("numGroups", "GLint *"), + GLsizei("groupsSize"), + address("groups", "GLuint *") + ) + "glGetPerfMonitorCountersAMD"( + void, + GLuint("group"), + address("numCounters", "GLint *"), + address("maxActiveCounters", "GLint *"), + GLsizei("counterSize"), + address("counters", "GLuint *") + ) + "glGetPerfMonitorGroupStringAMD"( + void, + GLuint("group"), + GLsizei("bufSize"), + address("length", "GLsizei *"), + address("groupString", "GLchar *") + ) + "glGetPerfMonitorCounterStringAMD"( + void, + GLuint("group"), + GLuint("counter"), + GLsizei("bufSize"), + address("length", "GLsizei *"), + address("counterString", "GLchar *") + ) + "glGetPerfMonitorCounterInfoAMD"( + void, + GLuint("group"), + GLuint("counter"), + GLenum("pname"), + address("data", "void *") + ) + "glGenPerfMonitorsAMD"(void, GLsizei("n"), address("monitors", "GLuint *")) + "glDeletePerfMonitorsAMD"(void, GLsizei("n"), address("monitors", "GLuint *")) + "glSelectPerfMonitorCountersAMD"( + void, + GLuint("monitor"), + GLboolean("enable"), + GLuint("group"), + GLint("numCounters"), + address("counterList", "GLuint *") + ) + "glBeginPerfMonitorAMD"(void, GLuint("monitor")) + "glEndPerfMonitorAMD"(void, GLuint("monitor")) + "glGetPerfMonitorCounterDataAMD"( + void, + GLuint("monitor"), + GLenum("pname"), + GLsizei("dataSize"), + address("data", "GLuint *"), + address("bytesWritten", "GLint *") + ) + } + file("PinnedMemory", AMD, "GL_AMD_pinned_memory", "GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD" to "0x9160") + file( + "QueryBufferObject", AMD, "GL_AMD_query_buffer_object", + "GL_QUERY_BUFFER_AMD" to "0x9192", + "GL_QUERY_BUFFER_BINDING_AMD" to "0x9193", + "GL_QUERY_RESULT_NO_WAIT_AMD" to "0x9194" + ) + file("SamplePositions", AMD, "GL_AMD_sample_positions") { + "glSetMultisamplefvAMD"(void, GLenum("pname"), GLuint("index"), address("val", "const GLfloat *")) + } + file("SparseTexture", AMD, "GL_AMD_sparse_texture") { + "GL_VIRTUAL_PAGE_SIZE_X_AMD"("0x9195") + "GL_VIRTUAL_PAGE_SIZE_Y_AMD"("0x9196") + "GL_VIRTUAL_PAGE_SIZE_Z_AMD"("0x9197") + "GL_MAX_SPARSE_TEXTURE_SIZE_AMD"("0x9198") + "GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"("0x9199") + "GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"("0x919A") + "GL_MIN_SPARSE_LEVEL_AMD"("0x919B") + "GL_MIN_LOD_WARNING_AMD"("0x919C") + "GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"("0x00000001") + "glTexStorageSparseAMD"( + void, + GLenum("target"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLsizei("layers"), + GLbitfield("flags") + ) + "glTextureStorageSparseAMD"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLsizei("layers"), + GLbitfield("flags") + ) + } + file("StencilOperationExtended", AMD, "GL_AMD_stencil_operation_extended") { + "GL_SET_AMD"("0x874A") + "GL_REPLACE_VALUE_AMD"("0x874B") + "GL_STENCIL_OP_VALUE_AMD"("0x874C") + "GL_STENCIL_BACK_OP_VALUE_AMD"("0x874D") + "glStencilOpValueAMD"(void, GLenum("face"), GLuint("value")) + } + file("TransformFeedback4", AMD, "GL_AMD_transform_feedback4", "GL_STREAM_RASTERIZATION_AMD" to "0x91A0") + file("VertexShaderTessellator", AMD, "GL_AMD_vertex_shader_tessellator") { + "GL_SAMPLER_BUFFER_AMD"("0x9001") + "GL_INT_SAMPLER_BUFFER_AMD"("0x9002") + "GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"("0x9003") + "GL_TESSELLATION_MODE_AMD"("0x9004") + "GL_TESSELLATION_FACTOR_AMD"("0x9005") + "GL_DISCRETE_AMD"("0x9006") + "GL_CONTINUOUS_AMD"("0x9007") + "glTessellationFactorAMD"(void, GLfloat("factor")) + "glTessellationModeAMD"(void, GLenum("mode")) + } +} diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt new file mode 100644 index 00000000..36c8f6ce --- /dev/null +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLARB.kt @@ -0,0 +1,1641 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl + +import overrungl.opengl.OpenGLExt.ARB + +/** + * @author squid233 + * @since 0.1.0 + */ +fun arb() { + file("ES32Compatibility", ARB, "GL_ARB_ES3_2_compatibility") { + "GL_PRIMITIVE_BOUNDING_BOX_ARB"("0x92BE") + "GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB"("0x9381") + "GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB"("0x9382") + "glPrimitiveBoundingBoxARB"( + void, + GLfloat("minX"), + GLfloat("minY"), + GLfloat("minZ"), + GLfloat("minW"), + GLfloat("maxX"), + GLfloat("maxY"), + GLfloat("maxZ"), + GLfloat("maxW") + ) + } + file("BindlessTexture", ARB, "GL_ARB_bindless_texture") { + "GL_UNSIGNED_INT64_ARB"("0x140F") + "glGetTextureHandleARB"(GLuint64, GLuint("texture")) + "glGetTextureSamplerHandleARB"(GLuint64, GLuint("texture"), GLuint("sampler")) + "glMakeTextureHandleResidentARB"(void, GLuint64("handle")) + "glMakeTextureHandleNonResidentARB"(void, GLuint64("handle")) + "glGetImageHandleARB"( + GLuint64, + GLuint("texture"), + GLint("level"), + GLboolean("layered"), + GLint("layer"), + GLenum("format") + ) + "glMakeImageHandleResidentARB"(void, GLuint64("handle"), GLenum("access")) + "glMakeImageHandleNonResidentARB"(void, GLuint64("handle")) + "glUniformHandleui64ARB"(void, GLint("location"), GLuint64("value")) + "glUniformHandleui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glProgramUniformHandleui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("value")) + "glProgramUniformHandleui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("values", "const GLuint64 *") + ) + "glIsTextureHandleResidentARB"(GLboolean, GLuint64("handle")) + "glIsImageHandleResidentARB"(GLboolean, GLuint64("handle")) + "glVertexAttribL1ui64ARB"(void, GLuint("index"), GLuint64EXT("x")) + "glVertexAttribL1ui64vARB"(void, GLuint("index"), address("v", "const GLuint64EXT *")) + "glGetVertexAttribLui64vARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLuint64EXT *")) + } + file("CLEvent", ARB, "GL_ARB_cl_event") { + "GL_SYNC_CL_EVENT_ARB"("0x8240") + "GL_SYNC_CL_EVENT_COMPLETE_ARB"("0x8241") + "glCreateSyncFromCLeventARB"( + address, + address("context", "struct _cl_context *"), + address("event", "struct _cl_event *"), + GLbitfield("flags"), + nativeType = "GLsync" + ) + } + file("ColorBufferFloat", ARB, "GL_ARB_color_buffer_float") { + "GL_RGBA_FLOAT_MODE_ARB"("0x8820") + "GL_CLAMP_VERTEX_COLOR_ARB"("0x891A") + "GL_CLAMP_FRAGMENT_COLOR_ARB"("0x891B") + "GL_CLAMP_READ_COLOR_ARB"("0x891C") + "GL_FIXED_ONLY_ARB"("0x891D") + "glClampColorARB"(void, GLenum("target"), GLenum("clamp")) + } + file("ComputeVariableGroupSize", ARB, "GL_ARB_compute_variable_group_size") { + "GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"("0x9344") + "GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB"("0x90EB") + "GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"("0x9345") + "GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB"("0x91BF") + "glDispatchComputeGroupSizeARB"( + void, + GLuint("num_groups_x"), + GLuint("num_groups_y"), + GLuint("num_groups_z"), + GLuint("group_size_x"), + GLuint("group_size_y"), + GLuint("group_size_z") + ) + } + file("DebugOutput", ARB, "GL_ARB_debug_output") { + "GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"("0x8242") + "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"("0x8243") + "GL_DEBUG_CALLBACK_FUNCTION_ARB"("0x8244") + "GL_DEBUG_CALLBACK_USER_PARAM_ARB"("0x8245") + "GL_DEBUG_SOURCE_API_ARB"("0x8246") + "GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"("0x8247") + "GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"("0x8248") + "GL_DEBUG_SOURCE_THIRD_PARTY_ARB"("0x8249") + "GL_DEBUG_SOURCE_APPLICATION_ARB"("0x824A") + "GL_DEBUG_SOURCE_OTHER_ARB"("0x824B") + "GL_DEBUG_TYPE_ERROR_ARB"("0x824C") + "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"("0x824D") + "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"("0x824E") + "GL_DEBUG_TYPE_PORTABILITY_ARB"("0x824F") + "GL_DEBUG_TYPE_PERFORMANCE_ARB"("0x8250") + "GL_DEBUG_TYPE_OTHER_ARB"("0x8251") + "GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"("0x9143") + "GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"("0x9144") + "GL_DEBUG_LOGGED_MESSAGES_ARB"("0x9145") + "GL_DEBUG_SEVERITY_HIGH_ARB"("0x9146") + "GL_DEBUG_SEVERITY_MEDIUM_ARB"("0x9147") + "GL_DEBUG_SEVERITY_LOW_ARB"("0x9148") + "glDebugMessageControlARB"( + void, + GLenum("source"), + GLenum("type"), + GLenum("severity"), + GLsizei("count"), + address("ids", "const GLuint *"), + GLboolean("enabled") + ) + "glDebugMessageInsertARB"( + void, + GLenum("source"), + GLenum("type"), + GLuint("id"), + GLenum("severity"), + GLsizei("length"), + address("buf", "const GLchar *") + ) + ("glDebugMessageCallbackARB"( + void, + address("callback", "GLDEBUGPROCARB"), + address("userParam", "const void *") + )) { + "glDebugMessageCallbackARB"( + void, + "glDebugMessageCallbackARB(callback.address(arena), userParam);", + arena("arena"), + Type("GLDebugProc", null)("callback"), + address("userParam", "const void *") + ) + } + "glGetDebugMessageLogARB"( + GLuint, + GLuint("count"), + GLsizei("bufSize"), + address("sources", "GLenum *"), + address("types", "GLenum *"), + address("ids", "GLuint *"), + address("severities", "GLenum *"), + address("lengths", "GLsizei *"), + address("messageLog", "GLchar *") + ) + } + file( + "DepthTexture", ARB, "GL_ARB_depth_texture", + "GL_DEPTH_COMPONENT16_ARB" to "0x81A5", + "GL_DEPTH_COMPONENT24_ARB" to "0x81A6", + "GL_DEPTH_COMPONENT32_ARB" to "0x81A7", + "GL_TEXTURE_DEPTH_SIZE_ARB" to "0x884A", + "GL_DEPTH_TEXTURE_MODE_ARB" to "0x884B" + ) + file("DrawBuffers", ARB, "GL_ARB_draw_buffers") { + "GL_MAX_DRAW_BUFFERS_ARB"("0x8824") + "GL_DRAW_BUFFER0_ARB"("0x8825") + "GL_DRAW_BUFFER1_ARB"("0x8826") + "GL_DRAW_BUFFER2_ARB"("0x8827") + "GL_DRAW_BUFFER3_ARB"("0x8828") + "GL_DRAW_BUFFER4_ARB"("0x8829") + "GL_DRAW_BUFFER5_ARB"("0x882A") + "GL_DRAW_BUFFER6_ARB"("0x882B") + "GL_DRAW_BUFFER7_ARB"("0x882C") + "GL_DRAW_BUFFER8_ARB"("0x882D") + "GL_DRAW_BUFFER9_ARB"("0x882E") + "GL_DRAW_BUFFER10_ARB"("0x882F") + "GL_DRAW_BUFFER11_ARB"("0x8830") + "GL_DRAW_BUFFER12_ARB"("0x8831") + "GL_DRAW_BUFFER13_ARB"("0x8832") + "GL_DRAW_BUFFER14_ARB"("0x8833") + "GL_DRAW_BUFFER15_ARB"("0x8834") + "glDrawBuffersARB"(void, GLsizei("n"), address("bufs", "const GLenum *")) + } + file("DrawBuffersBlend", ARB, "GL_ARB_draw_buffers_blend") { + "glBlendEquationiARB"(void, GLuint("buf"), GLenum("mode")) + "glBlendEquationSeparateiARB"(void, GLuint("buf"), GLenum("modeRGB"), GLenum("modeAlpha")) + "glBlendFunciARB"(void, GLuint("buf"), GLenum("src"), GLenum("dst")) + "glBlendFuncSeparateiARB"( + void, + GLuint("buf"), + GLenum("srcRGB"), + GLenum("dstRGB"), + GLenum("srcAlpha"), + GLenum("dstAlpha") + ) + } + file("DrawInstanced", ARB, "GL_ARB_draw_instanced") { + "glDrawArraysInstancedARB"(void, GLenum("mode"), GLint("first"), GLsizei("count"), GLsizei("primcount")) + "glDrawElementsInstancedARB"( + void, + GLenum("mode"), + GLsizei("count"), + GLenum("type"), + address("indices", "const void *"), + GLsizei("primcount") + ) + } + file("FragmentProgram", ARB, "GL_ARB_fragment_program") { + "GL_FRAGMENT_PROGRAM_ARB"("0x8804") + "GL_PROGRAM_FORMAT_ASCII_ARB"("0x8875") + "GL_PROGRAM_LENGTH_ARB"("0x8627") + "GL_PROGRAM_FORMAT_ARB"("0x8876") + "GL_PROGRAM_BINDING_ARB"("0x8677") + "GL_PROGRAM_INSTRUCTIONS_ARB"("0x88A0") + "GL_MAX_PROGRAM_INSTRUCTIONS_ARB"("0x88A1") + "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"("0x88A2") + "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"("0x88A3") + "GL_PROGRAM_TEMPORARIES_ARB"("0x88A4") + "GL_MAX_PROGRAM_TEMPORARIES_ARB"("0x88A5") + "GL_PROGRAM_NATIVE_TEMPORARIES_ARB"("0x88A6") + "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"("0x88A7") + "GL_PROGRAM_PARAMETERS_ARB"("0x88A8") + "GL_MAX_PROGRAM_PARAMETERS_ARB"("0x88A9") + "GL_PROGRAM_NATIVE_PARAMETERS_ARB"("0x88AA") + "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"("0x88AB") + "GL_PROGRAM_ATTRIBS_ARB"("0x88AC") + "GL_MAX_PROGRAM_ATTRIBS_ARB"("0x88AD") + "GL_PROGRAM_NATIVE_ATTRIBS_ARB"("0x88AE") + "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"("0x88AF") + "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"("0x88B4") + "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"("0x88B5") + "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"("0x88B6") + "GL_PROGRAM_ALU_INSTRUCTIONS_ARB"("0x8805") + "GL_PROGRAM_TEX_INSTRUCTIONS_ARB"("0x8806") + "GL_PROGRAM_TEX_INDIRECTIONS_ARB"("0x8807") + "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"("0x8808") + "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"("0x8809") + "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"("0x880A") + "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"("0x880B") + "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"("0x880C") + "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"("0x880D") + "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"("0x880E") + "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"("0x880F") + "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"("0x8810") + "GL_PROGRAM_STRING_ARB"("0x8628") + "GL_PROGRAM_ERROR_POSITION_ARB"("0x864B") + "GL_CURRENT_MATRIX_ARB"("0x8641") + "GL_TRANSPOSE_CURRENT_MATRIX_ARB"("0x88B7") + "GL_CURRENT_MATRIX_STACK_DEPTH_ARB"("0x8640") + "GL_MAX_PROGRAM_MATRICES_ARB"("0x862F") + "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"("0x862E") + "GL_MAX_TEXTURE_COORDS_ARB"("0x8871") + "GL_MAX_TEXTURE_IMAGE_UNITS_ARB"("0x8872") + "GL_PROGRAM_ERROR_STRING_ARB"("0x8874") + "GL_MATRIX0_ARB"("0x88C0") + "GL_MATRIX1_ARB"("0x88C1") + "GL_MATRIX2_ARB"("0x88C2") + "GL_MATRIX3_ARB"("0x88C3") + "GL_MATRIX4_ARB"("0x88C4") + "GL_MATRIX5_ARB"("0x88C5") + "GL_MATRIX6_ARB"("0x88C6") + "GL_MATRIX7_ARB"("0x88C7") + "GL_MATRIX8_ARB"("0x88C8") + "GL_MATRIX9_ARB"("0x88C9") + "GL_MATRIX10_ARB"("0x88CA") + "GL_MATRIX11_ARB"("0x88CB") + "GL_MATRIX12_ARB"("0x88CC") + "GL_MATRIX13_ARB"("0x88CD") + "GL_MATRIX14_ARB"("0x88CE") + "GL_MATRIX15_ARB"("0x88CF") + "GL_MATRIX16_ARB"("0x88D0") + "GL_MATRIX17_ARB"("0x88D1") + "GL_MATRIX18_ARB"("0x88D2") + "GL_MATRIX19_ARB"("0x88D3") + "GL_MATRIX20_ARB"("0x88D4") + "GL_MATRIX21_ARB"("0x88D5") + "GL_MATRIX22_ARB"("0x88D6") + "GL_MATRIX23_ARB"("0x88D7") + "GL_MATRIX24_ARB"("0x88D8") + "GL_MATRIX25_ARB"("0x88D9") + "GL_MATRIX26_ARB"("0x88DA") + "GL_MATRIX27_ARB"("0x88DB") + "GL_MATRIX28_ARB"("0x88DC") + "GL_MATRIX29_ARB"("0x88DD") + "GL_MATRIX30_ARB"("0x88DE") + "GL_MATRIX31_ARB"("0x88DF") + "glProgramStringARB"( + void, + GLenum("target"), + GLenum("format"), + GLsizei("len"), + address("string", "const void *") + ) + "glBindProgramARB"(void, GLenum("target"), GLuint("program")) + "glDeleteProgramsARB"(void, GLsizei("n"), address("programs", "const GLuint *")) + "glGenProgramsARB"(void, GLsizei("n"), address("programs", "GLuint *")) + "glProgramEnvParameter4dARB"( + void, + GLenum("target"), + GLuint("index"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glProgramEnvParameter4dvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLdouble *")) + "glProgramEnvParameter4fARB"( + void, + GLenum("target"), + GLuint("index"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glProgramEnvParameter4fvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLfloat *")) + "glProgramLocalParameter4dARB"( + void, + GLenum("target"), + GLuint("index"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glProgramLocalParameter4dvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLdouble *")) + "glProgramLocalParameter4fARB"( + void, + GLenum("target"), + GLuint("index"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glProgramLocalParameter4fvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLfloat *")) + "glGetProgramEnvParameterdvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLdouble *")) + "glGetProgramEnvParameterfvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLfloat *")) + "glGetProgramLocalParameterdvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLdouble *")) + "glGetProgramLocalParameterfvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLfloat *")) + "glGetProgramivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetProgramStringARB"(void, GLenum("target"), GLenum("pname"), address("string", "void *")) + "glIsProgramARB"(GLboolean, GLuint("program")) + } + file( + "FragmentShader", ARB, "GL_ARB_fragment_shader", + "GL_FRAGMENT_SHADER_ARB" to "0x8B30", + "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB" to "0x8B49", + "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB" to "0x8B8B" + ) + file("GeometryShader4", ARB, "GL_ARB_geometry_shader4") { + "GL_LINES_ADJACENCY_ARB"("0x000A") + "GL_LINE_STRIP_ADJACENCY_ARB"("0x000B") + "GL_TRIANGLES_ADJACENCY_ARB"("0x000C") + "GL_TRIANGLE_STRIP_ADJACENCY_ARB"("0x000D") + "GL_PROGRAM_POINT_SIZE_ARB"("0x8642") + "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"("0x8C29") + "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"("0x8DA7") + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"("0x8DA8") + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"("0x8DA9") + "GL_GEOMETRY_SHADER_ARB"("0x8DD9") + "GL_GEOMETRY_VERTICES_OUT_ARB"("0x8DDA") + "GL_GEOMETRY_INPUT_TYPE_ARB"("0x8DDB") + "GL_GEOMETRY_OUTPUT_TYPE_ARB"("0x8DDC") + "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"("0x8DDD") + "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"("0x8DDE") + "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"("0x8DDF") + "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB"("0x8DE0") + "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"("0x8DE1") + "glProgramParameteriARB"(void, GLuint("program"), GLenum("pname"), GLint("value")) + "glFramebufferTextureARB"(void, GLenum("target"), GLenum("attachment"), GLuint("texture"), GLint("level")) + "glFramebufferTextureLayerARB"( + void, + GLenum("target"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLint("layer") + ) + "glFramebufferTextureFaceARB"( + void, + GLenum("target"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLenum("face") + ) + } + file("GLSpirv", ARB, "GL_ARB_gl_spirv") { + "GL_SHADER_BINARY_FORMAT_SPIR_V_ARB"("0x9551") + "GL_SPIR_V_BINARY_ARB"("0x9552") + "glSpecializeShaderARB"( + void, + GLuint("shader"), + address("pEntryPoint", "const GLchar *"), + GLuint("numSpecializationConstants"), + address("pConstantIndex", "const GLuint *"), + address("pConstantValue", "const GLuint *") + ) + } + file("GpuShaderInt64", ARB, "GL_ARB_gpu_shader_int64") { + "GL_INT64_ARB"("0x140E") + "GL_INT64_VEC2_ARB"("0x8FE9") + "GL_INT64_VEC3_ARB"("0x8FEA") + "GL_INT64_VEC4_ARB"("0x8FEB") + "GL_UNSIGNED_INT64_VEC2_ARB"("0x8FF5") + "GL_UNSIGNED_INT64_VEC3_ARB"("0x8FF6") + "GL_UNSIGNED_INT64_VEC4_ARB"("0x8FF7") + "glUniform1i64ARB"(void, GLint("location"), GLint64("x")) + "glUniform2i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y")) + "glUniform3i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y"), GLint64("z")) + "glUniform4i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y"), GLint64("z"), GLint64("w")) + "glUniform1i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform2i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform3i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform4i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) + "glUniform1ui64ARB"(void, GLint("location"), GLuint64("x")) + "glUniform2ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y")) + "glUniform3ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y"), GLuint64("z")) + "glUniform4ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y"), GLuint64("z"), GLuint64("w")) + "glUniform1ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glUniform2ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glUniform3ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glUniform4ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glGetUniformi64vARB"(void, GLuint("program"), GLint("location"), address("params", "GLint64 *")) + "glGetUniformui64vARB"(void, GLuint("program"), GLint("location"), address("params", "GLuint64 *")) + "glGetnUniformi64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("bufSize"), + address("params", "GLint64 *") + ) + "glGetnUniformui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("bufSize"), + address("params", "GLuint64 *") + ) + "glProgramUniform1i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x")) + "glProgramUniform2i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x"), GLint64("y")) + "glProgramUniform3i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x"), GLint64("y"), GLint64("z")) + "glProgramUniform4i64ARB"( + void, + GLuint("program"), + GLint("location"), + GLint64("x"), + GLint64("y"), + GLint64("z"), + GLint64("w") + ) + "glProgramUniform1i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform2i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform3i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform4i64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint64 *") + ) + "glProgramUniform1ui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("x")) + "glProgramUniform2ui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("x"), GLuint64("y")) + "glProgramUniform3ui64ARB"( + void, + GLuint("program"), + GLint("location"), + GLuint64("x"), + GLuint64("y"), + GLuint64("z") + ) + "glProgramUniform4ui64ARB"( + void, + GLuint("program"), + GLint("location"), + GLuint64("x"), + GLuint64("y"), + GLuint64("z"), + GLuint64("w") + ) + "glProgramUniform1ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + "glProgramUniform2ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + "glProgramUniform3ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + "glProgramUniform4ui64vARB"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64 *") + ) + } + file("HalfFloatPixel", ARB, "GL_ARB_half_float_pixel", "GL_HALF_FLOAT_ARB" to "0x140B") + file("Imaging", ARB, "GL_ARB_imaging") { + "GL_CONVOLUTION_BORDER_MODE"("0x8013") + "GL_CONVOLUTION_FILTER_SCALE"("0x8014") + "GL_CONVOLUTION_FILTER_BIAS"("0x8015") + "GL_REDUCE"("0x8016") + "GL_CONVOLUTION_FORMAT"("0x8017") + "GL_CONVOLUTION_WIDTH"("0x8018") + "GL_CONVOLUTION_HEIGHT"("0x8019") + "GL_MAX_CONVOLUTION_WIDTH"("0x801A") + "GL_MAX_CONVOLUTION_HEIGHT"("0x801B") + "GL_POST_CONVOLUTION_RED_SCALE"("0x801C") + "GL_POST_CONVOLUTION_GREEN_SCALE"("0x801D") + "GL_POST_CONVOLUTION_BLUE_SCALE"("0x801E") + "GL_POST_CONVOLUTION_ALPHA_SCALE"("0x801F") + "GL_POST_CONVOLUTION_RED_BIAS"("0x8020") + "GL_POST_CONVOLUTION_GREEN_BIAS"("0x8021") + "GL_POST_CONVOLUTION_BLUE_BIAS"("0x8022") + "GL_POST_CONVOLUTION_ALPHA_BIAS"("0x8023") + "GL_HISTOGRAM_WIDTH"("0x8026") + "GL_HISTOGRAM_FORMAT"("0x8027") + "GL_HISTOGRAM_RED_SIZE"("0x8028") + "GL_HISTOGRAM_GREEN_SIZE"("0x8029") + "GL_HISTOGRAM_BLUE_SIZE"("0x802A") + "GL_HISTOGRAM_ALPHA_SIZE"("0x802B") + "GL_HISTOGRAM_LUMINANCE_SIZE"("0x802C") + "GL_HISTOGRAM_SINK"("0x802D") + "GL_MINMAX_FORMAT"("0x802F") + "GL_MINMAX_SINK"("0x8030") + "GL_TABLE_TOO_LARGE"("0x8031") + "GL_COLOR_MATRIX"("0x80B1") + "GL_COLOR_MATRIX_STACK_DEPTH"("0x80B2") + "GL_MAX_COLOR_MATRIX_STACK_DEPTH"("0x80B3") + "GL_POST_COLOR_MATRIX_RED_SCALE"("0x80B4") + "GL_POST_COLOR_MATRIX_GREEN_SCALE"("0x80B5") + "GL_POST_COLOR_MATRIX_BLUE_SCALE"("0x80B6") + "GL_POST_COLOR_MATRIX_ALPHA_SCALE"("0x80B7") + "GL_POST_COLOR_MATRIX_RED_BIAS"("0x80B8") + "GL_POST_COLOR_MATRIX_GREEN_BIAS"("0x80B9") + "GL_POST_COLOR_MATRIX_BLUE_BIAS"("0x80BA") + "GL_POST_COLOR_MATRIX_ALPHA_BIAS"("0x80BB") + "GL_COLOR_TABLE_SCALE"("0x80D6") + "GL_COLOR_TABLE_BIAS"("0x80D7") + "GL_COLOR_TABLE_FORMAT"("0x80D8") + "GL_COLOR_TABLE_WIDTH"("0x80D9") + "GL_COLOR_TABLE_RED_SIZE"("0x80DA") + "GL_COLOR_TABLE_GREEN_SIZE"("0x80DB") + "GL_COLOR_TABLE_BLUE_SIZE"("0x80DC") + "GL_COLOR_TABLE_ALPHA_SIZE"("0x80DD") + "GL_COLOR_TABLE_LUMINANCE_SIZE"("0x80DE") + "GL_COLOR_TABLE_INTENSITY_SIZE"("0x80DF") + "GL_CONSTANT_BORDER"("0x8151") + "GL_REPLICATE_BORDER"("0x8153") + "GL_CONVOLUTION_BORDER_COLOR"("0x8154") + "glColorTable"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("table", "const void *") + ) + "glColorTableParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glColorTableParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glCopyColorTable"(void, GLenum("target"), GLenum("internalformat"), GLint("x"), GLint("y"), GLsizei("width")) + "glGetColorTable"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("table", "void *")) + "glGetColorTableParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetColorTableParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glColorSubTable"( + void, + GLenum("target"), + GLsizei("start"), + GLsizei("count"), + GLenum("format"), + GLenum("type"), + address("data", "const void *") + ) + "glCopyColorSubTable"(void, GLenum("target"), GLsizei("start"), GLint("x"), GLint("y"), GLsizei("width")) + "glConvolutionFilter1D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("image", "const void *") + ) + "glConvolutionFilter2D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("image", "const void *") + ) + "glConvolutionParameterf"(void, GLenum("target"), GLenum("pname"), GLfloat("params")) + "glConvolutionParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glConvolutionParameteri"(void, GLenum("target"), GLenum("pname"), GLint("params")) + "glConvolutionParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glCopyConvolutionFilter1D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width") + ) + "glCopyConvolutionFilter2D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glGetConvolutionFilter"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("image", "void *")) + "glGetConvolutionParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetConvolutionParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetSeparableFilter"( + void, + GLenum("target"), + GLenum("format"), + GLenum("type"), + address("row", "void *"), + address("column", "void *"), + address("span", "void *") + ) + "glSeparableFilter2D"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("row", "const void *"), + address("column", "const void *") + ) + "glGetHistogram"( + void, + GLenum("target"), + GLboolean("reset"), + GLenum("format"), + GLenum("type"), + address("values", "void *") + ) + "glGetHistogramParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetHistogramParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetMinmax"( + void, + GLenum("target"), + GLboolean("reset"), + GLenum("format"), + GLenum("type"), + address("values", "void *") + ) + "glGetMinmaxParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetMinmaxParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glHistogram"(void, GLenum("target"), GLsizei("width"), GLenum("internalformat"), GLboolean("sink")) + "glMinmax"(void, GLenum("target"), GLenum("internalformat"), GLboolean("sink")) + "glResetHistogram"(void, GLenum("target")) + "glResetMinmax"(void, GLenum("target")) + } + file("IndirectParameters", ARB, "GL_ARB_indirect_parameters") { + "GL_PARAMETER_BUFFER_ARB"("0x80EE") + "GL_PARAMETER_BUFFER_BINDING_ARB"("0x80EF") + "glMultiDrawArraysIndirectCountARB"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLintptr("drawcount"), + GLsizei("maxdrawcount"), + GLsizei("stride") + ) + "glMultiDrawElementsIndirectCountARB"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLintptr("drawcount"), + GLsizei("maxdrawcount"), + GLsizei("stride") + ) + } + file("InstancedArrays", ARB, "GL_ARB_instanced_arrays") { + "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"("0x88FE") + "glVertexAttribDivisorARB"(void, GLuint("index"), GLuint("divisor")) + } + file( + "InternalformatQuery2", ARB, "GL_ARB_internalformat_query2", + "GL_SRGB_DECODE_ARB" to "0x8299", + "GL_VIEW_CLASS_EAC_R11" to "0x9383", + "GL_VIEW_CLASS_EAC_RG11" to "0x9384", + "GL_VIEW_CLASS_ETC2_RGB" to "0x9385", + "GL_VIEW_CLASS_ETC2_RGBA" to "0x9386", + "GL_VIEW_CLASS_ETC2_EAC_RGBA" to "0x9387", + "GL_VIEW_CLASS_ASTC_4x4_RGBA" to "0x9388", + "GL_VIEW_CLASS_ASTC_5x4_RGBA" to "0x9389", + "GL_VIEW_CLASS_ASTC_5x5_RGBA" to "0x938A", + "GL_VIEW_CLASS_ASTC_6x5_RGBA" to "0x938B", + "GL_VIEW_CLASS_ASTC_6x6_RGBA" to "0x938C", + "GL_VIEW_CLASS_ASTC_8x5_RGBA" to "0x938D", + "GL_VIEW_CLASS_ASTC_8x6_RGBA" to "0x938E", + "GL_VIEW_CLASS_ASTC_8x8_RGBA" to "0x938F", + "GL_VIEW_CLASS_ASTC_10x5_RGBA" to "0x9390", + "GL_VIEW_CLASS_ASTC_10x6_RGBA" to "0x9391", + "GL_VIEW_CLASS_ASTC_10x8_RGBA" to "0x9392", + "GL_VIEW_CLASS_ASTC_10x10_RGBA" to "0x9393", + "GL_VIEW_CLASS_ASTC_12x10_RGBA" to "0x9394", + "GL_VIEW_CLASS_ASTC_12x12_RGBA" to "0x9395" + ) + file("MatrixPalette", ARB, "GL_ARB_matrix_palette") { + "GL_MATRIX_PALETTE_ARB"("0x8840") + "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"("0x8841") + "GL_MAX_PALETTE_MATRICES_ARB"("0x8842") + "GL_CURRENT_PALETTE_MATRIX_ARB"("0x8843") + "GL_MATRIX_INDEX_ARRAY_ARB"("0x8844") + "GL_CURRENT_MATRIX_INDEX_ARB"("0x8845") + "GL_MATRIX_INDEX_ARRAY_SIZE_ARB"("0x8846") + "GL_MATRIX_INDEX_ARRAY_TYPE_ARB"("0x8847") + "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"("0x8848") + "GL_MATRIX_INDEX_ARRAY_POINTER_ARB"("0x8849") + "glCurrentPaletteMatrixARB"(void, GLint("index")) + "glMatrixIndexubvARB"(void, GLint("size"), address("indices", "const GLubyte *")) + "glMatrixIndexusvARB"(void, GLint("size"), address("indices", "const GLushort *")) + "glMatrixIndexuivARB"(void, GLint("size"), address("indices", "const GLuint *")) + "glMatrixIndexPointerARB"( + void, + GLint("size"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + } + file("Multisample", ARB, "GL_ARB_multisample") { + "GL_MULTISAMPLE_ARB"("0x809D") + "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB"("0x809E") + "GL_SAMPLE_ALPHA_TO_ONE_ARB"("0x809F") + "GL_SAMPLE_COVERAGE_ARB"("0x80A0") + "GL_SAMPLE_BUFFERS_ARB"("0x80A8") + "GL_SAMPLES_ARB"("0x80A9") + "GL_SAMPLE_COVERAGE_VALUE_ARB"("0x80AA") + "GL_SAMPLE_COVERAGE_INVERT_ARB"("0x80AB") + "GL_MULTISAMPLE_BIT_ARB"("0x20000000") + "glSampleCoverageARB"(void, GLfloat("value"), GLboolean("invert")) + } + file("Multitexture", ARB, "GL_ARB_multitexture") { + "GL_TEXTURE0_ARB"("0x84C0") + "GL_TEXTURE1_ARB"("0x84C1") + "GL_TEXTURE2_ARB"("0x84C2") + "GL_TEXTURE3_ARB"("0x84C3") + "GL_TEXTURE4_ARB"("0x84C4") + "GL_TEXTURE5_ARB"("0x84C5") + "GL_TEXTURE6_ARB"("0x84C6") + "GL_TEXTURE7_ARB"("0x84C7") + "GL_TEXTURE8_ARB"("0x84C8") + "GL_TEXTURE9_ARB"("0x84C9") + "GL_TEXTURE10_ARB"("0x84CA") + "GL_TEXTURE11_ARB"("0x84CB") + "GL_TEXTURE12_ARB"("0x84CC") + "GL_TEXTURE13_ARB"("0x84CD") + "GL_TEXTURE14_ARB"("0x84CE") + "GL_TEXTURE15_ARB"("0x84CF") + "GL_TEXTURE16_ARB"("0x84D0") + "GL_TEXTURE17_ARB"("0x84D1") + "GL_TEXTURE18_ARB"("0x84D2") + "GL_TEXTURE19_ARB"("0x84D3") + "GL_TEXTURE20_ARB"("0x84D4") + "GL_TEXTURE21_ARB"("0x84D5") + "GL_TEXTURE22_ARB"("0x84D6") + "GL_TEXTURE23_ARB"("0x84D7") + "GL_TEXTURE24_ARB"("0x84D8") + "GL_TEXTURE25_ARB"("0x84D9") + "GL_TEXTURE26_ARB"("0x84DA") + "GL_TEXTURE27_ARB"("0x84DB") + "GL_TEXTURE28_ARB"("0x84DC") + "GL_TEXTURE29_ARB"("0x84DD") + "GL_TEXTURE30_ARB"("0x84DE") + "GL_TEXTURE31_ARB"("0x84DF") + "GL_ACTIVE_TEXTURE_ARB"("0x84E0") + "GL_CLIENT_ACTIVE_TEXTURE_ARB"("0x84E1") + "GL_MAX_TEXTURE_UNITS_ARB"("0x84E2") + "glActiveTextureARB"(void, GLenum("texture")) + "glClientActiveTextureARB"(void, GLenum("texture")) + "glMultiTexCoord1dARB"(void, GLenum("target"), GLdouble("s")) + "glMultiTexCoord1dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord1fARB"(void, GLenum("target"), GLfloat("s")) + "glMultiTexCoord1fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord1iARB"(void, GLenum("target"), GLint("s")) + "glMultiTexCoord1ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord1sARB"(void, GLenum("target"), GLshort("s")) + "glMultiTexCoord1svARB"(void, GLenum("target"), address("v", "const GLshort *")) + "glMultiTexCoord2dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t")) + "glMultiTexCoord2dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord2fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t")) + "glMultiTexCoord2fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord2iARB"(void, GLenum("target"), GLint("s"), GLint("t")) + "glMultiTexCoord2ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord2sARB"(void, GLenum("target"), GLshort("s"), GLshort("t")) + "glMultiTexCoord2svARB"(void, GLenum("target"), address("v", "const GLshort *")) + "glMultiTexCoord3dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t"), GLdouble("r")) + "glMultiTexCoord3dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord3fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t"), GLfloat("r")) + "glMultiTexCoord3fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord3iARB"(void, GLenum("target"), GLint("s"), GLint("t"), GLint("r")) + "glMultiTexCoord3ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord3sARB"(void, GLenum("target"), GLshort("s"), GLshort("t"), GLshort("r")) + "glMultiTexCoord3svARB"(void, GLenum("target"), address("v", "const GLshort *")) + "glMultiTexCoord4dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t"), GLdouble("r"), GLdouble("q")) + "glMultiTexCoord4dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) + "glMultiTexCoord4fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t"), GLfloat("r"), GLfloat("q")) + "glMultiTexCoord4fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) + "glMultiTexCoord4iARB"(void, GLenum("target"), GLint("s"), GLint("t"), GLint("r"), GLint("q")) + "glMultiTexCoord4ivARB"(void, GLenum("target"), address("v", "const GLint *")) + "glMultiTexCoord4sARB"(void, GLenum("target"), GLshort("s"), GLshort("t"), GLshort("r"), GLshort("q")) + "glMultiTexCoord4svARB"(void, GLenum("target"), address("v", "const GLshort *")) + } + file("OcclusionQuery", ARB, "GL_ARB_occlusion_query") { + "GL_QUERY_COUNTER_BITS_ARB"("0x8864") + "GL_CURRENT_QUERY_ARB"("0x8865") + "GL_QUERY_RESULT_ARB"("0x8866") + "GL_QUERY_RESULT_AVAILABLE_ARB"("0x8867") + "GL_SAMPLES_PASSED_ARB"("0x8914") + "glGenQueriesARB"(void, GLsizei("n"), address("ids", "GLuint *")) + "glDeleteQueriesARB"(void, GLsizei("n"), address("ids", "const GLuint *")) + "glIsQueryARB"(GLboolean, GLuint("id")) + "glBeginQueryARB"(void, GLenum("target"), GLuint("id")) + "glEndQueryARB"(void, GLenum("target")) + "glGetQueryivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetQueryObjectivARB"(void, GLuint("id"), GLenum("pname"), address("params", "GLint *")) + "glGetQueryObjectuivARB"(void, GLuint("id"), GLenum("pname"), address("params", "GLuint *")) + } + file("ParallelShaderCompile", ARB, "GL_ARB_parallel_shader_compile") { + "GL_MAX_SHADER_COMPILER_THREADS_ARB"("0x91B0") + "GL_COMPLETION_STATUS_ARB"("0x91B1") + "glMaxShaderCompilerThreadsARB"(void, GLuint("count")) + } + file( + "PipelineStatisticsQuery", ARB, "GL_ARB_pipeline_statistics_query", + "GL_VERTICES_SUBMITTED_ARB" to "0x82EE", + "GL_PRIMITIVES_SUBMITTED_ARB" to "0x82EF", + "GL_VERTEX_SHADER_INVOCATIONS_ARB" to "0x82F0", + "GL_TESS_CONTROL_SHADER_PATCHES_ARB" to "0x82F1", + "GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB" to "0x82F2", + "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB" to "0x82F3", + "GL_FRAGMENT_SHADER_INVOCATIONS_ARB" to "0x82F4", + "GL_COMPUTE_SHADER_INVOCATIONS_ARB" to "0x82F5", + "GL_CLIPPING_INPUT_PRIMITIVES_ARB" to "0x82F6", + "GL_CLIPPING_OUTPUT_PRIMITIVES_ARB" to "0x82F7" + ) + file( + "PixelBufferObject", ARB, "GL_ARB_pixel_buffer_object", + "GL_PIXEL_PACK_BUFFER_ARB" to "0x88EB", + "GL_PIXEL_UNPACK_BUFFER_ARB" to "0x88EC", + "GL_PIXEL_PACK_BUFFER_BINDING_ARB" to "0x88ED", + "GL_PIXEL_UNPACK_BUFFER_BINDING_ARB" to "0x88EF" + ) + file("PointParameters", ARB, "GL_ARB_point_parameters") { + "GL_POINT_SIZE_MIN_ARB"("0x8126") + "GL_POINT_SIZE_MAX_ARB"("0x8127") + "GL_POINT_FADE_THRESHOLD_SIZE_ARB"("0x8128") + "GL_POINT_DISTANCE_ATTENUATION_ARB"("0x8129") + "glPointParameterfARB"(void, GLenum("pname"), GLfloat("param")) + "glPointParameterfvARB"(void, GLenum("pname"), address("params", "const GLfloat *")) + } + file( + "PointSprite", ARB, "GL_ARB_point_sprite", + "GL_POINT_SPRITE_ARB" to "0x8861", + "GL_COORD_REPLACE_ARB" to "0x8862" + ) + file("Robustness", ARB, "GL_ARB_robustness") { + "GL_NO_RESET_NOTIFICATION_ARB"("0x8261") + "GL_RESET_NOTIFICATION_STRATEGY_ARB"("0x8256") + "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"("0x00000004") + "GL_UNKNOWN_CONTEXT_RESET_ARB"("0x8255") + "GL_LOSE_CONTEXT_ON_RESET_ARB"("0x8252") + "GL_INNOCENT_CONTEXT_RESET_ARB"("0x8254") + "GL_GUILTY_CONTEXT_RESET_ARB"("0x8253") + "glGetGraphicsResetStatusARB"(int) + "glGetnCompressedTexImageARB"(void, int("target"), int("lod"), int("bufSize"), address("img", "void*")) + "glGetnTexImageARB"( + void, + int("target"), + int("level"), + int("format"), + int("type"), + int("bufSize"), + address("img", "void*") + ) + "glGetnUniformdvARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLdouble*")) + "glGetnUniformfvARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLfloat*")) + "glGetnUniformivARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLint*")) + "glGetnUniformuivARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLuint*")) + "glReadnPixelsARB"( + void, + int("x"), + int("y"), + int("width"), + int("height"), + int("format"), + int("type"), + int("bufSize"), + address("data", "void*") + ) + } + file("SampleLocations", ARB, "GL_ARB_sample_locations") { + "GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB"("0x933D") + "GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB"("0x933E") + "GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB"("0x933F") + "GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB"("0x9340") + "GL_SAMPLE_LOCATION_ARB"("0x8E50") + "GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB"("0x9341") + "GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB"("0x9342") + "GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB"("0x9343") + "glEvaluateDepthValuesARB"(void) + "glFramebufferSampleLocationsfvARB"( + void, + int("target"), + int("start"), + int("count"), + address("v", "const GLfloat *v") + ) + "glNamedFramebufferSampleLocationsfvARB"( + void, + int("framebuffer"), + int("start"), + int("count"), + address("v", "const GLfloat *v") + ) + } + file("SampleShading", ARB, "GL_ARB_sample_shading") { + "GL_SAMPLE_SHADING_ARB"("0x8C36") + "GL_MIN_SAMPLE_SHADING_VALUE_ARB"("0x8C37") + "glMinSampleShadingARB"(void, float("value")) + } + file("ShaderObjects", ARB, "GL_ARB_shader_objects") { + "GL_PROGRAM_OBJECT_ARB"("0x8B40") + "GL_SHADER_OBJECT_ARB"("0x8B48") + "GL_OBJECT_TYPE_ARB"("0x8B4E") + "GL_OBJECT_SUBTYPE_ARB"("0x8B4F") + "GL_FLOAT_VEC2_ARB"("0x8B50") + "GL_FLOAT_VEC3_ARB"("0x8B51") + "GL_FLOAT_VEC4_ARB"("0x8B52") + "GL_INT_VEC2_ARB"("0x8B53") + "GL_INT_VEC3_ARB"("0x8B54") + "GL_INT_VEC4_ARB"("0x8B55") + "GL_BOOL_ARB"("0x8B56") + "GL_BOOL_VEC2_ARB"("0x8B57") + "GL_BOOL_VEC3_ARB"("0x8B58") + "GL_BOOL_VEC4_ARB"("0x8B59") + "GL_FLOAT_MAT2_ARB"("0x8B5A") + "GL_FLOAT_MAT3_ARB"("0x8B5B") + "GL_FLOAT_MAT4_ARB"("0x8B5C") + "GL_SAMPLER_1D_ARB"("0x8B5D") + "GL_SAMPLER_2D_ARB"("0x8B5E") + "GL_SAMPLER_3D_ARB"("0x8B5F") + "GL_SAMPLER_CUBE_ARB"("0x8B60") + "GL_SAMPLER_1D_SHADOW_ARB"("0x8B61") + "GL_SAMPLER_2D_SHADOW_ARB"("0x8B62") + "GL_SAMPLER_2D_RECT_ARB"("0x8B63") + "GL_SAMPLER_2D_RECT_SHADOW_ARB"("0x8B64") + "GL_OBJECT_DELETE_STATUS_ARB"("0x8B80") + "GL_OBJECT_COMPILE_STATUS_ARB"("0x8B81") + "GL_OBJECT_LINK_STATUS_ARB"("0x8B82") + "GL_OBJECT_VALIDATE_STATUS_ARB"("0x8B83") + "GL_OBJECT_INFO_LOG_LENGTH_ARB"("0x8B84") + "GL_OBJECT_ATTACHED_OBJECTS_ARB"("0x8B85") + "GL_OBJECT_ACTIVE_UNIFORMS_ARB"("0x8B86") + "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB"("0x8B87") + "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB"("0x8B88") + "glDeleteObjectARB"(void, int("obj")) + "glGetHandleARB"(int, int("pname")) + "glDetachObjectARB"(void, int("containerObj"), int("attachedObj")) + "glCreateShaderObjectARB"(int, int("shaderType")) + "glShaderSourceARB"( + void, + int("shaderObj"), + int("count"), + address("string", "const GLcharARB**"), + address("length", "const GLint*") + ) + "glCompileShaderARB"(void, int("shaderObj")) + "glCreateProgramObjectARB"(int) + "glAttachObjectARB"(void, int("containerObj"), int("obj")) + "glLinkProgramARB"(void, int("programObj")) + "glUseProgramObjectARB"(void, int("programObj")) + "glValidateProgramARB"(void, int("programObj")) + "glUniform1fARB"(void, int("location"), float("v0")) + "glUniform2fARB"(void, int("location"), float("v0"), float("v1")) + "glUniform3fARB"(void, int("location"), float("v0"), float("v1"), float("v2")) + "glUniform4fARB"(void, int("location"), float("v0"), float("v1"), float("v2"), float("v3")) + "glUniform1iARB"(void, int("location"), int("v0")) + "glUniform2iARB"(void, int("location"), int("v0"), int("v1")) + "glUniform3iARB"(void, int("location"), int("v0"), int("v1"), int("v2")) + "glUniform4iARB"(void, int("location"), int("v0"), int("v1"), int("v2"), int("v3")) + "glUniform1fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform2fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform3fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform4fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) + "glUniform1ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniform2ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniform3ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniform4ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) + "glUniformMatrix2fvARB"( + void, + int("location"), + int("count"), + boolean("transpose"), + address("value", "const GLfloat*") + ) + "glUniformMatrix3fvARB"( + void, + int("location"), + int("count"), + boolean("transpose"), + address("value", "const GLfloat*") + ) + "glUniformMatrix4fvARB"( + void, + int("location"), + int("count"), + boolean("transpose"), + address("value", "const GLfloat*") + ) + "glGetObjectParameterfvARB"(void, int("obj"), int("pname"), address("params", "GLfloat*")) + "glGetObjectParameterivARB"(void, int("obj"), int("pname"), address("params", "GLint*")) + "glGetInfoLogARB"( + void, + int("obj"), + int("maxLength"), + address("length", "GLsizei*"), + address("infoLog", "GLcharARB*") + ) + "glGetAttachedObjectsARB"( + void, + int("containerObj"), + int("maxCount"), + address("count", "GLsizei*"), + address("obj", "GLhandleARB*") + ) + "glGetUniformLocationARB"(int, int("programObj"), address("name", "const GLcharARB*")) + "glGetActiveUniformARB"( + void, + int("programObj"), + int("index"), + int("maxLength"), + address("length", "GLsizei*"), + address("size", "GLint*"), + address("type", "GLenum*"), + address("name", "GLcharARB*") + ) + "glGetUniformfvARB"(void, int("programObj"), int("location"), address("params", "GLfloat*")) + "glGetUniformivARB"(void, int("programObj"), int("location"), address("params", "GLint*")) + "glGetShaderSourceARB"( + void, + int("obj"), + int("maxLength"), + address("length", "GLsizei*"), + address("source", "GLcharARB*") + ) + } + file("ShadingLanguageInclude", ARB, "GL_ARB_shading_language_include") { + "GL_SHADER_INCLUDE_ARB"("0x8DAE") + "GL_NAMED_STRING_LENGTH_ARB"("0x8DE9") + "GL_NAMED_STRING_TYPE_ARB"("0x8DEA") + "glNamedStringARB"( + void, + int("type"), + int("nameLen"), + address("name", "const GLchar*"), + int("stringLen"), + address("string", "const GLchar*") + ) + "glDeleteNamedStringARB"(void, int("nameLen"), address("name", "const GLchar*")) + "glCompileShaderIncludeARB"( + void, + int("shader"), + int("count"), + address("path", "const GLchar *const*"), + address("length", "const GLint*") + ) + "glIsNamedStringARB"(boolean, int("nameLen"), address("name", "const GLchar*")) + "glGetNamedStringARB"( + void, + int("nameLen"), + address("name", "const GLchar*"), + int("bufSize"), + address("stringLen", "GLint*"), + address("string", "GLchar*") + ) + "glGetNamedStringivARB"( + void, + int("nameLen"), + address("name", "const GLchar*"), + int("pname"), + address("params", "GLint*") + ) + } + file( + "Shadow", ARB, "GL_ARB_shadow", + "GL_TEXTURE_COMPARE_MODE_ARB" to "0x884C", + "GL_TEXTURE_COMPARE_FUNC_ARB" to "0x884D", + "GL_COMPARE_R_TO_TEXTURE_ARB" to "0x884E" + ) + file( + "ShadowAmbient", ARB, "GL_ARB_shadow_ambient", + "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB" to "0x80BF" + ) + file("SparseBuffer", ARB, "GL_ARB_sparse_buffer") { + "GL_SPARSE_STORAGE_BIT_ARB"("0x0400") + "GL_SPARSE_BUFFER_PAGE_SIZE_ARB"("0x82F8") + "glBufferPageCommitmentARB"(void, int("target"), long("offset"), long("size"), boolean("commit")) + "glNamedBufferPageCommitmentEXT"(void, int("buffer"), long("offset"), long("size"), boolean("commit")) + "glNamedBufferPageCommitmentARB"(void, int("buffer"), long("offset"), long("size"), boolean("commit")) + } + file("SparseTexture", ARB, "GL_ARB_sparse_texture") { + "GL_TEXTURE_SPARSE_ARB"("0x91A6") + "GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"("0x91A7") + "GL_NUM_SPARSE_LEVELS_ARB"("0x91AA") + "GL_NUM_VIRTUAL_PAGE_SIZES_ARB"("0x91A8") + "GL_VIRTUAL_PAGE_SIZE_X_ARB"("0x9195") + "GL_VIRTUAL_PAGE_SIZE_Y_ARB"("0x9196") + "GL_VIRTUAL_PAGE_SIZE_Z_ARB"("0x9197") + "GL_MAX_SPARSE_TEXTURE_SIZE_ARB"("0x9198") + "GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"("0x9199") + "GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"("0x919A") + "GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"("0x91A9") + "glTexPageCommitmentARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("yoffset"), + int("zoffset"), + int("width"), + int("height"), + int("depth"), + boolean("commit") + ) + } + file( + "TextureBorderClamp", ARB, "GL_ARB_texture_border_clamp", + "GL_CLAMP_TO_BORDER_ARB" to "0x812D" + ) + file("TextureBufferObject", ARB, "GL_ARB_texture_buffer_object") { + "GL_TEXTURE_BUFFER_ARB"("0x8C2A") + "GL_MAX_TEXTURE_BUFFER_SIZE_ARB"("0x8C2B") + "GL_TEXTURE_BINDING_BUFFER_ARB"("0x8C2C") + "GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"("0x8C2D") + "GL_TEXTURE_BUFFER_FORMAT_ARB"("0x8C2E") + "glTexBufferARB"(void, int("target"), int("internalFormat"), int("buffer")) + } + file("TextureCompression", ARB, "GL_ARB_texture_compression") { + "GL_COMPRESSED_ALPHA_ARB"("0x84E9") + "GL_COMPRESSED_LUMINANCE_ARB"("0x84EA") + "GL_COMPRESSED_LUMINANCE_ALPHA_ARB"("0x84EB") + "GL_COMPRESSED_INTENSITY_ARB"("0x84EC") + "GL_COMPRESSED_RGB_ARB"("0x84ED") + "GL_COMPRESSED_RGBA_ARB"("0x84EE") + "GL_TEXTURE_COMPRESSION_HINT_ARB"("0x84EF") + "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB"("0x86A0") + "GL_TEXTURE_COMPRESSED_ARB"("0x86A1") + "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB"("0x86A2") + "GL_COMPRESSED_TEXTURE_FORMATS_ARB"("0x86A3") + "glCompressedTexImage3DARB"( + void, + int("target"), + int("level"), + int("internalFormat"), + int("width"), + int("height"), + int("depth"), + int("border"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexImage2DARB"( + void, + int("target"), + int("level"), + int("internalFormat"), + int("width"), + int("height"), + int("border"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexImage1DARB"( + void, + int("target"), + int("level"), + int("internalFormat"), + int("width"), + int("border"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexSubImage3DARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("yoffset"), + int("zoffset"), + int("width"), + int("height"), + int("depth"), + int("format"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexSubImage2DARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("yoffset"), + int("width"), + int("height"), + int("format"), + int("imageSize"), + address("data", "const void*") + ) + "glCompressedTexSubImage1DARB"( + void, + int("target"), + int("level"), + int("xoffset"), + int("width"), + int("format"), + int("imageSize"), + address("data", "const void*") + ) + "glGetCompressedTexImageARB"(void, int("target"), int("level"), address("img", "void*")) + } + file( + "TextureCompressionBptc", ARB, "GL_ARB_texture_compression_bptc", + "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB" to "0x8E8C", + "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB" to "0x8E8D", + "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB" to "0x8E8E", + "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB" to "0x8E8F" + ) + file( + "TextureCubeMap", ARB, "GL_ARB_texture_cube_map", + "GL_NORMAL_MAP_ARB" to "0x8511", + "GL_REFLECTION_MAP_ARB" to "0x8512", + "GL_TEXTURE_CUBE_MAP_ARB" to "0x8513", + "GL_TEXTURE_BINDING_CUBE_MAP_ARB" to "0x8514", + "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB" to "0x8515", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB" to "0x8516", + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB" to "0x8517", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB" to "0x8518", + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB" to "0x8519", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB" to "0x851A", + "GL_PROXY_TEXTURE_CUBE_MAP_ARB" to "0x851B", + "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB" to "0x851C" + ) + file( + "TextureCubeMapArray", ARB, "GL_ARB_texture_cube_map_array", + "GL_TEXTURE_CUBE_MAP_ARRAY_ARB" to "0x9009", + "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB" to "0x900A", + "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB" to "0x900B", + "GL_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900C", + "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB" to "0x900D", + "GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900E", + "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900F" + ) + file( + "TextureEnvCombine", ARB, "GL_ARB_texture_env_combine", + "GL_COMBINE_ARB" to "0x8570", + "GL_COMBINE_RGB_ARB" to "0x8571", + "GL_COMBINE_ALPHA_ARB" to "0x8572", + "GL_SOURCE0_RGB_ARB" to "0x8580", + "GL_SOURCE1_RGB_ARB" to "0x8581", + "GL_SOURCE2_RGB_ARB" to "0x8582", + "GL_SOURCE0_ALPHA_ARB" to "0x8588", + "GL_SOURCE1_ALPHA_ARB" to "0x8589", + "GL_SOURCE2_ALPHA_ARB" to "0x858A", + "GL_OPERAND0_RGB_ARB" to "0x8590", + "GL_OPERAND1_RGB_ARB" to "0x8591", + "GL_OPERAND2_RGB_ARB" to "0x8592", + "GL_OPERAND0_ALPHA_ARB" to "0x8598", + "GL_OPERAND1_ALPHA_ARB" to "0x8599", + "GL_OPERAND2_ALPHA_ARB" to "0x859A", + "GL_RGB_SCALE_ARB" to "0x8573", + "GL_ADD_SIGNED_ARB" to "0x8574", + "GL_INTERPOLATE_ARB" to "0x8575", + "GL_SUBTRACT_ARB" to "0x84E7", + "GL_CONSTANT_ARB" to "0x8576", + "GL_PRIMARY_COLOR_ARB" to "0x8577", + "GL_PREVIOUS_ARB" to "0x8578" + ) + file( + "TextureEnvDot3", ARB, "GL_ARB_texture_env_dot3", + "GL_DOT3_RGB_ARB" to "0x86AE", + "GL_DOT3_RGBA_ARB" to "0x86AF" + ) + file( + "TextureFilterMinmax", ARB, "GL_ARB_texture_filter_minmax", + "GL_TEXTURE_REDUCTION_MODE_ARB" to "0x9366", + "GL_WEIGHTED_AVERAGE_ARB" to "0x9367" + ) + file( + "TextureFloat", ARB, "GL_ARB_texture_float", + "GL_TEXTURE_RED_TYPE_ARB" to "0x8C10", + "GL_TEXTURE_GREEN_TYPE_ARB" to "0x8C11", + "GL_TEXTURE_BLUE_TYPE_ARB" to "0x8C12", + "GL_TEXTURE_ALPHA_TYPE_ARB" to "0x8C13", + "GL_TEXTURE_LUMINANCE_TYPE_ARB" to "0x8C14", + "GL_TEXTURE_INTENSITY_TYPE_ARB" to "0x8C15", + "GL_TEXTURE_DEPTH_TYPE_ARB" to "0x8C16", + "GL_UNSIGNED_NORMALIZED_ARB" to "0x8C17", + "GL_RGBA32F_ARB" to "0x8814", + "GL_RGB32F_ARB" to "0x8815", + "GL_ALPHA32F_ARB" to "0x8816", + "GL_INTENSITY32F_ARB" to "0x8817", + "GL_LUMINANCE32F_ARB" to "0x8818", + "GL_LUMINANCE_ALPHA32F_ARB" to "0x8819", + "GL_RGBA16F_ARB" to "0x881A", + "GL_RGB16F_ARB" to "0x881B", + "GL_ALPHA16F_ARB" to "0x881C", + "GL_INTENSITY16F_ARB" to "0x881D", + "GL_LUMINANCE16F_ARB" to "0x881E", + "GL_LUMINANCE_ALPHA16F_ARB" to "0x881F" + ) + file( + "TextureGather", ARB, "GL_ARB_texture_gather", + "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB" to "0x8E5E", + "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB" to "0x8E5F", + "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB" to "0x8F9F" + ) + file( + "TextureMirroredRepeat", ARB, "GL_ARB_texture_mirrored_repeat", + "GL_MIRRORED_REPEAT_ARB" to "0x8370" + ) + file( + "TextureRectangle", ARB, "GL_ARB_texture_rectangle", + "GL_TEXTURE_RECTANGLE_ARB" to "0x84F5", + "GL_TEXTURE_BINDING_RECTANGLE_ARB" to "0x84F6", + "GL_PROXY_TEXTURE_RECTANGLE_ARB" to "0x84F7", + "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB" to "0x84F8" + ) + file( + "TransformFeedbackOverflowQuery", ARB, "GL_ARB_transform_feedback_overflow_query", + "GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB" to "0x82EC", + "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB" to "0x82ED" + ) + file("TransposeMatrix", ARB, "GL_ARB_transpose_matrix") { + "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"("0x84E3") + "GL_TRANSPOSE_PROJECTION_MATRIX_ARB"("0x84E4") + "GL_TRANSPOSE_TEXTURE_MATRIX_ARB"("0x84E5") + "GL_TRANSPOSE_COLOR_MATRIX_ARB"("0x84E6") + "glLoadTransposeMatrixfARB"(void, address("m", "const GLfloat*")) + "glLoadTransposeMatrixdARB"(void, address("m", "const GLdouble*")) + "glMultTransposeMatrixfARB"(void, address("m", "const GLfloat*")) + "glMultTransposeMatrixdARB"(void, address("m", "const GLdouble*")) + } + file("VertexBlend", ARB, "GL_ARB_vertex_blend") { + "GL_MAX_VERTEX_UNITS_ARB"("0x86A4") + "GL_ACTIVE_VERTEX_UNITS_ARB"("0x86A5") + "GL_WEIGHT_SUM_UNITY_ARB"("0x86A6") + "GL_VERTEX_BLEND_ARB"("0x86A7") + "GL_CURRENT_WEIGHT_ARB"("0x86A8") + "GL_WEIGHT_ARRAY_TYPE_ARB"("0x86A9") + "GL_WEIGHT_ARRAY_STRIDE_ARB"("0x86AA") + "GL_WEIGHT_ARRAY_SIZE_ARB"("0x86AB") + "GL_WEIGHT_ARRAY_POINTER_ARB"("0x86AC") + "GL_WEIGHT_ARRAY_ARB"("0x86AD") + "GL_MODELVIEW0_ARB"("0x1700") + "GL_MODELVIEW1_ARB"("0x850A") + "GL_MODELVIEW2_ARB"("0x8722") + "GL_MODELVIEW3_ARB"("0x8723") + "GL_MODELVIEW4_ARB"("0x8724") + "GL_MODELVIEW5_ARB"("0x8725") + "GL_MODELVIEW6_ARB"("0x8726") + "GL_MODELVIEW7_ARB"("0x8727") + "GL_MODELVIEW8_ARB"("0x8728") + "GL_MODELVIEW9_ARB"("0x8729") + "GL_MODELVIEW10_ARB"("0x872A") + "GL_MODELVIEW11_ARB"("0x872B") + "GL_MODELVIEW12_ARB"("0x872C") + "GL_MODELVIEW13_ARB"("0x872D") + "GL_MODELVIEW14_ARB"("0x872E") + "GL_MODELVIEW15_ARB"("0x872F") + "GL_MODELVIEW16_ARB"("0x8730") + "GL_MODELVIEW17_ARB"("0x8731") + "GL_MODELVIEW18_ARB"("0x8732") + "GL_MODELVIEW19_ARB"("0x8733") + "GL_MODELVIEW20_ARB"("0x8734") + "GL_MODELVIEW21_ARB"("0x8735") + "GL_MODELVIEW22_ARB"("0x8736") + "GL_MODELVIEW23_ARB"("0x8737") + "GL_MODELVIEW24_ARB"("0x8738") + "GL_MODELVIEW25_ARB"("0x8739") + "GL_MODELVIEW26_ARB"("0x873A") + "GL_MODELVIEW27_ARB"("0x873B") + "GL_MODELVIEW28_ARB"("0x873C") + "GL_MODELVIEW29_ARB"("0x873D") + "GL_MODELVIEW30_ARB"("0x873E") + "GL_MODELVIEW31_ARB"("0x873F") + "glWeightbvARB"(void, GLint("size"), address("weights", "const GLbyte*")) + "glWeightsvARB"(void, GLint("size"), address("weights", "const GLshort*")) + "glWeightivARB"(void, GLint("size"), address("weights", "const GLint*")) + "glWeightfvARB"(void, GLint("size"), address("weights", "const GLfloat*")) + "glWeightdvARB"(void, GLint("size"), address("weights", "const GLdouble*")) + "glWeightubvARB"(void, GLint("size"), address("weights", "const GLubyte*")) + "glWeightusvARB"(void, GLint("size"), address("weights", "const GLushort*")) + "glWeightuivARB"(void, GLint("size"), address("weights", "const GLuint*")) + "glWeightPointerARB"(void, GLint("size"), GLenum("type"), GLsizei("stride"), address("pointer", "const void*")) + "glVertexBlendARB"(void, GLint("count")) + } + file("VertexBufferObject", ARB, "GL_ARB_vertex_buffer_object") { + "GL_BUFFER_SIZE_ARB"("0x8764") + "GL_BUFFER_USAGE_ARB"("0x8765") + "GL_ARRAY_BUFFER_ARB"("0x8892") + "GL_ELEMENT_ARRAY_BUFFER_ARB"("0x8893") + "GL_ARRAY_BUFFER_BINDING_ARB"("0x8894") + "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB"("0x8895") + "GL_VERTEX_ARRAY_BUFFER_BINDING_ARB"("0x8896") + "GL_NORMAL_ARRAY_BUFFER_BINDING_ARB"("0x8897") + "GL_COLOR_ARRAY_BUFFER_BINDING_ARB"("0x8898") + "GL_INDEX_ARRAY_BUFFER_BINDING_ARB"("0x8899") + "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB"("0x889A") + "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB"("0x889B") + "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB"("0x889C") + "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB"("0x889D") + "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB"("0x889E") + "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB"("0x889F") + "GL_READ_ONLY_ARB"("0x88B8") + "GL_WRITE_ONLY_ARB"("0x88B9") + "GL_READ_WRITE_ARB"("0x88BA") + "GL_BUFFER_ACCESS_ARB"("0x88BB") + "GL_BUFFER_MAPPED_ARB"("0x88BC") + "GL_BUFFER_MAP_POINTER_ARB"("0x88BD") + "GL_STREAM_DRAW_ARB"("0x88E0") + "GL_STREAM_READ_ARB"("0x88E1") + "GL_STREAM_COPY_ARB"("0x88E2") + "GL_STATIC_DRAW_ARB"("0x88E4") + "GL_STATIC_READ_ARB"("0x88E5") + "GL_STATIC_COPY_ARB"("0x88E6") + "GL_DYNAMIC_DRAW_ARB"("0x88E8") + "GL_DYNAMIC_READ_ARB"("0x88E9") + "GL_DYNAMIC_COPY_ARB"("0x88EA") + "glBindBufferARB"(void, GLenum("target"), GLuint("buffer")) + "glDeleteBuffersARB"(void, GLsizei("n"), address("buffers", "const GLuint*")) + "glGenBuffersARB"(void, GLsizei("n"), address("buffers", "GLuint*")) + "glIsBufferARB"(boolean, GLuint("buffer")) + "glBufferDataARB"( + void, + GLenum("target"), + GLsizeiptrARB("size"), + address("data", "const void*"), + GLenum("usage") + ) + "glBufferSubDataARB"( + void, + GLenum("target"), + GLintptrARB("offset"), + GLsizeiptrARB("size"), + address("data", "const void*") + ) + "glGetBufferSubDataARB"( + void, + GLenum("target"), + GLintptrARB("offset"), + GLsizeiptrARB("size"), + address("data", "void*") + ) + "glMapBufferARB"(address, GLenum("target"), GLenum("access"), nativeType = "void*") + "glUnmapBufferARB"(boolean, GLenum("target")) + "glGetBufferParameterivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint*")) + "glGetBufferPointervARB"(void, GLenum("target"), GLenum("pname"), address("params", "void**")) + } + file("VertexProgram", ARB, "GL_ARB_vertex_program") { + "GL_COLOR_SUM_ARB"("0x8458") + "GL_VERTEX_PROGRAM_ARB"("0x8620") + "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"("0x8622") + "GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"("0x8623") + "GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"("0x8624") + "GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"("0x8625") + "GL_CURRENT_VERTEX_ATTRIB_ARB"("0x8626") + "GL_VERTEX_PROGRAM_POINT_SIZE_ARB"("0x8642") + "GL_VERTEX_PROGRAM_TWO_SIDE_ARB"("0x8643") + "GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"("0x8645") + "GL_MAX_VERTEX_ATTRIBS_ARB"("0x8869") + "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"("0x886A") + "GL_PROGRAM_ADDRESS_REGISTERS_ARB"("0x88B0") + "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"("0x88B1") + "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"("0x88B2") + "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"("0x88B3") + "glVertexAttrib1dARB"(void, GLuint("index"), GLdouble("x")) + "glVertexAttrib1dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib1fARB"(void, GLuint("index"), GLfloat("x")) + "glVertexAttrib1fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib1sARB"(void, GLuint("index"), GLshort("x")) + "glVertexAttrib1svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib2dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y")) + "glVertexAttrib2dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib2fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y")) + "glVertexAttrib2fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib2sARB"(void, GLuint("index"), GLshort("x"), GLshort("y")) + "glVertexAttrib2svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib3dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glVertexAttrib3dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib3fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glVertexAttrib3fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib3sARB"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z")) + "glVertexAttrib3svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4NbvARB"(void, GLuint("index"), address("v", "const GLbyte *")) + "glVertexAttrib4NivARB"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttrib4NsvARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4NubARB"(void, GLuint("index"), GLubyte("x"), GLubyte("y"), GLubyte("z"), GLubyte("w")) + "glVertexAttrib4NubvARB"(void, GLuint("index"), address("v", "const GLubyte *")) + "glVertexAttrib4NuivARB"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttrib4NusvARB"(void, GLuint("index"), address("v", "const GLushort *")) + "glVertexAttrib4bvARB"(void, GLuint("index"), address("v", "const GLbyte *")) + "glVertexAttrib4dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z"), GLdouble("w")) + "glVertexAttrib4dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib4fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z"), GLfloat("w")) + "glVertexAttrib4fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib4ivARB"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttrib4sARB"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z"), GLshort("w")) + "glVertexAttrib4svARB"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4ubvARB"(void, GLuint("index"), address("v", "const GLubyte *")) + "glVertexAttrib4uivARB"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttrib4usvARB"(void, GLuint("index"), address("v", "const GLushort *")) + "glVertexAttribPointerARB"( + void, + GLuint("index"), + GLint("size"), + GLenum("type"), + GLboolean("normalized"), + GLsizei("stride"), + address("pointer", "const void *") + ) + "glEnableVertexAttribArrayARB"(void, GLuint("index")) + "glDisableVertexAttribArrayARB"(void, GLuint("index")) + "glGetVertexAttribdvARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLdouble *")) + "glGetVertexAttribfvARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLfloat *")) + "glGetVertexAttribivARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLint *")) + "glGetVertexAttribPointervARB"(void, GLuint("index"), GLenum("pname"), address("pointer", "void **")) + } + file("VertexShader", ARB, "GL_ARB_vertex_shader") { + "GL_VERTEX_SHADER_ARB"("0x8B31") + "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB"("0x8B4A") + "GL_MAX_VARYING_FLOATS_ARB"("0x8B4B") + "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"("0x8B4C") + "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB"("0x8B4D") + "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB"("0x8B89") + "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB"("0x8B8A") + "glBindAttribLocationARB"( + void, + GLhandleARB("programObj"), + GLuint("index"), + address("name", "const GLcharARB *") + ) + "glGetActiveAttribARB"( + void, + GLhandleARB("programObj"), + GLuint("index"), + GLsizei("maxLength"), + address("length", "GLsizei *"), + address("size", "GLint *"), + address("type", "GLenum *"), + address("name", "GLcharARB *") + ) + "glGetAttribLocationARB"(GLint, GLhandleARB("programObj"), address("name", "const GLcharARB *")) + } + file("ViewportArray", ARB, "GL_ARB_viewport_array") { + "glDepthRangeArraydvNV"(void, GLuint("first"), GLsizei("count"), address("v", "const GLdouble *")) + "glDepthRangeIndexeddNV"(void, GLuint("index"), GLdouble("n"), GLdouble("f")) + } + file("WindowPos", ARB, "GL_ARB_window_pos") { + "glWindowPos2dARB"(void, GLdouble("x"), GLdouble("y")) + "glWindowPos2dvARB"(void, address("v", "const GLdouble *")) + "glWindowPos2fARB"(void, GLfloat("x"), GLfloat("y")) + "glWindowPos2fvARB"(void, address("v", "const GLfloat *")) + "glWindowPos2iARB"(void, GLint("x"), GLint("y")) + "glWindowPos2ivARB"(void, address("v", "const GLint *")) + "glWindowPos2sARB"(void, GLshort("x"), GLshort("y")) + "glWindowPos2svARB"(void, address("v", "const GLshort *")) + "glWindowPos3dARB"(void, GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glWindowPos3dvARB"(void, address("v", "const GLdouble *")) + "glWindowPos3fARB"(void, GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glWindowPos3fvARB"(void, address("v", "const GLfloat *")) + "glWindowPos3iARB"(void, GLint("x"), GLint("y"), GLint("z")) + "glWindowPos3ivARB"(void, address("v", "const GLint *")) + "glWindowPos3sARB"(void, GLshort("x"), GLshort("y"), GLshort("z")) + "glWindowPos3svARB"(void, address("v", "const GLshort *")) + } +} diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt new file mode 100644 index 00000000..9d8f62a6 --- /dev/null +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt @@ -0,0 +1,1631 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl + +import overrungl.opengl.OpenGLExt.NV +import overrungl.opengl.OpenGLExt.NVX + +/** + * @author squid233 + * @since 0.1.0 + */ +fun nv() { + file("ConditionalRender", NVX, "GL_NVX_conditional_render") { + "glBeginConditionalRenderNVX"(void, GLuint("id")) + "glEndConditionalRenderNVX"(void) + } + file( + "GpuMemoryInfo", NVX, "GL_NVX_gpu_memory_info", + "GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX" to "0x9047", + "GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX" to "0x9048", + "GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX" to "0x9049", + "GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX" to "0x904A", + "GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX" to "0x904B" + ) + file("GpuMulticast2", NVX, "GL_NVX_gpu_multicast2") { + "GL_UPLOAD_GPU_MASK_NVX"("0x954A") + "glUploadGpuMaskNVX"(void, GLbitfield("mask")) + "glMulticastViewportArrayvNVX"( + void, + GLuint("gpu"), + GLuint("first"), + GLsizei("count"), + address("v", "const GLfloat *") + ) + "glMulticastViewportPositionWScaleNVX"( + void, + GLuint("gpu"), + GLuint("index"), + GLfloat("xcoeff"), + GLfloat("ycoeff") + ) + "glMulticastScissorArrayvNVX"( + void, + GLuint("gpu"), + GLuint("first"), + GLsizei("count"), + address("v", "const GLint *") + ) + "glAsyncCopyBufferSubDataNVX"( + GLuint, + GLsizei("waitSemaphoreCount"), + address("waitSemaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *"), + GLuint("readGpu"), + GLbitfield("writeGpuMask"), + GLuint("readBuffer"), + GLuint("writeBuffer"), + GLintptr("readOffset"), + GLintptr("writeOffset"), + GLsizeiptr("size"), + GLsizei("signalSemaphoreCount"), + address("signalSemaphoreArray", "const GLuint *"), + address("signalValueArray", "const GLuint64 *") + ) + "glAsyncCopyImageSubDataNVX"( + GLuint, + GLsizei("waitSemaphoreCount"), + address("waitSemaphoreArray", "const GLuint *"), + address("waitValueArray", "const GLuint64 *"), + GLuint("srcGpu"), + GLbitfield("dstGpuMask"), + GLuint("srcName"), + GLenum("srcTarget"), + GLint("srcLevel"), + GLint("srcX"), + GLint("srcY"), + GLint("srcZ"), + GLuint("dstName"), + GLenum("dstTarget"), + GLint("dstLevel"), + GLint("dstX"), + GLint("dstY"), + GLint("dstZ"), + GLsizei("srcWidth"), + GLsizei("srcHeight"), + GLsizei("srcDepth"), + GLsizei("signalSemaphoreCount"), + address("signalSemaphoreArray", "const GLuint *"), + address("signalValueArray", "const GLuint64 *") + ) + } + file("LinkedGpuMulticast", NVX, "GL_NVX_linked_gpu_multicast") { + "GL_LGPU_SEPARATE_STORAGE_BIT_NVX"("0x0800") + "GL_MAX_LGPU_GPUS_NVX"("0x92BA") + "glLGPUNamedBufferSubDataNVX"( + void, + GLbitfield("gpuMask"), + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size"), + address("data", "const void *") + ) + "glLGPUCopyImageSubDataNVX"( + void, + GLuint("sourceGpu"), + GLbitfield("destinationGpuMask"), + GLuint("srcName"), + GLenum("srcTarget"), + GLint("srcLevel"), + GLint("srcX"), + GLint("srxY"), + GLint("srcZ"), + GLuint("dstName"), + GLenum("dstTarget"), + GLint("dstLevel"), + GLint("dstX"), + GLint("dstY"), + GLint("dstZ"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth") + ) + "glLGPUInterlockNVX"(void) + } + file("ProgressFence", NVX, "GL_NVX_progress_fence") { + "glCreateProgressFenceNVX"(void) + "glSignalSemaphoreui64NVX"( + void, + GLuint("signalGpu"), + GLsizei("fenceObjectCount"), + address("semaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *") + ) + "glWaitSemaphoreui64NVX"( + void, + GLuint("waitGpu"), + GLsizei("fenceObjectCount"), + address("semaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *") + ) + "glClientWaitSemaphoreui64NVX"( + void, + GLsizei("fenceObjectCount"), + address("semaphoreArray", "const GLuint *"), + address("fenceValueArray", "const GLuint64 *") + ) + } + file("AlphaToCoverageDitherControl", NV, "GL_NV_alpha_to_coverage_dither_control") { + "GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV"("0x934D") + "GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV"("0x934E") + "GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV"("0x934F") + "GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV"("0x92BF") + "glAlphaToCoverageDitherControlNV"(void, GLenum("mode")) + } + file("BindlessMultiDrawIndirect", NV, "GL_NV_bindless_multi_draw_indirect") { + "glMultiDrawArraysIndirectBindlessNV"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + "glMultiDrawElementsIndirectBindlessNV"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + } + file("BindlessMultiDrawIndirectCount", NV, "GL_NV_bindless_multi_draw_indirect_count") { + "glMultiDrawArraysIndirectBindlessCountNV"( + void, + GLenum("mode"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("maxDrawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + "glMultiDrawElementsIndirectBindlessCountNV"( + void, + GLenum("mode"), + GLenum("type"), + address("indirect", "const void *"), + GLsizei("drawCount"), + GLsizei("maxDrawCount"), + GLsizei("stride"), + GLint("vertexBufferCount") + ) + } + file("BindlessTexture", NV, "GL_NV_bindless_texture") { + "glGetTextureHandleNV"(GLuint64, GLuint("texture")) + "glGetTextureSamplerHandleNV"(GLuint64, GLuint("texture"), GLuint("sampler")) + "glMakeTextureHandleResidentNV"(void, GLuint64("handle")) + "glMakeTextureHandleNonResidentNV"(void, GLuint64("handle")) + "glGetImageHandleNV"( + GLuint64, + GLuint("texture"), + GLint("level"), + GLboolean("layered"), + GLint("layer"), + GLenum("format") + ) + "glMakeImageHandleResidentNV"(void, GLuint64("handle"), GLenum("access")) + "glMakeImageHandleNonResidentNV"(void, GLuint64("handle")) + "glUniformHandleui64NV"(void, GLint("location"), GLuint64("value")) + "glUniformHandleui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) + "glProgramUniformHandleui64NV"(void, GLuint("program"), GLint("location"), GLuint64("value")) + "glProgramUniformHandleui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("values", "const GLuint64 *") + ) + "glIsTextureHandleResidentNV"(GLboolean, GLuint64("handle")) + "glIsImageHandleResidentNV"(GLboolean, GLuint64("handle")) + } + file("BlendEquationAdvanced", NV, "GL_NV_blend_equation_advanced") { + "GL_BLEND_OVERLAP_NV"("0x9281") + "GL_BLEND_PREMULTIPLIED_SRC_NV"("0x9280") + "GL_BLUE_NV"("0x1905") + "GL_COLORBURN_NV"("0x929A") + "GL_COLORDODGE_NV"("0x9299") + "GL_CONJOINT_NV"("0x9284") + "GL_CONTRAST_NV"("0x92A1") + "GL_DARKEN_NV"("0x9297") + "GL_DIFFERENCE_NV"("0x929E") + "GL_DISJOINT_NV"("0x9283") + "GL_DST_ATOP_NV"("0x928F") + "GL_DST_IN_NV"("0x928B") + "GL_DST_NV"("0x9287") + "GL_DST_OUT_NV"("0x928D") + "GL_DST_OVER_NV"("0x9289") + "GL_EXCLUSION_NV"("0x92A0") + "GL_GREEN_NV"("0x1904") + "GL_HARDLIGHT_NV"("0x929B") + "GL_HARDMIX_NV"("0x92A9") + "GL_HSL_COLOR_NV"("0x92AF") + "GL_HSL_HUE_NV"("0x92AD") + "GL_HSL_LUMINOSITY_NV"("0x92B0") + "GL_HSL_SATURATION_NV"("0x92AE") + "GL_INVERT_OVG_NV"("0x92B4") + "GL_INVERT_RGB_NV"("0x92A3") + "GL_LIGHTEN_NV"("0x9298") + "GL_LINEARBURN_NV"("0x92A5") + "GL_LINEARDODGE_NV"("0x92A4") + "GL_LINEARLIGHT_NV"("0x92A7") + "GL_MINUS_CLAMPED_NV"("0x92B3") + "GL_MINUS_NV"("0x929F") + "GL_MULTIPLY_NV"("0x9294") + "GL_OVERLAY_NV"("0x9296") + "GL_PINLIGHT_NV"("0x92A8") + "GL_PLUS_CLAMPED_ALPHA_NV"("0x92B2") + "GL_PLUS_CLAMPED_NV"("0x92B1") + "GL_PLUS_DARKER_NV"("0x9292") + "GL_PLUS_NV"("0x9291") + "GL_RED_NV"("0x1903") + "GL_SCREEN_NV"("0x9295") + "GL_SOFTLIGHT_NV"("0x929C") + "GL_SRC_ATOP_NV"("0x928E") + "GL_SRC_IN_NV"("0x928A") + "GL_SRC_NV"("0x9286") + "GL_SRC_OUT_NV"("0x928C") + "GL_SRC_OVER_NV"("0x9288") + "GL_UNCORRELATED_NV"("0x9282") + "GL_VIVIDLIGHT_NV"("0x92A6") + "GL_XOR_NV"("0x1506") + "glBlendParameteriNV"(void, GLenum("pname"), GLint("value")) + "glBlendBarrierNV"(void) + } + file( + "BlendEquationAdvancedCoherent", + NV, + "GL_NV_blend_equation_advanced_coherent", + "GL_BLEND_ADVANCED_COHERENT_NV" to "0x9285" + ) + file("ClipSpaceWScaling", NV, "GL_NV_clip_space_w_scaling") { + "GL_VIEWPORT_POSITION_W_SCALE_NV"("0x937C") + "GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV"("0x937D") + "GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV"("0x937E") + "glViewportPositionWScaleNV"(void, GLuint("index"), GLfloat("xcoeff"), GLfloat("ycoeff")) + } + file("CommandList", NV, "GL_NV_command_list") { + "GL_TERMINATE_SEQUENCE_COMMAND_NV"("0x0000") + "GL_NOP_COMMAND_NV"("0x0001") + "GL_DRAW_ELEMENTS_COMMAND_NV"("0x0002") + "GL_DRAW_ARRAYS_COMMAND_NV"("0x0003") + "GL_DRAW_ELEMENTS_STRIP_COMMAND_NV"("0x0004") + "GL_DRAW_ARRAYS_STRIP_COMMAND_NV"("0x0005") + "GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV"("0x0006") + "GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV"("0x0007") + "GL_ELEMENT_ADDRESS_COMMAND_NV"("0x0008") + "GL_ATTRIBUTE_ADDRESS_COMMAND_NV"("0x0009") + "GL_UNIFORM_ADDRESS_COMMAND_NV"("0x000A") + "GL_BLEND_COLOR_COMMAND_NV"("0x000B") + "GL_STENCIL_REF_COMMAND_NV"("0x000C") + "GL_LINE_WIDTH_COMMAND_NV"("0x000D") + "GL_POLYGON_OFFSET_COMMAND_NV"("0x000E") + "GL_ALPHA_REF_COMMAND_NV"("0x000F") + "GL_VIEWPORT_COMMAND_NV"("0x0010") + "GL_SCISSOR_COMMAND_NV"("0x0011") + "GL_FRONT_FACE_COMMAND_NV"("0x0012") + "glCreateStatesNV"(void, GLsizei("n"), address("states", "GLuint *")) + "glDeleteStatesNV"(void, GLsizei("n"), address("states", "const GLuint *")) + "glIsStateNV"(GLboolean, GLuint("state")) + "glStateCaptureNV"(void, GLuint("state"), GLenum("mode")) + "glGetCommandHeaderNV"(GLuint, GLenum("tokenID"), GLuint("size")) + "glGetStageIndexNV"(GLushort, GLenum("shadertype")) + "glDrawCommandsNV"( + void, + GLenum("primitiveMode"), + GLuint("buffer"), + address("indirects", "const GLintptr *"), + address("sizes", "const GLsizei *"), + GLuint("count") + ) + "glDrawCommandsAddressNV"( + void, + GLenum("primitiveMode"), + address("indirects", "const GLuint64 *"), + address("sizes", "const GLsizei *"), + GLuint("count") + ) + "glDrawCommandsStatesNV"( + void, + GLuint("buffer"), + address("indirects", "const GLintptr *"), + address("sizes", "const GLsizei *"), + address("states", "const GLuint *"), + address("fbos", "const GLuint *"), + GLuint("count") + ) + "glDrawCommandsStatesAddressNV"( + void, + address("indirects", "const GLuint64 *"), + address("sizes", "const GLsizei *"), + address("states", "const GLuint *"), + address("fbos", "const GLuint *"), + GLuint("count") + ) + "glCreateCommandListsNV"(void, GLsizei("n"), address("lists", "GLuint *")) + "glDeleteCommandListsNV"(void, GLsizei("n"), address("lists", "const GLuint *")) + "glIsCommandListNV"(GLboolean, GLuint("list")) + "glListDrawCommandsStatesClientNV"( + void, + GLuint("list"), + GLuint("segment"), + address("indirects", "const void **"), + address("sizes", "const GLsizei *"), + address("states", "const GLuint *"), + address("fbos", "const GLuint *"), + GLuint("count") + ) + "glCommandListSegmentsNV"(void, GLuint("list"), GLuint("segments")) + "glCompileCommandListNV"(void, GLuint("list")) + "glCallCommandListNV"(void, GLuint("list")) + } + file( + "ComputeProgram5", NV, "GL_NV_compute_program5", + "GL_COMPUTE_PROGRAM_NV" to "0x90FB", + "GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV" to "0x90FC" + ) + file("ConditionalRender", NV, "GL_NV_conditional_render") { + "GL_QUERY_WAIT_NV"("0x8E13") + "GL_QUERY_NO_WAIT_NV"("0x8E14") + "GL_QUERY_BY_REGION_WAIT_NV"("0x8E15") + "GL_QUERY_BY_REGION_NO_WAIT_NV"("0x8E16") + "glBeginConditionalRenderNV"(void, GLuint("id"), GLenum("mode")) + "glEndConditionalRenderNV"(void) + } + file("ConservativeRaster", NV, "GL_NV_conservative_raster") { + "GL_CONSERVATIVE_RASTERIZATION_NV"("0x9346") + "GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV"("0x9347") + "GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV"("0x9348") + "GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV"("0x9349") + "glSubpixelPrecisionBiasNV"(void, GLuint("xbits"), GLuint("ybits")) + } + file("ConservativeRasterDilate", NV, "GL_NV_conservative_raster_dilate") { + "GL_CONSERVATIVE_RASTER_DILATE_NV"("0x9379") + "GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV"("0x937A") + "GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV"("0x937B") + "glConservativeRasterParameterfNV"(void, GLenum("pname"), GLfloat("value")) + } + file( + "ConservativeRasterPreSnap", + NV, + "GL_NV_conservative_raster_pre_snap", + "GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV" to "0x9550" + ) + file("ConservativeRasterPreSnapTriangles", NV, "GL_NV_conservative_raster_pre_snap_triangles") { + "GL_CONSERVATIVE_RASTER_MODE_NV"("0x954D") + "GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV"("0x954E") + "GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV"("0x954F") + "glConservativeRasterParameteriNV"(void, GLenum("pname"), GLint("param")) + } + file( + "CopyDepthToColor", NV, "GL_NV_copy_depth_to_color", + "GL_DEPTH_STENCIL_TO_RGBA_NV" to "0x886E", + "GL_DEPTH_STENCIL_TO_BGRA_NV" to "0x886F" + ) + file("CopyImage", NV, "GL_NV_copy_image") { + "glCopyImageSubDataNV"( + void, + GLuint("srcName"), + GLenum("srcTarget"), + GLint("srcLevel"), + GLint("srcX"), + GLint("srcY"), + GLint("srcZ"), + GLuint("dstName"), + GLenum("dstTarget"), + GLint("dstLevel"), + GLint("dstX"), + GLint("dstY"), + GLint("dstZ"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth") + ) + } + file( + "DeepTexture3D", NV, "GL_NV_deep_texture3D", + "GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV" to "0x90D0", + "GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV" to "0x90D1" + ) + file("DepthBufferFloat", NV, "GL_NV_depth_buffer_float") { + "GL_DEPTH_COMPONENT32F_NV"("0x8DAB") + "GL_DEPTH32F_STENCIL8_NV"("0x8DAC") + "GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"("0x8DAD") + "GL_DEPTH_BUFFER_FLOAT_MODE_NV"("0x8DAF") + "glDepthRangedNV"(void, GLdouble("zNear"), GLdouble("zFar")) + "glClearDepthdNV"(void, GLdouble("depth")) + "glDepthBoundsdNV"(void, GLdouble("zmin"), GLdouble("zmax")) + } + file("DepthClamp", NV, "GL_NV_depth_clamp", "GL_DEPTH_CLAMP_NV" to "0x864F") + file("DrawTexture", NV, "GL_NV_draw_texture") { + "glDrawTextureNV"( + void, + GLuint("texture"), + GLuint("sampler"), + GLfloat("x0"), + GLfloat("y0"), + GLfloat("x1"), + GLfloat("y1"), + GLfloat("z"), + GLfloat("s0"), + GLfloat("t0"), + GLfloat("s1"), + GLfloat("t1") + ) + } + file("DrawVulkanImage", NV, "GL_NV_draw_vulkan_image") { + "glDrawVkImageNV"( + void, + GLuint64("vkImage"), + GLuint("sampler"), + GLfloat("x0"), + GLfloat("y0"), + GLfloat("x1"), + GLfloat("y1"), + GLfloat("z"), + GLfloat("s0"), + GLfloat("t0"), + GLfloat("s1"), + GLfloat("t1") + ) + "glGetVkProcAddrNV"(address, address("name", "const GLchar *"), nativeType = "GLVULKANPROCNV") + "glWaitVkSemaphoreNV"(void, GLuint64("vkSemaphore")) + "glSignalVkSemaphoreNV"(void, GLuint64("vkSemaphore")) + "glSignalVkFenceNV"(void, GLuint64("vkFence")) + } + file("Evaluators", NV, "GL_NV_evaluators") { + "GL_EVAL_2D_NV"("0x86C0") + "GL_EVAL_TRIANGULAR_2D_NV"("0x86C1") + "GL_MAP_TESSELLATION_NV"("0x86C2") + "GL_MAP_ATTRIB_U_ORDER_NV"("0x86C3") + "GL_MAP_ATTRIB_V_ORDER_NV"("0x86C4") + "GL_EVAL_FRACTIONAL_TESSELLATION_NV"("0x86C5") + "GL_EVAL_VERTEX_ATTRIB0_NV"("0x86C6") + "GL_EVAL_VERTEX_ATTRIB1_NV"("0x86C7") + "GL_EVAL_VERTEX_ATTRIB2_NV"("0x86C8") + "GL_EVAL_VERTEX_ATTRIB3_NV"("0x86C9") + "GL_EVAL_VERTEX_ATTRIB4_NV"("0x86CA") + "GL_EVAL_VERTEX_ATTRIB5_NV"("0x86CB") + "GL_EVAL_VERTEX_ATTRIB6_NV"("0x86CC") + "GL_EVAL_VERTEX_ATTRIB7_NV"("0x86CD") + "GL_EVAL_VERTEX_ATTRIB8_NV"("0x86CE") + "GL_EVAL_VERTEX_ATTRIB9_NV"("0x86CF") + "GL_EVAL_VERTEX_ATTRIB10_NV"("0x86D0") + "GL_EVAL_VERTEX_ATTRIB11_NV"("0x86D1") + "GL_EVAL_VERTEX_ATTRIB12_NV"("0x86D2") + "GL_EVAL_VERTEX_ATTRIB13_NV"("0x86D3") + "GL_EVAL_VERTEX_ATTRIB14_NV"("0x86D4") + "GL_EVAL_VERTEX_ATTRIB15_NV"("0x86D5") + "GL_MAX_MAP_TESSELLATION_NV"("0x86D6") + "GL_MAX_RATIONAL_EVAL_ORDER_NV"("0x86D7") + "glMapControlPointsNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("type"), + GLsizei("ustride"), + GLsizei("vstride"), + GLint("uorder"), + GLint("vorder"), + GLboolean("packed"), + address("points", "const void *") + ) + "glMapParameterivNV"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glMapParameterfvNV"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glGetMapControlPointsNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("type"), + GLsizei("ustride"), + GLsizei("vstride"), + GLboolean("packed"), + address("points", "void *") + ) + "glGetMapParameterivNV"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetMapParameterfvNV"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetMapAttribParameterivNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetMapAttribParameterfvNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glEvalMapsNV"(void, GLenum("target"), GLenum("mode")) + } + file("ExplicitMultisample", NV, "GL_NV_explicit_multisample") { + "GL_SAMPLE_POSITION_NV"("0x8E50") + "GL_SAMPLE_MASK_NV"("0x8E51") + "GL_SAMPLE_MASK_VALUE_NV"("0x8E52") + "GL_TEXTURE_BINDING_RENDERBUFFER_NV"("0x8E53") + "GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"("0x8E54") + "GL_TEXTURE_RENDERBUFFER_NV"("0x8E55") + "GL_SAMPLER_RENDERBUFFER_NV"("0x8E56") + "GL_INT_SAMPLER_RENDERBUFFER_NV"("0x8E57") + "GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"("0x8E58") + "GL_MAX_SAMPLE_MASK_WORDS_NV"("0x8E59") + "glGetMultisamplefvNV"(void, GLenum("pname"), GLuint("index"), address("val", "GLfloat *")) + "glSampleMaskIndexedNV"(void, GLuint("index"), GLbitfield("mask")) + "glTexRenderbufferNV"(void, GLenum("target"), GLuint("renderbuffer")) + } + file("Fence", NV, "GL_NV_fence") { + "GL_ALL_COMPLETED_NV"("0x84F2") + "GL_FENCE_STATUS_NV"("0x84F3") + "GL_FENCE_CONDITION_NV"("0x84F4") + "glDeleteFencesNV"(void, GLsizei("n"), address("fences", "const GLuint *")) + "glGenFencesNV"(void, GLsizei("n"), address("fences", "GLuint *")) + "glIsFenceNV"(GLboolean, GLuint("fence")) + "glTestFenceNV"(GLboolean, GLuint("fence")) + "glGetFenceivNV"(void, GLuint("fence"), GLenum("pname"), address("params", "GLint *")) + "glFinishFenceNV"(void, GLuint("fence")) + "glSetFenceNV"(void, GLuint("fence"), GLenum("condition")) + } + file("FillRectangle", NV, "GL_NV_fill_rectangle", "GL_FILL_RECTANGLE_NV" to "0x933C") + file( + "FloatBuffer", NV, "GL_NV_float_buffer", + "GL_FLOAT_R_NV" to "0x8880", + "GL_FLOAT_RG_NV" to "0x8881", + "GL_FLOAT_RGB_NV" to "0x8882", + "GL_FLOAT_RGBA_NV" to "0x8883", + "GL_FLOAT_R16_NV" to "0x8884", + "GL_FLOAT_R32_NV" to "0x8885", + "GL_FLOAT_RG16_NV" to "0x8886", + "GL_FLOAT_RG32_NV" to "0x8887", + "GL_FLOAT_RGB16_NV" to "0x8888", + "GL_FLOAT_RGB32_NV" to "0x8889", + "GL_FLOAT_RGBA16_NV" to "0x888A", + "GL_FLOAT_RGBA32_NV" to "0x888B", + "GL_TEXTURE_FLOAT_COMPONENTS_NV" to "0x888C", + "GL_FLOAT_CLEAR_COLOR_VALUE_NV" to "0x888D", + "GL_FLOAT_RGBA_MODE_NV" to "0x888E" + ) + file( + "FogDistance", NV, "GL_NV_fog_distance", + "GL_FOG_DISTANCE_MODE_NV" to "0x855A", + "GL_EYE_RADIAL_NV" to "0x855B", + "GL_EYE_PLANE_ABSOLUTE_NV" to "0x855C" + ) + file("FragmentCoverageToColor", NV, "GL_NV_fragment_coverage_to_color") { + "GL_FRAGMENT_COVERAGE_TO_COLOR_NV"("0x92DD") + "GL_FRAGMENT_COVERAGE_COLOR_NV"("0x92DE") + "glFragmentCoverageColorNV"(void, GLuint("color")) + } + file("FragmentProgram", NV, "GL_NV_fragment_program") { + "GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"("0x8868") + "GL_FRAGMENT_PROGRAM_NV"("0x8870") + "GL_MAX_TEXTURE_COORDS_NV"("0x8871") + "GL_MAX_TEXTURE_IMAGE_UNITS_NV"("0x8872") + "GL_FRAGMENT_PROGRAM_BINDING_NV"("0x8873") + "GL_PROGRAM_ERROR_STRING_NV"("0x8874") + "glProgramNamedParameter4fNV"( + void, + GLuint("id"), + GLsizei("len"), + address("name", "const GLubyte *"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glProgramNamedParameter4fvNV"( + void, + GLuint("id"), + GLsizei("len"), + address("name", "const GLubyte *"), + address("v", "const GLfloat *") + ) + "glProgramNamedParameter4dNV"( + void, + GLuint("id"), + GLsizei("len"), + address("name", "const GLubyte *"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glProgramNamedParameter4dvNV"( + void, + GLuint("id"), + GLsizei("len"), + address("name", "const GLubyte *"), + address("v", "const GLdouble *") + ) + "glGetProgramNamedParameterfvNV"( + void, + GLuint("id"), + GLsizei("len"), + address("name", "const GLubyte *"), + address("params", "GLfloat *") + ) + "glGetProgramNamedParameterdvNV"( + void, + GLuint("id"), + GLsizei("len"), + address("name", "const GLubyte *"), + address("params", "GLdouble *") + ) + } + file( + "FragmentProgram2", NV, "GL_NV_fragment_program2", + "GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV" to "0x88F4", + "GL_MAX_PROGRAM_CALL_DEPTH_NV" to "0x88F5", + "GL_MAX_PROGRAM_IF_DEPTH_NV" to "0x88F6", + "GL_MAX_PROGRAM_LOOP_DEPTH_NV" to "0x88F7", + "GL_MAX_PROGRAM_LOOP_COUNT_NV" to "0x88F8" + ) + file("FramebufferMixedSamples", NV, "GL_NV_framebuffer_mixed_samples") { + "GL_COVERAGE_MODULATION_TABLE_NV"("0x9331") + "GL_COLOR_SAMPLES_NV"("0x8E20") + "GL_DEPTH_SAMPLES_NV"("0x932D") + "GL_STENCIL_SAMPLES_NV"("0x932E") + "GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV"("0x932F") + "GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV"("0x9330") + "GL_COVERAGE_MODULATION_NV"("0x9332") + "GL_COVERAGE_MODULATION_TABLE_SIZE_NV"("0x9333") + "glCoverageModulationTableNV"(void, GLsizei("n"), address("v", "const GLfloat *")) + "glGetCoverageModulationTableNV"(void, GLsizei("bufSize"), address("v", "GLfloat *")) + "glCoverageModulationNV"(void, GLenum("components")) + } + file("FramebufferMultisampleCoverage", NV, "GL_NV_framebuffer_multisample_coverage") { + "GL_RENDERBUFFER_COVERAGE_SAMPLES_NV"("0x8CAB") + "GL_RENDERBUFFER_COLOR_SAMPLES_NV"("0x8E10") + "GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"("0x8E11") + "GL_MULTISAMPLE_COVERAGE_MODES_NV"("0x8E12") + "glRenderbufferStorageMultisampleCoverageNV"( + void, + GLenum("target"), + GLsizei("coverageSamples"), + GLsizei("colorSamples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + } + file("GeometryProgram4", NV, "GL_NV_geometry_program4") { + "GL_GEOMETRY_PROGRAM_NV"("0x8C26") + "GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"("0x8C27") + "GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"("0x8C28") + "glProgramVertexLimitNV"(void, GLenum("target"), GLint("limit")) + "glFramebufferTextureEXT"(void, GLenum("target"), GLenum("attachment"), GLuint("texture"), GLint("level")) + "glFramebufferTextureFaceEXT"( + void, + GLenum("target"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLenum("face") + ) + } + file("GpuMulticast", NV, "GL_NV_gpu_multicast") { + "GL_PER_GPU_STORAGE_BIT_NV"("0x0800") + "GL_MULTICAST_GPUS_NV"("0x92BA") + "GL_RENDER_GPU_MASK_NV"("0x9558") + "GL_PER_GPU_STORAGE_NV"("0x9548") + "GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV"("0x9549") + "glRenderGpuMaskNV"(void, GLbitfield("mask")) + "glMulticastBufferSubDataNV"( + void, + GLbitfield("gpuMask"), + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size"), + address("data", "const void *") + ) + "glMulticastCopyBufferSubDataNV"( + void, + GLuint("readGpu"), + GLbitfield("writeGpuMask"), + GLuint("readBuffer"), + GLuint("writeBuffer"), + GLintptr("readOffset"), + GLintptr("writeOffset"), + GLsizeiptr("size") + ) + "glMulticastCopyImageSubDataNV"( + void, + GLuint("srcGpu"), + GLbitfield("dstGpuMask"), + GLuint("srcName"), + GLenum("srcTarget"), + GLint("srcLevel"), + GLint("srcX"), + GLint("srcY"), + GLint("srcZ"), + GLuint("dstName"), + GLenum("dstTarget"), + GLint("dstLevel"), + GLint("dstX"), + GLint("dstY"), + GLint("dstZ"), + GLsizei("srcWidth"), + GLsizei("srcHeight"), + GLsizei("srcDepth") + ) + "glMulticastBlitFramebufferNV"( + void, + GLuint("srcGpu"), + GLuint("dstGpu"), + GLint("srcX0"), + GLint("srcY0"), + GLint("srcX1"), + GLint("srcY1"), + GLint("dstX0"), + GLint("dstY0"), + GLint("dstX1"), + GLint("dstY1"), + GLbitfield("mask"), + GLenum("filter") + ) + "glMulticastFramebufferSampleLocationsfvNV"( + void, + GLuint("gpu"), + GLuint("framebuffer"), + GLuint("start"), + GLsizei("count"), + address("v", "const GLfloat *") + ) + "glMulticastBarrierNV"(void) + "glMulticastWaitSyncNV"(void, GLuint("signalGpu"), GLbitfield("waitGpuMask")) + "glMulticastGetQueryObjectivNV"( + void, + GLuint("gpu"), + GLuint("id"), + GLenum("pname"), + address("params", "GLint *") + ) + "glMulticastGetQueryObjectuivNV"( + void, + GLuint("gpu"), + GLuint("id"), + GLenum("pname"), + address("params", "GLuint *") + ) + "glMulticastGetQueryObjecti64vNV"( + void, + GLuint("gpu"), + GLuint("id"), + GLenum("pname"), + address("params", "GLint64 *") + ) + "glMulticastGetQueryObjectui64vNV"( + void, + GLuint("gpu"), + GLuint("id"), + GLenum("pname"), + address("params", "GLuint64 *") + ) + } + file("GpuProgram4", NV, "GL_NV_gpu_program4") { + "GL_MIN_PROGRAM_TEXEL_OFFSET_NV"("0x8904") + "GL_MAX_PROGRAM_TEXEL_OFFSET_NV"("0x8905") + "GL_PROGRAM_ATTRIB_COMPONENTS_NV"("0x8906") + "GL_PROGRAM_RESULT_COMPONENTS_NV"("0x8907") + "GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"("0x8908") + "GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"("0x8909") + "GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"("0x8DA5") + "GL_MAX_PROGRAM_GENERIC_RESULTS_NV"("0x8DA6") + "glProgramLocalParameterI4iNV"( + void, + GLenum("target"), + GLuint("index"), + GLint("x"), + GLint("y"), + GLint("z"), + GLint("w") + ) + "glProgramLocalParameterI4ivNV"(void, GLenum("target"), GLuint("index"), address("params", "const GLint *")) + "glProgramLocalParametersI4ivNV"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLint *") + ) + "glProgramLocalParameterI4uiNV"( + void, + GLenum("target"), + GLuint("index"), + GLuint("x"), + GLuint("y"), + GLuint("z"), + GLuint("w") + ) + "glProgramLocalParameterI4uivNV"(void, GLenum("target"), GLuint("index"), address("params", "const GLuint *")) + "glProgramLocalParametersI4uivNV"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLuint *") + ) + "glProgramEnvParameterI4iNV"( + void, + GLenum("target"), + GLuint("index"), + GLint("x"), + GLint("y"), + GLint("z"), + GLint("w") + ) + "glProgramEnvParameterI4ivNV"(void, GLenum("target"), GLuint("index"), address("params", "const GLint *")) + "glProgramEnvParametersI4ivNV"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLint *") + ) + "glProgramEnvParameterI4uiNV"( + void, + GLenum("target"), + GLuint("index"), + GLuint("x"), + GLuint("y"), + GLuint("z"), + GLuint("w") + ) + "glProgramEnvParameterI4uivNV"(void, GLenum("target"), GLuint("index"), address("params", "const GLuint *")) + "glProgramEnvParametersI4uivNV"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLuint *") + ) + "glGetProgramLocalParameterIivNV"(void, GLenum("target"), GLuint("index"), address("params", "GLint *")) + "glGetProgramLocalParameterIuivNV"(void, GLenum("target"), GLuint("index"), address("params", "GLuint *")) + "glGetProgramEnvParameterIivNV"(void, GLenum("target"), GLuint("index"), address("params", "GLint *")) + "glGetProgramEnvParameterIuivNV"(void, GLenum("target"), GLuint("index"), address("params", "GLuint *")) + } + file("GpuProgram5", NV, "GL_NV_gpu_program5") { + "GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV"("0x8E5A") + "GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV"("0x8E5B") + "GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV"("0x8E5C") + "GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV"("0x8E5D") + "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV"("0x8E5E") + "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV"("0x8E5F") + "GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"("0x8F44") + "GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"("0x8F45") + "glProgramSubroutineParametersuivNV"( + void, + GLenum("target"), + GLsizei("count"), + address("params", "const GLuint *") + ) + "glGetProgramSubroutineParameteruivNV"(void, GLenum("target"), GLuint("index"), address("param", "GLuint *")) + } + file("HalfFloat", NV, "GL_NV_half_float") { + "GL_HALF_FLOAT_NV"("0x140B") + "glVertex2hNV"(void, GLhalfNV("x"), GLhalfNV("y")) + "glVertex2hvNV"(void, address("v", "const GLhalfNV *")) + "glVertex3hNV"(void, GLhalfNV("x"), GLhalfNV("y"), GLhalfNV("z")) + "glVertex3hvNV"(void, address("v", "const GLhalfNV *")) + "glVertex4hNV"(void, GLhalfNV("x"), GLhalfNV("y"), GLhalfNV("z"), GLhalfNV("w")) + "glVertex4hvNV"(void, address("v", "const GLhalfNV *")) + "glNormal3hNV"(void, GLhalfNV("nx"), GLhalfNV("ny"), GLhalfNV("nz")) + "glNormal3hvNV"(void, address("v", "const GLhalfNV *")) + "glColor3hNV"(void, GLhalfNV("red"), GLhalfNV("green"), GLhalfNV("blue")) + "glColor3hvNV"(void, address("v", "const GLhalfNV *")) + "glColor4hNV"(void, GLhalfNV("red"), GLhalfNV("green"), GLhalfNV("blue"), GLhalfNV("alpha")) + "glColor4hvNV"(void, address("v", "const GLhalfNV *")) + "glTexCoord1hNV"(void, GLhalfNV("s")) + "glTexCoord1hvNV"(void, address("v", "const GLhalfNV *")) + "glTexCoord2hNV"(void, GLhalfNV("s"), GLhalfNV("t")) + "glTexCoord2hvNV"(void, address("v", "const GLhalfNV *")) + "glTexCoord3hNV"(void, GLhalfNV("s"), GLhalfNV("t"), GLhalfNV("r")) + "glTexCoord3hvNV"(void, address("v", "const GLhalfNV *")) + "glTexCoord4hNV"(void, GLhalfNV("s"), GLhalfNV("t"), GLhalfNV("r"), GLhalfNV("q")) + "glTexCoord4hvNV"(void, address("v", "const GLhalfNV *")) + "glMultiTexCoord1hNV"(void, GLenum("target"), GLhalfNV("s")) + "glMultiTexCoord1hvNV"(void, GLenum("target"), address("v", "const GLhalfNV *")) + "glMultiTexCoord2hNV"(void, GLenum("target"), GLhalfNV("s"), GLhalfNV("t")) + "glMultiTexCoord2hvNV"(void, GLenum("target"), address("v", "const GLhalfNV *")) + "glMultiTexCoord3hNV"(void, GLenum("target"), GLhalfNV("s"), GLhalfNV("t"), GLhalfNV("r")) + "glMultiTexCoord3hvNV"(void, GLenum("target"), address("v", "const GLhalfNV *")) + "glMultiTexCoord4hNV"(void, GLenum("target"), GLhalfNV("s"), GLhalfNV("t"), GLhalfNV("r"), GLhalfNV("q")) + "glMultiTexCoord4hvNV"(void, GLenum("target"), address("v", "const GLhalfNV *")) + "glVertexAttrib1hNV"(void, GLuint("index"), GLhalfNV("x")) + "glVertexAttrib1hvNV"(void, GLuint("index"), address("v", "const GLhalfNV *")) + "glVertexAttrib2hNV"(void, GLuint("index"), GLhalfNV("x"), GLhalfNV("y")) + "glVertexAttrib2hvNV"(void, GLuint("index"), address("v", "const GLhalfNV *")) + "glVertexAttrib3hNV"(void, GLuint("index"), GLhalfNV("x"), GLhalfNV("y"), GLhalfNV("z")) + "glVertexAttrib3hvNV"(void, GLuint("index"), address("v", "const GLhalfNV *")) + "glVertexAttrib4hNV"(void, GLuint("index"), GLhalfNV("x"), GLhalfNV("y"), GLhalfNV("z"), GLhalfNV("w")) + "glVertexAttrib4hvNV"(void, GLuint("index"), address("v", "const GLhalfNV *")) + "glVertexAttribs1hvNV"(void, GLuint("index"), GLsizei("n"), address("v", "const GLhalfNV *")) + "glVertexAttribs2hvNV"(void, GLuint("index"), GLsizei("n"), address("v", "const GLhalfNV *")) + "glVertexAttribs3hvNV"(void, GLuint("index"), GLsizei("n"), address("v", "const GLhalfNV *")) + "glVertexAttribs4hvNV"(void, GLuint("index"), GLsizei("n"), address("v", "const GLhalfNV *")) + "glFogCoordhNV"(void, GLhalfNV("fog")) + "glFogCoordhvNV"(void, address("fog", "const GLhalfNV *")) + "glSecondaryColor3hNV"(void, GLhalfNV("red"), GLhalfNV("green"), GLhalfNV("blue")) + "glSecondaryColor3hvNV"(void, address("v", "const GLhalfNV *")) + "glVertexWeighthNV"(void, GLhalfNV("weight")) + "glVertexWeighthvNV"(void, address("weight", "const GLhalfNV *")) + } + file("InternalformatSampleQuery", NV, "GL_NV_internalformat_sample_query") { + "GL_MULTISAMPLES_NV"("0x9371") + "GL_SUPERSAMPLE_SCALE_X_NV"("0x9372") + "GL_SUPERSAMPLE_SCALE_Y_NV"("0x9373") + "GL_CONFORMANT_NV"("0x9374") + "glGetInternalformatSampleivNV"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("samples"), + GLenum("pname"), + GLsizei("count"), + address("params", "GLint *") + ) + } + file( + "LightMaxExponent", NV, "GL_NV_light_max_exponent", + "GL_MAX_SHININESS_NV" to "0x8504", + "GL_MAX_SPOT_EXPONENT_NV" to "0x8505" + ) + file("MemoryAttachment", NV, "GL_NV_memory_attachment") { + "GL_ATTACHED_MEMORY_OBJECT_NV"("0x95A4") + "GL_ATTACHED_MEMORY_OFFSET_NV"("0x95A5") + "GL_MEMORY_ATTACHABLE_ALIGNMENT_NV"("0x95A6") + "GL_MEMORY_ATTACHABLE_SIZE_NV"("0x95A7") + "GL_MEMORY_ATTACHABLE_NV"("0x95A8") + "GL_DETACHED_MEMORY_INCARNATION_NV"("0x95A9") + "GL_DETACHED_TEXTURES_NV"("0x95AA") + "GL_DETACHED_BUFFERS_NV"("0x95AB") + "GL_MAX_DETACHED_TEXTURES_NV"("0x95AC") + "GL_MAX_DETACHED_BUFFERS_NV"("0x95AD") + "glGetMemoryObjectDetachedResourcesuivNV"( + void, + GLuint("memory"), + GLenum("pname"), + GLint("first"), + GLsizei("count"), + address("params", "GLuint *") + ) + "glResetMemoryObjectParameterNV"(void, GLuint("memory"), GLenum("pname")) + "glTexAttachMemoryNV"(void, GLenum("target"), GLuint("memory"), GLuint64("offset")) + "glBufferAttachMemoryNV"(void, GLenum("target"), GLuint("memory"), GLuint64("offset")) + "glTextureAttachMemoryNV"(void, GLuint("texture"), GLuint("memory"), GLuint64("offset")) + "glNamedBufferAttachMemoryNV"(void, GLuint("buffer"), GLuint("memory"), GLuint64("offset")) + } + file("MemoryObjectSparse", NV, "GL_NV_memory_object_sparse") { + "glBufferPageCommitmentMemNV"( + void, + GLenum("target"), + GLintptr("offset"), + GLsizeiptr("size"), + GLuint("memory"), + GLuint64("memOffset"), + GLboolean("commit") + ) + "glTexPageCommitmentMemNV"( + void, + GLenum("target"), + GLint("layer"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLuint("memory"), + GLuint64("offset"), + GLboolean("commit") + ) + "glNamedBufferPageCommitmentMemNV"( + void, + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size"), + GLuint("memory"), + GLuint64("memOffset"), + GLboolean("commit") + ) + "glTexturePageCommitmentMemNV"( + void, + GLuint("texture"), + GLint("layer"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLuint("memory"), + GLuint64("offset"), + GLboolean("commit") + ) + } + file("MeshShader", NV, "GL_NV_mesh_shader") { + "GL_MESH_SHADER_NV"("0x9559") + "GL_TASK_SHADER_NV"("0x955A") + "GL_MAX_MESH_UNIFORM_BLOCKS_NV"("0x8E60") + "GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV"("0x8E61") + "GL_MAX_MESH_IMAGE_UNIFORMS_NV"("0x8E62") + "GL_MAX_MESH_UNIFORM_COMPONENTS_NV"("0x8E63") + "GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV"("0x8E64") + "GL_MAX_MESH_ATOMIC_COUNTERS_NV"("0x8E65") + "GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV"("0x8E66") + "GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV"("0x8E67") + "GL_MAX_TASK_UNIFORM_BLOCKS_NV"("0x8E68") + "GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV"("0x8E69") + "GL_MAX_TASK_IMAGE_UNIFORMS_NV"("0x8E6A") + "GL_MAX_TASK_UNIFORM_COMPONENTS_NV"("0x8E6B") + "GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV"("0x8E6C") + "GL_MAX_TASK_ATOMIC_COUNTERS_NV"("0x8E6D") + "GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV"("0x8E6E") + "GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV"("0x8E6F") + "GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV"("0x95A2") + "GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV"("0x95A3") + "GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV"("0x9536") + "GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV"("0x9537") + "GL_MAX_MESH_OUTPUT_VERTICES_NV"("0x9538") + "GL_MAX_MESH_OUTPUT_PRIMITIVES_NV"("0x9539") + "GL_MAX_TASK_OUTPUT_COUNT_NV"("0x953A") + "GL_MAX_DRAW_MESH_TASKS_COUNT_NV"("0x953D") + "GL_MAX_MESH_VIEWS_NV"("0x9557") + "GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV"("0x92DF") + "GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV"("0x9543") + "GL_MAX_MESH_WORK_GROUP_SIZE_NV"("0x953B") + "GL_MAX_TASK_WORK_GROUP_SIZE_NV"("0x953C") + "GL_MESH_WORK_GROUP_SIZE_NV"("0x953E") + "GL_TASK_WORK_GROUP_SIZE_NV"("0x953F") + "GL_MESH_VERTICES_OUT_NV"("0x9579") + "GL_MESH_PRIMITIVES_OUT_NV"("0x957A") + "GL_MESH_OUTPUT_TYPE_NV"("0x957B") + "GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV"("0x959C") + "GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV"("0x959D") + "GL_REFERENCED_BY_MESH_SHADER_NV"("0x95A0") + "GL_REFERENCED_BY_TASK_SHADER_NV"("0x95A1") + "GL_MESH_SHADER_BIT_NV"("0x00000040") + "GL_TASK_SHADER_BIT_NV"("0x00000080") + "GL_MESH_SUBROUTINE_NV"("0x957C") + "GL_TASK_SUBROUTINE_NV"("0x957D") + "GL_MESH_SUBROUTINE_UNIFORM_NV"("0x957E") + "GL_TASK_SUBROUTINE_UNIFORM_NV"("0x957F") + "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV"("0x959E") + "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV"("0x959F") + "glDrawMeshTasksNV"(void, GLuint("first"), GLuint("count")) + "glDrawMeshTasksIndirectNV"(void, GLintptr("indirect")) + "glMultiDrawMeshTasksIndirectNV"(void, GLintptr("indirect"), GLsizei("drawcount"), GLsizei("stride")) + "glMultiDrawMeshTasksIndirectCountNV"( + void, + GLintptr("indirect"), + GLintptr("drawcount"), + GLsizei("maxdrawcount"), + GLsizei("stride") + ) + } + file("MultisampleFilterHint", NV, "GL_NV_multisample_filter_hint", "GL_MULTISAMPLE_FILTER_HINT_NV" to "0x8534") + file("OcculusionQuery", NV, "GL_NV_occlusion_query") { + "GL_PIXEL_COUNTER_BITS_NV"("0x8864") + "GL_CURRENT_OCCLUSION_QUERY_ID_NV"("0x8865") + "GL_PIXEL_COUNT_NV"("0x8866") + "GL_PIXEL_COUNT_AVAILABLE_NV"("0x8867") + "glGenOcclusionQueriesNV"(void, GLsizei("n"), address("ids", "GLuint *")) + "glDeleteOcclusionQueriesNV"(void, GLsizei("n"), address("ids", "const GLuint *")) + "glIsOcclusionQueryNV"(GLboolean, GLuint("id")) + "glBeginOcclusionQueryNV"(void, GLuint("id")) + "glEndOcclusionQueryNV"(void) + "glGetOcclusionQueryivNV"(void, GLuint("id"), GLenum("pname"), address("params", "GLint *")) + "glGetOcclusionQueryuivNV"(void, GLuint("id"), GLenum("pname"), address("params", "GLuint *")) + } + file( + "PackedDepthStencil", NV, "GL_NV_packed_depth_stencil", + "GL_DEPTH_STENCIL_NV" to "0x84F9", + "GL_UNSIGNED_INT_24_8_NV" to "0x84FA" + ) + file("ParameterBufferObject", NV, "GL_NV_parameter_buffer_object") { + "GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV"("0x8DA0") + "GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"("0x8DA1") + "GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"("0x8DA2") + "GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"("0x8DA3") + "GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"("0x8DA4") + "glProgramBufferParametersfvNV"( + void, + GLenum("target"), + GLuint("bindingIndex"), + GLuint("wordIndex"), + GLsizei("count"), + address("params", "const GLfloat *") + ) + "glProgramBufferParametersIivNV"( + void, + GLenum("target"), + GLuint("bindingIndex"), + GLuint("wordIndex"), + GLsizei("count"), + address("params", "const GLint *") + ) + "glProgramBufferParametersIuivNV"( + void, + GLenum("target"), + GLuint("bindingIndex"), + GLuint("wordIndex"), + GLsizei("count"), + address("params", "const GLuint *") + ) + } + file("PathRendering", NV, "GL_NV_path_rendering") { + "GL_PATH_FORMAT_SVG_NV"("0x9070") + "GL_PATH_FORMAT_PS_NV"("0x9071") + "GL_STANDARD_FONT_NAME_NV"("0x9072") + "GL_SYSTEM_FONT_NAME_NV"("0x9073") + "GL_FILE_NAME_NV"("0x9074") + "GL_PATH_STROKE_WIDTH_NV"("0x9075") + "GL_PATH_END_CAPS_NV"("0x9076") + "GL_PATH_INITIAL_END_CAP_NV"("0x9077") + "GL_PATH_TERMINAL_END_CAP_NV"("0x9078") + "GL_PATH_JOIN_STYLE_NV"("0x9079") + "GL_PATH_MITER_LIMIT_NV"("0x907A") + "GL_PATH_DASH_CAPS_NV"("0x907B") + "GL_PATH_INITIAL_DASH_CAP_NV"("0x907C") + "GL_PATH_TERMINAL_DASH_CAP_NV"("0x907D") + "GL_PATH_DASH_OFFSET_NV"("0x907E") + "GL_PATH_CLIENT_LENGTH_NV"("0x907F") + "GL_PATH_FILL_MODE_NV"("0x9080") + "GL_PATH_FILL_MASK_NV"("0x9081") + "GL_PATH_FILL_COVER_MODE_NV"("0x9082") + "GL_PATH_STROKE_COVER_MODE_NV"("0x9083") + "GL_PATH_STROKE_MASK_NV"("0x9084") + "GL_COUNT_UP_NV"("0x9088") + "GL_COUNT_DOWN_NV"("0x9089") + "GL_PATH_OBJECT_BOUNDING_BOX_NV"("0x908A") + "GL_CONVEX_HULL_NV"("0x908B") + "GL_BOUNDING_BOX_NV"("0x908D") + "GL_TRANSLATE_X_NV"("0x908E") + "GL_TRANSLATE_Y_NV"("0x908F") + "GL_TRANSLATE_2D_NV"("0x9090") + "GL_TRANSLATE_3D_NV"("0x9091") + "GL_AFFINE_2D_NV"("0x9092") + "GL_AFFINE_3D_NV"("0x9094") + "GL_TRANSPOSE_AFFINE_2D_NV"("0x9096") + "GL_TRANSPOSE_AFFINE_3D_NV"("0x9098") + "GL_UTF8_NV"("0x909A") + "GL_UTF16_NV"("0x909B") + "GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV"("0x909C") + "GL_PATH_COMMAND_COUNT_NV"("0x909D") + "GL_PATH_COORD_COUNT_NV"("0x909E") + "GL_PATH_DASH_ARRAY_COUNT_NV"("0x909F") + "GL_PATH_COMPUTED_LENGTH_NV"("0x90A0") + "GL_PATH_FILL_BOUNDING_BOX_NV"("0x90A1") + "GL_PATH_STROKE_BOUNDING_BOX_NV"("0x90A2") + "GL_SQUARE_NV"("0x90A3") + "GL_ROUND_NV"("0x90A4") + "GL_TRIANGULAR_NV"("0x90A5") + "GL_BEVEL_NV"("0x90A6") + "GL_MITER_REVERT_NV"("0x90A7") + "GL_MITER_TRUNCATE_NV"("0x90A8") + "GL_SKIP_MISSING_GLYPH_NV"("0x90A9") + "GL_USE_MISSING_GLYPH_NV"("0x90AA") + "GL_PATH_ERROR_POSITION_NV"("0x90AB") + "GL_ACCUM_ADJACENT_PAIRS_NV"("0x90AD") + "GL_ADJACENT_PAIRS_NV"("0x90AE") + "GL_FIRST_TO_REST_NV"("0x90AF") + "GL_PATH_GEN_MODE_NV"("0x90B0") + "GL_PATH_GEN_COEFF_NV"("0x90B1") + "GL_PATH_GEN_COMPONENTS_NV"("0x90B3") + "GL_PATH_STENCIL_FUNC_NV"("0x90B7") + "GL_PATH_STENCIL_REF_NV"("0x90B8") + "GL_PATH_STENCIL_VALUE_MASK_NV"("0x90B9") + "GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV"("0x90BD") + "GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV"("0x90BE") + "GL_PATH_COVER_DEPTH_FUNC_NV"("0x90BF") + "GL_PATH_DASH_OFFSET_RESET_NV"("0x90B4") + "GL_MOVE_TO_RESETS_NV"("0x90B5") + "GL_MOVE_TO_CONTINUES_NV"("0x90B6") + "GL_CLOSE_PATH_NV"("0x00") + "GL_MOVE_TO_NV"("0x02") + "GL_RELATIVE_MOVE_TO_NV"("0x03") + "GL_LINE_TO_NV"("0x04") + "GL_RELATIVE_LINE_TO_NV"("0x05") + "GL_HORIZONTAL_LINE_TO_NV"("0x06") + "GL_RELATIVE_HORIZONTAL_LINE_TO_NV"("0x07") + "GL_VERTICAL_LINE_TO_NV"("0x08") + "GL_RELATIVE_VERTICAL_LINE_TO_NV"("0x09") + "GL_QUADRATIC_CURVE_TO_NV"("0x0A") + "GL_RELATIVE_QUADRATIC_CURVE_TO_NV"("0x0B") + "GL_CUBIC_CURVE_TO_NV"("0x0C") + "GL_RELATIVE_CUBIC_CURVE_TO_NV"("0x0D") + "GL_SMOOTH_QUADRATIC_CURVE_TO_NV"("0x0E") + "GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV"("0x0F") + "GL_SMOOTH_CUBIC_CURVE_TO_NV"("0x10") + "GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV"("0x11") + "GL_SMALL_CCW_ARC_TO_NV"("0x12") + "GL_RELATIVE_SMALL_CCW_ARC_TO_NV"("0x13") + "GL_SMALL_CW_ARC_TO_NV"("0x14") + "GL_RELATIVE_SMALL_CW_ARC_TO_NV"("0x15") + "GL_LARGE_CCW_ARC_TO_NV"("0x16") + "GL_RELATIVE_LARGE_CCW_ARC_TO_NV"("0x17") + "GL_LARGE_CW_ARC_TO_NV"("0x18") + "GL_RELATIVE_LARGE_CW_ARC_TO_NV"("0x19") + "GL_RESTART_PATH_NV"("0xF0") + "GL_DUP_FIRST_CUBIC_CURVE_TO_NV"("0xF2") + "GL_DUP_LAST_CUBIC_CURVE_TO_NV"("0xF4") + "GL_RECT_NV"("0xF6") + "GL_CIRCULAR_CCW_ARC_TO_NV"("0xF8") + "GL_CIRCULAR_CW_ARC_TO_NV"("0xFA") + "GL_CIRCULAR_TANGENT_ARC_TO_NV"("0xFC") + "GL_ARC_TO_NV"("0xFE") + "GL_RELATIVE_ARC_TO_NV"("0xFF") + "GL_BOLD_BIT_NV"("0x01") + "GL_ITALIC_BIT_NV"("0x02") + "GL_GLYPH_WIDTH_BIT_NV"("0x01") + "GL_GLYPH_HEIGHT_BIT_NV"("0x02") + "GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV"("0x04") + "GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV"("0x08") + "GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV"("0x10") + "GL_GLYPH_VERTICAL_BEARING_X_BIT_NV"("0x20") + "GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV"("0x40") + "GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV"("0x80") + "GL_GLYPH_HAS_KERNING_BIT_NV"("0x100") + "GL_FONT_X_MIN_BOUNDS_BIT_NV"("0x00010000") + "GL_FONT_Y_MIN_BOUNDS_BIT_NV"("0x00020000") + "GL_FONT_X_MAX_BOUNDS_BIT_NV"("0x00040000") + "GL_FONT_Y_MAX_BOUNDS_BIT_NV"("0x00080000") + "GL_FONT_UNITS_PER_EM_BIT_NV"("0x00100000") + "GL_FONT_ASCENDER_BIT_NV"("0x00200000") + "GL_FONT_DESCENDER_BIT_NV"("0x00400000") + "GL_FONT_HEIGHT_BIT_NV"("0x00800000") + "GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV"("0x01000000") + "GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV"("0x02000000") + "GL_FONT_UNDERLINE_POSITION_BIT_NV"("0x04000000") + "GL_FONT_UNDERLINE_THICKNESS_BIT_NV"("0x08000000") + "GL_FONT_HAS_KERNING_BIT_NV"("0x10000000") + "GL_ROUNDED_RECT_NV"("0xE8") + "GL_RELATIVE_ROUNDED_RECT_NV"("0xE9") + "GL_ROUNDED_RECT2_NV"("0xEA") + "GL_RELATIVE_ROUNDED_RECT2_NV"("0xEB") + "GL_ROUNDED_RECT4_NV"("0xEC") + "GL_RELATIVE_ROUNDED_RECT4_NV"("0xED") + "GL_ROUNDED_RECT8_NV"("0xEE") + "GL_RELATIVE_ROUNDED_RECT8_NV"("0xEF") + "GL_RELATIVE_RECT_NV"("0xF7") + "GL_FONT_GLYPHS_AVAILABLE_NV"("0x9368") + "GL_FONT_TARGET_UNAVAILABLE_NV"("0x9369") + "GL_FONT_UNAVAILABLE_NV"("0x936A") + "GL_FONT_UNINTELLIGIBLE_NV"("0x936B") + "GL_CONIC_CURVE_TO_NV"("0x1A") + "GL_RELATIVE_CONIC_CURVE_TO_NV"("0x1B") + "GL_FONT_NUM_GLYPH_INDICES_BIT_NV"("0x20000000") + "GL_STANDARD_FONT_FORMAT_NV"("0x936C") + "GL_2_BYTES_NV"("0x1407") + "GL_3_BYTES_NV"("0x1408") + "GL_4_BYTES_NV"("0x1409") + "GL_EYE_LINEAR_NV"("0x2400") + "GL_OBJECT_LINEAR_NV"("0x2401") + "GL_CONSTANT_NV"("0x8576") + "GL_PATH_FOG_GEN_MODE_NV"("0x90AC") + "GL_PRIMARY_COLOR_NV"("0x852C") + "GL_SECONDARY_COLOR_NV"("0x852D") + "GL_PATH_GEN_COLOR_FORMAT_NV"("0x90B2") + "GL_PATH_PROJECTION_NV"("0x1701") + "GL_PATH_MODELVIEW_NV"("0x1700") + "GL_PATH_MODELVIEW_STACK_DEPTH_NV"("0x0BA3") + "GL_PATH_MODELVIEW_MATRIX_NV"("0x0BA6") + "GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV"("0x0D36") + "GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV"("0x84E3") + "GL_PATH_PROJECTION_STACK_DEPTH_NV"("0x0BA4") + "GL_PATH_PROJECTION_MATRIX_NV"("0x0BA7") + "GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV"("0x0D38") + "GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV"("0x84E4") + "GL_FRAGMENT_INPUT_NV"("0x936D") + "glGenPathsNV"(GLuint, GLsizei("range")) + "glDeletePathsNV"(void, GLuint("path"), GLsizei("range")) + "glIsPathNV"(GLboolean, GLuint("path")) + "glPathCommandsNV"( + void, + GLuint("path"), + GLsizei("numCommands"), + address("commands", "const GLubyte *"), + GLsizei("numCoords"), + GLenum("coordType"), + address("coords", "const void *") + ) + "glPathCoordsNV"( + void, + GLuint("path"), + GLsizei("numCoords"), + GLenum("coordType"), + address("coords", "const void *") + ) + "glPathSubCommandsNV"( + void, + GLuint("path"), + GLsizei("commandStart"), + GLsizei("commandsToDelete"), + GLsizei("numCommands"), + address("commands", "const GLubyte *"), + GLsizei("numCoords"), + GLenum("coordType"), + address("coords", "const void *") + ) + "glPathSubCoordsNV"( + void, + GLuint("path"), + GLsizei("coordStart"), + GLsizei("numCoords"), + GLenum("coordType"), + address("coords", "const void *") + ) + "glPathStringNV"( + void, + GLuint("path"), + GLenum("format"), + GLsizei("length"), + address("pathString", "const void *") + ) + "glPathGlyphsNV"( + void, + GLuint("firstPathName"), + GLenum("fontTarget"), + address("fontName", "const void *"), + GLbitfield("fontStyle"), + GLsizei("numGlyphs"), + GLenum("type"), + address("charcodes", "const void *"), + GLenum("handleMissingGlyphs"), + GLuint("pathParameterTemplate"), + GLfloat("emScale") + ) + "glPathGlyphRangeNV"( + void, + GLuint("firstPathName"), + GLenum("fontTarget"), + address("fontName", "const void *"), + GLbitfield("fontStyle"), + GLuint("firstGlyph"), + GLsizei("numGlyphs"), + GLenum("handleMissingGlyphs"), + GLuint("pathParameterTemplate"), + GLfloat("emScale") + ) + "glWeightPathsNV"( + void, + GLuint("resultPath"), + GLsizei("numPaths"), + address("paths", "const GLuint *"), + address("weights", "const GLfloat *") + ) + "glCopyPathNV"(void, GLuint("resultPath"), GLuint("srcPath")) + "glInterpolatePathsNV"(void, GLuint("resultPath"), GLuint("pathA"), GLuint("pathB"), GLfloat("weight")) + "glTransformPathNV"( + void, + GLuint("resultPath"), + GLuint("srcPath"), + GLenum("transformType"), + address("transformValues", "const GLfloat *") + ) + "glPathParameterivNV"(void, GLuint("path"), GLenum("pname"), address("value", "const GLint *")) + "glPathParameteriNV"(void, GLuint("path"), GLenum("pname"), GLint("value")) + "glPathParameterfvNV"(void, GLuint("path"), GLenum("pname"), address("value", "const GLfloat *")) + "glPathParameterfNV"(void, GLuint("path"), GLenum("pname"), GLfloat("value")) + "glPathDashArrayNV"(void, GLuint("path"), GLsizei("dashCount"), address("dashArray", "const GLfloat *")) + "glPathStencilFuncNV"(void, GLenum("func"), GLint("ref"), GLuint("mask")) + "glPathStencilDepthOffsetNV"(void, GLfloat("factor"), GLfloat("units")) + "glStencilFillPathNV"(void, GLuint("path"), GLenum("fillMode"), GLuint("mask")) + "glStencilStrokePathNV"(void, GLuint("path"), GLint("reference"), GLuint("mask")) + "glStencilFillPathInstancedNV"( + void, + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLenum("fillMode"), + GLuint("mask"), + GLenum("transformType"), + address("transformValues", "const GLfloat *") + ) + "glStencilStrokePathInstancedNV"( + void, + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLint("reference"), + GLuint("mask"), + GLenum("transformType"), + address("transformValues", "const GLfloat *") + ) + "glPathCoverDepthFuncNV"(void, GLenum("func")) + "glCoverFillPathNV"(void, GLuint("path"), GLenum("coverMode")) + "glCoverStrokePathNV"(void, GLuint("path"), GLenum("coverMode")) + "glCoverFillPathInstancedNV"( + void, + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLenum("coverMode"), + GLenum("transformType"), + address("transformValues", "const GLfloat *") + ) + "glCoverStrokePathInstancedNV"( + void, + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLenum("coverMode"), + GLenum("transformType"), + address("transformValues", "const GLfloat *") + ) + "glGetPathParameterivNV"(void, GLuint("path"), GLenum("pname"), address("value", "GLint *")) + "glGetPathParameterfvNV"(void, GLuint("path"), GLenum("pname"), address("value", "GLfloat *")) + "glGetPathCommandsNV"(void, GLuint("path"), address("commands", "GLubyte *")) + "glGetPathCoordsNV"(void, GLuint("path"), address("coords", "GLfloat *")) + "glGetPathDashArrayNV"(void, GLuint("path"), address("dashArray", "GLfloat *")) + "glGetPathMetricsNV"( + void, + GLbitfield("metricQueryMask"), + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLsizei("stride"), + address("metrics", "GLfloat *") + ) + "glGetPathMetricRangeNV"( + void, + GLbitfield("metricQueryMask"), + GLuint("firstPathName"), + GLsizei("numPaths"), + GLsizei("stride"), + address("metrics", "GLfloat *") + ) + "glGetPathSpacingNV"( + void, + GLenum("pathListMode"), + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLfloat("advanceScale"), + GLfloat("kerningScale"), + GLenum("transformType"), + address("returnedSpacing", "GLfloat *") + ) + "glIsPointInFillPathNV"(GLboolean, GLuint("path"), GLuint("mask"), GLfloat("x"), GLfloat("y")) + "glIsPointInStrokePathNV"(GLboolean, GLuint("path"), GLfloat("x"), GLfloat("y")) + "glGetPathLengthNV"(GLfloat, GLuint("path"), GLsizei("startSegment"), GLsizei("numSegments")) + "glPointAlongPathNV"( + GLboolean, + GLuint("path"), + GLsizei("startSegment"), + GLsizei("numSegments"), + GLfloat("distance"), + address("x", "GLfloat *"), + address("y", "GLfloat *"), + address("tangentX", "GLfloat *"), + address("tangentY", "GLfloat *") + ) + "glMatrixLoad3x2fNV"(void, GLenum("matrixMode"), address("m", "const GLfloat *")) + "glMatrixLoad3x3fNV"(void, GLenum("matrixMode"), address("m", "const GLfloat *")) + "glMatrixLoadTranspose3x3fNV"(void, GLenum("matrixMode"), address("m", "const GLfloat *")) + "glMatrixMult3x2fNV"(void, GLenum("matrixMode"), address("m", "const GLfloat *")) + "glMatrixMult3x3fNV"(void, GLenum("matrixMode"), address("m", "const GLfloat *")) + "glMatrixMultTranspose3x3fNV"(void, GLenum("matrixMode"), address("m", "const GLfloat *")) + "glStencilThenCoverFillPathNV"(void, GLuint("path"), GLenum("fillMode"), GLuint("mask"), GLenum("coverMode")) + "glStencilThenCoverStrokePathNV"(void, GLuint("path"), GLint("reference"), GLuint("mask"), GLenum("coverMode")) + "glStencilThenCoverFillPathInstancedNV"( + void, + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLenum("fillMode"), + GLuint("mask"), + GLenum("coverMode"), + GLenum("transformType"), + address("transformValues", "const GLfloat *") + ) + "glStencilThenCoverStrokePathInstancedNV"( + void, + GLsizei("numPaths"), + GLenum("pathNameType"), + address("paths", "const void *"), + GLuint("pathBase"), + GLint("reference"), + GLuint("mask"), + GLenum("coverMode"), + GLenum("transformType"), + address("transformValues", "const GLfloat *") + ) + "glPathGlyphIndexRangeNV"( + GLenum, + GLenum("fontTarget"), + address("fontName", "const void *"), + GLbitfield("fontStyle"), + GLuint("pathParameterTemplate"), + GLfloat("emScale"), + address("baseAndCount", "GLuint *") + ) + "glPathGlyphIndexArrayNV"( + GLenum, + GLuint("firstPathName"), + GLenum("fontTarget"), + address("fontName", "const void *"), + GLbitfield("fontStyle"), + GLuint("firstGlyphIndex"), + GLsizei("numGlyphs"), + GLuint("pathParameterTemplate"), + GLfloat("emScale") + ) + "glPathMemoryGlyphIndexArrayNV"( + GLenum, + GLuint("firstPathName"), + GLenum("fontTarget"), + GLsizeiptr("fontSize"), + address("fontData", "const void *"), + GLsizei("faceIndex"), + GLuint("firstGlyphIndex"), + GLsizei("numGlyphs"), + GLuint("pathParameterTemplate"), + GLfloat("emScale") + ) + "glProgramPathFragmentInputGenNV"( + void, + GLuint("program"), + GLint("location"), + GLenum("genMode"), + GLint("components"), + address("coeffs", "const GLfloat *") + ) + "glGetProgramResourcefvNV"( + void, + GLuint("program"), + GLenum("programInterface"), + GLuint("index"), + GLsizei("propCount"), + address("props", "const GLenum *"), + GLsizei("count"), + address("length", "GLsizei *"), + address("params", "GLfloat *") + ) + "glPathColorGenNV"( + void, + GLenum("color"), + GLenum("genMode"), + GLenum("colorFormat"), + address("coeffs", "const GLfloat *") + ) + "glPathTexGenNV"( + void, + GLenum("texCoordSet"), + GLenum("genMode"), + GLint("components"), + address("coeffs", "const GLfloat *") + ) + "glPathFogGenNV"(void, GLenum("genMode")) + "glGetPathColorGenivNV"(void, GLenum("color"), GLenum("pname"), address("value", "GLint *")) + "glGetPathColorGenfvNV"(void, GLenum("color"), GLenum("pname"), address("value", "GLfloat *")) + "glGetPathTexGenivNV"(void, GLenum("texCoordSet"), GLenum("pname"), address("value", "GLint *")) + "glGetPathTexGenfvNV"(void, GLenum("texCoordSet"), GLenum("pname"), address("value", "GLfloat *")) + } + file("PathRenderingSharedEdge", NV, "GL_NV_path_rendering_shared_edge", "GL_SHARED_EDGE_NV" to "0xC0") +} diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index ffcefd2b..8e23425e 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -123,6 +123,7 @@ val GLhandleARB = int // Don't know how to handle on APPLE val GLcharARB = byte val GLint64EXT = long val GLuint64EXT = long +val GLhalfNV = short data class Parameter( val type: Type, @@ -288,1624 +289,6 @@ fun file( } } -fun arb() { - file("ES32Compatibility", ARB, "GL_ARB_ES3_2_compatibility") { - "GL_PRIMITIVE_BOUNDING_BOX_ARB"("0x92BE") - "GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB"("0x9381") - "GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB"("0x9382") - "glPrimitiveBoundingBoxARB"( - void, - GLfloat("minX"), - GLfloat("minY"), - GLfloat("minZ"), - GLfloat("minW"), - GLfloat("maxX"), - GLfloat("maxY"), - GLfloat("maxZ"), - GLfloat("maxW") - ) - } - file("BindlessTexture", ARB, "GL_ARB_bindless_texture") { - "GL_UNSIGNED_INT64_ARB"("0x140F") - "glGetTextureHandleARB"(GLuint64, GLuint("texture")) - "glGetTextureSamplerHandleARB"(GLuint64, GLuint("texture"), GLuint("sampler")) - "glMakeTextureHandleResidentARB"(void, GLuint64("handle")) - "glMakeTextureHandleNonResidentARB"(void, GLuint64("handle")) - "glGetImageHandleARB"( - GLuint64, - GLuint("texture"), - GLint("level"), - GLboolean("layered"), - GLint("layer"), - GLenum("format") - ) - "glMakeImageHandleResidentARB"(void, GLuint64("handle"), GLenum("access")) - "glMakeImageHandleNonResidentARB"(void, GLuint64("handle")) - "glUniformHandleui64ARB"(void, GLint("location"), GLuint64("value")) - "glUniformHandleui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) - "glProgramUniformHandleui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("value")) - "glProgramUniformHandleui64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("values", "const GLuint64 *") - ) - "glIsTextureHandleResidentARB"(GLboolean, GLuint64("handle")) - "glIsImageHandleResidentARB"(GLboolean, GLuint64("handle")) - "glVertexAttribL1ui64ARB"(void, GLuint("index"), GLuint64EXT("x")) - "glVertexAttribL1ui64vARB"(void, GLuint("index"), address("v", "const GLuint64EXT *")) - "glGetVertexAttribLui64vARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLuint64EXT *")) - } - file("CLEvent", ARB, "GL_ARB_cl_event") { - "GL_SYNC_CL_EVENT_ARB"("0x8240") - "GL_SYNC_CL_EVENT_COMPLETE_ARB"("0x8241") - "glCreateSyncFromCLeventARB"( - address, - address("context", "struct _cl_context *"), - address("event", "struct _cl_event *"), - GLbitfield("flags"), - nativeType = "GLsync" - ) - } - file("ColorBufferFloat", ARB, "GL_ARB_color_buffer_float") { - "GL_RGBA_FLOAT_MODE_ARB"("0x8820") - "GL_CLAMP_VERTEX_COLOR_ARB"("0x891A") - "GL_CLAMP_FRAGMENT_COLOR_ARB"("0x891B") - "GL_CLAMP_READ_COLOR_ARB"("0x891C") - "GL_FIXED_ONLY_ARB"("0x891D") - "glClampColorARB"(void, GLenum("target"), GLenum("clamp")) - } - file("ComputeVariableGroupSize", ARB, "GL_ARB_compute_variable_group_size") { - "GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"("0x9344") - "GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB"("0x90EB") - "GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"("0x9345") - "GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB"("0x91BF") - "glDispatchComputeGroupSizeARB"( - void, - GLuint("num_groups_x"), - GLuint("num_groups_y"), - GLuint("num_groups_z"), - GLuint("group_size_x"), - GLuint("group_size_y"), - GLuint("group_size_z") - ) - } - file("DebugOutput", ARB, "GL_ARB_debug_output") { - "GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"("0x8242") - "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"("0x8243") - "GL_DEBUG_CALLBACK_FUNCTION_ARB"("0x8244") - "GL_DEBUG_CALLBACK_USER_PARAM_ARB"("0x8245") - "GL_DEBUG_SOURCE_API_ARB"("0x8246") - "GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"("0x8247") - "GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"("0x8248") - "GL_DEBUG_SOURCE_THIRD_PARTY_ARB"("0x8249") - "GL_DEBUG_SOURCE_APPLICATION_ARB"("0x824A") - "GL_DEBUG_SOURCE_OTHER_ARB"("0x824B") - "GL_DEBUG_TYPE_ERROR_ARB"("0x824C") - "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"("0x824D") - "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"("0x824E") - "GL_DEBUG_TYPE_PORTABILITY_ARB"("0x824F") - "GL_DEBUG_TYPE_PERFORMANCE_ARB"("0x8250") - "GL_DEBUG_TYPE_OTHER_ARB"("0x8251") - "GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"("0x9143") - "GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"("0x9144") - "GL_DEBUG_LOGGED_MESSAGES_ARB"("0x9145") - "GL_DEBUG_SEVERITY_HIGH_ARB"("0x9146") - "GL_DEBUG_SEVERITY_MEDIUM_ARB"("0x9147") - "GL_DEBUG_SEVERITY_LOW_ARB"("0x9148") - "glDebugMessageControlARB"( - void, - GLenum("source"), - GLenum("type"), - GLenum("severity"), - GLsizei("count"), - address("ids", "const GLuint *"), - GLboolean("enabled") - ) - "glDebugMessageInsertARB"( - void, - GLenum("source"), - GLenum("type"), - GLuint("id"), - GLenum("severity"), - GLsizei("length"), - address("buf", "const GLchar *") - ) - ("glDebugMessageCallbackARB"( - void, - address("callback", "GLDEBUGPROCARB"), - address("userParam", "const void *") - )) { - "glDebugMessageCallbackARB"( - void, - "glDebugMessageCallbackARB(callback.address(arena), userParam);", - arena("arena"), - Type("GLDebugProc", null)("callback"), - address("userParam", "const void *") - ) - } - "glGetDebugMessageLogARB"( - GLuint, - GLuint("count"), - GLsizei("bufSize"), - address("sources", "GLenum *"), - address("types", "GLenum *"), - address("ids", "GLuint *"), - address("severities", "GLenum *"), - address("lengths", "GLsizei *"), - address("messageLog", "GLchar *") - ) - } - file( - "DepthTexture", ARB, "GL_ARB_depth_texture", - "GL_DEPTH_COMPONENT16_ARB" to "0x81A5", - "GL_DEPTH_COMPONENT24_ARB" to "0x81A6", - "GL_DEPTH_COMPONENT32_ARB" to "0x81A7", - "GL_TEXTURE_DEPTH_SIZE_ARB" to "0x884A", - "GL_DEPTH_TEXTURE_MODE_ARB" to "0x884B" - ) - file("DrawBuffers", ARB, "GL_ARB_draw_buffers") { - "GL_MAX_DRAW_BUFFERS_ARB"("0x8824") - "GL_DRAW_BUFFER0_ARB"("0x8825") - "GL_DRAW_BUFFER1_ARB"("0x8826") - "GL_DRAW_BUFFER2_ARB"("0x8827") - "GL_DRAW_BUFFER3_ARB"("0x8828") - "GL_DRAW_BUFFER4_ARB"("0x8829") - "GL_DRAW_BUFFER5_ARB"("0x882A") - "GL_DRAW_BUFFER6_ARB"("0x882B") - "GL_DRAW_BUFFER7_ARB"("0x882C") - "GL_DRAW_BUFFER8_ARB"("0x882D") - "GL_DRAW_BUFFER9_ARB"("0x882E") - "GL_DRAW_BUFFER10_ARB"("0x882F") - "GL_DRAW_BUFFER11_ARB"("0x8830") - "GL_DRAW_BUFFER12_ARB"("0x8831") - "GL_DRAW_BUFFER13_ARB"("0x8832") - "GL_DRAW_BUFFER14_ARB"("0x8833") - "GL_DRAW_BUFFER15_ARB"("0x8834") - "glDrawBuffersARB"(void, GLsizei("n"), address("bufs", "const GLenum *")) - } - file("DrawBuffersBlend", ARB, "GL_ARB_draw_buffers_blend") { - "glBlendEquationiARB"(void, GLuint("buf"), GLenum("mode")) - "glBlendEquationSeparateiARB"(void, GLuint("buf"), GLenum("modeRGB"), GLenum("modeAlpha")) - "glBlendFunciARB"(void, GLuint("buf"), GLenum("src"), GLenum("dst")) - "glBlendFuncSeparateiARB"( - void, - GLuint("buf"), - GLenum("srcRGB"), - GLenum("dstRGB"), - GLenum("srcAlpha"), - GLenum("dstAlpha") - ) - } - file("DrawInstanced", ARB, "GL_ARB_draw_instanced") { - "glDrawArraysInstancedARB"(void, GLenum("mode"), GLint("first"), GLsizei("count"), GLsizei("primcount")) - "glDrawElementsInstancedARB"( - void, - GLenum("mode"), - GLsizei("count"), - GLenum("type"), - address("indices", "const void *"), - GLsizei("primcount") - ) - } - file("FragmentProgram", ARB, "GL_ARB_fragment_program") { - "GL_FRAGMENT_PROGRAM_ARB"("0x8804") - "GL_PROGRAM_FORMAT_ASCII_ARB"("0x8875") - "GL_PROGRAM_LENGTH_ARB"("0x8627") - "GL_PROGRAM_FORMAT_ARB"("0x8876") - "GL_PROGRAM_BINDING_ARB"("0x8677") - "GL_PROGRAM_INSTRUCTIONS_ARB"("0x88A0") - "GL_MAX_PROGRAM_INSTRUCTIONS_ARB"("0x88A1") - "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"("0x88A2") - "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"("0x88A3") - "GL_PROGRAM_TEMPORARIES_ARB"("0x88A4") - "GL_MAX_PROGRAM_TEMPORARIES_ARB"("0x88A5") - "GL_PROGRAM_NATIVE_TEMPORARIES_ARB"("0x88A6") - "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"("0x88A7") - "GL_PROGRAM_PARAMETERS_ARB"("0x88A8") - "GL_MAX_PROGRAM_PARAMETERS_ARB"("0x88A9") - "GL_PROGRAM_NATIVE_PARAMETERS_ARB"("0x88AA") - "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"("0x88AB") - "GL_PROGRAM_ATTRIBS_ARB"("0x88AC") - "GL_MAX_PROGRAM_ATTRIBS_ARB"("0x88AD") - "GL_PROGRAM_NATIVE_ATTRIBS_ARB"("0x88AE") - "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"("0x88AF") - "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"("0x88B4") - "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"("0x88B5") - "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"("0x88B6") - "GL_PROGRAM_ALU_INSTRUCTIONS_ARB"("0x8805") - "GL_PROGRAM_TEX_INSTRUCTIONS_ARB"("0x8806") - "GL_PROGRAM_TEX_INDIRECTIONS_ARB"("0x8807") - "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"("0x8808") - "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"("0x8809") - "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"("0x880A") - "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"("0x880B") - "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"("0x880C") - "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"("0x880D") - "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"("0x880E") - "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"("0x880F") - "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"("0x8810") - "GL_PROGRAM_STRING_ARB"("0x8628") - "GL_PROGRAM_ERROR_POSITION_ARB"("0x864B") - "GL_CURRENT_MATRIX_ARB"("0x8641") - "GL_TRANSPOSE_CURRENT_MATRIX_ARB"("0x88B7") - "GL_CURRENT_MATRIX_STACK_DEPTH_ARB"("0x8640") - "GL_MAX_PROGRAM_MATRICES_ARB"("0x862F") - "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"("0x862E") - "GL_MAX_TEXTURE_COORDS_ARB"("0x8871") - "GL_MAX_TEXTURE_IMAGE_UNITS_ARB"("0x8872") - "GL_PROGRAM_ERROR_STRING_ARB"("0x8874") - "GL_MATRIX0_ARB"("0x88C0") - "GL_MATRIX1_ARB"("0x88C1") - "GL_MATRIX2_ARB"("0x88C2") - "GL_MATRIX3_ARB"("0x88C3") - "GL_MATRIX4_ARB"("0x88C4") - "GL_MATRIX5_ARB"("0x88C5") - "GL_MATRIX6_ARB"("0x88C6") - "GL_MATRIX7_ARB"("0x88C7") - "GL_MATRIX8_ARB"("0x88C8") - "GL_MATRIX9_ARB"("0x88C9") - "GL_MATRIX10_ARB"("0x88CA") - "GL_MATRIX11_ARB"("0x88CB") - "GL_MATRIX12_ARB"("0x88CC") - "GL_MATRIX13_ARB"("0x88CD") - "GL_MATRIX14_ARB"("0x88CE") - "GL_MATRIX15_ARB"("0x88CF") - "GL_MATRIX16_ARB"("0x88D0") - "GL_MATRIX17_ARB"("0x88D1") - "GL_MATRIX18_ARB"("0x88D2") - "GL_MATRIX19_ARB"("0x88D3") - "GL_MATRIX20_ARB"("0x88D4") - "GL_MATRIX21_ARB"("0x88D5") - "GL_MATRIX22_ARB"("0x88D6") - "GL_MATRIX23_ARB"("0x88D7") - "GL_MATRIX24_ARB"("0x88D8") - "GL_MATRIX25_ARB"("0x88D9") - "GL_MATRIX26_ARB"("0x88DA") - "GL_MATRIX27_ARB"("0x88DB") - "GL_MATRIX28_ARB"("0x88DC") - "GL_MATRIX29_ARB"("0x88DD") - "GL_MATRIX30_ARB"("0x88DE") - "GL_MATRIX31_ARB"("0x88DF") - "glProgramStringARB"( - void, - GLenum("target"), - GLenum("format"), - GLsizei("len"), - address("string", "const void *") - ) - "glBindProgramARB"(void, GLenum("target"), GLuint("program")) - "glDeleteProgramsARB"(void, GLsizei("n"), address("programs", "const GLuint *")) - "glGenProgramsARB"(void, GLsizei("n"), address("programs", "GLuint *")) - "glProgramEnvParameter4dARB"( - void, - GLenum("target"), - GLuint("index"), - GLdouble("x"), - GLdouble("y"), - GLdouble("z"), - GLdouble("w") - ) - "glProgramEnvParameter4dvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLdouble *")) - "glProgramEnvParameter4fARB"( - void, - GLenum("target"), - GLuint("index"), - GLfloat("x"), - GLfloat("y"), - GLfloat("z"), - GLfloat("w") - ) - "glProgramEnvParameter4fvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLfloat *")) - "glProgramLocalParameter4dARB"( - void, - GLenum("target"), - GLuint("index"), - GLdouble("x"), - GLdouble("y"), - GLdouble("z"), - GLdouble("w") - ) - "glProgramLocalParameter4dvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLdouble *")) - "glProgramLocalParameter4fARB"( - void, - GLenum("target"), - GLuint("index"), - GLfloat("x"), - GLfloat("y"), - GLfloat("z"), - GLfloat("w") - ) - "glProgramLocalParameter4fvARB"(void, GLenum("target"), GLuint("index"), address("params", "const GLfloat *")) - "glGetProgramEnvParameterdvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLdouble *")) - "glGetProgramEnvParameterfvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLfloat *")) - "glGetProgramLocalParameterdvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLdouble *")) - "glGetProgramLocalParameterfvARB"(void, GLenum("target"), GLuint("index"), address("params", "GLfloat *")) - "glGetProgramivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) - "glGetProgramStringARB"(void, GLenum("target"), GLenum("pname"), address("string", "void *")) - "glIsProgramARB"(GLboolean, GLuint("program")) - } - file( - "FragmentShader", ARB, "GL_ARB_fragment_shader", - "GL_FRAGMENT_SHADER_ARB" to "0x8B30", - "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB" to "0x8B49", - "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB" to "0x8B8B" - ) - file("GeometryShader4", ARB, "GL_ARB_geometry_shader4") { - "GL_LINES_ADJACENCY_ARB"("0x000A") - "GL_LINE_STRIP_ADJACENCY_ARB"("0x000B") - "GL_TRIANGLES_ADJACENCY_ARB"("0x000C") - "GL_TRIANGLE_STRIP_ADJACENCY_ARB"("0x000D") - "GL_PROGRAM_POINT_SIZE_ARB"("0x8642") - "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"("0x8C29") - "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"("0x8DA7") - "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"("0x8DA8") - "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"("0x8DA9") - "GL_GEOMETRY_SHADER_ARB"("0x8DD9") - "GL_GEOMETRY_VERTICES_OUT_ARB"("0x8DDA") - "GL_GEOMETRY_INPUT_TYPE_ARB"("0x8DDB") - "GL_GEOMETRY_OUTPUT_TYPE_ARB"("0x8DDC") - "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"("0x8DDD") - "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"("0x8DDE") - "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"("0x8DDF") - "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB"("0x8DE0") - "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"("0x8DE1") - "glProgramParameteriARB"(void, GLuint("program"), GLenum("pname"), GLint("value")) - "glFramebufferTextureARB"(void, GLenum("target"), GLenum("attachment"), GLuint("texture"), GLint("level")) - "glFramebufferTextureLayerARB"( - void, - GLenum("target"), - GLenum("attachment"), - GLuint("texture"), - GLint("level"), - GLint("layer") - ) - "glFramebufferTextureFaceARB"( - void, - GLenum("target"), - GLenum("attachment"), - GLuint("texture"), - GLint("level"), - GLenum("face") - ) - } - file("GLSpirv", ARB, "GL_ARB_gl_spirv") { - "GL_SHADER_BINARY_FORMAT_SPIR_V_ARB"("0x9551") - "GL_SPIR_V_BINARY_ARB"("0x9552") - "glSpecializeShaderARB"( - void, - GLuint("shader"), - address("pEntryPoint", "const GLchar *"), - GLuint("numSpecializationConstants"), - address("pConstantIndex", "const GLuint *"), - address("pConstantValue", "const GLuint *") - ) - } - file("GpuShaderInt64", ARB, "GL_ARB_gpu_shader_int64") { - "GL_INT64_ARB"("0x140E") - "GL_INT64_VEC2_ARB"("0x8FE9") - "GL_INT64_VEC3_ARB"("0x8FEA") - "GL_INT64_VEC4_ARB"("0x8FEB") - "GL_UNSIGNED_INT64_VEC2_ARB"("0x8FF5") - "GL_UNSIGNED_INT64_VEC3_ARB"("0x8FF6") - "GL_UNSIGNED_INT64_VEC4_ARB"("0x8FF7") - "glUniform1i64ARB"(void, GLint("location"), GLint64("x")) - "glUniform2i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y")) - "glUniform3i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y"), GLint64("z")) - "glUniform4i64ARB"(void, GLint("location"), GLint64("x"), GLint64("y"), GLint64("z"), GLint64("w")) - "glUniform1i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) - "glUniform2i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) - "glUniform3i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) - "glUniform4i64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64 *")) - "glUniform1ui64ARB"(void, GLint("location"), GLuint64("x")) - "glUniform2ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y")) - "glUniform3ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y"), GLuint64("z")) - "glUniform4ui64ARB"(void, GLint("location"), GLuint64("x"), GLuint64("y"), GLuint64("z"), GLuint64("w")) - "glUniform1ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) - "glUniform2ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) - "glUniform3ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) - "glUniform4ui64vARB"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) - "glGetUniformi64vARB"(void, GLuint("program"), GLint("location"), address("params", "GLint64 *")) - "glGetUniformui64vARB"(void, GLuint("program"), GLint("location"), address("params", "GLuint64 *")) - "glGetnUniformi64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("bufSize"), - address("params", "GLint64 *") - ) - "glGetnUniformui64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("bufSize"), - address("params", "GLuint64 *") - ) - "glProgramUniform1i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x")) - "glProgramUniform2i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x"), GLint64("y")) - "glProgramUniform3i64ARB"(void, GLuint("program"), GLint("location"), GLint64("x"), GLint64("y"), GLint64("z")) - "glProgramUniform4i64ARB"( - void, - GLuint("program"), - GLint("location"), - GLint64("x"), - GLint64("y"), - GLint64("z"), - GLint64("w") - ) - "glProgramUniform1i64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64 *") - ) - "glProgramUniform2i64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64 *") - ) - "glProgramUniform3i64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64 *") - ) - "glProgramUniform4i64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64 *") - ) - "glProgramUniform1ui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("x")) - "glProgramUniform2ui64ARB"(void, GLuint("program"), GLint("location"), GLuint64("x"), GLuint64("y")) - "glProgramUniform3ui64ARB"( - void, - GLuint("program"), - GLint("location"), - GLuint64("x"), - GLuint64("y"), - GLuint64("z") - ) - "glProgramUniform4ui64ARB"( - void, - GLuint("program"), - GLint("location"), - GLuint64("x"), - GLuint64("y"), - GLuint64("z"), - GLuint64("w") - ) - "glProgramUniform1ui64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64 *") - ) - "glProgramUniform2ui64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64 *") - ) - "glProgramUniform3ui64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64 *") - ) - "glProgramUniform4ui64vARB"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64 *") - ) - } - file("HalfFloatPixel", ARB, "GL_ARB_half_float_pixel", "GL_HALF_FLOAT_ARB" to "0x140B") - file("Imaging", ARB, "GL_ARB_imaging") { - "GL_CONVOLUTION_BORDER_MODE"("0x8013") - "GL_CONVOLUTION_FILTER_SCALE"("0x8014") - "GL_CONVOLUTION_FILTER_BIAS"("0x8015") - "GL_REDUCE"("0x8016") - "GL_CONVOLUTION_FORMAT"("0x8017") - "GL_CONVOLUTION_WIDTH"("0x8018") - "GL_CONVOLUTION_HEIGHT"("0x8019") - "GL_MAX_CONVOLUTION_WIDTH"("0x801A") - "GL_MAX_CONVOLUTION_HEIGHT"("0x801B") - "GL_POST_CONVOLUTION_RED_SCALE"("0x801C") - "GL_POST_CONVOLUTION_GREEN_SCALE"("0x801D") - "GL_POST_CONVOLUTION_BLUE_SCALE"("0x801E") - "GL_POST_CONVOLUTION_ALPHA_SCALE"("0x801F") - "GL_POST_CONVOLUTION_RED_BIAS"("0x8020") - "GL_POST_CONVOLUTION_GREEN_BIAS"("0x8021") - "GL_POST_CONVOLUTION_BLUE_BIAS"("0x8022") - "GL_POST_CONVOLUTION_ALPHA_BIAS"("0x8023") - "GL_HISTOGRAM_WIDTH"("0x8026") - "GL_HISTOGRAM_FORMAT"("0x8027") - "GL_HISTOGRAM_RED_SIZE"("0x8028") - "GL_HISTOGRAM_GREEN_SIZE"("0x8029") - "GL_HISTOGRAM_BLUE_SIZE"("0x802A") - "GL_HISTOGRAM_ALPHA_SIZE"("0x802B") - "GL_HISTOGRAM_LUMINANCE_SIZE"("0x802C") - "GL_HISTOGRAM_SINK"("0x802D") - "GL_MINMAX_FORMAT"("0x802F") - "GL_MINMAX_SINK"("0x8030") - "GL_TABLE_TOO_LARGE"("0x8031") - "GL_COLOR_MATRIX"("0x80B1") - "GL_COLOR_MATRIX_STACK_DEPTH"("0x80B2") - "GL_MAX_COLOR_MATRIX_STACK_DEPTH"("0x80B3") - "GL_POST_COLOR_MATRIX_RED_SCALE"("0x80B4") - "GL_POST_COLOR_MATRIX_GREEN_SCALE"("0x80B5") - "GL_POST_COLOR_MATRIX_BLUE_SCALE"("0x80B6") - "GL_POST_COLOR_MATRIX_ALPHA_SCALE"("0x80B7") - "GL_POST_COLOR_MATRIX_RED_BIAS"("0x80B8") - "GL_POST_COLOR_MATRIX_GREEN_BIAS"("0x80B9") - "GL_POST_COLOR_MATRIX_BLUE_BIAS"("0x80BA") - "GL_POST_COLOR_MATRIX_ALPHA_BIAS"("0x80BB") - "GL_COLOR_TABLE_SCALE"("0x80D6") - "GL_COLOR_TABLE_BIAS"("0x80D7") - "GL_COLOR_TABLE_FORMAT"("0x80D8") - "GL_COLOR_TABLE_WIDTH"("0x80D9") - "GL_COLOR_TABLE_RED_SIZE"("0x80DA") - "GL_COLOR_TABLE_GREEN_SIZE"("0x80DB") - "GL_COLOR_TABLE_BLUE_SIZE"("0x80DC") - "GL_COLOR_TABLE_ALPHA_SIZE"("0x80DD") - "GL_COLOR_TABLE_LUMINANCE_SIZE"("0x80DE") - "GL_COLOR_TABLE_INTENSITY_SIZE"("0x80DF") - "GL_CONSTANT_BORDER"("0x8151") - "GL_REPLICATE_BORDER"("0x8153") - "GL_CONVOLUTION_BORDER_COLOR"("0x8154") - "glColorTable"( - void, - GLenum("target"), - GLenum("internalformat"), - GLsizei("width"), - GLenum("format"), - GLenum("type"), - address("table", "const void *") - ) - "glColorTableParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) - "glColorTableParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) - "glCopyColorTable"(void, GLenum("target"), GLenum("internalformat"), GLint("x"), GLint("y"), GLsizei("width")) - "glGetColorTable"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("table", "void *")) - "glGetColorTableParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) - "glGetColorTableParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) - "glColorSubTable"( - void, - GLenum("target"), - GLsizei("start"), - GLsizei("count"), - GLenum("format"), - GLenum("type"), - address("data", "const void *") - ) - "glCopyColorSubTable"(void, GLenum("target"), GLsizei("start"), GLint("x"), GLint("y"), GLsizei("width")) - "glConvolutionFilter1D"( - void, - GLenum("target"), - GLenum("internalformat"), - GLsizei("width"), - GLenum("format"), - GLenum("type"), - address("image", "const void *") - ) - "glConvolutionFilter2D"( - void, - GLenum("target"), - GLenum("internalformat"), - GLsizei("width"), - GLsizei("height"), - GLenum("format"), - GLenum("type"), - address("image", "const void *") - ) - "glConvolutionParameterf"(void, GLenum("target"), GLenum("pname"), GLfloat("params")) - "glConvolutionParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) - "glConvolutionParameteri"(void, GLenum("target"), GLenum("pname"), GLint("params")) - "glConvolutionParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) - "glCopyConvolutionFilter1D"( - void, - GLenum("target"), - GLenum("internalformat"), - GLint("x"), - GLint("y"), - GLsizei("width") - ) - "glCopyConvolutionFilter2D"( - void, - GLenum("target"), - GLenum("internalformat"), - GLint("x"), - GLint("y"), - GLsizei("width"), - GLsizei("height") - ) - "glGetConvolutionFilter"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("image", "void *")) - "glGetConvolutionParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) - "glGetConvolutionParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) - "glGetSeparableFilter"( - void, - GLenum("target"), - GLenum("format"), - GLenum("type"), - address("row", "void *"), - address("column", "void *"), - address("span", "void *") - ) - "glSeparableFilter2D"( - void, - GLenum("target"), - GLenum("internalformat"), - GLsizei("width"), - GLsizei("height"), - GLenum("format"), - GLenum("type"), - address("row", "const void *"), - address("column", "const void *") - ) - "glGetHistogram"( - void, - GLenum("target"), - GLboolean("reset"), - GLenum("format"), - GLenum("type"), - address("values", "void *") - ) - "glGetHistogramParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) - "glGetHistogramParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) - "glGetMinmax"( - void, - GLenum("target"), - GLboolean("reset"), - GLenum("format"), - GLenum("type"), - address("values", "void *") - ) - "glGetMinmaxParameterfv"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) - "glGetMinmaxParameteriv"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) - "glHistogram"(void, GLenum("target"), GLsizei("width"), GLenum("internalformat"), GLboolean("sink")) - "glMinmax"(void, GLenum("target"), GLenum("internalformat"), GLboolean("sink")) - "glResetHistogram"(void, GLenum("target")) - "glResetMinmax"(void, GLenum("target")) - } - file("IndirectParameters", ARB, "GL_ARB_indirect_parameters") { - "GL_PARAMETER_BUFFER_ARB"("0x80EE") - "GL_PARAMETER_BUFFER_BINDING_ARB"("0x80EF") - "glMultiDrawArraysIndirectCountARB"( - void, - GLenum("mode"), - address("indirect", "const void *"), - GLintptr("drawcount"), - GLsizei("maxdrawcount"), - GLsizei("stride") - ) - "glMultiDrawElementsIndirectCountARB"( - void, - GLenum("mode"), - GLenum("type"), - address("indirect", "const void *"), - GLintptr("drawcount"), - GLsizei("maxdrawcount"), - GLsizei("stride") - ) - } - file("InstancedArrays", ARB, "GL_ARB_instanced_arrays") { - "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"("0x88FE") - "glVertexAttribDivisorARB"(void, GLuint("index"), GLuint("divisor")) - } - file( - "InternalformatQuery2", ARB, "GL_ARB_internalformat_query2", - "GL_SRGB_DECODE_ARB" to "0x8299", - "GL_VIEW_CLASS_EAC_R11" to "0x9383", - "GL_VIEW_CLASS_EAC_RG11" to "0x9384", - "GL_VIEW_CLASS_ETC2_RGB" to "0x9385", - "GL_VIEW_CLASS_ETC2_RGBA" to "0x9386", - "GL_VIEW_CLASS_ETC2_EAC_RGBA" to "0x9387", - "GL_VIEW_CLASS_ASTC_4x4_RGBA" to "0x9388", - "GL_VIEW_CLASS_ASTC_5x4_RGBA" to "0x9389", - "GL_VIEW_CLASS_ASTC_5x5_RGBA" to "0x938A", - "GL_VIEW_CLASS_ASTC_6x5_RGBA" to "0x938B", - "GL_VIEW_CLASS_ASTC_6x6_RGBA" to "0x938C", - "GL_VIEW_CLASS_ASTC_8x5_RGBA" to "0x938D", - "GL_VIEW_CLASS_ASTC_8x6_RGBA" to "0x938E", - "GL_VIEW_CLASS_ASTC_8x8_RGBA" to "0x938F", - "GL_VIEW_CLASS_ASTC_10x5_RGBA" to "0x9390", - "GL_VIEW_CLASS_ASTC_10x6_RGBA" to "0x9391", - "GL_VIEW_CLASS_ASTC_10x8_RGBA" to "0x9392", - "GL_VIEW_CLASS_ASTC_10x10_RGBA" to "0x9393", - "GL_VIEW_CLASS_ASTC_12x10_RGBA" to "0x9394", - "GL_VIEW_CLASS_ASTC_12x12_RGBA" to "0x9395" - ) - file("MatrixPalette", ARB, "GL_ARB_matrix_palette") { - "GL_MATRIX_PALETTE_ARB"("0x8840") - "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"("0x8841") - "GL_MAX_PALETTE_MATRICES_ARB"("0x8842") - "GL_CURRENT_PALETTE_MATRIX_ARB"("0x8843") - "GL_MATRIX_INDEX_ARRAY_ARB"("0x8844") - "GL_CURRENT_MATRIX_INDEX_ARB"("0x8845") - "GL_MATRIX_INDEX_ARRAY_SIZE_ARB"("0x8846") - "GL_MATRIX_INDEX_ARRAY_TYPE_ARB"("0x8847") - "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"("0x8848") - "GL_MATRIX_INDEX_ARRAY_POINTER_ARB"("0x8849") - "glCurrentPaletteMatrixARB"(void, GLint("index")) - "glMatrixIndexubvARB"(void, GLint("size"), address("indices", "const GLubyte *")) - "glMatrixIndexusvARB"(void, GLint("size"), address("indices", "const GLushort *")) - "glMatrixIndexuivARB"(void, GLint("size"), address("indices", "const GLuint *")) - "glMatrixIndexPointerARB"( - void, - GLint("size"), - GLenum("type"), - GLsizei("stride"), - address("pointer", "const void *") - ) - } - file("Multisample", ARB, "GL_ARB_multisample") { - "GL_MULTISAMPLE_ARB"("0x809D") - "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB"("0x809E") - "GL_SAMPLE_ALPHA_TO_ONE_ARB"("0x809F") - "GL_SAMPLE_COVERAGE_ARB"("0x80A0") - "GL_SAMPLE_BUFFERS_ARB"("0x80A8") - "GL_SAMPLES_ARB"("0x80A9") - "GL_SAMPLE_COVERAGE_VALUE_ARB"("0x80AA") - "GL_SAMPLE_COVERAGE_INVERT_ARB"("0x80AB") - "GL_MULTISAMPLE_BIT_ARB"("0x20000000") - "glSampleCoverageARB"(void, GLfloat("value"), GLboolean("invert")) - } - file("Multitexture", ARB, "GL_ARB_multitexture") { - "GL_TEXTURE0_ARB"("0x84C0") - "GL_TEXTURE1_ARB"("0x84C1") - "GL_TEXTURE2_ARB"("0x84C2") - "GL_TEXTURE3_ARB"("0x84C3") - "GL_TEXTURE4_ARB"("0x84C4") - "GL_TEXTURE5_ARB"("0x84C5") - "GL_TEXTURE6_ARB"("0x84C6") - "GL_TEXTURE7_ARB"("0x84C7") - "GL_TEXTURE8_ARB"("0x84C8") - "GL_TEXTURE9_ARB"("0x84C9") - "GL_TEXTURE10_ARB"("0x84CA") - "GL_TEXTURE11_ARB"("0x84CB") - "GL_TEXTURE12_ARB"("0x84CC") - "GL_TEXTURE13_ARB"("0x84CD") - "GL_TEXTURE14_ARB"("0x84CE") - "GL_TEXTURE15_ARB"("0x84CF") - "GL_TEXTURE16_ARB"("0x84D0") - "GL_TEXTURE17_ARB"("0x84D1") - "GL_TEXTURE18_ARB"("0x84D2") - "GL_TEXTURE19_ARB"("0x84D3") - "GL_TEXTURE20_ARB"("0x84D4") - "GL_TEXTURE21_ARB"("0x84D5") - "GL_TEXTURE22_ARB"("0x84D6") - "GL_TEXTURE23_ARB"("0x84D7") - "GL_TEXTURE24_ARB"("0x84D8") - "GL_TEXTURE25_ARB"("0x84D9") - "GL_TEXTURE26_ARB"("0x84DA") - "GL_TEXTURE27_ARB"("0x84DB") - "GL_TEXTURE28_ARB"("0x84DC") - "GL_TEXTURE29_ARB"("0x84DD") - "GL_TEXTURE30_ARB"("0x84DE") - "GL_TEXTURE31_ARB"("0x84DF") - "GL_ACTIVE_TEXTURE_ARB"("0x84E0") - "GL_CLIENT_ACTIVE_TEXTURE_ARB"("0x84E1") - "GL_MAX_TEXTURE_UNITS_ARB"("0x84E2") - "glActiveTextureARB"(void, GLenum("texture")) - "glClientActiveTextureARB"(void, GLenum("texture")) - "glMultiTexCoord1dARB"(void, GLenum("target"), GLdouble("s")) - "glMultiTexCoord1dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) - "glMultiTexCoord1fARB"(void, GLenum("target"), GLfloat("s")) - "glMultiTexCoord1fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) - "glMultiTexCoord1iARB"(void, GLenum("target"), GLint("s")) - "glMultiTexCoord1ivARB"(void, GLenum("target"), address("v", "const GLint *")) - "glMultiTexCoord1sARB"(void, GLenum("target"), GLshort("s")) - "glMultiTexCoord1svARB"(void, GLenum("target"), address("v", "const GLshort *")) - "glMultiTexCoord2dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t")) - "glMultiTexCoord2dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) - "glMultiTexCoord2fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t")) - "glMultiTexCoord2fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) - "glMultiTexCoord2iARB"(void, GLenum("target"), GLint("s"), GLint("t")) - "glMultiTexCoord2ivARB"(void, GLenum("target"), address("v", "const GLint *")) - "glMultiTexCoord2sARB"(void, GLenum("target"), GLshort("s"), GLshort("t")) - "glMultiTexCoord2svARB"(void, GLenum("target"), address("v", "const GLshort *")) - "glMultiTexCoord3dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t"), GLdouble("r")) - "glMultiTexCoord3dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) - "glMultiTexCoord3fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t"), GLfloat("r")) - "glMultiTexCoord3fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) - "glMultiTexCoord3iARB"(void, GLenum("target"), GLint("s"), GLint("t"), GLint("r")) - "glMultiTexCoord3ivARB"(void, GLenum("target"), address("v", "const GLint *")) - "glMultiTexCoord3sARB"(void, GLenum("target"), GLshort("s"), GLshort("t"), GLshort("r")) - "glMultiTexCoord3svARB"(void, GLenum("target"), address("v", "const GLshort *")) - "glMultiTexCoord4dARB"(void, GLenum("target"), GLdouble("s"), GLdouble("t"), GLdouble("r"), GLdouble("q")) - "glMultiTexCoord4dvARB"(void, GLenum("target"), address("v", "const GLdouble *")) - "glMultiTexCoord4fARB"(void, GLenum("target"), GLfloat("s"), GLfloat("t"), GLfloat("r"), GLfloat("q")) - "glMultiTexCoord4fvARB"(void, GLenum("target"), address("v", "const GLfloat *")) - "glMultiTexCoord4iARB"(void, GLenum("target"), GLint("s"), GLint("t"), GLint("r"), GLint("q")) - "glMultiTexCoord4ivARB"(void, GLenum("target"), address("v", "const GLint *")) - "glMultiTexCoord4sARB"(void, GLenum("target"), GLshort("s"), GLshort("t"), GLshort("r"), GLshort("q")) - "glMultiTexCoord4svARB"(void, GLenum("target"), address("v", "const GLshort *")) - } - file("OcclusionQuery", ARB, "GL_ARB_occlusion_query") { - "GL_QUERY_COUNTER_BITS_ARB"("0x8864") - "GL_CURRENT_QUERY_ARB"("0x8865") - "GL_QUERY_RESULT_ARB"("0x8866") - "GL_QUERY_RESULT_AVAILABLE_ARB"("0x8867") - "GL_SAMPLES_PASSED_ARB"("0x8914") - "glGenQueriesARB"(void, GLsizei("n"), address("ids", "GLuint *")) - "glDeleteQueriesARB"(void, GLsizei("n"), address("ids", "const GLuint *")) - "glIsQueryARB"(GLboolean, GLuint("id")) - "glBeginQueryARB"(void, GLenum("target"), GLuint("id")) - "glEndQueryARB"(void, GLenum("target")) - "glGetQueryivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) - "glGetQueryObjectivARB"(void, GLuint("id"), GLenum("pname"), address("params", "GLint *")) - "glGetQueryObjectuivARB"(void, GLuint("id"), GLenum("pname"), address("params", "GLuint *")) - } - file("ParallelShaderCompile", ARB, "GL_ARB_parallel_shader_compile") { - "GL_MAX_SHADER_COMPILER_THREADS_ARB"("0x91B0") - "GL_COMPLETION_STATUS_ARB"("0x91B1") - "glMaxShaderCompilerThreadsARB"(void, GLuint("count")) - } - file( - "PipelineStatisticsQuery", ARB, "GL_ARB_pipeline_statistics_query", - "GL_VERTICES_SUBMITTED_ARB" to "0x82EE", - "GL_PRIMITIVES_SUBMITTED_ARB" to "0x82EF", - "GL_VERTEX_SHADER_INVOCATIONS_ARB" to "0x82F0", - "GL_TESS_CONTROL_SHADER_PATCHES_ARB" to "0x82F1", - "GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB" to "0x82F2", - "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB" to "0x82F3", - "GL_FRAGMENT_SHADER_INVOCATIONS_ARB" to "0x82F4", - "GL_COMPUTE_SHADER_INVOCATIONS_ARB" to "0x82F5", - "GL_CLIPPING_INPUT_PRIMITIVES_ARB" to "0x82F6", - "GL_CLIPPING_OUTPUT_PRIMITIVES_ARB" to "0x82F7" - ) - file( - "PixelBufferObject", ARB, "GL_ARB_pixel_buffer_object", - "GL_PIXEL_PACK_BUFFER_ARB" to "0x88EB", - "GL_PIXEL_UNPACK_BUFFER_ARB" to "0x88EC", - "GL_PIXEL_PACK_BUFFER_BINDING_ARB" to "0x88ED", - "GL_PIXEL_UNPACK_BUFFER_BINDING_ARB" to "0x88EF" - ) - file("PointParameters", ARB, "GL_ARB_point_parameters") { - "GL_POINT_SIZE_MIN_ARB"("0x8126") - "GL_POINT_SIZE_MAX_ARB"("0x8127") - "GL_POINT_FADE_THRESHOLD_SIZE_ARB"("0x8128") - "GL_POINT_DISTANCE_ATTENUATION_ARB"("0x8129") - "glPointParameterfARB"(void, GLenum("pname"), GLfloat("param")) - "glPointParameterfvARB"(void, GLenum("pname"), address("params", "const GLfloat *")) - } - file( - "PointSprite", ARB, "GL_ARB_point_sprite", - "GL_POINT_SPRITE_ARB" to "0x8861", - "GL_COORD_REPLACE_ARB" to "0x8862" - ) - file("Robustness", ARB, "GL_ARB_robustness") { - "GL_NO_RESET_NOTIFICATION_ARB"("0x8261") - "GL_RESET_NOTIFICATION_STRATEGY_ARB"("0x8256") - "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"("0x00000004") - "GL_UNKNOWN_CONTEXT_RESET_ARB"("0x8255") - "GL_LOSE_CONTEXT_ON_RESET_ARB"("0x8252") - "GL_INNOCENT_CONTEXT_RESET_ARB"("0x8254") - "GL_GUILTY_CONTEXT_RESET_ARB"("0x8253") - "glGetGraphicsResetStatusARB"(int) - "glGetnCompressedTexImageARB"(void, int("target"), int("lod"), int("bufSize"), address("img", "void*")) - "glGetnTexImageARB"( - void, - int("target"), - int("level"), - int("format"), - int("type"), - int("bufSize"), - address("img", "void*") - ) - "glGetnUniformdvARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLdouble*")) - "glGetnUniformfvARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLfloat*")) - "glGetnUniformivARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLint*")) - "glGetnUniformuivARB"(void, int("program"), int("location"), int("bufSize"), address("params", "GLuint*")) - "glReadnPixelsARB"( - void, - int("x"), - int("y"), - int("width"), - int("height"), - int("format"), - int("type"), - int("bufSize"), - address("data", "void*") - ) - } - file("SampleLocations", ARB, "GL_ARB_sample_locations") { - "GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB"("0x933D") - "GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB"("0x933E") - "GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB"("0x933F") - "GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB"("0x9340") - "GL_SAMPLE_LOCATION_ARB"("0x8E50") - "GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB"("0x9341") - "GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB"("0x9342") - "GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB"("0x9343") - "glEvaluateDepthValuesARB"(void) - "glFramebufferSampleLocationsfvARB"( - void, - int("target"), - int("start"), - int("count"), - address("v", "const GLfloat *v") - ) - "glNamedFramebufferSampleLocationsfvARB"( - void, - int("framebuffer"), - int("start"), - int("count"), - address("v", "const GLfloat *v") - ) - } - file("SampleShading", ARB, "GL_ARB_sample_shading") { - "GL_SAMPLE_SHADING_ARB"("0x8C36") - "GL_MIN_SAMPLE_SHADING_VALUE_ARB"("0x8C37") - "glMinSampleShadingARB"(void, float("value")) - } - file("ShaderObjects", ARB, "GL_ARB_shader_objects") { - "GL_PROGRAM_OBJECT_ARB"("0x8B40") - "GL_SHADER_OBJECT_ARB"("0x8B48") - "GL_OBJECT_TYPE_ARB"("0x8B4E") - "GL_OBJECT_SUBTYPE_ARB"("0x8B4F") - "GL_FLOAT_VEC2_ARB"("0x8B50") - "GL_FLOAT_VEC3_ARB"("0x8B51") - "GL_FLOAT_VEC4_ARB"("0x8B52") - "GL_INT_VEC2_ARB"("0x8B53") - "GL_INT_VEC3_ARB"("0x8B54") - "GL_INT_VEC4_ARB"("0x8B55") - "GL_BOOL_ARB"("0x8B56") - "GL_BOOL_VEC2_ARB"("0x8B57") - "GL_BOOL_VEC3_ARB"("0x8B58") - "GL_BOOL_VEC4_ARB"("0x8B59") - "GL_FLOAT_MAT2_ARB"("0x8B5A") - "GL_FLOAT_MAT3_ARB"("0x8B5B") - "GL_FLOAT_MAT4_ARB"("0x8B5C") - "GL_SAMPLER_1D_ARB"("0x8B5D") - "GL_SAMPLER_2D_ARB"("0x8B5E") - "GL_SAMPLER_3D_ARB"("0x8B5F") - "GL_SAMPLER_CUBE_ARB"("0x8B60") - "GL_SAMPLER_1D_SHADOW_ARB"("0x8B61") - "GL_SAMPLER_2D_SHADOW_ARB"("0x8B62") - "GL_SAMPLER_2D_RECT_ARB"("0x8B63") - "GL_SAMPLER_2D_RECT_SHADOW_ARB"("0x8B64") - "GL_OBJECT_DELETE_STATUS_ARB"("0x8B80") - "GL_OBJECT_COMPILE_STATUS_ARB"("0x8B81") - "GL_OBJECT_LINK_STATUS_ARB"("0x8B82") - "GL_OBJECT_VALIDATE_STATUS_ARB"("0x8B83") - "GL_OBJECT_INFO_LOG_LENGTH_ARB"("0x8B84") - "GL_OBJECT_ATTACHED_OBJECTS_ARB"("0x8B85") - "GL_OBJECT_ACTIVE_UNIFORMS_ARB"("0x8B86") - "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB"("0x8B87") - "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB"("0x8B88") - "glDeleteObjectARB"(void, int("obj")) - "glGetHandleARB"(int, int("pname")) - "glDetachObjectARB"(void, int("containerObj"), int("attachedObj")) - "glCreateShaderObjectARB"(int, int("shaderType")) - "glShaderSourceARB"( - void, - int("shaderObj"), - int("count"), - address("string", "const GLcharARB**"), - address("length", "const GLint*") - ) - "glCompileShaderARB"(void, int("shaderObj")) - "glCreateProgramObjectARB"(int) - "glAttachObjectARB"(void, int("containerObj"), int("obj")) - "glLinkProgramARB"(void, int("programObj")) - "glUseProgramObjectARB"(void, int("programObj")) - "glValidateProgramARB"(void, int("programObj")) - "glUniform1fARB"(void, int("location"), float("v0")) - "glUniform2fARB"(void, int("location"), float("v0"), float("v1")) - "glUniform3fARB"(void, int("location"), float("v0"), float("v1"), float("v2")) - "glUniform4fARB"(void, int("location"), float("v0"), float("v1"), float("v2"), float("v3")) - "glUniform1iARB"(void, int("location"), int("v0")) - "glUniform2iARB"(void, int("location"), int("v0"), int("v1")) - "glUniform3iARB"(void, int("location"), int("v0"), int("v1"), int("v2")) - "glUniform4iARB"(void, int("location"), int("v0"), int("v1"), int("v2"), int("v3")) - "glUniform1fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) - "glUniform2fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) - "glUniform3fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) - "glUniform4fvARB"(void, int("location"), int("count"), address("value", "const GLfloat*")) - "glUniform1ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) - "glUniform2ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) - "glUniform3ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) - "glUniform4ivARB"(void, int("location"), int("count"), address("value", "const GLint*")) - "glUniformMatrix2fvARB"( - void, - int("location"), - int("count"), - boolean("transpose"), - address("value", "const GLfloat*") - ) - "glUniformMatrix3fvARB"( - void, - int("location"), - int("count"), - boolean("transpose"), - address("value", "const GLfloat*") - ) - "glUniformMatrix4fvARB"( - void, - int("location"), - int("count"), - boolean("transpose"), - address("value", "const GLfloat*") - ) - "glGetObjectParameterfvARB"(void, int("obj"), int("pname"), address("params", "GLfloat*")) - "glGetObjectParameterivARB"(void, int("obj"), int("pname"), address("params", "GLint*")) - "glGetInfoLogARB"( - void, - int("obj"), - int("maxLength"), - address("length", "GLsizei*"), - address("infoLog", "GLcharARB*") - ) - "glGetAttachedObjectsARB"( - void, - int("containerObj"), - int("maxCount"), - address("count", "GLsizei*"), - address("obj", "GLhandleARB*") - ) - "glGetUniformLocationARB"(int, int("programObj"), address("name", "const GLcharARB*")) - "glGetActiveUniformARB"( - void, - int("programObj"), - int("index"), - int("maxLength"), - address("length", "GLsizei*"), - address("size", "GLint*"), - address("type", "GLenum*"), - address("name", "GLcharARB*") - ) - "glGetUniformfvARB"(void, int("programObj"), int("location"), address("params", "GLfloat*")) - "glGetUniformivARB"(void, int("programObj"), int("location"), address("params", "GLint*")) - "glGetShaderSourceARB"( - void, - int("obj"), - int("maxLength"), - address("length", "GLsizei*"), - address("source", "GLcharARB*") - ) - } - file("ShadingLanguageInclude", ARB, "GL_ARB_shading_language_include") { - "GL_SHADER_INCLUDE_ARB"("0x8DAE") - "GL_NAMED_STRING_LENGTH_ARB"("0x8DE9") - "GL_NAMED_STRING_TYPE_ARB"("0x8DEA") - "glNamedStringARB"( - void, - int("type"), - int("nameLen"), - address("name", "const GLchar*"), - int("stringLen"), - address("string", "const GLchar*") - ) - "glDeleteNamedStringARB"(void, int("nameLen"), address("name", "const GLchar*")) - "glCompileShaderIncludeARB"( - void, - int("shader"), - int("count"), - address("path", "const GLchar *const*"), - address("length", "const GLint*") - ) - "glIsNamedStringARB"(boolean, int("nameLen"), address("name", "const GLchar*")) - "glGetNamedStringARB"( - void, - int("nameLen"), - address("name", "const GLchar*"), - int("bufSize"), - address("stringLen", "GLint*"), - address("string", "GLchar*") - ) - "glGetNamedStringivARB"( - void, - int("nameLen"), - address("name", "const GLchar*"), - int("pname"), - address("params", "GLint*") - ) - } - file( - "Shadow", ARB, "GL_ARB_shadow", - "GL_TEXTURE_COMPARE_MODE_ARB" to "0x884C", - "GL_TEXTURE_COMPARE_FUNC_ARB" to "0x884D", - "GL_COMPARE_R_TO_TEXTURE_ARB" to "0x884E" - ) - file( - "ShadowAmbient", ARB, "GL_ARB_shadow_ambient", - "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB" to "0x80BF" - ) - file("SparseBuffer", ARB, "GL_ARB_sparse_buffer") { - "GL_SPARSE_STORAGE_BIT_ARB"("0x0400") - "GL_SPARSE_BUFFER_PAGE_SIZE_ARB"("0x82F8") - "glBufferPageCommitmentARB"(void, int("target"), long("offset"), long("size"), boolean("commit")) - "glNamedBufferPageCommitmentEXT"(void, int("buffer"), long("offset"), long("size"), boolean("commit")) - "glNamedBufferPageCommitmentARB"(void, int("buffer"), long("offset"), long("size"), boolean("commit")) - } - file("SparseTexture", ARB, "GL_ARB_sparse_texture") { - "GL_TEXTURE_SPARSE_ARB"("0x91A6") - "GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"("0x91A7") - "GL_NUM_SPARSE_LEVELS_ARB"("0x91AA") - "GL_NUM_VIRTUAL_PAGE_SIZES_ARB"("0x91A8") - "GL_VIRTUAL_PAGE_SIZE_X_ARB"("0x9195") - "GL_VIRTUAL_PAGE_SIZE_Y_ARB"("0x9196") - "GL_VIRTUAL_PAGE_SIZE_Z_ARB"("0x9197") - "GL_MAX_SPARSE_TEXTURE_SIZE_ARB"("0x9198") - "GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"("0x9199") - "GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"("0x919A") - "GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"("0x91A9") - "glTexPageCommitmentARB"( - void, - int("target"), - int("level"), - int("xoffset"), - int("yoffset"), - int("zoffset"), - int("width"), - int("height"), - int("depth"), - boolean("commit") - ) - } - file( - "TextureBorderClamp", ARB, "GL_ARB_texture_border_clamp", - "GL_CLAMP_TO_BORDER_ARB" to "0x812D" - ) - file("TextureBufferObject", ARB, "GL_ARB_texture_buffer_object") { - "GL_TEXTURE_BUFFER_ARB"("0x8C2A") - "GL_MAX_TEXTURE_BUFFER_SIZE_ARB"("0x8C2B") - "GL_TEXTURE_BINDING_BUFFER_ARB"("0x8C2C") - "GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"("0x8C2D") - "GL_TEXTURE_BUFFER_FORMAT_ARB"("0x8C2E") - "glTexBufferARB"(void, int("target"), int("internalFormat"), int("buffer")) - } - file("TextureCompression", ARB, "GL_ARB_texture_compression") { - "GL_COMPRESSED_ALPHA_ARB"("0x84E9") - "GL_COMPRESSED_LUMINANCE_ARB"("0x84EA") - "GL_COMPRESSED_LUMINANCE_ALPHA_ARB"("0x84EB") - "GL_COMPRESSED_INTENSITY_ARB"("0x84EC") - "GL_COMPRESSED_RGB_ARB"("0x84ED") - "GL_COMPRESSED_RGBA_ARB"("0x84EE") - "GL_TEXTURE_COMPRESSION_HINT_ARB"("0x84EF") - "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB"("0x86A0") - "GL_TEXTURE_COMPRESSED_ARB"("0x86A1") - "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB"("0x86A2") - "GL_COMPRESSED_TEXTURE_FORMATS_ARB"("0x86A3") - "glCompressedTexImage3DARB"( - void, - int("target"), - int("level"), - int("internalFormat"), - int("width"), - int("height"), - int("depth"), - int("border"), - int("imageSize"), - address("data", "const void*") - ) - "glCompressedTexImage2DARB"( - void, - int("target"), - int("level"), - int("internalFormat"), - int("width"), - int("height"), - int("border"), - int("imageSize"), - address("data", "const void*") - ) - "glCompressedTexImage1DARB"( - void, - int("target"), - int("level"), - int("internalFormat"), - int("width"), - int("border"), - int("imageSize"), - address("data", "const void*") - ) - "glCompressedTexSubImage3DARB"( - void, - int("target"), - int("level"), - int("xoffset"), - int("yoffset"), - int("zoffset"), - int("width"), - int("height"), - int("depth"), - int("format"), - int("imageSize"), - address("data", "const void*") - ) - "glCompressedTexSubImage2DARB"( - void, - int("target"), - int("level"), - int("xoffset"), - int("yoffset"), - int("width"), - int("height"), - int("format"), - int("imageSize"), - address("data", "const void*") - ) - "glCompressedTexSubImage1DARB"( - void, - int("target"), - int("level"), - int("xoffset"), - int("width"), - int("format"), - int("imageSize"), - address("data", "const void*") - ) - "glGetCompressedTexImageARB"(void, int("target"), int("level"), address("img", "void*")) - } - file( - "TextureCompressionBptc", ARB, "GL_ARB_texture_compression_bptc", - "GL_COMPRESSED_RGBA_BPTC_UNORM_ARB" to "0x8E8C", - "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB" to "0x8E8D", - "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB" to "0x8E8E", - "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB" to "0x8E8F" - ) - file( - "TextureCubeMap", ARB, "GL_ARB_texture_cube_map", - "GL_NORMAL_MAP_ARB" to "0x8511", - "GL_REFLECTION_MAP_ARB" to "0x8512", - "GL_TEXTURE_CUBE_MAP_ARB" to "0x8513", - "GL_TEXTURE_BINDING_CUBE_MAP_ARB" to "0x8514", - "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB" to "0x8515", - "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB" to "0x8516", - "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB" to "0x8517", - "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB" to "0x8518", - "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB" to "0x8519", - "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB" to "0x851A", - "GL_PROXY_TEXTURE_CUBE_MAP_ARB" to "0x851B", - "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB" to "0x851C" - ) - file( - "TextureCubeMapArray", ARB, "GL_ARB_texture_cube_map_array", - "GL_TEXTURE_CUBE_MAP_ARRAY_ARB" to "0x9009", - "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB" to "0x900A", - "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB" to "0x900B", - "GL_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900C", - "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB" to "0x900D", - "GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900E", - "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB" to "0x900F" - ) - file( - "TextureEnvCombine", ARB, "GL_ARB_texture_env_combine", - "GL_COMBINE_ARB" to "0x8570", - "GL_COMBINE_RGB_ARB" to "0x8571", - "GL_COMBINE_ALPHA_ARB" to "0x8572", - "GL_SOURCE0_RGB_ARB" to "0x8580", - "GL_SOURCE1_RGB_ARB" to "0x8581", - "GL_SOURCE2_RGB_ARB" to "0x8582", - "GL_SOURCE0_ALPHA_ARB" to "0x8588", - "GL_SOURCE1_ALPHA_ARB" to "0x8589", - "GL_SOURCE2_ALPHA_ARB" to "0x858A", - "GL_OPERAND0_RGB_ARB" to "0x8590", - "GL_OPERAND1_RGB_ARB" to "0x8591", - "GL_OPERAND2_RGB_ARB" to "0x8592", - "GL_OPERAND0_ALPHA_ARB" to "0x8598", - "GL_OPERAND1_ALPHA_ARB" to "0x8599", - "GL_OPERAND2_ALPHA_ARB" to "0x859A", - "GL_RGB_SCALE_ARB" to "0x8573", - "GL_ADD_SIGNED_ARB" to "0x8574", - "GL_INTERPOLATE_ARB" to "0x8575", - "GL_SUBTRACT_ARB" to "0x84E7", - "GL_CONSTANT_ARB" to "0x8576", - "GL_PRIMARY_COLOR_ARB" to "0x8577", - "GL_PREVIOUS_ARB" to "0x8578" - ) - file( - "TextureEnvDot3", ARB, "GL_ARB_texture_env_dot3", - "GL_DOT3_RGB_ARB" to "0x86AE", - "GL_DOT3_RGBA_ARB" to "0x86AF" - ) - file( - "TextureFilterMinmax", ARB, "GL_ARB_texture_filter_minmax", - "GL_TEXTURE_REDUCTION_MODE_ARB" to "0x9366", - "GL_WEIGHTED_AVERAGE_ARB" to "0x9367" - ) - file( - "TextureFloat", ARB, "GL_ARB_texture_float", - "GL_TEXTURE_RED_TYPE_ARB" to "0x8C10", - "GL_TEXTURE_GREEN_TYPE_ARB" to "0x8C11", - "GL_TEXTURE_BLUE_TYPE_ARB" to "0x8C12", - "GL_TEXTURE_ALPHA_TYPE_ARB" to "0x8C13", - "GL_TEXTURE_LUMINANCE_TYPE_ARB" to "0x8C14", - "GL_TEXTURE_INTENSITY_TYPE_ARB" to "0x8C15", - "GL_TEXTURE_DEPTH_TYPE_ARB" to "0x8C16", - "GL_UNSIGNED_NORMALIZED_ARB" to "0x8C17", - "GL_RGBA32F_ARB" to "0x8814", - "GL_RGB32F_ARB" to "0x8815", - "GL_ALPHA32F_ARB" to "0x8816", - "GL_INTENSITY32F_ARB" to "0x8817", - "GL_LUMINANCE32F_ARB" to "0x8818", - "GL_LUMINANCE_ALPHA32F_ARB" to "0x8819", - "GL_RGBA16F_ARB" to "0x881A", - "GL_RGB16F_ARB" to "0x881B", - "GL_ALPHA16F_ARB" to "0x881C", - "GL_INTENSITY16F_ARB" to "0x881D", - "GL_LUMINANCE16F_ARB" to "0x881E", - "GL_LUMINANCE_ALPHA16F_ARB" to "0x881F" - ) - file( - "TextureGather", ARB, "GL_ARB_texture_gather", - "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB" to "0x8E5E", - "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB" to "0x8E5F", - "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB" to "0x8F9F" - ) - file( - "TextureMirroredRepeat", ARB, "GL_ARB_texture_mirrored_repeat", - "GL_MIRRORED_REPEAT_ARB" to "0x8370" - ) - file( - "TextureRectangle", ARB, "GL_ARB_texture_rectangle", - "GL_TEXTURE_RECTANGLE_ARB" to "0x84F5", - "GL_TEXTURE_BINDING_RECTANGLE_ARB" to "0x84F6", - "GL_PROXY_TEXTURE_RECTANGLE_ARB" to "0x84F7", - "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB" to "0x84F8" - ) - file( - "TransformFeedbackOverflowQuery", ARB, "GL_ARB_transform_feedback_overflow_query", - "GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB" to "0x82EC", - "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB" to "0x82ED" - ) - file("TransposeMatrix", ARB, "GL_ARB_transpose_matrix") { - "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"("0x84E3") - "GL_TRANSPOSE_PROJECTION_MATRIX_ARB"("0x84E4") - "GL_TRANSPOSE_TEXTURE_MATRIX_ARB"("0x84E5") - "GL_TRANSPOSE_COLOR_MATRIX_ARB"("0x84E6") - "glLoadTransposeMatrixfARB"(void, address("m", "const GLfloat*")) - "glLoadTransposeMatrixdARB"(void, address("m", "const GLdouble*")) - "glMultTransposeMatrixfARB"(void, address("m", "const GLfloat*")) - "glMultTransposeMatrixdARB"(void, address("m", "const GLdouble*")) - } - file("VertexBlend", ARB, "GL_ARB_vertex_blend") { - "GL_MAX_VERTEX_UNITS_ARB"("0x86A4") - "GL_ACTIVE_VERTEX_UNITS_ARB"("0x86A5") - "GL_WEIGHT_SUM_UNITY_ARB"("0x86A6") - "GL_VERTEX_BLEND_ARB"("0x86A7") - "GL_CURRENT_WEIGHT_ARB"("0x86A8") - "GL_WEIGHT_ARRAY_TYPE_ARB"("0x86A9") - "GL_WEIGHT_ARRAY_STRIDE_ARB"("0x86AA") - "GL_WEIGHT_ARRAY_SIZE_ARB"("0x86AB") - "GL_WEIGHT_ARRAY_POINTER_ARB"("0x86AC") - "GL_WEIGHT_ARRAY_ARB"("0x86AD") - "GL_MODELVIEW0_ARB"("0x1700") - "GL_MODELVIEW1_ARB"("0x850A") - "GL_MODELVIEW2_ARB"("0x8722") - "GL_MODELVIEW3_ARB"("0x8723") - "GL_MODELVIEW4_ARB"("0x8724") - "GL_MODELVIEW5_ARB"("0x8725") - "GL_MODELVIEW6_ARB"("0x8726") - "GL_MODELVIEW7_ARB"("0x8727") - "GL_MODELVIEW8_ARB"("0x8728") - "GL_MODELVIEW9_ARB"("0x8729") - "GL_MODELVIEW10_ARB"("0x872A") - "GL_MODELVIEW11_ARB"("0x872B") - "GL_MODELVIEW12_ARB"("0x872C") - "GL_MODELVIEW13_ARB"("0x872D") - "GL_MODELVIEW14_ARB"("0x872E") - "GL_MODELVIEW15_ARB"("0x872F") - "GL_MODELVIEW16_ARB"("0x8730") - "GL_MODELVIEW17_ARB"("0x8731") - "GL_MODELVIEW18_ARB"("0x8732") - "GL_MODELVIEW19_ARB"("0x8733") - "GL_MODELVIEW20_ARB"("0x8734") - "GL_MODELVIEW21_ARB"("0x8735") - "GL_MODELVIEW22_ARB"("0x8736") - "GL_MODELVIEW23_ARB"("0x8737") - "GL_MODELVIEW24_ARB"("0x8738") - "GL_MODELVIEW25_ARB"("0x8739") - "GL_MODELVIEW26_ARB"("0x873A") - "GL_MODELVIEW27_ARB"("0x873B") - "GL_MODELVIEW28_ARB"("0x873C") - "GL_MODELVIEW29_ARB"("0x873D") - "GL_MODELVIEW30_ARB"("0x873E") - "GL_MODELVIEW31_ARB"("0x873F") - "glWeightbvARB"(void, GLint("size"), address("weights", "const GLbyte*")) - "glWeightsvARB"(void, GLint("size"), address("weights", "const GLshort*")) - "glWeightivARB"(void, GLint("size"), address("weights", "const GLint*")) - "glWeightfvARB"(void, GLint("size"), address("weights", "const GLfloat*")) - "glWeightdvARB"(void, GLint("size"), address("weights", "const GLdouble*")) - "glWeightubvARB"(void, GLint("size"), address("weights", "const GLubyte*")) - "glWeightusvARB"(void, GLint("size"), address("weights", "const GLushort*")) - "glWeightuivARB"(void, GLint("size"), address("weights", "const GLuint*")) - "glWeightPointerARB"(void, GLint("size"), GLenum("type"), GLsizei("stride"), address("pointer", "const void*")) - "glVertexBlendARB"(void, GLint("count")) - } - file("VertexBufferObject", ARB, "GL_ARB_vertex_buffer_object") { - "GL_BUFFER_SIZE_ARB"("0x8764") - "GL_BUFFER_USAGE_ARB"("0x8765") - "GL_ARRAY_BUFFER_ARB"("0x8892") - "GL_ELEMENT_ARRAY_BUFFER_ARB"("0x8893") - "GL_ARRAY_BUFFER_BINDING_ARB"("0x8894") - "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB"("0x8895") - "GL_VERTEX_ARRAY_BUFFER_BINDING_ARB"("0x8896") - "GL_NORMAL_ARRAY_BUFFER_BINDING_ARB"("0x8897") - "GL_COLOR_ARRAY_BUFFER_BINDING_ARB"("0x8898") - "GL_INDEX_ARRAY_BUFFER_BINDING_ARB"("0x8899") - "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB"("0x889A") - "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB"("0x889B") - "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB"("0x889C") - "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB"("0x889D") - "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB"("0x889E") - "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB"("0x889F") - "GL_READ_ONLY_ARB"("0x88B8") - "GL_WRITE_ONLY_ARB"("0x88B9") - "GL_READ_WRITE_ARB"("0x88BA") - "GL_BUFFER_ACCESS_ARB"("0x88BB") - "GL_BUFFER_MAPPED_ARB"("0x88BC") - "GL_BUFFER_MAP_POINTER_ARB"("0x88BD") - "GL_STREAM_DRAW_ARB"("0x88E0") - "GL_STREAM_READ_ARB"("0x88E1") - "GL_STREAM_COPY_ARB"("0x88E2") - "GL_STATIC_DRAW_ARB"("0x88E4") - "GL_STATIC_READ_ARB"("0x88E5") - "GL_STATIC_COPY_ARB"("0x88E6") - "GL_DYNAMIC_DRAW_ARB"("0x88E8") - "GL_DYNAMIC_READ_ARB"("0x88E9") - "GL_DYNAMIC_COPY_ARB"("0x88EA") - "glBindBufferARB"(void, GLenum("target"), GLuint("buffer")) - "glDeleteBuffersARB"(void, GLsizei("n"), address("buffers", "const GLuint*")) - "glGenBuffersARB"(void, GLsizei("n"), address("buffers", "GLuint*")) - "glIsBufferARB"(boolean, GLuint("buffer")) - "glBufferDataARB"( - void, - GLenum("target"), - GLsizeiptrARB("size"), - address("data", "const void*"), - GLenum("usage") - ) - "glBufferSubDataARB"( - void, - GLenum("target"), - GLintptrARB("offset"), - GLsizeiptrARB("size"), - address("data", "const void*") - ) - "glGetBufferSubDataARB"( - void, - GLenum("target"), - GLintptrARB("offset"), - GLsizeiptrARB("size"), - address("data", "void*") - ) - "glMapBufferARB"(address, GLenum("target"), GLenum("access"), nativeType = "void*") - "glUnmapBufferARB"(boolean, GLenum("target")) - "glGetBufferParameterivARB"(void, GLenum("target"), GLenum("pname"), address("params", "GLint*")) - "glGetBufferPointervARB"(void, GLenum("target"), GLenum("pname"), address("params", "void**")) - } - file("VertexProgram", ARB, "GL_ARB_vertex_program") { - "GL_COLOR_SUM_ARB"("0x8458") - "GL_VERTEX_PROGRAM_ARB"("0x8620") - "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"("0x8622") - "GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"("0x8623") - "GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"("0x8624") - "GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"("0x8625") - "GL_CURRENT_VERTEX_ATTRIB_ARB"("0x8626") - "GL_VERTEX_PROGRAM_POINT_SIZE_ARB"("0x8642") - "GL_VERTEX_PROGRAM_TWO_SIDE_ARB"("0x8643") - "GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"("0x8645") - "GL_MAX_VERTEX_ATTRIBS_ARB"("0x8869") - "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"("0x886A") - "GL_PROGRAM_ADDRESS_REGISTERS_ARB"("0x88B0") - "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"("0x88B1") - "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"("0x88B2") - "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"("0x88B3") - "glVertexAttrib1dARB"(void, GLuint("index"), GLdouble("x")) - "glVertexAttrib1dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) - "glVertexAttrib1fARB"(void, GLuint("index"), GLfloat("x")) - "glVertexAttrib1fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) - "glVertexAttrib1sARB"(void, GLuint("index"), GLshort("x")) - "glVertexAttrib1svARB"(void, GLuint("index"), address("v", "const GLshort *")) - "glVertexAttrib2dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y")) - "glVertexAttrib2dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) - "glVertexAttrib2fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y")) - "glVertexAttrib2fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) - "glVertexAttrib2sARB"(void, GLuint("index"), GLshort("x"), GLshort("y")) - "glVertexAttrib2svARB"(void, GLuint("index"), address("v", "const GLshort *")) - "glVertexAttrib3dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z")) - "glVertexAttrib3dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) - "glVertexAttrib3fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z")) - "glVertexAttrib3fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) - "glVertexAttrib3sARB"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z")) - "glVertexAttrib3svARB"(void, GLuint("index"), address("v", "const GLshort *")) - "glVertexAttrib4NbvARB"(void, GLuint("index"), address("v", "const GLbyte *")) - "glVertexAttrib4NivARB"(void, GLuint("index"), address("v", "const GLint *")) - "glVertexAttrib4NsvARB"(void, GLuint("index"), address("v", "const GLshort *")) - "glVertexAttrib4NubARB"(void, GLuint("index"), GLubyte("x"), GLubyte("y"), GLubyte("z"), GLubyte("w")) - "glVertexAttrib4NubvARB"(void, GLuint("index"), address("v", "const GLubyte *")) - "glVertexAttrib4NuivARB"(void, GLuint("index"), address("v", "const GLuint *")) - "glVertexAttrib4NusvARB"(void, GLuint("index"), address("v", "const GLushort *")) - "glVertexAttrib4bvARB"(void, GLuint("index"), address("v", "const GLbyte *")) - "glVertexAttrib4dARB"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z"), GLdouble("w")) - "glVertexAttrib4dvARB"(void, GLuint("index"), address("v", "const GLdouble *")) - "glVertexAttrib4fARB"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z"), GLfloat("w")) - "glVertexAttrib4fvARB"(void, GLuint("index"), address("v", "const GLfloat *")) - "glVertexAttrib4ivARB"(void, GLuint("index"), address("v", "const GLint *")) - "glVertexAttrib4sARB"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z"), GLshort("w")) - "glVertexAttrib4svARB"(void, GLuint("index"), address("v", "const GLshort *")) - "glVertexAttrib4ubvARB"(void, GLuint("index"), address("v", "const GLubyte *")) - "glVertexAttrib4uivARB"(void, GLuint("index"), address("v", "const GLuint *")) - "glVertexAttrib4usvARB"(void, GLuint("index"), address("v", "const GLushort *")) - "glVertexAttribPointerARB"( - void, - GLuint("index"), - GLint("size"), - GLenum("type"), - GLboolean("normalized"), - GLsizei("stride"), - address("pointer", "const void *") - ) - "glEnableVertexAttribArrayARB"(void, GLuint("index")) - "glDisableVertexAttribArrayARB"(void, GLuint("index")) - "glGetVertexAttribdvARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLdouble *")) - "glGetVertexAttribfvARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLfloat *")) - "glGetVertexAttribivARB"(void, GLuint("index"), GLenum("pname"), address("params", "GLint *")) - "glGetVertexAttribPointervARB"(void, GLuint("index"), GLenum("pname"), address("pointer", "void **")) - } - file("VertexShader", ARB, "GL_ARB_vertex_shader") { - "GL_VERTEX_SHADER_ARB"("0x8B31") - "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB"("0x8B4A") - "GL_MAX_VARYING_FLOATS_ARB"("0x8B4B") - "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"("0x8B4C") - "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB"("0x8B4D") - "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB"("0x8B89") - "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB"("0x8B8A") - "glBindAttribLocationARB"( - void, - GLhandleARB("programObj"), - GLuint("index"), - address("name", "const GLcharARB *") - ) - "glGetActiveAttribARB"( - void, - GLhandleARB("programObj"), - GLuint("index"), - GLsizei("maxLength"), - address("length", "GLsizei *"), - address("size", "GLint *"), - address("type", "GLenum *"), - address("name", "GLcharARB *") - ) - "glGetAttribLocationARB"(GLint, GLhandleARB("programObj"), address("name", "const GLcharARB *")) - } - file("ViewportArray", ARB, "GL_ARB_viewport_array") { - "glDepthRangeArraydvNV"(void, GLuint("first"), GLsizei("count"), address("v", "const GLdouble *")) - "glDepthRangeIndexeddNV"(void, GLuint("index"), GLdouble("n"), GLdouble("f")) - } - file("WindowPos", ARB, "GL_ARB_window_pos") { - "glWindowPos2dARB"(void, GLdouble("x"), GLdouble("y")) - "glWindowPos2dvARB"(void, address("v", "const GLdouble *")) - "glWindowPos2fARB"(void, GLfloat("x"), GLfloat("y")) - "glWindowPos2fvARB"(void, address("v", "const GLfloat *")) - "glWindowPos2iARB"(void, GLint("x"), GLint("y")) - "glWindowPos2ivARB"(void, address("v", "const GLint *")) - "glWindowPos2sARB"(void, GLshort("x"), GLshort("y")) - "glWindowPos2svARB"(void, address("v", "const GLshort *")) - "glWindowPos3dARB"(void, GLdouble("x"), GLdouble("y"), GLdouble("z")) - "glWindowPos3dvARB"(void, address("v", "const GLdouble *")) - "glWindowPos3fARB"(void, GLfloat("x"), GLfloat("y"), GLfloat("z")) - "glWindowPos3fvARB"(void, address("v", "const GLfloat *")) - "glWindowPos3iARB"(void, GLint("x"), GLint("y"), GLint("z")) - "glWindowPos3ivARB"(void, address("v", "const GLint *")) - "glWindowPos3sARB"(void, GLshort("x"), GLshort("y"), GLshort("z")) - "glWindowPos3svARB"(void, address("v", "const GLshort *")) - } -} - fun khr() { file("BlendEquationAdvanced", KHR, "GL_KHR_blend_equation_advanced") { "GL_MULTIPLY_KHR"("0x9294") @@ -2210,475 +593,6 @@ fun `3dfx`() { ) } -fun amd() { - file( - "BlendMinmaxFactor", AMD, "GL_AMD_blend_minmax_factor", - "GL_FACTOR_MIN_AMD" to "0x901C", - "GL_FACTOR_MAX_AMD" to "0x901D" - ) - file("DebugOutput", AMD, "GL_AMD_debug_output") { - "GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"("0x9143") - "GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"("0x9144") - "GL_DEBUG_LOGGED_MESSAGES_AMD"("0x9145") - "GL_DEBUG_SEVERITY_HIGH_AMD"("0x9146") - "GL_DEBUG_SEVERITY_MEDIUM_AMD"("0x9147") - "GL_DEBUG_SEVERITY_LOW_AMD"("0x9148") - "GL_DEBUG_CATEGORY_API_ERROR_AMD"("0x9149") - "GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"("0x914A") - "GL_DEBUG_CATEGORY_DEPRECATION_AMD"("0x914B") - "GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"("0x914C") - "GL_DEBUG_CATEGORY_PERFORMANCE_AMD"("0x914D") - "GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"("0x914E") - "GL_DEBUG_CATEGORY_APPLICATION_AMD"("0x914F") - "GL_DEBUG_CATEGORY_OTHER_AMD"("0x9150") - "glDebugMessageEnableAMD"( - void, - GLenum("category"), - GLenum("severity"), - GLsizei("count"), - address("ids", "const GLuint *"), - GLboolean("enabled") - ) - "glDebugMessageInsertAMD"( - void, - GLenum("category"), - GLenum("severity"), - GLuint("id"), - GLsizei("length"), - address("buf", "const GLchar *") - ) - ("glDebugMessageCallbackAMD"(void, address("callback", "GLDEBUGPROCAMD"), address("userParam", "void *"))) { - "glDebugMessageCallbackAMD"( - void, - "glDebugMessageCallbackAMD(callback.address(arena), userParam);", - arena("arena"), - Type("GLDebugProcAMD", null)("callback"), - address("userParam", "void *") - ) - } - "glGetDebugMessageLogAMD"( - GLuint, - GLuint("count"), - GLsizei("bufSize"), - address("categories", "GLenum *"), - address("severities", "GLenum *"), - address("ids", "GLuint *"), - address("lengths", "GLsizei *"), - address("message", "GLchar *") - ) - } - file( - "DepthClampSeparate", AMD, "GL_AMD_depth_clamp_separate", - "GL_DEPTH_CLAMP_NEAR_AMD" to "0x901E", - "GL_DEPTH_CLAMP_FAR_AMD" to "0x901F" - ) - file("DrawBuffersBlend", AMD, "GL_AMD_draw_buffers_blend") { - "glBlendFuncIndexedAMD"(void, GLuint("buf"), GLenum("src"), GLenum("dst")) - "glBlendFuncSeparateIndexedAMD"( - void, - GLuint("buf"), - GLenum("srcRGB"), - GLenum("dstRGB"), - GLenum("srcAlpha"), - GLenum("dstAlpha") - ) - "glBlendEquationIndexedAMD"(void, GLuint("buf"), GLenum("mode")) - "glBlendEquationSeparateIndexedAMD"(void, GLuint("buf"), GLenum("modeRGB"), GLenum("modeAlpha")) - } - file("FramebufferMultisampleAdvanced", AMD, "GL_AMD_framebuffer_multisample_advanced") { - "GL_RENDERBUFFER_STORAGE_SAMPLES_AMD"("0x91B2") - "GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD"("0x91B3") - "GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD"("0x91B4") - "GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD"("0x91B5") - "GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD"("0x91B6") - "GL_SUPPORTED_MULTISAMPLE_MODES_AMD"("0x91B7") - "glRenderbufferStorageMultisampleAdvancedAMD"( - void, - GLenum("target"), - GLsizei("samples"), - GLsizei("storageSamples"), - GLenum("internalformat"), - GLsizei("width"), - GLsizei("height") - ) - "glNamedRenderbufferStorageMultisampleAdvancedAMD"( - void, - GLuint("renderbuffer"), - GLsizei("samples"), - GLsizei("storageSamples"), - GLenum("internalformat"), - GLsizei("width"), - GLsizei("height") - ) - } - file("FramebufferSamplePositions", AMD, "GL_AMD_framebuffer_sample_positions") { - "GL_SUBSAMPLE_DISTANCE_AMD"("0x883F") - "GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD"("0x91AE") - "GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD"("0x91AF") - "GL_ALL_PIXELS_AMD"("0xFFFFFFFF") - "glFramebufferSamplePositionsfvAMD"( - void, - GLenum("target"), - GLuint("numsamples"), - GLuint("pixelindex"), - address("values", "const GLfloat *") - ) - "glNamedFramebufferSamplePositionsfvAMD"( - void, - GLuint("framebuffer"), - GLuint("numsamples"), - GLuint("pixelindex"), - address("values", "const GLfloat *") - ) - "glGetFramebufferParameterfvAMD"( - void, - GLenum("target"), - GLenum("pname"), - GLuint("numsamples"), - GLuint("pixelindex"), - GLsizei("size"), - address("values", "GLfloat *") - ) - "glGetNamedFramebufferParameterfvAMD"( - void, - GLuint("framebuffer"), - GLenum("pname"), - GLuint("numsamples"), - GLuint("pixelindex"), - GLsizei("size"), - address("values", "GLfloat *") - ) - } - file( - "GpuShaderHalfFloat", AMD, "GL_AMD_gpu_shader_half_float", - "GL_FLOAT16_NV" to "0x8FF8", - "GL_FLOAT16_VEC2_NV" to "0x8FF9", - "GL_FLOAT16_VEC3_NV" to "0x8FFA", - "GL_FLOAT16_VEC4_NV" to "0x8FFB", - "GL_FLOAT16_MAT2_AMD" to "0x91C5", - "GL_FLOAT16_MAT3_AMD" to "0x91C6", - "GL_FLOAT16_MAT4_AMD" to "0x91C7", - "GL_FLOAT16_MAT2x3_AMD" to "0x91C8", - "GL_FLOAT16_MAT2x4_AMD" to "0x91C9", - "GL_FLOAT16_MAT3x2_AMD" to "0x91CA", - "GL_FLOAT16_MAT3x4_AMD" to "0x91CB", - "GL_FLOAT16_MAT4x2_AMD" to "0x91CC", - "GL_FLOAT16_MAT4x3_AMD" to "0x91CD" - ) - file("GpuShaderInt64", AMD, "GL_AMD_gpu_shader_int64") { - "GL_INT64_NV"("0x140E") - "GL_UNSIGNED_INT64_NV"("0x140F") - "GL_INT8_NV"("0x8FE0") - "GL_INT8_VEC2_NV"("0x8FE1") - "GL_INT8_VEC3_NV"("0x8FE2") - "GL_INT8_VEC4_NV"("0x8FE3") - "GL_INT16_NV"("0x8FE4") - "GL_INT16_VEC2_NV"("0x8FE5") - "GL_INT16_VEC3_NV"("0x8FE6") - "GL_INT16_VEC4_NV"("0x8FE7") - "GL_INT64_VEC2_NV"("0x8FE9") - "GL_INT64_VEC3_NV"("0x8FEA") - "GL_INT64_VEC4_NV"("0x8FEB") - "GL_UNSIGNED_INT8_NV"("0x8FEC") - "GL_UNSIGNED_INT8_VEC2_NV"("0x8FED") - "GL_UNSIGNED_INT8_VEC3_NV"("0x8FEE") - "GL_UNSIGNED_INT8_VEC4_NV"("0x8FEF") - "GL_UNSIGNED_INT16_NV"("0x8FF0") - "GL_UNSIGNED_INT16_VEC2_NV"("0x8FF1") - "GL_UNSIGNED_INT16_VEC3_NV"("0x8FF2") - "GL_UNSIGNED_INT16_VEC4_NV"("0x8FF3") - "GL_UNSIGNED_INT64_VEC2_NV"("0x8FF5") - "GL_UNSIGNED_INT64_VEC3_NV"("0x8FF6") - "GL_UNSIGNED_INT64_VEC4_NV"("0x8FF7") - "glUniform1i64NV"(void, GLint("location"), GLint64EXT("x")) - "glUniform2i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y")) - "glUniform3i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y"), GLint64EXT("z")) - "glUniform4i64NV"(void, GLint("location"), GLint64EXT("x"), GLint64EXT("y"), GLint64EXT("z"), GLint64EXT("w")) - "glUniform1i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) - "glUniform2i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) - "glUniform3i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) - "glUniform4i64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLint64EXT *")) - "glUniform1ui64NV"(void, GLint("location"), GLuint64EXT("x")) - "glUniform2ui64NV"(void, GLint("location"), GLuint64EXT("x"), GLuint64EXT("y")) - "glUniform3ui64NV"(void, GLint("location"), GLuint64EXT("x"), GLuint64EXT("y"), GLuint64EXT("z")) - "glUniform4ui64NV"( - void, - GLint("location"), - GLuint64EXT("x"), - GLuint64EXT("y"), - GLuint64EXT("z"), - GLuint64EXT("w") - ) - "glUniform1ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) - "glUniform2ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) - "glUniform3ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) - "glUniform4ui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) - "glGetUniformi64vNV"(void, GLuint("program"), GLint("location"), address("params", "GLint64EXT *")) - "glGetUniformui64vNV"(void, GLuint("program"), GLint("location"), address("params", "GLuint64EXT *")) - "glProgramUniform1i64NV"(void, GLuint("program"), GLint("location"), GLint64EXT("x")) - "glProgramUniform2i64NV"(void, GLuint("program"), GLint("location"), GLint64EXT("x"), GLint64EXT("y")) - "glProgramUniform3i64NV"( - void, - GLuint("program"), - GLint("location"), - GLint64EXT("x"), - GLint64EXT("y"), - GLint64EXT("z") - ) - "glProgramUniform4i64NV"( - void, - GLuint("program"), - GLint("location"), - GLint64EXT("x"), - GLint64EXT("y"), - GLint64EXT("z"), - GLint64EXT("w") - ) - "glProgramUniform1i64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64EXT *") - ) - "glProgramUniform2i64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64EXT *") - ) - "glProgramUniform3i64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64EXT *") - ) - "glProgramUniform4i64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLint64EXT *") - ) - "glProgramUniform1ui64NV"(void, GLuint("program"), GLint("location"), GLuint64EXT("x")) - "glProgramUniform2ui64NV"(void, GLuint("program"), GLint("location"), GLuint64EXT("x"), GLuint64EXT("y")) - "glProgramUniform3ui64NV"( - void, - GLuint("program"), - GLint("location"), - GLuint64EXT("x"), - GLuint64EXT("y"), - GLuint64EXT("z") - ) - "glProgramUniform4ui64NV"( - void, - GLuint("program"), - GLint("location"), - GLuint64EXT("x"), - GLuint64EXT("y"), - GLuint64EXT("z"), - GLuint64EXT("w") - ) - "glProgramUniform1ui64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64EXT *") - ) - "glProgramUniform2ui64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64EXT *") - ) - "glProgramUniform3ui64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64EXT *") - ) - "glProgramUniform4ui64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("value", "const GLuint64EXT *") - ) - } - file("InterleavedElements", AMD, "GL_AMD_interleaved_elements") { - "GL_VERTEX_ELEMENT_SWIZZLE_AMD"("0x91A4") - "GL_VERTEX_ID_SWIZZLE_AMD"("0x91A5") - "glVertexAttribParameteriAMD"(void, GLuint("index"), GLenum("pname"), GLint("param")) - } - file("MultiDrawIndirect", AMD, "GL_AMD_multi_draw_indirect") { - "glMultiDrawArraysIndirectAMD"( - void, - GLenum("mode"), - address("indirect", "const void *"), - GLsizei("primcount"), - GLsizei("stride") - ) - "glMultiDrawElementsIndirectAMD"( - void, - GLenum("mode"), - GLenum("type"), - address("indirect", "const void *"), - GLsizei("primcount"), - GLsizei("stride") - ) - } - file("NameGenDelete", AMD, "GL_AMD_name_gen_delete") { - "GL_DATA_BUFFER_AMD"("0x9151") - "GL_PERFORMANCE_MONITOR_AMD"("0x9152") - "GL_QUERY_OBJECT_AMD"("0x9153") - "GL_VERTEX_ARRAY_OBJECT_AMD"("0x9154") - "GL_SAMPLER_OBJECT_AMD"("0x9155") - "glGenNamesAMD"(void, GLenum("identifier"), GLuint("num"), address("names", "GLuint *")) - "glDeleteNamesAMD"(void, GLenum("identifier"), GLuint("num"), address("names", "const GLuint *")) - "glIsNameAMD"(GLboolean, GLenum("identifier"), GLuint("name")) - } - file("OcclusionQueryEvent", AMD, "GL_AMD_occlusion_query_event") { - "GL_OCCLUSION_QUERY_EVENT_MASK_AMD"("0x874F") - "GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"("0x00000001") - "GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"("0x00000002") - "GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"("0x00000004") - "GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"("0x00000008") - "GL_QUERY_ALL_EVENT_BITS_AMD"("0xFFFFFFFF") - "glQueryObjectParameteruiAMD"(void, GLenum("target"), GLuint("id"), GLenum("pname"), GLuint("param")) - } - file("PerformanceMonitor", AMD, "GL_AMD_performance_monitor") { - "GL_COUNTER_TYPE_AMD"("0x8BC0") - "GL_COUNTER_RANGE_AMD"("0x8BC1") - "GL_UNSIGNED_INT64_AMD"("0x8BC2") - "GL_PERCENTAGE_AMD"("0x8BC3") - "GL_PERFMON_RESULT_AVAILABLE_AMD"("0x8BC4") - "GL_PERFMON_RESULT_SIZE_AMD"("0x8BC5") - "GL_PERFMON_RESULT_AMD"("0x8BC6") - "glGetPerfMonitorGroupsAMD"( - void, - address("numGroups", "GLint *"), - GLsizei("groupsSize"), - address("groups", "GLuint *") - ) - "glGetPerfMonitorCountersAMD"( - void, - GLuint("group"), - address("numCounters", "GLint *"), - address("maxActiveCounters", "GLint *"), - GLsizei("counterSize"), - address("counters", "GLuint *") - ) - "glGetPerfMonitorGroupStringAMD"( - void, - GLuint("group"), - GLsizei("bufSize"), - address("length", "GLsizei *"), - address("groupString", "GLchar *") - ) - "glGetPerfMonitorCounterStringAMD"( - void, - GLuint("group"), - GLuint("counter"), - GLsizei("bufSize"), - address("length", "GLsizei *"), - address("counterString", "GLchar *") - ) - "glGetPerfMonitorCounterInfoAMD"( - void, - GLuint("group"), - GLuint("counter"), - GLenum("pname"), - address("data", "void *") - ) - "glGenPerfMonitorsAMD"(void, GLsizei("n"), address("monitors", "GLuint *")) - "glDeletePerfMonitorsAMD"(void, GLsizei("n"), address("monitors", "GLuint *")) - "glSelectPerfMonitorCountersAMD"( - void, - GLuint("monitor"), - GLboolean("enable"), - GLuint("group"), - GLint("numCounters"), - address("counterList", "GLuint *") - ) - "glBeginPerfMonitorAMD"(void, GLuint("monitor")) - "glEndPerfMonitorAMD"(void, GLuint("monitor")) - "glGetPerfMonitorCounterDataAMD"( - void, - GLuint("monitor"), - GLenum("pname"), - GLsizei("dataSize"), - address("data", "GLuint *"), - address("bytesWritten", "GLint *") - ) - } - file("PinnedMemory", AMD, "GL_AMD_pinned_memory", "GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD" to "0x9160") - file( - "QueryBufferObject", AMD, "GL_AMD_query_buffer_object", - "GL_QUERY_BUFFER_AMD" to "0x9192", - "GL_QUERY_BUFFER_BINDING_AMD" to "0x9193", - "GL_QUERY_RESULT_NO_WAIT_AMD" to "0x9194" - ) - file("SamplePositions", AMD, "GL_AMD_sample_positions") { - "glSetMultisamplefvAMD"(void, GLenum("pname"), GLuint("index"), address("val", "const GLfloat *")) - } - file("SparseTexture", AMD, "GL_AMD_sparse_texture") { - "GL_VIRTUAL_PAGE_SIZE_X_AMD"("0x9195") - "GL_VIRTUAL_PAGE_SIZE_Y_AMD"("0x9196") - "GL_VIRTUAL_PAGE_SIZE_Z_AMD"("0x9197") - "GL_MAX_SPARSE_TEXTURE_SIZE_AMD"("0x9198") - "GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"("0x9199") - "GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"("0x919A") - "GL_MIN_SPARSE_LEVEL_AMD"("0x919B") - "GL_MIN_LOD_WARNING_AMD"("0x919C") - "GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"("0x00000001") - "glTexStorageSparseAMD"( - void, - GLenum("target"), - GLenum("internalFormat"), - GLsizei("width"), - GLsizei("height"), - GLsizei("depth"), - GLsizei("layers"), - GLbitfield("flags") - ) - "glTextureStorageSparseAMD"( - void, - GLuint("texture"), - GLenum("target"), - GLenum("internalFormat"), - GLsizei("width"), - GLsizei("height"), - GLsizei("depth"), - GLsizei("layers"), - GLbitfield("flags") - ) - } - file("StencilOperationExtended", AMD, "GL_AMD_stencil_operation_extended") { - "GL_SET_AMD"("0x874A") - "GL_REPLACE_VALUE_AMD"("0x874B") - "GL_STENCIL_OP_VALUE_AMD"("0x874C") - "GL_STENCIL_BACK_OP_VALUE_AMD"("0x874D") - "glStencilOpValueAMD"(void, GLenum("face"), GLuint("value")) - } - file("TransformFeedback4", AMD, "GL_AMD_transform_feedback4", "GL_STREAM_RASTERIZATION_AMD" to "0x91A0") - file("VertexShaderTessellator", AMD, "GL_AMD_vertex_shader_tessellator") { - "GL_SAMPLER_BUFFER_AMD"("0x9001") - "GL_INT_SAMPLER_BUFFER_AMD"("0x9002") - "GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"("0x9003") - "GL_TESSELLATION_MODE_AMD"("0x9004") - "GL_TESSELLATION_FACTOR_AMD"("0x9005") - "GL_DISCRETE_AMD"("0x9006") - "GL_CONTINUOUS_AMD"("0x9007") - "glTessellationFactorAMD"(void, GLfloat("factor")) - "glTessellationModeAMD"(void, GLenum("mode")) - } -} - fun apple() { file("AuxDepthStencil", APPLE, "GL_APPLE_aux_depth_stencil", "GL_AUX_DEPTH_STENCIL_APPLE" to "0x8A14") file("ClientStorage", APPLE, "GL_APPLE_client_storage", "GL_UNPACK_CLIENT_STORAGE_APPLE" to "0x85B2") @@ -3632,545 +1546,6 @@ fun mesa() { ) } -fun nv() { - file("ConditionalRender", NVX, "GL_NVX_conditional_render") { - "glBeginConditionalRenderNVX"(void, GLuint("id")) - "glEndConditionalRenderNVX"(void) - } - file( - "GpuMemoryInfo", NVX, "GL_NVX_gpu_memory_info", - "GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX" to "0x9047", - "GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX" to "0x9048", - "GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX" to "0x9049", - "GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX" to "0x904A", - "GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX" to "0x904B" - ) - file("GpuMulticast2", NVX, "GL_NVX_gpu_multicast2") { - "GL_UPLOAD_GPU_MASK_NVX"("0x954A") - "glUploadGpuMaskNVX"(void, GLbitfield("mask")) - "glMulticastViewportArrayvNVX"( - void, - GLuint("gpu"), - GLuint("first"), - GLsizei("count"), - address("v", "const GLfloat *") - ) - "glMulticastViewportPositionWScaleNVX"( - void, - GLuint("gpu"), - GLuint("index"), - GLfloat("xcoeff"), - GLfloat("ycoeff") - ) - "glMulticastScissorArrayvNVX"( - void, - GLuint("gpu"), - GLuint("first"), - GLsizei("count"), - address("v", "const GLint *") - ) - "glAsyncCopyBufferSubDataNVX"( - GLuint, - GLsizei("waitSemaphoreCount"), - address("waitSemaphoreArray", "const GLuint *"), - address("fenceValueArray", "const GLuint64 *"), - GLuint("readGpu"), - GLbitfield("writeGpuMask"), - GLuint("readBuffer"), - GLuint("writeBuffer"), - GLintptr("readOffset"), - GLintptr("writeOffset"), - GLsizeiptr("size"), - GLsizei("signalSemaphoreCount"), - address("signalSemaphoreArray", "const GLuint *"), - address("signalValueArray", "const GLuint64 *") - ) - "glAsyncCopyImageSubDataNVX"( - GLuint, - GLsizei("waitSemaphoreCount"), - address("waitSemaphoreArray", "const GLuint *"), - address("waitValueArray", "const GLuint64 *"), - GLuint("srcGpu"), - GLbitfield("dstGpuMask"), - GLuint("srcName"), - GLenum("srcTarget"), - GLint("srcLevel"), - GLint("srcX"), - GLint("srcY"), - GLint("srcZ"), - GLuint("dstName"), - GLenum("dstTarget"), - GLint("dstLevel"), - GLint("dstX"), - GLint("dstY"), - GLint("dstZ"), - GLsizei("srcWidth"), - GLsizei("srcHeight"), - GLsizei("srcDepth"), - GLsizei("signalSemaphoreCount"), - address("signalSemaphoreArray", "const GLuint *"), - address("signalValueArray", "const GLuint64 *") - ) - } - file("LinkedGpuMulticast", NVX, "GL_NVX_linked_gpu_multicast") { - "GL_LGPU_SEPARATE_STORAGE_BIT_NVX"("0x0800") - "GL_MAX_LGPU_GPUS_NVX"("0x92BA") - "glLGPUNamedBufferSubDataNVX"( - void, - GLbitfield("gpuMask"), - GLuint("buffer"), - GLintptr("offset"), - GLsizeiptr("size"), - address("data", "const void *") - ) - "glLGPUCopyImageSubDataNVX"( - void, - GLuint("sourceGpu"), - GLbitfield("destinationGpuMask"), - GLuint("srcName"), - GLenum("srcTarget"), - GLint("srcLevel"), - GLint("srcX"), - GLint("srxY"), - GLint("srcZ"), - GLuint("dstName"), - GLenum("dstTarget"), - GLint("dstLevel"), - GLint("dstX"), - GLint("dstY"), - GLint("dstZ"), - GLsizei("width"), - GLsizei("height"), - GLsizei("depth") - ) - "glLGPUInterlockNVX"(void) - } - file("ProgressFence", NVX, "GL_NVX_progress_fence") { - "glCreateProgressFenceNVX"(void) - "glSignalSemaphoreui64NVX"( - void, - GLuint("signalGpu"), - GLsizei("fenceObjectCount"), - address("semaphoreArray", "const GLuint *"), - address("fenceValueArray", "const GLuint64 *") - ) - "glWaitSemaphoreui64NVX"( - void, - GLuint("waitGpu"), - GLsizei("fenceObjectCount"), - address("semaphoreArray", "const GLuint *"), - address("fenceValueArray", "const GLuint64 *") - ) - "glClientWaitSemaphoreui64NVX"( - void, - GLsizei("fenceObjectCount"), - address("semaphoreArray", "const GLuint *"), - address("fenceValueArray", "const GLuint64 *") - ) - } - file("AlphaToCoverageDitherControl", NV, "GL_NV_alpha_to_coverage_dither_control") { - "GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV"("0x934D") - "GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV"("0x934E") - "GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV"("0x934F") - "GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV"("0x92BF") - "glAlphaToCoverageDitherControlNV"(void, GLenum("mode")) - } - file("BindlessMultiDrawIndirect", NV, "GL_NV_bindless_multi_draw_indirect") { - "glMultiDrawArraysIndirectBindlessNV"( - void, - GLenum("mode"), - address("indirect", "const void *"), - GLsizei("drawCount"), - GLsizei("stride"), - GLint("vertexBufferCount") - ) - "glMultiDrawElementsIndirectBindlessNV"( - void, - GLenum("mode"), - GLenum("type"), - address("indirect", "const void *"), - GLsizei("drawCount"), - GLsizei("stride"), - GLint("vertexBufferCount") - ) - } - file("BindlessMultiDrawIndirectCount", NV, "GL_NV_bindless_multi_draw_indirect_count") { - "glMultiDrawArraysIndirectBindlessCountNV"( - void, - GLenum("mode"), - address("indirect", "const void *"), - GLsizei("drawCount"), - GLsizei("maxDrawCount"), - GLsizei("stride"), - GLint("vertexBufferCount") - ) - "glMultiDrawElementsIndirectBindlessCountNV"( - void, - GLenum("mode"), - GLenum("type"), - address("indirect", "const void *"), - GLsizei("drawCount"), - GLsizei("maxDrawCount"), - GLsizei("stride"), - GLint("vertexBufferCount") - ) - } - file("BindlessTexture", NV, "GL_NV_bindless_texture") { - "glGetTextureHandleNV"(GLuint64, GLuint("texture")) - "glGetTextureSamplerHandleNV"(GLuint64, GLuint("texture"), GLuint("sampler")) - "glMakeTextureHandleResidentNV"(void, GLuint64("handle")) - "glMakeTextureHandleNonResidentNV"(void, GLuint64("handle")) - "glGetImageHandleNV"( - GLuint64, - GLuint("texture"), - GLint("level"), - GLboolean("layered"), - GLint("layer"), - GLenum("format") - ) - "glMakeImageHandleResidentNV"(void, GLuint64("handle"), GLenum("access")) - "glMakeImageHandleNonResidentNV"(void, GLuint64("handle")) - "glUniformHandleui64NV"(void, GLint("location"), GLuint64("value")) - "glUniformHandleui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64 *")) - "glProgramUniformHandleui64NV"(void, GLuint("program"), GLint("location"), GLuint64("value")) - "glProgramUniformHandleui64vNV"( - void, - GLuint("program"), - GLint("location"), - GLsizei("count"), - address("values", "const GLuint64 *") - ) - "glIsTextureHandleResidentNV"(GLboolean, GLuint64("handle")) - "glIsImageHandleResidentNV"(GLboolean, GLuint64("handle")) - } - file("BlendEquationAdvanced", NV, "GL_NV_blend_equation_advanced") { - "GL_BLEND_OVERLAP_NV"("0x9281") - "GL_BLEND_PREMULTIPLIED_SRC_NV"("0x9280") - "GL_BLUE_NV"("0x1905") - "GL_COLORBURN_NV"("0x929A") - "GL_COLORDODGE_NV"("0x9299") - "GL_CONJOINT_NV"("0x9284") - "GL_CONTRAST_NV"("0x92A1") - "GL_DARKEN_NV"("0x9297") - "GL_DIFFERENCE_NV"("0x929E") - "GL_DISJOINT_NV"("0x9283") - "GL_DST_ATOP_NV"("0x928F") - "GL_DST_IN_NV"("0x928B") - "GL_DST_NV"("0x9287") - "GL_DST_OUT_NV"("0x928D") - "GL_DST_OVER_NV"("0x9289") - "GL_EXCLUSION_NV"("0x92A0") - "GL_GREEN_NV"("0x1904") - "GL_HARDLIGHT_NV"("0x929B") - "GL_HARDMIX_NV"("0x92A9") - "GL_HSL_COLOR_NV"("0x92AF") - "GL_HSL_HUE_NV"("0x92AD") - "GL_HSL_LUMINOSITY_NV"("0x92B0") - "GL_HSL_SATURATION_NV"("0x92AE") - "GL_INVERT_OVG_NV"("0x92B4") - "GL_INVERT_RGB_NV"("0x92A3") - "GL_LIGHTEN_NV"("0x9298") - "GL_LINEARBURN_NV"("0x92A5") - "GL_LINEARDODGE_NV"("0x92A4") - "GL_LINEARLIGHT_NV"("0x92A7") - "GL_MINUS_CLAMPED_NV"("0x92B3") - "GL_MINUS_NV"("0x929F") - "GL_MULTIPLY_NV"("0x9294") - "GL_OVERLAY_NV"("0x9296") - "GL_PINLIGHT_NV"("0x92A8") - "GL_PLUS_CLAMPED_ALPHA_NV"("0x92B2") - "GL_PLUS_CLAMPED_NV"("0x92B1") - "GL_PLUS_DARKER_NV"("0x9292") - "GL_PLUS_NV"("0x9291") - "GL_RED_NV"("0x1903") - "GL_SCREEN_NV"("0x9295") - "GL_SOFTLIGHT_NV"("0x929C") - "GL_SRC_ATOP_NV"("0x928E") - "GL_SRC_IN_NV"("0x928A") - "GL_SRC_NV"("0x9286") - "GL_SRC_OUT_NV"("0x928C") - "GL_SRC_OVER_NV"("0x9288") - "GL_UNCORRELATED_NV"("0x9282") - "GL_VIVIDLIGHT_NV"("0x92A6") - "GL_XOR_NV"("0x1506") - "glBlendParameteriNV"(void, GLenum("pname"), GLint("value")) - "glBlendBarrierNV"(void) - } - file("BlendEquationAdvancedCoherent", NV, "GL_NV_blend_equation_advanced_coherent", "GL_BLEND_ADVANCED_COHERENT_NV" to "0x9285") - file("ClipSpaceWScaling", NV, "GL_NV_clip_space_w_scaling") { - "GL_VIEWPORT_POSITION_W_SCALE_NV"("0x937C") - "GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV"("0x937D") - "GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV"("0x937E") - "glViewportPositionWScaleNV"(void, GLuint("index"), GLfloat("xcoeff"), GLfloat("ycoeff")) - } - file("CommandList", NV, "GL_NV_command_list") { - "GL_TERMINATE_SEQUENCE_COMMAND_NV"("0x0000") - "GL_NOP_COMMAND_NV"("0x0001") - "GL_DRAW_ELEMENTS_COMMAND_NV"("0x0002") - "GL_DRAW_ARRAYS_COMMAND_NV"("0x0003") - "GL_DRAW_ELEMENTS_STRIP_COMMAND_NV"("0x0004") - "GL_DRAW_ARRAYS_STRIP_COMMAND_NV"("0x0005") - "GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV"("0x0006") - "GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV"("0x0007") - "GL_ELEMENT_ADDRESS_COMMAND_NV"("0x0008") - "GL_ATTRIBUTE_ADDRESS_COMMAND_NV"("0x0009") - "GL_UNIFORM_ADDRESS_COMMAND_NV"("0x000A") - "GL_BLEND_COLOR_COMMAND_NV"("0x000B") - "GL_STENCIL_REF_COMMAND_NV"("0x000C") - "GL_LINE_WIDTH_COMMAND_NV"("0x000D") - "GL_POLYGON_OFFSET_COMMAND_NV"("0x000E") - "GL_ALPHA_REF_COMMAND_NV"("0x000F") - "GL_VIEWPORT_COMMAND_NV"("0x0010") - "GL_SCISSOR_COMMAND_NV"("0x0011") - "GL_FRONT_FACE_COMMAND_NV"("0x0012") - "glCreateStatesNV"(void, GLsizei("n"), address("states", "GLuint *")) - "glDeleteStatesNV"(void, GLsizei("n"), address("states", "const GLuint *")) - "glIsStateNV"(GLboolean, GLuint("state")) - "glStateCaptureNV"(void, GLuint("state"), GLenum("mode")) - "glGetCommandHeaderNV"(GLuint, GLenum("tokenID"), GLuint("size")) - "glGetStageIndexNV"(GLushort, GLenum("shadertype")) - "glDrawCommandsNV"( - void, - GLenum("primitiveMode"), - GLuint("buffer"), - address("indirects", "const GLintptr *"), - address("sizes", "const GLsizei *"), - GLuint("count") - ) - "glDrawCommandsAddressNV"( - void, - GLenum("primitiveMode"), - address("indirects", "const GLuint64 *"), - address("sizes", "const GLsizei *"), - GLuint("count") - ) - "glDrawCommandsStatesNV"( - void, - GLuint("buffer"), - address("indirects", "const GLintptr *"), - address("sizes", "const GLsizei *"), - address("states", "const GLuint *"), - address("fbos", "const GLuint *"), - GLuint("count") - ) - "glDrawCommandsStatesAddressNV"( - void, - address("indirects", "const GLuint64 *"), - address("sizes", "const GLsizei *"), - address("states", "const GLuint *"), - address("fbos", "const GLuint *"), - GLuint("count") - ) - "glCreateCommandListsNV"(void, GLsizei("n"), address("lists", "GLuint *")) - "glDeleteCommandListsNV"(void, GLsizei("n"), address("lists", "const GLuint *")) - "glIsCommandListNV"(GLboolean, GLuint("list")) - "glListDrawCommandsStatesClientNV"( - void, - GLuint("list"), - GLuint("segment"), - address("indirects", "const void **"), - address("sizes", "const GLsizei *"), - address("states", "const GLuint *"), - address("fbos", "const GLuint *"), - GLuint("count") - ) - "glCommandListSegmentsNV"(void, GLuint("list"), GLuint("segments")) - "glCompileCommandListNV"(void, GLuint("list")) - "glCallCommandListNV"(void, GLuint("list")) - } - file( - "ComputeProgram5", NV, "GL_NV_compute_program5", - "GL_COMPUTE_PROGRAM_NV" to "0x90FB", - "GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV" to "0x90FC" - ) - file("ConditionalRender", NV, "GL_NV_conditional_render") { - "GL_QUERY_WAIT_NV"("0x8E13") - "GL_QUERY_NO_WAIT_NV"("0x8E14") - "GL_QUERY_BY_REGION_WAIT_NV"("0x8E15") - "GL_QUERY_BY_REGION_NO_WAIT_NV"("0x8E16") - "glBeginConditionalRenderNV"(void, GLuint("id"), GLenum("mode")) - "glEndConditionalRenderNV"(void) - } - file("ConservativeRaster", NV, "GL_NV_conservative_raster") { - "GL_CONSERVATIVE_RASTERIZATION_NV"("0x9346") - "GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV"("0x9347") - "GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV"("0x9348") - "GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV"("0x9349") - "glSubpixelPrecisionBiasNV"(void, GLuint("xbits"), GLuint("ybits")) - } - file("ConservativeRasterDilate", NV, "GL_NV_conservative_raster_dilate") { - "GL_CONSERVATIVE_RASTER_DILATE_NV" ("0x9379") - "GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV" ("0x937A") - "GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV" ("0x937B") - "glConservativeRasterParameterfNV" (void, GLenum ("pname"), GLfloat ("value")) - } - file("ConservativeRasterPreSnap", NV, "GL_NV_conservative_raster_pre_snap", "GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV" to "0x9550") - file("ConservativeRasterPreSnapTriangles", NV, "GL_NV_conservative_raster_pre_snap_triangles") { - "GL_CONSERVATIVE_RASTER_MODE_NV"("0x954D") - "GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV"("0x954E") - "GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV"("0x954F") - "glConservativeRasterParameteriNV"(void, GLenum("pname"), GLint("param")) - } - file( - "CopyDepthToColor", NV, "GL_NV_copy_depth_to_color", - "GL_DEPTH_STENCIL_TO_RGBA_NV" to "0x886E", - "GL_DEPTH_STENCIL_TO_BGRA_NV" to "0x886F" - ) - file("CopyImage", NV, "GL_NV_copy_image") { - "glCopyImageSubDataNV"( - void, - GLuint("srcName"), - GLenum("srcTarget"), - GLint("srcLevel"), - GLint("srcX"), - GLint("srcY"), - GLint("srcZ"), - GLuint("dstName"), - GLenum("dstTarget"), - GLint("dstLevel"), - GLint("dstX"), - GLint("dstY"), - GLint("dstZ"), - GLsizei("width"), - GLsizei("height"), - GLsizei("depth") - ) - } - file( - "DeepTexture3D", NV, "GL_NV_deep_texture3D", - "GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV" to "0x90D0", - "GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV" to "0x90D1" - ) - file("DepthBufferFloat", NV, "GL_NV_depth_buffer_float") { - "GL_DEPTH_COMPONENT32F_NV"("0x8DAB") - "GL_DEPTH32F_STENCIL8_NV"("0x8DAC") - "GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"("0x8DAD") - "GL_DEPTH_BUFFER_FLOAT_MODE_NV"("0x8DAF") - "glDepthRangedNV"(void, GLdouble("zNear"), GLdouble("zFar")) - "glClearDepthdNV"(void, GLdouble("depth")) - "glDepthBoundsdNV"(void, GLdouble("zmin"), GLdouble("zmax")) - } - file("DepthClamp", NV, "GL_NV_depth_clamp", "GL_DEPTH_CLAMP_NV" to "0x864F") - file("DrawTexture", NV, "GL_NV_draw_texture") { - "glDrawTextureNV"( - void, - GLuint("texture"), - GLuint("sampler"), - GLfloat("x0"), - GLfloat("y0"), - GLfloat("x1"), - GLfloat("y1"), - GLfloat("z"), - GLfloat("s0"), - GLfloat("t0"), - GLfloat("s1"), - GLfloat("t1") - ) - } - file("DrawVulkanImage", NV, "GL_NV_draw_vulkan_image") { - "glDrawVkImageNV"( - void, - GLuint64("vkImage"), - GLuint("sampler"), - GLfloat("x0"), - GLfloat("y0"), - GLfloat("x1"), - GLfloat("y1"), - GLfloat("z"), - GLfloat("s0"), - GLfloat("t0"), - GLfloat("s1"), - GLfloat("t1") - ) - "glGetVkProcAddrNV"(address, address("name", "const GLchar *"), nativeType = "GLVULKANPROCNV") - "glWaitVkSemaphoreNV"(void, GLuint64("vkSemaphore")) - "glSignalVkSemaphoreNV"(void, GLuint64("vkSemaphore")) - "glSignalVkFenceNV"(void, GLuint64("vkFence")) - } - file("Evaluators", NV, "GL_NV_evaluators") { - "GL_EVAL_2D_NV"("0x86C0") - "GL_EVAL_TRIANGULAR_2D_NV"("0x86C1") - "GL_MAP_TESSELLATION_NV"("0x86C2") - "GL_MAP_ATTRIB_U_ORDER_NV"("0x86C3") - "GL_MAP_ATTRIB_V_ORDER_NV"("0x86C4") - "GL_EVAL_FRACTIONAL_TESSELLATION_NV"("0x86C5") - "GL_EVAL_VERTEX_ATTRIB0_NV"("0x86C6") - "GL_EVAL_VERTEX_ATTRIB1_NV"("0x86C7") - "GL_EVAL_VERTEX_ATTRIB2_NV"("0x86C8") - "GL_EVAL_VERTEX_ATTRIB3_NV"("0x86C9") - "GL_EVAL_VERTEX_ATTRIB4_NV"("0x86CA") - "GL_EVAL_VERTEX_ATTRIB5_NV"("0x86CB") - "GL_EVAL_VERTEX_ATTRIB6_NV"("0x86CC") - "GL_EVAL_VERTEX_ATTRIB7_NV"("0x86CD") - "GL_EVAL_VERTEX_ATTRIB8_NV"("0x86CE") - "GL_EVAL_VERTEX_ATTRIB9_NV"("0x86CF") - "GL_EVAL_VERTEX_ATTRIB10_NV"("0x86D0") - "GL_EVAL_VERTEX_ATTRIB11_NV"("0x86D1") - "GL_EVAL_VERTEX_ATTRIB12_NV"("0x86D2") - "GL_EVAL_VERTEX_ATTRIB13_NV"("0x86D3") - "GL_EVAL_VERTEX_ATTRIB14_NV"("0x86D4") - "GL_EVAL_VERTEX_ATTRIB15_NV"("0x86D5") - "GL_MAX_MAP_TESSELLATION_NV"("0x86D6") - "GL_MAX_RATIONAL_EVAL_ORDER_NV"("0x86D7") - "glMapControlPointsNV"( - void, - GLenum("target"), - GLuint("index"), - GLenum("type"), - GLsizei("ustride"), - GLsizei("vstride"), - GLint("uorder"), - GLint("vorder"), - GLboolean("packed"), - address("points", "const void *") - ) - "glMapParameterivNV"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) - "glMapParameterfvNV"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) - "glGetMapControlPointsNV"( - void, - GLenum("target"), - GLuint("index"), - GLenum("type"), - GLsizei("ustride"), - GLsizei("vstride"), - GLboolean("packed"), - address("points", "void *") - ) - "glGetMapParameterivNV"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) - "glGetMapParameterfvNV"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) - "glGetMapAttribParameterivNV"( - void, - GLenum("target"), - GLuint("index"), - GLenum("pname"), - address("params", "GLint *") - ) - "glGetMapAttribParameterfvNV"( - void, - GLenum("target"), - GLuint("index"), - GLenum("pname"), - address("params", "GLfloat *") - ) - "glEvalMapsNV"(void, GLenum("target"), GLenum("mode")) - } - file("ExplicitMultisample", NV, "GL_NV_explicit_multisample") { - "GL_SAMPLE_POSITION_NV"("0x8E50") - "GL_SAMPLE_MASK_NV"("0x8E51") - "GL_SAMPLE_MASK_VALUE_NV"("0x8E52") - "GL_TEXTURE_BINDING_RENDERBUFFER_NV"("0x8E53") - "GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"("0x8E54") - "GL_TEXTURE_RENDERBUFFER_NV"("0x8E55") - "GL_SAMPLER_RENDERBUFFER_NV"("0x8E56") - "GL_INT_SAMPLER_RENDERBUFFER_NV"("0x8E57") - "GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"("0x8E58") - "GL_MAX_SAMPLE_MASK_WORDS_NV"("0x8E59") - "glGetMultisamplefvNV"(void, GLenum("pname"), GLuint("index"), address("val", "GLfloat *")) - "glSampleMaskIndexedNV"(void, GLuint("index"), GLbitfield("mask")) - "glTexRenderbufferNV"(void, GLenum("target"), GLuint("renderbuffer")) - } -} - fun oml() { file( "Interlace", OML, "GL_OML_interlace", @@ -5688,6 +3063,7 @@ fun glExtCaps() { "GL_NV_timeline_semaphore", "GL_NV_transform_feedback", "GL_NV_transform_feedback2", + "GL_NV_uniform_buffer_std430_layout", "GL_NV_uniform_buffer_unified_memory", "GL_NV_vdpau_interop", "GL_NV_vdpau_interop2", diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 1cb105f1..f1fe5d47 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -46,7 +46,7 @@ */ public final class GLExtCaps { /** The OpenGL extension flags. */ - public boolean GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, GL_KHR_texture_compression_astc_sliced_3d, GL_OES_byte_coordinates, GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_draw_buffers, GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_blit_layers, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; + public boolean GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, GL_ARB_blend_func_extended, GL_ARB_buffer_storage, GL_ARB_cl_event, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility, GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_matrix_palette, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_robustness_isolation, GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_sparse_buffer, GL_ARB_sparse_texture, GL_ARB_sparse_texture2, GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, GL_ARB_texture_compression, GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, GL_ARB_window_pos, GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr, GL_KHR_texture_compression_astc_ldr, GL_KHR_texture_compression_astc_sliced_3d, GL_OES_byte_coordinates, GL_OES_compressed_paletted_texture, GL_OES_fixed_point, GL_OES_query_matrix, GL_OES_read_format, GL_OES_single_precision, GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1, GL_AMD_blend_minmax_factor, GL_AMD_conservative_depth, GL_AMD_debug_output, GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, GL_AMD_framebuffer_sample_positions, GL_AMD_gcn_shader, GL_AMD_gpu_shader_half_float, GL_AMD_gpu_shader_int16, GL_AMD_gpu_shader_int64, GL_AMD_interleaved_elements, GL_AMD_multi_draw_indirect, GL_AMD_name_gen_delete, GL_AMD_occlusion_query_event, GL_AMD_performance_monitor, GL_AMD_pinned_memory, GL_AMD_query_buffer_object, GL_AMD_sample_positions, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_atomic_counter_ops, GL_AMD_shader_ballot, GL_AMD_shader_explicit_vertex_parameter, GL_AMD_shader_gpu_shader_half_float_fetch, GL_AMD_shader_image_load_store_lod, GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, GL_AMD_sparse_texture, GL_AMD_stencil_operation_extended, GL_AMD_texture_gather_bias_lod, GL_AMD_texture_texture4, GL_AMD_transform_feedback3_lines_triangles, GL_AMD_transform_feedback4, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_tessellator, GL_AMD_vertex_shader_viewport_index, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_object_purgeable, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_draw_buffers, GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, GL_ATI_meminfo, GL_ATI_pixel_format_float, GL_ATI_pn_triangles, GL_ATI_separate_stencil, GL_ATI_text_fragment_shader, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, GL_EXT_422_pixels, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_cmyka, GL_EXT_color_subtable, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_coordinate_frame, GL_EXT_copy_texture, GL_EXT_cull_vertex, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_external_buffer, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_blit_layers, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_histogram, GL_EXT_index_array_formats, GL_EXT_index_func, GL_EXT_index_material, GL_EXT_index_texture, GL_EXT_light_texture, GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_memory_object_win32, GL_EXT_misc_attribute, GL_EXT_multi_draw_arrays, GL_EXT_multisample, GL_EXT_multiview_tessellation_geometry_shader, GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, GL_EXT_pixel_transform, GL_EXT_pixel_transform_color_table, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_semaphore_win32, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shader_framebuffer_fetch, GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, GL_EXT_shadow_funcs, GL_EXT_shared_texture_palette, GL_EXT_sparse_texture2, GL_EXT_stencil_clear_tag, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object, GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_perturb_normal, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_RG8, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, GL_EXT_vertex_shader, GL_EXT_vertex_weighting, GL_EXT_win32_keyed_mutex, GL_EXT_window_rectangles, GL_EXT_x11_sync_object, GL_GREMEDY_frame_terminator, GL_GREMEDY_string_marker, GL_HP_convolution_border_modes, GL_HP_image_transform, GL_HP_occlusion_test, GL_HP_texture_lighting, GL_IBM_cull_vertex, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_static_data, GL_IBM_texture_mirrored_repeat, GL_IBM_vertex_array_lists, GL_INGR_blend_func_separate, GL_INGR_color_clamp, GL_INGR_interlace_read, GL_INTEL_blackhole_render, GL_INTEL_conservative_rasterization, GL_INTEL_fragment_shader_ordering, GL_INTEL_framebuffer_CMAA, GL_INTEL_map_texture, GL_INTEL_parallel_arrays, GL_INTEL_performance_query, GL_MESAX_texture_stack, GL_MESA_framebuffer_flip_x, GL_MESA_framebuffer_flip_y, GL_MESA_framebuffer_swap_xy, GL_MESA_pack_invert, GL_MESA_program_binary_formats, GL_MESA_resize_buffers, GL_MESA_shader_integer_functions, GL_MESA_tile_raster_order, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_gpu_multicast2, GL_NVX_linked_gpu_multicast, GL_NVX_progress_fence, GL_NV_alpha_to_coverage_dither_control, GL_NV_bindless_multi_draw_indirect, GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_clip_space_w_scaling, GL_NV_command_list, GL_NV_compute_program5, GL_NV_compute_shader_derivatives, GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, GL_NV_conservative_raster_pre_snap, GL_NV_conservative_raster_pre_snap_triangles, GL_NV_conservative_raster_underestimation, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_deep_texture3D, GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_evaluators, GL_NV_explicit_multisample, GL_NV_fence, GL_NV_fill_rectangle, GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, GL_NV_fragment_program2, GL_NV_fragment_program4, GL_NV_fragment_program_option, GL_NV_fragment_shader_barycentric, GL_NV_fragment_shader_interlock, GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_program4, GL_NV_geometry_shader4, GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended, GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, GL_NV_light_max_exponent, GL_NV_memory_attachment, GL_NV_memory_object_sparse, GL_NV_mesh_shader, GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, GL_NV_occlusion_query, GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_present_video, GL_NV_primitive_restart, GL_NV_primitive_shading_rate, GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, GL_NV_register_combiners2, GL_NV_representative_fragment_test, GL_NV_robustness_video_memory_purge, GL_NV_sample_locations, GL_NV_sample_mask_override_coverage, GL_NV_scissor_exclusive, GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load, GL_NV_shader_buffer_store, GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned, GL_NV_shader_texture_footprint, GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle, GL_NV_shading_rate_image, GL_NV_stereo_view_rendering, GL_NV_tessellation_program5, GL_NV_texgen_emboss, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4, GL_NV_texture_expand_normal, GL_NV_texture_multisample, GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, GL_NV_timeline_semaphore, GL_NV_transform_feedback, GL_NV_transform_feedback2, GL_NV_uniform_buffer_std430_layout, GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NV_vertex_program4, GL_NV_video_capture, GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OML_interlace, GL_OML_resample, GL_OML_subsample, GL_OVR_multiview, GL_OVR_multiview2, GL_PGI_misc_hints, GL_PGI_vertex_hints, GL_REND_screen_coordinates, GL_S3_s3tc, GL_SGIS_detail_texture, GL_SGIS_fog_function, GL_SGIS_generate_mipmap, GL_SGIS_multisample, GL_SGIS_pixel_texture, GL_SGIS_point_line_texgen, GL_SGIS_point_parameters, GL_SGIS_sharpen_texture, GL_SGIS_texture4D, GL_SGIS_texture_border_clamp, GL_SGIS_texture_color_mask, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_filter4, GL_SGIS_texture_lod, GL_SGIS_texture_select, GL_SGIX_async, GL_SGIX_async_histogram, GL_SGIX_async_pixel, GL_SGIX_blend_alpha_minmax, GL_SGIX_calligraphic_fragment, GL_SGIX_clipmap, GL_SGIX_convolution_accuracy, GL_SGIX_depth_pass_instrument, GL_SGIX_depth_texture, GL_SGIX_flush_raster, GL_SGIX_fog_offset, GL_SGIX_fragment_lighting, GL_SGIX_framezoom, GL_SGIX_igloo_interface, GL_SGIX_instruments, GL_SGIX_interlace, GL_SGIX_ir_instrument1, GL_SGIX_list_priority, GL_SGIX_pixel_texture, GL_SGIX_pixel_tiles, GL_SGIX_polynomial_ffd, GL_SGIX_reference_plane, GL_SGIX_resample, GL_SGIX_scalebias_hint, GL_SGIX_shadow, GL_SGIX_shadow_ambient, GL_SGIX_sprite, GL_SGIX_subsample, GL_SGIX_tag_sample_buffer, GL_SGIX_texture_add_env, GL_SGIX_texture_coordinate_clamp, GL_SGIX_texture_lod_bias, GL_SGIX_texture_multi_buffer, GL_SGIX_texture_scale_bias, GL_SGIX_vertex_preclip, GL_SGIX_ycrcb, GL_SGIX_ycrcb_subsample, GL_SGIX_ycrcba, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGI_texture_color_table, GL_SUNX_constant_data, GL_SUN_convolution_border_modes, GL_SUN_global_alpha, GL_SUN_mesh_array, GL_SUN_slice_accum, GL_SUN_triangle_list, GL_SUN_vertex, GL_WIN_phong_shading, GL_WIN_specular_fog; /** GLCapabilities */ public final GLCapabilities caps; @@ -112,16 +112,27 @@ public GLExtCaps(GLCapabilities caps) { glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, - glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, - glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, - glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, - glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, - glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, - glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, - glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, - glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, - glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, - glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, + glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, + glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, + glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, + glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, + glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, + glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, + glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, + glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, + glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, + glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, + glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, + glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, + glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, + glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, + glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, + glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, + glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, + glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, + glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, + glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -236,6 +247,23 @@ void load(GLLoadFunc load) { GLNVDrawVulkanImage.load(this, load); GLNVEvaluators.load(this, load); GLNVExplicitMultisample.load(this, load); + GLNVFence.load(this, load); + GLNVFragmentCoverageToColor.load(this, load); + GLNVFragmentProgram.load(this, load); + GLNVFramebufferMixedSamples.load(this, load); + GLNVFramebufferMultisampleCoverage.load(this, load); + GLNVGeometryProgram4.load(this, load); + GLNVGpuMulticast.load(this, load); + GLNVGpuProgram4.load(this, load); + GLNVGpuProgram5.load(this, load); + GLNVHalfFloat.load(this, load); + GLNVInternalformatSampleQuery.load(this, load); + GLNVMemoryAttachment.load(this, load); + GLNVMemoryObjectSparse.load(this, load); + GLNVMeshShader.load(this, load); + GLNVOcculusionQuery.load(this, load); + GLNVParameterBufferObject.load(this, load); + GLNVPathRendering.load(this, load); GLOVRMultiview.load(this, load); GLPGIMiscHints.load(this, load); GLSGISDetailTexture.load(this, load); @@ -805,6 +833,7 @@ boolean findExtensionsGL(int version, SegmentAllocator allocator) { this.GL_NV_timeline_semaphore = hasExtension(version, exts, numExtsI, extsI, "GL_NV_timeline_semaphore"); this.GL_NV_transform_feedback = hasExtension(version, exts, numExtsI, extsI, "GL_NV_transform_feedback"); this.GL_NV_transform_feedback2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_transform_feedback2"); + this.GL_NV_uniform_buffer_std430_layout = hasExtension(version, exts, numExtsI, extsI, "GL_NV_uniform_buffer_std430_layout"); this.GL_NV_uniform_buffer_unified_memory = hasExtension(version, exts, numExtsI, extsI, "GL_NV_uniform_buffer_unified_memory"); this.GL_NV_vdpau_interop = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vdpau_interop"); this.GL_NV_vdpau_interop2 = hasExtension(version, exts, numExtsI, extsI, "GL_NV_vdpau_interop2"); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java new file mode 100644 index 00000000..6455554a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFence.java @@ -0,0 +1,96 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_fence} + */ +public final class GLNVFence { + public static final int GL_ALL_COMPLETED_NV = 0x84F2; + public static final int GL_FENCE_STATUS_NV = 0x84F3; + public static final int GL_FENCE_CONDITION_NV = 0x84F4; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_fence) return; + ext.glDeleteFencesNV = load.invoke("glDeleteFencesNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenFencesNV = load.invoke("glGenFencesNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsFenceNV = load.invoke("glIsFenceNV", of(JAVA_BYTE, JAVA_INT)); + ext.glTestFenceNV = load.invoke("glTestFenceNV", of(JAVA_BYTE, JAVA_INT)); + ext.glGetFenceivNV = load.invoke("glGetFenceivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFinishFenceNV = load.invoke("glFinishFenceNV", ofVoid(JAVA_INT)); + ext.glSetFenceNV = load.invoke("glSetFenceNV", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glDeleteFencesNV(int n, @NativeType("const GLuint *") MemorySegment fences) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteFencesNV).invokeExact(n, fences); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenFencesNV(int n, @NativeType("GLuint *") MemorySegment fences) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenFencesNV).invokeExact(n, fences); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsFenceNV(int fence) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsFenceNV).invokeExact(fence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glTestFenceNV(int fence) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glTestFenceNV).invokeExact(fence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFenceivNV(int fence, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFenceivNV).invokeExact(fence, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFinishFenceNV(int fence) { + final var ext = getExtCapabilities(); + try { + check(ext.glFinishFenceNV).invokeExact(fence); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSetFenceNV(int fence, int condition) { + final var ext = getExtCapabilities(); + try { + check(ext.glSetFenceNV).invokeExact(fence, condition); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java new file mode 100644 index 00000000..7da64672 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFillRectangle.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_fill_rectangle} + */ +public final class GLNVFillRectangle { + public static final int GL_FILL_RECTANGLE_NV = 0x933C; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java new file mode 100644 index 00000000..7a034a30 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFloatBuffer.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_float_buffer} + */ +public final class GLNVFloatBuffer { + public static final int GL_FLOAT_R_NV = 0x8880; + public static final int GL_FLOAT_RG_NV = 0x8881; + public static final int GL_FLOAT_RGB_NV = 0x8882; + public static final int GL_FLOAT_RGBA_NV = 0x8883; + public static final int GL_FLOAT_R16_NV = 0x8884; + public static final int GL_FLOAT_R32_NV = 0x8885; + public static final int GL_FLOAT_RG16_NV = 0x8886; + public static final int GL_FLOAT_RG32_NV = 0x8887; + public static final int GL_FLOAT_RGB16_NV = 0x8888; + public static final int GL_FLOAT_RGB32_NV = 0x8889; + public static final int GL_FLOAT_RGBA16_NV = 0x888A; + public static final int GL_FLOAT_RGBA32_NV = 0x888B; + public static final int GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; + public static final int GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; + public static final int GL_FLOAT_RGBA_MODE_NV = 0x888E; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java new file mode 100644 index 00000000..1fbfeafc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFogDistance.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_fog_distance} + */ +public final class GLNVFogDistance { + public static final int GL_FOG_DISTANCE_MODE_NV = 0x855A; + public static final int GL_EYE_RADIAL_NV = 0x855B; + public static final int GL_EYE_PLANE_ABSOLUTE_NV = 0x855C; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java new file mode 100644 index 00000000..cf7698e2 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentCoverageToColor.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_fragment_coverage_to_color} + */ +public final class GLNVFragmentCoverageToColor { + public static final int GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; + public static final int GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_fragment_coverage_to_color) return; + ext.glFragmentCoverageColorNV = load.invoke("glFragmentCoverageColorNV", ofVoid(JAVA_INT)); + } + + public static void glFragmentCoverageColorNV(int color) { + final var ext = getExtCapabilities(); + try { + check(ext.glFragmentCoverageColorNV).invokeExact(color); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java new file mode 100644 index 00000000..3ff21b33 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram.java @@ -0,0 +1,89 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_fragment_program} + */ +public final class GLNVFragmentProgram { + public static final int GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; + public static final int GL_FRAGMENT_PROGRAM_NV = 0x8870; + public static final int GL_MAX_TEXTURE_COORDS_NV = 0x8871; + public static final int GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; + public static final int GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873; + public static final int GL_PROGRAM_ERROR_STRING_NV = 0x8874; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_fragment_program) return; + ext.glProgramNamedParameter4fNV = load.invoke("glProgramNamedParameter4fNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glProgramNamedParameter4fvNV = load.invoke("glProgramNamedParameter4fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glProgramNamedParameter4dNV = load.invoke("glProgramNamedParameter4dNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glProgramNamedParameter4dvNV = load.invoke("glProgramNamedParameter4dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetProgramNamedParameterfvNV = load.invoke("glGetProgramNamedParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glGetProgramNamedParameterdvNV = load.invoke("glGetProgramNamedParameterdvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glProgramNamedParameter4fNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramNamedParameter4fNV).invokeExact(id, len, name, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramNamedParameter4fvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramNamedParameter4fvNV).invokeExact(id, len, name, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramNamedParameter4dNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramNamedParameter4dNV).invokeExact(id, len, name, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramNamedParameter4dvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramNamedParameter4dvNV).invokeExact(id, len, name, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramNamedParameterfvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramNamedParameterfvNV).invokeExact(id, len, name, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramNamedParameterdvNV(int id, int len, @NativeType("const GLubyte *") MemorySegment name, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramNamedParameterdvNV).invokeExact(id, len, name, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java new file mode 100644 index 00000000..03698561 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFragmentProgram2.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_fragment_program2} + */ +public final class GLNVFragmentProgram2 { + public static final int GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; + public static final int GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; + public static final int GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; + public static final int GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; + public static final int GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java new file mode 100644 index 00000000..1e46b57e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMixedSamples.java @@ -0,0 +1,67 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_framebuffer_mixed_samples} + */ +public final class GLNVFramebufferMixedSamples { + public static final int GL_COVERAGE_MODULATION_TABLE_NV = 0x9331; + public static final int GL_COLOR_SAMPLES_NV = 0x8E20; + public static final int GL_DEPTH_SAMPLES_NV = 0x932D; + public static final int GL_STENCIL_SAMPLES_NV = 0x932E; + public static final int GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; + public static final int GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; + public static final int GL_COVERAGE_MODULATION_NV = 0x9332; + public static final int GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_framebuffer_mixed_samples) return; + ext.glCoverageModulationTableNV = load.invoke("glCoverageModulationTableNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetCoverageModulationTableNV = load.invoke("glGetCoverageModulationTableNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glCoverageModulationNV = load.invoke("glCoverageModulationNV", ofVoid(JAVA_INT)); + } + + public static void glCoverageModulationTableNV(int n, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glCoverageModulationTableNV).invokeExact(n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCoverageModulationTableNV(int bufSize, @NativeType("GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCoverageModulationTableNV).invokeExact(bufSize, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCoverageModulationNV(int components) { + final var ext = getExtCapabilities(); + try { + check(ext.glCoverageModulationNV).invokeExact(components); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java new file mode 100644 index 00000000..592b4c53 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVFramebufferMultisampleCoverage.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_framebuffer_multisample_coverage} + */ +public final class GLNVFramebufferMultisampleCoverage { + public static final int GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; + public static final int GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; + public static final int GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; + public static final int GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_framebuffer_multisample_coverage) return; + ext.glRenderbufferStorageMultisampleCoverageNV = load.invoke("glRenderbufferStorageMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glRenderbufferStorageMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glRenderbufferStorageMultisampleCoverageNV).invokeExact(target, coverageSamples, colorSamples, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java new file mode 100644 index 00000000..98ebb1ec --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGeometryProgram4.java @@ -0,0 +1,62 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_geometry_program4} + */ +public final class GLNVGeometryProgram4 { + public static final int GL_GEOMETRY_PROGRAM_NV = 0x8C26; + public static final int GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; + public static final int GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_geometry_program4) return; + ext.glProgramVertexLimitNV = load.invoke("glProgramVertexLimitNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glFramebufferTextureEXT = load.invoke("glFramebufferTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFramebufferTextureFaceEXT = load.invoke("glFramebufferTextureFaceEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glProgramVertexLimitNV(int target, int limit) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramVertexLimitNV).invokeExact(target, limit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferTextureEXT(int target, int attachment, int texture, int level) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferTextureEXT).invokeExact(target, attachment, texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferTextureFaceEXT(int target, int attachment, int texture, int level, int face) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferTextureFaceEXT).invokeExact(target, attachment, texture, level, face); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java new file mode 100644 index 00000000..06b65502 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuMulticast.java @@ -0,0 +1,136 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_gpu_multicast} + */ +public final class GLNVGpuMulticast { + public static final int GL_PER_GPU_STORAGE_BIT_NV = 0x0800; + public static final int GL_MULTICAST_GPUS_NV = 0x92BA; + public static final int GL_RENDER_GPU_MASK_NV = 0x9558; + public static final int GL_PER_GPU_STORAGE_NV = 0x9548; + public static final int GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_gpu_multicast) return; + ext.glRenderGpuMaskNV = load.invoke("glRenderGpuMaskNV", ofVoid(JAVA_INT)); + ext.glMulticastBufferSubDataNV = load.invoke("glMulticastBufferSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); + ext.glMulticastCopyBufferSubDataNV = load.invoke("glMulticastCopyBufferSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glMulticastCopyImageSubDataNV = load.invoke("glMulticastCopyImageSubDataNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMulticastBlitFramebufferNV = load.invoke("glMulticastBlitFramebufferNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMulticastFramebufferSampleLocationsfvNV = load.invoke("glMulticastFramebufferSampleLocationsfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMulticastBarrierNV = load.invoke("glMulticastBarrierNV", ofVoid()); + ext.glMulticastWaitSyncNV = load.invoke("glMulticastWaitSyncNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glMulticastGetQueryObjectivNV = load.invoke("glMulticastGetQueryObjectivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMulticastGetQueryObjectuivNV = load.invoke("glMulticastGetQueryObjectuivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMulticastGetQueryObjecti64vNV = load.invoke("glMulticastGetQueryObjecti64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMulticastGetQueryObjectui64vNV = load.invoke("glMulticastGetQueryObjectui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glRenderGpuMaskNV(int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glRenderGpuMaskNV).invokeExact(mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastBufferSubDataNV(int gpuMask, int buffer, long offset, long size, @NativeType("const void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastBufferSubDataNV).invokeExact(gpuMask, buffer, offset, size, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastCopyBufferSubDataNV(int readGpu, int writeGpuMask, int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastCopyBufferSubDataNV).invokeExact(readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastCopyImageSubDataNV(int srcGpu, int dstGpuMask, int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastCopyImageSubDataNV).invokeExact(srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastBlitFramebufferNV(int srcGpu, int dstGpu, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastBlitFramebufferNV).invokeExact(srcGpu, dstGpu, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastFramebufferSampleLocationsfvNV(int gpu, int framebuffer, int start, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastFramebufferSampleLocationsfvNV).invokeExact(gpu, framebuffer, start, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastBarrierNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastBarrierNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastWaitSyncNV(int signalGpu, int waitGpuMask) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastWaitSyncNV).invokeExact(signalGpu, waitGpuMask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastGetQueryObjectivNV(int gpu, int id, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastGetQueryObjectivNV).invokeExact(gpu, id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastGetQueryObjectuivNV(int gpu, int id, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastGetQueryObjectuivNV).invokeExact(gpu, id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastGetQueryObjecti64vNV(int gpu, int id, int pname, @NativeType("GLint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastGetQueryObjecti64vNV).invokeExact(gpu, id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMulticastGetQueryObjectui64vNV(int gpu, int id, int pname, @NativeType("GLuint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMulticastGetQueryObjectui64vNV).invokeExact(gpu, id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java new file mode 100644 index 00000000..e3ab9f11 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram4.java @@ -0,0 +1,171 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_gpu_program4} + */ +public final class GLNVGpuProgram4 { + public static final int GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; + public static final int GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; + public static final int GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; + public static final int GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907; + public static final int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; + public static final int GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; + public static final int GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; + public static final int GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_gpu_program4) return; + ext.glProgramLocalParameterI4iNV = load.invoke("glProgramLocalParameterI4iNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramLocalParameterI4ivNV = load.invoke("glProgramLocalParameterI4ivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramLocalParametersI4ivNV = load.invoke("glProgramLocalParametersI4ivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramLocalParameterI4uiNV = load.invoke("glProgramLocalParameterI4uiNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramLocalParameterI4uivNV = load.invoke("glProgramLocalParameterI4uivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramLocalParametersI4uivNV = load.invoke("glProgramLocalParametersI4uivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramEnvParameterI4iNV = load.invoke("glProgramEnvParameterI4iNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramEnvParameterI4ivNV = load.invoke("glProgramEnvParameterI4ivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramEnvParametersI4ivNV = load.invoke("glProgramEnvParametersI4ivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramEnvParameterI4uiNV = load.invoke("glProgramEnvParameterI4uiNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramEnvParameterI4uivNV = load.invoke("glProgramEnvParameterI4uivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramEnvParametersI4uivNV = load.invoke("glProgramEnvParametersI4uivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramLocalParameterIivNV = load.invoke("glGetProgramLocalParameterIivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramLocalParameterIuivNV = load.invoke("glGetProgramLocalParameterIuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramEnvParameterIivNV = load.invoke("glGetProgramEnvParameterIivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramEnvParameterIuivNV = load.invoke("glGetProgramEnvParameterIuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glProgramLocalParameterI4iNV(int target, int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramLocalParameterI4iNV).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramLocalParameterI4ivNV(int target, int index, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramLocalParameterI4ivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramLocalParametersI4ivNV(int target, int index, int count, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramLocalParametersI4ivNV).invokeExact(target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramLocalParameterI4uiNV(int target, int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramLocalParameterI4uiNV).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramLocalParameterI4uivNV(int target, int index, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramLocalParameterI4uivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramLocalParametersI4uivNV(int target, int index, int count, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramLocalParametersI4uivNV).invokeExact(target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramEnvParameterI4iNV(int target, int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramEnvParameterI4iNV).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramEnvParameterI4ivNV(int target, int index, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramEnvParameterI4ivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramEnvParametersI4ivNV(int target, int index, int count, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramEnvParametersI4ivNV).invokeExact(target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramEnvParameterI4uiNV(int target, int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramEnvParameterI4uiNV).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramEnvParameterI4uivNV(int target, int index, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramEnvParameterI4uivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramEnvParametersI4uivNV(int target, int index, int count, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramEnvParametersI4uivNV).invokeExact(target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramLocalParameterIivNV(int target, int index, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramLocalParameterIivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramLocalParameterIuivNV(int target, int index, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramLocalParameterIuivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramEnvParameterIivNV(int target, int index, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramEnvParameterIivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramEnvParameterIuivNV(int target, int index, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramEnvParameterIuivNV).invokeExact(target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java new file mode 100644 index 00000000..f2970f53 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVGpuProgram5.java @@ -0,0 +1,59 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_gpu_program5} + */ +public final class GLNVGpuProgram5 { + public static final int GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; + public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; + public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; + public static final int GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; + public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; + public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; + public static final int GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; + public static final int GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_gpu_program5) return; + ext.glProgramSubroutineParametersuivNV = load.invoke("glProgramSubroutineParametersuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramSubroutineParameteruivNV = load.invoke("glGetProgramSubroutineParameteruivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glProgramSubroutineParametersuivNV(int target, int count, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramSubroutineParametersuivNV).invokeExact(target, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramSubroutineParameteruivNV(int target, int index, @NativeType("GLuint *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramSubroutineParameteruivNV).invokeExact(target, index, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java new file mode 100644 index 00000000..764f6b63 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVHalfFloat.java @@ -0,0 +1,404 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_half_float} + */ +public final class GLNVHalfFloat { + public static final int GL_HALF_FLOAT_NV = 0x140B; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_half_float) return; + ext.glVertex2hNV = load.invoke("glVertex2hNV", ofVoid(JAVA_SHORT, JAVA_SHORT)); + ext.glVertex2hvNV = load.invoke("glVertex2hvNV", ofVoid(ADDRESS)); + ext.glVertex3hNV = load.invoke("glVertex3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertex3hvNV = load.invoke("glVertex3hvNV", ofVoid(ADDRESS)); + ext.glVertex4hNV = load.invoke("glVertex4hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertex4hvNV = load.invoke("glVertex4hvNV", ofVoid(ADDRESS)); + ext.glNormal3hNV = load.invoke("glNormal3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glNormal3hvNV = load.invoke("glNormal3hvNV", ofVoid(ADDRESS)); + ext.glColor3hNV = load.invoke("glColor3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glColor3hvNV = load.invoke("glColor3hvNV", ofVoid(ADDRESS)); + ext.glColor4hNV = load.invoke("glColor4hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glColor4hvNV = load.invoke("glColor4hvNV", ofVoid(ADDRESS)); + ext.glTexCoord1hNV = load.invoke("glTexCoord1hNV", ofVoid(JAVA_SHORT)); + ext.glTexCoord1hvNV = load.invoke("glTexCoord1hvNV", ofVoid(ADDRESS)); + ext.glTexCoord2hNV = load.invoke("glTexCoord2hNV", ofVoid(JAVA_SHORT, JAVA_SHORT)); + ext.glTexCoord2hvNV = load.invoke("glTexCoord2hvNV", ofVoid(ADDRESS)); + ext.glTexCoord3hNV = load.invoke("glTexCoord3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glTexCoord3hvNV = load.invoke("glTexCoord3hvNV", ofVoid(ADDRESS)); + ext.glTexCoord4hNV = load.invoke("glTexCoord4hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glTexCoord4hvNV = load.invoke("glTexCoord4hvNV", ofVoid(ADDRESS)); + ext.glMultiTexCoord1hNV = load.invoke("glMultiTexCoord1hNV", ofVoid(JAVA_INT, JAVA_SHORT)); + ext.glMultiTexCoord1hvNV = load.invoke("glMultiTexCoord1hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord2hNV = load.invoke("glMultiTexCoord2hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); + ext.glMultiTexCoord2hvNV = load.invoke("glMultiTexCoord2hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord3hNV = load.invoke("glMultiTexCoord3hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glMultiTexCoord3hvNV = load.invoke("glMultiTexCoord3hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMultiTexCoord4hNV = load.invoke("glMultiTexCoord4hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glMultiTexCoord4hvNV = load.invoke("glMultiTexCoord4hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib1hNV = load.invoke("glVertexAttrib1hNV", ofVoid(JAVA_INT, JAVA_SHORT)); + ext.glVertexAttrib1hvNV = load.invoke("glVertexAttrib1hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib2hNV = load.invoke("glVertexAttrib2hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib2hvNV = load.invoke("glVertexAttrib2hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib3hNV = load.invoke("glVertexAttrib3hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib3hvNV = load.invoke("glVertexAttrib3hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4hNV = load.invoke("glVertexAttrib4hNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib4hvNV = load.invoke("glVertexAttrib4hvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribs1hvNV = load.invoke("glVertexAttribs1hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs2hvNV = load.invoke("glVertexAttribs2hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs3hvNV = load.invoke("glVertexAttribs3hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs4hvNV = load.invoke("glVertexAttribs4hvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFogCoordhNV = load.invoke("glFogCoordhNV", ofVoid(JAVA_SHORT)); + ext.glFogCoordhvNV = load.invoke("glFogCoordhvNV", ofVoid(ADDRESS)); + ext.glSecondaryColor3hNV = load.invoke("glSecondaryColor3hNV", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glSecondaryColor3hvNV = load.invoke("glSecondaryColor3hvNV", ofVoid(ADDRESS)); + ext.glVertexWeighthNV = load.invoke("glVertexWeighthNV", ofVoid(JAVA_SHORT)); + ext.glVertexWeighthvNV = load.invoke("glVertexWeighthvNV", ofVoid(ADDRESS)); + } + + public static void glVertex2hNV(short x, short y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex2hNV).invokeExact(x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex2hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex2hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex3hNV(short x, short y, short z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex3hNV).invokeExact(x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex3hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex4hNV(short x, short y, short z, short w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex4hNV).invokeExact(x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertex4hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertex4hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormal3hNV(short nx, short ny, short nz) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormal3hNV).invokeExact(nx, ny, nz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormal3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormal3hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor3hNV(short red, short green, short blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor3hNV).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor3hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor4hNV(short red, short green, short blue, short alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor4hNV).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColor4hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glColor4hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord1hNV(short s) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord1hNV).invokeExact(s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord1hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord1hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord2hNV(short s, short t) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord2hNV).invokeExact(s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord2hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord2hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord3hNV(short s, short t, short r) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord3hNV).invokeExact(s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord3hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord4hNV(short s, short t, short r, short q) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord4hNV).invokeExact(s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoord4hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoord4hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord1hNV(int target, short s) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord1hNV).invokeExact(target, s); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord1hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord1hvNV).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord2hNV(int target, short s, short t) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord2hNV).invokeExact(target, s, t); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord2hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord2hvNV).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord3hNV(int target, short s, short t, short r) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord3hNV).invokeExact(target, s, t, r); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord3hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord3hvNV).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord4hNV(int target, short s, short t, short r, short q) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord4hNV).invokeExact(target, s, t, r, q); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoord4hvNV(int target, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoord4hvNV).invokeExact(target, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1hNV(int index, short x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1hNV).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1hvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2hNV(int index, short x, short y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2hNV).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2hvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3hNV(int index, short x, short y, short z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3hNV).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3hvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4hNV(int index, short x, short y, short z, short w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4hNV).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4hvNV(int index, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4hvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs1hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs1hvNV).invokeExact(index, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs2hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs2hvNV).invokeExact(index, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs3hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs3hvNV).invokeExact(index, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs4hvNV(int index, int n, @NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs4hvNV).invokeExact(index, n, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoordhNV(short fog) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoordhNV).invokeExact(fog); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoordhvNV(@NativeType("const GLhalfNV *") MemorySegment fog) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoordhvNV).invokeExact(fog); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3hNV(short red, short green, short blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3hNV).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3hvNV(@NativeType("const GLhalfNV *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3hvNV).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexWeighthNV(short weight) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexWeighthNV).invokeExact(weight); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexWeighthvNV(@NativeType("const GLhalfNV *") MemorySegment weight) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexWeighthvNV).invokeExact(weight); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java new file mode 100644 index 00000000..adf8e174 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVInternalformatSampleQuery.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_internalformat_sample_query} + */ +public final class GLNVInternalformatSampleQuery { + public static final int GL_MULTISAMPLES_NV = 0x9371; + public static final int GL_SUPERSAMPLE_SCALE_X_NV = 0x9372; + public static final int GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373; + public static final int GL_CONFORMANT_NV = 0x9374; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_internalformat_sample_query) return; + ext.glGetInternalformatSampleivNV = load.invoke("glGetInternalformatSampleivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glGetInternalformatSampleivNV(int target, int internalformat, int samples, int pname, int count, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetInternalformatSampleivNV).invokeExact(target, internalformat, samples, pname, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java new file mode 100644 index 00000000..49a204f1 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVLightMaxExponent.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_light_max_exponent} + */ +public final class GLNVLightMaxExponent { + public static final int GL_MAX_SHININESS_NV = 0x8504; + public static final int GL_MAX_SPOT_EXPONENT_NV = 0x8505; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java new file mode 100644 index 00000000..871f7d4e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryAttachment.java @@ -0,0 +1,93 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_memory_attachment} + */ +public final class GLNVMemoryAttachment { + public static final int GL_ATTACHED_MEMORY_OBJECT_NV = 0x95A4; + public static final int GL_ATTACHED_MEMORY_OFFSET_NV = 0x95A5; + public static final int GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; + public static final int GL_MEMORY_ATTACHABLE_SIZE_NV = 0x95A7; + public static final int GL_MEMORY_ATTACHABLE_NV = 0x95A8; + public static final int GL_DETACHED_MEMORY_INCARNATION_NV = 0x95A9; + public static final int GL_DETACHED_TEXTURES_NV = 0x95AA; + public static final int GL_DETACHED_BUFFERS_NV = 0x95AB; + public static final int GL_MAX_DETACHED_TEXTURES_NV = 0x95AC; + public static final int GL_MAX_DETACHED_BUFFERS_NV = 0x95AD; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_memory_attachment) return; + ext.glGetMemoryObjectDetachedResourcesuivNV = load.invoke("glGetMemoryObjectDetachedResourcesuivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glResetMemoryObjectParameterNV = load.invoke("glResetMemoryObjectParameterNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glTexAttachMemoryNV = load.invoke("glTexAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glBufferAttachMemoryNV = load.invoke("glBufferAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glTextureAttachMemoryNV = load.invoke("glTextureAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glNamedBufferAttachMemoryNV = load.invoke("glNamedBufferAttachMemoryNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + } + + public static void glGetMemoryObjectDetachedResourcesuivNV(int memory, int pname, int first, int count, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMemoryObjectDetachedResourcesuivNV).invokeExact(memory, pname, first, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glResetMemoryObjectParameterNV(int memory, int pname) { + final var ext = getExtCapabilities(); + try { + check(ext.glResetMemoryObjectParameterNV).invokeExact(memory, pname); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexAttachMemoryNV(int target, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexAttachMemoryNV).invokeExact(target, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBufferAttachMemoryNV(int target, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glBufferAttachMemoryNV).invokeExact(target, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureAttachMemoryNV(int texture, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureAttachMemoryNV).invokeExact(texture, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedBufferAttachMemoryNV(int buffer, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedBufferAttachMemoryNV).invokeExact(buffer, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java new file mode 100644 index 00000000..1a8a608f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMemoryObjectSparse.java @@ -0,0 +1,67 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_memory_object_sparse} + */ +public final class GLNVMemoryObjectSparse { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_memory_object_sparse) return; + ext.glBufferPageCommitmentMemNV = load.invoke("glBufferPageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_LONG, JAVA_BYTE)); + ext.glTexPageCommitmentMemNV = load.invoke("glTexPageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_BYTE)); + ext.glNamedBufferPageCommitmentMemNV = load.invoke("glNamedBufferPageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_LONG, JAVA_BYTE)); + ext.glTexturePageCommitmentMemNV = load.invoke("glTexturePageCommitmentMemNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_BYTE)); + } + + public static void glBufferPageCommitmentMemNV(int target, long offset, long size, int memory, long memOffset, boolean commit) { + final var ext = getExtCapabilities(); + try { + check(ext.glBufferPageCommitmentMemNV).invokeExact(target, offset, size, memory, memOffset, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexPageCommitmentMemNV(int target, int layer, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int memory, long offset, boolean commit) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexPageCommitmentMemNV).invokeExact(target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedBufferPageCommitmentMemNV(int buffer, long offset, long size, int memory, long memOffset, boolean commit) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedBufferPageCommitmentMemNV).invokeExact(buffer, offset, size, memory, memOffset, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexturePageCommitmentMemNV(int texture, int layer, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int memory, long offset, boolean commit) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexturePageCommitmentMemNV).invokeExact(texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java new file mode 100644 index 00000000..96e0c9cd --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMeshShader.java @@ -0,0 +1,115 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_mesh_shader} + */ +public final class GLNVMeshShader { + public static final int GL_MESH_SHADER_NV = 0x9559; + public static final int GL_TASK_SHADER_NV = 0x955A; + public static final int GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60; + public static final int GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61; + public static final int GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62; + public static final int GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63; + public static final int GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64; + public static final int GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65; + public static final int GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66; + public static final int GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; + public static final int GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68; + public static final int GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69; + public static final int GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A; + public static final int GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B; + public static final int GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C; + public static final int GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D; + public static final int GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E; + public static final int GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; + public static final int GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2; + public static final int GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3; + public static final int GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536; + public static final int GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537; + public static final int GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538; + public static final int GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539; + public static final int GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953A; + public static final int GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D; + public static final int GL_MAX_MESH_VIEWS_NV = 0x9557; + public static final int GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF; + public static final int GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543; + public static final int GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B; + public static final int GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C; + public static final int GL_MESH_WORK_GROUP_SIZE_NV = 0x953E; + public static final int GL_TASK_WORK_GROUP_SIZE_NV = 0x953F; + public static final int GL_MESH_VERTICES_OUT_NV = 0x9579; + public static final int GL_MESH_PRIMITIVES_OUT_NV = 0x957A; + public static final int GL_MESH_OUTPUT_TYPE_NV = 0x957B; + public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C; + public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D; + public static final int GL_REFERENCED_BY_MESH_SHADER_NV = 0x95A0; + public static final int GL_REFERENCED_BY_TASK_SHADER_NV = 0x95A1; + public static final int GL_MESH_SHADER_BIT_NV = 0x00000040; + public static final int GL_TASK_SHADER_BIT_NV = 0x00000080; + public static final int GL_MESH_SUBROUTINE_NV = 0x957C; + public static final int GL_TASK_SUBROUTINE_NV = 0x957D; + public static final int GL_MESH_SUBROUTINE_UNIFORM_NV = 0x957E; + public static final int GL_TASK_SUBROUTINE_UNIFORM_NV = 0x957F; + public static final int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E; + public static final int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_mesh_shader) return; + ext.glDrawMeshTasksNV = load.invoke("glDrawMeshTasksNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDrawMeshTasksIndirectNV = load.invoke("glDrawMeshTasksIndirectNV", ofVoid(JAVA_LONG)); + ext.glMultiDrawMeshTasksIndirectNV = load.invoke("glMultiDrawMeshTasksIndirectNV", ofVoid(JAVA_LONG, JAVA_INT, JAVA_INT)); + ext.glMultiDrawMeshTasksIndirectCountNV = load.invoke("glMultiDrawMeshTasksIndirectCountNV", ofVoid(JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_INT)); + } + + public static void glDrawMeshTasksNV(int first, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawMeshTasksNV).invokeExact(first, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawMeshTasksIndirectNV(long indirect) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawMeshTasksIndirectNV).invokeExact(indirect); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiDrawMeshTasksIndirectNV(long indirect, int drawcount, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawMeshTasksIndirectNV).invokeExact(indirect, drawcount, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiDrawMeshTasksIndirectCountNV(long indirect, long drawcount, int maxdrawcount, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawMeshTasksIndirectCountNV).invokeExact(indirect, drawcount, maxdrawcount, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java new file mode 100644 index 00000000..4f495a8d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVMultisampleFilterHint.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_multisample_filter_hint} + */ +public final class GLNVMultisampleFilterHint { + public static final int GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java new file mode 100644 index 00000000..f1102e58 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVOcculusionQuery.java @@ -0,0 +1,96 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_occlusion_query} + */ +public final class GLNVOcculusionQuery { + public static final int GL_PIXEL_COUNTER_BITS_NV = 0x8864; + public static final int GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; + public static final int GL_PIXEL_COUNT_NV = 0x8866; + public static final int GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_occlusion_query) return; + ext.glGenOcclusionQueriesNV = load.invoke("glGenOcclusionQueriesNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeleteOcclusionQueriesNV = load.invoke("glDeleteOcclusionQueriesNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsOcclusionQueryNV = load.invoke("glIsOcclusionQueryNV", of(JAVA_BYTE, JAVA_INT)); + ext.glBeginOcclusionQueryNV = load.invoke("glBeginOcclusionQueryNV", ofVoid(JAVA_INT)); + ext.glEndOcclusionQueryNV = load.invoke("glEndOcclusionQueryNV", ofVoid()); + ext.glGetOcclusionQueryivNV = load.invoke("glGetOcclusionQueryivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetOcclusionQueryuivNV = load.invoke("glGetOcclusionQueryuivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glGenOcclusionQueriesNV(int n, @NativeType("GLuint *") MemorySegment ids) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenOcclusionQueriesNV).invokeExact(n, ids); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteOcclusionQueriesNV(int n, @NativeType("const GLuint *") MemorySegment ids) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteOcclusionQueriesNV).invokeExact(n, ids); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsOcclusionQueryNV(int id) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsOcclusionQueryNV).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBeginOcclusionQueryNV(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginOcclusionQueryNV).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndOcclusionQueryNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glEndOcclusionQueryNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetOcclusionQueryivNV(int id, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetOcclusionQueryivNV).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetOcclusionQueryuivNV(int id, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetOcclusionQueryuivNV).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java new file mode 100644 index 00000000..2e08f44a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPackedDepthStencil.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_packed_depth_stencil} + */ +public final class GLNVPackedDepthStencil { + public static final int GL_DEPTH_STENCIL_NV = 0x84F9; + public static final int GL_UNSIGNED_INT_24_8_NV = 0x84FA; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java new file mode 100644 index 00000000..32dedf19 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVParameterBufferObject.java @@ -0,0 +1,64 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_parameter_buffer_object} + */ +public final class GLNVParameterBufferObject { + public static final int GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; + public static final int GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; + public static final int GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; + public static final int GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; + public static final int GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_parameter_buffer_object) return; + ext.glProgramBufferParametersfvNV = load.invoke("glProgramBufferParametersfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramBufferParametersIivNV = load.invoke("glProgramBufferParametersIivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramBufferParametersIuivNV = load.invoke("glProgramBufferParametersIuivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glProgramBufferParametersfvNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramBufferParametersfvNV).invokeExact(target, bindingIndex, wordIndex, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramBufferParametersIivNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramBufferParametersIivNV).invokeExact(target, bindingIndex, wordIndex, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramBufferParametersIuivNV(int target, int bindingIndex, int wordIndex, int count, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramBufferParametersIuivNV).invokeExact(target, bindingIndex, wordIndex, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java new file mode 100644 index 00000000..2b6c4437 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRendering.java @@ -0,0 +1,719 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_path_rendering} + */ +public final class GLNVPathRendering { + public static final int GL_PATH_FORMAT_SVG_NV = 0x9070; + public static final int GL_PATH_FORMAT_PS_NV = 0x9071; + public static final int GL_STANDARD_FONT_NAME_NV = 0x9072; + public static final int GL_SYSTEM_FONT_NAME_NV = 0x9073; + public static final int GL_FILE_NAME_NV = 0x9074; + public static final int GL_PATH_STROKE_WIDTH_NV = 0x9075; + public static final int GL_PATH_END_CAPS_NV = 0x9076; + public static final int GL_PATH_INITIAL_END_CAP_NV = 0x9077; + public static final int GL_PATH_TERMINAL_END_CAP_NV = 0x9078; + public static final int GL_PATH_JOIN_STYLE_NV = 0x9079; + public static final int GL_PATH_MITER_LIMIT_NV = 0x907A; + public static final int GL_PATH_DASH_CAPS_NV = 0x907B; + public static final int GL_PATH_INITIAL_DASH_CAP_NV = 0x907C; + public static final int GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D; + public static final int GL_PATH_DASH_OFFSET_NV = 0x907E; + public static final int GL_PATH_CLIENT_LENGTH_NV = 0x907F; + public static final int GL_PATH_FILL_MODE_NV = 0x9080; + public static final int GL_PATH_FILL_MASK_NV = 0x9081; + public static final int GL_PATH_FILL_COVER_MODE_NV = 0x9082; + public static final int GL_PATH_STROKE_COVER_MODE_NV = 0x9083; + public static final int GL_PATH_STROKE_MASK_NV = 0x9084; + public static final int GL_COUNT_UP_NV = 0x9088; + public static final int GL_COUNT_DOWN_NV = 0x9089; + public static final int GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; + public static final int GL_CONVEX_HULL_NV = 0x908B; + public static final int GL_BOUNDING_BOX_NV = 0x908D; + public static final int GL_TRANSLATE_X_NV = 0x908E; + public static final int GL_TRANSLATE_Y_NV = 0x908F; + public static final int GL_TRANSLATE_2D_NV = 0x9090; + public static final int GL_TRANSLATE_3D_NV = 0x9091; + public static final int GL_AFFINE_2D_NV = 0x9092; + public static final int GL_AFFINE_3D_NV = 0x9094; + public static final int GL_TRANSPOSE_AFFINE_2D_NV = 0x9096; + public static final int GL_TRANSPOSE_AFFINE_3D_NV = 0x9098; + public static final int GL_UTF8_NV = 0x909A; + public static final int GL_UTF16_NV = 0x909B; + public static final int GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; + public static final int GL_PATH_COMMAND_COUNT_NV = 0x909D; + public static final int GL_PATH_COORD_COUNT_NV = 0x909E; + public static final int GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F; + public static final int GL_PATH_COMPUTED_LENGTH_NV = 0x90A0; + public static final int GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1; + public static final int GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; + public static final int GL_SQUARE_NV = 0x90A3; + public static final int GL_ROUND_NV = 0x90A4; + public static final int GL_TRIANGULAR_NV = 0x90A5; + public static final int GL_BEVEL_NV = 0x90A6; + public static final int GL_MITER_REVERT_NV = 0x90A7; + public static final int GL_MITER_TRUNCATE_NV = 0x90A8; + public static final int GL_SKIP_MISSING_GLYPH_NV = 0x90A9; + public static final int GL_USE_MISSING_GLYPH_NV = 0x90AA; + public static final int GL_PATH_ERROR_POSITION_NV = 0x90AB; + public static final int GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD; + public static final int GL_ADJACENT_PAIRS_NV = 0x90AE; + public static final int GL_FIRST_TO_REST_NV = 0x90AF; + public static final int GL_PATH_GEN_MODE_NV = 0x90B0; + public static final int GL_PATH_GEN_COEFF_NV = 0x90B1; + public static final int GL_PATH_GEN_COMPONENTS_NV = 0x90B3; + public static final int GL_PATH_STENCIL_FUNC_NV = 0x90B7; + public static final int GL_PATH_STENCIL_REF_NV = 0x90B8; + public static final int GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9; + public static final int GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; + public static final int GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; + public static final int GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF; + public static final int GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4; + public static final int GL_MOVE_TO_RESETS_NV = 0x90B5; + public static final int GL_MOVE_TO_CONTINUES_NV = 0x90B6; + public static final int GL_CLOSE_PATH_NV = 0x00; + public static final int GL_MOVE_TO_NV = 0x02; + public static final int GL_RELATIVE_MOVE_TO_NV = 0x03; + public static final int GL_LINE_TO_NV = 0x04; + public static final int GL_RELATIVE_LINE_TO_NV = 0x05; + public static final int GL_HORIZONTAL_LINE_TO_NV = 0x06; + public static final int GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; + public static final int GL_VERTICAL_LINE_TO_NV = 0x08; + public static final int GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09; + public static final int GL_QUADRATIC_CURVE_TO_NV = 0x0A; + public static final int GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; + public static final int GL_CUBIC_CURVE_TO_NV = 0x0C; + public static final int GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; + public static final int GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; + public static final int GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; + public static final int GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10; + public static final int GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; + public static final int GL_SMALL_CCW_ARC_TO_NV = 0x12; + public static final int GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; + public static final int GL_SMALL_CW_ARC_TO_NV = 0x14; + public static final int GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; + public static final int GL_LARGE_CCW_ARC_TO_NV = 0x16; + public static final int GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; + public static final int GL_LARGE_CW_ARC_TO_NV = 0x18; + public static final int GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; + public static final int GL_RESTART_PATH_NV = 0xF0; + public static final int GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; + public static final int GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; + public static final int GL_RECT_NV = 0xF6; + public static final int GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8; + public static final int GL_CIRCULAR_CW_ARC_TO_NV = 0xFA; + public static final int GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; + public static final int GL_ARC_TO_NV = 0xFE; + public static final int GL_RELATIVE_ARC_TO_NV = 0xFF; + public static final int GL_BOLD_BIT_NV = 0x01; + public static final int GL_ITALIC_BIT_NV = 0x02; + public static final int GL_GLYPH_WIDTH_BIT_NV = 0x01; + public static final int GL_GLYPH_HEIGHT_BIT_NV = 0x02; + public static final int GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; + public static final int GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; + public static final int GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; + public static final int GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; + public static final int GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; + public static final int GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; + public static final int GL_GLYPH_HAS_KERNING_BIT_NV = 0x100; + public static final int GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; + public static final int GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; + public static final int GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; + public static final int GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; + public static final int GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000; + public static final int GL_FONT_ASCENDER_BIT_NV = 0x00200000; + public static final int GL_FONT_DESCENDER_BIT_NV = 0x00400000; + public static final int GL_FONT_HEIGHT_BIT_NV = 0x00800000; + public static final int GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; + public static final int GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; + public static final int GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; + public static final int GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; + public static final int GL_FONT_HAS_KERNING_BIT_NV = 0x10000000; + public static final int GL_ROUNDED_RECT_NV = 0xE8; + public static final int GL_RELATIVE_ROUNDED_RECT_NV = 0xE9; + public static final int GL_ROUNDED_RECT2_NV = 0xEA; + public static final int GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB; + public static final int GL_ROUNDED_RECT4_NV = 0xEC; + public static final int GL_RELATIVE_ROUNDED_RECT4_NV = 0xED; + public static final int GL_ROUNDED_RECT8_NV = 0xEE; + public static final int GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF; + public static final int GL_RELATIVE_RECT_NV = 0xF7; + public static final int GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368; + public static final int GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369; + public static final int GL_FONT_UNAVAILABLE_NV = 0x936A; + public static final int GL_FONT_UNINTELLIGIBLE_NV = 0x936B; + public static final int GL_CONIC_CURVE_TO_NV = 0x1A; + public static final int GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B; + public static final int GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; + public static final int GL_STANDARD_FONT_FORMAT_NV = 0x936C; + public static final int GL_2_BYTES_NV = 0x1407; + public static final int GL_3_BYTES_NV = 0x1408; + public static final int GL_4_BYTES_NV = 0x1409; + public static final int GL_EYE_LINEAR_NV = 0x2400; + public static final int GL_OBJECT_LINEAR_NV = 0x2401; + public static final int GL_CONSTANT_NV = 0x8576; + public static final int GL_PATH_FOG_GEN_MODE_NV = 0x90AC; + public static final int GL_PRIMARY_COLOR_NV = 0x852C; + public static final int GL_SECONDARY_COLOR_NV = 0x852D; + public static final int GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2; + public static final int GL_PATH_PROJECTION_NV = 0x1701; + public static final int GL_PATH_MODELVIEW_NV = 0x1700; + public static final int GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; + public static final int GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6; + public static final int GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; + public static final int GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; + public static final int GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; + public static final int GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7; + public static final int GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; + public static final int GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; + public static final int GL_FRAGMENT_INPUT_NV = 0x936D; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_path_rendering) return; + ext.glGenPathsNV = load.invoke("glGenPathsNV", of(JAVA_INT, JAVA_INT)); + ext.glDeletePathsNV = load.invoke("glDeletePathsNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glIsPathNV = load.invoke("glIsPathNV", of(JAVA_BYTE, JAVA_INT)); + ext.glPathCommandsNV = load.invoke("glPathCommandsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathCoordsNV = load.invoke("glPathCoordsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathSubCommandsNV = load.invoke("glPathSubCommandsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathSubCoordsNV = load.invoke("glPathSubCoordsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathStringNV = load.invoke("glPathStringNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathGlyphsNV = load.invoke("glPathGlyphsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glPathGlyphRangeNV = load.invoke("glPathGlyphRangeNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glWeightPathsNV = load.invoke("glWeightPathsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glCopyPathNV = load.invoke("glCopyPathNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glInterpolatePathsNV = load.invoke("glInterpolatePathsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glTransformPathNV = load.invoke("glTransformPathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathParameterivNV = load.invoke("glPathParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathParameteriNV = load.invoke("glPathParameteriNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glPathParameterfvNV = load.invoke("glPathParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathParameterfNV = load.invoke("glPathParameterfNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glPathDashArrayNV = load.invoke("glPathDashArrayNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathStencilFuncNV = load.invoke("glPathStencilFuncNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glPathStencilDepthOffsetNV = load.invoke("glPathStencilDepthOffsetNV", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); + ext.glStencilFillPathNV = load.invoke("glStencilFillPathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glStencilStrokePathNV = load.invoke("glStencilStrokePathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glStencilFillPathInstancedNV = load.invoke("glStencilFillPathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glStencilStrokePathInstancedNV = load.invoke("glStencilStrokePathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathCoverDepthFuncNV = load.invoke("glPathCoverDepthFuncNV", ofVoid(JAVA_INT)); + ext.glCoverFillPathNV = load.invoke("glCoverFillPathNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glCoverStrokePathNV = load.invoke("glCoverStrokePathNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glCoverFillPathInstancedNV = load.invoke("glCoverFillPathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCoverStrokePathInstancedNV = load.invoke("glCoverStrokePathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathParameterivNV = load.invoke("glGetPathParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathParameterfvNV = load.invoke("glGetPathParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathCommandsNV = load.invoke("glGetPathCommandsNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetPathCoordsNV = load.invoke("glGetPathCoordsNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetPathDashArrayNV = load.invoke("glGetPathDashArrayNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetPathMetricsNV = load.invoke("glGetPathMetricsNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathMetricRangeNV = load.invoke("glGetPathMetricRangeNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathSpacingNV = load.invoke("glGetPathSpacingNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_INT, ADDRESS)); + ext.glIsPointInFillPathNV = load.invoke("glIsPointInFillPathNV", of(JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glIsPointInStrokePathNV = load.invoke("glIsPointInStrokePathNV", of(JAVA_BYTE, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glGetPathLengthNV = load.invoke("glGetPathLengthNV", of(JAVA_FLOAT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glPointAlongPathNV = load.invoke("glPointAlongPathNV", of(JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glMatrixLoad3x2fNV = load.invoke("glMatrixLoad3x2fNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixLoad3x3fNV = load.invoke("glMatrixLoad3x3fNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixLoadTranspose3x3fNV = load.invoke("glMatrixLoadTranspose3x3fNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixMult3x2fNV = load.invoke("glMatrixMult3x2fNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixMult3x3fNV = load.invoke("glMatrixMult3x3fNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixMultTranspose3x3fNV = load.invoke("glMatrixMultTranspose3x3fNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glStencilThenCoverFillPathNV = load.invoke("glStencilThenCoverFillPathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glStencilThenCoverStrokePathNV = load.invoke("glStencilThenCoverStrokePathNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glStencilThenCoverFillPathInstancedNV = load.invoke("glStencilThenCoverFillPathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glStencilThenCoverStrokePathInstancedNV = load.invoke("glStencilThenCoverStrokePathInstancedNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathGlyphIndexRangeNV = load.invoke("glPathGlyphIndexRangeNV", of(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_FLOAT, ADDRESS)); + ext.glPathGlyphIndexArrayNV = load.invoke("glPathGlyphIndexArrayNV", of(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glPathMemoryGlyphIndexArrayNV = load.invoke("glPathMemoryGlyphIndexArrayNV", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glProgramPathFragmentInputGenNV = load.invoke("glProgramPathFragmentInputGenNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramResourcefvNV = load.invoke("glGetProgramResourcefvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); + ext.glPathColorGenNV = load.invoke("glPathColorGenNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathTexGenNV = load.invoke("glPathTexGenNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPathFogGenNV = load.invoke("glPathFogGenNV", ofVoid(JAVA_INT)); + ext.glGetPathColorGenivNV = load.invoke("glGetPathColorGenivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathColorGenfvNV = load.invoke("glGetPathColorGenfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathTexGenivNV = load.invoke("glGetPathTexGenivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPathTexGenfvNV = load.invoke("glGetPathTexGenfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static int glGenPathsNV(int range) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGenPathsNV).invokeExact(range); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeletePathsNV(int path, int range) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeletePathsNV).invokeExact(path, range); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsPathNV(int path) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsPathNV).invokeExact(path); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathCommandsNV(int path, int numCommands, @NativeType("const GLubyte *") MemorySegment commands, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathCommandsNV).invokeExact(path, numCommands, commands, numCoords, coordType, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathCoordsNV(int path, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathCoordsNV).invokeExact(path, numCoords, coordType, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathSubCommandsNV(int path, int commandStart, int commandsToDelete, int numCommands, @NativeType("const GLubyte *") MemorySegment commands, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathSubCommandsNV).invokeExact(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathSubCoordsNV(int path, int coordStart, int numCoords, int coordType, @NativeType("const void *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathSubCoordsNV).invokeExact(path, coordStart, numCoords, coordType, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathStringNV(int path, int format, int length, @NativeType("const void *") MemorySegment pathString) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathStringNV).invokeExact(path, format, length, pathString); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathGlyphsNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int numGlyphs, int type, @NativeType("const void *") MemorySegment charcodes, int handleMissingGlyphs, int pathParameterTemplate, float emScale) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathGlyphsNV).invokeExact(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathGlyphRangeNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int firstGlyph, int numGlyphs, int handleMissingGlyphs, int pathParameterTemplate, float emScale) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathGlyphRangeNV).invokeExact(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWeightPathsNV(int resultPath, int numPaths, @NativeType("const GLuint *") MemorySegment paths, @NativeType("const GLfloat *") MemorySegment weights) { + final var ext = getExtCapabilities(); + try { + check(ext.glWeightPathsNV).invokeExact(resultPath, numPaths, paths, weights); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyPathNV(int resultPath, int srcPath) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyPathNV).invokeExact(resultPath, srcPath); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glInterpolatePathsNV(int resultPath, int pathA, int pathB, float weight) { + final var ext = getExtCapabilities(); + try { + check(ext.glInterpolatePathsNV).invokeExact(resultPath, pathA, pathB, weight); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTransformPathNV(int resultPath, int srcPath, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { + final var ext = getExtCapabilities(); + try { + check(ext.glTransformPathNV).invokeExact(resultPath, srcPath, transformType, transformValues); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathParameterivNV(int path, int pname, @NativeType("const GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathParameterivNV).invokeExact(path, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathParameteriNV(int path, int pname, int value) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathParameteriNV).invokeExact(path, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathParameterfvNV(int path, int pname, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathParameterfvNV).invokeExact(path, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathParameterfNV(int path, int pname, float value) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathParameterfNV).invokeExact(path, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathDashArrayNV(int path, int dashCount, @NativeType("const GLfloat *") MemorySegment dashArray) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathDashArrayNV).invokeExact(path, dashCount, dashArray); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathStencilFuncNV(int func, int ref, int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathStencilFuncNV).invokeExact(func, ref, mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathStencilDepthOffsetNV(float factor, float units) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathStencilDepthOffsetNV).invokeExact(factor, units); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilFillPathNV(int path, int fillMode, int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilFillPathNV).invokeExact(path, fillMode, mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilStrokePathNV(int path, int reference, int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilStrokePathNV).invokeExact(path, reference, mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int fillMode, int mask, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilFillPathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int reference, int mask, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilStrokePathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathCoverDepthFuncNV(int func) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathCoverDepthFuncNV).invokeExact(func); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCoverFillPathNV(int path, int coverMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glCoverFillPathNV).invokeExact(path, coverMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCoverStrokePathNV(int path, int coverMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glCoverStrokePathNV).invokeExact(path, coverMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCoverFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { + final var ext = getExtCapabilities(); + try { + check(ext.glCoverFillPathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCoverStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { + final var ext = getExtCapabilities(); + try { + check(ext.glCoverStrokePathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathParameterivNV(int path, int pname, @NativeType("GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathParameterivNV).invokeExact(path, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathParameterfvNV(int path, int pname, @NativeType("GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathParameterfvNV).invokeExact(path, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathCommandsNV(int path, @NativeType("GLubyte *") MemorySegment commands) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathCommandsNV).invokeExact(path, commands); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathCoordsNV(int path, @NativeType("GLfloat *") MemorySegment coords) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathCoordsNV).invokeExact(path, coords); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathDashArrayNV(int path, @NativeType("GLfloat *") MemorySegment dashArray) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathDashArrayNV).invokeExact(path, dashArray); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathMetricsNV(int metricQueryMask, int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int stride, @NativeType("GLfloat *") MemorySegment metrics) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathMetricsNV).invokeExact(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathMetricRangeNV(int metricQueryMask, int firstPathName, int numPaths, int stride, @NativeType("GLfloat *") MemorySegment metrics) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathMetricRangeNV).invokeExact(metricQueryMask, firstPathName, numPaths, stride, metrics); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathSpacingNV(int pathListMode, int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, float advanceScale, float kerningScale, int transformType, @NativeType("GLfloat *") MemorySegment returnedSpacing) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathSpacingNV).invokeExact(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsPointInFillPathNV(int path, int mask, float x, float y) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsPointInFillPathNV).invokeExact(path, mask, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsPointInStrokePathNV(int path, float x, float y) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsPointInStrokePathNV).invokeExact(path, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static float glGetPathLengthNV(int path, int startSegment, int numSegments) { + final var ext = getExtCapabilities(); + try { + return (float) + check(ext.glGetPathLengthNV).invokeExact(path, startSegment, numSegments); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glPointAlongPathNV(int path, int startSegment, int numSegments, float distance, @NativeType("GLfloat *") MemorySegment x, @NativeType("GLfloat *") MemorySegment y, @NativeType("GLfloat *") MemorySegment tangentX, @NativeType("GLfloat *") MemorySegment tangentY) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glPointAlongPathNV).invokeExact(path, startSegment, numSegments, distance, x, y, tangentX, tangentY); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixLoad3x2fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoad3x2fNV).invokeExact(matrixMode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixLoad3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoad3x3fNV).invokeExact(matrixMode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixLoadTranspose3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoadTranspose3x3fNV).invokeExact(matrixMode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixMult3x2fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixMult3x2fNV).invokeExact(matrixMode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixMult3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixMult3x3fNV).invokeExact(matrixMode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixMultTranspose3x3fNV(int matrixMode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixMultTranspose3x3fNV).invokeExact(matrixMode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilThenCoverFillPathNV(int path, int fillMode, int mask, int coverMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilThenCoverFillPathNV).invokeExact(path, fillMode, mask, coverMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilThenCoverStrokePathNV(int path, int reference, int mask, int coverMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilThenCoverStrokePathNV).invokeExact(path, reference, mask, coverMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilThenCoverFillPathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int fillMode, int mask, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilThenCoverFillPathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glStencilThenCoverStrokePathInstancedNV(int numPaths, int pathNameType, @NativeType("const void *") MemorySegment paths, int pathBase, int reference, int mask, int coverMode, int transformType, @NativeType("const GLfloat *") MemorySegment transformValues) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilThenCoverStrokePathInstancedNV).invokeExact(numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glPathGlyphIndexRangeNV(int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int pathParameterTemplate, float emScale, @NativeType("GLuint *") MemorySegment baseAndCount) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glPathGlyphIndexRangeNV).invokeExact(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glPathGlyphIndexArrayNV(int firstPathName, int fontTarget, @NativeType("const void *") MemorySegment fontName, int fontStyle, int firstGlyphIndex, int numGlyphs, int pathParameterTemplate, float emScale) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glPathGlyphIndexArrayNV).invokeExact(firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glPathMemoryGlyphIndexArrayNV(int firstPathName, int fontTarget, long fontSize, @NativeType("const void *") MemorySegment fontData, int faceIndex, int firstGlyphIndex, int numGlyphs, int pathParameterTemplate, float emScale) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glPathMemoryGlyphIndexArrayNV).invokeExact(firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramPathFragmentInputGenNV(int program, int location, int genMode, int components, @NativeType("const GLfloat *") MemorySegment coeffs) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramPathFragmentInputGenNV).invokeExact(program, location, genMode, components, coeffs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramResourcefvNV(int program, int programInterface, int index, int propCount, @NativeType("const GLenum *") MemorySegment props, int count, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramResourcefvNV).invokeExact(program, programInterface, index, propCount, props, count, length, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathColorGenNV(int color, int genMode, int colorFormat, @NativeType("const GLfloat *") MemorySegment coeffs) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathColorGenNV).invokeExact(color, genMode, colorFormat, coeffs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathTexGenNV(int texCoordSet, int genMode, int components, @NativeType("const GLfloat *") MemorySegment coeffs) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathTexGenNV).invokeExact(texCoordSet, genMode, components, coeffs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPathFogGenNV(int genMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glPathFogGenNV).invokeExact(genMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathColorGenivNV(int color, int pname, @NativeType("GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathColorGenivNV).invokeExact(color, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathColorGenfvNV(int color, int pname, @NativeType("GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathColorGenfvNV).invokeExact(color, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathTexGenivNV(int texCoordSet, int pname, @NativeType("GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathTexGenivNV).invokeExact(texCoordSet, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPathTexGenfvNV(int texCoordSet, int pname, @NativeType("GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPathTexGenfvNV).invokeExact(texCoordSet, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java new file mode 100644 index 00000000..379ca3e9 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPathRenderingSharedEdge.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_path_rendering_shared_edge} + */ +public final class GLNVPathRenderingSharedEdge { + public static final int GL_SHARED_EDGE_NV = 0xC0; +} From 526c14a5e30e120697511d7424be9d271e35df2c Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Wed, 22 Nov 2023 13:14:30 +0800 Subject: [PATCH 27/44] Update stuff Update dependencies; move versions of native libraries to class OverrunGL; added CStdlib::newString --- build.gradle.kts | 2 +- .../src/main/java/overrungl/OverrunGL.java | 12 ++++++++++++ .../src/main/java/overrungl/util/CStdlib.java | 17 +++++++++++++++++ .../src/main/java/overrungl/glfw/Handles.java | 4 ++-- .../src/main/java/overrungl/nfd/NFD.java | 3 ++- .../src/main/java/overrungl/stb/Handles.java | 3 ++- 6 files changed, 36 insertions(+), 5 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8d882549..a2218098 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -137,7 +137,7 @@ subprojects { val compileOnly by configurations val implementation by configurations dependencies { - compileOnly("org.jetbrains:annotations:24.0.1") + compileOnly("org.jetbrains:annotations:24.1.0") if (project.name != "core") { implementation(project(":core")) } diff --git a/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java b/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java index e4440991..dc117b58 100644 --- a/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java +++ b/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java @@ -30,6 +30,18 @@ public final class OverrunGL { * The version of OverrunGL. */ public static final String VERSION = "0.1.0"; + /** + * The version of GLFW native libraries. + */ + public static final String GLFW_VERSION = "3.3.8.0"; + /** + * The version of NFD native libraries. + */ + public static final String NFD_VERSION = "0.1.0.0"; + /** + * The version of STB native libraries. + */ + public static final String STB_VERSION = "0.1.0.0"; private static final Consumer DEFAULT_LOGGER = System.err::println; private static Consumer apiLogger = DEFAULT_LOGGER; diff --git a/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java b/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java index 1e780730..621ca7ef 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java @@ -326,4 +326,21 @@ public static MemorySegment memset(MemorySegment dest, int c, long count) { throw new AssertionError("should not reach here", e); } } + + /** + * Allocates a string with {@link CStdlib}. + * + * @param s the string. + * @return the memory segment of the allocated string. MUST be released by {@link #free(MemorySegment)}. + */ + public static MemorySegment newString(String s) { + class Holder { + private static final SegmentAllocator ALLOCATOR = (byteSize, byteAlignment) -> { + checkByteSize(byteSize); + checkAlignment(byteAlignment); + return calloc(1, byteSize); + }; + } + return Holder.ALLOCATOR.allocateUtf8String(s); + } } diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java index 997ad047..16004308 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java @@ -18,6 +18,7 @@ import overrungl.Configurations; import overrungl.FunctionDescriptors; +import overrungl.OverrunGL; import overrungl.internal.RuntimeHelper; import java.lang.foreign.FunctionDescriptor; @@ -40,8 +41,7 @@ final class Handles { private static final SymbolLookup lookup; static { - final Supplier lib = () -> RuntimeHelper.load("glfw", "glfw3", - STR. "\{ GLFW.VERSION_MAJOR }.\{ GLFW.VERSION_MINOR }.\{ GLFW.VERSION_REVISION }" ); + final Supplier lib = () -> RuntimeHelper.load("glfw", "glfw3", OverrunGL.GLFW_VERSION); final var function = Configurations.GLFW_SYMBOL_LOOKUP.get(); lookup = function != null ? function.apply(lib) : lib.get(); } diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index 9db59ce9..cc0d0182 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -19,6 +19,7 @@ import overrungl.Configurations; import overrungl.FunctionDescriptors; import overrungl.NativeType; +import overrungl.OverrunGL; import overrungl.internal.RuntimeHelper; import overrungl.os.Platform; import overrungl.util.MemoryStack; @@ -123,7 +124,7 @@ public final class NFD { private static final SymbolLookup LOOKUP; static { - final Supplier lib = () -> RuntimeHelper.load("nfd", "nfd", "0.1.0.0"); + final Supplier lib = () -> RuntimeHelper.load("nfd", "nfd", OverrunGL.NFD_VERSION); final var function = Configurations.NFD_SYMBOL_LOOKUP.get(); LOOKUP = function != null ? function.apply(lib) : lib.get(); } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java index d75b8e21..ff35af8b 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java @@ -18,6 +18,7 @@ import overrungl.Configurations; import overrungl.FunctionDescriptors; +import overrungl.OverrunGL; import overrungl.internal.RuntimeHelper; import java.lang.foreign.Linker; @@ -35,7 +36,7 @@ final class Handles { private static final SymbolLookup lookup; static { - final Supplier lib = () -> RuntimeHelper.load("stb", "stb", "0.1.0.0"); + final Supplier lib = () -> RuntimeHelper.load("stb", "stb", OverrunGL.STB_VERSION); final var function = Configurations.STB_SYMBOL_LOOKUP.get(); lookup = function != null ? function.apply(lib) : lib.get(); } From f880529cf0de0d529d0dd2a7f09b4175628d2d8c Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Wed, 22 Nov 2023 13:41:06 +0800 Subject: [PATCH 28/44] Update document --- .github/ISSUE_TEMPLATE/feature_request.yml | 8 ++++++++ .../pull_request_template.md | 15 +++++++++++++++ README.md | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index de5ea061..ce93dadd 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -33,3 +33,11 @@ body: description: Add any other context or screenshots about the feature request here. placeholder: Other context value: "I want ..." + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Over-Run/overrungl/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 00000000..f2fdcfc0 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,15 @@ +# Summary + +_A brief introduction to your changes..._ + +# Description + +_Full description of your changes..._ + +# Additional Context + +_Other context, such as version, dependencies, ..._ + +--- + +- [ ] I agree to follow this project's [Code of Conduct](https://github.com/Over-Run/overrungl/blob/main/CODE_OF_CONDUCT.md) diff --git a/README.md b/README.md index 36cbea26..29ebb36a 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ natives │ └─ windows │ └─ x64 │ └─ glfw3.dll -├─ nfd https://github.com/Over-Run/nativefiledialog-extended-ci +├─ nfd https://github.com/Over-Run/nfd-ci │ ├─ linux │ │ ├─ arm32 │ │ │ └─ libnfd.so From 3e4cad5c6bca071cf57cd65eea8c1a26815749f3 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 25 Nov 2023 18:44:09 +0800 Subject: [PATCH 29/44] [OpenGL] Update extensions --- .../generator/kotlin/overrungl/opengl/GLNV.kt | 338 ++++++++++++++++++ .../main/java/overrungl/opengl/GLExtCaps.java | 35 +- .../opengl/ext/nv/GLNVPixelDataRange.java | 57 +++ .../opengl/ext/nv/GLNVPointSprite.java | 54 +++ .../opengl/ext/nv/GLNVPresentVideo.java | 89 +++++ .../opengl/ext/nv/GLNVPrimitiveRestart.java | 53 +++ .../ext/nv/GLNVPrimitiveShadingRate.java | 33 ++ .../opengl/ext/nv/GLNVQueryResource.java | 50 +++ .../opengl/ext/nv/GLNVQueryResourceTag.java | 59 +++ .../opengl/ext/nv/GLNVRegisterCombiners.java | 188 ++++++++++ .../opengl/ext/nv/GLNVRegisterCombiners2.java | 52 +++ .../nv/GLNVRepresentativeFragmentTest.java | 32 ++ .../nv/GLNVRobustnessVideoMemoryPurge.java | 32 ++ .../opengl/ext/nv/GLNVSampleLocations.java | 67 ++++ .../opengl/ext/nv/GLNVScissorExclusive.java | 53 +++ .../opengl/ext/nv/GLNVShaderBufferLoad.java | 144 ++++++++ .../opengl/ext/nv/GLNVShaderBufferStore.java | 32 ++ .../ext/nv/GLNVShaderSubgroupPartitioned.java | 32 ++ .../opengl/ext/nv/GLNVShaderThreadGroup.java | 34 ++ .../opengl/ext/nv/GLNVShadingRateImage.java | 112 ++++++ .../ext/nv/GLNVTessellationProgram5.java | 36 ++ .../opengl/ext/nv/GLNVTexgenEmboss.java | 34 ++ .../opengl/ext/nv/GLNVTexgenReflection.java | 33 ++ .../opengl/ext/nv/GLNVTextureBarrier.java | 43 +++ 24 files changed, 1683 insertions(+), 9 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt index 9d8f62a6..c3938ce8 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt @@ -1628,4 +1628,342 @@ fun nv() { "glGetPathTexGenfvNV"(void, GLenum("texCoordSet"), GLenum("pname"), address("value", "GLfloat *")) } file("PathRenderingSharedEdge", NV, "GL_NV_path_rendering_shared_edge", "GL_SHARED_EDGE_NV" to "0xC0") + file("PixelDataRange", NV, "GL_NV_pixel_data_range") { + "GL_WRITE_PIXEL_DATA_RANGE_NV"("0x8878") + "GL_READ_PIXEL_DATA_RANGE_NV"("0x8879") + "GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"("0x887A") + "GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"("0x887B") + "GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"("0x887C") + "GL_READ_PIXEL_DATA_RANGE_POINTER_NV"("0x887D") + "glPixelDataRangeNV"(void, GLenum("target"), GLsizei("length"), address("pointer", "const void *")) + "glFlushPixelDataRangeNV"(void, GLenum("target")) + } + file("PointSprite", NV, "GL_NV_point_sprite") { + "GL_POINT_SPRITE_NV"("0x8861") + "GL_COORD_REPLACE_NV"("0x8862") + "GL_POINT_SPRITE_R_MODE_NV"("0x8863") + "glPointParameteriNV"(void, GLenum("pname"), GLint("param")) + "glPointParameterivNV"(void, GLenum("pname"), address("params", "const GLint *")) + } + file("PresentVideo", NV, "GL_NV_present_video") { + "GL_FRAME_NV"("0x8E26") + "GL_FIELDS_NV"("0x8E27") + "GL_CURRENT_TIME_NV"("0x8E28") + "GL_NUM_FILL_STREAMS_NV"("0x8E29") + "GL_PRESENT_TIME_NV"("0x8E2A") + "GL_PRESENT_DURATION_NV"("0x8E2B") + "glPresentFrameKeyedNV"( + void, + GLuint("video_slot"), + GLuint64EXT("minPresentTime"), + GLuint("beginPresentTimeId"), + GLuint("presentDurationId"), + GLenum("type"), + GLenum("target0"), + GLuint("fill0"), + GLuint("key0"), + GLenum("target1"), + GLuint("fill1"), + GLuint("key1") + ) + "glPresentFrameDualFillNV"( + void, + GLuint("video_slot"), + GLuint64EXT("minPresentTime"), + GLuint("beginPresentTimeId"), + GLuint("presentDurationId"), + GLenum("type"), + GLenum("target0"), + GLuint("fill0"), + GLenum("target1"), + GLuint("fill1"), + GLenum("target2"), + GLuint("fill2"), + GLenum("target3"), + GLuint("fill3") + ) + "glGetVideoivNV"(void, GLuint("video_slot"), GLenum("pname"), address("params", "GLint *")) + "glGetVideouivNV"(void, GLuint("video_slot"), GLenum("pname"), address("params", "GLuint *")) + "glGetVideoi64vNV"(void, GLuint("video_slot"), GLenum("pname"), address("params", "GLint64EXT *")) + "glGetVideoui64vNV"(void, GLuint("video_slot"), GLenum("pname"), address("params", "GLuint64EXT *")) + } + file("PrimitiveRestart", NV, "GL_NV_primitive_restart") { + "GL_PRIMITIVE_RESTART_NV"("0x8558") + "GL_PRIMITIVE_RESTART_INDEX_NV"("0x8559") + "glPrimitiveRestartNV"(void) + "glPrimitiveRestartIndexNV"(void, GLuint("index")) + } + file( + "PrimitiveShadingRate", NV, "GL_NV_primitive_shading_rate", + "GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV" to "0x95B1", + "GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV" to "0x95B2" + ) + file("QueryResource", NV, "GL_NV_query_resource") { + "GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV"("0x9540") + "GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV"("0x9542") + "GL_QUERY_RESOURCE_SYS_RESERVED_NV"("0x9544") + "GL_QUERY_RESOURCE_TEXTURE_NV"("0x9545") + "GL_QUERY_RESOURCE_RENDERBUFFER_NV"("0x9546") + "GL_QUERY_RESOURCE_BUFFEROBJECT_NV"("0x9547") + "glQueryResourceNV"(GLint, GLenum("queryType"), GLint("tagId"), GLuint("count"), address("buffer", "GLint *")) + } + file("QueryResourceTag", NV, "GL_NV_query_resource_tag") { + "glGenQueryResourceTagNV"(void, GLsizei("n"), address("tagIds", "GLint *")) + "glDeleteQueryResourceTagNV"(void, GLsizei("n"), address("tagIds", "const GLint *")) + "glQueryResourceTagNV"(void, GLint("tagId"), address("tagString", "const GLchar *")) + } + file("RegisterCombiners", NV, "GL_NV_register_combiners") { + "GL_REGISTER_COMBINERS_NV"("0x8522") + "GL_VARIABLE_A_NV"("0x8523") + "GL_VARIABLE_B_NV"("0x8524") + "GL_VARIABLE_C_NV"("0x8525") + "GL_VARIABLE_D_NV"("0x8526") + "GL_VARIABLE_E_NV"("0x8527") + "GL_VARIABLE_F_NV"("0x8528") + "GL_VARIABLE_G_NV"("0x8529") + "GL_CONSTANT_COLOR0_NV"("0x852A") + "GL_CONSTANT_COLOR1_NV"("0x852B") + "GL_SPARE0_NV"("0x852E") + "GL_SPARE1_NV"("0x852F") + "GL_DISCARD_NV"("0x8530") + "GL_E_TIMES_F_NV"("0x8531") + "GL_SPARE0_PLUS_SECONDARY_COLOR_NV"("0x8532") + "GL_UNSIGNED_IDENTITY_NV"("0x8536") + "GL_UNSIGNED_INVERT_NV"("0x8537") + "GL_EXPAND_NORMAL_NV"("0x8538") + "GL_EXPAND_NEGATE_NV"("0x8539") + "GL_HALF_BIAS_NORMAL_NV"("0x853A") + "GL_HALF_BIAS_NEGATE_NV"("0x853B") + "GL_SIGNED_IDENTITY_NV"("0x853C") + "GL_SIGNED_NEGATE_NV"("0x853D") + "GL_SCALE_BY_TWO_NV"("0x853E") + "GL_SCALE_BY_FOUR_NV"("0x853F") + "GL_SCALE_BY_ONE_HALF_NV"("0x8540") + "GL_BIAS_BY_NEGATIVE_ONE_HALF_NV"("0x8541") + "GL_COMBINER_INPUT_NV"("0x8542") + "GL_COMBINER_MAPPING_NV"("0x8543") + "GL_COMBINER_COMPONENT_USAGE_NV"("0x8544") + "GL_COMBINER_AB_DOT_PRODUCT_NV"("0x8545") + "GL_COMBINER_CD_DOT_PRODUCT_NV"("0x8546") + "GL_COMBINER_MUX_SUM_NV"("0x8547") + "GL_COMBINER_SCALE_NV"("0x8548") + "GL_COMBINER_BIAS_NV"("0x8549") + "GL_COMBINER_AB_OUTPUT_NV"("0x854A") + "GL_COMBINER_CD_OUTPUT_NV"("0x854B") + "GL_COMBINER_SUM_OUTPUT_NV"("0x854C") + "GL_MAX_GENERAL_COMBINERS_NV"("0x854D") + "GL_NUM_GENERAL_COMBINERS_NV"("0x854E") + "GL_COLOR_SUM_CLAMP_NV"("0x854F") + "GL_COMBINER0_NV"("0x8550") + "GL_COMBINER1_NV"("0x8551") + "GL_COMBINER2_NV"("0x8552") + "GL_COMBINER3_NV"("0x8553") + "GL_COMBINER4_NV"("0x8554") + "GL_COMBINER5_NV"("0x8555") + "GL_COMBINER6_NV"("0x8556") + "GL_COMBINER7_NV"("0x8557") + "glCombinerParameterfvNV"(void, GLenum("pname"), address("params", "const GLfloat *")) + "glCombinerParameterfNV"(void, GLenum("pname"), GLfloat("param")) + "glCombinerParameterivNV"(void, GLenum("pname"), address("params", "const GLint *")) + "glCombinerParameteriNV"(void, GLenum("pname"), GLint("param")) + "glCombinerInputNV"( + void, + GLenum("stage"), + GLenum("portion"), + GLenum("variable"), + GLenum("input"), + GLenum("mapping"), + GLenum("componentUsage") + ) + "glCombinerOutputNV"( + void, + GLenum("stage"), + GLenum("portion"), + GLenum("abOutput"), + GLenum("cdOutput"), + GLenum("sumOutput"), + GLenum("scale"), + GLenum("bias"), + GLboolean("abDotProduct"), + GLboolean("cdDotProduct"), + GLboolean("muxSum") + ) + "glFinalCombinerInputNV"(void, GLenum("variable"), GLenum("input"), GLenum("mapping"), GLenum("componentUsage")) + "glGetCombinerInputParameterfvNV"( + void, + GLenum("stage"), + GLenum("portion"), + GLenum("variable"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetCombinerInputParameterivNV"( + void, + GLenum("stage"), + GLenum("portion"), + GLenum("variable"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetCombinerOutputParameterfvNV"( + void, + GLenum("stage"), + GLenum("portion"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetCombinerOutputParameterivNV"( + void, + GLenum("stage"), + GLenum("portion"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetFinalCombinerInputParameterfvNV"( + void, + GLenum("variable"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetFinalCombinerInputParameterivNV"(void, GLenum("variable"), GLenum("pname"), address("params", "GLint *")) + } + file("RegisterCombiners2", NV, "GL_NV_register_combiners2") { + "GL_PER_STAGE_CONSTANTS_NV"("0x8535") + "glCombinerStageParameterfvNV"(void, GLenum("stage"), GLenum("pname"), address("params", "const GLfloat *")) + "glGetCombinerStageParameterfvNV"(void, GLenum("stage"), GLenum("pname"), address("params", "GLfloat *")) + } + file("RepresentativeFragmentTest", NV, "GL_NV_representative_fragment_test", "GL_REPRESENTATIVE_FRAGMENT_TEST_NV" to "0x937F") + file("RobustnessVideoMemoryPurge", NV, "GL_NV_robustness_video_memory_purge", "GL_PURGED_CONTEXT_RESET_NV" to "0x92BB") + file("SampleLocations", NV, "GL_NV_sample_locations") { + "GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV"("0x933D") + "GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV"("0x933E") + "GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV"("0x933F") + "GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV"("0x9340") + "GL_SAMPLE_LOCATION_NV"("0x8E50") + "GL_PROGRAMMABLE_SAMPLE_LOCATION_NV"("0x9341") + "GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV"("0x9342") + "GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV"("0x9343") + "glFramebufferSampleLocationsfvNV"( + void, + GLenum("target"), + GLuint("start"), + GLsizei("count"), + address("v", "const GLfloat *") + ) + "glNamedFramebufferSampleLocationsfvNV"( + void, + GLuint("framebuffer"), + GLuint("start"), + GLsizei("count"), + address("v", "const GLfloat *") + ) + "glResolveDepthValuesNV"(void) + } + file("ScissorExclusive", NV, "GL_NV_scissor_exclusive") { + "GL_SCISSOR_TEST_EXCLUSIVE_NV"("0x9555") + "GL_SCISSOR_BOX_EXCLUSIVE_NV"("0x9556") + "glScissorExclusiveNV"(void, GLint("x"), GLint("y"), GLsizei("width"), GLsizei("height")) + "glScissorExclusiveArrayvNV"(void, GLuint("first"), GLsizei("count"), address("v", "const GLint *")) + } + file("ShaderBufferLoad", NV, "GL_NV_shader_buffer_load") { + "GL_BUFFER_GPU_ADDRESS_NV"("0x8F1D") + "GL_GPU_ADDRESS_NV"("0x8F34") + "GL_MAX_SHADER_BUFFER_ADDRESS_NV"("0x8F35") + "glMakeBufferResidentNV"(void, GLenum("target"), GLenum("access")) + "glMakeBufferNonResidentNV"(void, GLenum("target")) + "glIsBufferResidentNV"(GLboolean, GLenum("target")) + "glMakeNamedBufferResidentNV"(void, GLuint("buffer"), GLenum("access")) + "glMakeNamedBufferNonResidentNV"(void, GLuint("buffer")) + "glIsNamedBufferResidentNV"(GLboolean, GLuint("buffer")) + "glGetBufferParameterui64vNV"(void, GLenum("target"), GLenum("pname"), address("params", "GLuint64EXT *")) + "glGetNamedBufferParameterui64vNV"(void, GLuint("buffer"), GLenum("pname"), address("params", "GLuint64EXT *")) + "glGetIntegerui64vNV"(void, GLenum("value"), address("result", "GLuint64EXT *")) + "glUniformui64NV"(void, GLint("location"), GLuint64EXT("value")) + "glUniformui64vNV"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint64EXT *")) + "glProgramUniformui64NV"(void, GLuint("program"), GLint("location"), GLuint64EXT("value")) + "glProgramUniformui64vNV"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint64EXT *") + ) + } + file("ShaderBufferStore", NV, "GL_NV_shader_buffer_store", "GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV" to "0x00000010") + file("ShaderSubgroupPartitioned", NV, "GL_NV_shader_subgroup_partitioned", "GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV" to "0x00000100") + file( + "ShaderThreadGroup", NV, "GL_NV_shader_thread_group", + "GL_WARP_SIZE_NV" to "0x9339", + "GL_WARPS_PER_SM_NV" to "0x933A", + "GL_SM_COUNT_NV" to "0x933B", + ) + file("ShadingRateImage", NV, "GL_NV_shading_rate_image") { + "GL_SHADING_RATE_IMAGE_NV"("0x9563") + "GL_SHADING_RATE_NO_INVOCATIONS_NV"("0x9564") + "GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV"("0x9565") + "GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV"("0x9566") + "GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV"("0x9567") + "GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV"("0x9568") + "GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV"("0x9569") + "GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV"("0x956A") + "GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV"("0x956B") + "GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV"("0x956C") + "GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV"("0x956D") + "GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV"("0x956E") + "GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV"("0x956F") + "GL_SHADING_RATE_IMAGE_BINDING_NV"("0x955B") + "GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV"("0x955C") + "GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV"("0x955D") + "GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV"("0x955E") + "GL_MAX_COARSE_FRAGMENT_SAMPLES_NV"("0x955F") + "GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV"("0x95AE") + "GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV"("0x95AF") + "GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV"("0x95B0") + "glBindShadingRateImageNV"(void, GLuint("texture")) + "glGetShadingRateImagePaletteNV"(void, GLuint("viewport"), GLuint("entry"), address("rate", "GLenum *")) + "glGetShadingRateSampleLocationivNV"( + void, + GLenum("rate"), + GLuint("samples"), + GLuint("index"), + address("location", "GLint *") + ) + "glShadingRateImageBarrierNV"(void, GLboolean("synchronize")) + "glShadingRateImagePaletteNV"( + void, + GLuint("viewport"), + GLuint("first"), + GLsizei("count"), + address("rates", "const GLenum *") + ) + "glShadingRateSampleOrderNV"(void, GLenum("order")) + "glShadingRateSampleOrderCustomNV"( + void, + GLenum("rate"), + GLuint("samples"), + address("locations", "const GLint *") + ) + } + file( + "TessellationProgram5", NV, "GL_NV_tessellation_program5", + "GL_MAX_PROGRAM_PATCH_ATTRIBS_NV" to "0x86D8", + "GL_TESS_CONTROL_PROGRAM_NV" to "0x891E", + "GL_TESS_EVALUATION_PROGRAM_NV" to "0x891F", + "GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV" to "0x8C74", + "GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV" to "0x8C75" + ) + file( + "TexgenEmboss", NV, "GL_NV_texgen_emboss", + "GL_EMBOSS_LIGHT_NV" to "0x855D", + "GL_EMBOSS_CONSTANT_NV" to "0x855E", + "GL_EMBOSS_MAP_NV" to "0x855F" + ) + file( + "TexgenReflection", NV, "GL_NV_texgen_reflection", + "GL_NORMAL_MAP_NV" to "0x8511", + "GL_REFLECTION_MAP_NV" to "0x8512" + ) + file("TextureBarrier", NV, "GL_NV_texture_barrier") { + "glTextureBarrierNV"(void) + } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index f1fe5d47..819a2286 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -124,15 +124,19 @@ public GLExtCaps(GLCapabilities caps) { glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, - glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, - glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, - glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, - glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, - glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, - glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, - glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, - glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, - glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, + glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, + glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, + glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, + glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, + glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, + glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, + glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, + glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, + glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, + glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, + glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, + glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -264,6 +268,19 @@ void load(GLLoadFunc load) { GLNVOcculusionQuery.load(this, load); GLNVParameterBufferObject.load(this, load); GLNVPathRendering.load(this, load); + GLNVPixelDataRange.load(this, load); + GLNVPointSprite.load(this, load); + GLNVPresentVideo.load(this, load); + GLNVPrimitiveRestart.load(this, load); + GLNVQueryResource.load(this, load); + GLNVQueryResourceTag.load(this, load); + GLNVRegisterCombiners.load(this, load); + GLNVRegisterCombiners2.load(this, load); + GLNVSampleLocations.load(this, load); + GLNVScissorExclusive.load(this, load); + GLNVShaderBufferLoad.load(this, load); + GLNVShadingRateImage.load(this, load); + GLNVTextureBarrier.load(this, load); GLOVRMultiview.load(this, load); GLPGIMiscHints.load(this, load); GLSGISDetailTexture.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java new file mode 100644 index 00000000..a706583a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPixelDataRange.java @@ -0,0 +1,57 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_pixel_data_range} + */ +public final class GLNVPixelDataRange { + public static final int GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878; + public static final int GL_READ_PIXEL_DATA_RANGE_NV = 0x8879; + public static final int GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; + public static final int GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; + public static final int GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; + public static final int GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_pixel_data_range) return; + ext.glPixelDataRangeNV = load.invoke("glPixelDataRangeNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFlushPixelDataRangeNV = load.invoke("glFlushPixelDataRangeNV", ofVoid(JAVA_INT)); + } + + public static void glPixelDataRangeNV(int target, int length, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelDataRangeNV).invokeExact(target, length, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFlushPixelDataRangeNV(int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glFlushPixelDataRangeNV).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java new file mode 100644 index 00000000..df57ac2e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPointSprite.java @@ -0,0 +1,54 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_point_sprite} + */ +public final class GLNVPointSprite { + public static final int GL_POINT_SPRITE_NV = 0x8861; + public static final int GL_COORD_REPLACE_NV = 0x8862; + public static final int GL_POINT_SPRITE_R_MODE_NV = 0x8863; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_point_sprite) return; + ext.glPointParameteriNV = load.invoke("glPointParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glPointParameterivNV = load.invoke("glPointParameterivNV", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glPointParameteriNV(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointParameteriNV).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPointParameterivNV(int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointParameterivNV).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java new file mode 100644 index 00000000..82f63cdd --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPresentVideo.java @@ -0,0 +1,89 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_present_video} + */ +public final class GLNVPresentVideo { + public static final int GL_FRAME_NV = 0x8E26; + public static final int GL_FIELDS_NV = 0x8E27; + public static final int GL_CURRENT_TIME_NV = 0x8E28; + public static final int GL_NUM_FILL_STREAMS_NV = 0x8E29; + public static final int GL_PRESENT_TIME_NV = 0x8E2A; + public static final int GL_PRESENT_DURATION_NV = 0x8E2B; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_present_video) return; + ext.glPresentFrameKeyedNV = load.invoke("glPresentFrameKeyedNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glPresentFrameDualFillNV = load.invoke("glPresentFrameDualFillNV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetVideoivNV = load.invoke("glGetVideoivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVideouivNV = load.invoke("glGetVideouivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVideoi64vNV = load.invoke("glGetVideoi64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVideoui64vNV = load.invoke("glGetVideoui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glPresentFrameKeyedNV(int video_slot, long minPresentTime, int beginPresentTimeId, int presentDurationId, int type, int target0, int fill0, int key0, int target1, int fill1, int key1) { + final var ext = getExtCapabilities(); + try { + check(ext.glPresentFrameKeyedNV).invokeExact(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPresentFrameDualFillNV(int video_slot, long minPresentTime, int beginPresentTimeId, int presentDurationId, int type, int target0, int fill0, int target1, int fill1, int target2, int fill2, int target3, int fill3) { + final var ext = getExtCapabilities(); + try { + check(ext.glPresentFrameDualFillNV).invokeExact(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideoivNV(int video_slot, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideoivNV).invokeExact(video_slot, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideouivNV(int video_slot, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideouivNV).invokeExact(video_slot, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideoi64vNV(int video_slot, int pname, @NativeType("GLint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideoi64vNV).invokeExact(video_slot, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideoui64vNV(int video_slot, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideoui64vNV).invokeExact(video_slot, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java new file mode 100644 index 00000000..170f31db --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveRestart.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_primitive_restart} + */ +public final class GLNVPrimitiveRestart { + public static final int GL_PRIMITIVE_RESTART_NV = 0x8558; + public static final int GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_primitive_restart) return; + ext.glPrimitiveRestartNV = load.invoke("glPrimitiveRestartNV", ofVoid()); + ext.glPrimitiveRestartIndexNV = load.invoke("glPrimitiveRestartIndexNV", ofVoid(JAVA_INT)); + } + + public static void glPrimitiveRestartNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glPrimitiveRestartNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPrimitiveRestartIndexNV(int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glPrimitiveRestartIndexNV).invokeExact(index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java new file mode 100644 index 00000000..9bc7af3c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVPrimitiveShadingRate.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_primitive_shading_rate} + */ +public final class GLNVPrimitiveShadingRate { + public static final int GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1; + public static final int GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java new file mode 100644 index 00000000..ced4cffb --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResource.java @@ -0,0 +1,50 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_query_resource} + */ +public final class GLNVQueryResource { + public static final int GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540; + public static final int GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542; + public static final int GL_QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544; + public static final int GL_QUERY_RESOURCE_TEXTURE_NV = 0x9545; + public static final int GL_QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546; + public static final int GL_QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_query_resource) return; + ext.glQueryResourceNV = load.invoke("glQueryResourceNV", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static int glQueryResourceNV(int queryType, int tagId, int count, @NativeType("GLint *") MemorySegment buffer) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glQueryResourceNV).invokeExact(queryType, tagId, count, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java new file mode 100644 index 00000000..3d5b7348 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVQueryResourceTag.java @@ -0,0 +1,59 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_query_resource_tag} + */ +public final class GLNVQueryResourceTag { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_query_resource_tag) return; + ext.glGenQueryResourceTagNV = load.invoke("glGenQueryResourceTagNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeleteQueryResourceTagNV = load.invoke("glDeleteQueryResourceTagNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glQueryResourceTagNV = load.invoke("glQueryResourceTagNV", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glGenQueryResourceTagNV(int n, @NativeType("GLint *") MemorySegment tagIds) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenQueryResourceTagNV).invokeExact(n, tagIds); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteQueryResourceTagNV(int n, @NativeType("const GLint *") MemorySegment tagIds) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteQueryResourceTagNV).invokeExact(n, tagIds); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glQueryResourceTagNV(int tagId, @NativeType("const GLchar *") MemorySegment tagString) { + final var ext = getExtCapabilities(); + try { + check(ext.glQueryResourceTagNV).invokeExact(tagId, tagString); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java new file mode 100644 index 00000000..6a407815 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners.java @@ -0,0 +1,188 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_register_combiners} + */ +public final class GLNVRegisterCombiners { + public static final int GL_REGISTER_COMBINERS_NV = 0x8522; + public static final int GL_VARIABLE_A_NV = 0x8523; + public static final int GL_VARIABLE_B_NV = 0x8524; + public static final int GL_VARIABLE_C_NV = 0x8525; + public static final int GL_VARIABLE_D_NV = 0x8526; + public static final int GL_VARIABLE_E_NV = 0x8527; + public static final int GL_VARIABLE_F_NV = 0x8528; + public static final int GL_VARIABLE_G_NV = 0x8529; + public static final int GL_CONSTANT_COLOR0_NV = 0x852A; + public static final int GL_CONSTANT_COLOR1_NV = 0x852B; + public static final int GL_SPARE0_NV = 0x852E; + public static final int GL_SPARE1_NV = 0x852F; + public static final int GL_DISCARD_NV = 0x8530; + public static final int GL_E_TIMES_F_NV = 0x8531; + public static final int GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; + public static final int GL_UNSIGNED_IDENTITY_NV = 0x8536; + public static final int GL_UNSIGNED_INVERT_NV = 0x8537; + public static final int GL_EXPAND_NORMAL_NV = 0x8538; + public static final int GL_EXPAND_NEGATE_NV = 0x8539; + public static final int GL_HALF_BIAS_NORMAL_NV = 0x853A; + public static final int GL_HALF_BIAS_NEGATE_NV = 0x853B; + public static final int GL_SIGNED_IDENTITY_NV = 0x853C; + public static final int GL_SIGNED_NEGATE_NV = 0x853D; + public static final int GL_SCALE_BY_TWO_NV = 0x853E; + public static final int GL_SCALE_BY_FOUR_NV = 0x853F; + public static final int GL_SCALE_BY_ONE_HALF_NV = 0x8540; + public static final int GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; + public static final int GL_COMBINER_INPUT_NV = 0x8542; + public static final int GL_COMBINER_MAPPING_NV = 0x8543; + public static final int GL_COMBINER_COMPONENT_USAGE_NV = 0x8544; + public static final int GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545; + public static final int GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546; + public static final int GL_COMBINER_MUX_SUM_NV = 0x8547; + public static final int GL_COMBINER_SCALE_NV = 0x8548; + public static final int GL_COMBINER_BIAS_NV = 0x8549; + public static final int GL_COMBINER_AB_OUTPUT_NV = 0x854A; + public static final int GL_COMBINER_CD_OUTPUT_NV = 0x854B; + public static final int GL_COMBINER_SUM_OUTPUT_NV = 0x854C; + public static final int GL_MAX_GENERAL_COMBINERS_NV = 0x854D; + public static final int GL_NUM_GENERAL_COMBINERS_NV = 0x854E; + public static final int GL_COLOR_SUM_CLAMP_NV = 0x854F; + public static final int GL_COMBINER0_NV = 0x8550; + public static final int GL_COMBINER1_NV = 0x8551; + public static final int GL_COMBINER2_NV = 0x8552; + public static final int GL_COMBINER3_NV = 0x8553; + public static final int GL_COMBINER4_NV = 0x8554; + public static final int GL_COMBINER5_NV = 0x8555; + public static final int GL_COMBINER6_NV = 0x8556; + public static final int GL_COMBINER7_NV = 0x8557; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_register_combiners) return; + ext.glCombinerParameterfvNV = load.invoke("glCombinerParameterfvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glCombinerParameterfNV = load.invoke("glCombinerParameterfNV", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glCombinerParameterivNV = load.invoke("glCombinerParameterivNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glCombinerParameteriNV = load.invoke("glCombinerParameteriNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glCombinerInputNV = load.invoke("glCombinerInputNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCombinerOutputNV = load.invoke("glCombinerOutputNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glFinalCombinerInputNV = load.invoke("glFinalCombinerInputNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetCombinerInputParameterfvNV = load.invoke("glGetCombinerInputParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetCombinerInputParameterivNV = load.invoke("glGetCombinerInputParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetCombinerOutputParameterfvNV = load.invoke("glGetCombinerOutputParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetCombinerOutputParameterivNV = load.invoke("glGetCombinerOutputParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFinalCombinerInputParameterfvNV = load.invoke("glGetFinalCombinerInputParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFinalCombinerInputParameterivNV = load.invoke("glGetFinalCombinerInputParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glCombinerParameterfvNV(int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glCombinerParameterfvNV).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCombinerParameterfNV(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glCombinerParameterfNV).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCombinerParameterivNV(int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glCombinerParameterivNV).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCombinerParameteriNV(int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glCombinerParameteriNV).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage) { + final var ext = getExtCapabilities(); + try { + check(ext.glCombinerInputNV).invokeExact(stage, portion, variable, input, mapping, componentUsage); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, boolean abDotProduct, boolean cdDotProduct, boolean muxSum) { + final var ext = getExtCapabilities(); + try { + check(ext.glCombinerOutputNV).invokeExact(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage) { + final var ext = getExtCapabilities(); + try { + check(ext.glFinalCombinerInputNV).invokeExact(variable, input, mapping, componentUsage); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCombinerInputParameterfvNV).invokeExact(stage, portion, variable, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCombinerInputParameterivNV).invokeExact(stage, portion, variable, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCombinerOutputParameterfvNV).invokeExact(stage, portion, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCombinerOutputParameterivNV).invokeExact(stage, portion, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFinalCombinerInputParameterfvNV(int variable, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFinalCombinerInputParameterfvNV).invokeExact(variable, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFinalCombinerInputParameterivNV(int variable, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFinalCombinerInputParameterivNV).invokeExact(variable, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java new file mode 100644 index 00000000..3b2add9c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRegisterCombiners2.java @@ -0,0 +1,52 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_register_combiners2} + */ +public final class GLNVRegisterCombiners2 { + public static final int GL_PER_STAGE_CONSTANTS_NV = 0x8535; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_register_combiners2) return; + ext.glCombinerStageParameterfvNV = load.invoke("glCombinerStageParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetCombinerStageParameterfvNV = load.invoke("glGetCombinerStageParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glCombinerStageParameterfvNV(int stage, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glCombinerStageParameterfvNV).invokeExact(stage, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCombinerStageParameterfvNV(int stage, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCombinerStageParameterfvNV).invokeExact(stage, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java new file mode 100644 index 00000000..b951deb0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRepresentativeFragmentTest.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_representative_fragment_test} + */ +public final class GLNVRepresentativeFragmentTest { + public static final int GL_REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java new file mode 100644 index 00000000..d8cfd7b5 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVRobustnessVideoMemoryPurge.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_robustness_video_memory_purge} + */ +public final class GLNVRobustnessVideoMemoryPurge { + public static final int GL_PURGED_CONTEXT_RESET_NV = 0x92BB; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java new file mode 100644 index 00000000..9edb09fe --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVSampleLocations.java @@ -0,0 +1,67 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_sample_locations} + */ +public final class GLNVSampleLocations { + public static final int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; + public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; + public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; + public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; + public static final int GL_SAMPLE_LOCATION_NV = 0x8E50; + public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; + public static final int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; + public static final int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_sample_locations) return; + ext.glFramebufferSampleLocationsfvNV = load.invoke("glFramebufferSampleLocationsfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedFramebufferSampleLocationsfvNV = load.invoke("glNamedFramebufferSampleLocationsfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glResolveDepthValuesNV = load.invoke("glResolveDepthValuesNV", ofVoid()); + } + + public static void glFramebufferSampleLocationsfvNV(int target, int start, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferSampleLocationsfvNV).invokeExact(target, start, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferSampleLocationsfvNV(int framebuffer, int start, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferSampleLocationsfvNV).invokeExact(framebuffer, start, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glResolveDepthValuesNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glResolveDepthValuesNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java new file mode 100644 index 00000000..f3688775 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVScissorExclusive.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_scissor_exclusive} + */ +public final class GLNVScissorExclusive { + public static final int GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; + public static final int GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_scissor_exclusive) return; + ext.glScissorExclusiveNV = load.invoke("glScissorExclusiveNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glScissorExclusiveArrayvNV = load.invoke("glScissorExclusiveArrayvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glScissorExclusiveNV(int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glScissorExclusiveNV).invokeExact(x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glScissorExclusiveArrayvNV(int first, int count, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glScissorExclusiveArrayvNV).invokeExact(first, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java new file mode 100644 index 00000000..3983228f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferLoad.java @@ -0,0 +1,144 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_shader_buffer_load} + */ +public final class GLNVShaderBufferLoad { + public static final int GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D; + public static final int GL_GPU_ADDRESS_NV = 0x8F34; + public static final int GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_shader_buffer_load) return; + ext.glMakeBufferResidentNV = load.invoke("glMakeBufferResidentNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glMakeBufferNonResidentNV = load.invoke("glMakeBufferNonResidentNV", ofVoid(JAVA_INT)); + ext.glIsBufferResidentNV = load.invoke("glIsBufferResidentNV", of(JAVA_BYTE, JAVA_INT)); + ext.glMakeNamedBufferResidentNV = load.invoke("glMakeNamedBufferResidentNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glMakeNamedBufferNonResidentNV = load.invoke("glMakeNamedBufferNonResidentNV", ofVoid(JAVA_INT)); + ext.glIsNamedBufferResidentNV = load.invoke("glIsNamedBufferResidentNV", of(JAVA_BYTE, JAVA_INT)); + ext.glGetBufferParameterui64vNV = load.invoke("glGetBufferParameterui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedBufferParameterui64vNV = load.invoke("glGetNamedBufferParameterui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetIntegerui64vNV = load.invoke("glGetIntegerui64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glUniformui64NV = load.invoke("glUniformui64NV", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glUniformui64vNV = load.invoke("glUniformui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniformui64NV = load.invoke("glProgramUniformui64NV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glProgramUniformui64vNV = load.invoke("glProgramUniformui64vNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glMakeBufferResidentNV(int target, int access) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeBufferResidentNV).invokeExact(target, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMakeBufferNonResidentNV(int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeBufferNonResidentNV).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsBufferResidentNV(int target) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsBufferResidentNV).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMakeNamedBufferResidentNV(int buffer, int access) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeNamedBufferResidentNV).invokeExact(buffer, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMakeNamedBufferNonResidentNV(int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glMakeNamedBufferNonResidentNV).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsNamedBufferResidentNV(int buffer) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsNamedBufferResidentNV).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetBufferParameterui64vNV(int target, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetBufferParameterui64vNV).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedBufferParameterui64vNV(int buffer, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedBufferParameterui64vNV).invokeExact(buffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetIntegerui64vNV(int value, @NativeType("GLuint64EXT *") MemorySegment result) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetIntegerui64vNV).invokeExact(value, result); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniformui64NV(int location, long value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniformui64NV).invokeExact(location, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniformui64vNV(int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniformui64vNV).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformui64NV(int program, int location, long value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformui64NV).invokeExact(program, location, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformui64vNV(int program, int location, int count, @NativeType("const GLuint64EXT *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformui64vNV).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java new file mode 100644 index 00000000..749f3776 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderBufferStore.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_shader_buffer_store} + */ +public final class GLNVShaderBufferStore { + public static final int GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java new file mode 100644 index 00000000..89e25d92 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderSubgroupPartitioned.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_shader_subgroup_partitioned} + */ +public final class GLNVShaderSubgroupPartitioned { + public static final int GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java new file mode 100644 index 00000000..98bfbf57 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShaderThreadGroup.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_shader_thread_group} + */ +public final class GLNVShaderThreadGroup { + public static final int GL_WARP_SIZE_NV = 0x9339; + public static final int GL_WARPS_PER_SM_NV = 0x933A; + public static final int GL_SM_COUNT_NV = 0x933B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java new file mode 100644 index 00000000..5dd4a6ce --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVShadingRateImage.java @@ -0,0 +1,112 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_shading_rate_image} + */ +public final class GLNVShadingRateImage { + public static final int GL_SHADING_RATE_IMAGE_NV = 0x9563; + public static final int GL_SHADING_RATE_NO_INVOCATIONS_NV = 0x9564; + public static final int GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565; + public static final int GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566; + public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567; + public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568; + public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569; + public static final int GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A; + public static final int GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B; + public static final int GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C; + public static final int GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D; + public static final int GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E; + public static final int GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F; + public static final int GL_SHADING_RATE_IMAGE_BINDING_NV = 0x955B; + public static final int GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C; + public static final int GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D; + public static final int GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E; + public static final int GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F; + public static final int GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE; + public static final int GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF; + public static final int GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_shading_rate_image) return; + ext.glBindShadingRateImageNV = load.invoke("glBindShadingRateImageNV", ofVoid(JAVA_INT)); + ext.glGetShadingRateImagePaletteNV = load.invoke("glGetShadingRateImagePaletteNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetShadingRateSampleLocationivNV = load.invoke("glGetShadingRateSampleLocationivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glShadingRateImageBarrierNV = load.invoke("glShadingRateImageBarrierNV", ofVoid(JAVA_BYTE)); + ext.glShadingRateImagePaletteNV = load.invoke("glShadingRateImagePaletteNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glShadingRateSampleOrderNV = load.invoke("glShadingRateSampleOrderNV", ofVoid(JAVA_INT)); + ext.glShadingRateSampleOrderCustomNV = load.invoke("glShadingRateSampleOrderCustomNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glBindShadingRateImageNV(int texture) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindShadingRateImageNV).invokeExact(texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetShadingRateImagePaletteNV(int viewport, int entry, @NativeType("GLenum *") MemorySegment rate) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetShadingRateImagePaletteNV).invokeExact(viewport, entry, rate); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetShadingRateSampleLocationivNV(int rate, int samples, int index, @NativeType("GLint *") MemorySegment location) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetShadingRateSampleLocationivNV).invokeExact(rate, samples, index, location); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glShadingRateImageBarrierNV(boolean synchronize) { + final var ext = getExtCapabilities(); + try { + check(ext.glShadingRateImageBarrierNV).invokeExact(synchronize); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glShadingRateImagePaletteNV(int viewport, int first, int count, @NativeType("const GLenum *") MemorySegment rates) { + final var ext = getExtCapabilities(); + try { + check(ext.glShadingRateImagePaletteNV).invokeExact(viewport, first, count, rates); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glShadingRateSampleOrderNV(int order) { + final var ext = getExtCapabilities(); + try { + check(ext.glShadingRateSampleOrderNV).invokeExact(order); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glShadingRateSampleOrderCustomNV(int rate, int samples, @NativeType("const GLint *") MemorySegment locations) { + final var ext = getExtCapabilities(); + try { + check(ext.glShadingRateSampleOrderCustomNV).invokeExact(rate, samples, locations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java new file mode 100644 index 00000000..47bb0870 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTessellationProgram5.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_tessellation_program5} + */ +public final class GLNVTessellationProgram5 { + public static final int GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; + public static final int GL_TESS_CONTROL_PROGRAM_NV = 0x891E; + public static final int GL_TESS_EVALUATION_PROGRAM_NV = 0x891F; + public static final int GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; + public static final int GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java new file mode 100644 index 00000000..c43382bb --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenEmboss.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texgen_emboss} + */ +public final class GLNVTexgenEmboss { + public static final int GL_EMBOSS_LIGHT_NV = 0x855D; + public static final int GL_EMBOSS_CONSTANT_NV = 0x855E; + public static final int GL_EMBOSS_MAP_NV = 0x855F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java new file mode 100644 index 00000000..7b091106 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTexgenReflection.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texgen_reflection} + */ +public final class GLNVTexgenReflection { + public static final int GL_NORMAL_MAP_NV = 0x8511; + public static final int GL_REFLECTION_MAP_NV = 0x8512; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java new file mode 100644 index 00000000..8670511c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureBarrier.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_barrier} + */ +public final class GLNVTextureBarrier { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_texture_barrier) return; + ext.glTextureBarrierNV = load.invoke("glTextureBarrierNV", ofVoid()); + } + + public static void glTextureBarrierNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureBarrierNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} From 41eeea9ab7fb72793f9fefd113aee6b66a93597b Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 1 Dec 2023 19:20:44 +0800 Subject: [PATCH 30/44] Update Gradle to 8.5 --- gradle/wrapper/gradle-wrapper.jar | Bin 63721 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 14 +++++++------- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7f93135c49b765f8051ef9d0a6055ff8e46073d8..d64cd4917707c1f8861d8cb53dd15194d4248596 100644 GIT binary patch literal 43462 zcma&NWl&^owk(X(xVyW%ySuwf;qI=D6|RlDJ2cR^yEKh!@I- zp9QeisK*rlxC>+~7Dk4IxIRsKBHqdR9b3+fyL=ynHmIDe&|>O*VlvO+%z5;9Z$|DJ zb4dO}-R=MKr^6EKJiOrJdLnCJn>np?~vU-1sSFgPu;pthGwf}bG z(1db%xwr#x)r+`4AGu$j7~u2MpVs3VpLp|mx&;>`0p0vH6kF+D2CY0fVdQOZ@h;A` z{infNyvmFUiu*XG}RNMNwXrbec_*a3N=2zJ|Wh5z* z5rAX$JJR{#zP>KY**>xHTuw?|-Rg|o24V)74HcfVT;WtQHXlE+_4iPE8QE#DUm%x0 zEKr75ur~W%w#-My3Tj`hH6EuEW+8K-^5P62$7Sc5OK+22qj&Pd1;)1#4tKihi=~8C zHiQSst0cpri6%OeaR`PY>HH_;CPaRNty%WTm4{wDK8V6gCZlG@U3$~JQZ;HPvDJcT1V{ z?>H@13MJcCNe#5z+MecYNi@VT5|&UiN1D4ATT+%M+h4c$t;C#UAs3O_q=GxK0}8%8 z8J(_M9bayxN}69ex4dzM_P3oh@ZGREjVvn%%r7=xjkqxJP4kj}5tlf;QosR=%4L5y zWhgejO=vao5oX%mOHbhJ8V+SG&K5dABn6!WiKl{|oPkq(9z8l&Mm%(=qGcFzI=eLu zWc_oCLyf;hVlB@dnwY98?75B20=n$>u3b|NB28H0u-6Rpl((%KWEBOfElVWJx+5yg z#SGqwza7f}$z;n~g%4HDU{;V{gXIhft*q2=4zSezGK~nBgu9-Q*rZ#2f=Q}i2|qOp z!!y4p)4o=LVUNhlkp#JL{tfkhXNbB=Ox>M=n6soptJw-IDI|_$is2w}(XY>a=H52d z3zE$tjPUhWWS+5h=KVH&uqQS=$v3nRs&p$%11b%5qtF}S2#Pc`IiyBIF4%A!;AVoI zXU8-Rpv!DQNcF~(qQnyyMy=-AN~U>#&X1j5BLDP{?K!%h!;hfJI>$mdLSvktEr*89 zdJHvby^$xEX0^l9g$xW-d?J;L0#(`UT~zpL&*cEh$L|HPAu=P8`OQZV!-}l`noSp_ zQ-1$q$R-gDL)?6YaM!=8H=QGW$NT2SeZlb8PKJdc=F-cT@j7Xags+Pr*jPtlHFnf- zh?q<6;)27IdPc^Wdy-mX%2s84C1xZq9Xms+==F4);O`VUASmu3(RlgE#0+#giLh-& zcxm3_e}n4{%|X zJp{G_j+%`j_q5}k{eW&TlP}J2wtZ2^<^E(O)4OQX8FDp6RJq!F{(6eHWSD3=f~(h} zJXCf7=r<16X{pHkm%yzYI_=VDP&9bmI1*)YXZeB}F? z(%QsB5fo*FUZxK$oX~X^69;x~j7ms8xlzpt-T15e9}$4T-pC z6PFg@;B-j|Ywajpe4~bk#S6(fO^|mm1hKOPfA%8-_iGCfICE|=P_~e;Wz6my&)h_~ zkv&_xSAw7AZ%ThYF(4jADW4vg=oEdJGVOs>FqamoL3Np8>?!W#!R-0%2Bg4h?kz5I zKV-rKN2n(vUL%D<4oj@|`eJ>0i#TmYBtYmfla;c!ATW%;xGQ0*TW@PTlGG><@dxUI zg>+3SiGdZ%?5N=8uoLA|$4isK$aJ%i{hECP$bK{J#0W2gQ3YEa zZQ50Stn6hqdfxJ*9#NuSLwKFCUGk@c=(igyVL;;2^wi4o30YXSIb2g_ud$ zgpCr@H0qWtk2hK8Q|&wx)}4+hTYlf;$a4#oUM=V@Cw#!$(nOFFpZ;0lc!qd=c$S}Z zGGI-0jg~S~cgVT=4Vo)b)|4phjStD49*EqC)IPwyeKBLcN;Wu@Aeph;emROAwJ-0< z_#>wVm$)ygH|qyxZaet&(Vf%pVdnvKWJn9`%DAxj3ot;v>S$I}jJ$FLBF*~iZ!ZXE zkvui&p}fI0Y=IDX)mm0@tAd|fEHl~J&K}ZX(Mm3cm1UAuwJ42+AO5@HwYfDH7ipIc zmI;1J;J@+aCNG1M`Btf>YT>~c&3j~Qi@Py5JT6;zjx$cvOQW@3oQ>|}GH?TW-E z1R;q^QFjm5W~7f}c3Ww|awg1BAJ^slEV~Pk`Kd`PS$7;SqJZNj->it4DW2l15}xP6 zoCl$kyEF%yJni0(L!Z&14m!1urXh6Btj_5JYt1{#+H8w?5QI%% zo-$KYWNMJVH?Hh@1n7OSu~QhSswL8x0=$<8QG_zepi_`y_79=nK=_ZP_`Em2UI*tyQoB+r{1QYZCpb?2OrgUw#oRH$?^Tj!Req>XiE#~B|~ z+%HB;=ic+R@px4Ld8mwpY;W^A%8%l8$@B@1m5n`TlKI6bz2mp*^^^1mK$COW$HOfp zUGTz-cN9?BGEp}5A!mDFjaiWa2_J2Iq8qj0mXzk; z66JBKRP{p%wN7XobR0YjhAuW9T1Gw3FDvR5dWJ8ElNYF94eF3ebu+QwKjtvVu4L zI9ip#mQ@4uqVdkl-TUQMb^XBJVLW(-$s;Nq;@5gr4`UfLgF$adIhd?rHOa%D);whv z=;krPp~@I+-Z|r#s3yCH+c1US?dnm+C*)r{m+86sTJusLdNu^sqLrfWed^ndHXH`m zd3#cOe3>w-ga(Dus_^ppG9AC>Iq{y%%CK+Cro_sqLCs{VLuK=dev>OL1dis4(PQ5R zcz)>DjEkfV+MO;~>VUlYF00SgfUo~@(&9$Iy2|G0T9BSP?&T22>K46D zL*~j#yJ?)^*%J3!16f)@Y2Z^kS*BzwfAQ7K96rFRIh>#$*$_Io;z>ux@}G98!fWR@ zGTFxv4r~v)Gsd|pF91*-eaZ3Qw1MH$K^7JhWIdX%o$2kCbvGDXy)a?@8T&1dY4`;L z4Kn+f%SSFWE_rpEpL9bnlmYq`D!6F%di<&Hh=+!VI~j)2mfil03T#jJ_s?}VV0_hp z7T9bWxc>Jm2Z0WMU?`Z$xE74Gu~%s{mW!d4uvKCx@WD+gPUQ zV0vQS(Ig++z=EHN)BR44*EDSWIyT~R4$FcF*VEY*8@l=218Q05D2$|fXKFhRgBIEE zdDFB}1dKkoO^7}{5crKX!p?dZWNz$m>1icsXG2N+((x0OIST9Zo^DW_tytvlwXGpn zs8?pJXjEG;T@qrZi%#h93?FP$!&P4JA(&H61tqQi=opRzNpm zkrG}$^t9&XduK*Qa1?355wd8G2CI6QEh@Ua>AsD;7oRUNLPb76m4HG3K?)wF~IyS3`fXuNM>${?wmB zpVz;?6_(Fiadfd{vUCBM*_kt$+F3J+IojI;9L(gc9n3{sEZyzR9o!_mOwFC#tQ{Q~ zP3-`#uK#tP3Q7~Q;4H|wjZHO8h7e4IuBxl&vz2w~D8)w=Wtg31zpZhz%+kzSzL*dV zwp@{WU4i;hJ7c2f1O;7Mz6qRKeASoIv0_bV=i@NMG*l<#+;INk-^`5w@}Dj~;k=|}qM1vq_P z|GpBGe_IKq|LNy9SJhKOQ$c=5L{Dv|Q_lZl=-ky*BFBJLW9&y_C|!vyM~rQx=!vun z?rZJQB5t}Dctmui5i31C_;_}CEn}_W%>oSXtt>@kE1=JW*4*v4tPp;O6 zmAk{)m!)}34pTWg8{i>($%NQ(Tl;QC@J@FfBoc%Gr&m560^kgSfodAFrIjF}aIw)X zoXZ`@IsMkc8_=w%-7`D6Y4e*CG8k%Ud=GXhsTR50jUnm+R*0A(O3UKFg0`K;qp1bl z7``HN=?39ic_kR|^R^~w-*pa?Vj#7|e9F1iRx{GN2?wK!xR1GW!qa=~pjJb-#u1K8 zeR?Y2i-pt}yJq;SCiVHODIvQJX|ZJaT8nO+(?HXbLefulKKgM^B(UIO1r+S=7;kLJ zcH}1J=Px2jsh3Tec&v8Jcbng8;V-`#*UHt?hB(pmOipKwf3Lz8rG$heEB30Sg*2rx zV<|KN86$soN(I!BwO`1n^^uF2*x&vJ$2d$>+`(romzHP|)K_KkO6Hc>_dwMW-M(#S zK(~SiXT1@fvc#U+?|?PniDRm01)f^#55;nhM|wi?oG>yBsa?~?^xTU|fX-R(sTA+5 zaq}-8Tx7zrOy#3*JLIIVsBmHYLdD}!0NP!+ITW+Thn0)8SS!$@)HXwB3tY!fMxc#1 zMp3H?q3eD?u&Njx4;KQ5G>32+GRp1Ee5qMO0lZjaRRu&{W<&~DoJNGkcYF<5(Ab+J zgO>VhBl{okDPn78<%&e2mR{jwVCz5Og;*Z;;3%VvoGo_;HaGLWYF7q#jDX=Z#Ml`H z858YVV$%J|e<1n`%6Vsvq7GmnAV0wW4$5qQ3uR@1i>tW{xrl|ExywIc?fNgYlA?C5 zh$ezAFb5{rQu6i7BSS5*J-|9DQ{6^BVQ{b*lq`xS@RyrsJN?-t=MTMPY;WYeKBCNg z^2|pN!Q^WPJuuO4!|P@jzt&tY1Y8d%FNK5xK(!@`jO2aEA*4 zkO6b|UVBipci?){-Ke=+1;mGlND8)6+P;8sq}UXw2hn;fc7nM>g}GSMWu&v&fqh

    iViYT=fZ(|3Ox^$aWPp4a8h24tD<|8-!aK0lHgL$N7Efw}J zVIB!7=T$U`ao1?upi5V4Et*-lTG0XvExbf!ya{cua==$WJyVG(CmA6Of*8E@DSE%L z`V^$qz&RU$7G5mg;8;=#`@rRG`-uS18$0WPN@!v2d{H2sOqP|!(cQ@ zUHo!d>>yFArLPf1q`uBvY32miqShLT1B@gDL4XoVTK&@owOoD)OIHXrYK-a1d$B{v zF^}8D3Y^g%^cnvScOSJR5QNH+BI%d|;J;wWM3~l>${fb8DNPg)wrf|GBP8p%LNGN# z3EaIiItgwtGgT&iYCFy9-LG}bMI|4LdmmJt@V@% zb6B)1kc=T)(|L@0;wr<>=?r04N;E&ef+7C^`wPWtyQe(*pD1pI_&XHy|0gIGHMekd zF_*M4yi6J&Z4LQj65)S zXwdM{SwUo%3SbPwFsHgqF@V|6afT|R6?&S;lw=8% z3}@9B=#JI3@B*#4s!O))~z zc>2_4Q_#&+5V`GFd?88^;c1i7;Vv_I*qt!_Yx*n=;rj!82rrR2rQ8u5(Ejlo{15P% zs~!{%XJ>FmJ})H^I9bn^Re&38H{xA!0l3^89k(oU;bZWXM@kn$#aoS&Y4l^-WEn-fH39Jb9lA%s*WsKJQl?n9B7_~P z-XM&WL7Z!PcoF6_D>V@$CvUIEy=+Z&0kt{szMk=f1|M+r*a43^$$B^MidrT0J;RI` z(?f!O<8UZkm$_Ny$Hth1J#^4ni+im8M9mr&k|3cIgwvjAgjH z8`N&h25xV#v*d$qBX5jkI|xOhQn!>IYZK7l5#^P4M&twe9&Ey@@GxYMxBZq2e7?`q z$~Szs0!g{2fGcp9PZEt|rdQ6bhAgpcLHPz?f-vB?$dc*!9OL?Q8mn7->bFD2Si60* z!O%y)fCdMSV|lkF9w%x~J*A&srMyYY3{=&$}H zGQ4VG_?$2X(0|vT0{=;W$~icCI{b6W{B!Q8xdGhF|D{25G_5_+%s(46lhvNLkik~R z>nr(&C#5wwOzJZQo9m|U<;&Wk!_#q|V>fsmj1g<6%hB{jGoNUPjgJslld>xmODzGjYc?7JSuA?A_QzjDw5AsRgi@Y|Z0{F{!1=!NES-#*f^s4l0Hu zz468))2IY5dmD9pa*(yT5{EyP^G>@ZWumealS-*WeRcZ}B%gxq{MiJ|RyX-^C1V=0 z@iKdrGi1jTe8Ya^x7yyH$kBNvM4R~`fbPq$BzHum-3Zo8C6=KW@||>zsA8-Y9uV5V z#oq-f5L5}V<&wF4@X@<3^C%ptp6+Ce)~hGl`kwj)bsAjmo_GU^r940Z-|`<)oGnh7 zFF0Tde3>ui?8Yj{sF-Z@)yQd~CGZ*w-6p2U<8}JO-sRsVI5dBji`01W8A&3$?}lxBaC&vn0E$c5tW* zX>5(zzZ=qn&!J~KdsPl;P@bmA-Pr8T*)eh_+Dv5=Ma|XSle6t(k8qcgNyar{*ReQ8 zTXwi=8vr>!3Ywr+BhggHDw8ke==NTQVMCK`$69fhzEFB*4+H9LIvdt-#IbhZvpS}} zO3lz;P?zr0*0$%-Rq_y^k(?I{Mk}h@w}cZpMUp|ucs55bcloL2)($u%mXQw({Wzc~ z;6nu5MkjP)0C(@%6Q_I_vsWrfhl7Zpoxw#WoE~r&GOSCz;_ro6i(^hM>I$8y>`!wW z*U^@?B!MMmb89I}2(hcE4zN2G^kwyWCZp5JG>$Ez7zP~D=J^LMjSM)27_0B_X^C(M z`fFT+%DcKlu?^)FCK>QzSnV%IsXVcUFhFdBP!6~se&xxrIxsvySAWu++IrH;FbcY$ z2DWTvSBRfLwdhr0nMx+URA$j3i7_*6BWv#DXfym?ZRDcX9C?cY9sD3q)uBDR3uWg= z(lUIzB)G$Hr!){>E{s4Dew+tb9kvToZp-1&c?y2wn@Z~(VBhqz`cB;{E4(P3N2*nJ z_>~g@;UF2iG{Kt(<1PyePTKahF8<)pozZ*xH~U-kfoAayCwJViIrnqwqO}7{0pHw$ zs2Kx?s#vQr7XZ264>5RNKSL8|Ty^=PsIx^}QqOOcfpGUU4tRkUc|kc7-!Ae6!+B{o~7nFpm3|G5^=0#Bnm6`V}oSQlrX(u%OWnC zoLPy&Q;1Jui&7ST0~#+}I^&?vcE*t47~Xq#YwvA^6^} z`WkC)$AkNub|t@S!$8CBlwbV~?yp&@9h{D|3z-vJXgzRC5^nYm+PyPcgRzAnEi6Q^gslXYRv4nycsy-SJu?lMps-? zV`U*#WnFsdPLL)Q$AmD|0`UaC4ND07+&UmOu!eHruzV|OUox<+Jl|Mr@6~C`T@P%s zW7sgXLF2SSe9Fl^O(I*{9wsFSYb2l%-;&Pi^dpv!{)C3d0AlNY6!4fgmSgj_wQ*7Am7&$z;Jg&wgR-Ih;lUvWS|KTSg!&s_E9_bXBkZvGiC6bFKDWZxsD$*NZ#_8bl zG1P-#@?OQzED7@jlMJTH@V!6k;W>auvft)}g zhoV{7$q=*;=l{O>Q4a@ ziMjf_u*o^PsO)#BjC%0^h>Xp@;5$p{JSYDt)zbb}s{Kbt!T*I@Pk@X0zds6wsefuU zW$XY%yyRGC94=6mf?x+bbA5CDQ2AgW1T-jVAJbm7K(gp+;v6E0WI#kuACgV$r}6L? zd|Tj?^%^*N&b>Dd{Wr$FS2qI#Ucs1yd4N+RBUQiSZGujH`#I)mG&VKoDh=KKFl4=G z&MagXl6*<)$6P}*Tiebpz5L=oMaPrN+caUXRJ`D?=K9!e0f{@D&cZLKN?iNP@X0aF zE(^pl+;*T5qt?1jRC=5PMgV!XNITRLS_=9{CJExaQj;lt!&pdzpK?8p>%Mb+D z?yO*uSung=-`QQ@yX@Hyd4@CI^r{2oiu`%^bNkz+Nkk!IunjwNC|WcqvX~k=><-I3 zDQdbdb|!v+Iz01$w@aMl!R)koD77Xp;eZwzSl-AT zr@Vu{=xvgfq9akRrrM)}=!=xcs+U1JO}{t(avgz`6RqiiX<|hGG1pmop8k6Q+G_mv zJv|RfDheUp2L3=^C=4aCBMBn0aRCU(DQwX-W(RkRwmLeuJYF<0urcaf(=7)JPg<3P zQs!~G)9CT18o!J4{zX{_e}4eS)U-E)0FAt}wEI(c0%HkxgggW;(1E=>J17_hsH^sP z%lT0LGgbUXHx-K*CI-MCrP66UP0PvGqM$MkeLyqHdbgP|_Cm!7te~b8p+e6sQ_3k| zVcwTh6d83ltdnR>D^)BYQpDKlLk3g0Hdcgz2}%qUs9~~Rie)A-BV1mS&naYai#xcZ z(d{8=-LVpTp}2*y)|gR~;qc7fp26}lPcLZ#=JpYcn3AT9(UIdOyg+d(P5T7D&*P}# zQCYplZO5|7+r19%9e`v^vfSS1sbX1c%=w1;oyruXB%Kl$ACgKQ6=qNWLsc=28xJjg zwvsI5-%SGU|3p>&zXVl^vVtQT3o-#$UT9LI@Npz~6=4!>mc431VRNN8od&Ul^+G_kHC`G=6WVWM z%9eWNyy(FTO|A+@x}Ou3CH)oi;t#7rAxdIXfNFwOj_@Y&TGz6P_sqiB`Q6Lxy|Q{`|fgmRG(k+!#b*M+Z9zFce)f-7;?Km5O=LHV9f9_87; zF7%R2B+$?@sH&&-$@tzaPYkw0;=i|;vWdI|Wl3q_Zu>l;XdIw2FjV=;Mq5t1Q0|f< zs08j54Bp`3RzqE=2enlkZxmX6OF+@|2<)A^RNQpBd6o@OXl+i)zO%D4iGiQNuXd+zIR{_lb96{lc~bxsBveIw6umhShTX+3@ZJ=YHh@ zWY3(d0azg;7oHn>H<>?4@*RQbi>SmM=JrHvIG(~BrvI)#W(EAeO6fS+}mxxcc+X~W6&YVl86W9WFSS}Vz-f9vS?XUDBk)3TcF z8V?$4Q)`uKFq>xT=)Y9mMFVTUk*NIA!0$?RP6Ig0TBmUFrq*Q-Agq~DzxjStQyJ({ zBeZ;o5qUUKg=4Hypm|}>>L=XKsZ!F$yNTDO)jt4H0gdQ5$f|d&bnVCMMXhNh)~mN z@_UV6D7MVlsWz+zM+inZZp&P4fj=tm6fX)SG5H>OsQf_I8c~uGCig$GzuwViK54bcgL;VN|FnyQl>Ed7(@>=8$a_UKIz|V6CeVSd2(P z0Uu>A8A+muM%HLFJQ9UZ5c)BSAv_zH#1f02x?h9C}@pN@6{>UiAp>({Fn(T9Q8B z^`zB;kJ5b`>%dLm+Ol}ty!3;8f1XDSVX0AUe5P#@I+FQ-`$(a;zNgz)4x5hz$Hfbg z!Q(z26wHLXko(1`;(BAOg_wShpX0ixfWq3ponndY+u%1gyX)_h=v1zR#V}#q{au6; z!3K=7fQwnRfg6FXtNQmP>`<;!N137paFS%y?;lb1@BEdbvQHYC{976l`cLqn;b8lp zIDY>~m{gDj(wfnK!lpW6pli)HyLEiUrNc%eXTil|F2s(AY+LW5hkKb>TQ3|Q4S9rr zpDs4uK_co6XPsn_z$LeS{K4jFF`2>U`tbgKdyDne`xmR<@6AA+_hPNKCOR-Zqv;xk zu5!HsBUb^!4uJ7v0RuH-7?l?}b=w5lzzXJ~gZcxRKOovSk@|#V+MuX%Y+=;14i*%{)_gSW9(#4%)AV#3__kac1|qUy!uyP{>?U#5wYNq}y$S9pCc zFc~4mgSC*G~j0u#qqp9 z${>3HV~@->GqEhr_Xwoxq?Hjn#=s2;i~g^&Hn|aDKpA>Oc%HlW(KA1?BXqpxB;Ydx)w;2z^MpjJ(Qi(X!$5RC z*P{~%JGDQqojV>2JbEeCE*OEu!$XJ>bWA9Oa_Hd;y)F%MhBRi*LPcdqR8X`NQ&1L# z5#9L*@qxrx8n}LfeB^J{%-?SU{FCwiWyHp682F+|pa+CQa3ZLzBqN1{)h4d6+vBbV zC#NEbQLC;}me3eeYnOG*nXOJZEU$xLZ1<1Y=7r0(-U0P6-AqwMAM`a(Ed#7vJkn6plb4eI4?2y3yOTGmmDQ!z9`wzbf z_OY#0@5=bnep;MV0X_;;SJJWEf^E6Bd^tVJ9znWx&Ks8t*B>AM@?;D4oWUGc z!H*`6d7Cxo6VuyS4Eye&L1ZRhrRmN6Lr`{NL(wDbif|y&z)JN>Fl5#Wi&mMIr5i;x zBx}3YfF>>8EC(fYnmpu~)CYHuHCyr5*`ECap%t@y=jD>!_%3iiE|LN$mK9>- zHdtpy8fGZtkZF?%TW~29JIAfi2jZT8>OA7=h;8T{{k?c2`nCEx9$r zS+*&vt~2o^^J+}RDG@+9&M^K*z4p{5#IEVbz`1%`m5c2};aGt=V?~vIM}ZdPECDI)47|CWBCfDWUbxBCnmYivQ*0Nu_xb*C>~C9(VjHM zxe<*D<#dQ8TlpMX2c@M<9$w!RP$hpG4cs%AI){jp*Sj|*`m)5(Bw*A0$*i-(CA5#%>a)$+jI2C9r6|(>J8InryENI z$NohnxDUB;wAYDwrb*!N3noBTKPpPN}~09SEL18tkG zxgz(RYU_;DPT{l?Q$+eaZaxnsWCA^ds^0PVRkIM%bOd|G2IEBBiz{&^JtNsODs;5z zICt_Zj8wo^KT$7Bg4H+y!Df#3mbl%%?|EXe!&(Vmac1DJ*y~3+kRKAD=Ovde4^^%~ zw<9av18HLyrf*_>Slp;^i`Uy~`mvBjZ|?Ad63yQa#YK`4+c6;pW4?XIY9G1(Xh9WO8{F-Aju+nS9Vmv=$Ac0ienZ+p9*O%NG zMZKy5?%Z6TAJTE?o5vEr0r>f>hb#2w2U3DL64*au_@P!J!TL`oH2r*{>ffu6|A7tv zL4juf$DZ1MW5ZPsG!5)`k8d8c$J$o;%EIL0va9&GzWvkS%ZsGb#S(?{!UFOZ9<$a| zY|a+5kmD5N&{vRqkgY>aHsBT&`rg|&kezoD)gP0fsNYHsO#TRc_$n6Lf1Z{?+DLziXlHrq4sf(!>O{?Tj;Eh@%)+nRE_2VxbN&&%%caU#JDU%vL3}Cb zsb4AazPI{>8H&d=jUaZDS$-0^AxE@utGs;-Ez_F(qC9T=UZX=>ok2k2 ziTn{K?y~a5reD2A)P${NoI^>JXn>`IeArow(41c-Wm~)wiryEP(OS{YXWi7;%dG9v zI?mwu1MxD{yp_rrk!j^cKM)dc4@p4Ezyo%lRN|XyD}}>v=Xoib0gOcdXrQ^*61HNj z=NP|pd>@yfvr-=m{8$3A8TQGMTE7g=z!%yt`8`Bk-0MMwW~h^++;qyUP!J~ykh1GO z(FZ59xuFR$(WE;F@UUyE@Sp>`aVNjyj=Ty>_Vo}xf`e7`F;j-IgL5`1~-#70$9_=uBMq!2&1l zomRgpD58@)YYfvLtPW}{C5B35R;ZVvB<<#)x%srmc_S=A7F@DW8>QOEGwD6suhwCg z>Pa+YyULhmw%BA*4yjDp|2{!T98~<6Yfd(wo1mQ!KWwq0eg+6)o1>W~f~kL<-S+P@$wx*zeI|1t7z#Sxr5 zt6w+;YblPQNplq4Z#T$GLX#j6yldXAqj>4gAnnWtBICUnA&-dtnlh=t0Ho_vEKwV` z)DlJi#!@nkYV#$!)@>udAU*hF?V`2$Hf=V&6PP_|r#Iv*J$9)pF@X3`k;5})9^o4y z&)~?EjX5yX12O(BsFy-l6}nYeuKkiq`u9145&3Ssg^y{5G3Pse z9w(YVa0)N-fLaBq1`P!_#>SS(8fh_5!f{UrgZ~uEdeMJIz7DzI5!NHHqQtm~#CPij z?=N|J>nPR6_sL7!f4hD_|KH`vf8(Wpnj-(gPWH+ZvID}%?~68SwhPTC3u1_cB`otq z)U?6qo!ZLi5b>*KnYHWW=3F!p%h1;h{L&(Q&{qY6)_qxNfbP6E3yYpW!EO+IW3?@J z);4>g4gnl^8klu7uA>eGF6rIGSynacogr)KUwE_R4E5Xzi*Qir@b-jy55-JPC8c~( zo!W8y9OGZ&`xmc8;=4-U9=h{vCqfCNzYirONmGbRQlR`WWlgnY+1wCXbMz&NT~9*| z6@FrzP!LX&{no2!Ln_3|I==_4`@}V?4a;YZKTdw;vT<+K+z=uWbW(&bXEaWJ^W8Td z-3&1bY^Z*oM<=M}LVt>_j+p=2Iu7pZmbXrhQ_k)ysE9yXKygFNw$5hwDn(M>H+e1&9BM5!|81vd%r%vEm zqxY3?F@fb6O#5UunwgAHR9jp_W2zZ}NGp2%mTW@(hz7$^+a`A?mb8|_G*GNMJ) zjqegXQio=i@AINre&%ofexAr95aop5C+0MZ0m-l=MeO8m3epm7U%vZB8+I+C*iNFM z#T3l`gknX;D$-`2XT^Cg*vrv=RH+P;_dfF++cP?B_msQI4j+lt&rX2)3GaJx%W*Nn zkML%D{z5tpHH=dksQ*gzc|}gzW;lwAbxoR07VNgS*-c3d&8J|;@3t^ zVUz*J*&r7DFRuFVDCJDK8V9NN5hvpgGjwx+5n)qa;YCKe8TKtdnh{I7NU9BCN!0dq zczrBk8pE{{@vJa9ywR@mq*J=v+PG;?fwqlJVhijG!3VmIKs>9T6r7MJpC)m!Tc#>g zMtVsU>wbwFJEfwZ{vB|ZlttNe83)$iz`~#8UJ^r)lJ@HA&G#}W&ZH*;k{=TavpjWE z7hdyLZPf*X%Gm}i`Y{OGeeu^~nB8=`{r#TUrM-`;1cBvEd#d!kPqIgYySYhN-*1;L z^byj%Yi}Gx)Wnkosi337BKs}+5H5dth1JA{Ir-JKN$7zC)*}hqeoD(WfaUDPT>0`- z(6sa0AoIqASwF`>hP}^|)a_j2s^PQn*qVC{Q}htR z5-)duBFXT_V56-+UohKXlq~^6uf!6sA#ttk1o~*QEy_Y-S$gAvq47J9Vtk$5oA$Ct zYhYJ@8{hsC^98${!#Ho?4y5MCa7iGnfz}b9jE~h%EAAv~Qxu)_rAV;^cygV~5r_~?l=B`zObj7S=H=~$W zPtI_m%g$`kL_fVUk9J@>EiBH zOO&jtn~&`hIFMS5S`g8w94R4H40mdNUH4W@@XQk1sr17b{@y|JB*G9z1|CrQjd+GX z6+KyURG3;!*BQrentw{B2R&@2&`2}n(z-2&X7#r!{yg@Soy}cRD~j zj9@UBW+N|4HW4AWapy4wfUI- zZ`gSL6DUlgj*f1hSOGXG0IVH8HxK?o2|3HZ;KW{K+yPAlxtb)NV_2AwJm|E)FRs&& z=c^e7bvUsztY|+f^k7NXs$o1EUq>cR7C0$UKi6IooHWlK_#?IWDkvywnzg&ThWo^? z2O_N{5X39#?eV9l)xI(>@!vSB{DLt*oY!K1R8}_?%+0^C{d9a%N4 zoxHVT1&Lm|uDX%$QrBun5e-F`HJ^T$ zmzv)p@4ZHd_w9!%Hf9UYNvGCw2TTTbrj9pl+T9%-_-}L(tES>Or-}Z4F*{##n3~L~TuxjirGuIY#H7{%$E${?p{Q01 zi6T`n;rbK1yIB9jmQNycD~yZq&mbIsFWHo|ZAChSFPQa<(%d8mGw*V3fh|yFoxOOiWJd(qvVb!Z$b88cg->N=qO*4k~6;R==|9ihg&riu#P~s4Oap9O7f%crSr^rljeIfXDEg>wi)&v*a%7zpz<9w z*r!3q9J|390x`Zk;g$&OeN&ctp)VKRpDSV@kU2Q>jtok($Y-*x8_$2piTxun81@vt z!Vj?COa0fg2RPXMSIo26T=~0d`{oGP*eV+$!0I<(4azk&Vj3SiG=Q!6mX0p$z7I}; z9BJUFgT-K9MQQ-0@Z=^7R<{bn2Fm48endsSs`V7_@%8?Bxkqv>BDoVcj?K#dV#uUP zL1ND~?D-|VGKe3Rw_7-Idpht>H6XRLh*U7epS6byiGvJpr%d}XwfusjH9g;Z98H`x zyde%%5mhGOiL4wljCaWCk-&uE4_OOccb9c!ZaWt4B(wYl!?vyzl%7n~QepN&eFUrw zFIOl9c({``6~QD+43*_tzP{f2x41h(?b43^y6=iwyB)2os5hBE!@YUS5?N_tXd=h( z)WE286Fbd>R4M^P{!G)f;h<3Q>Fipuy+d2q-)!RyTgt;wr$(?9ox3;q+{E*ZQHhOn;lM`cjnu9 zXa48ks-v(~b*;MAI<>YZH(^NV8vjb34beE<_cwKlJoR;k6lJNSP6v}uiyRD?|0w+X@o1ONrH8a$fCxXpf? z?$DL0)7|X}Oc%h^zrMKWc-NS9I0Utu@>*j}b@tJ=ixQSJ={4@854wzW@E>VSL+Y{i z#0b=WpbCZS>kUCO_iQz)LoE>P5LIG-hv9E+oG}DtlIDF>$tJ1aw9^LuhLEHt?BCj& z(O4I8v1s#HUi5A>nIS-JK{v!7dJx)^Yg%XjNmlkWAq2*cv#tHgz`Y(bETc6CuO1VkN^L-L3j_x<4NqYb5rzrLC-7uOv z!5e`GZt%B782C5-fGnn*GhDF$%(qP<74Z}3xx+{$4cYKy2ikxI7B2N+2r07DN;|-T->nU&!=Cm#rZt%O_5c&1Z%nlWq3TKAW0w zQqemZw_ue--2uKQsx+niCUou?HjD`xhEjjQd3%rrBi82crq*~#uA4+>vR<_S{~5ce z-2EIl?~s z1=GVL{NxP1N3%=AOaC}j_Fv=ur&THz zyO!d9kHq|c73kpq`$+t+8Bw7MgeR5~`d7ChYyGCBWSteTB>8WAU(NPYt2Dk`@#+}= zI4SvLlyk#pBgVigEe`?NG*vl7V6m+<}%FwPV=~PvvA)=#ths==DRTDEYh4V5}Cf$z@#;< zyWfLY_5sP$gc3LLl2x+Ii)#b2nhNXJ{R~vk`s5U7Nyu^3yFg&D%Txwj6QezMX`V(x z=C`{76*mNb!qHHs)#GgGZ_7|vkt9izl_&PBrsu@}L`X{95-2jf99K)0=*N)VxBX2q z((vkpP2RneSIiIUEnGb?VqbMb=Zia+rF~+iqslydE34cSLJ&BJW^3knX@M;t*b=EA zNvGzv41Ld_T+WT#XjDB840vovUU^FtN_)G}7v)1lPetgpEK9YS^OWFkPoE{ovj^=@ zO9N$S=G$1ecndT_=5ehth2Lmd1II-PuT~C9`XVePw$y8J#dpZ?Tss<6wtVglm(Ok7 z3?^oi@pPio6l&!z8JY(pJvG=*pI?GIOu}e^EB6QYk$#FJQ%^AIK$I4epJ+9t?KjqA+bkj&PQ*|vLttme+`9G=L% ziadyMw_7-M)hS(3E$QGNCu|o23|%O+VN7;Qggp?PB3K-iSeBa2b}V4_wY`G1Jsfz4 z9|SdB^;|I8E8gWqHKx!vj_@SMY^hLEIbSMCuE?WKq=c2mJK z8LoG-pnY!uhqFv&L?yEuxo{dpMTsmCn)95xanqBrNPTgXP((H$9N${Ow~Is-FBg%h z53;|Y5$MUN)9W2HBe2TD`ct^LHI<(xWrw}$qSoei?}s)&w$;&!14w6B6>Yr6Y8b)S z0r71`WmAvJJ`1h&poLftLUS6Ir zC$bG9!Im_4Zjse)#K=oJM9mHW1{%l8sz$1o?ltdKlLTxWWPB>Vk22czVt|1%^wnN@*!l)}?EgtvhC>vlHm^t+ogpgHI1_$1ox9e;>0!+b(tBrmXRB`PY1vp-R**8N7 zGP|QqI$m(Rdu#=(?!(N}G9QhQ%o!aXE=aN{&wtGP8|_qh+7a_j_sU5|J^)vxq;# zjvzLn%_QPHZZIWu1&mRAj;Sa_97p_lLq_{~j!M9N^1yp3U_SxRqK&JnR%6VI#^E12 z>CdOVI^_9aPK2eZ4h&^{pQs}xsijXgFYRIxJ~N7&BB9jUR1fm!(xl)mvy|3e6-B3j zJn#ajL;bFTYJ2+Q)tDjx=3IklO@Q+FFM}6UJr6km7hj7th9n_&JR7fnqC!hTZoM~T zBeaVFp%)0cbPhejX<8pf5HyRUj2>aXnXBqDJe73~J%P(2C?-RT{c3NjE`)om! zl$uewSgWkE66$Kb34+QZZvRn`fob~Cl9=cRk@Es}KQm=?E~CE%spXaMO6YmrMl%9Q zlA3Q$3|L1QJ4?->UjT&CBd!~ru{Ih^in&JXO=|<6J!&qp zRe*OZ*cj5bHYlz!!~iEKcuE|;U4vN1rk$xq6>bUWD*u(V@8sG^7>kVuo(QL@Ki;yL zWC!FT(q{E8#on>%1iAS0HMZDJg{Z{^!De(vSIq&;1$+b)oRMwA3nc3mdTSG#3uYO_ z>+x;7p4I;uHz?ZB>dA-BKl+t-3IB!jBRgdvAbW!aJ(Q{aT>+iz?91`C-xbe)IBoND z9_Xth{6?(y3rddwY$GD65IT#f3<(0o#`di{sh2gm{dw*#-Vnc3r=4==&PU^hCv$qd zjw;>i&?L*Wq#TxG$mFIUf>eK+170KG;~+o&1;Tom9}}mKo23KwdEM6UonXgc z!6N(@k8q@HPw{O8O!lAyi{rZv|DpgfU{py+j(X_cwpKqcalcqKIr0kM^%Br3SdeD> zHSKV94Yxw;pjzDHo!Q?8^0bb%L|wC;4U^9I#pd5O&eexX+Im{ z?jKnCcsE|H?{uGMqVie_C~w7GX)kYGWAg%-?8|N_1#W-|4F)3YTDC+QSq1s!DnOML3@d`mG%o2YbYd#jww|jD$gotpa)kntakp#K;+yo-_ZF9qrNZw<%#C zuPE@#3RocLgPyiBZ+R_-FJ_$xP!RzWm|aN)S+{$LY9vvN+IW~Kf3TsEIvP+B9Mtm! zpfNNxObWQpLoaO&cJh5>%slZnHl_Q~(-Tfh!DMz(dTWld@LG1VRF`9`DYKhyNv z2pU|UZ$#_yUx_B_|MxUq^glT}O5Xt(Vm4Mr02><%C)@v;vPb@pT$*yzJ4aPc_FZ3z z3}PLoMBIM>q_9U2rl^sGhk1VUJ89=*?7|v`{!Z{6bqFMq(mYiA?%KbsI~JwuqVA9$H5vDE+VocjX+G^%bieqx->s;XWlKcuv(s%y%D5Xbc9+ zc(_2nYS1&^yL*ey664&4`IoOeDIig}y-E~_GS?m;D!xv5-xwz+G`5l6V+}CpeJDi^ z%4ed$qowm88=iYG+(`ld5Uh&>Dgs4uPHSJ^TngXP_V6fPyl~>2bhi20QB%lSd#yYn zO05?KT1z@?^-bqO8Cg`;ft>ilejsw@2%RR7;`$Vs;FmO(Yr3Fp`pHGr@P2hC%QcA|X&N2Dn zYf`MqXdHi%cGR@%y7Rg7?d3?an){s$zA{!H;Ie5exE#c~@NhQUFG8V=SQh%UxUeiV zd7#UcYqD=lk-}sEwlpu&H^T_V0{#G?lZMxL7ih_&{(g)MWBnCZxtXg znr#}>U^6!jA%e}@Gj49LWG@*&t0V>Cxc3?oO7LSG%~)Y5}f7vqUUnQ;STjdDU}P9IF9d9<$;=QaXc zL1^X7>fa^jHBu_}9}J~#-oz3Oq^JmGR#?GO7b9a(=R@fw@}Q{{@`Wy1vIQ#Bw?>@X z-_RGG@wt|%u`XUc%W{J z>iSeiz8C3H7@St3mOr_mU+&bL#Uif;+Xw-aZdNYUpdf>Rvu0i0t6k*}vwU`XNO2he z%miH|1tQ8~ZK!zmL&wa3E;l?!!XzgV#%PMVU!0xrDsNNZUWKlbiOjzH-1Uoxm8E#r`#2Sz;-o&qcqB zC-O_R{QGuynW14@)7&@yw1U}uP(1cov)twxeLus0s|7ayrtT8c#`&2~Fiu2=R;1_4bCaD=*E@cYI>7YSnt)nQc zohw5CsK%m?8Ack)qNx`W0_v$5S}nO|(V|RZKBD+btO?JXe|~^Qqur%@eO~<8-L^9d z=GA3-V14ng9L29~XJ>a5k~xT2152zLhM*@zlp2P5Eu}bywkcqR;ISbas&#T#;HZSf z2m69qTV(V@EkY(1Dk3`}j)JMo%ZVJ*5eB zYOjIisi+igK0#yW*gBGj?@I{~mUOvRFQR^pJbEbzFxTubnrw(Muk%}jI+vXmJ;{Q6 zrSobKD>T%}jV4Ub?L1+MGOD~0Ir%-`iTnWZN^~YPrcP5y3VMAzQ+&en^VzKEb$K!Q z<7Dbg&DNXuow*eD5yMr+#08nF!;%4vGrJI++5HdCFcGLfMW!KS*Oi@=7hFwDG!h2< zPunUEAF+HncQkbfFj&pbzp|MU*~60Z(|Ik%Tn{BXMN!hZOosNIseT?R;A`W?=d?5X zK(FB=9mZusYahp|K-wyb={rOpdn=@;4YI2W0EcbMKyo~-#^?h`BA9~o285%oY zfifCh5Lk$SY@|2A@a!T2V+{^!psQkx4?x0HSV`(w9{l75QxMk!)U52Lbhn{8ol?S) zCKo*7R(z!uk<6*qO=wh!Pul{(qq6g6xW;X68GI_CXp`XwO zxuSgPRAtM8K7}5E#-GM!*ydOOG_{A{)hkCII<|2=ma*71ci_-}VPARm3crFQjLYV! z9zbz82$|l01mv`$WahE2$=fAGWkd^X2kY(J7iz}WGS z@%MyBEO=A?HB9=^?nX`@nh;7;laAjs+fbo!|K^mE!tOB>$2a_O0y-*uaIn8k^6Y zSbuv;5~##*4Y~+y7Z5O*3w4qgI5V^17u*ZeupVGH^nM&$qmAk|anf*>r zWc5CV;-JY-Z@Uq1Irpb^O`L_7AGiqd*YpGUShb==os$uN3yYvb`wm6d=?T*it&pDk zo`vhw)RZX|91^^Wa_ti2zBFyWy4cJu#g)_S6~jT}CC{DJ_kKpT`$oAL%b^!2M;JgT zM3ZNbUB?}kP(*YYvXDIH8^7LUxz5oE%kMhF!rnPqv!GiY0o}NR$OD=ITDo9r%4E>E0Y^R(rS^~XjWyVI6 zMOR5rPXhTp*G*M&X#NTL`Hu*R+u*QNoiOKg4CtNPrjgH>c?Hi4MUG#I917fx**+pJfOo!zFM&*da&G_x)L(`k&TPI*t3e^{crd zX<4I$5nBQ8Ax_lmNRa~E*zS-R0sxkz`|>7q_?*e%7bxqNm3_eRG#1ae3gtV9!fQpY z+!^a38o4ZGy9!J5sylDxZTx$JmG!wg7;>&5H1)>f4dXj;B+@6tMlL=)cLl={jLMxY zbbf1ax3S4>bwB9-$;SN2?+GULu;UA-35;VY*^9Blx)Jwyb$=U!D>HhB&=jSsd^6yw zL)?a|>GxU!W}ocTC(?-%z3!IUhw^uzc`Vz_g>-tv)(XA#JK^)ZnC|l1`@CdX1@|!| z_9gQ)7uOf?cR@KDp97*>6X|;t@Y`k_N@)aH7gY27)COv^P3ya9I{4z~vUjLR9~z1Z z5=G{mVtKH*&$*t0@}-i_v|3B$AHHYale7>E+jP`ClqG%L{u;*ff_h@)al?RuL7tOO z->;I}>%WI{;vbLP3VIQ^iA$4wl6@0sDj|~112Y4OFjMs`13!$JGkp%b&E8QzJw_L5 zOnw9joc0^;O%OpF$Qp)W1HI!$4BaXX84`%@#^dk^hFp^pQ@rx4g(8Xjy#!X%+X5Jd@fs3amGT`}mhq#L97R>OwT5-m|h#yT_-v@(k$q7P*9X~T*3)LTdzP!*B} z+SldbVWrrwQo9wX*%FyK+sRXTa@O?WM^FGWOE?S`R(0P{<6p#f?0NJvnBia?k^fX2 zNQs7K-?EijgHJY}&zsr;qJ<*PCZUd*x|dD=IQPUK_nn)@X4KWtqoJNHkT?ZWL_hF? zS8lp2(q>;RXR|F;1O}EE#}gCrY~#n^O`_I&?&z5~7N;zL0)3Tup`%)oHMK-^r$NT% zbFg|o?b9w(q@)6w5V%si<$!U<#}s#x@0aX-hP>zwS#9*75VXA4K*%gUc>+yzupTDBOKH8WR4V0pM(HrfbQ&eJ79>HdCvE=F z|J>s;;iDLB^3(9}?biKbxf1$lI!*Z%*0&8UUq}wMyPs_hclyQQi4;NUY+x2qy|0J; zhn8;5)4ED1oHwg+VZF|80<4MrL97tGGXc5Sw$wAI#|2*cvQ=jB5+{AjMiDHmhUC*a zlmiZ`LAuAn_}hftXh;`Kq0zblDk8?O-`tnilIh|;3lZp@F_osJUV9`*R29M?7H{Fy z`nfVEIDIWXmU&YW;NjU8)EJpXhxe5t+scf|VXM!^bBlwNh)~7|3?fWwo_~ZFk(22% zTMesYw+LNx3J-_|DM~`v93yXe=jPD{q;li;5PD?Dyk+b? zo21|XpT@)$BM$%F=P9J19Vi&1#{jM3!^Y&fr&_`toi`XB1!n>sbL%U9I5<7!@?t)~ z;&H%z>bAaQ4f$wIzkjH70;<8tpUoxzKrPhn#IQfS%9l5=Iu))^XC<58D!-O z{B+o5R^Z21H0T9JQ5gNJnqh#qH^na|z92=hONIM~@_iuOi|F>jBh-?aA20}Qx~EpDGElELNn~|7WRXRFnw+Wdo`|# zBpU=Cz3z%cUJ0mx_1($X<40XEIYz(`noWeO+x#yb_pwj6)R(__%@_Cf>txOQ74wSJ z0#F3(zWWaR-jMEY$7C*3HJrohc79>MCUu26mfYN)f4M~4gD`}EX4e}A!U}QV8!S47 z6y-U-%+h`1n`*pQuKE%Av0@)+wBZr9mH}@vH@i{v(m-6QK7Ncf17x_D=)32`FOjjo zg|^VPf5c6-!FxN{25dvVh#fog=NNpXz zfB$o+0jbRkHH{!TKhE709f+jI^$3#v1Nmf80w`@7-5$1Iv_`)W^px8P-({xwb;D0y z7LKDAHgX<84?l!I*Dvi2#D@oAE^J|g$3!)x1Ua;_;<@#l1fD}lqU2_tS^6Ht$1Wl} zBESo7o^)9-Tjuz$8YQSGhfs{BQV6zW7dA?0b(Dbt=UnQs&4zHfe_sj{RJ4uS-vQpC zX;Bbsuju4%!o8?&m4UZU@~ZZjeFF6ex2ss5_60_JS_|iNc+R0GIjH1@Z z=rLT9%B|WWgOrR7IiIwr2=T;Ne?30M!@{%Qf8o`!>=s<2CBpCK_TWc(DX51>e^xh8 z&@$^b6CgOd7KXQV&Y4%}_#uN*mbanXq(2=Nj`L7H7*k(6F8s6{FOw@(DzU`4-*77{ zF+dxpv}%mFpYK?>N_2*#Y?oB*qEKB}VoQ@bzm>ptmVS_EC(#}Lxxx730trt0G)#$b zE=wVvtqOct1%*9}U{q<)2?{+0TzZzP0jgf9*)arV)*e!f`|jgT{7_9iS@e)recI#z zbzolURQ+TOzE!ymqvBY7+5NnAbWxvMLsLTwEbFqW=CPyCsmJ}P1^V30|D5E|p3BC5 z)3|qgw@ra7aXb-wsa|l^in~1_fm{7bS9jhVRkYVO#U{qMp z)Wce+|DJ}4<2gp8r0_xfZpMo#{Hl2MfjLcZdRB9(B(A(f;+4s*FxV{1F|4d`*sRNd zp4#@sEY|?^FIJ;tmH{@keZ$P(sLh5IdOk@k^0uB^BWr@pk6mHy$qf&~rI>P*a;h0C{%oA*i!VjWn&D~O#MxN&f@1Po# zKN+ zrGrkSjcr?^R#nGl<#Q722^wbYcgW@{+6CBS<1@%dPA8HC!~a`jTz<`g_l5N1M@9wn9GOAZ>nqNgq!yOCbZ@1z`U_N`Z>}+1HIZxk*5RDc&rd5{3qjRh8QmT$VyS;jK z;AF+r6XnnCp=wQYoG|rT2@8&IvKq*IB_WvS%nt%e{MCFm`&W*#LXc|HrD?nVBo=(8*=Aq?u$sDA_sC_RPDUiQ+wnIJET8vx$&fxkW~kP9qXKt zozR)@xGC!P)CTkjeWvXW5&@2?)qt)jiYWWBU?AUtzAN}{JE1I)dfz~7$;}~BmQF`k zpn11qmObXwRB8&rnEG*#4Xax3XBkKlw(;tb?Np^i+H8m(Wyz9k{~ogba@laiEk;2! zV*QV^6g6(QG%vX5Um#^sT&_e`B1pBW5yVth~xUs#0}nv?~C#l?W+9Lsb_5)!71rirGvY zTIJ$OPOY516Y|_014sNv+Z8cc5t_V=i>lWV=vNu#!58y9Zl&GsMEW#pPYPYGHQ|;vFvd*9eM==$_=vc7xnyz0~ zY}r??$<`wAO?JQk@?RGvkWVJlq2dk9vB(yV^vm{=NVI8dhsX<)O(#nr9YD?I?(VmQ z^r7VfUBn<~p3()8yOBjm$#KWx!5hRW)5Jl7wY@ky9lNM^jaT##8QGVsYeaVywmpv>X|Xj7gWE1Ezai&wVLt3p)k4w~yrskT-!PR!kiyQlaxl(( zXhF%Q9x}1TMt3~u@|#wWm-Vq?ZerK={8@~&@9r5JW}r#45#rWii};t`{5#&3$W)|@ zbAf2yDNe0q}NEUvq_Quq3cTjcw z@H_;$hu&xllCI9CFDLuScEMg|x{S7GdV8<&Mq=ezDnRZAyX-8gv97YTm0bg=d)(>N z+B2FcqvI9>jGtnK%eO%y zoBPkJTk%y`8TLf4)IXPBn`U|9>O~WL2C~C$z~9|0m*YH<-vg2CD^SX#&)B4ngOSG$ zV^wmy_iQk>dfN@Pv(ckfy&#ak@MLC7&Q6Ro#!ezM*VEh`+b3Jt%m(^T&p&WJ2Oqvj zs-4nq0TW6cv~(YI$n0UkfwN}kg3_fp?(ijSV#tR9L0}l2qjc7W?i*q01=St0eZ=4h zyGQbEw`9OEH>NMuIe)hVwYHsGERWOD;JxEiO7cQv%pFCeR+IyhwQ|y@&^24k+|8fD zLiOWFNJ2&vu2&`Jv96_z-Cd5RLgmeY3*4rDOQo?Jm`;I_(+ejsPM03!ly!*Cu}Cco zrQSrEDHNyzT(D5s1rZq!8#?f6@v6dB7a-aWs(Qk>N?UGAo{gytlh$%_IhyL7h?DLXDGx zgxGEBQoCAWo-$LRvM=F5MTle`M})t3vVv;2j0HZY&G z22^iGhV@uaJh(XyyY%} zd4iH_UfdV#T=3n}(Lj^|n;O4|$;xhu*8T3hR1mc_A}fK}jfZ7LX~*n5+`8N2q#rI$ z@<_2VANlYF$vIH$ zl<)+*tIWW78IIINA7Rr7i{<;#^yzxoLNkXL)eSs=%|P>$YQIh+ea_3k z_s7r4%j7%&*NHSl?R4k%1>Z=M9o#zxY!n8sL5>BO-ZP;T3Gut>iLS@U%IBrX6BA3k z)&@q}V8a{X<5B}K5s(c(LQ=%v1ocr`t$EqqY0EqVjr65usa=0bkf|O#ky{j3)WBR(((L^wmyHRzoWuL2~WTC=`yZ zn%VX`L=|Ok0v7?s>IHg?yArBcync5rG#^+u)>a%qjES%dRZoIyA8gQ;StH z1Ao7{<&}6U=5}4v<)1T7t!J_CL%U}CKNs-0xWoTTeqj{5{?Be$L0_tk>M9o8 zo371}S#30rKZFM{`H_(L`EM9DGp+Mifk&IP|C2Zu_)Ghr4Qtpmkm1osCf@%Z$%t+7 zYH$Cr)Ro@3-QDeQJ8m+x6%;?YYT;k6Z0E-?kr>x33`H%*ueBD7Zx~3&HtWn0?2Wt} zTG}*|v?{$ajzt}xPzV%lL1t-URi8*Zn)YljXNGDb>;!905Td|mpa@mHjIH%VIiGx- zd@MqhpYFu4_?y5N4xiHn3vX&|e6r~Xt> zZG`aGq|yTNjv;9E+Txuoa@A(9V7g?1_T5FzRI;!=NP1Kqou1z5?%X~Wwb{trRfd>i z8&y^H)8YnKyA_Fyx>}RNmQIczT?w2J4SNvI{5J&}Wto|8FR(W;Qw#b1G<1%#tmYzQ zQ2mZA-PAdi%RQOhkHy9Ea#TPSw?WxwL@H@cbkZwIq0B!@ns}niALidmn&W?!Vd4Gj zO7FiuV4*6Mr^2xlFSvM;Cp_#r8UaqIzHJQg_z^rEJw&OMm_8NGAY2)rKvki|o1bH~ z$2IbfVeY2L(^*rMRU1lM5Y_sgrDS`Z??nR2lX;zyR=c%UyGb*%TC-Dil?SihkjrQy~TMv6;BMs7P8il`H7DmpVm@rJ;b)hW)BL)GjS154b*xq-NXq2cwE z^;VP7ua2pxvCmxrnqUYQMH%a%nHmwmI33nJM(>4LznvY*k&C0{8f*%?zggpDgkuz&JBx{9mfb@wegEl2v!=}Sq2Gaty0<)UrOT0{MZtZ~j5y&w zXlYa_jY)I_+VA-^#mEox#+G>UgvM!Ac8zI<%JRXM_73Q!#i3O|)lOP*qBeJG#BST0 zqohi)O!|$|2SeJQo(w6w7%*92S})XfnhrH_Z8qe!G5>CglP=nI7JAOW?(Z29;pXJ9 zR9`KzQ=WEhy*)WH>$;7Cdz|>*i>=##0bB)oU0OR>>N<21e4rMCHDemNi2LD>Nc$;& zQRFthpWniC1J6@Zh~iJCoLOxN`oCKD5Q4r%ynwgUKPlIEd#?QViIqovY|czyK8>6B zSP%{2-<;%;1`#0mG^B(8KbtXF;Nf>K#Di72UWE4gQ%(_26Koiad)q$xRL~?pN71ZZ zujaaCx~jXjygw;rI!WB=xrOJO6HJ!!w}7eiivtCg5K|F6$EXa)=xUC za^JXSX98W`7g-tm@uo|BKj39Dl;sg5ta;4qjo^pCh~{-HdLl6qI9Ix6f$+qiZ$}s= zNguKrU;u+T@ko(Vr1>)Q%h$?UKXCY>3se%&;h2osl2D zE4A9bd7_|^njDd)6cI*FupHpE3){4NQ*$k*cOWZ_?CZ>Z4_fl@n(mMnYK62Q1d@+I zr&O))G4hMihgBqRIAJkLdk(p(D~X{-oBUA+If@B}j& zsHbeJ3RzTq96lB7d($h$xTeZ^gP0c{t!Y0c)aQE;$FY2!mACg!GDEMKXFOPI^)nHZ z`aSPJpvV0|bbrzhWWkuPURlDeN%VT8tndV8?d)eN*i4I@u zVKl^6{?}A?P)Fsy?3oi#clf}L18t;TjNI2>eI&(ezDK7RyqFxcv%>?oxUlonv(px) z$vnPzRH`y5A(x!yOIfL0bmgeMQB$H5wenx~!ujQK*nUBW;@Em&6Xv2%s(~H5WcU2R z;%Nw<$tI)a`Ve!>x+qegJnQsN2N7HaKzrFqM>`6R*gvh%O*-%THt zrB$Nk;lE;z{s{r^PPm5qz(&lM{sO*g+W{sK+m3M_z=4=&CC>T`{X}1Vg2PEfSj2x_ zmT*(x;ov%3F?qoEeeM>dUn$a*?SIGyO8m806J1W1o+4HRhc2`9$s6hM#qAm zChQ87b~GEw{ADfs+5}FJ8+|bIlIv(jT$Ap#hSHoXdd9#w<#cA<1Rkq^*EEkknUd4& zoIWIY)sAswy6fSERVm&!SO~#iN$OgOX*{9@_BWFyJTvC%S++ilSfCrO(?u=Dc?CXZ zzCG&0yVR{Z`|ZF0eEApWEo#s9osV>F{uK{QA@BES#&;#KsScf>y zvs?vIbI>VrT<*!;XmQS=bhq%46-aambZ(8KU-wOO2=en~D}MCToB_u;Yz{)1ySrPZ z@=$}EvjTdzTWU7c0ZI6L8=yP+YRD_eMMos}b5vY^S*~VZysrkq<`cK3>>v%uy7jgq z0ilW9KjVDHLv0b<1K_`1IkbTOINs0=m-22c%M~l=^S}%hbli-3?BnNq?b`hx^HX2J zIe6ECljRL0uBWb`%{EA=%!i^4sMcj+U_TaTZRb+~GOk z^ZW!nky0n*Wb*r+Q|9H@ml@Z5gU&W`(z4-j!OzC1wOke`TRAYGZVl$PmQ16{3196( zO*?`--I}Qf(2HIwb2&1FB^!faPA2=sLg(@6P4mN)>Dc3i(B0;@O-y2;lM4akD>@^v z=u>*|!s&9zem70g7zfw9FXl1bpJW(C#5w#uy5!V?Q(U35A~$dR%LDVnq@}kQm13{} zd53q3N(s$Eu{R}k2esbftfjfOITCL;jWa$}(mmm}d(&7JZ6d3%IABCapFFYjdEjdK z&4Edqf$G^MNAtL=uCDRs&Fu@FXRgX{*0<(@c3|PNHa>L%zvxWS={L8%qw`STm+=Rd zA}FLspESSIpE_^41~#5yI2bJ=9`oc;GIL!JuW&7YetZ?0H}$$%8rW@*J37L-~Rsx!)8($nI4 zZhcZ2^=Y+p4YPl%j!nFJA|*M^gc(0o$i3nlphe+~-_m}jVkRN{spFs(o0ajW@f3K{ zDV!#BwL322CET$}Y}^0ixYj2w>&Xh12|R8&yEw|wLDvF!lZ#dOTHM9pK6@Nm-@9Lnng4ZHBgBSrr7KI8YCC9DX5Kg|`HsiwJHg2(7#nS;A{b3tVO?Z% za{m5b3rFV6EpX;=;n#wltDv1LE*|g5pQ+OY&*6qCJZc5oDS6Z6JD#6F)bWxZSF@q% z+1WV;m!lRB!n^PC>RgQCI#D1br_o^#iPk>;K2hB~0^<~)?p}LG%kigm@moD#q3PE+ zA^Qca)(xnqw6x>XFhV6ku9r$E>bWNrVH9fum0?4s?Rn2LG{Vm_+QJHse6xa%nzQ?k zKug4PW~#Gtb;#5+9!QBgyB@q=sk9=$S{4T>wjFICStOM?__fr+Kei1 z3j~xPqW;W@YkiUM;HngG!;>@AITg}vAE`M2Pj9Irl4w1fo4w<|Bu!%rh%a(Ai^Zhi zs92>v5;@Y(Zi#RI*ua*h`d_7;byQSa*v9E{2x$<-_=5Z<7{%)}4XExANcz@rK69T0x3%H<@frW>RA8^swA+^a(FxK| zFl3LD*ImHN=XDUkrRhp6RY5$rQ{bRgSO*(vEHYV)3Mo6Jy3puiLmU&g82p{qr0F?ohmbz)f2r{X2|T2 z$4fdQ=>0BeKbiVM!e-lIIs8wVTuC_m7}y4A_%ikI;Wm5$9j(^Y z(cD%U%k)X>_>9~t8;pGzL6L-fmQO@K; zo&vQzMlgY95;1BSkngY)e{`n0!NfVgf}2mB3t}D9@*N;FQ{HZ3Pb%BK6;5#-O|WI( zb6h@qTLU~AbVW#_6?c!?Dj65Now7*pU{h!1+eCV^KCuPAGs28~3k@ueL5+u|Z-7}t z9|lskE`4B7W8wMs@xJa{#bsCGDFoRSNSnmNYB&U7 zVGKWe%+kFB6kb)e;TyHfqtU6~fRg)f|>=5(N36)0+C z`hv65J<$B}WUc!wFAb^QtY31yNleq4dzmG`1wHTj=c*=hay9iD071Hc?oYoUk|M*_ zU1GihAMBsM@5rUJ(qS?9ZYJ6@{bNqJ`2Mr+5#hKf?doa?F|+^IR!8lq9)wS3tF_9n zW_?hm)G(M+MYb?V9YoX^_mu5h-LP^TL^!Q9Z7|@sO(rg_4+@=PdI)WL(B7`!K^ND- z-uIuVDCVEdH_C@c71YGYT^_Scf_dhB8Z2Xy6vGtBSlYud9vggOqv^L~F{BraSE_t} zIkP+Hp2&nH^-MNEs}^`oMLy11`PQW$T|K(`Bu*(f@)mv1-qY(_YG&J2M2<7k;;RK~ zL{Fqj9yCz8(S{}@c)S!65aF<=&eLI{hAMErCx&>i7OeDN>okvegO87OaG{Jmi<|}D zaT@b|0X{d@OIJ7zvT>r+eTzgLq~|Dpu)Z&db-P4z*`M$UL51lf>FLlq6rfG)%doyp z)3kk_YIM!03eQ8Vu_2fg{+osaEJPtJ-s36R+5_AEG12`NG)IQ#TF9c@$99%0iye+ zUzZ57=m2)$D(5Nx!n)=5Au&O0BBgwxIBaeI(mro$#&UGCr<;C{UjJVAbVi%|+WP(a zL$U@TYCxJ=1{Z~}rnW;7UVb7+ZnzgmrogDxhjLGo>c~MiJAWs&&;AGg@%U?Y^0JhL ze(x6Z74JG6FlOFK(T}SXQfhr}RIFl@QXKnIcXYF)5|V~e-}suHILKT-k|<*~Ij|VF zC;t@=uj=hot~*!C68G8hTA%8SzOfETOXQ|3FSaIEjvBJp(A)7SWUi5!Eu#yWgY+;n zlm<$+UDou*V+246_o#V4kMdto8hF%%Lki#zPh}KYXmMf?hrN0;>Mv%`@{0Qn`Ujp) z=lZe+13>^Q!9zT);H<(#bIeRWz%#*}sgUX9P|9($kexOyKIOc`dLux}c$7It4u|Rl z6SSkY*V~g_B-hMPo_ak>>z@AVQ(_N)VY2kB3IZ0G(iDUYw+2d7W^~(Jq}KY=JnWS( z#rzEa&0uNhJ>QE8iiyz;n2H|SV#Og+wEZv=f2%1ELX!SX-(d3tEj$5$1}70Mp<&eI zCkfbByL7af=qQE@5vDVxx1}FSGt_a1DoE3SDI+G)mBAna)KBG4p8Epxl9QZ4BfdAN zFnF|Y(umr;gRgG6NLQ$?ZWgllEeeq~z^ZS7L?<(~O&$5|y)Al^iMKy}&W+eMm1W z7EMU)u^ke(A1#XCV>CZ71}P}0x)4wtHO8#JRG3MA-6g=`ZM!FcICCZ{IEw8Dm2&LQ z1|r)BUG^0GzI6f946RrBlfB1Vs)~8toZf~7)+G;pv&XiUO(%5bm)pl=p>nV^o*;&T z;}@oZSibzto$arQgfkp|z4Z($P>dTXE{4O=vY0!)kDO* zGF8a4wq#VaFpLfK!iELy@?-SeRrdz%F*}hjKcA*y@mj~VD3!it9lhRhX}5YOaR9$} z3mS%$2Be7{l(+MVx3 z(4?h;P!jnRmX9J9sYN#7i=iyj_5q7n#X(!cdqI2lnr8T$IfOW<_v`eB!d9xY1P=2q&WtOXY=D9QYteP)De?S4}FK6#6Ma z=E*V+#s8>L;8aVroK^6iKo=MH{4yEZ_>N-N z`(|;aOATba1^asjxlILk<4}f~`39dBFlxj>Dw(hMYKPO3EEt1@S`1lxFNM+J@uB7T zZ8WKjz7HF1-5&2=l=fqF-*@>n5J}jIxdDwpT?oKM3s8Nr`x8JnN-kCE?~aM1H!hAE z%%w(3kHfGwMnMmNj(SU(w42OrC-euI>Dsjk&jz3ts}WHqmMpzQ3vZrsXrZ|}+MHA7 z068obeXZTsO*6RS@o3x80E4ok``rV^Y3hr&C1;|ZZ0|*EKO`$lECUYG2gVFtUTw)R z4Um<0ZzlON`zTdvVdL#KFoMFQX*a5wM0Czp%wTtfK4Sjs)P**RW&?lP$(<}q%r68Z zS53Y!d@&~ne9O)A^tNrXHhXBkj~$8j%pT1%%mypa9AW5E&s9)rjF4@O3ytH{0z6riz|@< zB~UPh*wRFg2^7EbQrHf0y?E~dHlkOxof_a?M{LqQ^C!i2dawHTPYUE=X@2(3<=OOxs8qn_(y>pU>u^}3y&df{JarR0@VJn0f+U%UiF=$Wyq zQvnVHESil@d|8&R<%}uidGh7@u^(%?$#|&J$pvFC-n8&A>utA=n3#)yMkz+qnG3wd zP7xCnF|$9Dif@N~L)Vde3hW8W!UY0BgT2v(wzp;tlLmyk2%N|0jfG$%<;A&IVrOI< z!L)o>j>;dFaqA3pL}b-Je(bB@VJ4%!JeX@3x!i{yIeIso^=n?fDX`3bU=eG7sTc%g%ye8$v8P@yKE^XD=NYxTb zbf!Mk=h|otpqjFaA-vs5YOF-*GwWPc7VbaOW&stlANnCN8iftFMMrUdYNJ_Bnn5Vt zxfz@Ah|+4&P;reZxp;MmEI7C|FOv8NKUm8njF7Wb6Gi7DeODLl&G~}G4be&*Hi0Qw z5}77vL0P+7-B%UL@3n1&JPxW^d@vVwp?u#gVcJqY9#@-3X{ok#UfW3<1fb%FT`|)V~ggq z(3AUoUS-;7)^hCjdT0Kf{i}h)mBg4qhtHHBti=~h^n^OTH5U*XMgDLIR@sre`AaB$ zg)IGBET_4??m@cx&c~bA80O7B8CHR7(LX7%HThkeC*@vi{-pL%e)yXp!B2InafbDF zjPXf1mko3h59{lT6EEbxKO1Z5GF71)WwowO6kY|6tjSVSWdQ}NsK2x{>i|MKZK8%Q zfu&_0D;CO-Jg0#YmyfctyJ!mRJp)e#@O0mYdp|8x;G1%OZQ3Q847YWTyy|%^cpA;m zze0(5p{tMu^lDkpe?HynyO?a1$_LJl2L&mpeKu%8YvgRNr=%2z${%WThHG=vrWY@4 zsA`OP#O&)TetZ>s%h!=+CE15lOOls&nvC~$Qz0Ph7tHiP;O$i|eDwpT{cp>+)0-|; zY$|bB+Gbel>5aRN3>c0x)4U=|X+z+{ zn*_p*EQoquRL+=+p;=lm`d71&1NqBz&_ph)MXu(Nv6&XE7(RsS)^MGj5Q?Fwude-(sq zjJ>aOq!7!EN>@(fK7EE#;i_BGvli`5U;r!YA{JRodLBc6-`n8K+Fjgwb%sX;j=qHQ z7&Tr!)!{HXoO<2BQrV9Sw?JRaLXV8HrsNevvnf>Y-6|{T!pYLl7jp$-nEE z#X!4G4L#K0qG_4Z;Cj6=;b|Be$hi4JvMH!-voxqx^@8cXp`B??eFBz2lLD8RRaRGh zn7kUfy!YV~p(R|p7iC1Rdgt$_24i0cd-S8HpG|`@my70g^y`gu%#Tf_L21-k?sRRZHK&at(*ED0P8iw{7?R$9~OF$Ko;Iu5)ur5<->x!m93Eb zFYpIx60s=Wxxw=`$aS-O&dCO_9?b1yKiPCQmSQb>T)963`*U+Ydj5kI(B(B?HNP8r z*bfSBpSu)w(Z3j7HQoRjUG(+d=IaE~tv}y14zHHs|0UcN52fT8V_<@2ep_ee{QgZG zmgp8iv4V{k;~8@I%M3<#B;2R>Ef(Gg_cQM7%}0s*^)SK6!Ym+~P^58*wnwV1BW@eG z4sZLqsUvBbFsr#8u7S1r4teQ;t)Y@jnn_m5jS$CsW1um!p&PqAcc8!zyiXHVta9QC zY~wCwCF0U%xiQPD_INKtTb;A|Zf29(mu9NI;E zc-e>*1%(LSXB`g}kd`#}O;veb<(sk~RWL|f3ljxCnEZDdNSTDV6#Td({6l&y4IjKF z^}lIUq*ZUqgTPumD)RrCN{M^jhY>E~1pn|KOZ5((%F)G|*ZQ|r4zIbrEiV%42hJV8 z3xS)=!X1+=olbdGJ=yZil?oXLct8FM{(6ikLL3E%=q#O6(H$p~gQu6T8N!plf!96| z&Q3=`L~>U0zZh;z(pGR2^S^{#PrPxTRHD1RQOON&f)Siaf`GLj#UOk&(|@0?zm;Sx ztsGt8=29-MZs5CSf1l1jNFtNt5rFNZxJPvkNu~2}7*9468TWm>nN9TP&^!;J{-h)_ z7WsHH9|F%I`Pb!>KAS3jQWKfGivTVkMJLO-HUGM_a4UQ_%RgL6WZvrW+Z4ujZn;y@ zz9$=oO!7qVTaQAA^BhX&ZxS*|5dj803M=k&2%QrXda`-Q#IoZL6E(g+tN!6CA!CP* zCpWtCujIea)ENl0liwVfj)Nc<9mV%+e@=d`haoZ*`B7+PNjEbXBkv=B+Pi^~L#EO$D$ZqTiD8f<5$eyb54-(=3 zh)6i8i|jp(@OnRrY5B8t|LFXFQVQ895n*P16cEKTrT*~yLH6Z4e*bZ5otpRDri&+A zfNbK1D5@O=sm`fN=WzWyse!za5n%^+6dHPGX#8DyIK>?9qyX}2XvBWVqbP%%D)7$= z=#$WulZlZR<{m#gU7lwqK4WS1Ne$#_P{b17qe$~UOXCl>5b|6WVh;5vVnR<%d+Lnp z$uEmML38}U4vaW8>shm6CzB(Wei3s#NAWE3)a2)z@i{4jTn;;aQS)O@l{rUM`J@K& l00vQ5JBs~;vo!vr%%-k{2_Fq1Mn4QF81S)AQ99zk{{c4yR+0b! literal 63721 zcmb5Wb9gP!wgnp7wrv|bwr$&XvSZt}Z6`anZSUAlc9NHKf9JdJ;NJVr`=eI(_pMp0 zy1VAAG3FfAOI`{X1O)&90s;U4K;XLp008~hCjbEC_fbYfS%6kTR+JtXK>nW$ZR+`W ze|#J8f4A@M|F5BpfUJb5h>|j$jOe}0oE!`Zf6fM>CR?!y@zU(cL8NsKk`a z6tx5mAkdjD;J=LcJ;;Aw8p!v#ouk>mUDZF@ zK>yvw%+bKu+T{Nk@LZ;zkYy0HBKw06_IWcMHo*0HKpTsEFZhn5qCHH9j z)|XpN&{`!0a>Vl+PmdQc)Yg4A(AG-z!+@Q#eHr&g<9D?7E)_aEB?s_rx>UE9TUq|? z;(ggJt>9l?C|zoO@5)tu?EV0x_7T17q4fF-q3{yZ^ipUbKcRZ4Qftd!xO(#UGhb2y>?*@{xq%`(-`2T^vc=#< zx!+@4pRdk&*1ht2OWk^Z5IAQ0YTAXLkL{(D*$gENaD)7A%^XXrCchN&z2x+*>o2FwPFjWpeaL=!tzv#JOW#( z$B)Nel<+$bkH1KZv3&-}=SiG~w2sbDbAWarg%5>YbC|}*d9hBjBkR(@tyM0T)FO$# zPtRXukGPnOd)~z=?avu+4Co@wF}1T)-uh5jI<1$HLtyDrVak{gw`mcH@Q-@wg{v^c zRzu}hMKFHV<8w}o*yg6p@Sq%=gkd~;`_VGTS?L@yVu`xuGy+dH6YOwcP6ZE`_0rK% zAx5!FjDuss`FQ3eF|mhrWkjux(Pny^k$u_)dyCSEbAsecHsq#8B3n3kDU(zW5yE|( zgc>sFQywFj5}U*qtF9Y(bi*;>B7WJykcAXF86@)z|0-Vm@jt!EPoLA6>r)?@DIobIZ5Sx zsc@OC{b|3%vaMbyeM|O^UxEYlEMHK4r)V-{r)_yz`w1*xV0|lh-LQOP`OP`Pk1aW( z8DSlGN>Ts|n*xj+%If~+E_BxK)~5T#w6Q1WEKt{!Xtbd`J;`2a>8boRo;7u2M&iOop4qcy<)z023=oghSFV zST;?S;ye+dRQe>ygiJ6HCv4;~3DHtJ({fWeE~$H@mKn@Oh6Z(_sO>01JwH5oA4nvK zr5Sr^g+LC zLt(i&ecdmqsIJGNOSUyUpglvhhrY8lGkzO=0USEKNL%8zHshS>Qziu|`eyWP^5xL4 zRP122_dCJl>hZc~?58w~>`P_s18VoU|7(|Eit0-lZRgLTZKNq5{k zE?V=`7=R&ro(X%LTS*f+#H-mGo_j3dm@F_krAYegDLk6UV{`UKE;{YSsn$ z(yz{v1@p|p!0>g04!eRSrSVb>MQYPr8_MA|MpoGzqyd*$@4j|)cD_%^Hrd>SorF>@ zBX+V<@vEB5PRLGR(uP9&U&5=(HVc?6B58NJT_igiAH*q~Wb`dDZpJSKfy5#Aag4IX zj~uv74EQ_Q_1qaXWI!7Vf@ZrdUhZFE;L&P_Xr8l@GMkhc#=plV0+g(ki>+7fO%?Jb zl+bTy7q{w^pTb{>(Xf2q1BVdq?#f=!geqssXp z4pMu*q;iiHmA*IjOj4`4S&|8@gSw*^{|PT}Aw~}ZXU`6=vZB=GGeMm}V6W46|pU&58~P+?LUs%n@J}CSrICkeng6YJ^M? zS(W?K4nOtoBe4tvBXs@@`i?4G$S2W&;$z8VBSM;Mn9 zxcaEiQ9=vS|bIJ>*tf9AH~m&U%2+Dim<)E=}KORp+cZ^!@wI`h1NVBXu{@%hB2Cq(dXx_aQ9x3mr*fwL5!ZryQqi|KFJuzvP zK1)nrKZ7U+B{1ZmJub?4)Ln^J6k!i0t~VO#=q1{?T)%OV?MN}k5M{}vjyZu#M0_*u z8jwZKJ#Df~1jcLXZL7bnCEhB6IzQZ-GcoQJ!16I*39iazoVGugcKA{lhiHg4Ta2fD zk1Utyc5%QzZ$s3;p0N+N8VX{sd!~l*Ta3|t>lhI&G`sr6L~G5Lul`>m z{!^INm?J|&7X=;{XveF!(b*=?9NAp4y&r&N3(GKcW4rS(Ejk|Lzs1PrxPI_owB-`H zg3(Rruh^&)`TKA6+_!n>RdI6pw>Vt1_j&+bKIaMTYLiqhZ#y_=J8`TK{Jd<7l9&sY z^^`hmi7^14s16B6)1O;vJWOF$=$B5ONW;;2&|pUvJlmeUS&F;DbSHCrEb0QBDR|my zIs+pE0Y^`qJTyH-_mP=)Y+u^LHcuZhsM3+P||?+W#V!_6E-8boP#R-*na4!o-Q1 zVthtYhK{mDhF(&7Okzo9dTi03X(AE{8cH$JIg%MEQca`S zy@8{Fjft~~BdzWC(di#X{ny;!yYGK9b@=b|zcKZ{vv4D8i+`ilOPl;PJl{!&5-0!w z^fOl#|}vVg%=n)@_e1BrP)`A zKPgs`O0EO}Y2KWLuo`iGaKu1k#YR6BMySxQf2V++Wo{6EHmK>A~Q5o73yM z-RbxC7Qdh0Cz!nG+7BRZE>~FLI-?&W_rJUl-8FDIaXoNBL)@1hwKa^wOr1($*5h~T zF;%f^%<$p8Y_yu(JEg=c_O!aZ#)Gjh$n(hfJAp$C2he555W5zdrBqjFmo|VY+el;o z=*D_w|GXG|p0**hQ7~9-n|y5k%B}TAF0iarDM!q-jYbR^us(>&y;n^2l0C%@2B}KM zyeRT9)oMt97Agvc4sEKUEy%MpXr2vz*lb zh*L}}iG>-pqDRw7ud{=FvTD?}xjD)w{`KzjNom-$jS^;iw0+7nXSnt1R@G|VqoRhE%12nm+PH?9`(4rM0kfrZzIK9JU=^$YNyLvAIoxl#Q)xxDz!^0@zZ zSCs$nfcxK_vRYM34O<1}QHZ|hp4`ioX3x8(UV(FU$J@o%tw3t4k1QPmlEpZa2IujG&(roX_q*%e`Hq|);0;@k z0z=fZiFckp#JzW0p+2A+D$PC~IsakhJJkG(c;CqAgFfU0Z`u$PzG~-9I1oPHrCw&)@s^Dc~^)#HPW0Ra}J^=|h7Fs*<8|b13ZzG6MP*Q1dkoZ6&A^!}|hbjM{2HpqlSXv_UUg1U4gn z3Q)2VjU^ti1myodv+tjhSZp%D978m~p& z43uZUrraHs80Mq&vcetqfQpQP?m!CFj)44t8Z}k`E798wxg&~aCm+DBoI+nKq}&j^ zlPY3W$)K;KtEajks1`G?-@me7C>{PiiBu+41#yU_c(dITaqE?IQ(DBu+c^Ux!>pCj zLC|HJGU*v+!it1(;3e`6igkH(VA)-S+k(*yqxMgUah3$@C zz`7hEM47xr>j8^g`%*f=6S5n>z%Bt_Fg{Tvmr+MIsCx=0gsu_sF`q2hlkEmisz#Fy zj_0;zUWr;Gz}$BS%Y`meb(=$d%@Crs(OoJ|}m#<7=-A~PQbyN$x%2iXP2@e*nO0b7AwfH8cCUa*Wfu@b)D_>I*%uE4O3 z(lfnB`-Xf*LfC)E}e?%X2kK7DItK6Tf<+M^mX0Ijf_!IP>7c8IZX%8_#0060P{QMuV^B9i<^E`_Qf0pv9(P%_s8D`qvDE9LK9u-jB}J2S`(mCO&XHTS04Z5Ez*vl^T%!^$~EH8M-UdwhegL>3IQ*)(MtuH2Xt1p!fS4o~*rR?WLxlA!sjc2(O znjJn~wQ!Fp9s2e^IWP1C<4%sFF}T4omr}7+4asciyo3DntTgWIzhQpQirM$9{EbQd z3jz9vS@{aOqTQHI|l#aUV@2Q^Wko4T0T04Me4!2nsdrA8QY1%fnAYb~d2GDz@lAtfcHq(P7 zaMBAGo}+NcE-K*@9y;Vt3*(aCaMKXBB*BJcD_Qnxpt75r?GeAQ}*|>pYJE=uZb73 zC>sv)18)q#EGrTG6io*}JLuB_jP3AU1Uiu$D7r|2_zlIGb9 zjhst#ni)Y`$)!fc#reM*$~iaYoz~_Cy7J3ZTiPm)E?%`fbk`3Tu-F#`{i!l5pNEn5 zO-Tw-=TojYhzT{J=?SZj=Z8#|eoF>434b-DXiUsignxXNaR3 zm_}4iWU$gt2Mw5NvZ5(VpF`?X*f2UZDs1TEa1oZCif?Jdgr{>O~7}-$|BZ7I(IKW`{f;@|IZFX*R8&iT= zoWstN8&R;}@2Ka%d3vrLtR|O??ben;k8QbS-WB0VgiCz;<$pBmIZdN!aalyCSEm)crpS9dcD^Y@XT1a3+zpi-`D}e#HV<} z$Y(G&o~PvL-xSVD5D?JqF3?B9rxGWeb=oEGJ3vRp5xfBPlngh1O$yI95EL+T8{GC@ z98i1H9KhZGFl|;`)_=QpM6H?eDPpw~^(aFQWwyXZ8_EEE4#@QeT_URray*mEOGsGc z6|sdXtq!hVZo=d#+9^@lm&L5|q&-GDCyUx#YQiccq;spOBe3V+VKdjJA=IL=Zn%P} zNk=_8u}VhzFf{UYZV0`lUwcD&)9AFx0@Fc6LD9A6Rd1=ga>Mi0)_QxM2ddCVRmZ0d z+J=uXc(?5JLX3=)e)Jm$HS2yF`44IKhwRnm2*669_J=2LlwuF5$1tAo@ROSU@-y+;Foy2IEl2^V1N;fk~YR z?&EP8#t&m0B=?aJeuz~lHjAzRBX>&x=A;gIvb>MD{XEV zV%l-+9N-)i;YH%nKP?>f`=?#`>B(`*t`aiPLoQM(a6(qs4p5KFjDBN?8JGrf3z8>= zi7sD)c)Nm~x{e<^jy4nTx${P~cwz_*a>%0_;ULou3kHCAD7EYkw@l$8TN#LO9jC( z1BeFW`k+bu5e8Ns^a8dPcjEVHM;r6UX+cN=Uy7HU)j-myRU0wHd$A1fNI~`4;I~`zC)3ul#8#^rXVSO*m}Ag>c%_;nj=Nv$rCZ z*~L@C@OZg%Q^m)lc-kcX&a*a5`y&DaRxh6O*dfhLfF+fU5wKs(1v*!TkZidw*)YBP za@r`3+^IHRFeO%!ai%rxy;R;;V^Fr=OJlpBX;(b*3+SIw}7= zIq$*Thr(Zft-RlY)D3e8V;BmD&HOfX+E$H#Y@B3?UL5L~_fA-@*IB-!gItK7PIgG9 zgWuGZK_nuZjHVT_Fv(XxtU%)58;W39vzTI2n&)&4Dmq7&JX6G>XFaAR{7_3QB6zsT z?$L8c*WdN~nZGiscY%5KljQARN;`w$gho=p006z;n(qIQ*Zu<``TMO3n0{ARL@gYh zoRwS*|Niw~cR!?hE{m*y@F`1)vx-JRfqET=dJ5_(076st(=lFfjtKHoYg`k3oNmo_ zNbQEw8&sO5jAYmkD|Zaz_yUb0rC})U!rCHOl}JhbYIDLzLvrZVw0~JO`d*6f;X&?V=#T@ND*cv^I;`sFeq4 z##H5;gpZTb^0Hz@3C*~u0AqqNZ-r%rN3KD~%Gw`0XsIq$(^MEb<~H(2*5G^<2(*aI z%7}WB+TRlMIrEK#s0 z93xn*Ohb=kWFc)BNHG4I(~RPn-R8#0lqyBBz5OM6o5|>x9LK@%HaM}}Y5goCQRt2C z{j*2TtT4ne!Z}vh89mjwiSXG=%DURar~=kGNNaO_+Nkb+tRi~Rkf!7a$*QlavziD( z83s4GmQ^Wf*0Bd04f#0HX@ua_d8 z23~z*53ePD6@xwZ(vdl0DLc=>cPIOPOdca&MyR^jhhKrdQO?_jJh`xV3GKz&2lvP8 zEOwW6L*ufvK;TN{=S&R@pzV^U=QNk^Ec}5H z+2~JvEVA{`uMAr)?Kf|aW>33`)UL@bnfIUQc~L;TsTQ6>r-<^rB8uoNOJ>HWgqMI8 zSW}pZmp_;z_2O5_RD|fGyTxaxk53Hg_3Khc<8AUzV|ZeK{fp|Ne933=1&_^Dbv5^u zB9n=*)k*tjHDRJ@$bp9mrh}qFn*s}npMl5BMDC%Hs0M0g-hW~P*3CNG06G!MOPEQ_ zi}Qs-6M8aMt;sL$vlmVBR^+Ry<64jrm1EI1%#j?c?4b*7>)a{aDw#TfTYKq+SjEFA z(aJ&z_0?0JB83D-i3Vh+o|XV4UP+YJ$9Boid2^M2en@APw&wx7vU~t$r2V`F|7Qfo z>WKgI@eNBZ-+Og<{u2ZiG%>YvH2L3fNpV9J;WLJoBZda)01Rn;o@){01{7E#ke(7U zHK>S#qZ(N=aoae*4X!0A{)nu0R_sKpi1{)u>GVjC+b5Jyl6#AoQ-1_3UDovNSo`T> z?c-@7XX*2GMy?k?{g)7?Sv;SJkmxYPJPs!&QqB12ejq`Lee^-cDveVWL^CTUldb(G zjDGe(O4P=S{4fF=#~oAu>LG>wrU^z_?3yt24FOx>}{^lCGh8?vtvY$^hbZ)9I0E3r3NOlb9I?F-Yc=r$*~l`4N^xzlV~N zl~#oc>U)Yjl0BxV>O*Kr@lKT{Z09OXt2GlvE38nfs+DD7exl|&vT;)>VFXJVZp9Np zDK}aO;R3~ag$X*|hRVY3OPax|PG`@_ESc8E!mHRByJbZQRS38V2F__7MW~sgh!a>98Q2%lUNFO=^xU52|?D=IK#QjwBky-C>zOWlsiiM&1n z;!&1((Xn1$9K}xabq~222gYvx3hnZPg}VMF_GV~5ocE=-v>V=T&RsLBo&`)DOyIj* zLV{h)JU_y*7SdRtDajP_Y+rBkNN*1_TXiKwHH2&p51d(#zv~s#HwbNy?<+(=9WBvo zw2hkk2Dj%kTFhY+$T+W-b7@qD!bkfN#Z2ng@Pd=i3-i?xYfs5Z*1hO?kd7Sp^9`;Y zM2jeGg<-nJD1er@Pc_cSY7wo5dzQX44=%6rn}P_SRbpzsA{6B+!$3B0#;}qwO37G^ zL(V_5JK`XT?OHVk|{_$vQ|oNEpab*BO4F zUTNQ7RUhnRsU`TK#~`)$icsvKh~(pl=3p6m98@k3P#~upd=k*u20SNcb{l^1rUa)>qO997)pYRWMncC8A&&MHlbW?7i^7M`+B$hH~Y|J zd>FYOGQ;j>Zc2e7R{KK7)0>>nn_jYJy&o@sK!4G>-rLKM8Hv)f;hi1D2fAc$+six2 zyVZ@wZ6x|fJ!4KrpCJY=!Mq0;)X)OoS~{Lkh6u8J`eK%u0WtKh6B>GW_)PVc zl}-k`p09qwGtZ@VbYJC!>29V?Dr>>vk?)o(x?!z*9DJ||9qG-&G~#kXxbw{KKYy}J zQKa-dPt~M~E}V?PhW0R26xdA%1T*%ra6SguGu50YHngOTIv)@N|YttEXo#OZfgtP7;H?EeZZxo<}3YlYxtBq znJ!WFR^tmGf0Py}N?kZ(#=VtpC@%xJkDmfcCoBTxq zr_|5gP?u1@vJZbxPZ|G0AW4=tpb84gM2DpJU||(b8kMOV1S3|(yuwZJ&rIiFW(U;5 zUtAW`O6F6Zy+eZ1EDuP~AAHlSY-+A_eI5Gx)%*uro5tljy}kCZU*_d7)oJ>oQSZ3* zneTn`{gnNC&uJd)0aMBzAg021?YJ~b(fmkwZAd696a=0NzBAqBN54KuNDwa*no(^O z6p05bioXUR^uXjpTol*ppHp%1v9e)vkoUAUJyBx3lw0UO39b0?^{}yb!$yca(@DUn zCquRF?t=Zb9`Ed3AI6|L{eX~ijVH`VzSMheKoP7LSSf4g>md>`yi!TkoG5P>Ofp+n z(v~rW+(5L96L{vBb^g51B=(o)?%%xhvT*A5btOpw(TKh^g^4c zw>0%X!_0`{iN%RbVk+A^f{w-4-SSf*fu@FhruNL##F~sF24O~u zyYF<3el2b$$wZ_|uW#@Ak+VAGk#e|kS8nL1g>2B-SNMjMp^8;-FfeofY2fphFHO!{ z*!o4oTb{4e;S<|JEs<1_hPsmAlVNk?_5-Fp5KKU&d#FiNW~Y+pVFk@Cua1I{T+1|+ zHx6rFMor)7L)krbilqsWwy@T+g3DiH5MyVf8Wy}XbEaoFIDr~y;@r&I>FMW{ z?Q+(IgyebZ)-i4jNoXQhq4Muy9Fv+OxU;9_Jmn+<`mEC#%2Q_2bpcgzcinygNI!&^ z=V$)o2&Yz04~+&pPWWn`rrWxJ&}8khR)6B(--!9Q zubo}h+1T)>a@c)H^i``@<^j?|r4*{;tQf78(xn0g39IoZw0(CwY1f<%F>kEaJ zp9u|IeMY5mRdAlw*+gSN^5$Q)ShM<~E=(c8QM+T-Qk)FyKz#Sw0EJ*edYcuOtO#~Cx^(M7w5 z3)rl#L)rF|(Vun2LkFr!rg8Q@=r>9p>(t3Gf_auiJ2Xx9HmxYTa|=MH_SUlYL`mz9 zTTS$`%;D-|Jt}AP1&k7PcnfFNTH0A-*FmxstjBDiZX?}%u%Yq94$fUT&z6od+(Uk> zuqsld#G(b$G8tus=M!N#oPd|PVFX)?M?tCD0tS%2IGTfh}3YA3f&UM)W$_GNV8 zQo+a(ml2Km4o6O%gKTCSDNq+#zCTIQ1*`TIJh~k6Gp;htHBFnne))rlFdGqwC6dx2+La1&Mnko*352k0y z+tQcwndQlX`nc6nb$A9?<-o|r*%aWXV#=6PQic0Ok_D;q>wbv&j7cKc!w4~KF#-{6 z(S%6Za)WpGIWf7jZ3svNG5OLs0>vCL9{V7cgO%zevIVMH{WgP*^D9ws&OqA{yr|m| zKD4*07dGXshJHd#e%x%J+qmS^lS|0Bp?{drv;{@{l9ArPO&?Q5=?OO9=}h$oVe#3b z3Yofj&Cb}WC$PxmRRS)H%&$1-)z7jELS}!u!zQ?A^Y{Tv4QVt*vd@uj-^t2fYRzQj zfxGR>-q|o$3sGn^#VzZ!QQx?h9`njeJry}@x?|k0-GTTA4y3t2E`3DZ!A~D?GiJup z)8%PK2^9OVRlP(24P^4_<|D=H^7}WlWu#LgsdHzB%cPy|f8dD3|A^mh4WXxhLTVu_ z@abE{6Saz|Y{rXYPd4$tfPYo}ef(oQWZ=4Bct-=_9`#Qgp4ma$n$`tOwq#&E18$B; z@Bp)bn3&rEi0>fWWZ@7k5WazfoX`SCO4jQWwVuo+$PmSZn^Hz?O(-tW@*DGxuf)V1 zO_xm&;NVCaHD4dqt(-MlszI3F-p?0!-e$fbiCeuaw66h^TTDLWuaV<@C-`=Xe5WL) zwooG7h>4&*)p3pKMS3O!4>-4jQUN}iAMQ)2*70?hP~)TzzR?-f@?Aqy$$1Iy8VGG$ zMM?8;j!pUX7QQD$gRc_#+=raAS577ga-w?jd`vCiN5lu)dEUkkUPl9!?{$IJNxQys z*E4e$eF&n&+AMRQR2gcaFEjAy*r)G!s(P6D&TfoApMFC_*Ftx0|D0@E-=B7tezU@d zZ{hGiN;YLIoSeRS;9o%dEua4b%4R3;$SugDjP$x;Z!M!@QibuSBb)HY!3zJ7M;^jw zlx6AD50FD&p3JyP*>o+t9YWW8(7P2t!VQQ21pHJOcG_SXQD;(5aX#M6x##5H_Re>6lPyDCjxr*R(+HE%c&QN+b^tbT zXBJk?p)zhJj#I?&Y2n&~XiytG9!1ox;bw5Rbj~)7c(MFBb4>IiRATdhg zmiEFlj@S_hwYYI(ki{}&<;_7(Z0Qkfq>am z&LtL=2qc7rWguk3BtE4zL41@#S;NN*-jWw|7Kx7H7~_%7fPt;TIX}Ubo>;Rmj94V> zNB1=;-9AR7s`Pxn}t_6^3ahlq53e&!Lh85uG zec0vJY_6e`tg7LgfrJ3k!DjR)Bi#L@DHIrZ`sK=<5O0Ip!fxGf*OgGSpP@Hbbe&$9 z;ZI}8lEoC2_7;%L2=w?tb%1oL0V+=Z`7b=P&lNGY;yVBazXRYu;+cQDKvm*7NCxu&i;zub zAJh#11%?w>E2rf2e~C4+rAb-&$^vsdACs7 z@|Ra!OfVM(ke{vyiqh7puf&Yp6cd6{DptUteYfIRWG3pI+5< zBVBI_xkBAc<(pcb$!Y%dTW(b;B;2pOI-(QCsLv@U-D1XJ z(Gk8Q3l7Ws46Aktuj>|s{$6zA&xCPuXL-kB`CgYMs}4IeyG*P51IDwW?8UNQd+$i~ zlxOPtSi5L|gJcF@DwmJA5Ju8HEJ>o{{upwIpb!f{2(vLNBw`7xMbvcw<^{Fj@E~1( z?w`iIMieunS#>nXlmUcSMU+D3rX28f?s7z;X=se6bo8;5vM|O^(D6{A9*ChnGH!RG zP##3>LDC3jZPE4PH32AxrqPk|yIIrq~`aL-=}`okhNu9aT%q z1b)7iJ)CN=V#Ly84N_r7U^SH2FGdE5FpTO2 z630TF$P>GNMu8`rOytb(lB2};`;P4YNwW1<5d3Q~AX#P0aX}R2b2)`rgkp#zTxcGj zAV^cvFbhP|JgWrq_e`~exr~sIR$6p5V?o4Wym3kQ3HA+;Pr$bQ0(PmADVO%MKL!^q z?zAM8j1l4jrq|5X+V!8S*2Wl@=7*pPgciTVK6kS1Ge zMsd_u6DFK$jTnvVtE;qa+8(1sGBu~n&F%dh(&c(Zs4Fc#A=gG^^%^AyH}1^?|8quj zl@Z47h$){PlELJgYZCIHHL= z{U8O>Tw4x3<1{?$8>k-P<}1y9DmAZP_;(3Y*{Sk^H^A=_iSJ@+s5ktgwTXz_2$~W9>VVZsfwCm@s0sQ zeB50_yu@uS+e7QoPvdCwDz{prjo(AFwR%C?z`EL{1`|coJHQTk^nX=tvs1<0arUOJ z!^`*x&&BvTYmemyZ)2p~{%eYX=JVR?DYr(rNgqRMA5E1PR1Iw=prk=L2ldy3r3Vg@27IZx43+ywyzr-X*p*d@tZV+!U#~$-q=8c zgdSuh#r?b4GhEGNai)ayHQpk>5(%j5c@C1K3(W1pb~HeHpaqijJZa-e6vq_8t-^M^ zBJxq|MqZc?pjXPIH}70a5vt!IUh;l}<>VX<-Qcv^u@5(@@M2CHSe_hD$VG-eiV^V( zj7*9T0?di?P$FaD6oo?)<)QT>Npf6Og!GO^GmPV(Km0!=+dE&bk#SNI+C9RGQ|{~O*VC+tXK3!n`5 zHfl6>lwf_aEVV3`0T!aHNZLsj$paS$=LL(?b!Czaa5bbSuZ6#$_@LK<(7yrrl+80| z{tOFd=|ta2Z`^ssozD9BINn45NxUeCQis?-BKmU*Kt=FY-NJ+)8S1ecuFtN-M?&42 zl2$G>u!iNhAk*HoJ^4v^9#ORYp5t^wDj6|lx~5w45#E5wVqI1JQ~9l?nPp1YINf++ zMAdSif~_ETv@Er(EFBI^@L4BULFW>)NI+ejHFP*T}UhWNN`I)RRS8za? z*@`1>9ZB}An%aT5K=_2iQmfE;GcBVHLF!$`I99o5GO`O%O_zLr9AG18>&^HkG(;=V z%}c!OBQ~?MX(9h~tajX{=x)+!cbM7$YzTlmsPOdp2L-?GoW`@{lY9U3f;OUo*BwRB z8A+nv(br0-SH#VxGy#ZrgnGD(=@;HME;yd46EgWJ`EL%oXc&lFpc@Y}^>G(W>h_v_ zlN!`idhX+OjL+~T?19sroAFVGfa5tX-D49w$1g2g_-T|EpHL6}K_aX4$K=LTvwtlF zL*z}j{f+Uoe7{-px3_5iKPA<_7W=>Izkk)!l9ez2w%vi(?Y;i8AxRNLSOGDzNoqoI zP!1uAl}r=_871(G?y`i&)-7{u=%nxk7CZ_Qh#!|ITec zwQn`33GTUM`;D2POWnkqngqJhJRlM>CTONzTG}>^Q0wUunQyn|TAiHzyX2_%ATx%P z%7gW)%4rA9^)M<_%k@`Y?RbC<29sWU&5;@|9thf2#zf8z12$hRcZ!CSb>kUp=4N#y zl3hE#y6>kkA8VY2`W`g5Ip?2qC_BY$>R`iGQLhz2-S>x(RuWv)SPaGdl^)gGw7tjR zH@;jwk!jIaCgSg_*9iF|a);sRUTq30(8I(obh^|}S~}P4U^BIGYqcz;MPpC~Y@k_m zaw4WG1_vz2GdCAX!$_a%GHK**@IrHSkGoN>)e}>yzUTm52on`hYot7cB=oA-h1u|R ztH$11t?54Qg2L+i33FPFKKRm1aOjKST{l1*(nps`>sv%VqeVMWjl5+Gh+9);hIP8? zA@$?}Sc z3qIRpba+y5yf{R6G(u8Z^vkg0Fu&D-7?1s=QZU`Ub{-!Y`I?AGf1VNuc^L3v>)>i# z{DV9W$)>34wnzAXUiV^ZpYKw>UElrN_5Xj6{r_3| z$X5PK`e5$7>~9Dj7gK5ash(dvs`vwfk}&RD`>04;j62zoXESkFBklYaKm5seyiX(P zqQ-;XxlV*yg?Dhlx%xt!b0N3GHp@(p$A;8|%# zZ5m2KL|{on4nr>2_s9Yh=r5ScQ0;aMF)G$-9-Ca6%wA`Pa)i?NGFA|#Yi?{X-4ZO_ z^}%7%vkzvUHa$-^Y#aA+aiR5sa%S|Ebyn`EV<3Pc?ax_f>@sBZF1S;7y$CXd5t5=WGsTKBk8$OfH4v|0?0I=Yp}7c=WBSCg!{0n)XmiU;lfx)**zZaYqmDJelxk$)nZyx5`x$6R|fz(;u zEje5Dtm|a%zK!!tk3{i9$I2b{vXNFy%Bf{50X!x{98+BsDr_u9i>G5%*sqEX|06J0 z^IY{UcEbj6LDwuMh7cH`H@9sVt1l1#8kEQ(LyT@&+K}(ReE`ux8gb0r6L_#bDUo^P z3Ka2lRo52Hdtl_%+pwVs14=q`{d^L58PsU@AMf(hENumaxM{7iAT5sYmWh@hQCO^ zK&}ijo=`VqZ#a3vE?`7QW0ZREL17ZvDfdqKGD?0D4fg{7v%|Yj&_jcKJAB)>=*RS* zto8p6@k%;&^ZF>hvXm&$PCuEp{uqw3VPG$9VMdW5$w-fy2CNNT>E;>ejBgy-m_6`& z97L1p{%srn@O_JQgFpa_#f(_)eb#YS>o>q3(*uB;uZb605(iqM$=NK{nHY=+X2*G) zO3-_Xh%aG}fHWe*==58zBwp%&`mge<8uq8;xIxOd=P%9EK!34^E9sk|(Zq1QSz-JVeP12Fp)-`F|KY$LPwUE?rku zY@OJ)Z9A!ojfzfeyJ9;zv2EM7ZQB)AR5xGa-tMn^bl)FmoIiVyJ@!~@%{}qXXD&Ns zPnfe5U+&ohKefILu_1mPfLGuapX@btta5C#gPB2cjk5m4T}Nfi+Vfka!Yd(L?-c~5 z#ZK4VeQEXNPc4r$K00Fg>g#_W!YZ)cJ?JTS<&68_$#cZT-ME`}tcwqg3#``3M3UPvn+pi}(VNNx6y zFIMVb6OwYU(2`at$gHba*qrMVUl8xk5z-z~fb@Q3Y_+aXuEKH}L+>eW__!IAd@V}L zkw#s%H0v2k5-=vh$^vPCuAi22Luu3uKTf6fPo?*nvj$9(u)4$6tvF-%IM+3pt*cgs z_?wW}J7VAA{_~!?))?s6{M=KPpVhg4fNuU*|3THp@_(q!b*hdl{fjRVFWtu^1dV(f z6iOux9hi&+UK=|%M*~|aqFK{Urfl!TA}UWY#`w(0P!KMe1Si{8|o))Gy6d7;!JQYhgMYmXl?3FfOM2nQGN@~Ap6(G z3+d_5y@=nkpKAhRqf{qQ~k7Z$v&l&@m7Ppt#FSNzKPZM z8LhihcE6i=<(#87E|Wr~HKvVWhkll4iSK$^mUHaxgy8*K$_Zj;zJ`L$naPj+^3zTi z-3NTaaKnD5FPY-~?Tq6QHnmDDRxu0mh0D|zD~Y=vv_qig5r-cIbCpxlju&8Sya)@{ zsmv6XUSi)@(?PvItkiZEeN*)AE~I_?#+Ja-r8$(XiXei2d@Hi7Rx8+rZZb?ZLa{;@*EHeRQ-YDadz~M*YCM4&F-r;E#M+@CSJMJ0oU|PQ^ z=E!HBJDMQ2TN*Y(Ag(ynAL8%^v;=~q?s4plA_hig&5Z0x_^Oab!T)@6kRN$)qEJ6E zNuQjg|G7iwU(N8pI@_6==0CL;lRh1dQF#wePhmu@hADFd3B5KIH#dx(2A zp~K&;Xw}F_N6CU~0)QpQk7s$a+LcTOj1%=WXI(U=Dv!6 z{#<#-)2+gCyyv=Jw?Ab#PVkxPDeH|sAxyG`|Ys}A$PW4TdBv%zDz z^?lwrxWR<%Vzc8Sgt|?FL6ej_*e&rhqJZ3Y>k=X(^dytycR;XDU16}Pc9Vn0>_@H+ zQ;a`GSMEG64=JRAOg%~L)x*w{2re6DVprNp+FcNra4VdNjiaF0M^*>CdPkt(m150rCue?FVdL0nFL$V%5y6N z%eLr5%YN7D06k5ji5*p4v$UMM)G??Q%RB27IvH7vYr_^3>1D-M66#MN8tWGw>WED} z5AhlsanO=STFYFs)Il_0i)l)f<8qn|$DW7ZXhf5xI;m+7M5-%P63XFQrG9>DMqHc} zsgNU9nR`b}E^mL5=@7<1_R~j@q_2U^3h|+`7YH-?C=vme1C3m`Fe0HC>pjt6f_XMh zy~-i-8R46QNYneL4t@)<0VU7({aUO?aH`z4V2+kxgH5pYD5)wCh75JqQY)jIPN=U6 z+qi8cGiOtXG2tXm;_CfpH9ESCz#i5B(42}rBJJF$jh<1sbpj^8&L;gzGHb8M{of+} zzF^8VgML2O9nxBW7AvdEt90vp+#kZxWf@A)o9f9}vKJy9NDBjBW zSt=Hcs=YWCwnfY1UYx*+msp{g!w0HC<_SM!VL1(I2PE?CS}r(eh?{I)mQixmo5^p# zV?2R!R@3GV6hwTCrfHiK#3Orj>I!GS2kYhk1S;aFBD_}u2v;0HYFq}Iz1Z(I4oca4 zxquja8$+8JW_EagDHf$a1OTk5S97umGSDaj)gH=fLs9>_=XvVj^Xj9a#gLdk=&3tl zfmK9MNnIX9v{?%xdw7568 zNrZ|roYs(vC4pHB5RJ8>)^*OuyNC>x7ad)tB_}3SgQ96+-JT^Qi<`xi=)_=$Skwv~ zdqeT9Pa`LYvCAn&rMa2aCDV(TMI#PA5g#RtV|CWpgDYRA^|55LLN^uNh*gOU>Z=a06qJ;$C9z8;n-Pq=qZnc1zUwJ@t)L;&NN+E5m zRkQ(SeM8=l-aoAKGKD>!@?mWTW&~)uF2PYUJ;tB^my`r9n|Ly~0c%diYzqs9W#FTjy?h&X3TnH zXqA{QI82sdjPO->f=^K^f>N`+B`q9&rN0bOXO79S&a9XX8zund(kW7O76f4dcWhIu zER`XSMSFbSL>b;Rp#`CuGJ&p$s~G|76){d?xSA5wVg##_O0DrmyEYppyBr%fyWbbv zp`K84JwRNP$d-pJ!Qk|(RMr?*!wi1if-9G#0p>>1QXKXWFy)eB3ai)l3601q8!9JC zvU#ZWWDNKq9g6fYs?JQ)Q4C_cgTy3FhgKb8s&m)DdmL5zhNK#8wWg!J*7G7Qhe9VU zha?^AQTDpYcuN!B+#1dE*X{<#!M%zfUQbj=zLE{dW0XeQ7-oIsGY6RbkP2re@Q{}r_$iiH0xU%iN*ST`A)-EH6eaZB$GA#v)cLi z*MpA(3bYk$oBDKAzu^kJoSUsDd|856DApz={3u8sbQV@JnRkp2nC|)m;#T=DvIL-O zI4vh;g7824l}*`_p@MT4+d`JZ2%6NQh=N9bmgJ#q!hK@_<`HQq3}Z8Ij>3%~<*= zcv=!oT#5xmeGI92lqm9sGVE%#X$ls;St|F#u!?5Y7syhx6q#MVRa&lBmmn%$C0QzU z);*ldgwwCmzM3uglr}!Z2G+?& zf%Dpo&mD%2ZcNFiN-Z0f;c_Q;A%f@>26f?{d1kxIJD}LxsQkB47SAdwinfMILZdN3 zfj^HmTzS3Ku5BxY>ANutS8WPQ-G>v4^_Qndy==P3pDm+Xc?>rUHl-4+^%Sp5atOja z2oP}ftw-rqnb}+khR3CrRg^ibi6?QYk1*i^;kQGirQ=uB9Sd1NTfT-Rbv;hqnY4neE5H1YUrjS2m+2&@uXiAo- zrKUX|Ohg7(6F(AoP~tj;NZlV#xsfo-5reuQHB$&EIAhyZk;bL;k9ouDmJNBAun;H& zn;Of1z_Qj`x&M;5X;{s~iGzBQTY^kv-k{ksbE*Dl%Qf%N@hQCfY~iUw!=F-*$cpf2 z3wix|aLBV0b;W@z^%7S{>9Z^T^fLOI68_;l@+Qzaxo`nAI8emTV@rRhEKZ z?*z_{oGdI~R*#<2{bkz$G~^Qef}$*4OYTgtL$e9q!FY7EqxJ2`zk6SQc}M(k(_MaV zSLJnTXw&@djco1~a(vhBl^&w=$fa9{Sru>7g8SHahv$&Bl(D@(Zwxo_3r=;VH|uc5 zi1Ny)J!<(KN-EcQ(xlw%PNwK8U>4$9nVOhj(y0l9X^vP1TA>r_7WtSExIOsz`nDOP zs}d>Vxb2Vo2e5x8p(n~Y5ggAyvib>d)6?)|E@{FIz?G3PVGLf7-;BxaP;c?7ddH$z zA+{~k^V=bZuXafOv!RPsE1GrR3J2TH9uB=Z67gok+u`V#}BR86hB1xl}H4v`F+mRfr zYhortD%@IGfh!JB(NUNSDh+qDz?4ztEgCz&bIG-Wg7w-ua4ChgQR_c+z8dT3<1?uX z*G(DKy_LTl*Ea!%v!RhpCXW1WJO6F`bgS-SB;Xw9#! z<*K}=#wVu9$`Yo|e!z-CPYH!nj7s9dEPr-E`DXUBu0n!xX~&|%#G=BeM?X@shQQMf zMvr2!y7p_gD5-!Lnm|a@z8Of^EKboZsTMk%5VsJEm>VsJ4W7Kv{<|#4f-qDE$D-W>gWT%z-!qXnDHhOvLk=?^a1*|0j z{pW{M0{#1VcR5;F!!fIlLVNh_Gj zbnW(_j?0c2q$EHIi@fSMR{OUKBcLr{Y&$hrM8XhPByyZaXy|dd&{hYQRJ9@Fn%h3p7*VQolBIV@Eq`=y%5BU~3RPa^$a?ixp^cCg z+}Q*X+CW9~TL29@OOng(#OAOd!)e$d%sr}^KBJ-?-X&|4HTmtemxmp?cT3uA?md4% zT8yZ0U;6Rg6JHy3fJae{6TMGS?ZUX6+gGTT{Q{)SI85$5FD{g-eR%O0KMpWPY`4@O zx!hen1*8^E(*}{m^V_?}(b5k3hYo=T+$&M32+B`}81~KKZhY;2H{7O-M@vbCzuX0n zW-&HXeyr1%I3$@ns-V1~Lb@wIpkmx|8I~ob1Of7i6BTNysEwI}=!nU%q7(V_^+d*G z7G;07m(CRTJup!`cdYi93r^+LY+`M*>aMuHJm(A8_O8C#A*$!Xvddgpjx5)?_EB*q zgE8o5O>e~9IiSC@WtZpF{4Bj2J5eZ>uUzY%TgWF7wdDE!fSQIAWCP)V{;HsU3ap?4 znRsiiDbtN7i9hapO;(|Ew>Ip2TZSvK9Z^N21%J?OiA_&eP1{(Pu_=%JjKy|HOardq ze?zK^K zA%sjF64*Wufad%H<) z^|t>e*h+Z1#l=5wHexzt9HNDNXgM=-OPWKd^5p!~%SIl>Fo&7BvNpbf8{NXmH)o{r zO=aBJ;meX1^{O%q;kqdw*5k!Y7%t_30 zy{nGRVc&5qt?dBwLs+^Sfp;f`YVMSB#C>z^a9@fpZ!xb|b-JEz1LBX7ci)V@W+kvQ89KWA0T~Lj$aCcfW#nD5bt&Y_< z-q{4ZXDqVg?|0o)j1%l0^_it0WF*LCn-+)c!2y5yS7aZIN$>0LqNnkujV*YVes(v$ zY@_-!Q;!ZyJ}Bg|G-~w@or&u0RO?vlt5*9~yeoPV_UWrO2J54b4#{D(D>jF(R88u2 zo#B^@iF_%S>{iXSol8jpmsZuJ?+;epg>k=$d`?GSegAVp3n$`GVDvK${N*#L_1`44 z{w0fL{2%)0|E+qgZtjX}itZz^KJt4Y;*8uSK}Ft38+3>j|K(PxIXXR-t4VopXo#9# zt|F{LWr-?34y`$nLBVV_*UEgA6AUI65dYIbqpNq9cl&uLJ0~L}<=ESlOm?Y-S@L*d z<7vt}`)TW#f%Rp$Q}6@3=j$7Tze@_uZO@aMn<|si{?S}~maII`VTjs&?}jQ4_cut9$)PEqMukwoXobzaKx^MV z2fQwl+;LSZ$qy%Tys0oo^K=jOw$!YwCv^ei4NBVauL)tN%=wz9M{uf{IB(BxK|lT*pFkmNK_1tV`nb%jH=a0~VNq2RCKY(rG7jz!-D^k)Ec)yS%17pE#o6&eY+ z^qN(hQT$}5F(=4lgNQhlxj?nB4N6ntUY6(?+R#B?W3hY_a*)hnr4PA|vJ<6p`K3Z5Hy z{{8(|ux~NLUW=!?9Qe&WXMTAkQnLXg(g=I@(VG3{HE13OaUT|DljyWXPs2FE@?`iU z4GQlM&Q=T<4&v@Fe<+TuXiZQT3G~vZ&^POfmI1K2h6t4eD}Gk5XFGpbj1n_g*{qmD6Xy z`6Vv|lLZtLmrnv*{Q%xxtcWVj3K4M%$bdBk_a&ar{{GWyu#ljM;dII;*jP;QH z#+^o-A4np{@|Mz+LphTD0`FTyxYq#wY)*&Ls5o{0z9yg2K+K7ZN>j1>N&;r+Z`vI| zDzG1LJZ+sE?m?>x{5LJx^)g&pGEpY=fQ-4}{x=ru;}FL$inHemOg%|R*ZXPodU}Kh zFEd5#+8rGq$Y<_?k-}r5zgQ3jRV=ooHiF|@z_#D4pKVEmn5CGV(9VKCyG|sT9nc=U zEoT67R`C->KY8Wp-fEcjjFm^;Cg(ls|*ABVHq8clBE(;~K^b+S>6uj70g? z&{XQ5U&!Z$SO7zfP+y^8XBbiu*Cv-yJG|l-oe*!s5$@Lh_KpxYL2sx`B|V=dETN>5K+C+CU~a_3cI8{vbu$TNVdGf15*>D zz@f{zIlorkY>TRh7mKuAlN9A0>N>SV`X)+bEHms=mfYTMWt_AJtz_h+JMmrgH?mZt zm=lfdF`t^J*XLg7v+iS)XZROygK=CS@CvUaJo&w2W!Wb@aa?~Drtf`JV^cCMjngVZ zv&xaIBEo8EYWuML+vxCpjjY^s1-ahXJzAV6hTw%ZIy!FjI}aJ+{rE&u#>rs)vzuxz z+$5z=7W?zH2>Eb32dvgHYZtCAf!=OLY-pb4>Ae79rd68E2LkVPj-|jFeyqtBCCwiW zkB@kO_(3wFq)7qwV}bA=zD!*@UhT`geq}ITo%@O(Z5Y80nEX~;0-8kO{oB6|(4fQh z);73T!>3@{ZobPwRv*W?7m0Ml9GmJBCJd&6E?hdj9lV= z4flNfsc(J*DyPv?RCOx!MSvk(M952PJ-G|JeVxWVjN~SNS6n-_Ge3Q;TGE;EQvZg86%wZ`MB zSMQua(i*R8a75!6$QRO^(o7sGoomb+Y{OMy;m~Oa`;P9Yqo>?bJAhqXxLr7_3g_n>f#UVtxG!^F#1+y@os6x(sg z^28bsQ@8rw%Gxk-stAEPRbv^}5sLe=VMbkc@Jjimqjvmd!3E7+QnL>|(^3!R} zD-l1l7*Amu@j+PWLGHXXaFG0Ct2Q=}5YNUxEQHCAU7gA$sSC<5OGylNnQUa>>l%sM zyu}z6i&({U@x^hln**o6r2s-(C-L50tQvz|zHTqW!ir?w&V23tuYEDJVV#5pE|OJu z7^R!A$iM$YCe?8n67l*J-okwfZ+ZTkGvZ)tVPfR;|3gyFjF)8V zyXXN=!*bpyRg9#~Bg1+UDYCt0 ztp4&?t1X0q>uz;ann$OrZs{5*r`(oNvw=$7O#rD|Wuv*wIi)4b zGtq4%BX+kkagv3F9Id6~-c+1&?zny%w5j&nk9SQfo0k4LhdSU_kWGW7axkfpgR`8* z!?UTG*Zi_baA1^0eda8S|@&F z{)Rad0kiLjB|=}XFJhD(S3ssKlveFFmkN{Vl^_nb!o5M!RC=m)V&v2%e?ZoRC@h3> zJ(?pvToFd`*Zc@HFPL#=otWKwtuuQ_dT-Hr{S%pQX<6dqVJ8;f(o)4~VM_kEQkMR+ zs1SCVi~k>M`u1u2xc}>#D!V&6nOOh-E$O&SzYrjJdZpaDv1!R-QGA141WjQe2s0J~ zQ;AXG)F+K#K8_5HVqRoRM%^EduqOnS(j2)|ctA6Q^=|s_WJYU;Z%5bHp08HPL`YF2 zR)Ad1z{zh`=sDs^&V}J z%$Z$!jd7BY5AkT?j`eqMs%!Gm@T8)4w3GYEX~IwgE~`d|@T{WYHkudy(47brgHXx& zBL1yFG6!!!VOSmDxBpefy2{L_u5yTwja&HA!mYA#wg#bc-m%~8aRR|~AvMnind@zs zy>wkShe5&*un^zvSOdlVu%kHsEo>@puMQ`b1}(|)l~E{5)f7gC=E$fP(FC2=F<^|A zxeIm?{EE!3sO!Gr7e{w)Dx(uU#3WrFZ>ibmKSQ1tY?*-Nh1TDHLe+k*;{Rp!Bmd_m zb#^kh`Y*8l|9Cz2e{;RL%_lg{#^Ar+NH|3z*Zye>!alpt{z;4dFAw^^H!6ING*EFc z_yqhr8d!;%nHX9AKhFQZBGrSzfzYCi%C!(Q5*~hX>)0N`vbhZ@N|i;_972WSx*>LH z87?en(;2_`{_JHF`Sv6Wlps;dCcj+8IJ8ca6`DsOQCMb3n# z3)_w%FuJ3>fjeOOtWyq)ag|PmgQbC-s}KRHG~enBcIwqIiGW8R8jFeBNY9|YswRY5 zjGUxdGgUD26wOpwM#8a!Nuqg68*dG@VM~SbOroL_On0N6QdT9?)NeB3@0FCC?Z|E0 z6TPZj(AsPtwCw>*{eDEE}Gby>0q{*lI+g2e&(YQrsY&uGM{O~}(oM@YWmb*F zA0^rr5~UD^qmNljq$F#ARXRZ1igP`MQx4aS6*MS;Ot(1L5jF2NJ;de!NujUYg$dr# z=TEL_zTj2@>ZZN(NYCeVX2==~=aT)R30gETO{G&GM4XN<+!&W&(WcDP%oL8PyIVUC zs5AvMgh6qr-2?^unB@mXK*Dbil^y-GTC+>&N5HkzXtozVf93m~xOUHn8`HpX=$_v2 z61H;Z1qK9o;>->tb8y%#4H)765W4E>TQ1o0PFj)uTOPEvv&}%(_mG0ISmyhnQV33Z$#&yd{ zc{>8V8XK$3u8}04CmAQ#I@XvtmB*s4t8va?-IY4@CN>;)mLb_4!&P3XSw4pA_NzDb zORn!blT-aHk1%Jpi>T~oGLuh{DB)JIGZ9KOsciWs2N7mM1JWM+lna4vkDL?Q)z_Ct z`!mi0jtr+4*L&N7jk&LodVO#6?_qRGVaucqVB8*us6i3BTa^^EI0x%EREQSXV@f!lak6Wf1cNZ8>*artIJ(ADO*=<-an`3zB4d*oO*8D1K!f z*A@P1bZCNtU=p!742MrAj%&5v%Xp_dSX@4YCw%F|%Dk=u|1BOmo)HsVz)nD5USa zR~??e61sO(;PR)iaxK{M%QM_rIua9C^4ppVS$qCT9j2%?*em?`4Z;4@>I(c%M&#cH z>4}*;ej<4cKkbCAjjDsyKS8rIm90O)Jjgyxj5^venBx&7B!xLmzxW3jhj7sR(^3Fz z84EY|p1NauwXUr;FfZjdaAfh%ivyp+^!jBjJuAaKa!yCq=?T_)R!>16?{~p)FQ3LDoMyG%hL#pR!f@P%*;#90rs_y z@9}@r1BmM-SJ#DeuqCQk=J?ixDSwL*wh|G#us;dd{H}3*-Y7Tv5m=bQJMcH+_S`zVtf;!0kt*(zwJ zs+kedTm!A}cMiM!qv(c$o5K%}Yd0|nOd0iLjus&;s0Acvoi-PFrWm?+q9f^FslxGi z6ywB`QpL$rJzWDg(4)C4+!2cLE}UPCTBLa*_=c#*$b2PWrRN46$y~yST3a2$7hEH= zNjux+wna^AzQ=KEa_5#9Ph=G1{S0#hh1L3hQ`@HrVnCx{!fw_a0N5xV(iPdKZ-HOM za)LdgK}1ww*C_>V7hbQnTzjURJL`S%`6nTHcgS+dB6b_;PY1FsrdE8(2K6FN>37!62j_cBlui{jO^$dPkGHV>pXvW0EiOA zqW`YaSUBWg_v^Y5tPJfWLcLpsA8T zG)!x>pKMpt!lv3&KV!-um= zKCir6`bEL_LCFx4Z5bAFXW$g3Cq`?Q%)3q0r852XI*Der*JNuKUZ`C{cCuu8R8nkt z%pnF>R$uY8L+D!V{s^9>IC+bmt<05h**>49R*#vpM*4i0qRB2uPbg8{{s#9yC;Z18 zD7|4m<9qneQ84uX|J&f-g8a|nFKFt34@Bt{CU`v(SYbbn95Q67*)_Esl_;v291s=9 z+#2F2apZU4Tq=x+?V}CjwD(P=U~d<=mfEFuyPB`Ey82V9G#Sk8H_Ob_RnP3s?)S_3 zr%}Pb?;lt_)Nf>@zX~D~TBr;-LS<1I##8z`;0ZCvI_QbXNh8Iv)$LS=*gHr;}dgb=w5$3k2la1keIm|=7<-JD>)U%=Avl0Vj@+&vxn zt-)`vJxJr88D&!}2^{GPXc^nmRf#}nb$4MMkBA21GzB`-Or`-3lq^O^svO7Vs~FdM zv`NvzyG+0T!P8l_&8gH|pzE{N(gv_tgDU7SWeiI-iHC#0Ai%Ixn4&nt{5y3(GQs)i z&uA;~_0shP$0Wh0VooIeyC|lak__#KVJfxa7*mYmZ22@(<^W}FdKjd*U1CqSjNKW% z*z$5$=t^+;Ui=MoDW~A7;)Mj%ibX1_p4gu>RC}Z_pl`U*{_z@+HN?AF{_W z?M_X@o%w8fgFIJ$fIzBeK=v#*`mtY$HC3tqw7q^GCT!P$I%=2N4FY7j9nG8aIm$c9 zeKTxVKN!UJ{#W)zxW|Q^K!3s;(*7Gbn;e@pQBCDS(I|Y0euK#dSQ_W^)sv5pa%<^o zyu}3d?Lx`)3-n5Sy9r#`I{+t6x%I%G(iewGbvor&I^{lhu-!#}*Q3^itvY(^UWXgvthH52zLy&T+B)Pw;5>4D6>74 zO_EBS)>l!zLTVkX@NDqyN2cXTwsUVao7$HcqV2%t$YzdAC&T)dwzExa3*kt9d(}al zA~M}=%2NVNUjZiO7c>04YH)sRelXJYpWSn^aC$|Ji|E13a^-v2MB!Nc*b+=KY7MCm zqIteKfNkONq}uM;PB?vvgQvfKLPMB8u5+Am=d#>g+o&Ysb>dX9EC8q?D$pJH!MTAqa=DS5$cb+;hEvjwVfF{4;M{5U&^_+r zvZdu_rildI!*|*A$TzJ&apQWV@p{!W`=?t(o0{?9y&vM)V)ycGSlI3`;ps(vf2PUq zX745#`cmT*ra7XECC0gKkpu2eyhFEUb?;4@X7weEnLjXj_F~?OzL1U1L0|s6M+kIhmi%`n5vvDALMagi4`wMc=JV{XiO+^ z?s9i7;GgrRW{Mx)d7rj)?(;|b-`iBNPqdwtt%32se@?w4<^KU&585_kZ=`Wy^oLu9 z?DQAh5z%q;UkP48jgMFHTf#mj?#z|=w= z(q6~17Vn}P)J3M?O)x))%a5+>TFW3No~TgP;f}K$#icBh;rSS+R|}l鯊%1Et zwk~hMkhq;MOw^Q5`7oC{CUUyTw9x>^%*FHx^qJw(LB+E0WBX@{Ghw;)6aA-KyYg8p z7XDveQOpEr;B4je@2~usI5BlFadedX^ma{b{ypd|RNYqo#~d*mj&y`^iojR}s%~vF z(H!u`yx68D1Tj(3(m;Q+Ma}s2n#;O~bcB1`lYk%Irx60&-nWIUBr2x&@}@76+*zJ5 ze&4?q8?m%L9c6h=J$WBzbiTf1Z-0Eb5$IZs>lvm$>1n_Mezp*qw_pr8<8$6f)5f<@ zyV#tzMCs51nTv_5ca`x`yfE5YA^*%O_H?;tWYdM_kHPubA%vy47i=9>Bq) zRQ&0UwLQHeswmB1yP)+BiR;S+Vc-5TX84KUA;8VY9}yEj0eESSO`7HQ4lO z4(CyA8y1G7_C;6kd4U3K-aNOK!sHE}KL_-^EDl(vB42P$2Km7$WGqNy=%fqB+ zSLdrlcbEH=T@W8V4(TgoXZ*G1_aq$K^@ek=TVhoKRjw;HyI&coln|uRr5mMOy2GXP zwr*F^Y|!Sjr2YQXX(Fp^*`Wk905K%$bd03R4(igl0&7IIm*#f`A!DCarW9$h$z`kYk9MjjqN&5-DsH@8xh63!fTNPxWsFQhNv z#|3RjnP$Thdb#Ys7M+v|>AHm0BVTw)EH}>x@_f4zca&3tXJhTZ8pO}aN?(dHo)44Z z_5j+YP=jMlFqwvf3lq!57-SAuRV2_gJ*wsR_!Y4Z(trO}0wmB9%f#jNDHPdQGHFR; zZXzS-$`;7DQ5vF~oSgP3bNV$6Z(rwo6W(U07b1n3UHqml>{=6&-4PALATsH@Bh^W? z)ob%oAPaiw{?9HfMzpGb)@Kys^J$CN{uf*HX?)z=g`J(uK1YO^8~s1(ZIbG%Et(|q z$D@_QqltVZu9Py4R0Ld8!U|#`5~^M=b>fnHthzKBRr=i+w@0Vr^l|W;=zFT#PJ?*a zbC}G#It}rQP^Ait^W&aa6B;+0gNvz4cWUMzpv(1gvfw-X4xJ2Sv;mt;zb2Tsn|kSS zo*U9N?I{=-;a-OybL4r;PolCfiaL=y@o9{%`>+&FI#D^uy#>)R@b^1ue&AKKwuI*` zx%+6r48EIX6nF4o;>)zhV_8(IEX})NGU6Vs(yslrx{5fII}o3SMHW7wGtK9oIO4OM&@@ECtXSICLcPXoS|{;=_yj>hh*%hP27yZwOmj4&Lh z*Nd@OMkd!aKReoqNOkp5cW*lC)&C$P?+H3*%8)6HcpBg&IhGP^77XPZpc%WKYLX$T zsSQ$|ntaVVOoRat$6lvZO(G-QM5s#N4j*|N_;8cc2v_k4n6zx9c1L4JL*83F-C1Cn zaJhd;>rHXB%%ZN=3_o3&Qd2YOxrK~&?1=UuN9QhL$~OY-Qyg&})#ez*8NpQW_*a&kD&ANjedxT0Ar z<6r{eaVz3`d~+N~vkMaV8{F?RBVemN(jD@S8qO~L{rUw#=2a$V(7rLE+kGUZ<%pdr z?$DP|Vg#gZ9S}w((O2NbxzQ^zTot=89!0^~hE{|c9q1hVzv0?YC5s42Yx($;hAp*E zyoGuRyphQY{Q2ee0Xx`1&lv(l-SeC$NEyS~8iil3_aNlnqF_G|;zt#F%1;J)jnPT& z@iU0S;wHJ2$f!juqEzPZeZkjcQ+Pa@eERSLKsWf=`{R@yv7AuRh&ALRTAy z8=g&nxsSJCe!QLchJ=}6|LshnXIK)SNd zRkJNiqHwKK{SO;N5m5wdL&qK`v|d?5<4!(FAsDxR>Ky#0#t$8XCMptvNo?|SY?d8b z`*8dVBlXTUanlh6n)!EHf2&PDG8sXNAt6~u-_1EjPI1|<=33T8 zEnA00E!`4Ave0d&VVh0e>)Dc}=FfAFxpsC1u9ATfQ`-Cu;mhc8Z>2;uyXtqpLb7(P zd2F9<3cXS} znMg?{&8_YFTGRQZEPU-XPq55%51}RJpw@LO_|)CFAt62-_!u_Uq$csc+7|3+TV_!h z+2a7Yh^5AA{q^m|=KSJL+w-EWDBc&I_I1vOr^}P8i?cKMhGy$CP0XKrQzCheG$}G# zuglf8*PAFO8%xop7KSwI8||liTaQ9NCAFarr~psQt)g*pC@9bORZ>m`_GA`_K@~&% zijH0z;T$fd;-Liw8%EKZas>BH8nYTqsK7F;>>@YsE=Rqo?_8}UO-S#|6~CAW0Oz1} z3F(1=+#wrBJh4H)9jTQ_$~@#9|Bc1Pd3rAIA_&vOpvvbgDJOM(yNPhJJq2%PCcMaI zrbe~toYzvkZYQ{ea(Wiyu#4WB#RRN%bMe=SOk!CbJZv^m?Flo5p{W8|0i3`hI3Np# zvCZqY%o258CI=SGb+A3yJe~JH^i{uU`#U#fvSC~rWTq+K`E%J@ zasU07&pB6A4w3b?d?q}2=0rA#SA7D`X+zg@&zm^iA*HVi z009#PUH<%lk4z~p^l0S{lCJk1Uxi=F4e_DwlfHA`X`rv(|JqWKAA5nH+u4Da+E_p+ zVmH@lg^n4ixs~*@gm_dgQ&eDmE1mnw5wBz9Yg?QdZwF|an67Xd*x!He)Gc8&2!urh z4_uXzbYz-aX)X1>&iUjGp;P1u8&7TID0bTH-jCL&Xk8b&;;6p2op_=y^m@Nq*0{#o!!A;wNAFG@0%Z9rHo zcJs?Th>Ny6+hI`+1XoU*ED$Yf@9f91m9Y=#N(HJP^Y@ZEYR6I?oM{>&Wq4|v0IB(p zqX#Z<_3X(&{H+{3Tr|sFy}~=bv+l=P;|sBz$wk-n^R`G3p0(p>p=5ahpaD7>r|>pm zv;V`_IR@tvZreIuv2EM7ZQHhO+qUgw#kOs%*ekY^n|=1#x9&c;Ro&I~{rG-#_3ZB1 z?|9}IFdbP}^DneP*T-JaoYHt~r@EfvnPE5EKUwIxjPbsr$% zfWW83pgWST7*B(o=kmo)74$8UU)v0{@4DI+ci&%=#90}!CZz|rnH+Mz=HN~97G3~@ z;v5(9_2%eca(9iu@J@aqaMS6*$TMw!S>H(b z4(*B!|H|8&EuB%mITr~O?vVEf%(Gr)6E=>H~1VR z&1YOXluJSG1!?TnT)_*YmJ*o_Q@om~(GdrhI{$Fsx_zrkupc#y{DK1WOUR>tk>ZE) ziOLoBkhZZ?0Uf}cm>GsA>Rd6V8@JF)J*EQlQ<=JD@m<)hyElXR0`pTku*3MU`HJn| zIf7$)RlK^pW-$87U;431;Ye4Ie+l~_B3*bH1>*yKzn23cH0u(i5pXV! z4K?{3oF7ZavmmtTq((wtml)m6i)8X6ot_mrE-QJCW}Yn!(3~aUHYG=^fA<^~`e3yc z-NWTb{gR;DOUcK#zPbN^D*e=2eR^_!(!RKkiwMW@@yYtEoOp4XjOGgzi`;=8 zi3`Ccw1%L*y(FDj=C7Ro-V?q)-%p?Ob2ZElu`eZ99n14-ZkEV#y5C+{Pq87Gu3&>g zFy~Wk7^6v*)4pF3@F@rE__k3ikx(hzN3@e*^0=KNA6|jC^B5nf(XaoQaZN?Xi}Rn3 z$8&m*KmWvPaUQ(V<#J+S&zO|8P-#!f%7G+n_%sXp9=J%Z4&9OkWXeuZN}ssgQ#Tcj z8p6ErJQJWZ+fXLCco=RN8D{W%+*kko*2-LEb))xcHwNl~Xmir>kmAxW?eW50Osw3# zki8Fl$#fvw*7rqd?%E?}ZX4`c5-R&w!Y0#EBbelVXSng+kUfeUiqofPehl}$ormli zg%r)}?%=?_pHb9`Cq9Z|B`L8b>(!+8HSX?`5+5mm81AFXfnAt1*R3F z%b2RPIacKAddx%JfQ8l{3U|vK@W7KB$CdLqn@wP^?azRks@x8z59#$Q*7q!KilY-P zHUbs(IFYRGG1{~@RF;Lqyho$~7^hNC`NL3kn^Td%A7dRgr_&`2k=t+}D-o9&C!y^? z6MsQ=tc3g0xkK(O%DzR9nbNB(r@L;1zQrs8mzx&4dz}?3KNYozOW5;=w18U6$G4U2 z#2^qRLT*Mo4bV1Oeo1PKQ2WQS2Y-hv&S|C7`xh6=Pj7MNLC5K-zokZ67S)C;(F0Dd zloDK2_o1$Fmza>EMj3X9je7e%Q`$39Dk~GoOj89-6q9|_WJlSl!!+*{R=tGp z8u|MuSwm^t7K^nUe+^0G3dkGZr3@(X+TL5eah)K^Tn zXEtHmR9UIaEYgD5Nhh(s*fcG_lh-mfy5iUF3xxpRZ0q3nZ=1qAtUa?(LnT9I&~uxX z`pV?+=|-Gl(kz?w!zIieXT}o}7@`QO>;u$Z!QB${a08_bW0_o@&9cjJUXzVyNGCm8 zm=W+$H!;_Kzp6WQqxUI;JlPY&`V}9C$8HZ^m?NvI*JT@~BM=()T()Ii#+*$y@lTZBkmMMda>7s#O(1YZR+zTG@&}!EXFG{ zEWPSDI5bFi;NT>Yj*FjH((=oe%t%xYmE~AGaOc4#9K_XsVpl<4SP@E!TgC0qpe1oi zNpxU2b0(lEMcoibQ-G^cxO?ySVW26HoBNa;n0}CWL*{k)oBu1>F18X061$SP{Gu67 z-v-Fa=Fl^u3lnGY^o5v)Bux}bNZ~ z5pL+7F_Esoun8^5>z8NFoIdb$sNS&xT8_|`GTe8zSXQzs4r^g0kZjg(b0bJvz`g<70u9Z3fQILX1Lj@;@+##bP|FAOl)U^9U>0rx zGi)M1(Hce)LAvQO-pW!MN$;#ZMX?VE(22lTlJrk#pB0FJNqVwC+*%${Gt#r_tH9I_ z;+#)#8cWAl?d@R+O+}@1A^hAR1s3UcW{G+>;X4utD2d9X(jF555}!TVN-hByV6t+A zdFR^aE@GNNgSxxixS2p=on4(+*+f<8xrwAObC)D5)4!z7)}mTpb7&ofF3u&9&wPS< zB62WHLGMhmrmOAgmJ+|c>qEWTD#jd~lHNgT0?t-p{T=~#EMcB| z=AoDKOL+qXCfk~F)-Rv**V}}gWFl>liXOl7Uec_8v)(S#av99PX1sQIVZ9eNLkhq$ zt|qu0b?GW_uo}TbU8!jYn8iJeIP)r@;!Ze_7mj{AUV$GEz6bDSDO=D!&C9!M@*S2! zfGyA|EPlXGMjkH6x7OMF?gKL7{GvGfED=Jte^p=91FpCu)#{whAMw`vSLa`K#atdN zThnL+7!ZNmP{rc=Z>%$meH;Qi1=m1E3Lq2D_O1-X5C;!I0L>zur@tPAC9*7Jeh)`;eec}1`nkRP(%iv-`N zZ@ip-g|7l6Hz%j%gcAM}6-nrC8oA$BkOTz^?dakvX?`^=ZkYh%vUE z9+&)K1UTK=ahYiaNn&G5nHUY5niLGus@p5E2@RwZufRvF{@$hW{;{3QhjvEHMvduO z#Wf-@oYU4ht?#uP{N3utVzV49mEc9>*TV_W2TVC`6+oI)zAjy$KJrr=*q##&kobiQ z1vNbya&OVjK`2pdRrM?LuK6BgrLN7H_3m z!qpNKg~87XgCwb#I=Q&0rI*l$wM!qTkXrx1ko5q-f;=R2fImRMwt5Qs{P*p^z@9ex z`2#v(qE&F%MXlHpdO#QEZyZftn4f05ab^f2vjxuFaat2}jke{j?5GrF=WYBR?gS(^ z9SBiNi}anzBDBRc+QqizTTQuJrzm^bNA~A{j%ugXP7McZqJ}65l10({wk++$=e8O{ zxWjG!Qp#5OmI#XRQQM?n6?1ztl6^D40hDJr?4$Wc&O_{*OfMfxe)V0=e{|N?J#fgE>j9jAajze$iN!*yeF%jJU#G1c@@rm zolGW!j?W6Q8pP=lkctNFdfgUMg92wlM4E$aks1??M$~WQfzzzXtS)wKrr2sJeCN4X zY(X^H_c^PzfcO8Bq(Q*p4c_v@F$Y8cHLrH$`pJ2}=#*8%JYdqsqnGqEdBQMpl!Ot04tUGSXTQdsX&GDtjbWD=prcCT9(+ z&UM%lW%Q3yrl1yiYs;LxzIy>2G}EPY6|sBhL&X&RAQrSAV4Tlh2nITR?{6xO9ujGu zr*)^E`>o!c=gT*_@6S&>0POxcXYNQd&HMw6<|#{eSute2C3{&h?Ah|cw56-AP^f8l zT^kvZY$YiH8j)sk7_=;gx)vx-PW`hbSBXJGCTkpt;ap(}G2GY=2bbjABU5)ty%G#x zAi07{Bjhv}>OD#5zh#$0w;-vvC@^}F! z#X$@)zIs1L^E;2xDAwEjaXhTBw2<{&JkF*`;c3<1U@A4MaLPe{M5DGGkL}#{cHL%* zYMG+-Fm0#qzPL#V)TvQVI|?_M>=zVJr9>(6ib*#z8q@mYKXDP`k&A4A};xMK0h=yrMp~JW{L?mE~ph&1Y1a#4%SO)@{ zK2juwynUOC)U*hVlJU17%llUxAJFuKZh3K0gU`aP)pc~bE~mM!i1mi!~LTf>1Wp< zuG+ahp^gH8g8-M$u{HUWh0m^9Rg@cQ{&DAO{PTMudV6c?ka7+AO& z746QylZ&Oj`1aqfu?l&zGtJnpEQOt;OAFq19MXTcI~`ZcoZmyMrIKDFRIDi`FH)w; z8+*8tdevMDv*VtQi|e}CnB_JWs>fhLOH-+Os2Lh!&)Oh2utl{*AwR)QVLS49iTp{6 z;|172Jl!Ml17unF+pd+Ff@jIE-{Oxv)5|pOm@CkHW?{l}b@1>Pe!l}VccX#xp@xgJ zyE<&ep$=*vT=}7vtvif0B?9xw_3Gej7mN*dOHdQPtW5kA5_zGD zpA4tV2*0E^OUimSsV#?Tg#oiQ>%4D@1F5@AHwT8Kgen$bSMHD3sXCkq8^(uo7CWk`mT zuslYq`6Yz;L%wJh$3l1%SZv#QnG3=NZ=BK4yzk#HAPbqXa92;3K5?0kn4TQ`%E%X} z&>Lbt!!QclYKd6+J7Nl@xv!uD%)*bY-;p`y^ZCC<%LEHUi$l5biu!sT3TGGSTPA21 zT8@B&a0lJHVn1I$I3I1I{W9fJAYc+8 zVj8>HvD}&O`TqU2AAb={?eT;0hyL(R{|h23=4fDSZKC32;wWxsVj`P z3J3{M$PwdH!ro*Cn!D&=jnFR>BNGR<<|I8CI@+@658Dy(lhqbhXfPTVecY@L8%`3Q z1Fux2w?2C3th60jI~%OC9BtpNF$QPqcG+Pz96qZJ71_`0o0w_q7|h&O>`6U+^BA&5 zXd5Zp1Xkw~>M%RixTm&OqpNl8Q+ue=92Op_>T~_9UON?ZM2c0aGm=^A4ejrXj3dV9 zhh_bCt-b9`uOX#cFLj!vhZ#lS8Tc47OH>*)y#{O9?AT~KR9LntM|#l#Dlm^8{nZdk zjMl#>ZM%#^nK2TPzLcKxqx24P7R1FPlBy7LSBrRvx>fE$9AJ;7{PQm~^LBX^k#6Zq zw*Z(zJC|`!6_)EFR}8|n8&&Rbj8y028~P~sFXBFRt+tmqH-S3<%N;C&WGH!f3{7cm zy_fCAb9@HqaXa1Y5vFbxWf%#zg6SI$C+Uz5=CTO}e|2fjWkZ;Dx|84Ow~bkI=LW+U zuq;KSv9VMboRvs9)}2PAO|b(JCEC_A0wq{uEj|3x@}*=bOd zwr{TgeCGG>HT<@Zeq8y}vTpwDg#UBvD)BEs@1KP$^3$sh&_joQPn{hjBXmLPJ{tC) z*HS`*2+VtJO{|e$mM^|qv1R*8i(m1`%)}g=SU#T#0KlTM2RSvYUc1fP+va|4;5}Bfz98UvDCpq7}+SMV&;nX zQw~N6qOX{P55{#LQkrZk(e5YGzr|(B;Q;ju;2a`q+S9bsEH@i1{_Y0;hWYn1-79jl z5c&bytD*k)GqrVcHn6t-7kinadiD>B{Tl`ZY@`g|b~pvHh5!gKP4({rp?D0aFd_cN zhHRo4dd5^S6ViN(>(28qZT6E>??aRhc($kP`>@<+lIKS5HdhjVU;>f7<4))E*5|g{ z&d1}D|vpuV^eRj5j|xx9nwaCxXFG?Qbjn~_WSy=N}P0W>MP zG-F%70lX5Xr$a)2i6?i|iMyM|;Jtf*hO?=Jxj12oz&>P=1#h~lf%#fc73M2_(SUM- zf&qnjS80|_Y0lDgl&I?*eMumUklLe_=Td!9G@eR*tcPOgIShJipp3{A10u(4eT~DY zHezEj8V+7m!knn7)W!-5QI3=IvC^as5+TW1@Ern@yX| z7Nn~xVx&fGSr+L%4iohtS3w^{-H1A_5=r&x8}R!YZvp<2T^YFvj8G_vm}5q;^UOJf ztl=X3iL;;^^a#`t{Ae-%5Oq{?M#s6Npj+L(n-*LMI-yMR{)qki!~{5z{&`-iL}lgW zxo+tnvICK=lImjV$Z|O_cYj_PlEYCzu-XBz&XC-JVxUh9;6*z4fuBG+H{voCC;`~GYV|hj%j_&I zDZCj>Q_0RCwFauYoVMiUSB+*Mx`tg)bWmM^SwMA+?lBg12QUF_x2b)b?qb88K-YUd z0dO}3k#QirBV<5%jL$#wlf!60dizu;tsp(7XLdI=eQs?P`tOZYMjVq&jE)qK*6B^$ zBe>VvH5TO>s>izhwJJ$<`a8fakTL!yM^Zfr2hV9`f}}VVUXK39p@G|xYRz{fTI+Yq z20d=)iwjuG9RB$%$^&8#(c0_j0t_C~^|n+c`Apu|x7~;#cS-s=X1|C*YxX3ailhg_|0`g!E&GZJEr?bh#Tpb8siR=JxWKc{#w7g zWznLwi;zLFmM1g8V5-P#RsM@iX>TK$xsWuujcsVR^7TQ@!+vCD<>Bk9tdCo7Mzgq5 zv8d>dK9x8C@Qoh01u@3h0X_`SZluTb@5o;{4{{eF!-4405x8X7hewZWpz z2qEi4UTiXTvsa(0X7kQH{3VMF>W|6;6iTrrYD2fMggFA&-CBEfSqPlQDxqsa>{e2M z(R5PJ7uOooFc|9GU0ELA%m4&4Ja#cQpNw8i8ACAoK6?-px+oBl_yKmenZut#Xumjz zk8p^OV2KY&?5MUwGrBOo?ki`Sxo#?-Q4gw*Sh0k`@ zFTaYK2;}%Zk-68`#5DXU$2#=%YL#S&MTN8bF+!J2VT6x^XBci6O)Q#JfW{YMz) zOBM>t2rSj)n#0a3cjvu}r|k3od6W(SN}V-cL?bi*Iz-8uOcCcsX0L>ZXjLqk zZu2uHq5B|Kt>e+=pPKu=1P@1r9WLgYFq_TNV1p9pu0erHGd!+bBp!qGi+~4A(RsYN@CyXNrC&hxGmW)u5m35OmWwX`I+0yByglO`}HC4nGE^_HUs^&A(uaM zKPj^=qI{&ayOq#z=p&pnx@@k&I1JI>cttJcu@Ihljt?6p^6{|ds`0MoQwp+I{3l6` zB<9S((RpLG^>=Kic`1LnhpW2=Gu!x`m~=y;A`Qk!-w`IN;S8S930#vBVMv2vCKi}u z6<-VPrU0AnE&vzwV(CFC0gnZYcpa-l5T0ZS$P6(?9AM;`Aj~XDvt;Jua=jIgF=Fm? zdp=M$>`phx%+Gu};;-&7T|B1AcC#L4@mW5SV_^1BRbo6;2PWe$r+npRV`yc;T1mo& z+~_?7rA+(Um&o@Tddl zL_hxvWk~a)yY}%j`Y+200D%9$bWHy&;(yj{jpi?Rtz{J66ANw)UyPOm;t6FzY3$hx zcn)Ir79nhFvNa7^a{SHN7XH*|Vlsx`CddPnA&Qvh8aNhEA;mPVv;Ah=k<*u!Zq^7 z<=xs*iQTQOMMcg|(NA_auh@x`3#_LFt=)}%SQppP{E>mu_LgquAWvh<>L7tf9+~rO znwUDS52u)OtY<~!d$;m9+87aO+&`#2ICl@Y>&F{jI=H(K+@3M1$rr=*H^dye#~TyD z!){#Pyfn+|ugUu}G;a~!&&0aqQ59U@UT3|_JuBlYUpT$2+11;}JBJ`{+lQN9T@QFY z5+`t;6(TS0F?OlBTE!@7D`8#URDNqx2t6`GZ{ZgXeS@v%-eJzZOHz18aS|svxII$a zZeFjrJ*$IwX$f-Rzr_G>xbu@euGl)B7pC&S+CmDJBg$BoV~jxSO#>y z33`bupN#LDoW0feZe0%q8un0rYN|eRAnwDHQ6e_)xBTbtoZtTA=Fvk){q}9Os~6mQ zKB80VI_&6iSq`LnK7*kfHZoeX6?WE}8yjuDn=2#JG$+;-TOA1%^=DnXx%w{b=w}tS zQbU3XxtOI8E(!%`64r2`zog;5<0b4i)xBmGP^jiDZ2%HNSxIf3@wKs~uk4%3Mxz;~ zts_S~E4>W+YwI<-*-$U8*^HKDEa8oLbmqGg?3vewnaNg%Mm)W=)lcC_J+1ov^u*N3 zXJ?!BrH-+wGYziJq2Y#vyry6Z>NPgkEk+Ke`^DvNRdb>Q2Nlr#v%O@<5hbflI6EKE z9dWc0-ORk^T}jP!nkJ1imyjdVX@GrjOs%cpgA8-c&FH&$(4od#x6Y&=LiJZPINVyW z0snY$8JW@>tc2}DlrD3StQmA0Twck~@>8dSix9CyQOALcREdxoM$Sw*l!}bXKq9&r zysMWR@%OY24@e`?+#xV2bk{T^C_xSo8v2ZI=lBI*l{RciPwuE>L5@uhz@{!l)rtVlWC>)6(G)1~n=Q|S!{E9~6*fdpa*n z!()-8EpTdj=zr_Lswi;#{TxbtH$8*G=UM`I+icz7sr_SdnHXrv=?iEOF1UL+*6O;% zPw>t^kbW9X@oEXx<97%lBm-9?O_7L!DeD)Me#rwE54t~UBu9VZ zl_I1tBB~>jm@bw0Aljz8! zXBB6ATG6iByKIxs!qr%pz%wgqbg(l{65DP4#v(vqhhL{0b#0C8mq`bnqZ1OwFV z7mlZZJFMACm>h9v^2J9+^_zc1=JjL#qM5ZHaThH&n zXPTsR8(+)cj&>Un{6v*z?@VTLr{TmZ@-fY%*o2G}*G}#!bmqpoo*Ay@U!JI^Q@7gj;Kg-HIrLj4}#ec4~D2~X6vo;ghep-@&yOivYP zC19L0D`jjKy1Yi-SGPAn94(768Tcf$urAf{)1)9W58P`6MA{YG%O?|07!g9(b`8PXG1B1Sh0?HQmeJtP0M$O$hI z{5G`&9XzYhh|y@qsF1GnHN|~^ru~HVf#)lOTSrv=S@DyR$UKQk zjdEPFDz{uHM&UM;=mG!xKvp;xAGHOBo~>_=WFTmh$chpC7c`~7?36h)7$fF~Ii}8q zF|YXxH-Z?d+Q+27Rs3X9S&K3N+)OBxMHn1u(vlrUC6ckBY@@jl+mgr#KQUKo#VeFm zFwNYgv0<%~Wn}KeLeD9e1$S>jhOq&(e*I@L<=I5b(?G(zpqI*WBqf|Zge0&aoDUsC zngMRA_Kt0>La+Erl=Uv_J^p(z=!?XHpenzn$%EA`JIq#yYF?JLDMYiPfM(&Csr#f{ zdd+LJL1by?xz|D8+(fgzRs~(N1k9DSyK@LJygwaYX8dZl0W!I&c^K?7)z{2is;OkE zd$VK-(uH#AUaZrp=1z;O*n=b?QJkxu`Xsw&7yrX0?(CX=I-C#T;yi8a<{E~?vr3W> zQrpPqOW2M+AnZ&p{hqmHZU-;Q(7?- zP8L|Q0RM~sB0w1w53f&Kd*y}ofx@c z5Y6B8qGel+uT1JMot$nT1!Tim6{>oZzJXdyA+4euOLME?5Fd_85Uk%#E*ln%y{u8Q z$|?|R@Hpb~yTVK-Yr_S#%NUy7EBfYGAg>b({J|5b+j-PBpPy$Ns`PaJin4JdRfOaS zE|<HjH%NuJgsd2wOlv>~y=np%=2)$M9LS|>P)zJ+Fei5vYo_N~B0XCn+GM76 z)Xz3tg*FRVFgIl9zpESgdpWAavvVViGlU8|UFY{{gVJskg*I!ZjWyk~OW-Td4(mZ6 zB&SQreAAMqwp}rjy`HsG({l2&q5Y52<@AULVAu~rWI$UbFuZs>Sc*x+XI<+ez%$U)|a^unjpiW0l0 zj1!K0(b6$8LOjzRqQ~K&dfbMIE=TF}XFAi)$+h}5SD3lo z%%Qd>p9se=VtQG{kQ;N`sI)G^u|DN#7{aoEd zkksYP%_X$Rq08);-s6o>CGJ<}v`qs%eYf+J%DQ^2k68C%nvikRsN?$ap--f+vCS`K z#&~)f7!N^;sdUXu54gl3L=LN>FB^tuK=y2e#|hWiWUls__n@L|>xH{%8lIJTd5`w? zSwZbnS;W~DawT4OwSJVdAylbY+u5S+ZH{4hAi2&}Iv~W(UvHg(1GTZRPz`@{SOqzy z(8g&Dz=$PfRV=6FgxN~zo+G8OoPI&d-thcGVR*_^(R8COTM@bq?fDwY{}WhsQS1AK zF6R1t8!RdFmfocpJ6?9Yv~;WYi~XPgs(|>{5})j!AR!voO7y9&cMPo#80A(`za@t>cx<0;qxM@S*m(jYP)dMXr*?q0E`oL;12}VAep179uEr8c<=D zr5?A*C{eJ`z9Ee;E$8)MECqatHkbHH z&Y+ho0B$31MIB-xm&;xyaFCtg<{m~M-QDbY)fQ>Q*Xibb~8ytxZQ?QMf9!%cV zU0_X1@b4d+Pg#R!`OJ~DOrQz3@cpiGy~XSKjZQQ|^4J1puvwKeScrH8o{bscBsowomu z^f12kTvje`yEI3eEXDHJ6L+O{Jv$HVj%IKb|J{IvD*l6IG8WUgDJ*UGz z3!C%>?=dlfSJ>4U88)V+`U-!9r^@AxJBx8R;)J4Fn@`~k>8>v0M9xp90OJElWP&R5 zM#v*vtT}*Gm1^)Bv!s72T3PB0yVIjJW)H7a)ilkAvoaH?)jjb`MP>2z{%Y?}83 zUIwBKn`-MSg)=?R)1Q0z3b>dHE^)D8LFs}6ASG1|daDly_^lOSy&zIIhm*HXm1?VS=_iacG);_I9c zUQH1>i#*?oPIwBMJkzi_*>HoUe}_4o>2(SHWzqQ=;TyhAHS;Enr7!#8;sdlty&(>d zl%5cjri8`2X^Ds`jnw7>A`X|bl=U8n+3LKLy(1dAu8`g@9=5iw$R0qk)w8Vh_Dt^U zIglK}sn^)W7aB(Q>HvrX=rxB z+*L)3DiqpQ_%~|m=44LcD4-bxO3OO*LPjsh%p(k?&jvLp0py57oMH|*IMa(<|{m1(0S|x)?R-mqJ=I;_YUZA>J z62v*eSK;5w!h8J+6Z2~oyGdZ68waWfy09?4fU&m7%u~zi?YPHPgK6LDwphgaYu%0j zurtw)AYOpYKgHBrkX189mlJ`q)w-f|6>IER{5Lk97%P~a-JyCRFjejW@L>n4vt6#hq;!|m;hNE||LK3nw1{bJOy+eBJjK=QqNjI;Q6;Rp5 z&035pZDUZ#%Oa;&_7x0T<7!RW`#YBOj}F380Bq?MjjEhrvlCATPdkCTTl+2efTX$k zH&0zR1n^`C3ef~^sXzJK-)52(T}uTG%OF8yDhT76L~|^+hZ2hiSM*QA9*D5odI1>& z9kV9jC~twA5MwyOx(lsGD_ggYmztXPD`2=_V|ks_FOx!_J8!zM zTzh^cc+=VNZ&(OdN=y4Juw)@8-85lwf_#VMN!Ed(eQiRiLB2^2e`4dp286h@v@`O%_b)Y~A; zv}r6U?zs&@uD_+(_4bwoy7*uozNvp?bXFoB8?l8yG0qsm1JYzIvB_OH4_2G*IIOwT zVl%HX1562vLVcxM_RG*~w_`FbIc!(T=3>r528#%mwwMK}uEhJ()3MEby zQQjzqjWkwfI~;Fuj(Lj=Ug0y`>~C7`w&wzjK(rPw+Hpd~EvQ-ufQOiB4OMpyUKJhw zqEt~jle9d7S~LI~$6Z->J~QJ{Vdn3!c}g9}*KG^Kzr^(7VI5Gk(mHLL{itj_hG?&K4Ws0+T4gLfi3eu$N=`s36geNC?c zm!~}vG6lx9Uf^5M;bWntF<-{p^bruy~f?sk9 zcETAPQZLoJ8JzMMg<-=ju4keY@SY%Wo?u9Gx=j&dfa6LIAB|IrbORLV1-H==Z1zCM zeZcOYpm5>U2fU7V*h;%n`8 zN95QhfD994={1*<2vKLCNF)feKOGk`R#K~G=;rfq}|)s20&MCa65 zUM?xF5!&e0lF%|U!#rD@I{~OsS_?=;s_MQ_b_s=PuWdC)q|UQ&ea)DMRh5>fpQjXe z%9#*x=7{iRCtBKT#H>#v%>77|{4_slZ)XCY{s3j_r{tdpvb#|r|sbS^dU1x70$eJMU!h{Y7Kd{dl}9&vxQl6Jt1a` zHQZrWyY0?!vqf@u-fxU_@+}u(%Wm>0I#KP48tiAPYY!TdW(o|KtVI|EUB9V`CBBNaBLVih7+yMVF|GSoIQD0Jfb{ z!OXq;(>Z?O`1gap(L~bUcp>Lc@Jl-})^=6P%<~~9ywY=$iu8pJ0m*hOPzr~q`23eX zgbs;VOxxENe0UMVeN*>uCn9Gk!4siN-e>x)pIKAbQz!G)TcqIJ0`JBBaX>1-4_XO_-HCS^vr2vjv#7KltDZdyQ{tlWh4$Gm zB>|O1cBDC)yG(sbnc*@w6e%e}r*|IhpXckx&;sQCwGdKH+3oSG-2)Bf#x`@<4ETAr z0My%7RFh6ZLiZ_;X6Mu1YmXx7C$lSZ^}1h;j`EZd6@%JNUe=btBE z%s=Xmo1Ps?8G`}9+6>iaB8bgjUdXT?=trMu|4yLX^m0Dg{m7rpKNJey|EwHI+nN1e zL^>qN%5Fg)dGs4DO~uwIdXImN)QJ*Jhpj7$fq_^`{3fwpztL@WBB}OwQ#Epo-mqMO zsM$UgpFiG&d#)lzEQ{3Q;)&zTw;SzGOah-Dpm{!q7<8*)Ti_;xvV2TYXa}=faXZy? z3y?~GY@kl)>G&EvEijk9y1S`*=zBJSB1iet>0;x1Ai)*`^{pj0JMs)KAM=@UyOGtO z3y0BouW$N&TnwU6!%zS%nIrnANvZF&vB1~P5_d`x-giHuG zPJ;>XkVoghm#kZXRf>qxxEix;2;D1CC~NrbO6NBX!`&_$iXwP~P*c($EVV|669kDO zKoTLZNF4Cskh!Jz5ga9uZ`3o%7Pv`d^;a=cXI|>y;zC3rYPFLQkF*nv(r>SQvD*## z(Vo%^9g`%XwS0t#94zPq;mYGLKu4LU3;txF26?V~A0xZbU4Lmy`)>SoQX^m7fd^*E z+%{R4eN!rIk~K)M&UEzxp9dbY;_I^c} zOc{wlIrN_P(PPqi51k_$>Lt|X6A^|CGYgKAmoI#Li?;Wq%q~q*L7ehZkUrMxW67Jl zhsb~+U?33QS>eqyN{(odAkbopo=Q$Az?L+NZW>j;#~@wCDX?=L5SI|OxI~7!Pli;e zELMFcZtJY3!|=Gr2L4>z8yQ-{To>(f80*#;6`4IAiqUw`=Pg$%C?#1 z_g@hIGerILSU>=P>z{gM|DS91A4cT@PEIB^hSop!uhMo#2G;+tQSpDO_6nOnPWSLU zS;a9m^DFMXR4?*X=}d7l;nXuHk&0|m`NQn%d?8|Ab3A9l9Jh5s120ibWBdB z$5YwsK3;wvp!Kn@)Qae{ef`0#NwlRpQ}k^r>yos_Ne1;xyKLO?4)t_G4eK~wkUS2A&@_;)K0-03XGBzU+5f+uMDxC z(s8!8!RvdC#@`~fx$r)TKdLD6fWEVdEYtV#{ncT-ZMX~eI#UeQ-+H(Z43vVn%Yj9X zLdu9>o%wnWdvzA-#d6Z~vzj-}V3FQ5;axDIZ;i(95IIU=GQ4WuU{tl-{gk!5{l4_d zvvb&uE{%!iFwpymz{wh?bKr1*qzeZb5f6e6m_ozRF&zux2mlK=v_(_s^R6b5lu?_W4W3#<$zeG~Pd)^!4tzhs}-Sx$FJP>)ZGF(hVTH|C3(U zs0PO&*h_ zNA-&qZpTP$$LtIgfiCn07}XDbK#HIXdmv8zdz4TY;ifNIH-0jy(gMSByG2EF~Th#eb_TueZC` zE?3I>UTMpKQ})=C;6p!?G)M6w^u*A57bD?2X`m3X^6;&4%i_m(uGJ3Z5h`nwxM<)H z$I5m?wN>O~8`BGnZ=y^p6;0+%_0K}Dcg|K;+fEi|qoBqvHj(M&aHGqNF48~XqhtU? z^ogwBzRlOfpAJ+Rw7IED8lRbTdBdyEK$gPUpUG}j-M42xDj_&qEAQEtbs>D#dRd7Y z<&TpSZ(quQDHiCFn&0xsrz~4`4tz!CdL8m~HxZM_agu@IrBpyeL1Ft}V$HX_ZqDPm z-f89)pjuEzGdq-PRu`b1m+qBGY{zr_>{6Ss>F|xHZlJj9dt5HD$u`1*WZe)qEIuDSR)%z+|n zatVlhQ?$w#XRS7xUrFE;Y8vMGhQS5*T{ZnY=q1P?w5g$OKJ#M&e??tAmPWHMj3xhS ziGxapy?kn@$~2%ZY;M8Bc@%$pkl%Rvj!?o%agBvpQ-Q61n9kznC4ttrRNQ4%GFR5u zyv%Yo9~yxQJWJSfj z?#HY$y=O~F|2pZs22pu|_&Ajd+D(Mt!nPUG{|1nlvP`=R#kKH zO*s$r_%ss5h1YO7k0bHJ2CXN)Yd6CHn~W!R=SqkWe=&nAZu(Q1G!xgcUilM@YVei@2@a`8he z9@pM`)VB*=e7-MWgLlXlc)t;fF&-AwM{E-EX}pViFn0I0CNw2bNEnN2dj!^4(^zS3 zobUm1uQnpqk_4q{pl*n06=TfK_C>UgurKFjRXsK_LEn};=79`TB12tv6KzwSu*-C8 z;=~ohDLZylHQ|Mpx-?yql>|e=vI1Z!epyUpAcDCp4T|*RV&X`Q$0ogNwy6mFALo^@ z9=&(9txO8V@E!@6^(W0{*~CT>+-MA~vnJULBxCTUW>X5>r7*eXYUT0B6+w@lzw%n> z_VjJ<2qf|(d6jYq2(x$(ZDf!yVkfnbvNmb5c|hhZ^2TV_LBz`9w!e_V*W_(MiA7|= z&EeIIkw*+$Xd!)j8<@_<}A5;~A_>3JT*kX^@}cDoLd>Qj<`Se^wdUa(j0dp+Tl8EptwBm{9OGsdFEq zM`!pjf(Lm(`$e3FLOjqA5LnN5o!}z{ zNf}rJuZh@yUtq&ErjHeGzX4(!luV!jB&;FAP|!R_QHYw#^Z1LwTePAKJ6X&IDNO#; z)#I@Xnnzyij~C@UH~X51JCgQeF0&hTXnuoElz#m{heZRexWc0k4<>0+ClX7%0 zEBqCCld1tD9Zwkr4{?Nor19#E5-YKfB8d?qgR82-Ow2^AuNevly2*tHA|sK!ybYkX zm-sLQH72P&{vEAW6+z~O5d0qd=xW~rua~5a?ymYFSD@8&gV)E5@RNNBAj^C99+Z5Z zR@Pq55mbCQbz+Mn$d_CMW<-+?TU960agEk1J<>d>0K=pF19yN))a~4>m^G&tc*xR+yMD*S=yip-q=H zIlredHpsJV8H(32@Zxc@bX6a21dUV95Th--8pE6C&3F>pk=yv$yd6@Haw;$v4+Fcb zRwn{Qo@0`7aPa2LQOP}j9v>sjOo5Kqvn|`FLizX zB+@-u4Lw|jsvz{p^>n8Vo8H2peIqJJnMN}A)q6%$Tmig7eu^}K2 zrh$X?T|ZMsoh{6pdw1G$_T<`Ds-G=jc;qcGdK4{?dN2-XxjDNbb(7pk|3JUVCU4y; z)?LXR>f+AAu)JEiti_Zy#z5{RgsC}R(@jl%9YZ>zu~hKQ*AxbvhC378-I@{~#%Y`Z zy=a=9YpewPIC+gkEUUwtUL7|RU7=!^Aa}Mk^6uxOgRGA#JXjWLsjFUnix|Mau{hDT z7mn*z1m5g`vP(#tjT0Zy4eAY(br&!RiiXE=ZI!{sE1#^#%x^Z7t1U)b<;%Y}Q9=5v z;wpDCEZ@OE36TWT=|gxigT@VaW9BvHS05;_P(#s z8zI4XFQys}q)<`tkX$WnSarn{3e!s}4(J!=Yf>+Y>cP3f;vr63f2{|S^`_pWc)^5_!R z*(x-fuBxL51@xe!lnDBKi}Br$c$BMZ3%f2Sa6kLabiBS{pq*yj;q|k(86x`PiC{p6 z_bxCW{>Q2BA8~Ggz&0jkrcU+-$ANBsOop*ms>34K9lNYil@}jC;?cYP(m^P}nR6FV zk(M%48Z&%2Rx$A&FhOEirEhY0(dn;-k(qkTU)sFQ`+-ih+s@A8g?r8Pw+}2;35WYf zi}VO`jS`p(tc)$X$a>-#WXoW!phhatC*$}|rk>|wUU71eUJG^$c6_jwX?iSHM@6__ zvV|6%U*$sSXJu9SX?2%M^kK|}a2QJ8AhF{fuXrHZxXsI~O zGKX45!K7p*MCPEQ=gp?eu&#AW*pR{lhQR##P_*{c_DjMGL|3T3-bSJ(o$|M{ytU}> zAV>wq*uE*qFo9KvnA^@juy{x<-u*#2NvkV={Ly}ysKYB-k`K3@K#^S1Bb$8Y#0L0# z`6IkSG&|Z$ODy|VLS+y5pFJx&8tvPmMd8c9FhCyiU8~k6FwkakUd^(_ml8`rnl>JS zZV){9G*)xBqPz^LDqRwyS6w86#D^~xP4($150M)SOZRe9sn=>V#aG0Iy(_^YcPpIz8QYM-#s+n% z@Jd?xQq?Xk6=<3xSY7XYP$$yd&Spu{A#uafiIfy8gRC`o0nk{ezEDjb=q_qRAlR1d zFq^*9Gn)yTG4b}R{!+3hWQ+u3GT~8nwl2S1lpw`s0X_qpxv)g+JIkVKl${sYf_nV~B>Em>M;RlqGb5WVil(89 zs=ld@|#;dq1*vQGz=7--Br-|l) zZ%Xh@v8>B7P?~}?Cg$q9_={59l%m~O&*a6TKsCMAzG&vD>k2WDzJ6!tc!V)+oxF;h zJH;apM=wO?r_+*#;ulohuP=E>^zon}a$NnlcQ{1$SO*i=jnGVcQa^>QOILc)e6;eNTI>os=eaJ{*^DE+~jc zS}TYeOykDmJ=6O%>m`i*>&pO_S;qMySJIyP=}4E&J%#1zju$RpVAkZbEl+p%?ZP^C z*$$2b4t%a(e+%>a>d_f_<JjxI#J1x;=hPd1zFPx=6T$;;X1TD*2(edZ3f46zaAoW>L53vS_J*N8TMB|n+;LD| zC=GkQPpyDY#Am4l49chDv*gojhRj_?63&&8#doW`INATAo(qY#{q}%nf@eTIXmtU< zdB<7YWfyCmBs|c)cK>1)v&M#!yNj#4d$~pVfDWQc_ke1?fw{T1Nce_b`v|Vp5ig(H zJvRD^+ps46^hLX;=e2!2e;w9y1D@!D$c@Jc&%%%IL=+xzw55&2?darw=9g~>P z9>?Kdc$r?6c$m%x2S$sdpPl>GQZ{rC9mPS63*qjCVa?OIBj!fW zm|g?>CVfGXNjOfcyqImXR_(tXS(F{FcoNzKvG5R$IgGaxC@)i(e+$ME}vPVIhd|mx2IIE+f zM?9opQHIVgBWu)^A|RzXw!^??S!x)SZOwZaJkGjc<_}2l^eSBm!eAJG9T>EC6I_sy z?bxzDIAn&K5*mX)$RQzDA?s)-no-XF(g*yl4%+GBf`##bDXJ==AQk*xmnatI;SsLp zP9XTHq5mmS=iWu~9ES>b%Q=1aMa|ya^vj$@qz9S!ih{T8_PD%Sf_QrNKwgrXw9ldm zHRVR98*{C?_XNpJn{abA!oix_mowRMu^2lV-LPi;0+?-F(>^5#OHX-fPED zCu^l7u3E%STI}c4{J2!)9SUlGP_@!d?5W^QJXOI-Ea`hFMKjR7TluLvzC-ozCPn1`Tpy z!vlv@_Z58ILX6>nDjTp-1LlFMx~-%GA`aJvG$?8*Ihn;mH37eK**rmOEwqegf-Ccx zrIX4;{c~RK>XuTXxYo5kMiWMy)!IC{*DHG@E$hx?RwP@+wuad(P1{@%tRkyJRqD)3 zMHHHZ4boqDn>-=DgR5VlhQTpfVy182Gk;A_S8A1-;U1RR>+$62>(MUx@Nox$vTjHq z%QR=j!6Gdyb5wu7y(YUktwMuW5<@jl?m4cv4BODiT5o8qVdC0MBqGr@-YBIwnpZAY znX9(_uQjP}JJ=!~Ve9#5I~rUnN|P_3D$LqZcvBnywYhjlMSFHm`;u9GPla{5QD7(7*6Tb3Svr8;(nuAd81q$*uq6HC_&~je*Ca7hP4sJp0av{M8480wF zxASi7Qv+~@2U%Nu1Ud;s-G4CTVWIPyx!sg&8ZG0Wq zG_}i3C(6_1>q3w!EH7$Kwq8uBp2F2N7}l65mk1p*9v0&+;th=_E-W)E;w}P(j⁢ zv5o9#E7!G0XmdzfsS{efPNi`1b44~SZ4Z8fuX!I}#8g+(wxzQwUT#Xb2(tbY1+EUhGKoT@KEU9Ktl>_0 z%bjDJg;#*gtJZv!-Zs`?^}v5eKmnbjqlvnSzE@_SP|LG_PJ6CYU+6zY6>92%E+ z=j@TZf-iW4(%U{lnYxQA;7Q!b;^brF8n0D>)`q5>|WDDXLrqYU_tKN2>=#@~OE7grMnNh?UOz-O~6 z6%rHy{#h9K0AT+lDC7q4{hw^|q6*Ry;;L%Q@)Ga}$60_q%D)rv(CtS$CQbpq9|y1e zRSrN4;$Jyl{m5bZw`$8TGvb}(LpY{-cQ)fcyJv7l3S52TLXVDsphtv&aPuDk1OzCA z4A^QtC(!11`IsNx_HnSy?>EKpHJWT^wmS~hc^p^zIIh@9f6U@I2 zC=Mve{j2^)mS#U$e{@Q?SO6%LDsXz@SY+=cK_QMmXBIU)j!$ajc-zLx3V60EXJ!qC zi<%2x8Q24YN+&8U@CIlN zrZkcT9yh%LrlGS9`G)KdP(@9Eo-AQz@8GEFWcb7U=a0H^ZVbLmz{+&M7W(nXJ4sN8 zJLR7eeK(K8`2-}j(T7JsO`L!+CvbueT%izanm-^A1Dn{`1Nw`9P?cq;7no+XfC`K(GO9?O^5zNIt4M+M8LM0=7Gz8UA@Z0N+lg+cX)NfazRu z5D)~HA^(u%w^cz+@2@_#S|u>GpB+j4KzQ^&Wcl9f z&hG#bCA(Yk0D&t&aJE^xME^&E-&xGHhXn%}psEIj641H+Nl-}boj;)Zt*t(4wZ5DN z@GXF$bL=&pBq-#vkTkh>7hl%K5|3 z{`Vn9b$iR-SoGENp}bn4;fR3>9sA%X2@1L3aE9yTra;Wb#_`xWwLSLdfu+PAu+o3| zGVnpzPr=ch{uuoHjtw7+_!L_2;knQ!DuDl0R`|%jr+}jFzXtrHIKc323?JO{l&;VF z*L1+}JU7%QJOg|5|Tc|D8fN zJORAg=_vsy{ak|o);@)Yh8Lkcg@$FG3k@ep36BRa^>~UmnRPziS>Z=`Jb2x*Q#`%A zU*i3&Vg?TluO@X0O;r2Jl6LKLUOVhSqg1*qOt^|8*c7 zo(298@+r$k_wQNGHv{|$tW(T8L+4_`FQ{kEW5Jgg{yf7ey4ss_(SNKfz(N9lx&a;< je(UuV8hP?p&}TPdm1I$XmG#(RzlD&B2izSj9sl%y5~4qc diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3fa8f862..1af9e093 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 0adc8e1a..1aa94a42 100644 --- a/gradlew +++ b/gradlew @@ -145,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -153,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -202,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ From e9523a17be316e2e7362d567d406a616572de4d2 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 1 Dec 2023 19:28:51 +0800 Subject: [PATCH 31/44] Move pull request template --- .github/{PULL_REQUEST_TEMPLATE => }/pull_request_template.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{PULL_REQUEST_TEMPLATE => }/pull_request_template.md (100%) diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/pull_request_template.md similarity index 100% rename from .github/PULL_REQUEST_TEMPLATE/pull_request_template.md rename to .github/pull_request_template.md From 8aa3e8b7e274ae7eb3f522501a00146d92d8b97a Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 1 Dec 2023 19:30:46 +0800 Subject: [PATCH 32/44] Update CI --- .github/workflows/gradle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 3ae31131..7af290c8 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -25,7 +25,7 @@ jobs: with: java-version: | ${{ matrix.java }} - 20 +# 20 distribution: 'temurin' - name: Grant execute permission for gradlew if: ${{ runner.os != 'Windows' }} From f927dbdcee9c53494c6bf3bdf82b3449e4ddb0c8 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 2 Dec 2023 10:01:44 +0800 Subject: [PATCH 33/44] Update extensions --- build.gradle.kts | 3 +- gradle.properties | 1 + modules/overrungl.opengl/build.gradle.kts | 3 +- .../generator/kotlin/overrungl/opengl/GLNV.kt | 688 ++++++++++++++++++ .../overrungl/opengl/OpenGLGenerator.kt | 1 + .../main/java/overrungl/opengl/GLExtCaps.java | 41 +- .../main/java/overrungl/opengl/GLLoader.java | 14 +- .../opengl/ext/nv/GLNVTextureEnvCombine4.java | 36 + .../ext/nv/GLNVTextureExpandNormal.java | 32 + .../opengl/ext/nv/GLNVTextureMultisample.java | 85 +++ .../opengl/ext/nv/GLNVTextureRectangle.java | 35 + .../opengl/ext/nv/GLNVTextureShader.java | 104 +++ .../opengl/ext/nv/GLNVTextureShader2.java | 32 + .../opengl/ext/nv/GLNVTextureShader3.java | 48 ++ .../opengl/ext/nv/GLNVTimelineSemaphore.java | 64 ++ .../opengl/ext/nv/GLNVTransformFeedback.java | 163 +++++ .../opengl/ext/nv/GLNVTransformFeedback2.java | 96 +++ .../nv/GLNVUniformBufferUnifiedMemory.java | 34 + .../opengl/ext/nv/GLNVVDPAUInterop.java | 122 ++++ .../opengl/ext/nv/GLNVVDPAUInterop2.java | 44 ++ .../opengl/ext/nv/GLNVVertexArrayRange.java | 56 ++ .../opengl/ext/nv/GLNVVertexArrayRange2.java | 32 + .../ext/nv/GLNVVertexAttribInteger64bit.java | 187 +++++ .../ext/nv/GLNVVertexBufferUnifiedMemory.java | 156 ++++ .../opengl/ext/nv/GLNVVertexProgram.java | 632 ++++++++++++++++ .../opengl/ext/nv/GLNVVertexProgram4.java | 32 + .../opengl/ext/nv/GLNVVideoCapture.java | 161 ++++ .../opengl/ext/nv/GLNVViewportSwizzle.java | 55 ++ 28 files changed, 2944 insertions(+), 13 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java diff --git a/build.gradle.kts b/build.gradle.kts index 8122b7e3..f6afbbbe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -24,6 +24,7 @@ val developers: String by project val jdkVersion: String by rootProject val jdkEnablePreview: String by rootProject val jdkEarlyAccessDoc: String? by rootProject +val kotlinTargetJdkVersion: String by rootProject val targetJavaVersion = jdkVersion.toInt() @@ -155,7 +156,7 @@ subprojects { } tasks.withType { - kotlinOptions { jvmTarget = "20" } + kotlinOptions { jvmTarget = kotlinTargetJdkVersion } } tasks.withType { diff --git a/gradle.properties b/gradle.properties index 9ff50500..480434e8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,5 +15,6 @@ orgUrl=https://over-run.github.io/ jdkVersion=21 jdkEnablePreview=true #jdkEarlyAccessDoc=jdk22 +kotlinTargetJdkVersion=21 projModules=core, glfw, nfd, joml, opengl, stb diff --git a/modules/overrungl.opengl/build.gradle.kts b/modules/overrungl.opengl/build.gradle.kts index b65b0a4a..e57ac47c 100644 --- a/modules/overrungl.opengl/build.gradle.kts +++ b/modules/overrungl.opengl/build.gradle.kts @@ -1,5 +1,6 @@ val jdkVersion: String by rootProject val jdkEnablePreview: String by rootProject +val kotlinTargetJdkVersion: String by rootProject sourceSets { create("generator") @@ -7,7 +8,7 @@ sourceSets { tasks.named("compileGeneratorJava") { javaCompiler.set(javaToolchains.compilerFor { - targetCompatibility = "20" + targetCompatibility = kotlinTargetJdkVersion languageVersion.set(JavaLanguageVersion.of(jdkVersion)) }) } diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt index c3938ce8..7b7e5441 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLNV.kt @@ -1966,4 +1966,692 @@ fun nv() { file("TextureBarrier", NV, "GL_NV_texture_barrier") { "glTextureBarrierNV"(void) } + file( + "TextureEnvCombine4", NV, "GL_NV_texture_env_combine4", + "GL_COMBINE4_NV" to "0x8503", + "GL_SOURCE3_RGB_NV" to "0x8583", + "GL_SOURCE3_ALPHA_NV" to "0x858B", + "GL_OPERAND3_RGB_NV" to "0x8593", + "GL_OPERAND3_ALPHA_NV" to "0x859B" + ) + file("TextureExpandNormal", NV, "GL_NV_texture_expand_normal", "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV" to "0x888F") + file("TextureMultisample", NV, "GL_NV_texture_multisample") { + "GL_TEXTURE_COVERAGE_SAMPLES_NV" ("0x9045") + "GL_TEXTURE_COLOR_SAMPLES_NV" ("0x9046") + "glTexImage2DMultisampleCoverageNV" (void, GLenum ("target"), GLsizei ("coverageSamples"), GLsizei ("colorSamples"), GLint ("internalFormat"), GLsizei ("width"), GLsizei ("height"), GLboolean ("fixedSampleLocations")) + "glTexImage3DMultisampleCoverageNV" (void, GLenum ("target"), GLsizei ("coverageSamples"), GLsizei ("colorSamples"), GLint ("internalFormat"), GLsizei ("width"), GLsizei ("height"), GLsizei ("depth"), GLboolean ("fixedSampleLocations")) + "glTextureImage2DMultisampleNV" (void, GLuint ("texture"), GLenum ("target"), GLsizei ("samples"), GLint ("internalFormat"), GLsizei ("width"), GLsizei ("height"), GLboolean ("fixedSampleLocations")) + "glTextureImage3DMultisampleNV" (void, GLuint ("texture"), GLenum ("target"), GLsizei ("samples"), GLint ("internalFormat"), GLsizei ("width"), GLsizei ("height"), GLsizei ("depth"), GLboolean ("fixedSampleLocations")) + "glTextureImage2DMultisampleCoverageNV" (void, GLuint ("texture"), GLenum ("target"), GLsizei ("coverageSamples"), GLsizei ("colorSamples"), GLint ("internalFormat"), GLsizei ("width"), GLsizei ("height"), GLboolean ("fixedSampleLocations")) + "glTextureImage3DMultisampleCoverageNV" (void, GLuint ("texture"), GLenum ("target"), GLsizei ("coverageSamples"), GLsizei ("colorSamples"), GLint ("internalFormat"), GLsizei ("width"), GLsizei ("height"), GLsizei ("depth"), GLboolean ("fixedSampleLocations")) + } + file( + "TextureRectangle", NV, "GL_NV_texture_rectangle", + "GL_TEXTURE_RECTANGLE_NV" to "0x84F5", + "GL_TEXTURE_BINDING_RECTANGLE_NV" to "0x84F6", + "GL_PROXY_TEXTURE_RECTANGLE_NV" to "0x84F7", + "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV" to "0x84F8" + ) + file( + "TextureShader", NV, "GL_NV_texture_shader", + "GL_OFFSET_TEXTURE_RECTANGLE_NV" to "0x864C", + "GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV" to "0x864D", + "GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV" to "0x864E", + "GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV" to "0x86D9", + "GL_UNSIGNED_INT_S8_S8_8_8_NV" to "0x86DA", + "GL_UNSIGNED_INT_8_8_S8_S8_REV_NV" to "0x86DB", + "GL_DSDT_MAG_INTENSITY_NV" to "0x86DC", + "GL_SHADER_CONSISTENT_NV" to "0x86DD", + "GL_TEXTURE_SHADER_NV" to "0x86DE", + "GL_SHADER_OPERATION_NV" to "0x86DF", + "GL_CULL_MODES_NV" to "0x86E0", + "GL_OFFSET_TEXTURE_MATRIX_NV" to "0x86E1", + "GL_OFFSET_TEXTURE_SCALE_NV" to "0x86E2", + "GL_OFFSET_TEXTURE_BIAS_NV" to "0x86E3", + "GL_OFFSET_TEXTURE_2D_MATRIX_NV" to "0x86E1", + "GL_OFFSET_TEXTURE_2D_SCALE_NV" to "0x86E2", + "GL_OFFSET_TEXTURE_2D_BIAS_NV" to "0x86E3", + "GL_PREVIOUS_TEXTURE_INPUT_NV" to "0x86E4", + "GL_CONST_EYE_NV" to "0x86E5", + "GL_PASS_THROUGH_NV" to "0x86E6", + "GL_CULL_FRAGMENT_NV" to "0x86E7", + "GL_OFFSET_TEXTURE_2D_NV" to "0x86E8", + "GL_DEPENDENT_AR_TEXTURE_2D_NV" to "0x86E9", + "GL_DEPENDENT_GB_TEXTURE_2D_NV" to "0x86EA", + "GL_DOT_PRODUCT_NV" to "0x86EC", + "GL_DOT_PRODUCT_DEPTH_REPLACE_NV" to "0x86ED", + "GL_DOT_PRODUCT_TEXTURE_2D_NV" to "0x86EE", + "GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV" to "0x86F0", + "GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV" to "0x86F1", + "GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV" to "0x86F2", + "GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV" to "0x86F3", + "GL_HILO_NV" to "0x86F4", + "GL_DSDT_NV" to "0x86F5", + "GL_DSDT_MAG_NV" to "0x86F6", + "GL_DSDT_MAG_VIB_NV" to "0x86F7", + "GL_HILO16_NV" to "0x86F8", + "GL_SIGNED_HILO_NV" to "0x86F9", + "GL_SIGNED_HILO16_NV" to "0x86FA", + "GL_SIGNED_RGBA_NV" to "0x86FB", + "GL_SIGNED_RGBA8_NV" to "0x86FC", + "GL_SIGNED_RGB_NV" to "0x86FE", + "GL_SIGNED_RGB8_NV" to "0x86FF", + "GL_SIGNED_LUMINANCE_NV" to "0x8701", + "GL_SIGNED_LUMINANCE8_NV" to "0x8702", + "GL_SIGNED_LUMINANCE_ALPHA_NV" to "0x8703", + "GL_SIGNED_LUMINANCE8_ALPHA8_NV" to "0x8704", + "GL_SIGNED_ALPHA_NV" to "0x8705", + "GL_SIGNED_ALPHA8_NV" to "0x8706", + "GL_SIGNED_INTENSITY_NV" to "0x8707", + "GL_SIGNED_INTENSITY8_NV" to "0x8708", + "GL_DSDT8_NV" to "0x8709", + "GL_DSDT8_MAG8_NV" to "0x870A", + "GL_DSDT8_MAG8_INTENSITY8_NV" to "0x870B", + "GL_SIGNED_RGB_UNSIGNED_ALPHA_NV" to "0x870C", + "GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV" to "0x870D", + "GL_HI_SCALE_NV" to "0x870E", + "GL_LO_SCALE_NV" to "0x870F", + "GL_DS_SCALE_NV" to "0x8710", + "GL_DT_SCALE_NV" to "0x8711", + "GL_MAGNITUDE_SCALE_NV" to "0x8712", + "GL_VIBRANCE_SCALE_NV" to "0x8713", + "GL_HI_BIAS_NV" to "0x8714", + "GL_LO_BIAS_NV" to "0x8715", + "GL_DS_BIAS_NV" to "0x8716", + "GL_DT_BIAS_NV" to "0x8717", + "GL_MAGNITUDE_BIAS_NV" to "0x8718", + "GL_VIBRANCE_BIAS_NV" to "0x8719", + "GL_TEXTURE_BORDER_VALUES_NV" to "0x871A", + "GL_TEXTURE_HI_SIZE_NV" to "0x871B", + "GL_TEXTURE_LO_SIZE_NV" to "0x871C", + "GL_TEXTURE_DS_SIZE_NV" to "0x871D", + "GL_TEXTURE_DT_SIZE_NV" to "0x871E", + "GL_TEXTURE_MAG_SIZE_NV" to "0x871F" + ) + file("TextureShader2", NV, "GL_NV_texture_shader2", "GL_DOT_PRODUCT_TEXTURE_3D_NV" to "0x86EF") + file( + "TextureShader3", NV, "GL_NV_texture_shader3", + "GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV" to "0x8850", + "GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV" to "0x8851", + "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV" to "0x8852", + "GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV" to "0x8853", + "GL_OFFSET_HILO_TEXTURE_2D_NV" to "0x8854", + "GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV" to "0x8855", + "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV" to "0x8856", + "GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV" to "0x8857", + "GL_DEPENDENT_HILO_TEXTURE_2D_NV" to "0x8858", + "GL_DEPENDENT_RGB_TEXTURE_3D_NV" to "0x8859", + "GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV" to "0x885A", + "GL_DOT_PRODUCT_PASS_THROUGH_NV" to "0x885B", + "GL_DOT_PRODUCT_TEXTURE_1D_NV" to "0x885C", + "GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV" to "0x885D", + "GL_HILO8_NV" to "0x885E", + "GL_SIGNED_HILO8_NV" to "0x885F", + "GL_FORCE_BLUE_TO_ONE_NV" to "0x8860" + ) + file("TimelineSemaphore", NV, "GL_NV_timeline_semaphore") { + "GL_TIMELINE_SEMAPHORE_VALUE_NV"("0x9595") + "GL_SEMAPHORE_TYPE_NV"("0x95B3") + "GL_SEMAPHORE_TYPE_BINARY_NV"("0x95B4") + "GL_SEMAPHORE_TYPE_TIMELINE_NV"("0x95B5") + "GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV"("0x95B6") + "glCreateSemaphoresNV"(void, GLsizei("n"), address("semaphores", "GLuint *")) + "glSemaphoreParameterivNV"(void, GLuint("semaphore"), GLenum("pname"), address("params", "const GLint *")) + "glGetSemaphoreParameterivNV"(void, GLuint("semaphore"), GLenum("pname"), address("params", "GLint *")) + } + file("TransformFeedback", NV, "GL_NV_transform_feedback") { + "GL_BACK_PRIMARY_COLOR_NV"("0x8C77") + "GL_BACK_SECONDARY_COLOR_NV"("0x8C78") + "GL_TEXTURE_COORD_NV"("0x8C79") + "GL_CLIP_DISTANCE_NV"("0x8C7A") + "GL_VERTEX_ID_NV"("0x8C7B") + "GL_PRIMITIVE_ID_NV"("0x8C7C") + "GL_GENERIC_ATTRIB_NV"("0x8C7D") + "GL_TRANSFORM_FEEDBACK_ATTRIBS_NV"("0x8C7E") + "GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV"("0x8C7F") + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV"("0x8C80") + "GL_ACTIVE_VARYINGS_NV"("0x8C81") + "GL_ACTIVE_VARYING_MAX_LENGTH_NV"("0x8C82") + "GL_TRANSFORM_FEEDBACK_VARYINGS_NV"("0x8C83") + "GL_TRANSFORM_FEEDBACK_BUFFER_START_NV"("0x8C84") + "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV"("0x8C85") + "GL_TRANSFORM_FEEDBACK_RECORD_NV"("0x8C86") + "GL_PRIMITIVES_GENERATED_NV"("0x8C87") + "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV"("0x8C88") + "GL_RASTERIZER_DISCARD_NV"("0x8C89") + "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV"("0x8C8A") + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV"("0x8C8B") + "GL_INTERLEAVED_ATTRIBS_NV"("0x8C8C") + "GL_SEPARATE_ATTRIBS_NV"("0x8C8D") + "GL_TRANSFORM_FEEDBACK_BUFFER_NV"("0x8C8E") + "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV"("0x8C8F") + "GL_LAYER_NV"("0x8DAA") + "GL_NEXT_BUFFER_NV"("-2") + "GL_SKIP_COMPONENTS4_NV"("-3") + "GL_SKIP_COMPONENTS3_NV"("-4") + "GL_SKIP_COMPONENTS2_NV"("-5") + "GL_SKIP_COMPONENTS1_NV"("-6") + "glBeginTransformFeedbackNV"(void, GLenum("primitiveMode")) + "glEndTransformFeedbackNV"(void) + "glTransformFeedbackAttribsNV"( + void, + GLsizei("count"), + address("attribs", "const GLint *"), + GLenum("bufferMode") + ) + "glBindBufferRangeNV"( + void, + GLenum("target"), + GLuint("index"), + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size") + ) + "glBindBufferOffsetNV"(void, GLenum("target"), GLuint("index"), GLuint("buffer"), GLintptr("offset")) + "glBindBufferBaseNV"(void, GLenum("target"), GLuint("index"), GLuint("buffer")) + "glTransformFeedbackVaryingsNV"( + void, + GLuint("program"), + GLsizei("count"), + address("locations", "const GLint *"), + GLenum("bufferMode") + ) + "glActiveVaryingNV"(void, GLuint("program"), address("name", "const GLchar *")) + "glGetVaryingLocationNV"(GLint, GLuint("program"), address("name", "const GLchar *")) + "glGetActiveVaryingNV"( + void, + GLuint("program"), + GLuint("index"), + GLsizei("bufSize"), + address("length", "GLsizei *"), + address("size", "GLsizei *"), + address("type", "GLenum *"), + address("name", "GLchar *") + ) + "glGetTransformFeedbackVaryingNV"(void, GLuint("program"), GLuint("index"), address("location", "GLint *")) + "glTransformFeedbackStreamAttribsNV"( + void, + GLsizei("count"), + address("attribs", "const GLint *"), + GLsizei("nbuffers"), + address("bufstreams", "const GLint *"), + GLenum("bufferMode") + ) + } + file("TransformFeedback2", NV, "GL_NV_transform_feedback2") { + "GL_TRANSFORM_FEEDBACK_NV"("0x8E22") + "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV"("0x8E23") + "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV"("0x8E24") + "GL_TRANSFORM_FEEDBACK_BINDING_NV"("0x8E25") + "glBindTransformFeedbackNV"(void, GLenum("target"), GLuint("id")) + "glDeleteTransformFeedbacksNV"(void, GLsizei("n"), address("ids", "const GLuint *")) + "glGenTransformFeedbacksNV"(void, GLsizei("n"), address("ids", "GLuint *")) + "glIsTransformFeedbackNV"(GLboolean, GLuint("id")) + "glPauseTransformFeedbackNV"(void) + "glResumeTransformFeedbackNV"(void) + "glDrawTransformFeedbackNV"(void, GLenum("mode"), GLuint("id")) + } + file( + "UniformBufferUnifiedMemory", NV, "GL_NV_uniform_buffer_unified_memory", + "GL_UNIFORM_BUFFER_UNIFIED_NV" to "0x936E", + "GL_UNIFORM_BUFFER_ADDRESS_NV" to "0x936F", + "GL_UNIFORM_BUFFER_LENGTH_NV" to "0x9370" + ) + file("VDPAUInterop", NV, "GL_NV_vdpau_interop") { + "GL_SURFACE_STATE_NV"("0x86EB") + "GL_SURFACE_REGISTERED_NV"("0x86FD") + "GL_SURFACE_MAPPED_NV"("0x8700") + "GL_WRITE_DISCARD_NV"("0x88BE") + "glVDPAUInitNV"(void, address("vdpDevice", "const void *"), address("getProcAddress", "const void *")) + "glVDPAUFiniNV"(void) + "glVDPAURegisterVideoSurfaceNV"( + GLvdpauSurfaceNV, + address("vdpSurface", "const void *"), + GLenum("target"), + GLsizei("numTextureNames"), + address("textureNames", "const GLuint *") + ) + "glVDPAURegisterOutputSurfaceNV"( + GLvdpauSurfaceNV, + address("vdpSurface", "const void *"), + GLenum("target"), + GLsizei("numTextureNames"), + address("textureNames", "const GLuint *") + ) + "glVDPAUIsSurfaceNV"(GLboolean, GLvdpauSurfaceNV("surface")) + "glVDPAUUnregisterSurfaceNV"(void, GLvdpauSurfaceNV("surface")) + "glVDPAUGetSurfaceivNV"( + void, + GLvdpauSurfaceNV("surface"), + GLenum("pname"), + GLsizei("count"), + address("length", "GLsizei *"), + address("values", "GLint *") + ) + "glVDPAUSurfaceAccessNV"(void, GLvdpauSurfaceNV("surface"), GLenum("access")) + "glVDPAUMapSurfacesNV"(void, GLsizei("numSurfaces"), address("surfaces", "const GLvdpauSurfaceNV *")) + "glVDPAUUnmapSurfacesNV"(void, GLsizei("numSurface"), address("surfaces", "const GLvdpauSurfaceNV *")) + } + file("VDPAUInterop2", NV, "GL_NV_vdpau_interop2") { + "glVDPAURegisterVideoSurfaceWithPictureStructureNV"( + GLvdpauSurfaceNV, + address("vdpSurface", "const void *"), + GLenum("target"), + GLsizei("numTextureNames"), + address("textureNames", "const GLuint *"), + GLboolean("isFrameStructure") + ) + } + file("VertexArrayRange", NV, "GL_NV_vertex_array_range") { + "GL_VERTEX_ARRAY_RANGE_NV"("0x851D") + "GL_VERTEX_ARRAY_RANGE_LENGTH_NV"("0x851E") + "GL_VERTEX_ARRAY_RANGE_VALID_NV"("0x851F") + "GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV"("0x8520") + "GL_VERTEX_ARRAY_RANGE_POINTER_NV"("0x8521") + "glFlushVertexArrayRangeNV"(void) + "glVertexArrayRangeNV"(void, GLsizei("length"), address("pointer", "const void *")) + } + file("VertexArrayRange2", NV, "GL_NV_vertex_array_range2", "GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV" to "0x8533") + file("VertexAttribInteger64bit", NV, "GL_NV_vertex_attrib_integer_64bit") { + "glVertexAttribL1i64NV"(void, GLuint("index"), GLint64EXT("x")) + "glVertexAttribL2i64NV"(void, GLuint("index"), GLint64EXT("x"), GLint64EXT("y")) + "glVertexAttribL3i64NV"(void, GLuint("index"), GLint64EXT("x"), GLint64EXT("y"), GLint64EXT("z")) + "glVertexAttribL4i64NV"( + void, + GLuint("index"), + GLint64EXT("x"), + GLint64EXT("y"), + GLint64EXT("z"), + GLint64EXT("w") + ) + "glVertexAttribL1i64vNV"(void, GLuint("index"), address("v", "const GLint64EXT *")) + "glVertexAttribL2i64vNV"(void, GLuint("index"), address("v", "const GLint64EXT *")) + "glVertexAttribL3i64vNV"(void, GLuint("index"), address("v", "const GLint64EXT *")) + "glVertexAttribL4i64vNV"(void, GLuint("index"), address("v", "const GLint64EXT *")) + "glVertexAttribL1ui64NV"(void, GLuint("index"), GLuint64EXT("x")) + "glVertexAttribL2ui64NV"(void, GLuint("index"), GLuint64EXT("x"), GLuint64EXT("y")) + "glVertexAttribL3ui64NV"(void, GLuint("index"), GLuint64EXT("x"), GLuint64EXT("y"), GLuint64EXT("z")) + "glVertexAttribL4ui64NV"( + void, + GLuint("index"), + GLuint64EXT("x"), + GLuint64EXT("y"), + GLuint64EXT("z"), + GLuint64EXT("w") + ) + "glVertexAttribL1ui64vNV"(void, GLuint("index"), address("v", "const GLuint64EXT *")) + "glVertexAttribL2ui64vNV"(void, GLuint("index"), address("v", "const GLuint64EXT *")) + "glVertexAttribL3ui64vNV"(void, GLuint("index"), address("v", "const GLuint64EXT *")) + "glVertexAttribL4ui64vNV"(void, GLuint("index"), address("v", "const GLuint64EXT *")) + "glGetVertexAttribLi64vNV"(void, GLuint("index"), GLenum("pname"), address("params", "GLint64EXT *")) + "glGetVertexAttribLui64vNV"(void, GLuint("index"), GLenum("pname"), address("params", "GLuint64EXT *")) + "glVertexAttribLFormatNV"(void, GLuint("index"), GLint("size"), GLenum("type"), GLsizei("stride")) + } + file("VertexBufferUnifiedMemory", NV, "GL_NV_vertex_buffer_unified_memory") { + "GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"("0x8F1E") + "GL_ELEMENT_ARRAY_UNIFIED_NV"("0x8F1F") + "GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"("0x8F20") + "GL_VERTEX_ARRAY_ADDRESS_NV"("0x8F21") + "GL_NORMAL_ARRAY_ADDRESS_NV"("0x8F22") + "GL_COLOR_ARRAY_ADDRESS_NV"("0x8F23") + "GL_INDEX_ARRAY_ADDRESS_NV"("0x8F24") + "GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"("0x8F25") + "GL_EDGE_FLAG_ARRAY_ADDRESS_NV"("0x8F26") + "GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV"("0x8F27") + "GL_FOG_COORD_ARRAY_ADDRESS_NV"("0x8F28") + "GL_ELEMENT_ARRAY_ADDRESS_NV"("0x8F29") + "GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV"("0x8F2A") + "GL_VERTEX_ARRAY_LENGTH_NV"("0x8F2B") + "GL_NORMAL_ARRAY_LENGTH_NV"("0x8F2C") + "GL_COLOR_ARRAY_LENGTH_NV"("0x8F2D") + "GL_INDEX_ARRAY_LENGTH_NV"("0x8F2E") + "GL_TEXTURE_COORD_ARRAY_LENGTH_NV"("0x8F2F") + "GL_EDGE_FLAG_ARRAY_LENGTH_NV"("0x8F30") + "GL_SECONDARY_COLOR_ARRAY_LENGTH_NV"("0x8F31") + "GL_FOG_COORD_ARRAY_LENGTH_NV"("0x8F32") + "GL_ELEMENT_ARRAY_LENGTH_NV"("0x8F33") + "GL_DRAW_INDIRECT_UNIFIED_NV"("0x8F40") + "GL_DRAW_INDIRECT_ADDRESS_NV"("0x8F41") + "GL_DRAW_INDIRECT_LENGTH_NV"("0x8F42") + "glBufferAddressRangeNV"(void, GLenum("pname"), GLuint("index"), GLuint64EXT("address"), GLsizeiptr("length")) + "glVertexFormatNV"(void, GLint("size"), GLenum("type"), GLsizei("stride")) + "glNormalFormatNV"(void, GLenum("type"), GLsizei("stride")) + "glColorFormatNV"(void, GLint("size"), GLenum("type"), GLsizei("stride")) + "glIndexFormatNV"(void, GLenum("type"), GLsizei("stride")) + "glTexCoordFormatNV"(void, GLint("size"), GLenum("type"), GLsizei("stride")) + "glEdgeFlagFormatNV"(void, GLsizei("stride")) + "glSecondaryColorFormatNV"(void, GLint("size"), GLenum("type"), GLsizei("stride")) + "glFogCoordFormatNV"(void, GLenum("type"), GLsizei("stride")) + "glVertexAttribFormatNV"( + void, + GLuint("index"), + GLint("size"), + GLenum("type"), + GLboolean("normalized"), + GLsizei("stride") + ) + "glVertexAttribIFormatNV"(void, GLuint("index"), GLint("size"), GLenum("type"), GLsizei("stride")) + "glGetIntegerui64i_vNV"(void, GLenum("value"), GLuint("index"), address("result", "GLuint64EXT *")) + } + file("VertexProgram", NV, "GL_NV_vertex_program") { + "GL_VERTEX_PROGRAM_NV"("0x8620") + "GL_VERTEX_STATE_PROGRAM_NV"("0x8621") + "GL_ATTRIB_ARRAY_SIZE_NV"("0x8623") + "GL_ATTRIB_ARRAY_STRIDE_NV"("0x8624") + "GL_ATTRIB_ARRAY_TYPE_NV"("0x8625") + "GL_CURRENT_ATTRIB_NV"("0x8626") + "GL_PROGRAM_LENGTH_NV"("0x8627") + "GL_PROGRAM_STRING_NV"("0x8628") + "GL_MODELVIEW_PROJECTION_NV"("0x8629") + "GL_IDENTITY_NV"("0x862A") + "GL_INVERSE_NV"("0x862B") + "GL_TRANSPOSE_NV"("0x862C") + "GL_INVERSE_TRANSPOSE_NV"("0x862D") + "GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV"("0x862E") + "GL_MAX_TRACK_MATRICES_NV"("0x862F") + "GL_MATRIX0_NV"("0x8630") + "GL_MATRIX1_NV"("0x8631") + "GL_MATRIX2_NV"("0x8632") + "GL_MATRIX3_NV"("0x8633") + "GL_MATRIX4_NV"("0x8634") + "GL_MATRIX5_NV"("0x8635") + "GL_MATRIX6_NV"("0x8636") + "GL_MATRIX7_NV"("0x8637") + "GL_CURRENT_MATRIX_STACK_DEPTH_NV"("0x8640") + "GL_CURRENT_MATRIX_NV"("0x8641") + "GL_VERTEX_PROGRAM_POINT_SIZE_NV"("0x8642") + "GL_VERTEX_PROGRAM_TWO_SIDE_NV"("0x8643") + "GL_PROGRAM_PARAMETER_NV"("0x8644") + "GL_ATTRIB_ARRAY_POINTER_NV"("0x8645") + "GL_PROGRAM_TARGET_NV"("0x8646") + "GL_PROGRAM_RESIDENT_NV"("0x8647") + "GL_TRACK_MATRIX_NV"("0x8648") + "GL_TRACK_MATRIX_TRANSFORM_NV"("0x8649") + "GL_VERTEX_PROGRAM_BINDING_NV"("0x864A") + "GL_PROGRAM_ERROR_POSITION_NV"("0x864B") + "GL_VERTEX_ATTRIB_ARRAY0_NV"("0x8650") + "GL_VERTEX_ATTRIB_ARRAY1_NV"("0x8651") + "GL_VERTEX_ATTRIB_ARRAY2_NV"("0x8652") + "GL_VERTEX_ATTRIB_ARRAY3_NV"("0x8653") + "GL_VERTEX_ATTRIB_ARRAY4_NV"("0x8654") + "GL_VERTEX_ATTRIB_ARRAY5_NV"("0x8655") + "GL_VERTEX_ATTRIB_ARRAY6_NV"("0x8656") + "GL_VERTEX_ATTRIB_ARRAY7_NV"("0x8657") + "GL_VERTEX_ATTRIB_ARRAY8_NV"("0x8658") + "GL_VERTEX_ATTRIB_ARRAY9_NV"("0x8659") + "GL_VERTEX_ATTRIB_ARRAY10_NV"("0x865A") + "GL_VERTEX_ATTRIB_ARRAY11_NV"("0x865B") + "GL_VERTEX_ATTRIB_ARRAY12_NV"("0x865C") + "GL_VERTEX_ATTRIB_ARRAY13_NV"("0x865D") + "GL_VERTEX_ATTRIB_ARRAY14_NV"("0x865E") + "GL_VERTEX_ATTRIB_ARRAY15_NV"("0x865F") + "GL_MAP1_VERTEX_ATTRIB0_4_NV"("0x8660") + "GL_MAP1_VERTEX_ATTRIB1_4_NV"("0x8661") + "GL_MAP1_VERTEX_ATTRIB2_4_NV"("0x8662") + "GL_MAP1_VERTEX_ATTRIB3_4_NV"("0x8663") + "GL_MAP1_VERTEX_ATTRIB4_4_NV"("0x8664") + "GL_MAP1_VERTEX_ATTRIB5_4_NV"("0x8665") + "GL_MAP1_VERTEX_ATTRIB6_4_NV"("0x8666") + "GL_MAP1_VERTEX_ATTRIB7_4_NV"("0x8667") + "GL_MAP1_VERTEX_ATTRIB8_4_NV"("0x8668") + "GL_MAP1_VERTEX_ATTRIB9_4_NV"("0x8669") + "GL_MAP1_VERTEX_ATTRIB10_4_NV"("0x866A") + "GL_MAP1_VERTEX_ATTRIB11_4_NV"("0x866B") + "GL_MAP1_VERTEX_ATTRIB12_4_NV"("0x866C") + "GL_MAP1_VERTEX_ATTRIB13_4_NV"("0x866D") + "GL_MAP1_VERTEX_ATTRIB14_4_NV"("0x866E") + "GL_MAP1_VERTEX_ATTRIB15_4_NV"("0x866F") + "GL_MAP2_VERTEX_ATTRIB0_4_NV"("0x8670") + "GL_MAP2_VERTEX_ATTRIB1_4_NV"("0x8671") + "GL_MAP2_VERTEX_ATTRIB2_4_NV"("0x8672") + "GL_MAP2_VERTEX_ATTRIB3_4_NV"("0x8673") + "GL_MAP2_VERTEX_ATTRIB4_4_NV"("0x8674") + "GL_MAP2_VERTEX_ATTRIB5_4_NV"("0x8675") + "GL_MAP2_VERTEX_ATTRIB6_4_NV"("0x8676") + "GL_MAP2_VERTEX_ATTRIB7_4_NV"("0x8677") + "GL_MAP2_VERTEX_ATTRIB8_4_NV"("0x8678") + "GL_MAP2_VERTEX_ATTRIB9_4_NV"("0x8679") + "GL_MAP2_VERTEX_ATTRIB10_4_NV"("0x867A") + "GL_MAP2_VERTEX_ATTRIB11_4_NV"("0x867B") + "GL_MAP2_VERTEX_ATTRIB12_4_NV"("0x867C") + "GL_MAP2_VERTEX_ATTRIB13_4_NV"("0x867D") + "GL_MAP2_VERTEX_ATTRIB14_4_NV"("0x867E") + "GL_MAP2_VERTEX_ATTRIB15_4_NV"("0x867F") + "glAreProgramsResidentNV"( + GLboolean, + GLsizei("n"), + address("programs", "const GLuint *"), + address("residences", "GLboolean *") + ) + "glBindProgramNV"(void, GLenum("target"), GLuint("id")) + "glDeleteProgramsNV"(void, GLsizei("n"), address("programs", "const GLuint *")) + "glExecuteProgramNV"(void, GLenum("target"), GLuint("id"), address("params", "const GLfloat *")) + "glGenProgramsNV"(void, GLsizei("n"), address("programs", "GLuint *")) + "glGetProgramParameterdvNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("pname"), + address("params", "GLdouble *") + ) + "glGetProgramParameterfvNV"( + void, + GLenum("target"), + GLuint("index"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetProgramivNV"(void, GLuint("id"), GLenum("pname"), address("params", "GLint *")) + "glGetProgramStringNV"(void, GLuint("id"), GLenum("pname"), address("program", "GLubyte *")) + "glGetTrackMatrixivNV"(void, GLenum("target"), GLuint("address"), GLenum("pname"), address("params", "GLint *")) + "glGetVertexAttribdvNV"(void, GLuint("index"), GLenum("pname"), address("params", "GLdouble *")) + "glGetVertexAttribfvNV"(void, GLuint("index"), GLenum("pname"), address("params", "GLfloat *")) + "glGetVertexAttribivNV"(void, GLuint("index"), GLenum("pname"), address("params", "GLint *")) + "glGetVertexAttribPointervNV"(void, GLuint("index"), GLenum("pname"), address("pointer", "void **")) + "glIsProgramNV"(GLboolean, GLuint("id")) + "glLoadProgramNV"(void, GLenum("target"), GLuint("id"), GLsizei("len"), address("program", "const GLubyte *")) + "glProgramParameter4dNV"( + void, + GLenum("target"), + GLuint("index"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glProgramParameter4dvNV"(void, GLenum("target"), GLuint("index"), address("v", "const GLdouble *")) + "glProgramParameter4fNV"( + void, + GLenum("target"), + GLuint("index"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glProgramParameter4fvNV"(void, GLenum("target"), GLuint("index"), address("v", "const GLfloat *")) + "glProgramParameters4dvNV"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("v", "const GLdouble *") + ) + "glProgramParameters4fvNV"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("v", "const GLfloat *") + ) + "glRequestResidentProgramsNV"(void, GLsizei("n"), address("programs", "const GLuint *")) + "glTrackMatrixNV"(void, GLenum("target"), GLuint("address"), GLenum("matrix"), GLenum("transform")) + "glVertexAttribPointerNV"( + void, + GLuint("index"), + GLint("fsize"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + "glVertexAttrib1dNV"(void, GLuint("index"), GLdouble("x")) + "glVertexAttrib1dvNV"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib1fNV"(void, GLuint("index"), GLfloat("x")) + "glVertexAttrib1fvNV"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib1sNV"(void, GLuint("index"), GLshort("x")) + "glVertexAttrib1svNV"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib2dNV"(void, GLuint("index"), GLdouble("x"), GLdouble("y")) + "glVertexAttrib2dvNV"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib2fNV"(void, GLuint("index"), GLfloat("x"), GLfloat("y")) + "glVertexAttrib2fvNV"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib2sNV"(void, GLuint("index"), GLshort("x"), GLshort("y")) + "glVertexAttrib2svNV"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib3dNV"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glVertexAttrib3dvNV"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib3fNV"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glVertexAttrib3fvNV"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib3sNV"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z")) + "glVertexAttrib3svNV"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4dNV"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z"), GLdouble("w")) + "glVertexAttrib4dvNV"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttrib4fNV"(void, GLuint("index"), GLfloat("x"), GLfloat("y"), GLfloat("z"), GLfloat("w")) + "glVertexAttrib4fvNV"(void, GLuint("index"), address("v", "const GLfloat *")) + "glVertexAttrib4sNV"(void, GLuint("index"), GLshort("x"), GLshort("y"), GLshort("z"), GLshort("w")) + "glVertexAttrib4svNV"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttrib4ubNV"(void, GLuint("index"), GLubyte("x"), GLubyte("y"), GLubyte("z"), GLubyte("w")) + "glVertexAttrib4ubvNV"(void, GLuint("index"), address("v", "const GLubyte *")) + "glVertexAttribs1dvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLdouble *")) + "glVertexAttribs1fvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLfloat *")) + "glVertexAttribs1svNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLshort *")) + "glVertexAttribs2dvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLdouble *")) + "glVertexAttribs2fvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLfloat *")) + "glVertexAttribs2svNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLshort *")) + "glVertexAttribs3dvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLdouble *")) + "glVertexAttribs3fvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLfloat *")) + "glVertexAttribs3svNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLshort *")) + "glVertexAttribs4dvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLdouble *")) + "glVertexAttribs4fvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLfloat *")) + "glVertexAttribs4svNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLshort *")) + "glVertexAttribs4ubvNV"(void, GLuint("index"), GLsizei("count"), address("v", "const GLubyte *")) + } + file("VertexProgram4", NV, "GL_NV_vertex_program4", "GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV" to "0x88FD") + file("VideoCapture", NV, "GL_NV_video_capture") { + "GL_VIDEO_BUFFER_NV"("0x9020") + "GL_VIDEO_BUFFER_BINDING_NV"("0x9021") + "GL_FIELD_UPPER_NV"("0x9022") + "GL_FIELD_LOWER_NV"("0x9023") + "GL_NUM_VIDEO_CAPTURE_STREAMS_NV"("0x9024") + "GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV"("0x9025") + "GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV"("0x9026") + "GL_LAST_VIDEO_CAPTURE_STATUS_NV"("0x9027") + "GL_VIDEO_BUFFER_PITCH_NV"("0x9028") + "GL_VIDEO_COLOR_CONVERSION_MATRIX_NV"("0x9029") + "GL_VIDEO_COLOR_CONVERSION_MAX_NV"("0x902A") + "GL_VIDEO_COLOR_CONVERSION_MIN_NV"("0x902B") + "GL_VIDEO_COLOR_CONVERSION_OFFSET_NV"("0x902C") + "GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV"("0x902D") + "GL_PARTIAL_SUCCESS_NV"("0x902E") + "GL_SUCCESS_NV"("0x902F") + "GL_FAILURE_NV"("0x9030") + "GL_YCBYCR8_422_NV"("0x9031") + "GL_YCBAYCR8A_4224_NV"("0x9032") + "GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV"("0x9033") + "GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV"("0x9034") + "GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV"("0x9035") + "GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV"("0x9036") + "GL_Z4Y12Z4CB12Z4CR12_444_NV"("0x9037") + "GL_VIDEO_CAPTURE_FRAME_WIDTH_NV"("0x9038") + "GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV"("0x9039") + "GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"("0x903A") + "GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"("0x903B") + "GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"("0x903C") + "glBeginVideoCaptureNV"(void, GLuint("video_capture_slot")) + "glBindVideoCaptureStreamBufferNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("frame_region"), + GLintptrARB("offset") + ) + "glBindVideoCaptureStreamTextureNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("frame_region"), + GLenum("target"), + GLuint("texture") + ) + "glEndVideoCaptureNV"(void, GLuint("video_capture_slot")) + "glGetVideoCaptureivNV"(void, GLuint("video_capture_slot"), GLenum("pname"), address("params", "GLint *")) + "glGetVideoCaptureStreamivNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetVideoCaptureStreamfvNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetVideoCaptureStreamdvNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("pname"), + address("params", "GLdouble *") + ) + "glVideoCaptureNV"( + GLenum, + GLuint("video_capture_slot"), + address("sequence_num", "GLuint *"), + address("capture_time", "GLuint64EXT *") + ) + "glVideoCaptureStreamParameterivNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glVideoCaptureStreamParameterfvNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("pname"), + address("params", "const GLfloat *") + ) + "glVideoCaptureStreamParameterdvNV"( + void, + GLuint("video_capture_slot"), + GLuint("stream"), + GLenum("pname"), + address("params", "const GLdouble *") + ) + } + file("ViewportSwizzle", NV, "GL_NV_viewport_swizzle") { + "GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV"("0x9350") + "GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV"("0x9351") + "GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV"("0x9352") + "GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV"("0x9353") + "GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV"("0x9354") + "GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV"("0x9355") + "GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV"("0x9356") + "GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV"("0x9357") + "GL_VIEWPORT_SWIZZLE_X_NV"("0x9358") + "GL_VIEWPORT_SWIZZLE_Y_NV"("0x9359") + "GL_VIEWPORT_SWIZZLE_Z_NV"("0x935A") + "GL_VIEWPORT_SWIZZLE_W_NV"("0x935B") + "glViewportSwizzleNV"( + void, + GLuint("index"), + GLenum("swizzlex"), + GLenum("swizzley"), + GLenum("swizzlez"), + GLenum("swizzlew") + ) + } } diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 8e23425e..10ae12f3 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -124,6 +124,7 @@ val GLcharARB = byte val GLint64EXT = long val GLuint64EXT = long val GLhalfNV = short +val GLvdpauSurfaceNV = GLintptr data class Parameter( val type: Type, diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 819a2286..f3b9985a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -127,16 +127,25 @@ public GLExtCaps(GLCapabilities caps) { glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, - glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, - glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, - glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, - glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, - glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, - glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, - glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, - glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, - glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, - glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, + glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, + glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, + glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, + glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, + glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, + glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, + glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, + glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, + glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, + glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, + glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, + glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, + glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, + glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, + glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, + glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, + glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, + glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -281,6 +290,18 @@ void load(GLLoadFunc load) { GLNVShaderBufferLoad.load(this, load); GLNVShadingRateImage.load(this, load); GLNVTextureBarrier.load(this, load); + GLNVTextureMultisample.load(this, load); + GLNVTimelineSemaphore.load(this, load); + GLNVTransformFeedback.load(this, load); + GLNVTransformFeedback2.load(this, load); + GLNVVDPAUInterop.load(this, load); + GLNVVDPAUInterop2.load(this, load); + GLNVVertexArrayRange.load(this, load); + GLNVVertexAttribInteger64bit.load(this, load); + GLNVVertexBufferUnifiedMemory.load(this, load); + GLNVVertexProgram.load(this, load); + GLNVVideoCapture.load(this, load); + GLNVViewportSwizzle.load(this, load); GLOVRMultiview.load(this, load); GLPGIMiscHints.load(this, load); GLSGISDetailTexture.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java index 0d1e4d74..f1ece98f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLLoader.java @@ -65,9 +65,21 @@ public static void setCapabilities(@Nullable GLCapabilities caps) { } /** - * {@return the {@link GLCapabilities} of the OpenGL context that is current in the current thread}. + * {@return the {@link GLCapabilities} of the OpenGL context that is current in the current thread} + *

    + * This method doesn't throw an exception when the capabilities are null. + * + * @see #getCapabilities() + */ + public static GLCapabilities getCapabilitiesSafe() { + return capabilitiesTLS.get(); + } + + /** + * {@return the {@link GLCapabilities} of the OpenGL context that is current in the current thread} * * @throws IllegalStateException if {@link #setCapabilities} has never been called in the current thread or was last called with a {@code null} value + * @see #getCapabilitiesSafe() */ public static GLCapabilities getCapabilities() { return checkCapabilities(capabilitiesTLS.get()); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java new file mode 100644 index 00000000..c6eb7080 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureEnvCombine4.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_env_combine4} + */ +public final class GLNVTextureEnvCombine4 { + public static final int GL_COMBINE4_NV = 0x8503; + public static final int GL_SOURCE3_RGB_NV = 0x8583; + public static final int GL_SOURCE3_ALPHA_NV = 0x858B; + public static final int GL_OPERAND3_RGB_NV = 0x8593; + public static final int GL_OPERAND3_ALPHA_NV = 0x859B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java new file mode 100644 index 00000000..2df5e36e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureExpandNormal.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_expand_normal} + */ +public final class GLNVTextureExpandNormal { + public static final int GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java new file mode 100644 index 00000000..b200a9bd --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureMultisample.java @@ -0,0 +1,85 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_multisample} + */ +public final class GLNVTextureMultisample { + public static final int GL_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; + public static final int GL_TEXTURE_COLOR_SAMPLES_NV = 0x9046; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_texture_multisample) return; + ext.glTexImage2DMultisampleCoverageNV = load.invoke("glTexImage2DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glTexImage3DMultisampleCoverageNV = load.invoke("glTexImage3DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glTextureImage2DMultisampleNV = load.invoke("glTextureImage2DMultisampleNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glTextureImage3DMultisampleNV = load.invoke("glTextureImage3DMultisampleNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glTextureImage2DMultisampleCoverageNV = load.invoke("glTextureImage2DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glTextureImage3DMultisampleCoverageNV = load.invoke("glTextureImage3DMultisampleCoverageNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + } + + public static void glTexImage2DMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, boolean fixedSampleLocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexImage2DMultisampleCoverageNV).invokeExact(target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexImage3DMultisampleCoverageNV(int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexImage3DMultisampleCoverageNV).invokeExact(target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureImage2DMultisampleNV(int texture, int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureImage2DMultisampleNV).invokeExact(texture, target, samples, internalFormat, width, height, fixedSampleLocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureImage3DMultisampleNV(int texture, int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureImage3DMultisampleNV).invokeExact(texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureImage2DMultisampleCoverageNV(int texture, int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, boolean fixedSampleLocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureImage2DMultisampleCoverageNV).invokeExact(texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureImage3DMultisampleCoverageNV(int texture, int target, int coverageSamples, int colorSamples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureImage3DMultisampleCoverageNV).invokeExact(texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java new file mode 100644 index 00000000..b46ba94f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureRectangle.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_rectangle} + */ +public final class GLNVTextureRectangle { + public static final int GL_TEXTURE_RECTANGLE_NV = 0x84F5; + public static final int GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; + public static final int GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; + public static final int GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java new file mode 100644 index 00000000..02e60038 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader.java @@ -0,0 +1,104 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_shader} + */ +public final class GLNVTextureShader { + public static final int GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; + public static final int GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; + public static final int GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; + public static final int GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; + public static final int GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; + public static final int GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; + public static final int GL_DSDT_MAG_INTENSITY_NV = 0x86DC; + public static final int GL_SHADER_CONSISTENT_NV = 0x86DD; + public static final int GL_TEXTURE_SHADER_NV = 0x86DE; + public static final int GL_SHADER_OPERATION_NV = 0x86DF; + public static final int GL_CULL_MODES_NV = 0x86E0; + public static final int GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1; + public static final int GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2; + public static final int GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3; + public static final int GL_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; + public static final int GL_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; + public static final int GL_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; + public static final int GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; + public static final int GL_CONST_EYE_NV = 0x86E5; + public static final int GL_PASS_THROUGH_NV = 0x86E6; + public static final int GL_CULL_FRAGMENT_NV = 0x86E7; + public static final int GL_OFFSET_TEXTURE_2D_NV = 0x86E8; + public static final int GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; + public static final int GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; + public static final int GL_DOT_PRODUCT_NV = 0x86EC; + public static final int GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; + public static final int GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; + public static final int GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; + public static final int GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; + public static final int GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; + public static final int GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; + public static final int GL_HILO_NV = 0x86F4; + public static final int GL_DSDT_NV = 0x86F5; + public static final int GL_DSDT_MAG_NV = 0x86F6; + public static final int GL_DSDT_MAG_VIB_NV = 0x86F7; + public static final int GL_HILO16_NV = 0x86F8; + public static final int GL_SIGNED_HILO_NV = 0x86F9; + public static final int GL_SIGNED_HILO16_NV = 0x86FA; + public static final int GL_SIGNED_RGBA_NV = 0x86FB; + public static final int GL_SIGNED_RGBA8_NV = 0x86FC; + public static final int GL_SIGNED_RGB_NV = 0x86FE; + public static final int GL_SIGNED_RGB8_NV = 0x86FF; + public static final int GL_SIGNED_LUMINANCE_NV = 0x8701; + public static final int GL_SIGNED_LUMINANCE8_NV = 0x8702; + public static final int GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703; + public static final int GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; + public static final int GL_SIGNED_ALPHA_NV = 0x8705; + public static final int GL_SIGNED_ALPHA8_NV = 0x8706; + public static final int GL_SIGNED_INTENSITY_NV = 0x8707; + public static final int GL_SIGNED_INTENSITY8_NV = 0x8708; + public static final int GL_DSDT8_NV = 0x8709; + public static final int GL_DSDT8_MAG8_NV = 0x870A; + public static final int GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B; + public static final int GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; + public static final int GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; + public static final int GL_HI_SCALE_NV = 0x870E; + public static final int GL_LO_SCALE_NV = 0x870F; + public static final int GL_DS_SCALE_NV = 0x8710; + public static final int GL_DT_SCALE_NV = 0x8711; + public static final int GL_MAGNITUDE_SCALE_NV = 0x8712; + public static final int GL_VIBRANCE_SCALE_NV = 0x8713; + public static final int GL_HI_BIAS_NV = 0x8714; + public static final int GL_LO_BIAS_NV = 0x8715; + public static final int GL_DS_BIAS_NV = 0x8716; + public static final int GL_DT_BIAS_NV = 0x8717; + public static final int GL_MAGNITUDE_BIAS_NV = 0x8718; + public static final int GL_VIBRANCE_BIAS_NV = 0x8719; + public static final int GL_TEXTURE_BORDER_VALUES_NV = 0x871A; + public static final int GL_TEXTURE_HI_SIZE_NV = 0x871B; + public static final int GL_TEXTURE_LO_SIZE_NV = 0x871C; + public static final int GL_TEXTURE_DS_SIZE_NV = 0x871D; + public static final int GL_TEXTURE_DT_SIZE_NV = 0x871E; + public static final int GL_TEXTURE_MAG_SIZE_NV = 0x871F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java new file mode 100644 index 00000000..ea726fd6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader2.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_shader2} + */ +public final class GLNVTextureShader2 { + public static final int GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java new file mode 100644 index 00000000..6f6a10dc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTextureShader3.java @@ -0,0 +1,48 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_texture_shader3} + */ +public final class GLNVTextureShader3 { + public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; + public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; + public static final int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; + public static final int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; + public static final int GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854; + public static final int GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; + public static final int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; + public static final int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; + public static final int GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; + public static final int GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; + public static final int GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; + public static final int GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; + public static final int GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; + public static final int GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; + public static final int GL_HILO8_NV = 0x885E; + public static final int GL_SIGNED_HILO8_NV = 0x885F; + public static final int GL_FORCE_BLUE_TO_ONE_NV = 0x8860; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java new file mode 100644 index 00000000..488a483b --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTimelineSemaphore.java @@ -0,0 +1,64 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_timeline_semaphore} + */ +public final class GLNVTimelineSemaphore { + public static final int GL_TIMELINE_SEMAPHORE_VALUE_NV = 0x9595; + public static final int GL_SEMAPHORE_TYPE_NV = 0x95B3; + public static final int GL_SEMAPHORE_TYPE_BINARY_NV = 0x95B4; + public static final int GL_SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5; + public static final int GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_timeline_semaphore) return; + ext.glCreateSemaphoresNV = load.invoke("glCreateSemaphoresNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glSemaphoreParameterivNV = load.invoke("glSemaphoreParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetSemaphoreParameterivNV = load.invoke("glGetSemaphoreParameterivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glCreateSemaphoresNV(int n, @NativeType("GLuint *") MemorySegment semaphores) { + final var ext = getExtCapabilities(); + try { + check(ext.glCreateSemaphoresNV).invokeExact(n, semaphores); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSemaphoreParameterivNV(int semaphore, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glSemaphoreParameterivNV).invokeExact(semaphore, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetSemaphoreParameterivNV(int semaphore, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetSemaphoreParameterivNV).invokeExact(semaphore, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java new file mode 100644 index 00000000..72367cb4 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback.java @@ -0,0 +1,163 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_transform_feedback} + */ +public final class GLNVTransformFeedback { + public static final int GL_BACK_PRIMARY_COLOR_NV = 0x8C77; + public static final int GL_BACK_SECONDARY_COLOR_NV = 0x8C78; + public static final int GL_TEXTURE_COORD_NV = 0x8C79; + public static final int GL_CLIP_DISTANCE_NV = 0x8C7A; + public static final int GL_VERTEX_ID_NV = 0x8C7B; + public static final int GL_PRIMITIVE_ID_NV = 0x8C7C; + public static final int GL_GENERIC_ATTRIB_NV = 0x8C7D; + public static final int GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; + public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; + public static final int GL_ACTIVE_VARYINGS_NV = 0x8C81; + public static final int GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; + public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; + public static final int GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; + public static final int GL_PRIMITIVES_GENERATED_NV = 0x8C87; + public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; + public static final int GL_RASTERIZER_DISCARD_NV = 0x8C89; + public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; + public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; + public static final int GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C; + public static final int GL_SEPARATE_ATTRIBS_NV = 0x8C8D; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; + public static final int GL_LAYER_NV = 0x8DAA; + public static final int GL_NEXT_BUFFER_NV = -2; + public static final int GL_SKIP_COMPONENTS4_NV = -3; + public static final int GL_SKIP_COMPONENTS3_NV = -4; + public static final int GL_SKIP_COMPONENTS2_NV = -5; + public static final int GL_SKIP_COMPONENTS1_NV = -6; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_transform_feedback) return; + ext.glBeginTransformFeedbackNV = load.invoke("glBeginTransformFeedbackNV", ofVoid(JAVA_INT)); + ext.glEndTransformFeedbackNV = load.invoke("glEndTransformFeedbackNV", ofVoid()); + ext.glTransformFeedbackAttribsNV = load.invoke("glTransformFeedbackAttribsNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT)); + ext.glBindBufferRangeNV = load.invoke("glBindBufferRangeNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glBindBufferOffsetNV = load.invoke("glBindBufferOffsetNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glBindBufferBaseNV = load.invoke("glBindBufferBaseNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTransformFeedbackVaryingsNV = load.invoke("glTransformFeedbackVaryingsNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glActiveVaryingNV = load.invoke("glActiveVaryingNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetVaryingLocationNV = load.invoke("glGetVaryingLocationNV", of(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetActiveVaryingNV = load.invoke("glGetActiveVaryingNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + ext.glGetTransformFeedbackVaryingNV = load.invoke("glGetTransformFeedbackVaryingNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTransformFeedbackStreamAttribsNV = load.invoke("glTransformFeedbackStreamAttribsNV", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, JAVA_INT)); + } + + public static void glBeginTransformFeedbackNV(int primitiveMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginTransformFeedbackNV).invokeExact(primitiveMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndTransformFeedbackNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glEndTransformFeedbackNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTransformFeedbackAttribsNV(int count, @NativeType("const GLint *") MemorySegment attribs, int bufferMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glTransformFeedbackAttribsNV).invokeExact(count, attribs, bufferMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindBufferRangeNV(int target, int index, int buffer, long offset, long size) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindBufferRangeNV).invokeExact(target, index, buffer, offset, size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindBufferOffsetNV(int target, int index, int buffer, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindBufferOffsetNV).invokeExact(target, index, buffer, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindBufferBaseNV(int target, int index, int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindBufferBaseNV).invokeExact(target, index, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTransformFeedbackVaryingsNV(int program, int count, @NativeType("const GLint *") MemorySegment locations, int bufferMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glTransformFeedbackVaryingsNV).invokeExact(program, count, locations, bufferMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glActiveVaryingNV(int program, @NativeType("const GLchar *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glActiveVaryingNV).invokeExact(program, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGetVaryingLocationNV(int program, @NativeType("const GLchar *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGetVaryingLocationNV).invokeExact(program, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetActiveVaryingNV(int program, int index, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLsizei *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLchar *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetActiveVaryingNV).invokeExact(program, index, bufSize, length, size, type, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTransformFeedbackVaryingNV(int program, int index, @NativeType("GLint *") MemorySegment location) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTransformFeedbackVaryingNV).invokeExact(program, index, location); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTransformFeedbackStreamAttribsNV(int count, @NativeType("const GLint *") MemorySegment attribs, int nbuffers, @NativeType("const GLint *") MemorySegment bufstreams, int bufferMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glTransformFeedbackStreamAttribsNV).invokeExact(count, attribs, nbuffers, bufstreams, bufferMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java new file mode 100644 index 00000000..2fd3afd2 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVTransformFeedback2.java @@ -0,0 +1,96 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_transform_feedback2} + */ +public final class GLNVTransformFeedback2 { + public static final int GL_TRANSFORM_FEEDBACK_NV = 0x8E22; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; + public static final int GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_transform_feedback2) return; + ext.glBindTransformFeedbackNV = load.invoke("glBindTransformFeedbackNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDeleteTransformFeedbacksNV = load.invoke("glDeleteTransformFeedbacksNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenTransformFeedbacksNV = load.invoke("glGenTransformFeedbacksNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsTransformFeedbackNV = load.invoke("glIsTransformFeedbackNV", of(JAVA_BYTE, JAVA_INT)); + ext.glPauseTransformFeedbackNV = load.invoke("glPauseTransformFeedbackNV", ofVoid()); + ext.glResumeTransformFeedbackNV = load.invoke("glResumeTransformFeedbackNV", ofVoid()); + ext.glDrawTransformFeedbackNV = load.invoke("glDrawTransformFeedbackNV", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glBindTransformFeedbackNV(int target, int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindTransformFeedbackNV).invokeExact(target, id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteTransformFeedbacksNV(int n, @NativeType("const GLuint *") MemorySegment ids) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteTransformFeedbacksNV).invokeExact(n, ids); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenTransformFeedbacksNV(int n, @NativeType("GLuint *") MemorySegment ids) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenTransformFeedbacksNV).invokeExact(n, ids); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsTransformFeedbackNV(int id) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsTransformFeedbackNV).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPauseTransformFeedbackNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glPauseTransformFeedbackNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glResumeTransformFeedbackNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glResumeTransformFeedbackNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawTransformFeedbackNV(int mode, int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawTransformFeedbackNV).invokeExact(mode, id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java new file mode 100644 index 00000000..fe248618 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVUniformBufferUnifiedMemory.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_uniform_buffer_unified_memory} + */ +public final class GLNVUniformBufferUnifiedMemory { + public static final int GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E; + public static final int GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F; + public static final int GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java new file mode 100644 index 00000000..6737f5f8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop.java @@ -0,0 +1,122 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vdpau_interop} + */ +public final class GLNVVDPAUInterop { + public static final int GL_SURFACE_STATE_NV = 0x86EB; + public static final int GL_SURFACE_REGISTERED_NV = 0x86FD; + public static final int GL_SURFACE_MAPPED_NV = 0x8700; + public static final int GL_WRITE_DISCARD_NV = 0x88BE; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_vdpau_interop) return; + ext.glVDPAUInitNV = load.invoke("glVDPAUInitNV", ofVoid(ADDRESS, ADDRESS)); + ext.glVDPAUFiniNV = load.invoke("glVDPAUFiniNV", ofVoid()); + ext.glVDPAURegisterVideoSurfaceNV = load.invoke("glVDPAURegisterVideoSurfaceNV", of(JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVDPAURegisterOutputSurfaceNV = load.invoke("glVDPAURegisterOutputSurfaceNV", of(JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVDPAUIsSurfaceNV = load.invoke("glVDPAUIsSurfaceNV", of(JAVA_BYTE, JAVA_LONG)); + ext.glVDPAUUnregisterSurfaceNV = load.invoke("glVDPAUUnregisterSurfaceNV", ofVoid(JAVA_LONG)); + ext.glVDPAUGetSurfaceivNV = load.invoke("glVDPAUGetSurfaceivNV", ofVoid(JAVA_LONG, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glVDPAUSurfaceAccessNV = load.invoke("glVDPAUSurfaceAccessNV", ofVoid(JAVA_LONG, JAVA_INT)); + ext.glVDPAUMapSurfacesNV = load.invoke("glVDPAUMapSurfacesNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVDPAUUnmapSurfacesNV = load.invoke("glVDPAUUnmapSurfacesNV", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glVDPAUInitNV(@NativeType("const void *") MemorySegment vdpDevice, @NativeType("const void *") MemorySegment getProcAddress) { + final var ext = getExtCapabilities(); + try { + check(ext.glVDPAUInitNV).invokeExact(vdpDevice, getProcAddress); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVDPAUFiniNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glVDPAUFiniNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static long glVDPAURegisterVideoSurfaceNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames) { + final var ext = getExtCapabilities(); + try { + return (long) + check(ext.glVDPAURegisterVideoSurfaceNV).invokeExact(vdpSurface, target, numTextureNames, textureNames); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static long glVDPAURegisterOutputSurfaceNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames) { + final var ext = getExtCapabilities(); + try { + return (long) + check(ext.glVDPAURegisterOutputSurfaceNV).invokeExact(vdpSurface, target, numTextureNames, textureNames); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glVDPAUIsSurfaceNV(long surface) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glVDPAUIsSurfaceNV).invokeExact(surface); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVDPAUUnregisterSurfaceNV(long surface) { + final var ext = getExtCapabilities(); + try { + check(ext.glVDPAUUnregisterSurfaceNV).invokeExact(surface); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVDPAUGetSurfaceivNV(long surface, int pname, int count, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLint *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glVDPAUGetSurfaceivNV).invokeExact(surface, pname, count, length, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVDPAUSurfaceAccessNV(long surface, int access) { + final var ext = getExtCapabilities(); + try { + check(ext.glVDPAUSurfaceAccessNV).invokeExact(surface, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVDPAUMapSurfacesNV(int numSurfaces, @NativeType("const GLvdpauSurfaceNV *") MemorySegment surfaces) { + final var ext = getExtCapabilities(); + try { + check(ext.glVDPAUMapSurfacesNV).invokeExact(numSurfaces, surfaces); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVDPAUUnmapSurfacesNV(int numSurface, @NativeType("const GLvdpauSurfaceNV *") MemorySegment surfaces) { + final var ext = getExtCapabilities(); + try { + check(ext.glVDPAUUnmapSurfacesNV).invokeExact(numSurface, surfaces); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java new file mode 100644 index 00000000..20bd85f5 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVDPAUInterop2.java @@ -0,0 +1,44 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vdpau_interop2} + */ +public final class GLNVVDPAUInterop2 { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_vdpau_interop2) return; + ext.glVDPAURegisterVideoSurfaceWithPictureStructureNV = load.invoke("glVDPAURegisterVideoSurfaceWithPictureStructureNV", of(JAVA_LONG, ADDRESS, JAVA_INT, JAVA_INT, ADDRESS, JAVA_BYTE)); + } + + public static long glVDPAURegisterVideoSurfaceWithPictureStructureNV(@NativeType("const void *") MemorySegment vdpSurface, int target, int numTextureNames, @NativeType("const GLuint *") MemorySegment textureNames, boolean isFrameStructure) { + final var ext = getExtCapabilities(); + try { + return (long) + check(ext.glVDPAURegisterVideoSurfaceWithPictureStructureNV).invokeExact(vdpSurface, target, numTextureNames, textureNames, isFrameStructure); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java new file mode 100644 index 00000000..ece609da --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange.java @@ -0,0 +1,56 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vertex_array_range} + */ +public final class GLNVVertexArrayRange { + public static final int GL_VERTEX_ARRAY_RANGE_NV = 0x851D; + public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; + public static final int GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; + public static final int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; + public static final int GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_vertex_array_range) return; + ext.glFlushVertexArrayRangeNV = load.invoke("glFlushVertexArrayRangeNV", ofVoid()); + ext.glVertexArrayRangeNV = load.invoke("glVertexArrayRangeNV", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glFlushVertexArrayRangeNV() { + final var ext = getExtCapabilities(); + try { + check(ext.glFlushVertexArrayRangeNV).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayRangeNV(int length, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayRangeNV).invokeExact(length, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java new file mode 100644 index 00000000..2b2dcb41 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexArrayRange2.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vertex_array_range2} + */ +public final class GLNVVertexArrayRange2 { + public static final int GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java new file mode 100644 index 00000000..59b9ad8f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexAttribInteger64bit.java @@ -0,0 +1,187 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vertex_attrib_integer_64bit} + */ +public final class GLNVVertexAttribInteger64bit { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_vertex_attrib_integer_64bit) return; + ext.glVertexAttribL1i64NV = load.invoke("glVertexAttribL1i64NV", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glVertexAttribL2i64NV = load.invoke("glVertexAttribL2i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glVertexAttribL3i64NV = load.invoke("glVertexAttribL3i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glVertexAttribL4i64NV = load.invoke("glVertexAttribL4i64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glVertexAttribL1i64vNV = load.invoke("glVertexAttribL1i64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL2i64vNV = load.invoke("glVertexAttribL2i64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL3i64vNV = load.invoke("glVertexAttribL3i64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL4i64vNV = load.invoke("glVertexAttribL4i64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL1ui64NV = load.invoke("glVertexAttribL1ui64NV", ofVoid(JAVA_INT, JAVA_LONG)); + ext.glVertexAttribL2ui64NV = load.invoke("glVertexAttribL2ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glVertexAttribL3ui64NV = load.invoke("glVertexAttribL3ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glVertexAttribL4ui64NV = load.invoke("glVertexAttribL4ui64NV", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glVertexAttribL1ui64vNV = load.invoke("glVertexAttribL1ui64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL2ui64vNV = load.invoke("glVertexAttribL2ui64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL3ui64vNV = load.invoke("glVertexAttribL3ui64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL4ui64vNV = load.invoke("glVertexAttribL4ui64vNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetVertexAttribLi64vNV = load.invoke("glGetVertexAttribLi64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribLui64vNV = load.invoke("glGetVertexAttribLui64vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribLFormatNV = load.invoke("glVertexAttribLFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glVertexAttribL1i64NV(int index, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL1i64NV).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL2i64NV(int index, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL2i64NV).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL3i64NV(int index, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL3i64NV).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL4i64NV(int index, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL4i64NV).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL1i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL1i64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL2i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL2i64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL3i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL3i64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL4i64vNV(int index, @NativeType("const GLint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL4i64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL1ui64NV(int index, long x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL1ui64NV).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL2ui64NV(int index, long x, long y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL2ui64NV).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL3ui64NV(int index, long x, long y, long z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL3ui64NV).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL4ui64NV(int index, long x, long y, long z, long w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL4ui64NV).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL1ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL1ui64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL2ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL2ui64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL3ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL3ui64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL4ui64vNV(int index, @NativeType("const GLuint64EXT *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL4ui64vNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribLi64vNV(int index, int pname, @NativeType("GLint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribLi64vNV).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribLui64vNV(int index, int pname, @NativeType("GLuint64EXT *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribLui64vNV).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribLFormatNV(int index, int size, int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribLFormatNV).invokeExact(index, size, type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java new file mode 100644 index 00000000..2989fad7 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexBufferUnifiedMemory.java @@ -0,0 +1,156 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vertex_buffer_unified_memory} + */ +public final class GLNVVertexBufferUnifiedMemory { + public static final int GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; + public static final int GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; + public static final int GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; + public static final int GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21; + public static final int GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22; + public static final int GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23; + public static final int GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24; + public static final int GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; + public static final int GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; + public static final int GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; + public static final int GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; + public static final int GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; + public static final int GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; + public static final int GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B; + public static final int GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C; + public static final int GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D; + public static final int GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E; + public static final int GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; + public static final int GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; + public static final int GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; + public static final int GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; + public static final int GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33; + public static final int GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40; + public static final int GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41; + public static final int GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_vertex_buffer_unified_memory) return; + ext.glBufferAddressRangeNV = load.invoke("glBufferAddressRangeNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glVertexFormatNV = load.invoke("glVertexFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNormalFormatNV = load.invoke("glNormalFormatNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glColorFormatNV = load.invoke("glColorFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glIndexFormatNV = load.invoke("glIndexFormatNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glTexCoordFormatNV = load.invoke("glTexCoordFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glEdgeFlagFormatNV = load.invoke("glEdgeFlagFormatNV", ofVoid(JAVA_INT)); + ext.glSecondaryColorFormatNV = load.invoke("glSecondaryColorFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFogCoordFormatNV = load.invoke("glFogCoordFormatNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glVertexAttribFormatNV = load.invoke("glVertexAttribFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT)); + ext.glVertexAttribIFormatNV = load.invoke("glVertexAttribIFormatNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetIntegerui64i_vNV = load.invoke("glGetIntegerui64i_vNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glBufferAddressRangeNV(int pname, int index, long address, long length) { + final var ext = getExtCapabilities(); + try { + check(ext.glBufferAddressRangeNV).invokeExact(pname, index, address, length); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexFormatNV(int size, int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexFormatNV).invokeExact(size, type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalFormatNV(int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalFormatNV).invokeExact(type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorFormatNV(int size, int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorFormatNV).invokeExact(size, type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glIndexFormatNV(int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glIndexFormatNV).invokeExact(type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoordFormatNV(int size, int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoordFormatNV).invokeExact(size, type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEdgeFlagFormatNV(int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glEdgeFlagFormatNV).invokeExact(stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColorFormatNV(int size, int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColorFormatNV).invokeExact(size, type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoordFormatNV(int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoordFormatNV).invokeExact(type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribFormatNV(int index, int size, int type, boolean normalized, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribFormatNV).invokeExact(index, size, type, normalized, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribIFormatNV(int index, int size, int type, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribIFormatNV).invokeExact(index, size, type, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetIntegerui64i_vNV(int value, int index, @NativeType("GLuint64EXT *") MemorySegment result) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetIntegerui64i_vNV).invokeExact(value, index, result); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java new file mode 100644 index 00000000..529aad74 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram.java @@ -0,0 +1,632 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vertex_program} + */ +public final class GLNVVertexProgram { + public static final int GL_VERTEX_PROGRAM_NV = 0x8620; + public static final int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; + public static final int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; + public static final int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; + public static final int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; + public static final int GL_CURRENT_ATTRIB_NV = 0x8626; + public static final int GL_PROGRAM_LENGTH_NV = 0x8627; + public static final int GL_PROGRAM_STRING_NV = 0x8628; + public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; + public static final int GL_IDENTITY_NV = 0x862A; + public static final int GL_INVERSE_NV = 0x862B; + public static final int GL_TRANSPOSE_NV = 0x862C; + public static final int GL_INVERSE_TRANSPOSE_NV = 0x862D; + public static final int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; + public static final int GL_MAX_TRACK_MATRICES_NV = 0x862F; + public static final int GL_MATRIX0_NV = 0x8630; + public static final int GL_MATRIX1_NV = 0x8631; + public static final int GL_MATRIX2_NV = 0x8632; + public static final int GL_MATRIX3_NV = 0x8633; + public static final int GL_MATRIX4_NV = 0x8634; + public static final int GL_MATRIX5_NV = 0x8635; + public static final int GL_MATRIX6_NV = 0x8636; + public static final int GL_MATRIX7_NV = 0x8637; + public static final int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; + public static final int GL_CURRENT_MATRIX_NV = 0x8641; + public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; + public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; + public static final int GL_PROGRAM_PARAMETER_NV = 0x8644; + public static final int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; + public static final int GL_PROGRAM_TARGET_NV = 0x8646; + public static final int GL_PROGRAM_RESIDENT_NV = 0x8647; + public static final int GL_TRACK_MATRIX_NV = 0x8648; + public static final int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; + public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; + public static final int GL_PROGRAM_ERROR_POSITION_NV = 0x864B; + public static final int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; + public static final int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; + public static final int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; + public static final int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; + public static final int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; + public static final int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; + public static final int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; + public static final int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; + public static final int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; + public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; + public static final int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; + public static final int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; + public static final int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; + public static final int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; + public static final int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; + public static final int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; + public static final int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; + public static final int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; + public static final int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; + public static final int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; + public static final int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; + public static final int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; + public static final int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; + public static final int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; + public static final int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; + public static final int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; + public static final int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; + public static final int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; + public static final int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; + public static final int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; + public static final int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; + public static final int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; + public static final int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; + public static final int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; + public static final int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; + public static final int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; + public static final int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; + public static final int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; + public static final int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; + public static final int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; + public static final int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; + public static final int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; + public static final int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; + public static final int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; + public static final int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; + public static final int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; + public static final int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; + public static final int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_vertex_program) return; + ext.glAreProgramsResidentNV = load.invoke("glAreProgramsResidentNV", of(JAVA_BYTE, JAVA_INT, ADDRESS, ADDRESS)); + ext.glBindProgramNV = load.invoke("glBindProgramNV", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDeleteProgramsNV = load.invoke("glDeleteProgramsNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glExecuteProgramNV = load.invoke("glExecuteProgramNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGenProgramsNV = load.invoke("glGenProgramsNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetProgramParameterdvNV = load.invoke("glGetProgramParameterdvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramParameterfvNV = load.invoke("glGetProgramParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramivNV = load.invoke("glGetProgramivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetProgramStringNV = load.invoke("glGetProgramStringNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTrackMatrixivNV = load.invoke("glGetTrackMatrixivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribdvNV = load.invoke("glGetVertexAttribdvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribfvNV = load.invoke("glGetVertexAttribfvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribivNV = load.invoke("glGetVertexAttribivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribPointervNV = load.invoke("glGetVertexAttribPointervNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glIsProgramNV = load.invoke("glIsProgramNV", of(JAVA_BYTE, JAVA_INT)); + ext.glLoadProgramNV = load.invoke("glLoadProgramNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramParameter4dNV = load.invoke("glProgramParameter4dNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glProgramParameter4dvNV = load.invoke("glProgramParameter4dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramParameter4fNV = load.invoke("glProgramParameter4fNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glProgramParameter4fvNV = load.invoke("glProgramParameter4fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramParameters4dvNV = load.invoke("glProgramParameters4dvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramParameters4fvNV = load.invoke("glProgramParameters4fvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glRequestResidentProgramsNV = load.invoke("glRequestResidentProgramsNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glTrackMatrixNV = load.invoke("glTrackMatrixNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexAttribPointerNV = load.invoke("glVertexAttribPointerNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttrib1dNV = load.invoke("glVertexAttrib1dNV", ofVoid(JAVA_INT, JAVA_DOUBLE)); + ext.glVertexAttrib1dvNV = load.invoke("glVertexAttrib1dvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib1fNV = load.invoke("glVertexAttrib1fNV", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glVertexAttrib1fvNV = load.invoke("glVertexAttrib1fvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib1sNV = load.invoke("glVertexAttrib1sNV", ofVoid(JAVA_INT, JAVA_SHORT)); + ext.glVertexAttrib1svNV = load.invoke("glVertexAttrib1svNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib2dNV = load.invoke("glVertexAttrib2dNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttrib2dvNV = load.invoke("glVertexAttrib2dvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib2fNV = load.invoke("glVertexAttrib2fNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexAttrib2fvNV = load.invoke("glVertexAttrib2fvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib2sNV = load.invoke("glVertexAttrib2sNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib2svNV = load.invoke("glVertexAttrib2svNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib3dNV = load.invoke("glVertexAttrib3dNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttrib3dvNV = load.invoke("glVertexAttrib3dvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib3fNV = load.invoke("glVertexAttrib3fNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexAttrib3fvNV = load.invoke("glVertexAttrib3fvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib3sNV = load.invoke("glVertexAttrib3sNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib3svNV = load.invoke("glVertexAttrib3svNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4dNV = load.invoke("glVertexAttrib4dNV", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttrib4dvNV = load.invoke("glVertexAttrib4dvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4fNV = load.invoke("glVertexAttrib4fNV", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glVertexAttrib4fvNV = load.invoke("glVertexAttrib4fvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4sNV = load.invoke("glVertexAttrib4sNV", ofVoid(JAVA_INT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glVertexAttrib4svNV = load.invoke("glVertexAttrib4svNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttrib4ubNV = load.invoke("glVertexAttrib4ubNV", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glVertexAttrib4ubvNV = load.invoke("glVertexAttrib4ubvNV", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribs1dvNV = load.invoke("glVertexAttribs1dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs1fvNV = load.invoke("glVertexAttribs1fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs1svNV = load.invoke("glVertexAttribs1svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs2dvNV = load.invoke("glVertexAttribs2dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs2fvNV = load.invoke("glVertexAttribs2fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs2svNV = load.invoke("glVertexAttribs2svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs3dvNV = load.invoke("glVertexAttribs3dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs3fvNV = load.invoke("glVertexAttribs3fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs3svNV = load.invoke("glVertexAttribs3svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs4dvNV = load.invoke("glVertexAttribs4dvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs4fvNV = load.invoke("glVertexAttribs4fvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs4svNV = load.invoke("glVertexAttribs4svNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribs4ubvNV = load.invoke("glVertexAttribs4ubvNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static boolean glAreProgramsResidentNV(int n, @NativeType("const GLuint *") MemorySegment programs, @NativeType("GLboolean *") MemorySegment residences) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glAreProgramsResidentNV).invokeExact(n, programs, residences); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindProgramNV(int target, int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindProgramNV).invokeExact(target, id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteProgramsNV(int n, @NativeType("const GLuint *") MemorySegment programs) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteProgramsNV).invokeExact(n, programs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glExecuteProgramNV(int target, int id, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glExecuteProgramNV).invokeExact(target, id, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenProgramsNV(int n, @NativeType("GLuint *") MemorySegment programs) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenProgramsNV).invokeExact(n, programs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramParameterdvNV(int target, int index, int pname, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramParameterdvNV).invokeExact(target, index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramParameterfvNV(int target, int index, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramParameterfvNV).invokeExact(target, index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramivNV(int id, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramivNV).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetProgramStringNV(int id, int pname, @NativeType("GLubyte *") MemorySegment program) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetProgramStringNV).invokeExact(id, pname, program); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTrackMatrixivNV(int target, int address, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTrackMatrixivNV).invokeExact(target, address, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribdvNV(int index, int pname, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribdvNV).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribfvNV(int index, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribfvNV).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribivNV(int index, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribivNV).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribPointervNV(int index, int pname, @NativeType("void **") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribPointervNV).invokeExact(index, pname, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsProgramNV(int id) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsProgramNV).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glLoadProgramNV(int target, int id, int len, @NativeType("const GLubyte *") MemorySegment program) { + final var ext = getExtCapabilities(); + try { + check(ext.glLoadProgramNV).invokeExact(target, id, len, program); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramParameter4dNV(int target, int index, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramParameter4dNV).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramParameter4dvNV(int target, int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramParameter4dvNV).invokeExact(target, index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramParameter4fNV(int target, int index, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramParameter4fNV).invokeExact(target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramParameter4fvNV(int target, int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramParameter4fvNV).invokeExact(target, index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramParameters4dvNV(int target, int index, int count, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramParameters4dvNV).invokeExact(target, index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramParameters4fvNV(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramParameters4fvNV).invokeExact(target, index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRequestResidentProgramsNV(int n, @NativeType("const GLuint *") MemorySegment programs) { + final var ext = getExtCapabilities(); + try { + check(ext.glRequestResidentProgramsNV).invokeExact(n, programs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTrackMatrixNV(int target, int address, int matrix, int transform) { + final var ext = getExtCapabilities(); + try { + check(ext.glTrackMatrixNV).invokeExact(target, address, matrix, transform); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribPointerNV(int index, int fsize, int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribPointerNV).invokeExact(index, fsize, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1dNV(int index, double x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1dNV).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1dvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1fNV(int index, float x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1fNV).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1fvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1sNV(int index, short x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1sNV).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib1svNV(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib1svNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2dNV(int index, double x, double y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2dNV).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2dvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2fNV(int index, float x, float y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2fNV).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2fvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2sNV(int index, short x, short y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2sNV).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib2svNV(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib2svNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3dNV(int index, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3dNV).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3dvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3fNV(int index, float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3fNV).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3fvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3sNV(int index, short x, short y, short z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3sNV).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib3svNV(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib3svNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4dNV(int index, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4dNV).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4dvNV(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4dvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4fNV(int index, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4fNV).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4fvNV(int index, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4fvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4sNV(int index, short x, short y, short z, short w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4sNV).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4svNV(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4svNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4ubNV(int index, byte x, byte y, byte z, byte w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4ubNV).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttrib4ubvNV(int index, @NativeType("const GLubyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttrib4ubvNV).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs1dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs1dvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs1fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs1fvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs1svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs1svNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs2dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs2dvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs2fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs2fvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs2svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs2svNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs3dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs3dvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs3fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs3fvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs3svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs3svNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs4dvNV(int index, int count, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs4dvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs4fvNV(int index, int count, @NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs4fvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs4svNV(int index, int count, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs4svNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribs4ubvNV(int index, int count, @NativeType("const GLubyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribs4ubvNV).invokeExact(index, count, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java new file mode 100644 index 00000000..775ada27 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVertexProgram4.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_vertex_program4} + */ +public final class GLNVVertexProgram4 { + public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java new file mode 100644 index 00000000..5a46913e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVVideoCapture.java @@ -0,0 +1,161 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_video_capture} + */ +public final class GLNVVideoCapture { + public static final int GL_VIDEO_BUFFER_NV = 0x9020; + public static final int GL_VIDEO_BUFFER_BINDING_NV = 0x9021; + public static final int GL_FIELD_UPPER_NV = 0x9022; + public static final int GL_FIELD_LOWER_NV = 0x9023; + public static final int GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; + public static final int GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; + public static final int GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; + public static final int GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; + public static final int GL_VIDEO_BUFFER_PITCH_NV = 0x9028; + public static final int GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; + public static final int GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; + public static final int GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; + public static final int GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; + public static final int GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; + public static final int GL_PARTIAL_SUCCESS_NV = 0x902E; + public static final int GL_SUCCESS_NV = 0x902F; + public static final int GL_FAILURE_NV = 0x9030; + public static final int GL_YCBYCR8_422_NV = 0x9031; + public static final int GL_YCBAYCR8A_4224_NV = 0x9032; + public static final int GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; + public static final int GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; + public static final int GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; + public static final int GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; + public static final int GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; + public static final int GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; + public static final int GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; + public static final int GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; + public static final int GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; + public static final int GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_video_capture) return; + ext.glBeginVideoCaptureNV = load.invoke("glBeginVideoCaptureNV", ofVoid(JAVA_INT)); + ext.glBindVideoCaptureStreamBufferNV = load.invoke("glBindVideoCaptureStreamBufferNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glBindVideoCaptureStreamTextureNV = load.invoke("glBindVideoCaptureStreamTextureNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glEndVideoCaptureNV = load.invoke("glEndVideoCaptureNV", ofVoid(JAVA_INT)); + ext.glGetVideoCaptureivNV = load.invoke("glGetVideoCaptureivNV", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVideoCaptureStreamivNV = load.invoke("glGetVideoCaptureStreamivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVideoCaptureStreamfvNV = load.invoke("glGetVideoCaptureStreamfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVideoCaptureStreamdvNV = load.invoke("glGetVideoCaptureStreamdvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVideoCaptureNV = load.invoke("glVideoCaptureNV", of(JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + ext.glVideoCaptureStreamParameterivNV = load.invoke("glVideoCaptureStreamParameterivNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVideoCaptureStreamParameterfvNV = load.invoke("glVideoCaptureStreamParameterfvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVideoCaptureStreamParameterdvNV = load.invoke("glVideoCaptureStreamParameterdvNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glBeginVideoCaptureNV(int video_capture_slot) { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginVideoCaptureNV).invokeExact(video_capture_slot); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindVideoCaptureStreamBufferNV(int video_capture_slot, int stream, int frame_region, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindVideoCaptureStreamBufferNV).invokeExact(video_capture_slot, stream, frame_region, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindVideoCaptureStreamTextureNV(int video_capture_slot, int stream, int frame_region, int target, int texture) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindVideoCaptureStreamTextureNV).invokeExact(video_capture_slot, stream, frame_region, target, texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndVideoCaptureNV(int video_capture_slot) { + final var ext = getExtCapabilities(); + try { + check(ext.glEndVideoCaptureNV).invokeExact(video_capture_slot); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideoCaptureivNV(int video_capture_slot, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideoCaptureivNV).invokeExact(video_capture_slot, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideoCaptureStreamivNV(int video_capture_slot, int stream, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideoCaptureStreamivNV).invokeExact(video_capture_slot, stream, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideoCaptureStreamfvNV(int video_capture_slot, int stream, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideoCaptureStreamfvNV).invokeExact(video_capture_slot, stream, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVideoCaptureStreamdvNV(int video_capture_slot, int stream, int pname, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVideoCaptureStreamdvNV).invokeExact(video_capture_slot, stream, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glVideoCaptureNV(int video_capture_slot, @NativeType("GLuint *") MemorySegment sequence_num, @NativeType("GLuint64EXT *") MemorySegment capture_time) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glVideoCaptureNV).invokeExact(video_capture_slot, sequence_num, capture_time); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVideoCaptureStreamParameterivNV(int video_capture_slot, int stream, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glVideoCaptureStreamParameterivNV).invokeExact(video_capture_slot, stream, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVideoCaptureStreamParameterfvNV(int video_capture_slot, int stream, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glVideoCaptureStreamParameterfvNV).invokeExact(video_capture_slot, stream, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVideoCaptureStreamParameterdvNV(int video_capture_slot, int stream, int pname, @NativeType("const GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glVideoCaptureStreamParameterdvNV).invokeExact(video_capture_slot, stream, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java new file mode 100644 index 00000000..c3b1a994 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/nv/GLNVViewportSwizzle.java @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.nv; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_NV_viewport_swizzle} + */ +public final class GLNVViewportSwizzle { + public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; + public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; + public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; + public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; + public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; + public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; + public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; + public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; + public static final int GL_VIEWPORT_SWIZZLE_X_NV = 0x9358; + public static final int GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359; + public static final int GL_VIEWPORT_SWIZZLE_Z_NV = 0x935A; + public static final int GL_VIEWPORT_SWIZZLE_W_NV = 0x935B; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_NV_viewport_swizzle) return; + ext.glViewportSwizzleNV = load.invoke("glViewportSwizzleNV", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glViewportSwizzleNV(int index, int swizzlex, int swizzley, int swizzlez, int swizzlew) { + final var ext = getExtCapabilities(); + try { + check(ext.glViewportSwizzleNV).invokeExact(index, swizzlex, swizzley, swizzlez, swizzlew); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} From 471be64a8ec1912bf0e3131751dd84e201b669e8 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 9 Dec 2023 11:31:32 +0800 Subject: [PATCH 34/44] [OpenGL] Update extensions --- .../kotlin/overrungl/opengl/GLEXT.kt | 2176 +++++++++++++++++ .../overrungl/opengl/OpenGLGenerator.kt | 10 - .../main/java/overrungl/opengl/GLExtCaps.java | 133 +- .../overrungl/opengl/ext/ext/GLEXTAbgr.java | 32 + .../overrungl/opengl/ext/ext/GLEXTBgra.java | 33 + .../opengl/ext/ext/GLEXTBindableUniform.java | 67 + .../opengl/ext/ext/GLEXTBlendColor.java | 48 + .../ext/ext/GLEXTBlendEquationSeparate.java | 45 + .../ext/ext/GLEXTBlendFuncSeparate.java | 47 + .../opengl/ext/ext/GLEXTBlendMinmax.java | 47 + .../opengl/ext/ext/GLEXTBlendSubtract.java | 33 + .../opengl/ext/ext/GLEXTClipVolumeHint.java | 32 + .../overrungl/opengl/ext/ext/GLEXTCmyka.java | 35 + .../opengl/ext/ext/GLEXTColorSubtable.java | 51 + .../ext/ext/GLEXTCompiledVertexArray.java | 53 + .../opengl/ext/ext/GLEXTConvolution.java | 159 ++ .../opengl/ext/ext/GLEXTCoordinateFrame.java | 225 ++ .../opengl/ext/ext/GLEXTCopyTexture.java | 75 + .../opengl/ext/ext/GLEXTCullVertex.java | 54 + .../opengl/ext/ext/GLEXTDebugLabel.java | 57 + .../opengl/ext/ext/GLEXTDebugMarker.java | 59 + .../opengl/ext/ext/GLEXTDepthBoundsTest.java | 45 + .../ext/ext/GLEXTDirectStateAccess.java | 2082 ++++++++++++++++ .../opengl/ext/ext/GLEXTDrawBuffers2.java | 43 + .../opengl/ext/ext/GLEXTDrawInstanced.java | 51 + .../ext/ext/GLEXTDrawRangedElements.java | 45 + .../opengl/ext/ext/GLEXTEGLImageStorage.java | 51 + .../opengl/ext/ext/GLEXTExternalBuffer.java | 51 + .../opengl/ext/ext/GLEXTFogCoord.java | 83 + .../opengl/ext/ext/GLEXTFramebufferBlit.java | 47 + .../ext/ext/GLEXTFramebufferBlitLayers.java | 51 + .../ext/ext/GLEXTFramebufferMultisample.java | 46 + ...GLEXTFramebufferMultisampleBlitScaled.java | 33 + .../ext/ext/GLEXTFramebufferObject.java | 225 ++ .../overrungl/opengl/ext/ext/GLEXTSrgb.java | 33 + 35 files changed, 6304 insertions(+), 53 deletions(-) create mode 100644 modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt new file mode 100644 index 00000000..2c15a919 --- /dev/null +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt @@ -0,0 +1,2176 @@ +/* + * MIT License + * + * Copyright (c) 2023 Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +package overrungl.opengl + +import overrungl.opengl.OpenGLExt.EXT + +/** + * @author squid233 + * @since 0.1.0 + */ +fun ext() { + file( + "422Pixels", EXT, "GL_EXT_422_pixels", + "GL_422_EXT" to "0x80CC", + "GL_422_REV_EXT" to "0x80CD", + "GL_422_AVERAGE_EXT" to "0x80CE", + "GL_422_REV_AVERAGE_EXT" to "0x80CF" + ) + file("EGLImageStorage", EXT, "GL_EXT_EGL_image_storage") { + "glEGLImageTargetTexStorageEXT"( + void, + GLenum("target"), + address("image", "GLeglImageOES"), + address("attrib_list", "const GLint*") + ) + "glEGLImageTargetTextureStorageEXT"( + void, + GLuint("texture"), + address("image", "GLeglImageOES"), + address("attrib_list", "const GLint*") + ) + } + file("Abgr", EXT, "GL_EXT_abgr", "GL_ABGR_EXT" to "0x8000") + file( + "Bgra", EXT, "GL_EXT_bgra", + "GL_BGR_EXT" to "0x80E0", + "GL_BGRA_EXT" to "0x80E1" + ) + file("BindableUniform", EXT, "GL_EXT_bindable_uniform") { + "GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT"("0x8DE2") + "GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT"("0x8DE3") + "GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"("0x8DE4") + "GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"("0x8DED") + "GL_UNIFORM_BUFFER_EXT"("0x8DEE") + "GL_UNIFORM_BUFFER_BINDING_EXT"("0x8DEF") + "glUniformBufferEXT"(void, GLuint("program"), GLint("location"), GLuint("buffer")) + "glGetUniformBufferSizeEXT"(GLint, GLuint("program"), GLint("location")) + "glGetUniformOffsetEXT"(GLintptr, GLuint("program"), GLint("location")) + } + file("BlendColor", EXT, "GL_EXT_blend_color") { + "GL_CONSTANT_COLOR_EXT"("0x8001") + "GL_ONE_MINUS_CONSTANT_COLOR_EXT"("0x8002") + "GL_CONSTANT_ALPHA_EXT"("0x8003") + "GL_ONE_MINUS_CONSTANT_ALPHA_EXT"("0x8004") + "GL_BLEND_COLOR_EXT"("0x8005") + "glBlendColorEXT"(void, GLfloat("red"), GLfloat("green"), GLfloat("blue"), GLfloat("alpha")) + } + file("BlendEquationSeparate", EXT, "GL_EXT_blend_equation_separate") { + "GL_BLEND_EQUATION_RGB_EXT"("0x8009") + "GL_BLEND_EQUATION_ALPHA_EXT"("0x883D") + "glBlendEquationSeparateEXT"(void, GLenum("modeRGB"), GLenum("modeAlpha")) + } + file("BlendFuncSeparate", EXT, "GL_EXT_blend_func_separate") { + "GL_BLEND_DST_RGB_EXT"("0x80C8") + "GL_BLEND_SRC_RGB_EXT"("0x80C9") + "GL_BLEND_DST_ALPHA_EXT"("0x80CA") + "GL_BLEND_SRC_ALPHA_EXT"("0x80CB") + "glBlendFuncSeparateEXT"( + void, + GLenum("sfactorRGB"), + GLenum("dfactorRGB"), + GLenum("sfactorAlpha"), + GLenum("dfactorAlpha") + ) + } + file("BlendMinmax", EXT, "GL_EXT_blend_minmax") { + "GL_MIN_EXT"("0x8007") + "GL_MAX_EXT"("0x8008") + "GL_FUNC_ADD_EXT"("0x8006") + "GL_BLEND_EQUATION_EXT"("0x8009") + "glBlendEquationEXT"(void, GLenum("mode")) + } + file( + "BlendSubtract", EXT, "GL_EXT_blend_subtract", + "GL_FUNC_SUBTRACT_EXT" to "0x800A", + "GL_FUNC_REVERSE_SUBTRACT_EXT" to "0x800B" + ) + file("ClipVolumeHint", EXT, "GL_EXT_clip_volume_hint", "GL_CLIP_VOLUME_CLIPPING_HINT_EXT" to "0x80F0") + file( + "Cmyka", EXT, "GL_EXT_cmyka", + "GL_CMYK_EXT" to "0x800C", + "GL_CMYKA_EXT" to "0x800D", + "GL_PACK_CMYK_HINT_EXT" to "0x800E", + "GL_UNPACK_CMYK_HINT_EXT" to "0x800F" + ) + file("ColorSubtable", EXT, "GL_EXT_color_subtable") { + "glColorSubTableEXT"( + void, + GLenum("target"), + GLsizei("start"), + GLsizei("count"), + GLenum("format"), + GLenum("type"), + address("data", "const void *") + ) + "glCopyColorSubTableEXT"(void, GLenum("target"), GLsizei("start"), GLint("x"), GLint("y"), GLsizei("width")) + } + file("CompiledVertexArray", EXT, "GL_EXT_compiled_vertex_array") { + "GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"("0x81A8") + "GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"("0x81A9") + "glLockArraysEXT"(void, GLint("first"), GLsizei("count")) + "glUnlockArraysEXT"(void) + } + file("Convolution", EXT, "GL_EXT_convolution") { + "GL_CONVOLUTION_1D_EXT"("0x8010") + "GL_CONVOLUTION_2D_EXT"("0x8011") + "GL_SEPARABLE_2D_EXT"("0x8012") + "GL_CONVOLUTION_BORDER_MODE_EXT"("0x8013") + "GL_CONVOLUTION_FILTER_SCALE_EXT"("0x8014") + "GL_CONVOLUTION_FILTER_BIAS_EXT"("0x8015") + "GL_REDUCE_EXT"("0x8016") + "GL_CONVOLUTION_FORMAT_EXT"("0x8017") + "GL_CONVOLUTION_WIDTH_EXT"("0x8018") + "GL_CONVOLUTION_HEIGHT_EXT"("0x8019") + "GL_MAX_CONVOLUTION_WIDTH_EXT"("0x801A") + "GL_MAX_CONVOLUTION_HEIGHT_EXT"("0x801B") + "GL_POST_CONVOLUTION_RED_SCALE_EXT"("0x801C") + "GL_POST_CONVOLUTION_GREEN_SCALE_EXT"("0x801D") + "GL_POST_CONVOLUTION_BLUE_SCALE_EXT"("0x801E") + "GL_POST_CONVOLUTION_ALPHA_SCALE_EXT"("0x801F") + "GL_POST_CONVOLUTION_RED_BIAS_EXT"("0x8020") + "GL_POST_CONVOLUTION_GREEN_BIAS_EXT"("0x8021") + "GL_POST_CONVOLUTION_BLUE_BIAS_EXT"("0x8022") + "GL_POST_CONVOLUTION_ALPHA_BIAS_EXT"("0x8023") + "glConvolutionFilter1DEXT"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("image", "const void *") + ) + "glConvolutionFilter2DEXT"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("image", "const void *") + ) + "glConvolutionParameterfEXT"(void, GLenum("target"), GLenum("pname"), GLfloat("params")) + "glConvolutionParameterfvEXT"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glConvolutionParameteriEXT"(void, GLenum("target"), GLenum("pname"), GLint("params")) + "glConvolutionParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glCopyConvolutionFilter1DEXT"( + void, + GLenum("target"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width") + ) + "glCopyConvolutionFilter2DEXT"( + void, + GLenum("target"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glGetConvolutionFilterEXT"( + void, + GLenum("target"), + GLenum("format"), + GLenum("type"), + address("image", "void *") + ) + "glGetConvolutionParameterfvEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetConvolutionParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetSeparableFilterEXT"( + void, + GLenum("target"), + GLenum("format"), + GLenum("type"), + address("row", "void *"), + address("column", "void *"), + address("span", "void *") + ) + "glSeparableFilter2DEXT"( + void, + GLenum("target"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("row", "const void *"), + address("column", "const void *") + ) + } + file("CoordinateFrame", EXT, "GL_EXT_coordinate_frame") { + "GL_TANGENT_ARRAY_EXT"("0x8439") + "GL_BINORMAL_ARRAY_EXT"("0x843A") + "GL_CURRENT_TANGENT_EXT"("0x843B") + "GL_CURRENT_BINORMAL_EXT"("0x843C") + "GL_TANGENT_ARRAY_TYPE_EXT"("0x843E") + "GL_TANGENT_ARRAY_STRIDE_EXT"("0x843F") + "GL_BINORMAL_ARRAY_TYPE_EXT"("0x8440") + "GL_BINORMAL_ARRAY_STRIDE_EXT"("0x8441") + "GL_TANGENT_ARRAY_POINTER_EXT"("0x8442") + "GL_BINORMAL_ARRAY_POINTER_EXT"("0x8443") + "GL_MAP1_TANGENT_EXT"("0x8444") + "GL_MAP2_TANGENT_EXT"("0x8445") + "GL_MAP1_BINORMAL_EXT"("0x8446") + "GL_MAP2_BINORMAL_EXT"("0x8447") + "glTangent3bEXT"(void, GLbyte("tx"), GLbyte("ty"), GLbyte("tz")) + "glTangent3bvEXT"(void, address("v", "const GLbyte *")) + "glTangent3dEXT"(void, GLdouble("tx"), GLdouble("ty"), GLdouble("tz")) + "glTangent3dvEXT"(void, address("v", "const GLdouble *")) + "glTangent3fEXT"(void, GLfloat("tx"), GLfloat("ty"), GLfloat("tz")) + "glTangent3fvEXT"(void, address("v", "const GLfloat *")) + "glTangent3iEXT"(void, GLint("tx"), GLint("ty"), GLint("tz")) + "glTangent3ivEXT"(void, address("v", "const GLint *")) + "glTangent3sEXT"(void, GLshort("tx"), GLshort("ty"), GLshort("tz")) + "glTangent3svEXT"(void, address("v", "const GLshort *")) + "glBinormal3bEXT"(void, GLbyte("bx"), GLbyte("by"), GLbyte("bz")) + "glBinormal3bvEXT"(void, address("v", "const GLbyte *")) + "glBinormal3dEXT"(void, GLdouble("bx"), GLdouble("by"), GLdouble("bz")) + "glBinormal3dvEXT"(void, address("v", "const GLdouble *")) + "glBinormal3fEXT"(void, GLfloat("bx"), GLfloat("by"), GLfloat("bz")) + "glBinormal3fvEXT"(void, address("v", "const GLfloat *")) + "glBinormal3iEXT"(void, GLint("bx"), GLint("by"), GLint("bz")) + "glBinormal3ivEXT"(void, address("v", "const GLint *")) + "glBinormal3sEXT"(void, GLshort("bx"), GLshort("by"), GLshort("bz")) + "glBinormal3svEXT"(void, address("v", "const GLshort *")) + "glTangentPointerEXT"(void, GLenum("type"), GLsizei("stride"), address("pointer", "const void *")) + "glBinormalPointerEXT"(void, GLenum("type"), GLsizei("stride"), address("pointer", "const void *")) + } + file("CopyTexture", EXT, "GL_EXT_copy_texture") { + "glCopyTexImage1DEXT"( + void, + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLint("border") + ) + "glCopyTexImage2DEXT"( + void, + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height"), + GLint("border") + ) + "glCopyTexSubImage1DEXT"( + void, + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("x"), + GLint("y"), + GLsizei("width") + ) + "glCopyTexSubImage2DEXT"( + void, + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glCopyTexSubImage3DEXT"( + void, + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + } + file("CullVertex", EXT, "GL_EXT_cull_vertex") { + "GL_CULL_VERTEX_EXT"("0x81AA") + "GL_CULL_VERTEX_EYE_POSITION_EXT"("0x81AB") + "GL_CULL_VERTEX_OBJECT_POSITION_EXT"("0x81AC") + "glCullParameterdvEXT"(void, GLenum("pname"), address("params", "GLdouble *")) + "glCullParameterfvEXT"(void, GLenum("pname"), address("params", "GLfloat *")) + } + file("DebugLabel", EXT, "GL_EXT_debug_label") { + "GL_PROGRAM_PIPELINE_OBJECT_EXT"("0x8A4F") + "GL_PROGRAM_OBJECT_EXT"("0x8B40") + "GL_SHADER_OBJECT_EXT"("0x8B48") + "GL_BUFFER_OBJECT_EXT"("0x9151") + "GL_QUERY_OBJECT_EXT"("0x9153") + "GL_VERTEX_ARRAY_OBJECT_EXT"("0x9154") + "glLabelObjectEXT"( + void, + GLenum("type"), + GLuint("object"), + GLsizei("length"), + address("label", "const GLchar *") + ) + "glGetObjectLabelEXT"( + void, + GLenum("type"), + GLuint("object"), + GLsizei("bufSize"), + address("length", "GLsizei *"), + address("label", "GLchar *") + ) + } + file("DebugMarker", EXT, "GL_EXT_debug_marker") { + "glInsertEventMarkerEXT"(void, GLsizei("length"), address("marker", "const GLchar *")) + "glPushGroupMarkerEXT"(void, GLsizei("length"), address("marker", "const GLchar *")) + "glPopGroupMarkerEXT"(void) + } + file("DepthBoundsTest", EXT, "GL_EXT_depth_bounds_test") { + "GL_DEPTH_BOUNDS_TEST_EXT"("0x8890") + "GL_DEPTH_BOUNDS_EXT"("0x8891") + "glDepthBoundsEXT"(void, GLclampd("zmin"), GLclampd("zmax")) + } + file("DirectStateAccess", EXT, "GL_EXT_direct_state_access") { + "GL_PROGRAM_MATRIX_EXT"("0x8E2D") + "GL_TRANSPOSE_PROGRAM_MATRIX_EXT"("0x8E2E") + "GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"("0x8E2F") + "glMatrixLoadfEXT"(void, GLenum("mode"), address("m", "const GLfloat *")) + "glMatrixLoaddEXT"(void, GLenum("mode"), address("m", "const GLdouble *")) + "glMatrixMultfEXT"(void, GLenum("mode"), address("m", "const GLfloat *")) + "glMatrixMultdEXT"(void, GLenum("mode"), address("m", "const GLdouble *")) + "glMatrixLoadIdentityEXT"(void, GLenum("mode")) + "glMatrixRotatefEXT"(void, GLenum("mode"), GLfloat("angle"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glMatrixRotatedEXT"(void, GLenum("mode"), GLdouble("angle"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glMatrixScalefEXT"(void, GLenum("mode"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glMatrixScaledEXT"(void, GLenum("mode"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glMatrixTranslatefEXT"(void, GLenum("mode"), GLfloat("x"), GLfloat("y"), GLfloat("z")) + "glMatrixTranslatedEXT"(void, GLenum("mode"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glMatrixFrustumEXT"( + void, + GLenum("mode"), + GLdouble("left"), + GLdouble("right"), + GLdouble("bottom"), + GLdouble("top"), + GLdouble("zNear"), + GLdouble("zFar") + ) + "glMatrixOrthoEXT"( + void, + GLenum("mode"), + GLdouble("left"), + GLdouble("right"), + GLdouble("bottom"), + GLdouble("top"), + GLdouble("zNear"), + GLdouble("zFar") + ) + "glMatrixPopEXT"(void, GLenum("mode")) + "glMatrixPushEXT"(void, GLenum("mode")) + "glClientAttribDefaultEXT"(void, GLbitfield("mask")) + "glPushClientAttribDefaultEXT"(void, GLbitfield("mask")) + "glTextureParameterfEXT"(void, GLuint("texture"), GLenum("target"), GLenum("pname"), GLfloat("param")) + "glTextureParameterfvEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLfloat *") + ) + "glTextureParameteriEXT"(void, GLuint("texture"), GLenum("target"), GLenum("pname"), GLint("param")) + "glTextureParameterivEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glTextureImage1DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("internalformat"), + GLsizei("width"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glTextureImage2DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glTextureSubImage1DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glTextureSubImage2DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glCopyTextureImage1DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLint("border") + ) + "glCopyTextureImage2DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height"), + GLint("border") + ) + "glCopyTextureSubImage1DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("x"), + GLint("y"), + GLsizei("width") + ) + "glCopyTextureSubImage2DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glGetTextureImageEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("format"), + GLenum("type"), + address("pixels", "void *") + ) + "glGetTextureParameterfvEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetTextureParameterivEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetTextureLevelParameterfvEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetTextureLevelParameterivEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("pname"), + address("params", "GLint *") + ) + "glTextureImage3DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glTextureSubImage3DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glCopyTextureSubImage3DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glBindMultiTextureEXT"(void, GLenum("texunit"), GLenum("target"), GLuint("texture")) + "glMultiTexCoordPointerEXT"( + void, + GLenum("texunit"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + "glMultiTexEnvfEXT"(void, GLenum("texunit"), GLenum("target"), GLenum("pname"), GLfloat("param")) + "glMultiTexEnvfvEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLfloat *") + ) + "glMultiTexEnviEXT"(void, GLenum("texunit"), GLenum("target"), GLenum("pname"), GLint("param")) + "glMultiTexEnvivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glMultiTexGendEXT"(void, GLenum("texunit"), GLenum("coord"), GLenum("pname"), GLdouble("param")) + "glMultiTexGendvEXT"( + void, + GLenum("texunit"), + GLenum("coord"), + GLenum("pname"), + address("params", "const GLdouble *") + ) + "glMultiTexGenfEXT"(void, GLenum("texunit"), GLenum("coord"), GLenum("pname"), GLfloat("param")) + "glMultiTexGenfvEXT"( + void, + GLenum("texunit"), + GLenum("coord"), + GLenum("pname"), + address("params", "const GLfloat *") + ) + "glMultiTexGeniEXT"(void, GLenum("texunit"), GLenum("coord"), GLenum("pname"), GLint("param")) + "glMultiTexGenivEXT"( + void, + GLenum("texunit"), + GLenum("coord"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glGetMultiTexEnvfvEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetMultiTexEnvivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetMultiTexGendvEXT"( + void, + GLenum("texunit"), + GLenum("coord"), + GLenum("pname"), + address("params", "GLdouble *") + ) + "glGetMultiTexGenfvEXT"( + void, + GLenum("texunit"), + GLenum("coord"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetMultiTexGenivEXT"(void, GLenum("texunit"), GLenum("coord"), GLenum("pname"), address("params", "GLint *")) + "glMultiTexParameteriEXT"(void, GLenum("texunit"), GLenum("target"), GLenum("pname"), GLint("param")) + "glMultiTexParameterivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glMultiTexParameterfEXT"(void, GLenum("texunit"), GLenum("target"), GLenum("pname"), GLfloat("param")) + "glMultiTexParameterfvEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLfloat *") + ) + "glMultiTexImage1DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("internalformat"), + GLsizei("width"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glMultiTexImage2DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glMultiTexSubImage1DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glMultiTexSubImage2DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glCopyMultiTexImage1DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLint("border") + ) + "glCopyMultiTexImage2DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height"), + GLint("border") + ) + "glCopyMultiTexSubImage1DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("x"), + GLint("y"), + GLsizei("width") + ) + "glCopyMultiTexSubImage2DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glGetMultiTexImageEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("format"), + GLenum("type"), + address("pixels", "void *") + ) + "glGetMultiTexParameterfvEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetMultiTexParameterivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetMultiTexLevelParameterfvEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("pname"), + address("params", "GLfloat *") + ) + "glGetMultiTexLevelParameterivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("pname"), + address("params", "GLint *") + ) + "glMultiTexImage3DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glMultiTexSubImage3DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glCopyMultiTexSubImage3DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLint("x"), + GLint("y"), + GLsizei("width"), + GLsizei("height") + ) + "glEnableClientStateIndexedEXT"(void, GLenum("array"), GLuint("index")) + "glDisableClientStateIndexedEXT"(void, GLenum("array"), GLuint("index")) + "glGetFloatIndexedvEXT"(void, GLenum("target"), GLuint("index"), address("data", "GLfloat *")) + "glGetDoubleIndexedvEXT"(void, GLenum("target"), GLuint("index"), address("data", "GLdouble *")) + "glGetPointerIndexedvEXT"(void, GLenum("target"), GLuint("index"), address("data", "void **")) + "glEnableIndexedEXT"(void, GLenum("target"), GLuint("index")) + "glDisableIndexedEXT"(void, GLenum("target"), GLuint("index")) + "glIsEnabledIndexedEXT"(GLboolean, GLenum("target"), GLuint("index")) + "glGetIntegerIndexedvEXT"(void, GLenum("target"), GLuint("index"), address("data", "GLint *")) + "glGetBooleanIndexedvEXT"(void, GLenum("target"), GLuint("index"), address("data", "GLboolean *")) + "glCompressedTextureImage3DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLint("border"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedTextureImage2DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLint("border"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedTextureImage1DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLint("border"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedTextureSubImage3DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLenum("format"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedTextureSubImage2DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedTextureSubImage1DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLsizei("width"), + GLenum("format"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glGetCompressedTextureImageEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLint("lod"), + address("img", "void *") + ) + "glCompressedMultiTexImage3DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLint("border"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedMultiTexImage2DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLint("border"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedMultiTexImage1DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLint("border"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedMultiTexSubImage3DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLenum("format"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedMultiTexSubImage2DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glCompressedMultiTexSubImage1DEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLsizei("width"), + GLenum("format"), + GLsizei("imageSize"), + address("bits", "const void *") + ) + "glGetCompressedMultiTexImageEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLint("lod"), + address("img", "void *") + ) + "glMatrixLoadTransposefEXT"(void, GLenum("mode"), address("m", "const GLfloat *")) + "glMatrixLoadTransposedEXT"(void, GLenum("mode"), address("m", "const GLdouble *")) + "glMatrixMultTransposefEXT"(void, GLenum("mode"), address("m", "const GLfloat *")) + "glMatrixMultTransposedEXT"(void, GLenum("mode"), address("m", "const GLdouble *")) + "glNamedBufferDataEXT"( + void, + GLuint("buffer"), + GLsizeiptr("size"), + address("data", "const void *"), + GLenum("usage") + ) + "glNamedBufferSubDataEXT"( + void, + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size"), + address("data", "const void *") + ) + "glMapNamedBufferEXT"(address, GLuint("buffer"), GLenum("access"), nativeType = "void *") + "glUnmapNamedBufferEXT"(GLboolean, GLuint("buffer")) + "glGetNamedBufferParameterivEXT"(void, GLuint("buffer"), GLenum("pname"), address("params", "GLint *")) + "glGetNamedBufferPointervEXT"(void, GLuint("buffer"), GLenum("pname"), address("params", "void **")) + "glGetNamedBufferSubDataEXT"( + void, + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size"), + address("data", "void *") + ) + "glProgramUniform1fEXT"(void, GLuint("program"), GLint("location"), GLfloat("v0")) + "glProgramUniform2fEXT"(void, GLuint("program"), GLint("location"), GLfloat("v0"), GLfloat("v1")) + "glProgramUniform3fEXT"(void, GLuint("program"), GLint("location"), GLfloat("v0"), GLfloat("v1"), GLfloat("v2")) + "glProgramUniform4fEXT"( + void, + GLuint("program"), + GLint("location"), + GLfloat("v0"), + GLfloat("v1"), + GLfloat("v2"), + GLfloat("v3") + ) + "glProgramUniform1iEXT"(void, GLuint("program"), GLint("location"), GLint("v0")) + "glProgramUniform2iEXT"(void, GLuint("program"), GLint("location"), GLint("v0"), GLint("v1")) + "glProgramUniform3iEXT"(void, GLuint("program"), GLint("location"), GLint("v0"), GLint("v1"), GLint("v2")) + "glProgramUniform4iEXT"( + void, + GLuint("program"), + GLint("location"), + GLint("v0"), + GLint("v1"), + GLint("v2"), + GLint("v3") + ) + "glProgramUniform1fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLfloat *") + ) + "glProgramUniform2fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLfloat *") + ) + "glProgramUniform3fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLfloat *") + ) + "glProgramUniform4fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLfloat *") + ) + "glProgramUniform1ivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint *") + ) + "glProgramUniform2ivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint *") + ) + "glProgramUniform3ivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint *") + ) + "glProgramUniform4ivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLint *") + ) + "glProgramUniformMatrix2fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix3fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix4fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix2x3fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix3x2fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix2x4fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix4x2fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix3x4fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glProgramUniformMatrix4x3fvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLfloat *") + ) + "glTextureBufferEXT"(void, GLuint("texture"), GLenum("target"), GLenum("internalformat"), GLuint("buffer")) + "glMultiTexBufferEXT"(void, GLenum("texunit"), GLenum("target"), GLenum("internalformat"), GLuint("buffer")) + "glTextureParameterIivEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glTextureParameterIuivEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLuint *") + ) + "glGetTextureParameterIivEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetTextureParameterIuivEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("pname"), + address("params", "GLuint *") + ) + "glMultiTexParameterIivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glMultiTexParameterIuivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "const GLuint *") + ) + "glGetMultiTexParameterIivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetMultiTexParameterIuivEXT"( + void, + GLenum("texunit"), + GLenum("target"), + GLenum("pname"), + address("params", "GLuint *") + ) + "glProgramUniform1uiEXT"(void, GLuint("program"), GLint("location"), GLuint("v0")) + "glProgramUniform2uiEXT"(void, GLuint("program"), GLint("location"), GLuint("v0"), GLuint("v1")) + "glProgramUniform3uiEXT"(void, GLuint("program"), GLint("location"), GLuint("v0"), GLuint("v1"), GLuint("v2")) + "glProgramUniform4uiEXT"( + void, + GLuint("program"), + GLint("location"), + GLuint("v0"), + GLuint("v1"), + GLuint("v2"), + GLuint("v3") + ) + "glProgramUniform1uivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint *") + ) + "glProgramUniform2uivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint *") + ) + "glProgramUniform3uivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint *") + ) + "glProgramUniform4uivEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLuint *") + ) + "glNamedProgramLocalParameters4fvEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLfloat *") + ) + "glNamedProgramLocalParameterI4iEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + GLint("x"), + GLint("y"), + GLint("z"), + GLint("w") + ) + "glNamedProgramLocalParameterI4ivEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "const GLint *") + ) + "glNamedProgramLocalParametersI4ivEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLint *") + ) + "glNamedProgramLocalParameterI4uiEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + GLuint("x"), + GLuint("y"), + GLuint("z"), + GLuint("w") + ) + "glNamedProgramLocalParameterI4uivEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "const GLuint *") + ) + "glNamedProgramLocalParametersI4uivEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLuint *") + ) + "glGetNamedProgramLocalParameterIivEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "GLint *") + ) + "glGetNamedProgramLocalParameterIuivEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "GLuint *") + ) + "glEnableClientStateiEXT"(void, GLenum("array"), GLuint("index")) + "glDisableClientStateiEXT"(void, GLenum("array"), GLuint("index")) + "glGetFloati_vEXT"(void, GLenum("pname"), GLuint("index"), address("params", "GLfloat *")) + "glGetDoublei_vEXT"(void, GLenum("pname"), GLuint("index"), address("params", "GLdouble *")) + "glGetPointeri_vEXT"(void, GLenum("pname"), GLuint("index"), address("params", "void **")) + "glNamedProgramStringEXT"( + void, + GLuint("program"), + GLenum("target"), + GLenum("format"), + GLsizei("len"), + address("string", "const void *") + ) + "glNamedProgramLocalParameter4dEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glNamedProgramLocalParameter4dvEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "const GLdouble *") + ) + "glNamedProgramLocalParameter4fEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + GLfloat("x"), + GLfloat("y"), + GLfloat("z"), + GLfloat("w") + ) + "glNamedProgramLocalParameter4fvEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "const GLfloat *") + ) + "glGetNamedProgramLocalParameterdvEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "GLdouble *") + ) + "glGetNamedProgramLocalParameterfvEXT"( + void, + GLuint("program"), + GLenum("target"), + GLuint("index"), + address("params", "GLfloat *") + ) + "glGetNamedProgramivEXT"( + void, + GLuint("program"), + GLenum("target"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGetNamedProgramStringEXT"( + void, + GLuint("program"), + GLenum("target"), + GLenum("pname"), + address("string", "void *") + ) + "glNamedRenderbufferStorageEXT"( + void, + GLuint("renderbuffer"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + "glGetNamedRenderbufferParameterivEXT"( + void, + GLuint("renderbuffer"), + GLenum("pname"), + address("params", "GLint *") + ) + "glNamedRenderbufferStorageMultisampleEXT"( + void, + GLuint("renderbuffer"), + GLsizei("samples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + "glNamedRenderbufferStorageMultisampleCoverageEXT"( + void, + GLuint("renderbuffer"), + GLsizei("coverageSamples"), + GLsizei("colorSamples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + "glCheckNamedFramebufferStatusEXT"(GLenum, GLuint("framebuffer"), GLenum("target")) + "glNamedFramebufferTexture1DEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLenum("textarget"), + GLuint("texture"), + GLint("level") + ) + "glNamedFramebufferTexture2DEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLenum("textarget"), + GLuint("texture"), + GLint("level") + ) + "glNamedFramebufferTexture3DEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLenum("textarget"), + GLuint("texture"), + GLint("level"), + GLint("zoffset") + ) + "glNamedFramebufferRenderbufferEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLenum("renderbuffertarget"), + GLuint("renderbuffer") + ) + "glGetNamedFramebufferAttachmentParameterivEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGenerateTextureMipmapEXT"(void, GLuint("texture"), GLenum("target")) + "glGenerateMultiTexMipmapEXT"(void, GLenum("texunit"), GLenum("target")) + "glFramebufferDrawBufferEXT"(void, GLuint("framebuffer"), GLenum("mode")) + "glFramebufferDrawBuffersEXT"(void, GLuint("framebuffer"), GLsizei("n"), address("bufs", "const GLenum *")) + "glFramebufferReadBufferEXT"(void, GLuint("framebuffer"), GLenum("mode")) + "glGetFramebufferParameterivEXT"(void, GLuint("framebuffer"), GLenum("pname"), address("params", "GLint *")) + "glNamedCopyBufferSubDataEXT"( + void, + GLuint("readBuffer"), + GLuint("writeBuffer"), + GLintptr("readOffset"), + GLintptr("writeOffset"), + GLsizeiptr("size") + ) + "glNamedFramebufferTextureEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLuint("texture"), + GLint("level") + ) + "glNamedFramebufferTextureLayerEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLint("layer") + ) + "glNamedFramebufferTextureFaceEXT"( + void, + GLuint("framebuffer"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLenum("face") + ) + "glTextureRenderbufferEXT"(void, GLuint("texture"), GLenum("target"), GLuint("renderbuffer")) + "glMultiTexRenderbufferEXT"(void, GLenum("texunit"), GLenum("target"), GLuint("renderbuffer")) + "glVertexArrayVertexOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayColorOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayEdgeFlagOffsetEXT"(void, GLuint("vaobj"), GLuint("buffer"), GLsizei("stride"), GLintptr("offset")) + "glVertexArrayIndexOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayNormalOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayTexCoordOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayMultiTexCoordOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLenum("texunit"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayFogCoordOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArraySecondaryColorOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayVertexAttribOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLuint("index"), + GLint("size"), + GLenum("type"), + GLboolean("normalized"), + GLsizei("stride"), + GLintptr("offset") + ) + "glVertexArrayVertexAttribIOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLuint("index"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glEnableVertexArrayEXT"(void, GLuint("vaobj"), GLenum("array")) + "glDisableVertexArrayEXT"(void, GLuint("vaobj"), GLenum("array")) + "glEnableVertexArrayAttribEXT"(void, GLuint("vaobj"), GLuint("index")) + "glDisableVertexArrayAttribEXT"(void, GLuint("vaobj"), GLuint("index")) + "glGetVertexArrayIntegervEXT"(void, GLuint("vaobj"), GLenum("pname"), address("param", "GLint *")) + "glGetVertexArrayPointervEXT"(void, GLuint("vaobj"), GLenum("pname"), address("param", "void **")) + "glGetVertexArrayIntegeri_vEXT"( + void, + GLuint("vaobj"), + GLuint("index"), + GLenum("pname"), + address("param", "GLint *") + ) + "glGetVertexArrayPointeri_vEXT"( + void, + GLuint("vaobj"), + GLuint("index"), + GLenum("pname"), + address("param", "void **") + ) + "glMapNamedBufferRangeEXT"( + void, + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("length"), + GLbitfield("access") + ) + "glFlushMappedNamedBufferRangeEXT"(void, GLuint("buffer"), GLintptr("offset"), GLsizeiptr("length")) + "glNamedBufferStorageEXT"( + void, + GLuint("buffer"), + GLsizeiptr("size"), + address("data", "const void *"), + GLbitfield("flags") + ) + "glClearNamedBufferDataEXT"( + void, + GLuint("buffer"), + GLenum("internalformat"), + GLenum("format"), + GLenum("type"), + address("data", "const void *") + ) + "glClearNamedBufferSubDataEXT"( + void, + GLuint("buffer"), + GLenum("internalformat"), + GLsizeiptr("offset"), + GLsizeiptr("size"), + GLenum("format"), + GLenum("type"), + address("data", "const void *") + ) + "glNamedFramebufferParameteriEXT"(void, GLuint("framebuffer"), GLenum("pname"), GLint("param")) + "glGetNamedFramebufferParameterivEXT"( + void, + GLuint("framebuffer"), + GLenum("pname"), + address("params", "GLint *") + ) + "glProgramUniform1dEXT"(void, GLuint("program"), GLint("location"), GLdouble("x")) + "glProgramUniform2dEXT"(void, GLuint("program"), GLint("location"), GLdouble("x"), GLdouble("y")) + "glProgramUniform3dEXT"(void, GLuint("program"), GLint("location"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glProgramUniform4dEXT"( + void, + GLuint("program"), + GLint("location"), + GLdouble("x"), + GLdouble("y"), + GLdouble("z"), + GLdouble("w") + ) + "glProgramUniform1dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLdouble *") + ) + "glProgramUniform2dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLdouble *") + ) + "glProgramUniform3dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLdouble *") + ) + "glProgramUniform4dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix2dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix3dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix4dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix2x3dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix2x4dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix3x2dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix3x4dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix4x2dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glProgramUniformMatrix4x3dvEXT"( + void, + GLuint("program"), + GLint("location"), + GLsizei("count"), + GLboolean("transpose"), + address("value", "const GLdouble *") + ) + "glTextureBufferRangeEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLenum("internalformat"), + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size") + ) + "glTextureStorage1DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLsizei("levels"), + GLenum("internalformat"), + GLsizei("width") + ) + "glTextureStorage2DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLsizei("levels"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + "glTextureStorage3DEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLsizei("levels"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth") + ) + "glTextureStorage2DMultisampleEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLsizei("samples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLboolean("fixedsamplelocations") + ) + "glTextureStorage3DMultisampleEXT"( + void, + GLuint("texture"), + GLenum("target"), + GLsizei("samples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLboolean("fixedsamplelocations") + ) + "glVertexArrayBindVertexBufferEXT"( + void, + GLuint("vaobj"), + GLuint("bindingindex"), + GLuint("buffer"), + GLintptr("offset"), + GLsizei("stride") + ) + "glVertexArrayVertexAttribFormatEXT"( + void, + GLuint("vaobj"), + GLuint("attribindex"), + GLint("size"), + GLenum("type"), + GLboolean("normalized"), + GLuint("relativeoffset") + ) + "glVertexArrayVertexAttribIFormatEXT"( + void, + GLuint("vaobj"), + GLuint("attribindex"), + GLint("size"), + GLenum("type"), + GLuint("relativeoffset") + ) + "glVertexArrayVertexAttribLFormatEXT"( + void, + GLuint("vaobj"), + GLuint("attribindex"), + GLint("size"), + GLenum("type"), + GLuint("relativeoffset") + ) + "glVertexArrayVertexAttribBindingEXT"(void, GLuint("vaobj"), GLuint("attribindex"), GLuint("bindingindex")) + "glVertexArrayVertexBindingDivisorEXT"(void, GLuint("vaobj"), GLuint("bindingindex"), GLuint("divisor")) + "glVertexArrayVertexAttribLOffsetEXT"( + void, + GLuint("vaobj"), + GLuint("buffer"), + GLuint("index"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLintptr("offset") + ) + "glTexturePageCommitmentEXT"( + void, + GLuint("texture"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLboolean("commit") + ) + "glVertexArrayVertexAttribDivisorEXT"(void, GLuint("vaobj"), GLuint("index"), GLuint("divisor")) + } + file("DrawBuffers2", EXT, "GL_EXT_draw_buffers2") { + "glColorMaskIndexedEXT"(void, GLuint("index"), GLboolean("r"), GLboolean("g"), GLboolean("b"), GLboolean("a")) + } + file("DrawInstanced", EXT, "GL_EXT_draw_instanced") { + "glDrawArraysInstancedEXT"(void, GLenum("mode"), GLint("start"), GLsizei("count"), GLsizei("primcount")) + "glDrawElementsInstancedEXT"( + void, + GLenum("mode"), + GLsizei("count"), + GLenum("type"), + address("indices", "const void *"), + GLsizei("primcount") + ) + } + file("DrawRangedElements", EXT, "GL_EXT_draw_range_elements") { + "GL_MAX_ELEMENTS_VERTICES_EXT"("0x80E8") + "GL_MAX_ELEMENTS_INDICES_EXT"("0x80E9") + "glDrawRangeElementsEXT"( + void, + GLenum("mode"), + GLuint("start"), + GLuint("end"), + GLsizei("count"), + GLenum("type"), + address("indices", "const void *") + ) + } + file("ExternalBuffer", EXT, "GL_EXT_external_buffer") { + "glBufferStorageExternalEXT"( + void, + GLenum("target"), + GLintptr("offset"), + GLsizeiptr("size"), + address("clientBuffer", "GLeglClientBufferEXT"), + GLbitfield("flags") + ) + "glNamedBufferStorageExternalEXT"( + void, + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size"), + address("clientBuffer", "GLeglClientBufferEXT"), + GLbitfield("flags") + ) + } + file("FogCoord", EXT, "GL_EXT_fog_coord") { + "GL_FOG_COORDINATE_SOURCE_EXT"("0x8450") + "GL_FOG_COORDINATE_EXT"("0x8451") + "GL_FRAGMENT_DEPTH_EXT"("0x8452") + "GL_CURRENT_FOG_COORDINATE_EXT"("0x8453") + "GL_FOG_COORDINATE_ARRAY_TYPE_EXT"("0x8454") + "GL_FOG_COORDINATE_ARRAY_STRIDE_EXT"("0x8455") + "GL_FOG_COORDINATE_ARRAY_POINTER_EXT"("0x8456") + "GL_FOG_COORDINATE_ARRAY_EXT"("0x8457") + "glFogCoordfEXT"(void, GLfloat("coord")) + "glFogCoordfvEXT"(void, address("coord", "const GLfloat *")) + "glFogCoorddEXT"(void, GLdouble("coord")) + "glFogCoorddvEXT"(void, address("coord", "const GLdouble *")) + "glFogCoordPointerEXT"(void, GLenum("type"), GLsizei("stride"), address("pointer", "const void *")) + } + file("FramebufferBlit", EXT, "GL_EXT_framebuffer_blit") { + "GL_READ_FRAMEBUFFER_EXT"("0x8CA8") + "GL_DRAW_FRAMEBUFFER_EXT"("0x8CA9") + "GL_DRAW_FRAMEBUFFER_BINDING_EXT"("0x8CA6") + "GL_READ_FRAMEBUFFER_BINDING_EXT"("0x8CAA") + "glBlitFramebufferEXT"( + void, + GLint("srcX0"), + GLint("srcY0"), + GLint("srcX1"), + GLint("srcY1"), + GLint("dstX0"), + GLint("dstY0"), + GLint("dstX1"), + GLint("dstY1"), + GLbitfield("mask"), + GLenum("filter") + ) + } + file("FramebufferBlitLayers", EXT, "GL_EXT_framebuffer_blit_layers") { + "glBlitFramebufferLayersEXT"( + void, + GLint("srcX0"), + GLint("srcY0"), + GLint("srcX1"), + GLint("srcY1"), + GLint("dstX0"), + GLint("dstY0"), + GLint("dstX1"), + GLint("dstY1"), + GLbitfield("mask"), + GLenum("filter") + ) + "glBlitFramebufferLayerEXT"( + void, + GLint("srcX0"), + GLint("srcY0"), + GLint("srcX1"), + GLint("srcY1"), + GLint("srcLayer"), + GLint("dstX0"), + GLint("dstY0"), + GLint("dstX1"), + GLint("dstY1"), + GLint("dstLayer"), + GLbitfield("mask"), + GLenum("filter") + ) + } + file("FramebufferMultisample", EXT, "GL_EXT_framebuffer_multisample") { + "GL_RENDERBUFFER_SAMPLES_EXT"("0x8CAB") + "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT"("0x8D56") + "GL_MAX_SAMPLES_EXT"("0x8D57") + "glRenderbufferStorageMultisampleEXT"( + void, + GLenum("target"), + GLsizei("samples"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + } + file( + "FramebufferMultisampleBlitScaled", EXT, "GL_EXT_framebuffer_multisample_blit_scaled", + "GL_SCALED_RESOLVE_FASTEST_EXT" to "0x90BA", + "GL_SCALED_RESOLVE_NICEST_EXT" to "0x90BB" + ) + file("FramebufferObject", EXT, "GL_EXT_framebuffer_object") { + "GL_INVALID_FRAMEBUFFER_OPERATION_EXT"("0x0506") + "GL_MAX_RENDERBUFFER_SIZE_EXT"("0x84E8") + "GL_FRAMEBUFFER_BINDING_EXT"("0x8CA6") + "GL_RENDERBUFFER_BINDING_EXT"("0x8CA7") + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT"("0x8CD0") + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT"("0x8CD1") + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT"("0x8CD2") + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT"("0x8CD3") + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT"("0x8CD4") + "GL_FRAMEBUFFER_COMPLETE_EXT"("0x8CD5") + "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT"("0x8CD6") + "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT"("0x8CD7") + "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"("0x8CD9") + "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT"("0x8CDA") + "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT"("0x8CDB") + "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT"("0x8CDC") + "GL_FRAMEBUFFER_UNSUPPORTED_EXT"("0x8CDD") + "GL_MAX_COLOR_ATTACHMENTS_EXT"("0x8CDF") + "GL_COLOR_ATTACHMENT0_EXT"("0x8CE0") + "GL_COLOR_ATTACHMENT1_EXT"("0x8CE1") + "GL_COLOR_ATTACHMENT2_EXT"("0x8CE2") + "GL_COLOR_ATTACHMENT3_EXT"("0x8CE3") + "GL_COLOR_ATTACHMENT4_EXT"("0x8CE4") + "GL_COLOR_ATTACHMENT5_EXT"("0x8CE5") + "GL_COLOR_ATTACHMENT6_EXT"("0x8CE6") + "GL_COLOR_ATTACHMENT7_EXT"("0x8CE7") + "GL_COLOR_ATTACHMENT8_EXT"("0x8CE8") + "GL_COLOR_ATTACHMENT9_EXT"("0x8CE9") + "GL_COLOR_ATTACHMENT10_EXT"("0x8CEA") + "GL_COLOR_ATTACHMENT11_EXT"("0x8CEB") + "GL_COLOR_ATTACHMENT12_EXT"("0x8CEC") + "GL_COLOR_ATTACHMENT13_EXT"("0x8CED") + "GL_COLOR_ATTACHMENT14_EXT"("0x8CEE") + "GL_COLOR_ATTACHMENT15_EXT"("0x8CEF") + "GL_DEPTH_ATTACHMENT_EXT"("0x8D00") + "GL_STENCIL_ATTACHMENT_EXT"("0x8D20") + "GL_FRAMEBUFFER_EXT"("0x8D40") + "GL_RENDERBUFFER_EXT"("0x8D41") + "GL_RENDERBUFFER_WIDTH_EXT"("0x8D42") + "GL_RENDERBUFFER_HEIGHT_EXT"("0x8D43") + "GL_RENDERBUFFER_INTERNAL_FORMAT_EXT"("0x8D44") + "GL_STENCIL_INDEX1_EXT"("0x8D46") + "GL_STENCIL_INDEX4_EXT"("0x8D47") + "GL_STENCIL_INDEX8_EXT"("0x8D48") + "GL_STENCIL_INDEX16_EXT"("0x8D49") + "GL_RENDERBUFFER_RED_SIZE_EXT"("0x8D50") + "GL_RENDERBUFFER_GREEN_SIZE_EXT"("0x8D51") + "GL_RENDERBUFFER_BLUE_SIZE_EXT"("0x8D52") + "GL_RENDERBUFFER_ALPHA_SIZE_EXT"("0x8D53") + "GL_RENDERBUFFER_DEPTH_SIZE_EXT"("0x8D54") + "GL_RENDERBUFFER_STENCIL_SIZE_EXT"("0x8D55") + "glIsRenderbufferEXT"(GLboolean, GLuint("renderbuffer")) + "glBindRenderbufferEXT"(void, GLenum("target"), GLuint("renderbuffer")) + "glDeleteRenderbuffersEXT"(void, GLsizei("n"), address("renderbuffers", "const GLuint *")) + "glGenRenderbuffersEXT"(void, GLsizei("n"), address("renderbuffers", "GLuint *")) + "glRenderbufferStorageEXT"(void, GLenum("target"), GLenum("internalformat"), GLsizei("width"), GLsizei("height")) + "glGetRenderbufferParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glIsFramebufferEXT"(GLboolean, GLuint("framebuffer")) + "glBindFramebufferEXT"(void, GLenum("target"), GLuint("framebuffer")) + "glDeleteFramebuffersEXT"(void, GLsizei("n"), address("framebuffers", "const GLuint *")) + "glGenFramebuffersEXT"(void, GLsizei("n"), address("framebuffers", "GLuint *")) + "glCheckFramebufferStatusEXT"(GLenum, GLenum("target")) + "glFramebufferTexture1DEXT"( + void, + GLenum("target"), + GLenum("attachment"), + GLenum("textarget"), + GLuint("texture"), + GLint("level") + ) + "glFramebufferTexture2DEXT"( + void, + GLenum("target"), + GLenum("attachment"), + GLenum("textarget"), + GLuint("texture"), + GLint("level") + ) + "glFramebufferTexture3DEXT"( + void, + GLenum("target"), + GLenum("attachment"), + GLenum("textarget"), + GLuint("texture"), + GLint("level"), + GLint("zoffset") + ) + "glFramebufferRenderbufferEXT"( + void, + GLenum("target"), + GLenum("attachment"), + GLenum("renderbuffertarget"), + GLuint("renderbuffer") + ) + "glGetFramebufferAttachmentParameterivEXT"( + void, + GLenum("target"), + GLenum("attachment"), + GLenum("pname"), + address("params", "GLint *") + ) + "glGenerateMipmapEXT"(void, GLenum("target")) + } + file( + "Srgb", EXT, "GL_EXT_framebuffer_sRGB", + "GL_FRAMEBUFFER_SRGB_EXT" to "0x8DB9", + "GL_FRAMEBUFFER_SRGB_CAPABLE_EXT" to "0x8DBA" + ) +} diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 10ae12f3..426e915e 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -1199,16 +1199,6 @@ fun ati() { } } -fun ext() { - file( - "422Pixels", EXT, "GL_EXT_422_pixels", - "GL_422_EXT" to "0x80CC", - "GL_422_REV_EXT" to "0x80CD", - "GL_422_AVERAGE_EXT" to "0x80CE", - "GL_422_REV_AVERAGE_EXT" to "0x80CF" - ) -} - fun gremedy() { file("FrameTerminator", GREMEDY, "GL_GREMEDY_frame_terminator") { "glFrameTerminatorGREMEDY"(void) diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index f3b9985a..16b84e3c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -103,49 +103,71 @@ public GLExtCaps(GLCapabilities caps) { glGetObjectBufferivATI, glFreeObjectBufferATI, glArrayObjectATI, glGetArrayObjectfvATI, glGetArrayObjectivATI, glVariantArrayObjectATI, glGetVariantArrayObjectfvATI, glGetVariantArrayObjectivATI, glVertexAttribArrayObjectATI, glGetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectivATI, glVertexStream1sATI, glVertexStream1svATI, glVertexStream1iATI, glVertexStream1ivATI, glVertexStream1fATI, glVertexStream1fvATI, glVertexStream1dATI, glVertexStream1dvATI, glVertexStream2sATI, glVertexStream2svATI, glVertexStream2iATI, glVertexStream2ivATI, glVertexStream2fATI, glVertexStream2fvATI, glVertexStream2dATI, glVertexStream2dvATI, glVertexStream3sATI, glVertexStream3svATI, glVertexStream3iATI, glVertexStream3ivATI, glVertexStream3fATI, glVertexStream3fvATI, glVertexStream3dATI, glVertexStream3dvATI, glVertexStream4sATI, glVertexStream4svATI, glVertexStream4iATI, glVertexStream4ivATI, glVertexStream4fATI, glVertexStream4fvATI, glVertexStream4dATI, glVertexStream4dvATI, glNormalStream3bATI, glNormalStream3bvATI, glNormalStream3sATI, glNormalStream3svATI, glNormalStream3iATI, - glNormalStream3ivATI, glNormalStream3fATI, glNormalStream3fvATI, glNormalStream3dATI, glNormalStream3dvATI, glClientActiveVertexStreamATI, glVertexBlendEnviATI, glVertexBlendEnvfATI, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, - glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, - glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, - glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, - glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, - glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, - glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, - glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, - glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, - glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, - glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, - glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, - glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, - glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, - glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, - glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, - glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, - glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, - glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, - glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, - glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, - glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, - glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, - glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, - glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, - glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, - glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, - glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, - glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, - glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, - glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, - glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, - glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, - glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, - glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, - glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, - glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, - glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, - glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, - glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, - glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, - glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, - glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glNormalStream3ivATI, glNormalStream3fATI, glNormalStream3fvATI, glNormalStream3dATI, glNormalStream3dvATI, glClientActiveVertexStreamATI, glVertexBlendEnviATI, glVertexBlendEnvfATI, glEGLImageTargetTexStorageEXT, glEGLImageTargetTextureStorageEXT, glUniformBufferEXT, glGetUniformBufferSizeEXT, glGetUniformOffsetEXT, glBlendColorEXT, glBlendEquationSeparateEXT, glBlendFuncSeparateEXT, + glBlendEquationEXT, glColorSubTableEXT, glCopyColorSubTableEXT, glLockArraysEXT, glUnlockArraysEXT, glConvolutionFilter1DEXT, glConvolutionFilter2DEXT, glConvolutionParameterfEXT, glConvolutionParameterfvEXT, glConvolutionParameteriEXT, glConvolutionParameterivEXT, glCopyConvolutionFilter1DEXT, glCopyConvolutionFilter2DEXT, glGetConvolutionFilterEXT, glGetConvolutionParameterfvEXT, glGetConvolutionParameterivEXT, + glGetSeparableFilterEXT, glSeparableFilter2DEXT, glTangent3bEXT, glTangent3bvEXT, glTangent3dEXT, glTangent3dvEXT, glTangent3fEXT, glTangent3fvEXT, glTangent3iEXT, glTangent3ivEXT, glTangent3sEXT, glTangent3svEXT, glBinormal3bEXT, glBinormal3bvEXT, glBinormal3dEXT, glBinormal3dvEXT, + glBinormal3fEXT, glBinormal3fvEXT, glBinormal3iEXT, glBinormal3ivEXT, glBinormal3sEXT, glBinormal3svEXT, glTangentPointerEXT, glBinormalPointerEXT, glCopyTexImage1DEXT, glCopyTexImage2DEXT, glCopyTexSubImage1DEXT, glCopyTexSubImage2DEXT, glCopyTexSubImage3DEXT, glCullParameterdvEXT, glCullParameterfvEXT, glLabelObjectEXT, + glGetObjectLabelEXT, glInsertEventMarkerEXT, glPushGroupMarkerEXT, glPopGroupMarkerEXT, glDepthBoundsEXT, glMatrixLoadfEXT, glMatrixLoaddEXT, glMatrixMultfEXT, glMatrixMultdEXT, glMatrixLoadIdentityEXT, glMatrixRotatefEXT, glMatrixRotatedEXT, glMatrixScalefEXT, glMatrixScaledEXT, glMatrixTranslatefEXT, glMatrixTranslatedEXT, + glMatrixFrustumEXT, glMatrixOrthoEXT, glMatrixPopEXT, glMatrixPushEXT, glClientAttribDefaultEXT, glPushClientAttribDefaultEXT, glTextureParameterfEXT, glTextureParameterfvEXT, glTextureParameteriEXT, glTextureParameterivEXT, glTextureImage1DEXT, glTextureImage2DEXT, glTextureSubImage1DEXT, glTextureSubImage2DEXT, glCopyTextureImage1DEXT, glCopyTextureImage2DEXT, + glCopyTextureSubImage1DEXT, glCopyTextureSubImage2DEXT, glGetTextureImageEXT, glGetTextureParameterfvEXT, glGetTextureParameterivEXT, glGetTextureLevelParameterfvEXT, glGetTextureLevelParameterivEXT, glTextureImage3DEXT, glTextureSubImage3DEXT, glCopyTextureSubImage3DEXT, glBindMultiTextureEXT, glMultiTexCoordPointerEXT, glMultiTexEnvfEXT, glMultiTexEnvfvEXT, glMultiTexEnviEXT, glMultiTexEnvivEXT, + glMultiTexGendEXT, glMultiTexGendvEXT, glMultiTexGenfEXT, glMultiTexGenfvEXT, glMultiTexGeniEXT, glMultiTexGenivEXT, glGetMultiTexEnvfvEXT, glGetMultiTexEnvivEXT, glGetMultiTexGendvEXT, glGetMultiTexGenfvEXT, glGetMultiTexGenivEXT, glMultiTexParameteriEXT, glMultiTexParameterivEXT, glMultiTexParameterfEXT, glMultiTexParameterfvEXT, glMultiTexImage1DEXT, + glMultiTexImage2DEXT, glMultiTexSubImage1DEXT, glMultiTexSubImage2DEXT, glCopyMultiTexImage1DEXT, glCopyMultiTexImage2DEXT, glCopyMultiTexSubImage1DEXT, glCopyMultiTexSubImage2DEXT, glGetMultiTexImageEXT, glGetMultiTexParameterfvEXT, glGetMultiTexParameterivEXT, glGetMultiTexLevelParameterfvEXT, glGetMultiTexLevelParameterivEXT, glMultiTexImage3DEXT, glMultiTexSubImage3DEXT, glCopyMultiTexSubImage3DEXT, glEnableClientStateIndexedEXT, + glDisableClientStateIndexedEXT, glGetFloatIndexedvEXT, glGetDoubleIndexedvEXT, glGetPointerIndexedvEXT, glEnableIndexedEXT, glDisableIndexedEXT, glIsEnabledIndexedEXT, glGetIntegerIndexedvEXT, glGetBooleanIndexedvEXT, glCompressedTextureImage3DEXT, glCompressedTextureImage2DEXT, glCompressedTextureImage1DEXT, glCompressedTextureSubImage3DEXT, glCompressedTextureSubImage2DEXT, glCompressedTextureSubImage1DEXT, glGetCompressedTextureImageEXT, + glCompressedMultiTexImage3DEXT, glCompressedMultiTexImage2DEXT, glCompressedMultiTexImage1DEXT, glCompressedMultiTexSubImage3DEXT, glCompressedMultiTexSubImage2DEXT, glCompressedMultiTexSubImage1DEXT, glGetCompressedMultiTexImageEXT, glMatrixLoadTransposefEXT, glMatrixLoadTransposedEXT, glMatrixMultTransposefEXT, glMatrixMultTransposedEXT, glNamedBufferDataEXT, glNamedBufferSubDataEXT, glMapNamedBufferEXT, glUnmapNamedBufferEXT, glGetNamedBufferParameterivEXT, + glGetNamedBufferPointervEXT, glGetNamedBufferSubDataEXT, glProgramUniform1fEXT, glProgramUniform2fEXT, glProgramUniform3fEXT, glProgramUniform4fEXT, glProgramUniform1iEXT, glProgramUniform2iEXT, glProgramUniform3iEXT, glProgramUniform4iEXT, glProgramUniform1fvEXT, glProgramUniform2fvEXT, glProgramUniform3fvEXT, glProgramUniform4fvEXT, glProgramUniform1ivEXT, glProgramUniform2ivEXT, + glProgramUniform3ivEXT, glProgramUniform4ivEXT, glProgramUniformMatrix2fvEXT, glProgramUniformMatrix3fvEXT, glProgramUniformMatrix4fvEXT, glProgramUniformMatrix2x3fvEXT, glProgramUniformMatrix3x2fvEXT, glProgramUniformMatrix2x4fvEXT, glProgramUniformMatrix4x2fvEXT, glProgramUniformMatrix3x4fvEXT, glProgramUniformMatrix4x3fvEXT, glTextureBufferEXT, glMultiTexBufferEXT, glTextureParameterIivEXT, glTextureParameterIuivEXT, glGetTextureParameterIivEXT, + glGetTextureParameterIuivEXT, glMultiTexParameterIivEXT, glMultiTexParameterIuivEXT, glGetMultiTexParameterIivEXT, glGetMultiTexParameterIuivEXT, glProgramUniform1uiEXT, glProgramUniform2uiEXT, glProgramUniform3uiEXT, glProgramUniform4uiEXT, glProgramUniform1uivEXT, glProgramUniform2uivEXT, glProgramUniform3uivEXT, glProgramUniform4uivEXT, glNamedProgramLocalParameters4fvEXT, glNamedProgramLocalParameterI4iEXT, glNamedProgramLocalParameterI4ivEXT, + glNamedProgramLocalParametersI4ivEXT, glNamedProgramLocalParameterI4uiEXT, glNamedProgramLocalParameterI4uivEXT, glNamedProgramLocalParametersI4uivEXT, glGetNamedProgramLocalParameterIivEXT, glGetNamedProgramLocalParameterIuivEXT, glEnableClientStateiEXT, glDisableClientStateiEXT, glGetFloati_vEXT, glGetDoublei_vEXT, glGetPointeri_vEXT, glNamedProgramStringEXT, glNamedProgramLocalParameter4dEXT, glNamedProgramLocalParameter4dvEXT, glNamedProgramLocalParameter4fEXT, glNamedProgramLocalParameter4fvEXT, + glGetNamedProgramLocalParameterdvEXT, glGetNamedProgramLocalParameterfvEXT, glGetNamedProgramivEXT, glGetNamedProgramStringEXT, glNamedRenderbufferStorageEXT, glGetNamedRenderbufferParameterivEXT, glNamedRenderbufferStorageMultisampleEXT, glNamedRenderbufferStorageMultisampleCoverageEXT, glCheckNamedFramebufferStatusEXT, glNamedFramebufferTexture1DEXT, glNamedFramebufferTexture2DEXT, glNamedFramebufferTexture3DEXT, glNamedFramebufferRenderbufferEXT, glGetNamedFramebufferAttachmentParameterivEXT, glGenerateTextureMipmapEXT, glGenerateMultiTexMipmapEXT, + glFramebufferDrawBufferEXT, glFramebufferDrawBuffersEXT, glFramebufferReadBufferEXT, glGetFramebufferParameterivEXT, glNamedCopyBufferSubDataEXT, glNamedFramebufferTextureEXT, glNamedFramebufferTextureLayerEXT, glNamedFramebufferTextureFaceEXT, glTextureRenderbufferEXT, glMultiTexRenderbufferEXT, glVertexArrayVertexOffsetEXT, glVertexArrayColorOffsetEXT, glVertexArrayEdgeFlagOffsetEXT, glVertexArrayIndexOffsetEXT, glVertexArrayNormalOffsetEXT, glVertexArrayTexCoordOffsetEXT, + glVertexArrayMultiTexCoordOffsetEXT, glVertexArrayFogCoordOffsetEXT, glVertexArraySecondaryColorOffsetEXT, glVertexArrayVertexAttribOffsetEXT, glVertexArrayVertexAttribIOffsetEXT, glEnableVertexArrayEXT, glDisableVertexArrayEXT, glEnableVertexArrayAttribEXT, glDisableVertexArrayAttribEXT, glGetVertexArrayIntegervEXT, glGetVertexArrayPointervEXT, glGetVertexArrayIntegeri_vEXT, glGetVertexArrayPointeri_vEXT, glMapNamedBufferRangeEXT, glFlushMappedNamedBufferRangeEXT, glNamedBufferStorageEXT, + glClearNamedBufferDataEXT, glClearNamedBufferSubDataEXT, glNamedFramebufferParameteriEXT, glGetNamedFramebufferParameterivEXT, glProgramUniform1dEXT, glProgramUniform2dEXT, glProgramUniform3dEXT, glProgramUniform4dEXT, glProgramUniform1dvEXT, glProgramUniform2dvEXT, glProgramUniform3dvEXT, glProgramUniform4dvEXT, glProgramUniformMatrix2dvEXT, glProgramUniformMatrix3dvEXT, glProgramUniformMatrix4dvEXT, glProgramUniformMatrix2x3dvEXT, + glProgramUniformMatrix2x4dvEXT, glProgramUniformMatrix3x2dvEXT, glProgramUniformMatrix3x4dvEXT, glProgramUniformMatrix4x2dvEXT, glProgramUniformMatrix4x3dvEXT, glTextureBufferRangeEXT, glTextureStorage1DEXT, glTextureStorage2DEXT, glTextureStorage3DEXT, glTextureStorage2DMultisampleEXT, glTextureStorage3DMultisampleEXT, glVertexArrayBindVertexBufferEXT, glVertexArrayVertexAttribFormatEXT, glVertexArrayVertexAttribIFormatEXT, glVertexArrayVertexAttribLFormatEXT, glVertexArrayVertexAttribBindingEXT, + glVertexArrayVertexBindingDivisorEXT, glVertexArrayVertexAttribLOffsetEXT, glTexturePageCommitmentEXT, glVertexArrayVertexAttribDivisorEXT, glColorMaskIndexedEXT, glDrawArraysInstancedEXT, glDrawElementsInstancedEXT, glDrawRangeElementsEXT, glBufferStorageExternalEXT, glNamedBufferStorageExternalEXT, glFogCoordfEXT, glFogCoordfvEXT, glFogCoorddEXT, glFogCoorddvEXT, glFogCoordPointerEXT, glBlitFramebufferEXT, + glBlitFramebufferLayersEXT, glBlitFramebufferLayerEXT, glRenderbufferStorageMultisampleEXT, glIsRenderbufferEXT, glBindRenderbufferEXT, glDeleteRenderbuffersEXT, glGenRenderbuffersEXT, glRenderbufferStorageEXT, glGetRenderbufferParameterivEXT, glIsFramebufferEXT, glBindFramebufferEXT, glDeleteFramebuffersEXT, glGenFramebuffersEXT, glCheckFramebufferStatusEXT, glFramebufferTexture1DEXT, glFramebufferTexture2DEXT, + glFramebufferTexture3DEXT, glFramebufferRenderbufferEXT, glGetFramebufferAttachmentParameterivEXT, glGenerateMipmapEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, + glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, + glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, + glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, + glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, + glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, + glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, + glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, + glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, + glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, + glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, + glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, + glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, + glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, + glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, + glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, + glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, + glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, + glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, + glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, + glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, + glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, + glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, + glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, + glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, + glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, + glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, + glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, + glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, + glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, + glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, + glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, + glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, + glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, + glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, + glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, + glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, + glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, + glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, + glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, + glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, + glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, + glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -225,6 +247,31 @@ void load(GLLoadFunc load) { GLATIVertexArrayObject.load(this, load); GLATIVertexAttribArrayObject.load(this, load); GLATIVertexStreams.load(this, load); + GLEXTEGLImageStorage.load(this, load); + GLEXTBindableUniform.load(this, load); + GLEXTBlendColor.load(this, load); + GLEXTBlendEquationSeparate.load(this, load); + GLEXTBlendFuncSeparate.load(this, load); + GLEXTBlendMinmax.load(this, load); + GLEXTColorSubtable.load(this, load); + GLEXTCompiledVertexArray.load(this, load); + GLEXTConvolution.load(this, load); + GLEXTCoordinateFrame.load(this, load); + GLEXTCopyTexture.load(this, load); + GLEXTCullVertex.load(this, load); + GLEXTDebugLabel.load(this, load); + GLEXTDebugMarker.load(this, load); + GLEXTDepthBoundsTest.load(this, load); + GLEXTDirectStateAccess.load(this, load); + GLEXTDrawBuffers2.load(this, load); + GLEXTDrawInstanced.load(this, load); + GLEXTDrawRangedElements.load(this, load); + GLEXTExternalBuffer.load(this, load); + GLEXTFogCoord.load(this, load); + GLEXTFramebufferBlit.load(this, load); + GLEXTFramebufferBlitLayers.load(this, load); + GLEXTFramebufferMultisample.load(this, load); + GLEXTFramebufferObject.load(this, load); GLGREMEDYFrameTerminator.load(this, load); GLGREMEDYStringMarker.load(this, load); GLHPImageTransform.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java new file mode 100644 index 00000000..09cc274f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTAbgr.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_abgr} + */ +public final class GLEXTAbgr { + public static final int GL_ABGR_EXT = 0x8000; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java new file mode 100644 index 00000000..b747954d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBgra.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_bgra} + */ +public final class GLEXTBgra { + public static final int GL_BGR_EXT = 0x80E0; + public static final int GL_BGRA_EXT = 0x80E1; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java new file mode 100644 index 00000000..f0078417 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBindableUniform.java @@ -0,0 +1,67 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_bindable_uniform} + */ +public final class GLEXTBindableUniform { + public static final int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; + public static final int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; + public static final int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; + public static final int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; + public static final int GL_UNIFORM_BUFFER_EXT = 0x8DEE; + public static final int GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_bindable_uniform) return; + ext.glUniformBufferEXT = load.invoke("glUniformBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetUniformBufferSizeEXT = load.invoke("glGetUniformBufferSizeEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetUniformOffsetEXT = load.invoke("glGetUniformOffsetEXT", of(JAVA_LONG, JAVA_INT, JAVA_INT)); + } + + public static void glUniformBufferEXT(int program, int location, int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniformBufferEXT).invokeExact(program, location, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGetUniformBufferSizeEXT(int program, int location) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGetUniformBufferSizeEXT).invokeExact(program, location); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static long glGetUniformOffsetEXT(int program, int location) { + final var ext = getExtCapabilities(); + try { + return (long) + check(ext.glGetUniformOffsetEXT).invokeExact(program, location); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java new file mode 100644 index 00000000..9aacab36 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendColor.java @@ -0,0 +1,48 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_blend_color} + */ +public final class GLEXTBlendColor { + public static final int GL_CONSTANT_COLOR_EXT = 0x8001; + public static final int GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; + public static final int GL_CONSTANT_ALPHA_EXT = 0x8003; + public static final int GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; + public static final int GL_BLEND_COLOR_EXT = 0x8005; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_blend_color) return; + ext.glBlendColorEXT = load.invoke("glBlendColorEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + } + + public static void glBlendColorEXT(float red, float green, float blue, float alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendColorEXT).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java new file mode 100644 index 00000000..6a1ad785 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendEquationSeparate.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_blend_equation_separate} + */ +public final class GLEXTBlendEquationSeparate { + public static final int GL_BLEND_EQUATION_RGB_EXT = 0x8009; + public static final int GL_BLEND_EQUATION_ALPHA_EXT = 0x883D; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_blend_equation_separate) return; + ext.glBlendEquationSeparateEXT = load.invoke("glBlendEquationSeparateEXT", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glBlendEquationSeparateEXT(int modeRGB, int modeAlpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendEquationSeparateEXT).invokeExact(modeRGB, modeAlpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java new file mode 100644 index 00000000..d5bd751a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendFuncSeparate.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_blend_func_separate} + */ +public final class GLEXTBlendFuncSeparate { + public static final int GL_BLEND_DST_RGB_EXT = 0x80C8; + public static final int GL_BLEND_SRC_RGB_EXT = 0x80C9; + public static final int GL_BLEND_DST_ALPHA_EXT = 0x80CA; + public static final int GL_BLEND_SRC_ALPHA_EXT = 0x80CB; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_blend_func_separate) return; + ext.glBlendFuncSeparateEXT = load.invoke("glBlendFuncSeparateEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendFuncSeparateEXT).invokeExact(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java new file mode 100644 index 00000000..caa8ba1c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendMinmax.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_blend_minmax} + */ +public final class GLEXTBlendMinmax { + public static final int GL_MIN_EXT = 0x8007; + public static final int GL_MAX_EXT = 0x8008; + public static final int GL_FUNC_ADD_EXT = 0x8006; + public static final int GL_BLEND_EQUATION_EXT = 0x8009; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_blend_minmax) return; + ext.glBlendEquationEXT = load.invoke("glBlendEquationEXT", ofVoid(JAVA_INT)); + } + + public static void glBlendEquationEXT(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlendEquationEXT).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java new file mode 100644 index 00000000..cb713676 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTBlendSubtract.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_blend_subtract} + */ +public final class GLEXTBlendSubtract { + public static final int GL_FUNC_SUBTRACT_EXT = 0x800A; + public static final int GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java new file mode 100644 index 00000000..740364dc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTClipVolumeHint.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_clip_volume_hint} + */ +public final class GLEXTClipVolumeHint { + public static final int GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java new file mode 100644 index 00000000..3d8b83a6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCmyka.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_cmyka} + */ +public final class GLEXTCmyka { + public static final int GL_CMYK_EXT = 0x800C; + public static final int GL_CMYKA_EXT = 0x800D; + public static final int GL_PACK_CMYK_HINT_EXT = 0x800E; + public static final int GL_UNPACK_CMYK_HINT_EXT = 0x800F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java new file mode 100644 index 00000000..430ccd55 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTColorSubtable.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_color_subtable} + */ +public final class GLEXTColorSubtable { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_color_subtable) return; + ext.glColorSubTableEXT = load.invoke("glColorSubTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyColorSubTableEXT = load.invoke("glCopyColorSubTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glColorSubTableEXT(int target, int start, int count, int format, int type, @NativeType("const void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorSubTableEXT).invokeExact(target, start, count, format, type, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyColorSubTableEXT(int target, int start, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyColorSubTableEXT).invokeExact(target, start, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java new file mode 100644 index 00000000..bf5df8e0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCompiledVertexArray.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_compiled_vertex_array} + */ +public final class GLEXTCompiledVertexArray { + public static final int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; + public static final int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_compiled_vertex_array) return; + ext.glLockArraysEXT = load.invoke("glLockArraysEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glUnlockArraysEXT = load.invoke("glUnlockArraysEXT", ofVoid()); + } + + public static void glLockArraysEXT(int first, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glLockArraysEXT).invokeExact(first, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUnlockArraysEXT() { + final var ext = getExtCapabilities(); + try { + check(ext.glUnlockArraysEXT).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java new file mode 100644 index 00000000..45824b9a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTConvolution.java @@ -0,0 +1,159 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_convolution} + */ +public final class GLEXTConvolution { + public static final int GL_CONVOLUTION_1D_EXT = 0x8010; + public static final int GL_CONVOLUTION_2D_EXT = 0x8011; + public static final int GL_SEPARABLE_2D_EXT = 0x8012; + public static final int GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013; + public static final int GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014; + public static final int GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015; + public static final int GL_REDUCE_EXT = 0x8016; + public static final int GL_CONVOLUTION_FORMAT_EXT = 0x8017; + public static final int GL_CONVOLUTION_WIDTH_EXT = 0x8018; + public static final int GL_CONVOLUTION_HEIGHT_EXT = 0x8019; + public static final int GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A; + public static final int GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; + public static final int GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; + public static final int GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; + public static final int GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; + public static final int GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; + public static final int GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; + public static final int GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; + public static final int GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; + public static final int GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_convolution) return; + ext.glConvolutionFilter1DEXT = load.invoke("glConvolutionFilter1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glConvolutionFilter2DEXT = load.invoke("glConvolutionFilter2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glConvolutionParameterfEXT = load.invoke("glConvolutionParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glConvolutionParameterfvEXT = load.invoke("glConvolutionParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glConvolutionParameteriEXT = load.invoke("glConvolutionParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glConvolutionParameterivEXT = load.invoke("glConvolutionParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyConvolutionFilter1DEXT = load.invoke("glCopyConvolutionFilter1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyConvolutionFilter2DEXT = load.invoke("glCopyConvolutionFilter2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetConvolutionFilterEXT = load.invoke("glGetConvolutionFilterEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetConvolutionParameterfvEXT = load.invoke("glGetConvolutionParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetConvolutionParameterivEXT = load.invoke("glGetConvolutionParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetSeparableFilterEXT = load.invoke("glGetSeparableFilterEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS)); + ext.glSeparableFilter2DEXT = load.invoke("glSeparableFilter2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glConvolutionFilter1DEXT(int target, int internalformat, int width, int format, int type, @NativeType("const void *") MemorySegment image) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionFilter1DEXT).invokeExact(target, internalformat, width, format, type, image); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionFilter2DEXT(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment image) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionFilter2DEXT).invokeExact(target, internalformat, width, height, format, type, image); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameterfEXT(int target, int pname, float params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameterfEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameterfvEXT(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameterfvEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameteriEXT(int target, int pname, int params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameteriEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glConvolutionParameterivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glConvolutionParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyConvolutionFilter1DEXT(int target, int internalformat, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyConvolutionFilter1DEXT).invokeExact(target, internalformat, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyConvolutionFilter2DEXT(int target, int internalformat, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyConvolutionFilter2DEXT).invokeExact(target, internalformat, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetConvolutionFilterEXT(int target, int format, int type, @NativeType("void *") MemorySegment image) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetConvolutionFilterEXT).invokeExact(target, format, type, image); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetConvolutionParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetConvolutionParameterfvEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetConvolutionParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetConvolutionParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetSeparableFilterEXT(int target, int format, int type, @NativeType("void *") MemorySegment row, @NativeType("void *") MemorySegment column, @NativeType("void *") MemorySegment span) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetSeparableFilterEXT).invokeExact(target, format, type, row, column, span); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSeparableFilter2DEXT(int target, int internalformat, int width, int height, int format, int type, @NativeType("const void *") MemorySegment row, @NativeType("const void *") MemorySegment column) { + final var ext = getExtCapabilities(); + try { + check(ext.glSeparableFilter2DEXT).invokeExact(target, internalformat, width, height, format, type, row, column); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java new file mode 100644 index 00000000..28b59fc6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCoordinateFrame.java @@ -0,0 +1,225 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_coordinate_frame} + */ +public final class GLEXTCoordinateFrame { + public static final int GL_TANGENT_ARRAY_EXT = 0x8439; + public static final int GL_BINORMAL_ARRAY_EXT = 0x843A; + public static final int GL_CURRENT_TANGENT_EXT = 0x843B; + public static final int GL_CURRENT_BINORMAL_EXT = 0x843C; + public static final int GL_TANGENT_ARRAY_TYPE_EXT = 0x843E; + public static final int GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F; + public static final int GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440; + public static final int GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441; + public static final int GL_TANGENT_ARRAY_POINTER_EXT = 0x8442; + public static final int GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443; + public static final int GL_MAP1_TANGENT_EXT = 0x8444; + public static final int GL_MAP2_TANGENT_EXT = 0x8445; + public static final int GL_MAP1_BINORMAL_EXT = 0x8446; + public static final int GL_MAP2_BINORMAL_EXT = 0x8447; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_coordinate_frame) return; + ext.glTangent3bEXT = load.invoke("glTangent3bEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glTangent3bvEXT = load.invoke("glTangent3bvEXT", ofVoid(ADDRESS)); + ext.glTangent3dEXT = load.invoke("glTangent3dEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glTangent3dvEXT = load.invoke("glTangent3dvEXT", ofVoid(ADDRESS)); + ext.glTangent3fEXT = load.invoke("glTangent3fEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glTangent3fvEXT = load.invoke("glTangent3fvEXT", ofVoid(ADDRESS)); + ext.glTangent3iEXT = load.invoke("glTangent3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTangent3ivEXT = load.invoke("glTangent3ivEXT", ofVoid(ADDRESS)); + ext.glTangent3sEXT = load.invoke("glTangent3sEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glTangent3svEXT = load.invoke("glTangent3svEXT", ofVoid(ADDRESS)); + ext.glBinormal3bEXT = load.invoke("glBinormal3bEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glBinormal3bvEXT = load.invoke("glBinormal3bvEXT", ofVoid(ADDRESS)); + ext.glBinormal3dEXT = load.invoke("glBinormal3dEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glBinormal3dvEXT = load.invoke("glBinormal3dvEXT", ofVoid(ADDRESS)); + ext.glBinormal3fEXT = load.invoke("glBinormal3fEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glBinormal3fvEXT = load.invoke("glBinormal3fvEXT", ofVoid(ADDRESS)); + ext.glBinormal3iEXT = load.invoke("glBinormal3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBinormal3ivEXT = load.invoke("glBinormal3ivEXT", ofVoid(ADDRESS)); + ext.glBinormal3sEXT = load.invoke("glBinormal3sEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glBinormal3svEXT = load.invoke("glBinormal3svEXT", ofVoid(ADDRESS)); + ext.glTangentPointerEXT = load.invoke("glTangentPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glBinormalPointerEXT = load.invoke("glBinormalPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glTangent3bEXT(byte tx, byte ty, byte tz) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3bEXT).invokeExact(tx, ty, tz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3bvEXT(@NativeType("const GLbyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3bvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3dEXT(double tx, double ty, double tz) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3dEXT).invokeExact(tx, ty, tz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3dvEXT(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3dvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3fEXT(float tx, float ty, float tz) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3fEXT).invokeExact(tx, ty, tz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3fvEXT(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3fvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3iEXT(int tx, int ty, int tz) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3iEXT).invokeExact(tx, ty, tz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3ivEXT(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3ivEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3sEXT(short tx, short ty, short tz) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3sEXT).invokeExact(tx, ty, tz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangent3svEXT(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangent3svEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3bEXT(byte bx, byte by, byte bz) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3bEXT).invokeExact(bx, by, bz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3bvEXT(@NativeType("const GLbyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3bvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3dEXT(double bx, double by, double bz) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3dEXT).invokeExact(bx, by, bz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3dvEXT(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3dvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3fEXT(float bx, float by, float bz) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3fEXT).invokeExact(bx, by, bz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3fvEXT(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3fvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3iEXT(int bx, int by, int bz) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3iEXT).invokeExact(bx, by, bz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3ivEXT(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3ivEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3sEXT(short bx, short by, short bz) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3sEXT).invokeExact(bx, by, bz); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormal3svEXT(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormal3svEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTangentPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glTangentPointerEXT).invokeExact(type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBinormalPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glBinormalPointerEXT).invokeExact(type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java new file mode 100644 index 00000000..4cc5c38c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCopyTexture.java @@ -0,0 +1,75 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_copy_texture} + */ +public final class GLEXTCopyTexture { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_copy_texture) return; + ext.glCopyTexImage1DEXT = load.invoke("glCopyTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyTexImage2DEXT = load.invoke("glCopyTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyTexSubImage1DEXT = load.invoke("glCopyTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyTexSubImage2DEXT = load.invoke("glCopyTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyTexSubImage3DEXT = load.invoke("glCopyTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glCopyTexImage1DEXT(int target, int level, int internalformat, int x, int y, int width, int border) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTexImage1DEXT).invokeExact(target, level, internalformat, x, y, width, border); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTexImage2DEXT(int target, int level, int internalformat, int x, int y, int width, int height, int border) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTexImage2DEXT).invokeExact(target, level, internalformat, x, y, width, height, border); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTexSubImage1DEXT(int target, int level, int xoffset, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTexSubImage1DEXT).invokeExact(target, level, xoffset, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTexSubImage2DEXT(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTexSubImage2DEXT).invokeExact(target, level, xoffset, yoffset, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTexSubImage3DEXT(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTexSubImage3DEXT).invokeExact(target, level, xoffset, yoffset, zoffset, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java new file mode 100644 index 00000000..f963412a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTCullVertex.java @@ -0,0 +1,54 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_cull_vertex} + */ +public final class GLEXTCullVertex { + public static final int GL_CULL_VERTEX_EXT = 0x81AA; + public static final int GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; + public static final int GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_cull_vertex) return; + ext.glCullParameterdvEXT = load.invoke("glCullParameterdvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glCullParameterfvEXT = load.invoke("glCullParameterfvEXT", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glCullParameterdvEXT(int pname, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glCullParameterdvEXT).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCullParameterfvEXT(int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glCullParameterfvEXT).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java new file mode 100644 index 00000000..c8abe18d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugLabel.java @@ -0,0 +1,57 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_debug_label} + */ +public final class GLEXTDebugLabel { + public static final int GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; + public static final int GL_PROGRAM_OBJECT_EXT = 0x8B40; + public static final int GL_SHADER_OBJECT_EXT = 0x8B48; + public static final int GL_BUFFER_OBJECT_EXT = 0x9151; + public static final int GL_QUERY_OBJECT_EXT = 0x9153; + public static final int GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_debug_label) return; + ext.glLabelObjectEXT = load.invoke("glLabelObjectEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetObjectLabelEXT = load.invoke("glGetObjectLabelEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glLabelObjectEXT(int type, int object, int length, @NativeType("const GLchar *") MemorySegment label) { + final var ext = getExtCapabilities(); + try { + check(ext.glLabelObjectEXT).invokeExact(type, object, length, label); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetObjectLabelEXT(int type, int object, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLchar *") MemorySegment label) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetObjectLabelEXT).invokeExact(type, object, bufSize, length, label); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java new file mode 100644 index 00000000..e0b582d3 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDebugMarker.java @@ -0,0 +1,59 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_debug_marker} + */ +public final class GLEXTDebugMarker { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_debug_marker) return; + ext.glInsertEventMarkerEXT = load.invoke("glInsertEventMarkerEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glPushGroupMarkerEXT = load.invoke("glPushGroupMarkerEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glPopGroupMarkerEXT = load.invoke("glPopGroupMarkerEXT", ofVoid()); + } + + public static void glInsertEventMarkerEXT(int length, @NativeType("const GLchar *") MemorySegment marker) { + final var ext = getExtCapabilities(); + try { + check(ext.glInsertEventMarkerEXT).invokeExact(length, marker); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPushGroupMarkerEXT(int length, @NativeType("const GLchar *") MemorySegment marker) { + final var ext = getExtCapabilities(); + try { + check(ext.glPushGroupMarkerEXT).invokeExact(length, marker); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPopGroupMarkerEXT() { + final var ext = getExtCapabilities(); + try { + check(ext.glPopGroupMarkerEXT).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java new file mode 100644 index 00000000..873d6492 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDepthBoundsTest.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_depth_bounds_test} + */ +public final class GLEXTDepthBoundsTest { + public static final int GL_DEPTH_BOUNDS_TEST_EXT = 0x8890; + public static final int GL_DEPTH_BOUNDS_EXT = 0x8891; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_depth_bounds_test) return; + ext.glDepthBoundsEXT = load.invoke("glDepthBoundsEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE)); + } + + public static void glDepthBoundsEXT(double zmin, double zmax) { + final var ext = getExtCapabilities(); + try { + check(ext.glDepthBoundsEXT).invokeExact(zmin, zmax); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java new file mode 100644 index 00000000..8c8711df --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDirectStateAccess.java @@ -0,0 +1,2082 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_direct_state_access} + */ +public final class GLEXTDirectStateAccess { + public static final int GL_PROGRAM_MATRIX_EXT = 0x8E2D; + public static final int GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; + public static final int GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_direct_state_access) return; + ext.glMatrixLoadfEXT = load.invoke("glMatrixLoadfEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixLoaddEXT = load.invoke("glMatrixLoaddEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixMultfEXT = load.invoke("glMatrixMultfEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixMultdEXT = load.invoke("glMatrixMultdEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixLoadIdentityEXT = load.invoke("glMatrixLoadIdentityEXT", ofVoid(JAVA_INT)); + ext.glMatrixRotatefEXT = load.invoke("glMatrixRotatefEXT", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glMatrixRotatedEXT = load.invoke("glMatrixRotatedEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMatrixScalefEXT = load.invoke("glMatrixScalefEXT", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glMatrixScaledEXT = load.invoke("glMatrixScaledEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMatrixTranslatefEXT = load.invoke("glMatrixTranslatefEXT", ofVoid(JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glMatrixTranslatedEXT = load.invoke("glMatrixTranslatedEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMatrixFrustumEXT = load.invoke("glMatrixFrustumEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMatrixOrthoEXT = load.invoke("glMatrixOrthoEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glMatrixPopEXT = load.invoke("glMatrixPopEXT", ofVoid(JAVA_INT)); + ext.glMatrixPushEXT = load.invoke("glMatrixPushEXT", ofVoid(JAVA_INT)); + ext.glClientAttribDefaultEXT = load.invoke("glClientAttribDefaultEXT", ofVoid(JAVA_INT)); + ext.glPushClientAttribDefaultEXT = load.invoke("glPushClientAttribDefaultEXT", ofVoid(JAVA_INT)); + ext.glTextureParameterfEXT = load.invoke("glTextureParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glTextureParameterfvEXT = load.invoke("glTextureParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureParameteriEXT = load.invoke("glTextureParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTextureParameterivEXT = load.invoke("glTextureParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureImage1DEXT = load.invoke("glTextureImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureImage2DEXT = load.invoke("glTextureImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureSubImage1DEXT = load.invoke("glTextureSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureSubImage2DEXT = load.invoke("glTextureSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyTextureImage1DEXT = load.invoke("glCopyTextureImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyTextureImage2DEXT = load.invoke("glCopyTextureImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyTextureSubImage1DEXT = load.invoke("glCopyTextureSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyTextureSubImage2DEXT = load.invoke("glCopyTextureSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetTextureImageEXT = load.invoke("glGetTextureImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTextureParameterfvEXT = load.invoke("glGetTextureParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTextureParameterivEXT = load.invoke("glGetTextureParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTextureLevelParameterfvEXT = load.invoke("glGetTextureLevelParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTextureLevelParameterivEXT = load.invoke("glGetTextureLevelParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureImage3DEXT = load.invoke("glTextureImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureSubImage3DEXT = load.invoke("glTextureSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyTextureSubImage3DEXT = load.invoke("glCopyTextureSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBindMultiTextureEXT = load.invoke("glBindMultiTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexCoordPointerEXT = load.invoke("glMultiTexCoordPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexEnvfEXT = load.invoke("glMultiTexEnvfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glMultiTexEnvfvEXT = load.invoke("glMultiTexEnvfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexEnviEXT = load.invoke("glMultiTexEnviEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexEnvivEXT = load.invoke("glMultiTexEnvivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexGendEXT = load.invoke("glMultiTexGendEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_DOUBLE)); + ext.glMultiTexGendvEXT = load.invoke("glMultiTexGendvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexGenfEXT = load.invoke("glMultiTexGenfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glMultiTexGenfvEXT = load.invoke("glMultiTexGenfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexGeniEXT = load.invoke("glMultiTexGeniEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexGenivEXT = load.invoke("glMultiTexGenivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexEnvfvEXT = load.invoke("glGetMultiTexEnvfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexEnvivEXT = load.invoke("glGetMultiTexEnvivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexGendvEXT = load.invoke("glGetMultiTexGendvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexGenfvEXT = load.invoke("glGetMultiTexGenfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexGenivEXT = load.invoke("glGetMultiTexGenivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexParameteriEXT = load.invoke("glMultiTexParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexParameterivEXT = load.invoke("glMultiTexParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexParameterfEXT = load.invoke("glMultiTexParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glMultiTexParameterfvEXT = load.invoke("glMultiTexParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexImage1DEXT = load.invoke("glMultiTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexImage2DEXT = load.invoke("glMultiTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexSubImage1DEXT = load.invoke("glMultiTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexSubImage2DEXT = load.invoke("glMultiTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyMultiTexImage1DEXT = load.invoke("glCopyMultiTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyMultiTexImage2DEXT = load.invoke("glCopyMultiTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyMultiTexSubImage1DEXT = load.invoke("glCopyMultiTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCopyMultiTexSubImage2DEXT = load.invoke("glCopyMultiTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetMultiTexImageEXT = load.invoke("glGetMultiTexImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexParameterfvEXT = load.invoke("glGetMultiTexParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexParameterivEXT = load.invoke("glGetMultiTexParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexLevelParameterfvEXT = load.invoke("glGetMultiTexLevelParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexLevelParameterivEXT = load.invoke("glGetMultiTexLevelParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexImage3DEXT = load.invoke("glMultiTexImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexSubImage3DEXT = load.invoke("glMultiTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCopyMultiTexSubImage3DEXT = load.invoke("glCopyMultiTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glEnableClientStateIndexedEXT = load.invoke("glEnableClientStateIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDisableClientStateIndexedEXT = load.invoke("glDisableClientStateIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glGetFloatIndexedvEXT = load.invoke("glGetFloatIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetDoubleIndexedvEXT = load.invoke("glGetDoubleIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPointerIndexedvEXT = load.invoke("glGetPointerIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glEnableIndexedEXT = load.invoke("glEnableIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDisableIndexedEXT = load.invoke("glDisableIndexedEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glIsEnabledIndexedEXT = load.invoke("glIsEnabledIndexedEXT", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); + ext.glGetIntegerIndexedvEXT = load.invoke("glGetIntegerIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetBooleanIndexedvEXT = load.invoke("glGetBooleanIndexedvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTextureImage3DEXT = load.invoke("glCompressedTextureImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTextureImage2DEXT = load.invoke("glCompressedTextureImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTextureImage1DEXT = load.invoke("glCompressedTextureImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTextureSubImage3DEXT = load.invoke("glCompressedTextureSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTextureSubImage2DEXT = load.invoke("glCompressedTextureSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedTextureSubImage1DEXT = load.invoke("glCompressedTextureSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetCompressedTextureImageEXT = load.invoke("glGetCompressedTextureImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedMultiTexImage3DEXT = load.invoke("glCompressedMultiTexImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedMultiTexImage2DEXT = load.invoke("glCompressedMultiTexImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedMultiTexImage1DEXT = load.invoke("glCompressedMultiTexImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedMultiTexSubImage3DEXT = load.invoke("glCompressedMultiTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedMultiTexSubImage2DEXT = load.invoke("glCompressedMultiTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glCompressedMultiTexSubImage1DEXT = load.invoke("glCompressedMultiTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetCompressedMultiTexImageEXT = load.invoke("glGetCompressedMultiTexImageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMatrixLoadTransposefEXT = load.invoke("glMatrixLoadTransposefEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixLoadTransposedEXT = load.invoke("glMatrixLoadTransposedEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixMultTransposefEXT = load.invoke("glMatrixMultTransposefEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMatrixMultTransposedEXT = load.invoke("glMatrixMultTransposedEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glNamedBufferDataEXT = load.invoke("glNamedBufferDataEXT", ofVoid(JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT)); + ext.glNamedBufferSubDataEXT = load.invoke("glNamedBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); + ext.glMapNamedBufferEXT = load.invoke("glMapNamedBufferEXT", of(ADDRESS, JAVA_INT, JAVA_INT)); + ext.glUnmapNamedBufferEXT = load.invoke("glUnmapNamedBufferEXT", of(JAVA_BYTE, JAVA_INT)); + ext.glGetNamedBufferParameterivEXT = load.invoke("glGetNamedBufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedBufferPointervEXT = load.invoke("glGetNamedBufferPointervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedBufferSubDataEXT = load.invoke("glGetNamedBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS)); + ext.glProgramUniform1fEXT = load.invoke("glProgramUniform1fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glProgramUniform2fEXT = load.invoke("glProgramUniform2fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glProgramUniform3fEXT = load.invoke("glProgramUniform3fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glProgramUniform4fEXT = load.invoke("glProgramUniform4fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glProgramUniform1iEXT = load.invoke("glProgramUniform1iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform2iEXT = load.invoke("glProgramUniform2iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform3iEXT = load.invoke("glProgramUniform3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform4iEXT = load.invoke("glProgramUniform4iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform1fvEXT = load.invoke("glProgramUniform1fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2fvEXT = load.invoke("glProgramUniform2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3fvEXT = load.invoke("glProgramUniform3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4fvEXT = load.invoke("glProgramUniform4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform1ivEXT = load.invoke("glProgramUniform1ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2ivEXT = load.invoke("glProgramUniform2ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3ivEXT = load.invoke("glProgramUniform3ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4ivEXT = load.invoke("glProgramUniform4ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniformMatrix2fvEXT = load.invoke("glProgramUniformMatrix2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix3fvEXT = load.invoke("glProgramUniformMatrix3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix4fvEXT = load.invoke("glProgramUniformMatrix4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix2x3fvEXT = load.invoke("glProgramUniformMatrix2x3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix3x2fvEXT = load.invoke("glProgramUniformMatrix3x2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix2x4fvEXT = load.invoke("glProgramUniformMatrix2x4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix4x2fvEXT = load.invoke("glProgramUniformMatrix4x2fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix3x4fvEXT = load.invoke("glProgramUniformMatrix3x4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix4x3fvEXT = load.invoke("glProgramUniformMatrix4x3fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glTextureBufferEXT = load.invoke("glTextureBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexBufferEXT = load.invoke("glMultiTexBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTextureParameterIivEXT = load.invoke("glTextureParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTextureParameterIuivEXT = load.invoke("glTextureParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTextureParameterIivEXT = load.invoke("glGetTextureParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTextureParameterIuivEXT = load.invoke("glGetTextureParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexParameterIivEXT = load.invoke("glMultiTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMultiTexParameterIuivEXT = load.invoke("glMultiTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexParameterIivEXT = load.invoke("glGetMultiTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMultiTexParameterIuivEXT = load.invoke("glGetMultiTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform1uiEXT = load.invoke("glProgramUniform1uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform2uiEXT = load.invoke("glProgramUniform2uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform3uiEXT = load.invoke("glProgramUniform3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform4uiEXT = load.invoke("glProgramUniform4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glProgramUniform1uivEXT = load.invoke("glProgramUniform1uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2uivEXT = load.invoke("glProgramUniform2uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3uivEXT = load.invoke("glProgramUniform3uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4uivEXT = load.invoke("glProgramUniform4uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramLocalParameters4fvEXT = load.invoke("glNamedProgramLocalParameters4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramLocalParameterI4iEXT = load.invoke("glNamedProgramLocalParameterI4iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedProgramLocalParameterI4ivEXT = load.invoke("glNamedProgramLocalParameterI4ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramLocalParametersI4ivEXT = load.invoke("glNamedProgramLocalParametersI4ivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramLocalParameterI4uiEXT = load.invoke("glNamedProgramLocalParameterI4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedProgramLocalParameterI4uivEXT = load.invoke("glNamedProgramLocalParameterI4uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramLocalParametersI4uivEXT = load.invoke("glNamedProgramLocalParametersI4uivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedProgramLocalParameterIivEXT = load.invoke("glGetNamedProgramLocalParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedProgramLocalParameterIuivEXT = load.invoke("glGetNamedProgramLocalParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glEnableClientStateiEXT = load.invoke("glEnableClientStateiEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDisableClientStateiEXT = load.invoke("glDisableClientStateiEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glGetFloati_vEXT = load.invoke("glGetFloati_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetDoublei_vEXT = load.invoke("glGetDoublei_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPointeri_vEXT = load.invoke("glGetPointeri_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramStringEXT = load.invoke("glNamedProgramStringEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramLocalParameter4dEXT = load.invoke("glNamedProgramLocalParameter4dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glNamedProgramLocalParameter4dvEXT = load.invoke("glNamedProgramLocalParameter4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedProgramLocalParameter4fEXT = load.invoke("glNamedProgramLocalParameter4fEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glNamedProgramLocalParameter4fvEXT = load.invoke("glNamedProgramLocalParameter4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedProgramLocalParameterdvEXT = load.invoke("glGetNamedProgramLocalParameterdvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedProgramLocalParameterfvEXT = load.invoke("glGetNamedProgramLocalParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedProgramivEXT = load.invoke("glGetNamedProgramivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetNamedProgramStringEXT = load.invoke("glGetNamedProgramStringEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedRenderbufferStorageEXT = load.invoke("glNamedRenderbufferStorageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetNamedRenderbufferParameterivEXT = load.invoke("glGetNamedRenderbufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedRenderbufferStorageMultisampleEXT = load.invoke("glNamedRenderbufferStorageMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedRenderbufferStorageMultisampleCoverageEXT = load.invoke("glNamedRenderbufferStorageMultisampleCoverageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glCheckNamedFramebufferStatusEXT = load.invoke("glCheckNamedFramebufferStatusEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedFramebufferTexture1DEXT = load.invoke("glNamedFramebufferTexture1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedFramebufferTexture2DEXT = load.invoke("glNamedFramebufferTexture2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedFramebufferTexture3DEXT = load.invoke("glNamedFramebufferTexture3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedFramebufferRenderbufferEXT = load.invoke("glNamedFramebufferRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetNamedFramebufferAttachmentParameterivEXT = load.invoke("glGetNamedFramebufferAttachmentParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGenerateTextureMipmapEXT = load.invoke("glGenerateTextureMipmapEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glGenerateMultiTexMipmapEXT = load.invoke("glGenerateMultiTexMipmapEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glFramebufferDrawBufferEXT = load.invoke("glFramebufferDrawBufferEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glFramebufferDrawBuffersEXT = load.invoke("glFramebufferDrawBuffersEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glFramebufferReadBufferEXT = load.invoke("glFramebufferReadBufferEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glGetFramebufferParameterivEXT = load.invoke("glGetFramebufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedCopyBufferSubDataEXT = load.invoke("glNamedCopyBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_LONG)); + ext.glNamedFramebufferTextureEXT = load.invoke("glNamedFramebufferTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedFramebufferTextureLayerEXT = load.invoke("glNamedFramebufferTextureLayerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glNamedFramebufferTextureFaceEXT = load.invoke("glNamedFramebufferTextureFaceEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTextureRenderbufferEXT = load.invoke("glTextureRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMultiTexRenderbufferEXT = load.invoke("glMultiTexRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexArrayVertexOffsetEXT = load.invoke("glVertexArrayVertexOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayColorOffsetEXT = load.invoke("glVertexArrayColorOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayEdgeFlagOffsetEXT = load.invoke("glVertexArrayEdgeFlagOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayIndexOffsetEXT = load.invoke("glVertexArrayIndexOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayNormalOffsetEXT = load.invoke("glVertexArrayNormalOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayTexCoordOffsetEXT = load.invoke("glVertexArrayTexCoordOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayMultiTexCoordOffsetEXT = load.invoke("glVertexArrayMultiTexCoordOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayFogCoordOffsetEXT = load.invoke("glVertexArrayFogCoordOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArraySecondaryColorOffsetEXT = load.invoke("glVertexArraySecondaryColorOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayVertexAttribOffsetEXT = load.invoke("glVertexArrayVertexAttribOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); + ext.glVertexArrayVertexAttribIOffsetEXT = load.invoke("glVertexArrayVertexAttribIOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glEnableVertexArrayEXT = load.invoke("glEnableVertexArrayEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDisableVertexArrayEXT = load.invoke("glDisableVertexArrayEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glEnableVertexArrayAttribEXT = load.invoke("glEnableVertexArrayAttribEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDisableVertexArrayAttribEXT = load.invoke("glDisableVertexArrayAttribEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glGetVertexArrayIntegervEXT = load.invoke("glGetVertexArrayIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexArrayPointervEXT = load.invoke("glGetVertexArrayPointervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexArrayIntegeri_vEXT = load.invoke("glGetVertexArrayIntegeri_vEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexArrayPointeri_vEXT = load.invoke("glGetVertexArrayPointeri_vEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glMapNamedBufferRangeEXT = load.invoke("glMapNamedBufferRangeEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT)); + ext.glFlushMappedNamedBufferRangeEXT = load.invoke("glFlushMappedNamedBufferRangeEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glNamedBufferStorageEXT = load.invoke("glNamedBufferStorageEXT", ofVoid(JAVA_INT, JAVA_LONG, ADDRESS, JAVA_INT)); + ext.glClearNamedBufferDataEXT = load.invoke("glClearNamedBufferDataEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glClearNamedBufferSubDataEXT = load.invoke("glClearNamedBufferSubDataEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNamedFramebufferParameteriEXT = load.invoke("glNamedFramebufferParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetNamedFramebufferParameterivEXT = load.invoke("glGetNamedFramebufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform1dEXT = load.invoke("glProgramUniform1dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE)); + ext.glProgramUniform2dEXT = load.invoke("glProgramUniform2dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glProgramUniform3dEXT = load.invoke("glProgramUniform3dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glProgramUniform4dEXT = load.invoke("glProgramUniform4dEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glProgramUniform1dvEXT = load.invoke("glProgramUniform1dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform2dvEXT = load.invoke("glProgramUniform2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform3dvEXT = load.invoke("glProgramUniform3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniform4dvEXT = load.invoke("glProgramUniform4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramUniformMatrix2dvEXT = load.invoke("glProgramUniformMatrix2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix3dvEXT = load.invoke("glProgramUniformMatrix3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix4dvEXT = load.invoke("glProgramUniformMatrix4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix2x3dvEXT = load.invoke("glProgramUniformMatrix2x3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix2x4dvEXT = load.invoke("glProgramUniformMatrix2x4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix3x2dvEXT = load.invoke("glProgramUniformMatrix3x2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix3x4dvEXT = load.invoke("glProgramUniformMatrix3x4dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix4x2dvEXT = load.invoke("glProgramUniformMatrix4x2dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glProgramUniformMatrix4x3dvEXT = load.invoke("glProgramUniformMatrix4x3dvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, ADDRESS)); + ext.glTextureBufferRangeEXT = load.invoke("glTextureBufferRangeEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glTextureStorage1DEXT = load.invoke("glTextureStorage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTextureStorage2DEXT = load.invoke("glTextureStorage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTextureStorage3DEXT = load.invoke("glTextureStorage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTextureStorage2DMultisampleEXT = load.invoke("glTextureStorage2DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glTextureStorage3DMultisampleEXT = load.invoke("glTextureStorage3DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glVertexArrayBindVertexBufferEXT = load.invoke("glVertexArrayBindVertexBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_INT)); + ext.glVertexArrayVertexAttribFormatEXT = load.invoke("glVertexArrayVertexAttribFormatEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT)); + ext.glVertexArrayVertexAttribIFormatEXT = load.invoke("glVertexArrayVertexAttribIFormatEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexArrayVertexAttribLFormatEXT = load.invoke("glVertexArrayVertexAttribLFormatEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexArrayVertexAttribBindingEXT = load.invoke("glVertexArrayVertexAttribBindingEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexArrayVertexBindingDivisorEXT = load.invoke("glVertexArrayVertexBindingDivisorEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexArrayVertexAttribLOffsetEXT = load.invoke("glVertexArrayVertexAttribLOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glTexturePageCommitmentEXT = load.invoke("glTexturePageCommitmentEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glVertexArrayVertexAttribDivisorEXT = load.invoke("glVertexArrayVertexAttribDivisorEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glMatrixLoadfEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoadfEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixLoaddEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoaddEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixMultfEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixMultfEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixMultdEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixMultdEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixLoadIdentityEXT(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoadIdentityEXT).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixRotatefEXT(int mode, float angle, float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixRotatefEXT).invokeExact(mode, angle, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixRotatedEXT(int mode, double angle, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixRotatedEXT).invokeExact(mode, angle, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixScalefEXT(int mode, float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixScalefEXT).invokeExact(mode, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixScaledEXT(int mode, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixScaledEXT).invokeExact(mode, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixTranslatefEXT(int mode, float x, float y, float z) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixTranslatefEXT).invokeExact(mode, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixTranslatedEXT(int mode, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixTranslatedEXT).invokeExact(mode, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixFrustumEXT(int mode, double left, double right, double bottom, double top, double zNear, double zFar) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixFrustumEXT).invokeExact(mode, left, right, bottom, top, zNear, zFar); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixOrthoEXT(int mode, double left, double right, double bottom, double top, double zNear, double zFar) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixOrthoEXT).invokeExact(mode, left, right, bottom, top, zNear, zFar); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixPopEXT(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixPopEXT).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixPushEXT(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixPushEXT).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClientAttribDefaultEXT(int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glClientAttribDefaultEXT).invokeExact(mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPushClientAttribDefaultEXT(int mask) { + final var ext = getExtCapabilities(); + try { + check(ext.glPushClientAttribDefaultEXT).invokeExact(mask); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureParameterfEXT(int texture, int target, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureParameterfEXT).invokeExact(texture, target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureParameterfvEXT(int texture, int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureParameterfvEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureParameteriEXT(int texture, int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureParameteriEXT).invokeExact(texture, target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureParameterivEXT(int texture, int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureParameterivEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureImage1DEXT(int texture, int target, int level, int internalformat, int width, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureImage1DEXT).invokeExact(texture, target, level, internalformat, width, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureImage2DEXT(int texture, int target, int level, int internalformat, int width, int height, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureImage2DEXT).invokeExact(texture, target, level, internalformat, width, height, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureSubImage1DEXT).invokeExact(texture, target, level, xoffset, width, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureSubImage2DEXT).invokeExact(texture, target, level, xoffset, yoffset, width, height, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTextureImage1DEXT(int texture, int target, int level, int internalformat, int x, int y, int width, int border) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTextureImage1DEXT).invokeExact(texture, target, level, internalformat, x, y, width, border); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTextureImage2DEXT(int texture, int target, int level, int internalformat, int x, int y, int width, int height, int border) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTextureImage2DEXT).invokeExact(texture, target, level, internalformat, x, y, width, height, border); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTextureSubImage1DEXT).invokeExact(texture, target, level, xoffset, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTextureSubImage2DEXT).invokeExact(texture, target, level, xoffset, yoffset, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTextureImageEXT(int texture, int target, int level, int format, int type, @NativeType("void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTextureImageEXT).invokeExact(texture, target, level, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTextureParameterfvEXT(int texture, int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTextureParameterfvEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTextureParameterivEXT(int texture, int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTextureParameterivEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTextureLevelParameterfvEXT(int texture, int target, int level, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTextureLevelParameterfvEXT).invokeExact(texture, target, level, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTextureLevelParameterivEXT(int texture, int target, int level, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTextureLevelParameterivEXT).invokeExact(texture, target, level, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureImage3DEXT(int texture, int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureImage3DEXT).invokeExact(texture, target, level, internalformat, width, height, depth, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureSubImage3DEXT).invokeExact(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyTextureSubImage3DEXT).invokeExact(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindMultiTextureEXT(int texunit, int target, int texture) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindMultiTextureEXT).invokeExact(texunit, target, texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexCoordPointerEXT(int texunit, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexCoordPointerEXT).invokeExact(texunit, size, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexEnvfEXT(int texunit, int target, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexEnvfEXT).invokeExact(texunit, target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexEnvfvEXT(int texunit, int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexEnvfvEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexEnviEXT(int texunit, int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexEnviEXT).invokeExact(texunit, target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexEnvivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexEnvivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexGendEXT(int texunit, int coord, int pname, double param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexGendEXT).invokeExact(texunit, coord, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexGendvEXT(int texunit, int coord, int pname, @NativeType("const GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexGendvEXT).invokeExact(texunit, coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexGenfEXT(int texunit, int coord, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexGenfEXT).invokeExact(texunit, coord, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexGenfvEXT(int texunit, int coord, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexGenfvEXT).invokeExact(texunit, coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexGeniEXT(int texunit, int coord, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexGeniEXT).invokeExact(texunit, coord, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexGenivEXT(int texunit, int coord, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexGenivEXT).invokeExact(texunit, coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexEnvfvEXT(int texunit, int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexEnvfvEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexEnvivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexEnvivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexGendvEXT(int texunit, int coord, int pname, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexGendvEXT).invokeExact(texunit, coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexGenfvEXT(int texunit, int coord, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexGenfvEXT).invokeExact(texunit, coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexGenivEXT(int texunit, int coord, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexGenivEXT).invokeExact(texunit, coord, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexParameteriEXT(int texunit, int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexParameteriEXT).invokeExact(texunit, target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexParameterivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexParameterivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexParameterfEXT(int texunit, int target, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexParameterfEXT).invokeExact(texunit, target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexParameterfvEXT(int texunit, int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexParameterfvEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int width, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexImage1DEXT).invokeExact(texunit, target, level, internalformat, width, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int width, int height, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexImage2DEXT).invokeExact(texunit, target, level, internalformat, width, height, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexSubImage1DEXT).invokeExact(texunit, target, level, xoffset, width, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexSubImage2DEXT).invokeExact(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int x, int y, int width, int border) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyMultiTexImage1DEXT).invokeExact(texunit, target, level, internalformat, x, y, width, border); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int x, int y, int width, int height, int border) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyMultiTexImage2DEXT).invokeExact(texunit, target, level, internalformat, x, y, width, height, border); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int x, int y, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyMultiTexSubImage1DEXT).invokeExact(texunit, target, level, xoffset, x, y, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyMultiTexSubImage2DEXT).invokeExact(texunit, target, level, xoffset, yoffset, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexImageEXT(int texunit, int target, int level, int format, int type, @NativeType("void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexImageEXT).invokeExact(texunit, target, level, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexParameterfvEXT(int texunit, int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexParameterfvEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexParameterivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexParameterivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexLevelParameterfvEXT(int texunit, int target, int level, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexLevelParameterfvEXT).invokeExact(texunit, target, level, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexLevelParameterivEXT(int texunit, int target, int level, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexLevelParameterivEXT).invokeExact(texunit, target, level, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexImage3DEXT(int texunit, int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexImage3DEXT).invokeExact(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexSubImage3DEXT).invokeExact(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCopyMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glCopyMultiTexSubImage3DEXT).invokeExact(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEnableClientStateIndexedEXT(int array, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glEnableClientStateIndexedEXT).invokeExact(array, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDisableClientStateIndexedEXT(int array, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glDisableClientStateIndexedEXT).invokeExact(array, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFloatIndexedvEXT(int target, int index, @NativeType("GLfloat *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFloatIndexedvEXT).invokeExact(target, index, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetDoubleIndexedvEXT(int target, int index, @NativeType("GLdouble *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetDoubleIndexedvEXT).invokeExact(target, index, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPointerIndexedvEXT(int target, int index, @NativeType("void **") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPointerIndexedvEXT).invokeExact(target, index, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEnableIndexedEXT(int target, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glEnableIndexedEXT).invokeExact(target, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDisableIndexedEXT(int target, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glDisableIndexedEXT).invokeExact(target, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsEnabledIndexedEXT(int target, int index) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsEnabledIndexedEXT).invokeExact(target, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetIntegerIndexedvEXT(int target, int index, @NativeType("GLint *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetIntegerIndexedvEXT).invokeExact(target, index, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetBooleanIndexedvEXT(int target, int index, @NativeType("GLboolean *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetBooleanIndexedvEXT).invokeExact(target, index, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedTextureImage3DEXT(int texture, int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedTextureImage3DEXT).invokeExact(texture, target, level, internalformat, width, height, depth, border, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedTextureImage2DEXT(int texture, int target, int level, int internalformat, int width, int height, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedTextureImage2DEXT).invokeExact(texture, target, level, internalformat, width, height, border, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedTextureImage1DEXT(int texture, int target, int level, int internalformat, int width, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedTextureImage1DEXT).invokeExact(texture, target, level, internalformat, width, border, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedTextureSubImage3DEXT(int texture, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedTextureSubImage3DEXT).invokeExact(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedTextureSubImage2DEXT(int texture, int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedTextureSubImage2DEXT).invokeExact(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedTextureSubImage1DEXT(int texture, int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedTextureSubImage1DEXT).invokeExact(texture, target, level, xoffset, width, format, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCompressedTextureImageEXT(int texture, int target, int lod, @NativeType("void *") MemorySegment img) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCompressedTextureImageEXT).invokeExact(texture, target, lod, img); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedMultiTexImage3DEXT(int texunit, int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedMultiTexImage3DEXT).invokeExact(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedMultiTexImage2DEXT(int texunit, int target, int level, int internalformat, int width, int height, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedMultiTexImage2DEXT).invokeExact(texunit, target, level, internalformat, width, height, border, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedMultiTexImage1DEXT(int texunit, int target, int level, int internalformat, int width, int border, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedMultiTexImage1DEXT).invokeExact(texunit, target, level, internalformat, width, border, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedMultiTexSubImage3DEXT(int texunit, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedMultiTexSubImage3DEXT).invokeExact(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedMultiTexSubImage2DEXT(int texunit, int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedMultiTexSubImage2DEXT).invokeExact(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCompressedMultiTexSubImage1DEXT(int texunit, int target, int level, int xoffset, int width, int format, int imageSize, @NativeType("const void *") MemorySegment bits) { + final var ext = getExtCapabilities(); + try { + check(ext.glCompressedMultiTexSubImage1DEXT).invokeExact(texunit, target, level, xoffset, width, format, imageSize, bits); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetCompressedMultiTexImageEXT(int texunit, int target, int lod, @NativeType("void *") MemorySegment img) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetCompressedMultiTexImageEXT).invokeExact(texunit, target, lod, img); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixLoadTransposefEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoadTransposefEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixLoadTransposedEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixLoadTransposedEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixMultTransposefEXT(int mode, @NativeType("const GLfloat *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixMultTransposefEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMatrixMultTransposedEXT(int mode, @NativeType("const GLdouble *") MemorySegment m) { + final var ext = getExtCapabilities(); + try { + check(ext.glMatrixMultTransposedEXT).invokeExact(mode, m); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedBufferDataEXT(int buffer, long size, @NativeType("const void *") MemorySegment data, int usage) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedBufferDataEXT).invokeExact(buffer, size, data, usage); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedBufferSubDataEXT(int buffer, long offset, long size, @NativeType("const void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedBufferSubDataEXT).invokeExact(buffer, offset, size, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static @NativeType("void *") MemorySegment glMapNamedBufferEXT(int buffer, int access) { + final var ext = getExtCapabilities(); + try { + return (MemorySegment) + check(ext.glMapNamedBufferEXT).invokeExact(buffer, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glUnmapNamedBufferEXT(int buffer) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glUnmapNamedBufferEXT).invokeExact(buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedBufferParameterivEXT(int buffer, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedBufferParameterivEXT).invokeExact(buffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedBufferPointervEXT(int buffer, int pname, @NativeType("void **") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedBufferPointervEXT).invokeExact(buffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedBufferSubDataEXT(int buffer, long offset, long size, @NativeType("void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedBufferSubDataEXT).invokeExact(buffer, offset, size, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1fEXT(int program, int location, float v0) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1fEXT).invokeExact(program, location, v0); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2fEXT(int program, int location, float v0, float v1) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2fEXT).invokeExact(program, location, v0, v1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3fEXT(int program, int location, float v0, float v1, float v2) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3fEXT).invokeExact(program, location, v0, v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4fEXT(int program, int location, float v0, float v1, float v2, float v3) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4fEXT).invokeExact(program, location, v0, v1, v2, v3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1iEXT(int program, int location, int v0) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1iEXT).invokeExact(program, location, v0); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2iEXT(int program, int location, int v0, int v1) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2iEXT).invokeExact(program, location, v0, v1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3iEXT(int program, int location, int v0, int v1, int v2) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3iEXT).invokeExact(program, location, v0, v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4iEXT(int program, int location, int v0, int v1, int v2, int v3) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4iEXT).invokeExact(program, location, v0, v1, v2, v3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1fvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2fvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3fvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4fvEXT(int program, int location, int count, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4fvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1ivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2ivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3ivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4ivEXT(int program, int location, int count, @NativeType("const GLint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4ivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix2fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix3fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix4fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix2x3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix2x3fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix3x2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix3x2fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix2x4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix2x4fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix4x2fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix4x2fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix3x4fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix3x4fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix4x3fvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLfloat *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix4x3fvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureBufferEXT(int texture, int target, int internalformat, int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureBufferEXT).invokeExact(texture, target, internalformat, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexBufferEXT(int texunit, int target, int internalformat, int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexBufferEXT).invokeExact(texunit, target, internalformat, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureParameterIivEXT(int texture, int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureParameterIivEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureParameterIuivEXT(int texture, int target, int pname, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureParameterIuivEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTextureParameterIivEXT(int texture, int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTextureParameterIivEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTextureParameterIuivEXT(int texture, int target, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTextureParameterIuivEXT).invokeExact(texture, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexParameterIivEXT(int texunit, int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexParameterIivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexParameterIuivEXT(int texunit, int target, int pname, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexParameterIuivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexParameterIivEXT(int texunit, int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexParameterIivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMultiTexParameterIuivEXT(int texunit, int target, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMultiTexParameterIuivEXT).invokeExact(texunit, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1uiEXT(int program, int location, int v0) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1uiEXT).invokeExact(program, location, v0); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2uiEXT(int program, int location, int v0, int v1) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2uiEXT).invokeExact(program, location, v0, v1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3uiEXT(int program, int location, int v0, int v1, int v2) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3uiEXT).invokeExact(program, location, v0, v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4uiEXT(int program, int location, int v0, int v1, int v2, int v3) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4uiEXT).invokeExact(program, location, v0, v1, v2, v3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1uivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2uivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3uivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4uivEXT(int program, int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4uivEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameters4fvEXT(int program, int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameters4fvEXT).invokeExact(program, target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameterI4iEXT(int program, int target, int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameterI4iEXT).invokeExact(program, target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameterI4ivEXT(int program, int target, int index, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameterI4ivEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParametersI4ivEXT(int program, int target, int index, int count, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParametersI4ivEXT).invokeExact(program, target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameterI4uiEXT(int program, int target, int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameterI4uiEXT).invokeExact(program, target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameterI4uivEXT(int program, int target, int index, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameterI4uivEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParametersI4uivEXT(int program, int target, int index, int count, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParametersI4uivEXT).invokeExact(program, target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedProgramLocalParameterIivEXT(int program, int target, int index, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedProgramLocalParameterIivEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedProgramLocalParameterIuivEXT(int program, int target, int index, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedProgramLocalParameterIuivEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEnableClientStateiEXT(int array, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glEnableClientStateiEXT).invokeExact(array, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDisableClientStateiEXT(int array, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glDisableClientStateiEXT).invokeExact(array, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFloati_vEXT(int pname, int index, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFloati_vEXT).invokeExact(pname, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetDoublei_vEXT(int pname, int index, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetDoublei_vEXT).invokeExact(pname, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPointeri_vEXT(int pname, int index, @NativeType("void **") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPointeri_vEXT).invokeExact(pname, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramStringEXT(int program, int target, int format, int len, @NativeType("const void *") MemorySegment string) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramStringEXT).invokeExact(program, target, format, len, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameter4dEXT(int program, int target, int index, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameter4dEXT).invokeExact(program, target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameter4dvEXT(int program, int target, int index, @NativeType("const GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameter4dvEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameter4fEXT(int program, int target, int index, float x, float y, float z, float w) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameter4fEXT).invokeExact(program, target, index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedProgramLocalParameter4fvEXT(int program, int target, int index, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedProgramLocalParameter4fvEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedProgramLocalParameterdvEXT(int program, int target, int index, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedProgramLocalParameterdvEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedProgramLocalParameterfvEXT(int program, int target, int index, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedProgramLocalParameterfvEXT).invokeExact(program, target, index, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedProgramivEXT(int program, int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedProgramivEXT).invokeExact(program, target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedProgramStringEXT(int program, int target, int pname, @NativeType("void *") MemorySegment string) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedProgramStringEXT).invokeExact(program, target, pname, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedRenderbufferStorageEXT(int renderbuffer, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedRenderbufferStorageEXT).invokeExact(renderbuffer, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedRenderbufferParameterivEXT(int renderbuffer, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedRenderbufferParameterivEXT).invokeExact(renderbuffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedRenderbufferStorageMultisampleEXT(int renderbuffer, int samples, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedRenderbufferStorageMultisampleEXT).invokeExact(renderbuffer, samples, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedRenderbufferStorageMultisampleCoverageEXT(int renderbuffer, int coverageSamples, int colorSamples, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedRenderbufferStorageMultisampleCoverageEXT).invokeExact(renderbuffer, coverageSamples, colorSamples, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glCheckNamedFramebufferStatusEXT(int framebuffer, int target) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glCheckNamedFramebufferStatusEXT).invokeExact(framebuffer, target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferTexture1DEXT(int framebuffer, int attachment, int textarget, int texture, int level) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferTexture1DEXT).invokeExact(framebuffer, attachment, textarget, texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferTexture2DEXT(int framebuffer, int attachment, int textarget, int texture, int level) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferTexture2DEXT).invokeExact(framebuffer, attachment, textarget, texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferTexture3DEXT(int framebuffer, int attachment, int textarget, int texture, int level, int zoffset) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferTexture3DEXT).invokeExact(framebuffer, attachment, textarget, texture, level, zoffset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferRenderbufferEXT(int framebuffer, int attachment, int renderbuffertarget, int renderbuffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferRenderbufferEXT).invokeExact(framebuffer, attachment, renderbuffertarget, renderbuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedFramebufferAttachmentParameterivEXT(int framebuffer, int attachment, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedFramebufferAttachmentParameterivEXT).invokeExact(framebuffer, attachment, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenerateTextureMipmapEXT(int texture, int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenerateTextureMipmapEXT).invokeExact(texture, target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenerateMultiTexMipmapEXT(int texunit, int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenerateMultiTexMipmapEXT).invokeExact(texunit, target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferDrawBufferEXT(int framebuffer, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferDrawBufferEXT).invokeExact(framebuffer, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferDrawBuffersEXT(int framebuffer, int n, @NativeType("const GLenum *") MemorySegment bufs) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferDrawBuffersEXT).invokeExact(framebuffer, n, bufs); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferReadBufferEXT(int framebuffer, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferReadBufferEXT).invokeExact(framebuffer, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFramebufferParameterivEXT(int framebuffer, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFramebufferParameterivEXT).invokeExact(framebuffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedCopyBufferSubDataEXT(int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedCopyBufferSubDataEXT).invokeExact(readBuffer, writeBuffer, readOffset, writeOffset, size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferTextureEXT(int framebuffer, int attachment, int texture, int level) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferTextureEXT).invokeExact(framebuffer, attachment, texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferTextureLayerEXT(int framebuffer, int attachment, int texture, int level, int layer) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferTextureLayerEXT).invokeExact(framebuffer, attachment, texture, level, layer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferTextureFaceEXT(int framebuffer, int attachment, int texture, int level, int face) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferTextureFaceEXT).invokeExact(framebuffer, attachment, texture, level, face); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureRenderbufferEXT(int texture, int target, int renderbuffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureRenderbufferEXT).invokeExact(texture, target, renderbuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiTexRenderbufferEXT(int texunit, int target, int renderbuffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiTexRenderbufferEXT).invokeExact(texunit, target, renderbuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayColorOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayColorOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayEdgeFlagOffsetEXT(int vaobj, int buffer, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayEdgeFlagOffsetEXT).invokeExact(vaobj, buffer, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayIndexOffsetEXT(int vaobj, int buffer, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayIndexOffsetEXT).invokeExact(vaobj, buffer, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayNormalOffsetEXT(int vaobj, int buffer, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayNormalOffsetEXT).invokeExact(vaobj, buffer, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayTexCoordOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayTexCoordOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayMultiTexCoordOffsetEXT(int vaobj, int buffer, int texunit, int size, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayMultiTexCoordOffsetEXT).invokeExact(vaobj, buffer, texunit, size, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayFogCoordOffsetEXT(int vaobj, int buffer, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayFogCoordOffsetEXT).invokeExact(vaobj, buffer, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArraySecondaryColorOffsetEXT(int vaobj, int buffer, int size, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArraySecondaryColorOffsetEXT).invokeExact(vaobj, buffer, size, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribOffsetEXT(int vaobj, int buffer, int index, int size, int type, boolean normalized, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribOffsetEXT).invokeExact(vaobj, buffer, index, size, type, normalized, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribIOffsetEXT(int vaobj, int buffer, int index, int size, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribIOffsetEXT).invokeExact(vaobj, buffer, index, size, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEnableVertexArrayEXT(int vaobj, int array) { + final var ext = getExtCapabilities(); + try { + check(ext.glEnableVertexArrayEXT).invokeExact(vaobj, array); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDisableVertexArrayEXT(int vaobj, int array) { + final var ext = getExtCapabilities(); + try { + check(ext.glDisableVertexArrayEXT).invokeExact(vaobj, array); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEnableVertexArrayAttribEXT(int vaobj, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glEnableVertexArrayAttribEXT).invokeExact(vaobj, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDisableVertexArrayAttribEXT(int vaobj, int index) { + final var ext = getExtCapabilities(); + try { + check(ext.glDisableVertexArrayAttribEXT).invokeExact(vaobj, index); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexArrayIntegervEXT(int vaobj, int pname, @NativeType("GLint *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexArrayIntegervEXT).invokeExact(vaobj, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexArrayPointervEXT(int vaobj, int pname, @NativeType("void **") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexArrayPointervEXT).invokeExact(vaobj, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexArrayIntegeri_vEXT(int vaobj, int index, int pname, @NativeType("GLint *") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexArrayIntegeri_vEXT).invokeExact(vaobj, index, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexArrayPointeri_vEXT(int vaobj, int index, int pname, @NativeType("void **") MemorySegment param) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexArrayPointeri_vEXT).invokeExact(vaobj, index, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMapNamedBufferRangeEXT(int buffer, long offset, long length, int access) { + final var ext = getExtCapabilities(); + try { + check(ext.glMapNamedBufferRangeEXT).invokeExact(buffer, offset, length, access); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFlushMappedNamedBufferRangeEXT(int buffer, long offset, long length) { + final var ext = getExtCapabilities(); + try { + check(ext.glFlushMappedNamedBufferRangeEXT).invokeExact(buffer, offset, length); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedBufferStorageEXT(int buffer, long size, @NativeType("const void *") MemorySegment data, int flags) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedBufferStorageEXT).invokeExact(buffer, size, data, flags); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearNamedBufferDataEXT(int buffer, int internalformat, int format, int type, @NativeType("const void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearNamedBufferDataEXT).invokeExact(buffer, internalformat, format, type, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearNamedBufferSubDataEXT(int buffer, int internalformat, long offset, long size, int format, int type, @NativeType("const void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearNamedBufferSubDataEXT).invokeExact(buffer, internalformat, offset, size, format, type, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedFramebufferParameteriEXT(int framebuffer, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedFramebufferParameteriEXT).invokeExact(framebuffer, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetNamedFramebufferParameterivEXT(int framebuffer, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetNamedFramebufferParameterivEXT).invokeExact(framebuffer, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1dEXT(int program, int location, double x) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1dEXT).invokeExact(program, location, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2dEXT(int program, int location, double x, double y) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2dEXT).invokeExact(program, location, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3dEXT(int program, int location, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3dEXT).invokeExact(program, location, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4dEXT(int program, int location, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4dEXT).invokeExact(program, location, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform1dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform1dvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform2dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform2dvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform3dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform3dvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniform4dvEXT(int program, int location, int count, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniform4dvEXT).invokeExact(program, location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix2dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix3dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix4dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix2x3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix2x3dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix2x4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix2x4dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix3x2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix3x2dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix3x4dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix3x4dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix4x2dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix4x2dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramUniformMatrix4x3dvEXT(int program, int location, int count, boolean transpose, @NativeType("const GLdouble *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramUniformMatrix4x3dvEXT).invokeExact(program, location, count, transpose, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureBufferRangeEXT(int texture, int target, int internalformat, int buffer, long offset, long size) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureBufferRangeEXT).invokeExact(texture, target, internalformat, buffer, offset, size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorage1DEXT(int texture, int target, int levels, int internalformat, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorage1DEXT).invokeExact(texture, target, levels, internalformat, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorage2DEXT(int texture, int target, int levels, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorage2DEXT).invokeExact(texture, target, levels, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorage3DEXT(int texture, int target, int levels, int internalformat, int width, int height, int depth) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorage3DEXT).invokeExact(texture, target, levels, internalformat, width, height, depth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorage2DMultisampleEXT(int texture, int target, int samples, int internalformat, int width, int height, boolean fixedsamplelocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorage2DMultisampleEXT).invokeExact(texture, target, samples, internalformat, width, height, fixedsamplelocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorage3DMultisampleEXT(int texture, int target, int samples, int internalformat, int width, int height, int depth, boolean fixedsamplelocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorage3DMultisampleEXT).invokeExact(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayBindVertexBufferEXT(int vaobj, int bindingindex, int buffer, long offset, int stride) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayBindVertexBufferEXT).invokeExact(vaobj, bindingindex, buffer, offset, stride); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribFormatEXT(int vaobj, int attribindex, int size, int type, boolean normalized, int relativeoffset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribFormatEXT).invokeExact(vaobj, attribindex, size, type, normalized, relativeoffset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribIFormatEXT(int vaobj, int attribindex, int size, int type, int relativeoffset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribIFormatEXT).invokeExact(vaobj, attribindex, size, type, relativeoffset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribLFormatEXT(int vaobj, int attribindex, int size, int type, int relativeoffset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribLFormatEXT).invokeExact(vaobj, attribindex, size, type, relativeoffset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribBindingEXT(int vaobj, int attribindex, int bindingindex) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribBindingEXT).invokeExact(vaobj, attribindex, bindingindex); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexBindingDivisorEXT(int vaobj, int bindingindex, int divisor) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexBindingDivisorEXT).invokeExact(vaobj, bindingindex, divisor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribLOffsetEXT(int vaobj, int buffer, int index, int size, int type, int stride, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribLOffsetEXT).invokeExact(vaobj, buffer, index, size, type, stride, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexturePageCommitmentEXT(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, boolean commit) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexturePageCommitmentEXT).invokeExact(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexArrayVertexAttribDivisorEXT(int vaobj, int index, int divisor) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexArrayVertexAttribDivisorEXT).invokeExact(vaobj, index, divisor); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java new file mode 100644 index 00000000..459b550c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawBuffers2.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_draw_buffers2} + */ +public final class GLEXTDrawBuffers2 { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_draw_buffers2) return; + ext.glColorMaskIndexedEXT = load.invoke("glColorMaskIndexedEXT", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + } + + public static void glColorMaskIndexedEXT(int index, boolean r, boolean g, boolean b, boolean a) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorMaskIndexedEXT).invokeExact(index, r, g, b, a); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java new file mode 100644 index 00000000..ad79bd07 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawInstanced.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_draw_instanced} + */ +public final class GLEXTDrawInstanced { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_draw_instanced) return; + ext.glDrawArraysInstancedEXT = load.invoke("glDrawArraysInstancedEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glDrawElementsInstancedEXT = load.invoke("glDrawElementsInstancedEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + } + + public static void glDrawArraysInstancedEXT(int mode, int start, int count, int primcount) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawArraysInstancedEXT).invokeExact(mode, start, count, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawElementsInstancedEXT(int mode, int count, int type, @NativeType("const void *") MemorySegment indices, int primcount) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawElementsInstancedEXT).invokeExact(mode, count, type, indices, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java new file mode 100644 index 00000000..b56c77fb --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTDrawRangedElements.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_draw_range_elements} + */ +public final class GLEXTDrawRangedElements { + public static final int GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8; + public static final int GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_draw_range_elements) return; + ext.glDrawRangeElementsEXT = load.invoke("glDrawRangeElementsEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glDrawRangeElementsEXT(int mode, int start, int end, int count, int type, @NativeType("const void *") MemorySegment indices) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawRangeElementsEXT).invokeExact(mode, start, end, count, type, indices); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java new file mode 100644 index 00000000..5f0d9b54 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTEGLImageStorage.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_EGL_image_storage} + */ +public final class GLEXTEGLImageStorage { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_EGL_image_storage) return; + ext.glEGLImageTargetTexStorageEXT = load.invoke("glEGLImageTargetTexStorageEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); + ext.glEGLImageTargetTextureStorageEXT = load.invoke("glEGLImageTargetTextureStorageEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glEGLImageTargetTexStorageEXT(int target, @NativeType("GLeglImageOES") MemorySegment image, @NativeType("const GLint*") MemorySegment attrib_list) { + final var ext = getExtCapabilities(); + try { + check(ext.glEGLImageTargetTexStorageEXT).invokeExact(target, image, attrib_list); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEGLImageTargetTextureStorageEXT(int texture, @NativeType("GLeglImageOES") MemorySegment image, @NativeType("const GLint*") MemorySegment attrib_list) { + final var ext = getExtCapabilities(); + try { + check(ext.glEGLImageTargetTextureStorageEXT).invokeExact(texture, image, attrib_list); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java new file mode 100644 index 00000000..99d76dc8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTExternalBuffer.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_external_buffer} + */ +public final class GLEXTExternalBuffer { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_external_buffer) return; + ext.glBufferStorageExternalEXT = load.invoke("glBufferStorageExternalEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS, JAVA_INT)); + ext.glNamedBufferStorageExternalEXT = load.invoke("glNamedBufferStorageExternalEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_LONG, ADDRESS, JAVA_INT)); + } + + public static void glBufferStorageExternalEXT(int target, long offset, long size, @NativeType("GLeglClientBufferEXT") MemorySegment clientBuffer, int flags) { + final var ext = getExtCapabilities(); + try { + check(ext.glBufferStorageExternalEXT).invokeExact(target, offset, size, clientBuffer, flags); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedBufferStorageExternalEXT(int buffer, long offset, long size, @NativeType("GLeglClientBufferEXT") MemorySegment clientBuffer, int flags) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedBufferStorageExternalEXT).invokeExact(buffer, offset, size, clientBuffer, flags); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java new file mode 100644 index 00000000..504a14d3 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFogCoord.java @@ -0,0 +1,83 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_fog_coord} + */ +public final class GLEXTFogCoord { + public static final int GL_FOG_COORDINATE_SOURCE_EXT = 0x8450; + public static final int GL_FOG_COORDINATE_EXT = 0x8451; + public static final int GL_FRAGMENT_DEPTH_EXT = 0x8452; + public static final int GL_CURRENT_FOG_COORDINATE_EXT = 0x8453; + public static final int GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; + public static final int GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; + public static final int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; + public static final int GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_fog_coord) return; + ext.glFogCoordfEXT = load.invoke("glFogCoordfEXT", ofVoid(JAVA_FLOAT)); + ext.glFogCoordfvEXT = load.invoke("glFogCoordfvEXT", ofVoid(ADDRESS)); + ext.glFogCoorddEXT = load.invoke("glFogCoorddEXT", ofVoid(JAVA_DOUBLE)); + ext.glFogCoorddvEXT = load.invoke("glFogCoorddvEXT", ofVoid(ADDRESS)); + ext.glFogCoordPointerEXT = load.invoke("glFogCoordPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glFogCoordfEXT(float coord) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoordfEXT).invokeExact(coord); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoordfvEXT(@NativeType("const GLfloat *") MemorySegment coord) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoordfvEXT).invokeExact(coord); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoorddEXT(double coord) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoorddEXT).invokeExact(coord); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoorddvEXT(@NativeType("const GLdouble *") MemorySegment coord) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoorddvEXT).invokeExact(coord); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFogCoordPointerEXT(int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glFogCoordPointerEXT).invokeExact(type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java new file mode 100644 index 00000000..44ff831f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlit.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_framebuffer_blit} + */ +public final class GLEXTFramebufferBlit { + public static final int GL_READ_FRAMEBUFFER_EXT = 0x8CA8; + public static final int GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9; + public static final int GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; + public static final int GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_framebuffer_blit) return; + ext.glBlitFramebufferEXT = load.invoke("glBlitFramebufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glBlitFramebufferEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlitFramebufferEXT).invokeExact(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java new file mode 100644 index 00000000..583ad66f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferBlitLayers.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_framebuffer_blit_layers} + */ +public final class GLEXTFramebufferBlitLayers { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_framebuffer_blit_layers) return; + ext.glBlitFramebufferLayersEXT = load.invoke("glBlitFramebufferLayersEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBlitFramebufferLayerEXT = load.invoke("glBlitFramebufferLayerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glBlitFramebufferLayersEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlitFramebufferLayersEXT).invokeExact(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBlitFramebufferLayerEXT(int srcX0, int srcY0, int srcX1, int srcY1, int srcLayer, int dstX0, int dstY0, int dstX1, int dstY1, int dstLayer, int mask, int filter) { + final var ext = getExtCapabilities(); + try { + check(ext.glBlitFramebufferLayerEXT).invokeExact(srcX0, srcY0, srcX1, srcY1, srcLayer, dstX0, dstY0, dstX1, dstY1, dstLayer, mask, filter); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java new file mode 100644 index 00000000..c444ff59 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisample.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_framebuffer_multisample} + */ +public final class GLEXTFramebufferMultisample { + public static final int GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB; + public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; + public static final int GL_MAX_SAMPLES_EXT = 0x8D57; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_framebuffer_multisample) return; + ext.glRenderbufferStorageMultisampleEXT = load.invoke("glRenderbufferStorageMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glRenderbufferStorageMultisampleEXT(int target, int samples, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glRenderbufferStorageMultisampleEXT).invokeExact(target, samples, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java new file mode 100644 index 00000000..8f1ee6c1 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferMultisampleBlitScaled.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_framebuffer_multisample_blit_scaled} + */ +public final class GLEXTFramebufferMultisampleBlitScaled { + public static final int GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA; + public static final int GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java new file mode 100644 index 00000000..ec1c2705 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTFramebufferObject.java @@ -0,0 +1,225 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_framebuffer_object} + */ +public final class GLEXTFramebufferObject { + public static final int GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; + public static final int GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; + public static final int GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6; + public static final int GL_RENDERBUFFER_BINDING_EXT = 0x8CA7; + public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; + public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; + public static final int GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; + public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; + public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; + public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; + public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; + public static final int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; + public static final int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; + public static final int GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; + public static final int GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; + public static final int GL_COLOR_ATTACHMENT0_EXT = 0x8CE0; + public static final int GL_COLOR_ATTACHMENT1_EXT = 0x8CE1; + public static final int GL_COLOR_ATTACHMENT2_EXT = 0x8CE2; + public static final int GL_COLOR_ATTACHMENT3_EXT = 0x8CE3; + public static final int GL_COLOR_ATTACHMENT4_EXT = 0x8CE4; + public static final int GL_COLOR_ATTACHMENT5_EXT = 0x8CE5; + public static final int GL_COLOR_ATTACHMENT6_EXT = 0x8CE6; + public static final int GL_COLOR_ATTACHMENT7_EXT = 0x8CE7; + public static final int GL_COLOR_ATTACHMENT8_EXT = 0x8CE8; + public static final int GL_COLOR_ATTACHMENT9_EXT = 0x8CE9; + public static final int GL_COLOR_ATTACHMENT10_EXT = 0x8CEA; + public static final int GL_COLOR_ATTACHMENT11_EXT = 0x8CEB; + public static final int GL_COLOR_ATTACHMENT12_EXT = 0x8CEC; + public static final int GL_COLOR_ATTACHMENT13_EXT = 0x8CED; + public static final int GL_COLOR_ATTACHMENT14_EXT = 0x8CEE; + public static final int GL_COLOR_ATTACHMENT15_EXT = 0x8CEF; + public static final int GL_DEPTH_ATTACHMENT_EXT = 0x8D00; + public static final int GL_STENCIL_ATTACHMENT_EXT = 0x8D20; + public static final int GL_FRAMEBUFFER_EXT = 0x8D40; + public static final int GL_RENDERBUFFER_EXT = 0x8D41; + public static final int GL_RENDERBUFFER_WIDTH_EXT = 0x8D42; + public static final int GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43; + public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; + public static final int GL_STENCIL_INDEX1_EXT = 0x8D46; + public static final int GL_STENCIL_INDEX4_EXT = 0x8D47; + public static final int GL_STENCIL_INDEX8_EXT = 0x8D48; + public static final int GL_STENCIL_INDEX16_EXT = 0x8D49; + public static final int GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50; + public static final int GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; + public static final int GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; + public static final int GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; + public static final int GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; + public static final int GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_framebuffer_object) return; + ext.glIsRenderbufferEXT = load.invoke("glIsRenderbufferEXT", of(JAVA_BYTE, JAVA_INT)); + ext.glBindRenderbufferEXT = load.invoke("glBindRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDeleteRenderbuffersEXT = load.invoke("glDeleteRenderbuffersEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenRenderbuffersEXT = load.invoke("glGenRenderbuffersEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glRenderbufferStorageEXT = load.invoke("glRenderbufferStorageEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetRenderbufferParameterivEXT = load.invoke("glGetRenderbufferParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glIsFramebufferEXT = load.invoke("glIsFramebufferEXT", of(JAVA_BYTE, JAVA_INT)); + ext.glBindFramebufferEXT = load.invoke("glBindFramebufferEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDeleteFramebuffersEXT = load.invoke("glDeleteFramebuffersEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenFramebuffersEXT = load.invoke("glGenFramebuffersEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glCheckFramebufferStatusEXT = load.invoke("glCheckFramebufferStatusEXT", of(JAVA_INT, JAVA_INT)); + ext.glFramebufferTexture1DEXT = load.invoke("glFramebufferTexture1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFramebufferTexture2DEXT = load.invoke("glFramebufferTexture2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFramebufferTexture3DEXT = load.invoke("glFramebufferTexture3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glFramebufferRenderbufferEXT = load.invoke("glFramebufferRenderbufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGetFramebufferAttachmentParameterivEXT = load.invoke("glGetFramebufferAttachmentParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGenerateMipmapEXT = load.invoke("glGenerateMipmapEXT", ofVoid(JAVA_INT)); + } + + public static boolean glIsRenderbufferEXT(int renderbuffer) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsRenderbufferEXT).invokeExact(renderbuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindRenderbufferEXT(int target, int renderbuffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindRenderbufferEXT).invokeExact(target, renderbuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteRenderbuffersEXT(int n, @NativeType("const GLuint *") MemorySegment renderbuffers) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteRenderbuffersEXT).invokeExact(n, renderbuffers); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenRenderbuffersEXT(int n, @NativeType("GLuint *") MemorySegment renderbuffers) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenRenderbuffersEXT).invokeExact(n, renderbuffers); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glRenderbufferStorageEXT(int target, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glRenderbufferStorageEXT).invokeExact(target, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetRenderbufferParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetRenderbufferParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsFramebufferEXT(int framebuffer) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsFramebufferEXT).invokeExact(framebuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindFramebufferEXT(int target, int framebuffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindFramebufferEXT).invokeExact(target, framebuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteFramebuffersEXT(int n, @NativeType("const GLuint *") MemorySegment framebuffers) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteFramebuffersEXT).invokeExact(n, framebuffers); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenFramebuffersEXT(int n, @NativeType("GLuint *") MemorySegment framebuffers) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenFramebuffersEXT).invokeExact(n, framebuffers); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glCheckFramebufferStatusEXT(int target) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glCheckFramebufferStatusEXT).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferTexture1DEXT(int target, int attachment, int textarget, int texture, int level) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferTexture1DEXT).invokeExact(target, attachment, textarget, texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferTexture2DEXT(int target, int attachment, int textarget, int texture, int level) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferTexture2DEXT).invokeExact(target, attachment, textarget, texture, level); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferTexture3DEXT(int target, int attachment, int textarget, int texture, int level, int zoffset) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferTexture3DEXT).invokeExact(target, attachment, textarget, texture, level, zoffset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, int renderbuffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferRenderbufferEXT).invokeExact(target, attachment, renderbuffertarget, renderbuffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetFramebufferAttachmentParameterivEXT).invokeExact(target, attachment, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenerateMipmapEXT(int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenerateMipmapEXT).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java new file mode 100644 index 00000000..496cdbd6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSrgb.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_framebuffer_sRGB} + */ +public final class GLEXTSrgb { + public static final int GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9; + public static final int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; +} From 7905eb1ff5467814360183792f46b42d767ab99d Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 16 Dec 2023 10:53:39 +0800 Subject: [PATCH 35/44] [OpenGL] Update extensions --- .../kotlin/overrungl/opengl/GLEXT.kt | 488 ++++++++++++++++++ .../overrungl/opengl/OpenGLGenerator.kt | 125 ++--- .../main/java/overrungl/opengl/GLExtCaps.java | 111 ++-- .../opengl/ext/ext/GLEXTGeometryShader4.java | 63 +++ .../ext/ext/GLEXTGpuProgramParameters.java | 51 ++ .../opengl/ext/ext/GLEXTGpuShader4.java | 336 ++++++++++++ .../opengl/ext/ext/GLEXTHistogram.java | 129 +++++ .../ext/ext/GLEXTIndexArrayFormats.java | 39 ++ .../opengl/ext/ext/GLEXTIndexFunc.java | 46 ++ .../opengl/ext/ext/GLEXTIndexMaterial.java | 46 ++ .../opengl/ext/ext/GLEXTLightTexture.java | 68 +++ .../opengl/ext/ext/GLEXTMemoryObject.java | 199 +++++++ .../opengl/ext/ext/GLEXTMemoryObjectFd.java | 44 ++ .../ext/ext/GLEXTMemoryObjectWin32.java | 60 +++ .../opengl/ext/ext/GLEXTMultiDrawArrays.java | 51 ++ .../opengl/ext/ext/GLEXTMultisample.java | 68 +++ .../ext/ext/GLEXTPackedDepthStencil.java | 35 ++ .../opengl/ext/ext/GLEXTPackedFloat.java | 34 ++ .../opengl/ext/ext/GLEXTPackedPixels.java | 36 ++ .../opengl/ext/ext/GLEXTPalettedTexture.java | 74 +++ .../ext/ext/GLEXTPixelBufferObject.java | 35 ++ .../opengl/ext/ext/GLEXTPixelTransform.java | 92 ++++ .../opengl/ext/ext/GLEXTPointParameters.java | 55 ++ .../opengl/ext/ext/GLEXTPolygonOffset.java | 46 ++ .../ext/ext/GLEXTPolygonOffsetClamp.java | 44 ++ .../opengl/ext/ext/GLEXTProvokingVertex.java | 47 ++ .../ext/ext/GLEXTRasterMultisample.java | 49 ++ .../opengl/ext/ext/GLEXTRescaleNormal.java | 32 ++ 28 files changed, 2400 insertions(+), 103 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt index 2c15a919..f9d1ae17 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt @@ -2173,4 +2173,492 @@ fun ext() { "GL_FRAMEBUFFER_SRGB_EXT" to "0x8DB9", "GL_FRAMEBUFFER_SRGB_CAPABLE_EXT" to "0x8DBA" ) + file("GeometryShader4", EXT, "GL_EXT_geometry_shader4") { + "GL_GEOMETRY_SHADER_EXT"("0x8DD9") + "GL_GEOMETRY_VERTICES_OUT_EXT"("0x8DDA") + "GL_GEOMETRY_INPUT_TYPE_EXT"("0x8DDB") + "GL_GEOMETRY_OUTPUT_TYPE_EXT"("0x8DDC") + "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"("0x8C29") + "GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT"("0x8DDD") + "GL_MAX_VERTEX_VARYING_COMPONENTS_EXT"("0x8DDE") + "GL_MAX_VARYING_COMPONENTS_EXT"("0x8B4B") + "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"("0x8DDF") + "GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"("0x8DE0") + "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"("0x8DE1") + "GL_LINES_ADJACENCY_EXT"("0x000A") + "GL_LINE_STRIP_ADJACENCY_EXT"("0x000B") + "GL_TRIANGLES_ADJACENCY_EXT"("0x000C") + "GL_TRIANGLE_STRIP_ADJACENCY_EXT"("0x000D") + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"("0x8DA8") + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT"("0x8DA9") + "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"("0x8DA7") + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"("0x8CD4") + "GL_PROGRAM_POINT_SIZE_EXT"("0x8642") + "glProgramParameteriEXT"(void, GLuint("program"), GLenum("pname"), GLint("value")) + } + file("GpuProgramParameters", EXT, "GL_EXT_gpu_program_parameters") { + "glProgramEnvParameters4fvEXT"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLfloat *") + ) + "glProgramLocalParameters4fvEXT"( + void, + GLenum("target"), + GLuint("index"), + GLsizei("count"), + address("params", "const GLfloat *") + ) + } + file("GpuShader4", EXT, "GL_EXT_gpu_shader4") { + "GL_SAMPLER_1D_ARRAY_EXT"("0x8DC0") + "GL_SAMPLER_2D_ARRAY_EXT"("0x8DC1") + "GL_SAMPLER_BUFFER_EXT"("0x8DC2") + "GL_SAMPLER_1D_ARRAY_SHADOW_EXT"("0x8DC3") + "GL_SAMPLER_2D_ARRAY_SHADOW_EXT"("0x8DC4") + "GL_SAMPLER_CUBE_SHADOW_EXT"("0x8DC5") + "GL_UNSIGNED_INT_VEC2_EXT"("0x8DC6") + "GL_UNSIGNED_INT_VEC3_EXT"("0x8DC7") + "GL_UNSIGNED_INT_VEC4_EXT"("0x8DC8") + "GL_INT_SAMPLER_1D_EXT"("0x8DC9") + "GL_INT_SAMPLER_2D_EXT"("0x8DCA") + "GL_INT_SAMPLER_3D_EXT"("0x8DCB") + "GL_INT_SAMPLER_CUBE_EXT"("0x8DCC") + "GL_INT_SAMPLER_2D_RECT_EXT"("0x8DCD") + "GL_INT_SAMPLER_1D_ARRAY_EXT"("0x8DCE") + "GL_INT_SAMPLER_2D_ARRAY_EXT"("0x8DCF") + "GL_INT_SAMPLER_BUFFER_EXT"("0x8DD0") + "GL_UNSIGNED_INT_SAMPLER_1D_EXT"("0x8DD1") + "GL_UNSIGNED_INT_SAMPLER_2D_EXT"("0x8DD2") + "GL_UNSIGNED_INT_SAMPLER_3D_EXT"("0x8DD3") + "GL_UNSIGNED_INT_SAMPLER_CUBE_EXT"("0x8DD4") + "GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT"("0x8DD5") + "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT"("0x8DD6") + "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT"("0x8DD7") + "GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"("0x8DD8") + "GL_MIN_PROGRAM_TEXEL_OFFSET_EXT"("0x8904") + "GL_MAX_PROGRAM_TEXEL_OFFSET_EXT"("0x8905") + "GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT"("0x88FD") + "glGetUniformuivEXT"(void, GLuint("program"), GLint("location"), address("params", "GLuint *")) + "glBindFragDataLocationEXT"(void, GLuint("program"), GLuint("color"), address("name", "const GLchar *")) + "glGetFragDataLocationEXT"(GLint, GLuint("program"), address("name", "const GLchar *")) + "glUniform1uiEXT"(void, GLint("location"), GLuint("v0")) + "glUniform2uiEXT"(void, GLint("location"), GLuint("v0"), GLuint("v1")) + "glUniform3uiEXT"(void, GLint("location"), GLuint("v0"), GLuint("v1"), GLuint("v2")) + "glUniform4uiEXT"(void, GLint("location"), GLuint("v0"), GLuint("v1"), GLuint("v2"), GLuint("v3")) + "glUniform1uivEXT"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint *")) + "glUniform2uivEXT"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint *")) + "glUniform3uivEXT"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint *")) + "glUniform4uivEXT"(void, GLint("location"), GLsizei("count"), address("value", "const GLuint *")) + "glVertexAttribI1iEXT"(void, GLuint("index"), GLint("x")) + "glVertexAttribI2iEXT"(void, GLuint("index"), GLint("x"), GLint("y")) + "glVertexAttribI3iEXT"(void, GLuint("index"), GLint("x"), GLint("y"), GLint("z")) + "glVertexAttribI4iEXT"(void, GLuint("index"), GLint("x"), GLint("y"), GLint("z"), GLint("w")) + "glVertexAttribI1uiEXT"(void, GLuint("index"), GLuint("x")) + "glVertexAttribI2uiEXT"(void, GLuint("index"), GLuint("x"), GLuint("y")) + "glVertexAttribI3uiEXT"(void, GLuint("index"), GLuint("x"), GLuint("y"), GLuint("z")) + "glVertexAttribI4uiEXT"(void, GLuint("index"), GLuint("x"), GLuint("y"), GLuint("z"), GLuint("w")) + "glVertexAttribI1ivEXT"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttribI2ivEXT"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttribI3ivEXT"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttribI4ivEXT"(void, GLuint("index"), address("v", "const GLint *")) + "glVertexAttribI1uivEXT"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttribI2uivEXT"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttribI3uivEXT"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttribI4uivEXT"(void, GLuint("index"), address("v", "const GLuint *")) + "glVertexAttribI4bvEXT"(void, GLuint("index"), address("v", "const GLbyte *")) + "glVertexAttribI4svEXT"(void, GLuint("index"), address("v", "const GLshort *")) + "glVertexAttribI4ubvEXT"(void, GLuint("index"), address("v", "const GLubyte *")) + "glVertexAttribI4usvEXT"(void, GLuint("index"), address("v", "const GLushort *")) + "glVertexAttribIPointerEXT"( + void, + GLuint("index"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + "glGetVertexAttribIivEXT"(void, GLuint("index"), GLenum("pname"), address("params", "GLint *")) + "glGetVertexAttribIuivEXT"(void, GLuint("index"), GLenum("pname"), address("params", "GLuint *")) + } + file("Histogram", EXT, "GL_EXT_histogram") { + "GL_HISTOGRAM_EXT"("0x8024") + "GL_PROXY_HISTOGRAM_EXT"("0x8025") + "GL_HISTOGRAM_WIDTH_EXT"("0x8026") + "GL_HISTOGRAM_FORMAT_EXT"("0x8027") + "GL_HISTOGRAM_RED_SIZE_EXT"("0x8028") + "GL_HISTOGRAM_GREEN_SIZE_EXT"("0x8029") + "GL_HISTOGRAM_BLUE_SIZE_EXT"("0x802A") + "GL_HISTOGRAM_ALPHA_SIZE_EXT"("0x802B") + "GL_HISTOGRAM_LUMINANCE_SIZE_EXT"("0x802C") + "GL_HISTOGRAM_SINK_EXT"("0x802D") + "GL_MINMAX_EXT"("0x802E") + "GL_MINMAX_FORMAT_EXT"("0x802F") + "GL_MINMAX_SINK_EXT"("0x8030") + "GL_TABLE_TOO_LARGE_EXT"("0x8031") + "glGetHistogramEXT"( + void, + GLenum("target"), + GLboolean("reset"), + GLenum("format"), + GLenum("type"), + address("values", "void *") + ) + "glGetHistogramParameterfvEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetHistogramParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetMinmaxEXT"( + void, + GLenum("target"), + GLboolean("reset"), + GLenum("format"), + GLenum("type"), + address("values", "void *") + ) + "glGetMinmaxParameterfvEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + "glGetMinmaxParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glHistogramEXT"(void, GLenum("target"), GLsizei("width"), GLenum("internalformat"), GLboolean("sink")) + "glMinmaxEXT"(void, GLenum("target"), GLenum("internalformat"), GLboolean("sink")) + "glResetHistogramEXT"(void, GLenum("target")) + "glResetMinmaxEXT"(void, GLenum("target")) + } + file( + "IndexArrayFormats", EXT, "GL_EXT_index_array_formats", + "GL_IUI_V2F_EXT" to "0x81AD", + "GL_IUI_V3F_EXT" to "0x81AE", + "GL_IUI_N3F_V2F_EXT" to "0x81AF", + "GL_IUI_N3F_V3F_EXT" to "0x81B0", + "GL_T2F_IUI_V2F_EXT" to "0x81B1", + "GL_T2F_IUI_V3F_EXT" to "0x81B2", + "GL_T2F_IUI_N3F_V2F_EXT" to "0x81B3", + "GL_T2F_IUI_N3F_V3F_EXT" to "0x81B4" + ) + file("IndexFunc", EXT, "GL_EXT_index_func") { + "GL_INDEX_TEST_EXT"("0x81B5") + "GL_INDEX_TEST_FUNC_EXT"("0x81B6") + "GL_INDEX_TEST_REF_EXT"("0x81B7") + "glIndexFuncEXT"(void, GLenum("func"), GLclampf("ref")) + } + file("IndexMaterial", EXT, "GL_EXT_index_material") { + "GL_INDEX_MATERIAL_EXT"("0x81B8") + "GL_INDEX_MATERIAL_PARAMETER_EXT"("0x81B9") + "GL_INDEX_MATERIAL_FACE_EXT"("0x81BA") + "glIndexMaterialEXT"(void, GLenum("face"), GLenum("mode")) + } + file("LightTexture", EXT, "GL_EXT_light_texture") { + "GL_FRAGMENT_MATERIAL_EXT"("0x8349") + "GL_FRAGMENT_NORMAL_EXT"("0x834A") + "GL_FRAGMENT_COLOR_EXT"("0x834C") + "GL_ATTENUATION_EXT"("0x834D") + "GL_SHADOW_ATTENUATION_EXT"("0x834E") + "GL_TEXTURE_APPLICATION_MODE_EXT"("0x834F") + "GL_TEXTURE_LIGHT_EXT"("0x8350") + "GL_TEXTURE_MATERIAL_FACE_EXT"("0x8351") + "GL_TEXTURE_MATERIAL_PARAMETER_EXT"("0x8352") + "glApplyTextureEXT"(void, GLenum("mode")) + "glTextureLightEXT"(void, GLenum("pname")) + "glTextureMaterialEXT"(void, GLenum("face"), GLenum("mode")) + } + file("MemoryObject", EXT, "GL_EXT_memory_object") { + "GL_TEXTURE_TILING_EXT"("0x9580") + "GL_DEDICATED_MEMORY_OBJECT_EXT"("0x9581") + "GL_PROTECTED_MEMORY_OBJECT_EXT"("0x959B") + "GL_NUM_TILING_TYPES_EXT"("0x9582") + "GL_TILING_TYPES_EXT"("0x9583") + "GL_OPTIMAL_TILING_EXT"("0x9584") + "GL_LINEAR_TILING_EXT"("0x9585") + "GL_NUM_DEVICE_UUIDS_EXT"("0x9596") + "GL_DEVICE_UUID_EXT"("0x9597") + "GL_DRIVER_UUID_EXT"("0x9598") + "GL_UUID_SIZE_EXT"("16") + "glGetUnsignedBytevEXT"(void, GLenum("pname"), address("data", "GLubyte *")) + "glGetUnsignedBytei_vEXT"(void, GLenum("target"), GLuint("index"), address("data", "GLubyte *")) + "glDeleteMemoryObjectsEXT"(void, GLsizei("n"), address("memoryObjects", "const GLuint *")) + "glIsMemoryObjectEXT"(GLboolean, GLuint("memoryObject")) + "glCreateMemoryObjectsEXT"(void, GLsizei("n"), address("memoryObjects", "GLuint *")) + "glMemoryObjectParameterivEXT"( + void, + GLuint("memoryObject"), + GLenum("pname"), + address("params", "const GLint *") + ) + "glGetMemoryObjectParameterivEXT"(void, GLuint("memoryObject"), GLenum("pname"), address("params", "GLint *")) + "glTexStorageMem2DEXT"( + void, + GLenum("target"), + GLsizei("levels"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLuint("memory"), + GLuint64("offset") + ) + "glTexStorageMem2DMultisampleEXT"( + void, + GLenum("target"), + GLsizei("samples"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLboolean("fixedSampleLocations"), + GLuint("memory"), + GLuint64("offset") + ) + "glTexStorageMem3DEXT"( + void, + GLenum("target"), + GLsizei("levels"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLuint("memory"), + GLuint64("offset") + ) + "glTexStorageMem3DMultisampleEXT"( + void, + GLenum("target"), + GLsizei("samples"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLboolean("fixedSampleLocations"), + GLuint("memory"), + GLuint64("offset") + ) + "glBufferStorageMemEXT"(void, GLenum("target"), GLsizeiptr("size"), GLuint("memory"), GLuint64("offset")) + "glTextureStorageMem2DEXT"( + void, + GLuint("texture"), + GLsizei("levels"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLuint("memory"), + GLuint64("offset") + ) + "glTextureStorageMem2DMultisampleEXT"( + void, + GLuint("texture"), + GLsizei("samples"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLboolean("fixedSampleLocations"), + GLuint("memory"), + GLuint64("offset") + ) + "glTextureStorageMem3DEXT"( + void, + GLuint("texture"), + GLsizei("levels"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLuint("memory"), + GLuint64("offset") + ) + "glTextureStorageMem3DMultisampleEXT"( + void, + GLuint("texture"), + GLsizei("samples"), + GLenum("internalFormat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLboolean("fixedSampleLocations"), + GLuint("memory"), + GLuint64("offset") + ) + "glNamedBufferStorageMemEXT"(void, GLuint("buffer"), GLsizeiptr("size"), GLuint("memory"), GLuint64("offset")) + "glTexStorageMem1DEXT"( + void, + GLenum("target"), + GLsizei("levels"), + GLenum("internalFormat"), + GLsizei("width"), + GLuint("memory"), + GLuint64("offset") + ) + "glTextureStorageMem1DEXT"( + void, + GLuint("texture"), + GLsizei("levels"), + GLenum("internalFormat"), + GLsizei("width"), + GLuint("memory"), + GLuint64("offset") + ) + } + file("MemoryObjectFd", EXT, "GL_EXT_memory_object_fd") { + "GL_HANDLE_TYPE_OPAQUE_FD_EXT"("0x9586") + "glImportMemoryFdEXT"(void, GLuint("memory"), GLuint64("size"), GLenum("handleType"), GLint("fd")) + } + file("MemoryObjectWin32", EXT, "GL_EXT_memory_object_win32") { + "GL_HANDLE_TYPE_OPAQUE_WIN32_EXT"("0x9587") + "GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT"("0x9588") + "GL_DEVICE_LUID_EXT"("0x9599") + "GL_DEVICE_NODE_MASK_EXT"("0x959A") + "GL_LUID_SIZE_EXT"("8") + "GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT"("0x9589") + "GL_HANDLE_TYPE_D3D12_RESOURCE_EXT"("0x958A") + "GL_HANDLE_TYPE_D3D11_IMAGE_EXT"("0x958B") + "GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT"("0x958C") + "glImportMemoryWin32HandleEXT"( + void, + GLuint("memory"), + GLuint64("size"), + GLenum("handleType"), + address("handle", "void *") + ) + "glImportMemoryWin32NameEXT"( + void, + GLuint("memory"), + GLuint64("size"), + GLenum("handleType"), + address("name", "const void *") + ) + } + file("MultiDrawArrays", EXT, "GL_EXT_multi_draw_arrays") { + "glMultiDrawArraysEXT"( + void, + GLenum("mode"), + address("first", "const GLint *"), + address("count", "const GLsizei *"), + GLsizei("primcount") + ) + "glMultiDrawElementsEXT"( + void, + GLenum("mode"), + address("count", "const GLsizei *"), + GLenum("type"), + address("indices", "const void *const*"), + GLsizei("primcount") + ) + } + file("Multisample", EXT, "GL_EXT_multisample") { + "GL_MULTISAMPLE_EXT"("0x809D") + "GL_SAMPLE_ALPHA_TO_MASK_EXT"("0x809E") + "GL_SAMPLE_ALPHA_TO_ONE_EXT"("0x809F") + "GL_SAMPLE_MASK_EXT"("0x80A0") + "GL_1PASS_EXT"("0x80A1") + "GL_2PASS_0_EXT"("0x80A2") + "GL_2PASS_1_EXT"("0x80A3") + "GL_4PASS_0_EXT"("0x80A4") + "GL_4PASS_1_EXT"("0x80A5") + "GL_4PASS_2_EXT"("0x80A6") + "GL_4PASS_3_EXT"("0x80A7") + "GL_SAMPLE_BUFFERS_EXT"("0x80A8") + "GL_SAMPLES_EXT"("0x80A9") + "GL_SAMPLE_MASK_VALUE_EXT"("0x80AA") + "GL_SAMPLE_MASK_INVERT_EXT"("0x80AB") + "GL_SAMPLE_PATTERN_EXT"("0x80AC") + "GL_MULTISAMPLE_BIT_EXT"("0x20000000") + "glSampleMaskEXT"(void, GLclampf("value"), GLboolean("invert")) + "glSamplePatternEXT"(void, GLenum("pattern")) + } + file( + "PackedDepthStencil", EXT, "GL_EXT_packed_depth_stencil", + "GL_DEPTH_STENCIL_EXT" to "0x84F9", + "GL_UNSIGNED_INT_24_8_EXT" to "0x84FA", + "GL_DEPTH24_STENCIL8_EXT" to "0x88F0", + "GL_TEXTURE_STENCIL_SIZE_EXT" to "0x88F1" + ) + file( + "PackedFloat", EXT, "GL_EXT_packed_float", + "GL_R11F_G11F_B10F_EXT" to "0x8C3A", + "GL_UNSIGNED_INT_10F_11F_11F_REV_EXT" to "0x8C3B", + "GL_RGBA_SIGNED_COMPONENTS_EXT" to "0x8C3C" + ) + file( + "PackedPixels", EXT, "GL_EXT_packed_pixels", + "GL_UNSIGNED_BYTE_3_3_2_EXT" to "0x8032", + "GL_UNSIGNED_SHORT_4_4_4_4_EXT" to "0x8033", + "GL_UNSIGNED_SHORT_5_5_5_1_EXT" to "0x8034", + "GL_UNSIGNED_INT_8_8_8_8_EXT" to "0x8035", + "GL_UNSIGNED_INT_10_10_10_2_EXT" to "0x8036" + ) + file("PalettedTexture", EXT, "GL_EXT_paletted_texture") { + "GL_COLOR_INDEX1_EXT"("0x80E2") + "GL_COLOR_INDEX2_EXT"("0x80E3") + "GL_COLOR_INDEX4_EXT"("0x80E4") + "GL_COLOR_INDEX8_EXT"("0x80E5") + "GL_COLOR_INDEX12_EXT"("0x80E6") + "GL_COLOR_INDEX16_EXT"("0x80E7") + "GL_TEXTURE_INDEX_SIZE_EXT"("0x80ED") + "glColorTableEXT"( + void, + GLenum("target"), + GLenum("internalFormat"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("table", "const void *") + ) + "glGetColorTableEXT"(void, GLenum("target"), GLenum("format"), GLenum("type"), address("data", "void *")) + "glGetColorTableParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetColorTableParameterfvEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + } + file( + "PixelBufferObject", EXT, "GL_EXT_pixel_buffer_object", + "GL_PIXEL_PACK_BUFFER_EXT" to "0x88EB", + "GL_PIXEL_UNPACK_BUFFER_EXT" to "0x88EC", + "GL_PIXEL_PACK_BUFFER_BINDING_EXT" to "0x88ED", + "GL_PIXEL_UNPACK_BUFFER_BINDING_EXT" to "0x88EF" + ) + file("PixelTransform", EXT, "GL_EXT_pixel_transform") { + "GL_PIXEL_TRANSFORM_2D_EXT"("0x8330") + "GL_PIXEL_MAG_FILTER_EXT"("0x8331") + "GL_PIXEL_MIN_FILTER_EXT"("0x8332") + "GL_PIXEL_CUBIC_WEIGHT_EXT"("0x8333") + "GL_CUBIC_EXT"("0x8334") + "GL_AVERAGE_EXT"("0x8335") + "GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"("0x8336") + "GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"("0x8337") + "GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"("0x8338") + "glPixelTransformParameteriEXT"(void, GLenum("target"), GLenum("pname"), GLint("param")) + "glPixelTransformParameterfEXT"(void, GLenum("target"), GLenum("pname"), GLfloat("param")) + "glPixelTransformParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glPixelTransformParameterfvEXT"(void, GLenum("target"), GLenum("pname"), address("params", "const GLfloat *")) + "glGetPixelTransformParameterivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetPixelTransformParameterfvEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLfloat *")) + } + file("PointParameters", EXT, "GL_EXT_point_parameters") { + "GL_POINT_SIZE_MIN_EXT"("0x8126") + "GL_POINT_SIZE_MAX_EXT"("0x8127") + "GL_POINT_FADE_THRESHOLD_SIZE_EXT"("0x8128") + "GL_DISTANCE_ATTENUATION_EXT"("0x8129") + "glPointParameterfEXT"(void, GLenum("pname"), GLfloat("param")) + "glPointParameterfvEXT"(void, GLenum("pname"), address("params", "const GLfloat *")) + } + file("PolygonOffset", EXT, "GL_EXT_polygon_offset") { + "GL_POLYGON_OFFSET_EXT"("0x8037") + "GL_POLYGON_OFFSET_FACTOR_EXT"("0x8038") + "GL_POLYGON_OFFSET_BIAS_EXT"("0x8039") + "glPolygonOffsetEXT"(void, GLfloat("factor"), GLfloat("bias")) + } + file("PolygonOffsetClamp", EXT, "GL_EXT_polygon_offset_clamp") { + "GL_POLYGON_OFFSET_CLAMP_EXT"("0x8E1B") + "glPolygonOffsetClampEXT"(void, GLfloat("factor"), GLfloat("units"), GLfloat("clamp")) + } + file("ProvokingVertex", EXT, "GL_EXT_provoking_vertex") { + "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT"("0x8E4C") + "GL_FIRST_VERTEX_CONVENTION_EXT"("0x8E4D") + "GL_LAST_VERTEX_CONVENTION_EXT"("0x8E4E") + "GL_PROVOKING_VERTEX_EXT"("0x8E4F") + "glProvokingVertexEXT"(void, GLenum("mode")) + } + file("RasterMultisample", EXT, "GL_EXT_raster_multisample") { + "GL_RASTER_MULTISAMPLE_EXT"("0x9327") + "GL_RASTER_SAMPLES_EXT"("0x9328") + "GL_MAX_RASTER_SAMPLES_EXT"("0x9329") + "GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT"("0x932A") + "GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT"("0x932B") + "GL_EFFECTIVE_RASTER_SAMPLES_EXT"("0x932C") + "glRasterSamplesEXT"(void, GLuint("samples"), GLboolean("fixedsamplelocations")) + } + file("RescaleNormal", EXT, "GL_EXT_rescale_normal", "GL_RESCALE_NORMAL_EXT" to "0x803A") } diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 426e915e..5c9b98a8 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -176,10 +176,14 @@ class OpenGLFile( } internal fun generate() { - Files.writeString(Path("${ext.dir}GL${ext.extName}$name.java"), buildString { - // file-header - appendLine( - """ + Path(ext.dir).also { + if (!Files.exists(it)) { + Files.createDirectories(it) + } + Files.writeString(it.resolve("GL${ext.extName}$name.java"), buildString { + // file-header + appendLine( + """ ${fileHeader.prependIndent("|")} |package overrungl.opengl${ext.packageName}; @@ -195,72 +199,73 @@ class OpenGLFile( | */ |public final class GL${ext.extName}$name { """.trimMargin() - ) - // constants - constants.forEach { (name, value) -> - appendLine(" public static final int $name = $value;") - } - if (functions.isNotEmpty()) { - // loader - appendLine(" public static void load(GLExtCaps ext, GLLoadFunc load) {") - appendLine(" if (!ext.$extName) return;") - functions.forEach { f -> - append(" ext.${f.name} = load.invoke(\"${f.name}\", ${if (f.returnType == void) "ofVoid" else "of"}(") - if (f.returnType != void) - append(f.returnType.layout) - f.params.forEachIndexed { index, it -> - if (index != 0 || f.returnType != void) append(", ") - append(it.type.layout) - } - appendLine("));") + ) + // constants + constants.forEach { (name, value) -> + appendLine(" public static final int $name = $value;") } - appendLine(" }") - appendLine() - // functions - fun appendFuncHeader(f: Function) { - append(" public static ") - if (f.nativeType != null) - append("@NativeType(\"${f.nativeType}\") ") - append("${f.returnType} ${f.name}(") - f.params.forEachIndexed { index, it -> - if (index != 0) append(", ") - if (it.nativeType != null) - append("@NativeType(\"${it.nativeType}\") ") - append("${it.type} ${it.name}") + if (functions.isNotEmpty()) { + // loader + appendLine(" public static void load(GLExtCaps ext, GLLoadFunc load) {") + appendLine(" if (!ext.$extName) return;") + functions.forEach { f -> + append(" ext.${f.name} = load.invoke(\"${f.name}\", ${if (f.returnType == void) "ofVoid" else "of"}(") + if (f.returnType != void) + append(f.returnType.layout) + f.params.forEachIndexed { index, it -> + if (index != 0 || f.returnType != void) append(", ") + append(it.type.layout) + } + appendLine("));") } - appendLine(") {") - } - functions.forEach { f -> - appendFuncHeader(f) - appendLine(" final var ext = getExtCapabilities();") - appendLine(" try {") - if (f.returnType != void) - appendLine(" return (${f.returnType})") - append(" check(ext.${f.name}).invokeExact(") - f.params.forEachIndexed { index, it -> - if (index != 0) append(", ") - append(it.name) + appendLine(" }") + appendLine() + // functions + fun appendFuncHeader(f: Function) { + append(" public static ") + if (f.nativeType != null) + append("@NativeType(\"${f.nativeType}\") ") + append("${f.returnType} ${f.name}(") + f.params.forEachIndexed { index, it -> + if (index != 0) append(", ") + if (it.nativeType != null) + append("@NativeType(\"${it.nativeType}\") ") + append("${it.type} ${it.name}") + } + appendLine(") {") } - appendLine( - """); + functions.forEach { f -> + appendFuncHeader(f) + appendLine(" final var ext = getExtCapabilities();") + appendLine(" try {") + if (f.returnType != void) + appendLine(" return (${f.returnType})") + append(" check(ext.${f.name}).invokeExact(") + f.params.forEachIndexed { index, it -> + if (index != 0) append(", ") + append(it.name) + } + appendLine( + """); | } catch (Throwable e) { throw new AssertionError("should not reach here", e); } | } """.trimMargin() - ) - appendLine() + ) + appendLine() - // overloads - if (f.overloads.isNotEmpty()) { - f.overloads.forEach { overload -> - appendFuncHeader(overload) - appendLine(overload.content!!.prependIndent(" ")) - appendLine(" }\n") + // overloads + if (f.overloads.isNotEmpty()) { + f.overloads.forEach { overload -> + appendFuncHeader(overload) + appendLine(overload.content!!.prependIndent(" ")) + appendLine(" }\n") + } } } } - } - appendLine("}") - }) + appendLine("}") + }) + } } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 16b84e3c..3e849f8d 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -125,49 +125,55 @@ public GLExtCaps(GLCapabilities caps) { glProgramUniformMatrix2x4dvEXT, glProgramUniformMatrix3x2dvEXT, glProgramUniformMatrix3x4dvEXT, glProgramUniformMatrix4x2dvEXT, glProgramUniformMatrix4x3dvEXT, glTextureBufferRangeEXT, glTextureStorage1DEXT, glTextureStorage2DEXT, glTextureStorage3DEXT, glTextureStorage2DMultisampleEXT, glTextureStorage3DMultisampleEXT, glVertexArrayBindVertexBufferEXT, glVertexArrayVertexAttribFormatEXT, glVertexArrayVertexAttribIFormatEXT, glVertexArrayVertexAttribLFormatEXT, glVertexArrayVertexAttribBindingEXT, glVertexArrayVertexBindingDivisorEXT, glVertexArrayVertexAttribLOffsetEXT, glTexturePageCommitmentEXT, glVertexArrayVertexAttribDivisorEXT, glColorMaskIndexedEXT, glDrawArraysInstancedEXT, glDrawElementsInstancedEXT, glDrawRangeElementsEXT, glBufferStorageExternalEXT, glNamedBufferStorageExternalEXT, glFogCoordfEXT, glFogCoordfvEXT, glFogCoorddEXT, glFogCoorddvEXT, glFogCoordPointerEXT, glBlitFramebufferEXT, glBlitFramebufferLayersEXT, glBlitFramebufferLayerEXT, glRenderbufferStorageMultisampleEXT, glIsRenderbufferEXT, glBindRenderbufferEXT, glDeleteRenderbuffersEXT, glGenRenderbuffersEXT, glRenderbufferStorageEXT, glGetRenderbufferParameterivEXT, glIsFramebufferEXT, glBindFramebufferEXT, glDeleteFramebuffersEXT, glGenFramebuffersEXT, glCheckFramebufferStatusEXT, glFramebufferTexture1DEXT, glFramebufferTexture2DEXT, - glFramebufferTexture3DEXT, glFramebufferRenderbufferEXT, glGetFramebufferAttachmentParameterivEXT, glGenerateMipmapEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, - glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, - glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, - glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, - glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, - glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, - glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, - glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, - glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, - glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, - glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, - glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, - glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, - glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, - glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, - glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, - glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, - glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, - glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, - glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, - glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, - glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, - glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, - glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, - glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, - glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, - glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, - glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, - glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, - glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, - glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, - glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, - glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, - glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, - glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, - glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, - glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, - glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, - glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, - glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, - glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, - glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, - glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glFramebufferTexture3DEXT, glFramebufferRenderbufferEXT, glGetFramebufferAttachmentParameterivEXT, glGenerateMipmapEXT, glProgramParameteriEXT, glProgramEnvParameters4fvEXT, glProgramLocalParameters4fvEXT, glGetUniformuivEXT, glBindFragDataLocationEXT, glGetFragDataLocationEXT, glUniform1uiEXT, glUniform2uiEXT, glUniform3uiEXT, glUniform4uiEXT, glUniform1uivEXT, glUniform2uivEXT, + glUniform3uivEXT, glUniform4uivEXT, glVertexAttribI1iEXT, glVertexAttribI2iEXT, glVertexAttribI3iEXT, glVertexAttribI4iEXT, glVertexAttribI1uiEXT, glVertexAttribI2uiEXT, glVertexAttribI3uiEXT, glVertexAttribI4uiEXT, glVertexAttribI1ivEXT, glVertexAttribI2ivEXT, glVertexAttribI3ivEXT, glVertexAttribI4ivEXT, glVertexAttribI1uivEXT, glVertexAttribI2uivEXT, + glVertexAttribI3uivEXT, glVertexAttribI4uivEXT, glVertexAttribI4bvEXT, glVertexAttribI4svEXT, glVertexAttribI4ubvEXT, glVertexAttribI4usvEXT, glVertexAttribIPointerEXT, glGetVertexAttribIivEXT, glGetVertexAttribIuivEXT, glGetHistogramEXT, glGetHistogramParameterfvEXT, glGetHistogramParameterivEXT, glGetMinmaxEXT, glGetMinmaxParameterfvEXT, glGetMinmaxParameterivEXT, glHistogramEXT, + glMinmaxEXT, glResetHistogramEXT, glResetMinmaxEXT, glIndexFuncEXT, glIndexMaterialEXT, glApplyTextureEXT, glTextureLightEXT, glTextureMaterialEXT, glGetUnsignedBytevEXT, glGetUnsignedBytei_vEXT, glDeleteMemoryObjectsEXT, glIsMemoryObjectEXT, glCreateMemoryObjectsEXT, glMemoryObjectParameterivEXT, glGetMemoryObjectParameterivEXT, glTexStorageMem2DEXT, + glTexStorageMem2DMultisampleEXT, glTexStorageMem3DEXT, glTexStorageMem3DMultisampleEXT, glBufferStorageMemEXT, glTextureStorageMem2DEXT, glTextureStorageMem2DMultisampleEXT, glTextureStorageMem3DEXT, glTextureStorageMem3DMultisampleEXT, glNamedBufferStorageMemEXT, glTexStorageMem1DEXT, glTextureStorageMem1DEXT, glImportMemoryFdEXT, glImportMemoryWin32HandleEXT, glImportMemoryWin32NameEXT, glMultiDrawArraysEXT, glMultiDrawElementsEXT, + glSampleMaskEXT, glSamplePatternEXT, glColorTableEXT, glGetColorTableEXT, glGetColorTableParameterivEXT, glGetColorTableParameterfvEXT, glPixelTransformParameteriEXT, glPixelTransformParameterfEXT, glPixelTransformParameterivEXT, glPixelTransformParameterfvEXT, glGetPixelTransformParameterivEXT, glGetPixelTransformParameterfvEXT, glPointParameterfEXT, glPointParameterfvEXT, glPolygonOffsetEXT, glPolygonOffsetClampEXT, + glProvokingVertexEXT, glRasterSamplesEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, + glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, + glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, + glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, + glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, + glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, + glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, + glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, + glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, + glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, + glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, + glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, + glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, + glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, + glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, + glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, + glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, + glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, + glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, + glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, + glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, + glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, + glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, + glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, + glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, + glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, + glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, + glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, + glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, + glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, + glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, + glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, + glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, + glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, + glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, + glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, + glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, + glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, + glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, + glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, + glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, + glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, + glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -272,6 +278,25 @@ void load(GLLoadFunc load) { GLEXTFramebufferBlitLayers.load(this, load); GLEXTFramebufferMultisample.load(this, load); GLEXTFramebufferObject.load(this, load); + GLEXTGeometryShader4.load(this, load); + GLEXTGpuProgramParameters.load(this, load); + GLEXTGpuShader4.load(this, load); + GLEXTHistogram.load(this, load); + GLEXTIndexFunc.load(this, load); + GLEXTIndexMaterial.load(this, load); + GLEXTLightTexture.load(this, load); + GLEXTMemoryObject.load(this, load); + GLEXTMemoryObjectFd.load(this, load); + GLEXTMemoryObjectWin32.load(this, load); + GLEXTMultiDrawArrays.load(this, load); + GLEXTMultisample.load(this, load); + GLEXTPalettedTexture.load(this, load); + GLEXTPixelTransform.load(this, load); + GLEXTPointParameters.load(this, load); + GLEXTPolygonOffset.load(this, load); + GLEXTPolygonOffsetClamp.load(this, load); + GLEXTProvokingVertex.load(this, load); + GLEXTRasterMultisample.load(this, load); GLGREMEDYFrameTerminator.load(this, load); GLGREMEDYStringMarker.load(this, load); GLHPImageTransform.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java new file mode 100644 index 00000000..18cf7b24 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGeometryShader4.java @@ -0,0 +1,63 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_geometry_shader4} + */ +public final class GLEXTGeometryShader4 { + public static final int GL_GEOMETRY_SHADER_EXT = 0x8DD9; + public static final int GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; + public static final int GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; + public static final int GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; + public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; + public static final int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; + public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; + public static final int GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B; + public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; + public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; + public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; + public static final int GL_LINES_ADJACENCY_EXT = 0x000A; + public static final int GL_LINE_STRIP_ADJACENCY_EXT = 0x000B; + public static final int GL_TRIANGLES_ADJACENCY_EXT = 0x000C; + public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; + public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; + public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; + public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; + public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; + public static final int GL_PROGRAM_POINT_SIZE_EXT = 0x8642; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_geometry_shader4) return; + ext.glProgramParameteriEXT = load.invoke("glProgramParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glProgramParameteriEXT(int program, int pname, int value) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramParameteriEXT).invokeExact(program, pname, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java new file mode 100644 index 00000000..0ddf4f41 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuProgramParameters.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_gpu_program_parameters} + */ +public final class GLEXTGpuProgramParameters { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_gpu_program_parameters) return; + ext.glProgramEnvParameters4fvEXT = load.invoke("glProgramEnvParameters4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glProgramLocalParameters4fvEXT = load.invoke("glProgramLocalParameters4fvEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glProgramEnvParameters4fvEXT(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramEnvParameters4fvEXT).invokeExact(target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glProgramLocalParameters4fvEXT(int target, int index, int count, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glProgramLocalParameters4fvEXT).invokeExact(target, index, count, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java new file mode 100644 index 00000000..11c322ec --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTGpuShader4.java @@ -0,0 +1,336 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_gpu_shader4} + */ +public final class GLEXTGpuShader4 { + public static final int GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0; + public static final int GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1; + public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2; + public static final int GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; + public static final int GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; + public static final int GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; + public static final int GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6; + public static final int GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7; + public static final int GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8; + public static final int GL_INT_SAMPLER_1D_EXT = 0x8DC9; + public static final int GL_INT_SAMPLER_2D_EXT = 0x8DCA; + public static final int GL_INT_SAMPLER_3D_EXT = 0x8DCB; + public static final int GL_INT_SAMPLER_CUBE_EXT = 0x8DCC; + public static final int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD; + public static final int GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; + public static final int GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; + public static final int GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0; + public static final int GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; + public static final int GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; + public static final int GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; + public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; + public static final int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; + public static final int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; + public static final int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; + public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; + public static final int GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; + public static final int GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; + public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_gpu_shader4) return; + ext.glGetUniformuivEXT = load.invoke("glGetUniformuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glBindFragDataLocationEXT = load.invoke("glBindFragDataLocationEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetFragDataLocationEXT = load.invoke("glGetFragDataLocationEXT", of(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform1uiEXT = load.invoke("glUniform1uiEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glUniform2uiEXT = load.invoke("glUniform2uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glUniform3uiEXT = load.invoke("glUniform3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glUniform4uiEXT = load.invoke("glUniform4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glUniform1uivEXT = load.invoke("glUniform1uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform2uivEXT = load.invoke("glUniform2uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform3uivEXT = load.invoke("glUniform3uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glUniform4uivEXT = load.invoke("glUniform4uivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexAttribI1iEXT = load.invoke("glVertexAttribI1iEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glVertexAttribI2iEXT = load.invoke("glVertexAttribI2iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexAttribI3iEXT = load.invoke("glVertexAttribI3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexAttribI4iEXT = load.invoke("glVertexAttribI4iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexAttribI1uiEXT = load.invoke("glVertexAttribI1uiEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glVertexAttribI2uiEXT = load.invoke("glVertexAttribI2uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexAttribI3uiEXT = load.invoke("glVertexAttribI3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexAttribI4uiEXT = load.invoke("glVertexAttribI4uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glVertexAttribI1ivEXT = load.invoke("glVertexAttribI1ivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI2ivEXT = load.invoke("glVertexAttribI2ivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI3ivEXT = load.invoke("glVertexAttribI3ivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI4ivEXT = load.invoke("glVertexAttribI4ivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI1uivEXT = load.invoke("glVertexAttribI1uivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI2uivEXT = load.invoke("glVertexAttribI2uivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI3uivEXT = load.invoke("glVertexAttribI3uivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI4uivEXT = load.invoke("glVertexAttribI4uivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI4bvEXT = load.invoke("glVertexAttribI4bvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI4svEXT = load.invoke("glVertexAttribI4svEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI4ubvEXT = load.invoke("glVertexAttribI4ubvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribI4usvEXT = load.invoke("glVertexAttribI4usvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribIPointerEXT = load.invoke("glVertexAttribIPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribIivEXT = load.invoke("glGetVertexAttribIivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribIuivEXT = load.invoke("glGetVertexAttribIuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glGetUniformuivEXT(int program, int location, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetUniformuivEXT).invokeExact(program, location, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindFragDataLocationEXT(int program, int color, @NativeType("const GLchar *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindFragDataLocationEXT).invokeExact(program, color, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGetFragDataLocationEXT(int program, @NativeType("const GLchar *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGetFragDataLocationEXT).invokeExact(program, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1uiEXT(int location, int v0) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1uiEXT).invokeExact(location, v0); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2uiEXT(int location, int v0, int v1) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2uiEXT).invokeExact(location, v0, v1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3uiEXT(int location, int v0, int v1, int v2) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3uiEXT).invokeExact(location, v0, v1, v2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4uiEXT(int location, int v0, int v1, int v2, int v3) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4uiEXT).invokeExact(location, v0, v1, v2, v3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform1uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform1uivEXT).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform2uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform2uivEXT).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform3uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform3uivEXT).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glUniform4uivEXT(int location, int count, @NativeType("const GLuint *") MemorySegment value) { + final var ext = getExtCapabilities(); + try { + check(ext.glUniform4uivEXT).invokeExact(location, count, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI1iEXT(int index, int x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI1iEXT).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI2iEXT(int index, int x, int y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI2iEXT).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI3iEXT(int index, int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI3iEXT).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4iEXT(int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4iEXT).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI1uiEXT(int index, int x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI1uiEXT).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI2uiEXT(int index, int x, int y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI2uiEXT).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI3uiEXT(int index, int x, int y, int z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI3uiEXT).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4uiEXT(int index, int x, int y, int z, int w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4uiEXT).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI1ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI1ivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI2ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI2ivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI3ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI3ivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4ivEXT(int index, @NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4ivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI1uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI1uivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI2uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI2uivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI3uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI3uivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4uivEXT(int index, @NativeType("const GLuint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4uivEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4bvEXT(int index, @NativeType("const GLbyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4bvEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4svEXT(int index, @NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4svEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4ubvEXT(int index, @NativeType("const GLubyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4ubvEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribI4usvEXT(int index, @NativeType("const GLushort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribI4usvEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribIPointerEXT(int index, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribIPointerEXT).invokeExact(index, size, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribIivEXT(int index, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribIivEXT).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribIuivEXT(int index, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribIuivEXT).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java new file mode 100644 index 00000000..a3ae7104 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTHistogram.java @@ -0,0 +1,129 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_histogram} + */ +public final class GLEXTHistogram { + public static final int GL_HISTOGRAM_EXT = 0x8024; + public static final int GL_PROXY_HISTOGRAM_EXT = 0x8025; + public static final int GL_HISTOGRAM_WIDTH_EXT = 0x8026; + public static final int GL_HISTOGRAM_FORMAT_EXT = 0x8027; + public static final int GL_HISTOGRAM_RED_SIZE_EXT = 0x8028; + public static final int GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029; + public static final int GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A; + public static final int GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; + public static final int GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; + public static final int GL_HISTOGRAM_SINK_EXT = 0x802D; + public static final int GL_MINMAX_EXT = 0x802E; + public static final int GL_MINMAX_FORMAT_EXT = 0x802F; + public static final int GL_MINMAX_SINK_EXT = 0x8030; + public static final int GL_TABLE_TOO_LARGE_EXT = 0x8031; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_histogram) return; + ext.glGetHistogramEXT = load.invoke("glGetHistogramEXT", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetHistogramParameterfvEXT = load.invoke("glGetHistogramParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetHistogramParameterivEXT = load.invoke("glGetHistogramParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMinmaxEXT = load.invoke("glGetMinmaxEXT", ofVoid(JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMinmaxParameterfvEXT = load.invoke("glGetMinmaxParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMinmaxParameterivEXT = load.invoke("glGetMinmaxParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glHistogramEXT = load.invoke("glHistogramEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glMinmaxEXT = load.invoke("glMinmaxEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_BYTE)); + ext.glResetHistogramEXT = load.invoke("glResetHistogramEXT", ofVoid(JAVA_INT)); + ext.glResetMinmaxEXT = load.invoke("glResetMinmaxEXT", ofVoid(JAVA_INT)); + } + + public static void glGetHistogramEXT(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetHistogramEXT).invokeExact(target, reset, format, type, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetHistogramParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetHistogramParameterfvEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetHistogramParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetHistogramParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMinmaxEXT(int target, boolean reset, int format, int type, @NativeType("void *") MemorySegment values) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMinmaxEXT).invokeExact(target, reset, format, type, values); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMinmaxParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMinmaxParameterfvEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMinmaxParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMinmaxParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glHistogramEXT(int target, int width, int internalformat, boolean sink) { + final var ext = getExtCapabilities(); + try { + check(ext.glHistogramEXT).invokeExact(target, width, internalformat, sink); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMinmaxEXT(int target, int internalformat, boolean sink) { + final var ext = getExtCapabilities(); + try { + check(ext.glMinmaxEXT).invokeExact(target, internalformat, sink); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glResetHistogramEXT(int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glResetHistogramEXT).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glResetMinmaxEXT(int target) { + final var ext = getExtCapabilities(); + try { + check(ext.glResetMinmaxEXT).invokeExact(target); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java new file mode 100644 index 00000000..b2141943 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexArrayFormats.java @@ -0,0 +1,39 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_index_array_formats} + */ +public final class GLEXTIndexArrayFormats { + public static final int GL_IUI_V2F_EXT = 0x81AD; + public static final int GL_IUI_V3F_EXT = 0x81AE; + public static final int GL_IUI_N3F_V2F_EXT = 0x81AF; + public static final int GL_IUI_N3F_V3F_EXT = 0x81B0; + public static final int GL_T2F_IUI_V2F_EXT = 0x81B1; + public static final int GL_T2F_IUI_V3F_EXT = 0x81B2; + public static final int GL_T2F_IUI_N3F_V2F_EXT = 0x81B3; + public static final int GL_T2F_IUI_N3F_V3F_EXT = 0x81B4; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java new file mode 100644 index 00000000..36239c4e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexFunc.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_index_func} + */ +public final class GLEXTIndexFunc { + public static final int GL_INDEX_TEST_EXT = 0x81B5; + public static final int GL_INDEX_TEST_FUNC_EXT = 0x81B6; + public static final int GL_INDEX_TEST_REF_EXT = 0x81B7; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_index_func) return; + ext.glIndexFuncEXT = load.invoke("glIndexFuncEXT", ofVoid(JAVA_INT, JAVA_FLOAT)); + } + + public static void glIndexFuncEXT(int func, float ref) { + final var ext = getExtCapabilities(); + try { + check(ext.glIndexFuncEXT).invokeExact(func, ref); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java new file mode 100644 index 00000000..12351e30 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTIndexMaterial.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_index_material} + */ +public final class GLEXTIndexMaterial { + public static final int GL_INDEX_MATERIAL_EXT = 0x81B8; + public static final int GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; + public static final int GL_INDEX_MATERIAL_FACE_EXT = 0x81BA; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_index_material) return; + ext.glIndexMaterialEXT = load.invoke("glIndexMaterialEXT", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glIndexMaterialEXT(int face, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glIndexMaterialEXT).invokeExact(face, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java new file mode 100644 index 00000000..290a3618 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTLightTexture.java @@ -0,0 +1,68 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_light_texture} + */ +public final class GLEXTLightTexture { + public static final int GL_FRAGMENT_MATERIAL_EXT = 0x8349; + public static final int GL_FRAGMENT_NORMAL_EXT = 0x834A; + public static final int GL_FRAGMENT_COLOR_EXT = 0x834C; + public static final int GL_ATTENUATION_EXT = 0x834D; + public static final int GL_SHADOW_ATTENUATION_EXT = 0x834E; + public static final int GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F; + public static final int GL_TEXTURE_LIGHT_EXT = 0x8350; + public static final int GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351; + public static final int GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_light_texture) return; + ext.glApplyTextureEXT = load.invoke("glApplyTextureEXT", ofVoid(JAVA_INT)); + ext.glTextureLightEXT = load.invoke("glTextureLightEXT", ofVoid(JAVA_INT)); + ext.glTextureMaterialEXT = load.invoke("glTextureMaterialEXT", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glApplyTextureEXT(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glApplyTextureEXT).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureLightEXT(int pname) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureLightEXT).invokeExact(pname); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureMaterialEXT(int face, int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureMaterialEXT).invokeExact(face, mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java new file mode 100644 index 00000000..1063fc39 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObject.java @@ -0,0 +1,199 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_memory_object} + */ +public final class GLEXTMemoryObject { + public static final int GL_TEXTURE_TILING_EXT = 0x9580; + public static final int GL_DEDICATED_MEMORY_OBJECT_EXT = 0x9581; + public static final int GL_PROTECTED_MEMORY_OBJECT_EXT = 0x959B; + public static final int GL_NUM_TILING_TYPES_EXT = 0x9582; + public static final int GL_TILING_TYPES_EXT = 0x9583; + public static final int GL_OPTIMAL_TILING_EXT = 0x9584; + public static final int GL_LINEAR_TILING_EXT = 0x9585; + public static final int GL_NUM_DEVICE_UUIDS_EXT = 0x9596; + public static final int GL_DEVICE_UUID_EXT = 0x9597; + public static final int GL_DRIVER_UUID_EXT = 0x9598; + public static final int GL_UUID_SIZE_EXT = 16; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_memory_object) return; + ext.glGetUnsignedBytevEXT = load.invoke("glGetUnsignedBytevEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glGetUnsignedBytei_vEXT = load.invoke("glGetUnsignedBytei_vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDeleteMemoryObjectsEXT = load.invoke("glDeleteMemoryObjectsEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsMemoryObjectEXT = load.invoke("glIsMemoryObjectEXT", of(JAVA_BYTE, JAVA_INT)); + ext.glCreateMemoryObjectsEXT = load.invoke("glCreateMemoryObjectsEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glMemoryObjectParameterivEXT = load.invoke("glMemoryObjectParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetMemoryObjectParameterivEXT = load.invoke("glGetMemoryObjectParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexStorageMem2DEXT = load.invoke("glTexStorageMem2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glTexStorageMem2DMultisampleEXT = load.invoke("glTexStorageMem2DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); + ext.glTexStorageMem3DEXT = load.invoke("glTexStorageMem3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glTexStorageMem3DMultisampleEXT = load.invoke("glTexStorageMem3DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); + ext.glBufferStorageMemEXT = load.invoke("glBufferStorageMemEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_LONG)); + ext.glTextureStorageMem2DEXT = load.invoke("glTextureStorageMem2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glTextureStorageMem2DMultisampleEXT = load.invoke("glTextureStorageMem2DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); + ext.glTextureStorageMem3DEXT = load.invoke("glTextureStorageMem3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glTextureStorageMem3DMultisampleEXT = load.invoke("glTextureStorageMem3DMultisampleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_LONG)); + ext.glNamedBufferStorageMemEXT = load.invoke("glNamedBufferStorageMemEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_LONG)); + ext.glTexStorageMem1DEXT = load.invoke("glTexStorageMem1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glTextureStorageMem1DEXT = load.invoke("glTextureStorageMem1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + } + + public static void glGetUnsignedBytevEXT(int pname, @NativeType("GLubyte *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetUnsignedBytevEXT).invokeExact(pname, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetUnsignedBytei_vEXT(int target, int index, @NativeType("GLubyte *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetUnsignedBytei_vEXT).invokeExact(target, index, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteMemoryObjectsEXT(int n, @NativeType("const GLuint *") MemorySegment memoryObjects) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteMemoryObjectsEXT).invokeExact(n, memoryObjects); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsMemoryObjectEXT(int memoryObject) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsMemoryObjectEXT).invokeExact(memoryObject); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glCreateMemoryObjectsEXT(int n, @NativeType("GLuint *") MemorySegment memoryObjects) { + final var ext = getExtCapabilities(); + try { + check(ext.glCreateMemoryObjectsEXT).invokeExact(n, memoryObjects); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMemoryObjectParameterivEXT(int memoryObject, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glMemoryObjectParameterivEXT).invokeExact(memoryObject, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetMemoryObjectParameterivEXT(int memoryObject, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetMemoryObjectParameterivEXT).invokeExact(memoryObject, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexStorageMem2DEXT(int target, int levels, int internalFormat, int width, int height, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorageMem2DEXT).invokeExact(target, levels, internalFormat, width, height, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexStorageMem2DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorageMem2DMultisampleEXT).invokeExact(target, samples, internalFormat, width, height, fixedSampleLocations, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexStorageMem3DEXT(int target, int levels, int internalFormat, int width, int height, int depth, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorageMem3DEXT).invokeExact(target, levels, internalFormat, width, height, depth, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexStorageMem3DMultisampleEXT(int target, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorageMem3DMultisampleEXT).invokeExact(target, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBufferStorageMemEXT(int target, long size, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glBufferStorageMemEXT).invokeExact(target, size, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorageMem2DEXT(int texture, int levels, int internalFormat, int width, int height, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorageMem2DEXT).invokeExact(texture, levels, internalFormat, width, height, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorageMem2DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, boolean fixedSampleLocations, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorageMem2DMultisampleEXT).invokeExact(texture, samples, internalFormat, width, height, fixedSampleLocations, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorageMem3DEXT(int texture, int levels, int internalFormat, int width, int height, int depth, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorageMem3DEXT).invokeExact(texture, levels, internalFormat, width, height, depth, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorageMem3DMultisampleEXT(int texture, int samples, int internalFormat, int width, int height, int depth, boolean fixedSampleLocations, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorageMem3DMultisampleEXT).invokeExact(texture, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNamedBufferStorageMemEXT(int buffer, long size, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glNamedBufferStorageMemEXT).invokeExact(buffer, size, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexStorageMem1DEXT(int target, int levels, int internalFormat, int width, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorageMem1DEXT).invokeExact(target, levels, internalFormat, width, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTextureStorageMem1DEXT(int texture, int levels, int internalFormat, int width, int memory, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureStorageMem1DEXT).invokeExact(texture, levels, internalFormat, width, memory, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java new file mode 100644 index 00000000..0c70e4f1 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectFd.java @@ -0,0 +1,44 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_memory_object_fd} + */ +public final class GLEXTMemoryObjectFd { + public static final int GL_HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_memory_object_fd) return; + ext.glImportMemoryFdEXT = load.invoke("glImportMemoryFdEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, JAVA_INT)); + } + + public static void glImportMemoryFdEXT(int memory, long size, int handleType, int fd) { + final var ext = getExtCapabilities(); + try { + check(ext.glImportMemoryFdEXT).invokeExact(memory, size, handleType, fd); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java new file mode 100644 index 00000000..1f3c4110 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMemoryObjectWin32.java @@ -0,0 +1,60 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_memory_object_win32} + */ +public final class GLEXTMemoryObjectWin32 { + public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; + public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; + public static final int GL_DEVICE_LUID_EXT = 0x9599; + public static final int GL_DEVICE_NODE_MASK_EXT = 0x959A; + public static final int GL_LUID_SIZE_EXT = 8; + public static final int GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589; + public static final int GL_HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A; + public static final int GL_HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B; + public static final int GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_memory_object_win32) return; + ext.glImportMemoryWin32HandleEXT = load.invoke("glImportMemoryWin32HandleEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, ADDRESS)); + ext.glImportMemoryWin32NameEXT = load.invoke("glImportMemoryWin32NameEXT", ofVoid(JAVA_INT, JAVA_LONG, JAVA_INT, ADDRESS)); + } + + public static void glImportMemoryWin32HandleEXT(int memory, long size, int handleType, @NativeType("void *") MemorySegment handle) { + final var ext = getExtCapabilities(); + try { + check(ext.glImportMemoryWin32HandleEXT).invokeExact(memory, size, handleType, handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glImportMemoryWin32NameEXT(int memory, long size, int handleType, @NativeType("const void *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glImportMemoryWin32NameEXT).invokeExact(memory, size, handleType, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java new file mode 100644 index 00000000..3989033f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultiDrawArrays.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_multi_draw_arrays} + */ +public final class GLEXTMultiDrawArrays { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_multi_draw_arrays) return; + ext.glMultiDrawArraysEXT = load.invoke("glMultiDrawArraysEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS, JAVA_INT)); + ext.glMultiDrawElementsEXT = load.invoke("glMultiDrawElementsEXT", ofVoid(JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, JAVA_INT)); + } + + public static void glMultiDrawArraysEXT(int mode, @NativeType("const GLint *") MemorySegment first, @NativeType("const GLsizei *") MemorySegment count, int primcount) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawArraysEXT).invokeExact(mode, first, count, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMultiDrawElementsEXT(int mode, @NativeType("const GLsizei *") MemorySegment count, int type, @NativeType("const void *const*") MemorySegment indices, int primcount) { + final var ext = getExtCapabilities(); + try { + check(ext.glMultiDrawElementsEXT).invokeExact(mode, count, type, indices, primcount); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java new file mode 100644 index 00000000..6523fbd9 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTMultisample.java @@ -0,0 +1,68 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_multisample} + */ +public final class GLEXTMultisample { + public static final int GL_MULTISAMPLE_EXT = 0x809D; + public static final int GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; + public static final int GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; + public static final int GL_SAMPLE_MASK_EXT = 0x80A0; + public static final int GL_1PASS_EXT = 0x80A1; + public static final int GL_2PASS_0_EXT = 0x80A2; + public static final int GL_2PASS_1_EXT = 0x80A3; + public static final int GL_4PASS_0_EXT = 0x80A4; + public static final int GL_4PASS_1_EXT = 0x80A5; + public static final int GL_4PASS_2_EXT = 0x80A6; + public static final int GL_4PASS_3_EXT = 0x80A7; + public static final int GL_SAMPLE_BUFFERS_EXT = 0x80A8; + public static final int GL_SAMPLES_EXT = 0x80A9; + public static final int GL_SAMPLE_MASK_VALUE_EXT = 0x80AA; + public static final int GL_SAMPLE_MASK_INVERT_EXT = 0x80AB; + public static final int GL_SAMPLE_PATTERN_EXT = 0x80AC; + public static final int GL_MULTISAMPLE_BIT_EXT = 0x20000000; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_multisample) return; + ext.glSampleMaskEXT = load.invoke("glSampleMaskEXT", ofVoid(JAVA_FLOAT, JAVA_BYTE)); + ext.glSamplePatternEXT = load.invoke("glSamplePatternEXT", ofVoid(JAVA_INT)); + } + + public static void glSampleMaskEXT(float value, boolean invert) { + final var ext = getExtCapabilities(); + try { + check(ext.glSampleMaskEXT).invokeExact(value, invert); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSamplePatternEXT(int pattern) { + final var ext = getExtCapabilities(); + try { + check(ext.glSamplePatternEXT).invokeExact(pattern); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java new file mode 100644 index 00000000..d9499cff --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedDepthStencil.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_packed_depth_stencil} + */ +public final class GLEXTPackedDepthStencil { + public static final int GL_DEPTH_STENCIL_EXT = 0x84F9; + public static final int GL_UNSIGNED_INT_24_8_EXT = 0x84FA; + public static final int GL_DEPTH24_STENCIL8_EXT = 0x88F0; + public static final int GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java new file mode 100644 index 00000000..c9424fc7 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedFloat.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_packed_float} + */ +public final class GLEXTPackedFloat { + public static final int GL_R11F_G11F_B10F_EXT = 0x8C3A; + public static final int GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; + public static final int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java new file mode 100644 index 00000000..b8a22606 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPackedPixels.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_packed_pixels} + */ +public final class GLEXTPackedPixels { + public static final int GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032; + public static final int GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; + public static final int GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; + public static final int GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035; + public static final int GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java new file mode 100644 index 00000000..8efe224e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPalettedTexture.java @@ -0,0 +1,74 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_paletted_texture} + */ +public final class GLEXTPalettedTexture { + public static final int GL_COLOR_INDEX1_EXT = 0x80E2; + public static final int GL_COLOR_INDEX2_EXT = 0x80E3; + public static final int GL_COLOR_INDEX4_EXT = 0x80E4; + public static final int GL_COLOR_INDEX8_EXT = 0x80E5; + public static final int GL_COLOR_INDEX12_EXT = 0x80E6; + public static final int GL_COLOR_INDEX16_EXT = 0x80E7; + public static final int GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_paletted_texture) return; + ext.glColorTableEXT = load.invoke("glColorTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetColorTableEXT = load.invoke("glGetColorTableEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetColorTableParameterivEXT = load.invoke("glGetColorTableParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetColorTableParameterfvEXT = load.invoke("glGetColorTableParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glColorTableEXT(int target, int internalFormat, int width, int format, int type, @NativeType("const void *") MemorySegment table) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorTableEXT).invokeExact(target, internalFormat, width, format, type, table); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableEXT(int target, int format, int type, @NativeType("void *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableEXT).invokeExact(target, format, type, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetColorTableParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetColorTableParameterfvEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java new file mode 100644 index 00000000..1652e0e4 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelBufferObject.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_pixel_buffer_object} + */ +public final class GLEXTPixelBufferObject { + public static final int GL_PIXEL_PACK_BUFFER_EXT = 0x88EB; + public static final int GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC; + public static final int GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; + public static final int GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java new file mode 100644 index 00000000..f953f74c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPixelTransform.java @@ -0,0 +1,92 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_pixel_transform} + */ +public final class GLEXTPixelTransform { + public static final int GL_PIXEL_TRANSFORM_2D_EXT = 0x8330; + public static final int GL_PIXEL_MAG_FILTER_EXT = 0x8331; + public static final int GL_PIXEL_MIN_FILTER_EXT = 0x8332; + public static final int GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333; + public static final int GL_CUBIC_EXT = 0x8334; + public static final int GL_AVERAGE_EXT = 0x8335; + public static final int GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; + public static final int GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; + public static final int GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_pixel_transform) return; + ext.glPixelTransformParameteriEXT = load.invoke("glPixelTransformParameteriEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glPixelTransformParameterfEXT = load.invoke("glPixelTransformParameterfEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_FLOAT)); + ext.glPixelTransformParameterivEXT = load.invoke("glPixelTransformParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glPixelTransformParameterfvEXT = load.invoke("glPixelTransformParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPixelTransformParameterivEXT = load.invoke("glGetPixelTransformParameterivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPixelTransformParameterfvEXT = load.invoke("glGetPixelTransformParameterfvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glPixelTransformParameteriEXT(int target, int pname, int param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTransformParameteriEXT).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelTransformParameterfEXT(int target, int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTransformParameterfEXT).invokeExact(target, pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelTransformParameterivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTransformParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPixelTransformParameterfvEXT(int target, int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPixelTransformParameterfvEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPixelTransformParameterivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPixelTransformParameterivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPixelTransformParameterfvEXT(int target, int pname, @NativeType("GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPixelTransformParameterfvEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java new file mode 100644 index 00000000..f3e9e1b9 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPointParameters.java @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_point_parameters} + */ +public final class GLEXTPointParameters { + public static final int GL_POINT_SIZE_MIN_EXT = 0x8126; + public static final int GL_POINT_SIZE_MAX_EXT = 0x8127; + public static final int GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; + public static final int GL_DISTANCE_ATTENUATION_EXT = 0x8129; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_point_parameters) return; + ext.glPointParameterfEXT = load.invoke("glPointParameterfEXT", ofVoid(JAVA_INT, JAVA_FLOAT)); + ext.glPointParameterfvEXT = load.invoke("glPointParameterfvEXT", ofVoid(JAVA_INT, ADDRESS)); + } + + public static void glPointParameterfEXT(int pname, float param) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointParameterfEXT).invokeExact(pname, param); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPointParameterfvEXT(int pname, @NativeType("const GLfloat *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glPointParameterfvEXT).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java new file mode 100644 index 00000000..caba52c5 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffset.java @@ -0,0 +1,46 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_polygon_offset} + */ +public final class GLEXTPolygonOffset { + public static final int GL_POLYGON_OFFSET_EXT = 0x8037; + public static final int GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038; + public static final int GL_POLYGON_OFFSET_BIAS_EXT = 0x8039; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_polygon_offset) return; + ext.glPolygonOffsetEXT = load.invoke("glPolygonOffsetEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT)); + } + + public static void glPolygonOffsetEXT(float factor, float bias) { + final var ext = getExtCapabilities(); + try { + check(ext.glPolygonOffsetEXT).invokeExact(factor, bias); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java new file mode 100644 index 00000000..542a5292 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTPolygonOffsetClamp.java @@ -0,0 +1,44 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_polygon_offset_clamp} + */ +public final class GLEXTPolygonOffsetClamp { + public static final int GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_polygon_offset_clamp) return; + ext.glPolygonOffsetClampEXT = load.invoke("glPolygonOffsetClampEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + } + + public static void glPolygonOffsetClampEXT(float factor, float units, float clamp) { + final var ext = getExtCapabilities(); + try { + check(ext.glPolygonOffsetClampEXT).invokeExact(factor, units, clamp); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java new file mode 100644 index 00000000..a33550a0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTProvokingVertex.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_provoking_vertex} + */ +public final class GLEXTProvokingVertex { + public static final int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; + public static final int GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; + public static final int GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E; + public static final int GL_PROVOKING_VERTEX_EXT = 0x8E4F; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_provoking_vertex) return; + ext.glProvokingVertexEXT = load.invoke("glProvokingVertexEXT", ofVoid(JAVA_INT)); + } + + public static void glProvokingVertexEXT(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glProvokingVertexEXT).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java new file mode 100644 index 00000000..aa73e81e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRasterMultisample.java @@ -0,0 +1,49 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_raster_multisample} + */ +public final class GLEXTRasterMultisample { + public static final int GL_RASTER_MULTISAMPLE_EXT = 0x9327; + public static final int GL_RASTER_SAMPLES_EXT = 0x9328; + public static final int GL_MAX_RASTER_SAMPLES_EXT = 0x9329; + public static final int GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; + public static final int GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; + public static final int GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_raster_multisample) return; + ext.glRasterSamplesEXT = load.invoke("glRasterSamplesEXT", ofVoid(JAVA_INT, JAVA_BYTE)); + } + + public static void glRasterSamplesEXT(int samples, boolean fixedsamplelocations) { + final var ext = getExtCapabilities(); + try { + check(ext.glRasterSamplesEXT).invokeExact(samples, fixedsamplelocations); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java new file mode 100644 index 00000000..29e22b98 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTRescaleNormal.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_rescale_normal} + */ +public final class GLEXTRescaleNormal { + public static final int GL_RESCALE_NORMAL_EXT = 0x803A; +} From 65eacd1483c7588a964465336be6f3d8e19784b8 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 23 Dec 2023 15:20:17 +0800 Subject: [PATCH 36/44] [OpenGL] Update extensions --- .../kotlin/overrungl/opengl/GLEXT.kt | 80 ++++++++ .../main/java/overrungl/opengl/GLExtCaps.java | 91 ++++----- .../opengl/ext/ext/GLEXTSecondaryColor.java | 178 ++++++++++++++++++ .../opengl/ext/ext/GLEXTSemaphore.java | 101 ++++++++++ .../opengl/ext/ext/GLEXTSemaphoreFd.java | 43 +++++ .../opengl/ext/ext/GLEXTSemaphoreWin32.java | 53 ++++++ 6 files changed, 503 insertions(+), 43 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt index f9d1ae17..fb76eb8a 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt @@ -2661,4 +2661,84 @@ fun ext() { "glRasterSamplesEXT"(void, GLuint("samples"), GLboolean("fixedsamplelocations")) } file("RescaleNormal", EXT, "GL_EXT_rescale_normal", "GL_RESCALE_NORMAL_EXT" to "0x803A") + file("SecondaryColor", EXT, "GL_EXT_secondary_color") { + "GL_COLOR_SUM_EXT"("0x8458") + "GL_CURRENT_SECONDARY_COLOR_EXT"("0x8459") + "GL_SECONDARY_COLOR_ARRAY_SIZE_EXT"("0x845A") + "GL_SECONDARY_COLOR_ARRAY_TYPE_EXT"("0x845B") + "GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT"("0x845C") + "GL_SECONDARY_COLOR_ARRAY_POINTER_EXT"("0x845D") + "GL_SECONDARY_COLOR_ARRAY_EXT"("0x845E") + "glSecondaryColor3bEXT"(void, GLbyte("red"), GLbyte("green"), GLbyte("blue")) + "glSecondaryColor3bvEXT"(void, address("v", "const GLbyte *")) + "glSecondaryColor3dEXT"(void, GLdouble("red"), GLdouble("green"), GLdouble("blue")) + "glSecondaryColor3dvEXT"(void, address("v", "const GLdouble *")) + "glSecondaryColor3fEXT"(void, GLfloat("red"), GLfloat("green"), GLfloat("blue")) + "glSecondaryColor3fvEXT"(void, address("v", "const GLfloat *")) + "glSecondaryColor3iEXT"(void, GLint("red"), GLint("green"), GLint("blue")) + "glSecondaryColor3ivEXT"(void, address("v", "const GLint *")) + "glSecondaryColor3sEXT"(void, GLshort("red"), GLshort("green"), GLshort("blue")) + "glSecondaryColor3svEXT"(void, address("v", "const GLshort *")) + "glSecondaryColor3ubEXT"(void, GLubyte("red"), GLubyte("green"), GLubyte("blue")) + "glSecondaryColor3ubvEXT"(void, address("v", "const GLubyte *")) + "glSecondaryColor3uiEXT"(void, GLuint("red"), GLuint("green"), GLuint("blue")) + "glSecondaryColor3uivEXT"(void, address("v", "const GLuint *")) + "glSecondaryColor3usEXT"(void, GLushort("red"), GLushort("green"), GLushort("blue")) + "glSecondaryColor3usvEXT"(void, address("v", "const GLushort *")) + "glSecondaryColorPointerEXT"( + void, + GLint("size"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + } + file("Semaphore", EXT, "GL_EXT_semaphore") { + "GL_LAYOUT_GENERAL_EXT"("0x958D") + "GL_LAYOUT_COLOR_ATTACHMENT_EXT"("0x958E") + "GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT"("0x958F") + "GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT"("0x9590") + "GL_LAYOUT_SHADER_READ_ONLY_EXT"("0x9591") + "GL_LAYOUT_TRANSFER_SRC_EXT"("0x9592") + "GL_LAYOUT_TRANSFER_DST_EXT"("0x9593") + "GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT"("0x9530") + "GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT"("0x9531") + "glGenSemaphoresEXT"(void, GLsizei("n"), address("semaphores", "GLuint *")) + "glDeleteSemaphoresEXT"(void, GLsizei("n"), address("semaphores", "const GLuint *")) + "glIsSemaphoreEXT"(GLboolean, GLuint("semaphore")) + "glSemaphoreParameterui64vEXT"( + void, + GLuint("semaphore"), + GLenum("pname"), + address("params", "const GLuint64 *") + ) + "glGetSemaphoreParameterui64vEXT"(void, GLuint("semaphore"), GLenum("pname"), address("params", "GLuint64 *")) + "glWaitSemaphoreEXT"( + void, + GLuint("semaphore"), + GLuint("numBufferBarriers"), + address("buffers", "const GLuint *"), + GLuint("numTextureBarriers"), + address("textures", "const GLuint *"), + address("srcLayouts", "const GLenum *") + ) + "glSignalSemaphoreEXT"( + void, + GLuint("semaphore"), + GLuint("numBufferBarriers"), + address("buffers", "const GLuint *"), + GLuint("numTextureBarriers"), + address("textures", "const GLuint *"), + address("dstLayouts", "const GLenum *") + ) + } + file("SemaphoreFd", EXT, "GL_EXT_semaphore_fd") { + "glImportSemaphoreFdEXT"(void, GLuint("semaphore"), GLenum("handleType"), GLint("fd")) + } + file("SemaphoreWin32", EXT, "GL_EXT_semaphore_win32") { + "GL_HANDLE_TYPE_D3D12_FENCE_EXT"("0x9594") + "GL_D3D12_FENCE_VALUE_EXT"("0x9595") + "glImportSemaphoreWin32HandleEXT"(void, GLuint("semaphore"), GLenum("handleType"), address("handle", "void * ")) + "glImportSemaphoreWin32NameEXT"(void, GLuint("semaphore"), GLenum("handleType"), address("name", "const void *")) + } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 3e849f8d..239f76c6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -131,49 +131,50 @@ public GLExtCaps(GLCapabilities caps) { glMinmaxEXT, glResetHistogramEXT, glResetMinmaxEXT, glIndexFuncEXT, glIndexMaterialEXT, glApplyTextureEXT, glTextureLightEXT, glTextureMaterialEXT, glGetUnsignedBytevEXT, glGetUnsignedBytei_vEXT, glDeleteMemoryObjectsEXT, glIsMemoryObjectEXT, glCreateMemoryObjectsEXT, glMemoryObjectParameterivEXT, glGetMemoryObjectParameterivEXT, glTexStorageMem2DEXT, glTexStorageMem2DMultisampleEXT, glTexStorageMem3DEXT, glTexStorageMem3DMultisampleEXT, glBufferStorageMemEXT, glTextureStorageMem2DEXT, glTextureStorageMem2DMultisampleEXT, glTextureStorageMem3DEXT, glTextureStorageMem3DMultisampleEXT, glNamedBufferStorageMemEXT, glTexStorageMem1DEXT, glTextureStorageMem1DEXT, glImportMemoryFdEXT, glImportMemoryWin32HandleEXT, glImportMemoryWin32NameEXT, glMultiDrawArraysEXT, glMultiDrawElementsEXT, glSampleMaskEXT, glSamplePatternEXT, glColorTableEXT, glGetColorTableEXT, glGetColorTableParameterivEXT, glGetColorTableParameterfvEXT, glPixelTransformParameteriEXT, glPixelTransformParameterfEXT, glPixelTransformParameterivEXT, glPixelTransformParameterfvEXT, glGetPixelTransformParameterivEXT, glGetPixelTransformParameterfvEXT, glPointParameterfEXT, glPointParameterfvEXT, glPolygonOffsetEXT, glPolygonOffsetClampEXT, - glProvokingVertexEXT, glRasterSamplesEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, - glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, - glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, - glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, - glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, - glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, - glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, - glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, - glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, - glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, - glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, - glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, - glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, - glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, - glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, - glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, - glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, - glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, - glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, - glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, - glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, - glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, - glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, - glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, - glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, - glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, - glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, - glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, - glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, - glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, - glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, - glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, - glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, - glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, - glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, - glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, - glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, - glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, - glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, - glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, - glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, - glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, - glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glProvokingVertexEXT, glRasterSamplesEXT, glSecondaryColor3bEXT, glSecondaryColor3bvEXT, glSecondaryColor3dEXT, glSecondaryColor3dvEXT, glSecondaryColor3fEXT, glSecondaryColor3fvEXT, glSecondaryColor3iEXT, glSecondaryColor3ivEXT, glSecondaryColor3sEXT, glSecondaryColor3svEXT, glSecondaryColor3ubEXT, glSecondaryColor3ubvEXT, glSecondaryColor3uiEXT, glSecondaryColor3uivEXT, + glSecondaryColor3usEXT, glSecondaryColor3usvEXT, glSecondaryColorPointerEXT, glGenSemaphoresEXT, glDeleteSemaphoresEXT, glIsSemaphoreEXT, glSemaphoreParameterui64vEXT, glGetSemaphoreParameterui64vEXT, glWaitSemaphoreEXT, glSignalSemaphoreEXT, glImportSemaphoreFdEXT, glImportSemaphoreWin32HandleEXT, glImportSemaphoreWin32NameEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, + glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, + glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, + glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, + glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, + glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, + glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, + glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, + glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, + glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, + glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, + glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, + glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, + glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, + glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, + glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, + glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, + glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, + glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, + glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, + glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, + glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, + glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, + glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, + glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, + glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, + glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, + glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, + glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, + glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, + glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, + glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, + glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, + glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, + glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, + glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, + glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, + glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, + glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, + glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, + glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, + glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, + glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -297,6 +298,10 @@ void load(GLLoadFunc load) { GLEXTPolygonOffsetClamp.load(this, load); GLEXTProvokingVertex.load(this, load); GLEXTRasterMultisample.load(this, load); + GLEXTSecondaryColor.load(this, load); + GLEXTSemaphore.load(this, load); + GLEXTSemaphoreFd.load(this, load); + GLEXTSemaphoreWin32.load(this, load); GLGREMEDYFrameTerminator.load(this, load); GLGREMEDYStringMarker.load(this, load); GLHPImageTransform.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java new file mode 100644 index 00000000..1d622f29 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSecondaryColor.java @@ -0,0 +1,178 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_secondary_color} + */ +public final class GLEXTSecondaryColor { + public static final int GL_COLOR_SUM_EXT = 0x8458; + public static final int GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459; + public static final int GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; + public static final int GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; + public static final int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; + public static final int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; + public static final int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_secondary_color) return; + ext.glSecondaryColor3bEXT = load.invoke("glSecondaryColor3bEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glSecondaryColor3bvEXT = load.invoke("glSecondaryColor3bvEXT", ofVoid(ADDRESS)); + ext.glSecondaryColor3dEXT = load.invoke("glSecondaryColor3dEXT", ofVoid(JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glSecondaryColor3dvEXT = load.invoke("glSecondaryColor3dvEXT", ofVoid(ADDRESS)); + ext.glSecondaryColor3fEXT = load.invoke("glSecondaryColor3fEXT", ofVoid(JAVA_FLOAT, JAVA_FLOAT, JAVA_FLOAT)); + ext.glSecondaryColor3fvEXT = load.invoke("glSecondaryColor3fvEXT", ofVoid(ADDRESS)); + ext.glSecondaryColor3iEXT = load.invoke("glSecondaryColor3iEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glSecondaryColor3ivEXT = load.invoke("glSecondaryColor3ivEXT", ofVoid(ADDRESS)); + ext.glSecondaryColor3sEXT = load.invoke("glSecondaryColor3sEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glSecondaryColor3svEXT = load.invoke("glSecondaryColor3svEXT", ofVoid(ADDRESS)); + ext.glSecondaryColor3ubEXT = load.invoke("glSecondaryColor3ubEXT", ofVoid(JAVA_BYTE, JAVA_BYTE, JAVA_BYTE)); + ext.glSecondaryColor3ubvEXT = load.invoke("glSecondaryColor3ubvEXT", ofVoid(ADDRESS)); + ext.glSecondaryColor3uiEXT = load.invoke("glSecondaryColor3uiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glSecondaryColor3uivEXT = load.invoke("glSecondaryColor3uivEXT", ofVoid(ADDRESS)); + ext.glSecondaryColor3usEXT = load.invoke("glSecondaryColor3usEXT", ofVoid(JAVA_SHORT, JAVA_SHORT, JAVA_SHORT)); + ext.glSecondaryColor3usvEXT = load.invoke("glSecondaryColor3usvEXT", ofVoid(ADDRESS)); + ext.glSecondaryColorPointerEXT = load.invoke("glSecondaryColorPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glSecondaryColor3bEXT(byte red, byte green, byte blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3bEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3bvEXT(@NativeType("const GLbyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3bvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3dEXT(double red, double green, double blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3dEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3dvEXT(@NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3dvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3fEXT(float red, float green, float blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3fEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3fvEXT(@NativeType("const GLfloat *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3fvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3iEXT(int red, int green, int blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3iEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3ivEXT(@NativeType("const GLint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3ivEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3sEXT(short red, short green, short blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3sEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3svEXT(@NativeType("const GLshort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3svEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3ubEXT(byte red, byte green, byte blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3ubEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3ubvEXT(@NativeType("const GLubyte *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3ubvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3uiEXT(int red, int green, int blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3uiEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3uivEXT(@NativeType("const GLuint *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3uivEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3usEXT(short red, short green, short blue) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3usEXT).invokeExact(red, green, blue); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColor3usvEXT(@NativeType("const GLushort *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColor3usvEXT).invokeExact(v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSecondaryColorPointerEXT(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glSecondaryColorPointerEXT).invokeExact(size, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java new file mode 100644 index 00000000..2c63bec0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphore.java @@ -0,0 +1,101 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_semaphore} + */ +public final class GLEXTSemaphore { + public static final int GL_LAYOUT_GENERAL_EXT = 0x958D; + public static final int GL_LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E; + public static final int GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F; + public static final int GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590; + public static final int GL_LAYOUT_SHADER_READ_ONLY_EXT = 0x9591; + public static final int GL_LAYOUT_TRANSFER_SRC_EXT = 0x9592; + public static final int GL_LAYOUT_TRANSFER_DST_EXT = 0x9593; + public static final int GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530; + public static final int GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_semaphore) return; + ext.glGenSemaphoresEXT = load.invoke("glGenSemaphoresEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glDeleteSemaphoresEXT = load.invoke("glDeleteSemaphoresEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsSemaphoreEXT = load.invoke("glIsSemaphoreEXT", of(JAVA_BYTE, JAVA_INT)); + ext.glSemaphoreParameterui64vEXT = load.invoke("glSemaphoreParameterui64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetSemaphoreParameterui64vEXT = load.invoke("glGetSemaphoreParameterui64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glWaitSemaphoreEXT = load.invoke("glWaitSemaphoreEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); + ext.glSignalSemaphoreEXT = load.invoke("glSignalSemaphoreEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT, ADDRESS, ADDRESS)); + } + + public static void glGenSemaphoresEXT(int n, @NativeType("GLuint *") MemorySegment semaphores) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenSemaphoresEXT).invokeExact(n, semaphores); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteSemaphoresEXT(int n, @NativeType("const GLuint *") MemorySegment semaphores) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteSemaphoresEXT).invokeExact(n, semaphores); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsSemaphoreEXT(int semaphore) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsSemaphoreEXT).invokeExact(semaphore); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSemaphoreParameterui64vEXT(int semaphore, int pname, @NativeType("const GLuint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glSemaphoreParameterui64vEXT).invokeExact(semaphore, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetSemaphoreParameterui64vEXT(int semaphore, int pname, @NativeType("GLuint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetSemaphoreParameterui64vEXT).invokeExact(semaphore, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWaitSemaphoreEXT(int semaphore, int numBufferBarriers, @NativeType("const GLuint *") MemorySegment buffers, int numTextureBarriers, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLenum *") MemorySegment srcLayouts) { + final var ext = getExtCapabilities(); + try { + check(ext.glWaitSemaphoreEXT).invokeExact(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, srcLayouts); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSignalSemaphoreEXT(int semaphore, int numBufferBarriers, @NativeType("const GLuint *") MemorySegment buffers, int numTextureBarriers, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLenum *") MemorySegment dstLayouts) { + final var ext = getExtCapabilities(); + try { + check(ext.glSignalSemaphoreEXT).invokeExact(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, dstLayouts); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java new file mode 100644 index 00000000..87c76872 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreFd.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_semaphore_fd} + */ +public final class GLEXTSemaphoreFd { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_semaphore_fd) return; + ext.glImportSemaphoreFdEXT = load.invoke("glImportSemaphoreFdEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glImportSemaphoreFdEXT(int semaphore, int handleType, int fd) { + final var ext = getExtCapabilities(); + try { + check(ext.glImportSemaphoreFdEXT).invokeExact(semaphore, handleType, fd); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java new file mode 100644 index 00000000..2ff6618a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSemaphoreWin32.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_semaphore_win32} + */ +public final class GLEXTSemaphoreWin32 { + public static final int GL_HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594; + public static final int GL_D3D12_FENCE_VALUE_EXT = 0x9595; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_semaphore_win32) return; + ext.glImportSemaphoreWin32HandleEXT = load.invoke("glImportSemaphoreWin32HandleEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glImportSemaphoreWin32NameEXT = load.invoke("glImportSemaphoreWin32NameEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glImportSemaphoreWin32HandleEXT(int semaphore, int handleType, @NativeType("void * ") MemorySegment handle) { + final var ext = getExtCapabilities(); + try { + check(ext.glImportSemaphoreWin32HandleEXT).invokeExact(semaphore, handleType, handle); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glImportSemaphoreWin32NameEXT(int semaphore, int handleType, @NativeType("const void *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glImportSemaphoreWin32NameEXT).invokeExact(semaphore, handleType, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} From 1acec2c5509c4c5cd8b0eb4d944e700fd2b802f2 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 29 Dec 2023 13:49:46 +0800 Subject: [PATCH 37/44] [OpenGL] Updated extensions. --- .../kotlin/overrungl/opengl/GLEXT.kt | 877 ++++++++++++++++++ .../main/java/overrungl/opengl/GLExtCaps.java | 115 ++- .../ext/ext/GLEXTSeparateShaderObjects.java | 61 ++ .../ext/ext/GLEXTSeparateSpecularColor.java | 34 + .../ext/ext/GLEXTShaderFramebufferFetch.java | 32 + ...LEXTShaderFramebufferFetchNonCoherent.java | 43 + .../ext/ext/GLEXTShaderImageLoadStore.java | 106 +++ .../ext/ext/GLEXTSharedTexturePalette.java | 32 + .../opengl/ext/ext/GLEXTStencilClearTag.java | 45 + .../opengl/ext/ext/GLEXTStencilTwoSide.java | 45 + .../opengl/ext/ext/GLEXTStencilWrap.java | 33 + .../opengl/ext/ext/GLEXTSubtexture.java | 51 + .../opengl/ext/ext/GLEXTTexture.java | 74 ++ .../opengl/ext/ext/GLEXTTexture3D.java | 60 ++ .../opengl/ext/ext/GLEXTTextureArray.java | 51 + .../ext/ext/GLEXTTextureBufferObject.java | 48 + .../ext/ext/GLEXTTextureCompressionLatc.java | 35 + .../ext/ext/GLEXTTextureCompressionRgtc.java | 35 + .../ext/ext/GLEXTTextureCompressionS3tc.java | 35 + .../opengl/ext/ext/GLEXTTextureCubeMap.java | 43 + .../ext/ext/GLEXTTextureEnvCombine.java | 52 ++ .../opengl/ext/ext/GLEXTTextureEnvDot3.java | 33 + .../ext/GLEXTTextureFilterAnisotropic.java | 33 + .../ext/ext/GLEXTTextureFilterMinmax.java | 33 + .../opengl/ext/ext/GLEXTTextureInteger.java | 130 +++ .../opengl/ext/ext/GLEXTTextureLodBias.java | 34 + .../ext/ext/GLEXTTextureMirrorClamp.java | 34 + .../opengl/ext/ext/GLEXTTextureObject.java | 90 ++ .../ext/ext/GLEXTTexturePerturbNormal.java | 45 + .../ext/ext/GLEXTTextureSharedExponent.java | 34 + .../opengl/ext/ext/GLEXTTextureSnorm.java | 47 + .../opengl/ext/ext/GLEXTTextureSrgb.java | 47 + .../ext/ext/GLEXTTextureSrgbDecode.java | 34 + .../opengl/ext/ext/GLEXTTextureSrgbR8.java | 32 + .../opengl/ext/ext/GLEXTTextureSrgbRGB.java | 32 + .../opengl/ext/ext/GLEXTTextureStorage.java | 77 ++ .../opengl/ext/ext/GLEXTTextureSwizzle.java | 36 + .../opengl/ext/ext/GLEXTTimerQuery.java | 52 ++ .../ext/ext/GLEXTTransformFeedback.java | 106 +++ .../opengl/ext/ext/GLEXTVertexArray.java | 139 +++ .../ext/ext/GLEXTVertexAttrib64bit.java | 127 +++ .../opengl/ext/ext/GLEXTVertexShader.java | 489 ++++++++++ .../opengl/ext/ext/GLEXTVertexWeighting.java | 72 ++ .../opengl/ext/ext/GLEXTWin32KeyedMutex.java | 53 ++ .../opengl/ext/ext/GLEXTWindowRectangles.java | 49 + .../opengl/ext/ext/GLEXTX11SyncObject.java | 45 + 46 files changed, 3767 insertions(+), 43 deletions(-) create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java create mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt index fb76eb8a..0bb3a3de 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/GLEXT.kt @@ -2741,4 +2741,881 @@ fun ext() { "glImportSemaphoreWin32HandleEXT"(void, GLuint("semaphore"), GLenum("handleType"), address("handle", "void * ")) "glImportSemaphoreWin32NameEXT"(void, GLuint("semaphore"), GLenum("handleType"), address("name", "const void *")) } + file("SeparateShaderObjects", EXT, "GL_EXT_separate_shader_objects") { + "GL_ACTIVE_PROGRAM_EXT"("0x8B8D") + "glUseShaderProgramEXT"(void, GLenum("type"), GLuint("program")) + "glActiveProgramEXT"(void, GLuint("program")) + "glCreateShaderProgramEXT"(GLuint, GLenum("type"), address("string", "const GLchar *")) + } + file( + "SeparateSpecularColor", EXT, "GL_EXT_separate_specular_color", + "GL_LIGHT_MODEL_COLOR_CONTROL_EXT" to "0x81F8", + "GL_SINGLE_COLOR_EXT" to "0x81F9", + "GL_SEPARATE_SPECULAR_COLOR_EXT" to "0x81FA" + ) + file("ShaderFramebufferFetch", EXT, "GL_EXT_shader_framebuffer_fetch", "GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT" to "0x8A52") + file("ShaderFramebufferFetchNonCoherent", EXT, "GL_EXT_shader_framebuffer_fetch_non_coherent") { + "glFramebufferFetchBarrierEXT"(void) + } + file("ShaderImageLoadStore", EXT, "GL_EXT_shader_image_load_store") { + "GL_MAX_IMAGE_UNITS_EXT"("0x8F38") + "GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT"("0x8F39") + "GL_IMAGE_BINDING_NAME_EXT"("0x8F3A") + "GL_IMAGE_BINDING_LEVEL_EXT"("0x8F3B") + "GL_IMAGE_BINDING_LAYERED_EXT"("0x8F3C") + "GL_IMAGE_BINDING_LAYER_EXT"("0x8F3D") + "GL_IMAGE_BINDING_ACCESS_EXT"("0x8F3E") + "GL_IMAGE_1D_EXT"("0x904C") + "GL_IMAGE_2D_EXT"("0x904D") + "GL_IMAGE_3D_EXT"("0x904E") + "GL_IMAGE_2D_RECT_EXT"("0x904F") + "GL_IMAGE_CUBE_EXT"("0x9050") + "GL_IMAGE_BUFFER_EXT"("0x9051") + "GL_IMAGE_1D_ARRAY_EXT"("0x9052") + "GL_IMAGE_2D_ARRAY_EXT"("0x9053") + "GL_IMAGE_CUBE_MAP_ARRAY_EXT"("0x9054") + "GL_IMAGE_2D_MULTISAMPLE_EXT"("0x9055") + "GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"("0x9056") + "GL_INT_IMAGE_1D_EXT"("0x9057") + "GL_INT_IMAGE_2D_EXT"("0x9058") + "GL_INT_IMAGE_3D_EXT"("0x9059") + "GL_INT_IMAGE_2D_RECT_EXT"("0x905A") + "GL_INT_IMAGE_CUBE_EXT"("0x905B") + "GL_INT_IMAGE_BUFFER_EXT"("0x905C") + "GL_INT_IMAGE_1D_ARRAY_EXT"("0x905D") + "GL_INT_IMAGE_2D_ARRAY_EXT"("0x905E") + "GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"("0x905F") + "GL_INT_IMAGE_2D_MULTISAMPLE_EXT"("0x9060") + "GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"("0x9061") + "GL_UNSIGNED_INT_IMAGE_1D_EXT"("0x9062") + "GL_UNSIGNED_INT_IMAGE_2D_EXT"("0x9063") + "GL_UNSIGNED_INT_IMAGE_3D_EXT"("0x9064") + "GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT"("0x9065") + "GL_UNSIGNED_INT_IMAGE_CUBE_EXT"("0x9066") + "GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"("0x9067") + "GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT"("0x9068") + "GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT"("0x9069") + "GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"("0x906A") + "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT"("0x906B") + "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"("0x906C") + "GL_MAX_IMAGE_SAMPLES_EXT"("0x906D") + "GL_IMAGE_BINDING_FORMAT_EXT"("0x906E") + "GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"("0x00000001") + "GL_ELEMENT_ARRAY_BARRIER_BIT_EXT"("0x00000002") + "GL_UNIFORM_BARRIER_BIT_EXT"("0x00000004") + "GL_TEXTURE_FETCH_BARRIER_BIT_EXT"("0x00000008") + "GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT"("0x00000020") + "GL_COMMAND_BARRIER_BIT_EXT"("0x00000040") + "GL_PIXEL_BUFFER_BARRIER_BIT_EXT"("0x00000080") + "GL_TEXTURE_UPDATE_BARRIER_BIT_EXT"("0x00000100") + "GL_BUFFER_UPDATE_BARRIER_BIT_EXT"("0x00000200") + "GL_FRAMEBUFFER_BARRIER_BIT_EXT"("0x00000400") + "GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"("0x00000800") + "GL_ATOMIC_COUNTER_BARRIER_BIT_EXT"("0x00001000") + "GL_ALL_BARRIER_BITS_EXT"("0xFFFFFFFF") + "glBindImageTextureEXT"( + void, + GLuint("index"), + GLuint("texture"), + GLint("level"), + GLboolean("layered"), + GLint("layer"), + GLenum("access"), + GLint("format") + ) + "glMemoryBarrierEXT"(void, GLbitfield("barriers")) + } + file("SharedTexturePalette", EXT, "GL_EXT_shared_texture_palette", "GL_SHARED_TEXTURE_PALETTE_EXT" to "0x81FB") + file("StencilClearTag", EXT, "GL_EXT_stencil_clear_tag") { + "GL_STENCIL_TAG_BITS_EXT"("0x88F2") + "GL_STENCIL_CLEAR_TAG_VALUE_EXT"("0x88F3") + "glStencilClearTagEXT"(void, GLsizei("stencilTagBits"), GLuint("stencilClearTag")) + } + file("StencilTwoSide", EXT, "GL_EXT_stencil_two_side") { + "GL_STENCIL_TEST_TWO_SIDE_EXT"("0x8910") + "GL_ACTIVE_STENCIL_FACE_EXT"("0x8911") + "glActiveStencilFaceEXT"(void, GLenum("face")) + } + file( + "StencilWrap", EXT, "GL_EXT_stencil_wrap", + "GL_INCR_WRAP_EXT" to "0x8507", + "GL_DECR_WRAP_EXT" to "0x8508" + ) + file("Subtexture", EXT, "GL_EXT_subtexture") { + "glTexSubImage1DEXT"( + void, + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLsizei("width"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glTexSubImage2DEXT"( + void, + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLsizei("width"), + GLsizei("height"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + } + file( + "Texture", EXT, "GL_EXT_texture", + "GL_ALPHA4_EXT" to "0x803B", + "GL_ALPHA8_EXT" to "0x803C", + "GL_ALPHA12_EXT" to "0x803D", + "GL_ALPHA16_EXT" to "0x803E", + "GL_LUMINANCE4_EXT" to "0x803F", + "GL_LUMINANCE8_EXT" to "0x8040", + "GL_LUMINANCE12_EXT" to "0x8041", + "GL_LUMINANCE16_EXT" to "0x8042", + "GL_LUMINANCE4_ALPHA4_EXT" to "0x8043", + "GL_LUMINANCE6_ALPHA2_EXT" to "0x8044", + "GL_LUMINANCE8_ALPHA8_EXT" to "0x8045", + "GL_LUMINANCE12_ALPHA4_EXT" to "0x8046", + "GL_LUMINANCE12_ALPHA12_EXT" to "0x8047", + "GL_LUMINANCE16_ALPHA16_EXT" to "0x8048", + "GL_INTENSITY_EXT" to "0x8049", + "GL_INTENSITY4_EXT" to "0x804A", + "GL_INTENSITY8_EXT" to "0x804B", + "GL_INTENSITY12_EXT" to "0x804C", + "GL_INTENSITY16_EXT" to "0x804D", + "GL_RGB2_EXT" to "0x804E", + "GL_RGB4_EXT" to "0x804F", + "GL_RGB5_EXT" to "0x8050", + "GL_RGB8_EXT" to "0x8051", + "GL_RGB10_EXT" to "0x8052", + "GL_RGB12_EXT" to "0x8053", + "GL_RGB16_EXT" to "0x8054", + "GL_RGBA2_EXT" to "0x8055", + "GL_RGBA4_EXT" to "0x8056", + "GL_RGB5_A1_EXT" to "0x8057", + "GL_RGBA8_EXT" to "0x8058", + "GL_RGB10_A2_EXT" to "0x8059", + "GL_RGBA12_EXT" to "0x805A", + "GL_RGBA16_EXT" to "0x805B", + "GL_TEXTURE_RED_SIZE_EXT" to "0x805C", + "GL_TEXTURE_GREEN_SIZE_EXT" to "0x805D", + "GL_TEXTURE_BLUE_SIZE_EXT" to "0x805E", + "GL_TEXTURE_ALPHA_SIZE_EXT" to "0x805F", + "GL_TEXTURE_LUMINANCE_SIZE_EXT" to "0x8060", + "GL_TEXTURE_INTENSITY_SIZE_EXT" to "0x8061", + "GL_REPLACE_EXT" to "0x8062", + "GL_PROXY_TEXTURE_1D_EXT" to "0x8063", + "GL_PROXY_TEXTURE_2D_EXT" to "0x8064", + "GL_TEXTURE_TOO_LARGE_EXT" to "0x8065" + ) + file("Texture3D", EXT, "GL_EXT_texture3D") { + "GL_PACK_SKIP_IMAGES_EXT"("0x806B") + "GL_PACK_IMAGE_HEIGHT_EXT"("0x806C") + "GL_UNPACK_SKIP_IMAGES_EXT"("0x806D") + "GL_UNPACK_IMAGE_HEIGHT_EXT"("0x806E") + "GL_TEXTURE_3D_EXT"("0x806F") + "GL_PROXY_TEXTURE_3D_EXT"("0x8070") + "GL_TEXTURE_DEPTH_EXT"("0x8071") + "GL_TEXTURE_WRAP_R_EXT"("0x8072") + "GL_MAX_3D_TEXTURE_SIZE_EXT"("0x8073") + "glTexImage3DEXT"( + void, + GLenum("target"), + GLint("level"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLint("border"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + "glTexSubImage3DEXT"( + void, + GLenum("target"), + GLint("level"), + GLint("xoffset"), + GLint("yoffset"), + GLint("zoffset"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth"), + GLenum("format"), + GLenum("type"), + address("pixels", "const void *") + ) + } + file("TextureArray", EXT, "GL_EXT_texture_array") { + "GL_TEXTURE_1D_ARRAY_EXT"("0x8C18") + "GL_PROXY_TEXTURE_1D_ARRAY_EXT"("0x8C19") + "GL_TEXTURE_2D_ARRAY_EXT"("0x8C1A") + "GL_PROXY_TEXTURE_2D_ARRAY_EXT"("0x8C1B") + "GL_TEXTURE_BINDING_1D_ARRAY_EXT"("0x8C1C") + "GL_TEXTURE_BINDING_2D_ARRAY_EXT"("0x8C1D") + "GL_MAX_ARRAY_TEXTURE_LAYERS_EXT"("0x88FF") + "GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT"("0x884E") + "glFramebufferTextureLayerEXT"( + void, + GLenum("target"), + GLenum("attachment"), + GLuint("texture"), + GLint("level"), + GLint("layer") + ) + } + file("TextureBufferObject", EXT, "GL_EXT_texture_buffer_object") { + "GL_TEXTURE_BUFFER_EXT"("0x8C2A") + "GL_MAX_TEXTURE_BUFFER_SIZE_EXT"("0x8C2B") + "GL_TEXTURE_BINDING_BUFFER_EXT"("0x8C2C") + "GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"("0x8C2D") + "GL_TEXTURE_BUFFER_FORMAT_EXT"("0x8C2E") + "glTexBufferEXT"(void, GLenum("target"), GLenum("internalformat"), GLuint("buffer")) + } + file( + "TextureCompressionLatc", EXT, "GL_EXT_texture_compression_latc", + "GL_COMPRESSED_LUMINANCE_LATC1_EXT" to "0x8C70", + "GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT" to "0x8C71", + "GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT" to "0x8C72", + "GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT" to "0x8C73" + ) + file( + "TextureCompressionRgtc", EXT, "GL_EXT_texture_compression_rgtc", + "GL_COMPRESSED_RED_RGTC1_EXT" to "0x8DBB", + "GL_COMPRESSED_SIGNED_RED_RGTC1_EXT" to "0x8DBC", + "GL_COMPRESSED_RED_GREEN_RGTC2_EXT" to "0x8DBD", + "GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT" to "0x8DBE" + ) + file( + "TextureCompressionS3tc", EXT, "GL_EXT_texture_compression_s3tc", + "GL_COMPRESSED_RGB_S3TC_DXT1_EXT" to "0x83F0", + "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" to "0x83F1", + "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT" to "0x83F2", + "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT" to "0x83F3" + ) + file( + "TextureCubeMap", EXT, "GL_EXT_texture_cube_map", + "GL_NORMAL_MAP_EXT" to "0x8511", + "GL_REFLECTION_MAP_EXT" to "0x8512", + "GL_TEXTURE_CUBE_MAP_EXT" to "0x8513", + "GL_TEXTURE_BINDING_CUBE_MAP_EXT" to "0x8514", + "GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT" to "0x8515", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT" to "0x8516", + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT" to "0x8517", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT" to "0x8518", + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT" to "0x8519", + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT" to "0x851A", + "GL_PROXY_TEXTURE_CUBE_MAP_EXT" to "0x851B", + "GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT" to "0x851C" + ) + file( + "TextureEnvCombine", EXT, "GL_EXT_texture_env_combine", + "GL_COMBINE_EXT" to "0x8570", + "GL_COMBINE_RGB_EXT" to "0x8571", + "GL_COMBINE_ALPHA_EXT" to "0x8572", + "GL_RGB_SCALE_EXT" to "0x8573", + "GL_ADD_SIGNED_EXT" to "0x8574", + "GL_INTERPOLATE_EXT" to "0x8575", + "GL_CONSTANT_EXT" to "0x8576", + "GL_PRIMARY_COLOR_EXT" to "0x8577", + "GL_PREVIOUS_EXT" to "0x8578", + "GL_SOURCE0_RGB_EXT" to "0x8580", + "GL_SOURCE1_RGB_EXT" to "0x8581", + "GL_SOURCE2_RGB_EXT" to "0x8582", + "GL_SOURCE0_ALPHA_EXT" to "0x8588", + "GL_SOURCE1_ALPHA_EXT" to "0x8589", + "GL_SOURCE2_ALPHA_EXT" to "0x858A", + "GL_OPERAND0_RGB_EXT" to "0x8590", + "GL_OPERAND1_RGB_EXT" to "0x8591", + "GL_OPERAND2_RGB_EXT" to "0x8592", + "GL_OPERAND0_ALPHA_EXT" to "0x8598", + "GL_OPERAND1_ALPHA_EXT" to "0x8599", + "GL_OPERAND2_ALPHA_EXT" to "0x859A" + ) + file( + "TextureEnvDot3", EXT, "GL_EXT_texture_env_dot3", + "GL_DOT3_RGB_EXT" to "0x8740", + "GL_DOT3_RGBA_EXT" to "0x8741" + ) + file( + "TextureFilterAnisotropic", EXT, "GL_EXT_texture_filter_anisotropic", + "GL_TEXTURE_MAX_ANISOTROPY_EXT" to "0x84FE", + "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT" to "0x84FF" + ) + file( + "TextureFilterMinmax", EXT, "GL_EXT_texture_filter_minmax", + "GL_TEXTURE_REDUCTION_MODE_EXT" to "0x9366", + "GL_WEIGHTED_AVERAGE_EXT" to "0x9367" + ) + file("TextureInteger", EXT, "GL_EXT_texture_integer") { + "GL_RGBA32UI_EXT"("0x8D70") + "GL_RGB32UI_EXT"("0x8D71") + "GL_ALPHA32UI_EXT"("0x8D72") + "GL_INTENSITY32UI_EXT"("0x8D73") + "GL_LUMINANCE32UI_EXT"("0x8D74") + "GL_LUMINANCE_ALPHA32UI_EXT"("0x8D75") + "GL_RGBA16UI_EXT"("0x8D76") + "GL_RGB16UI_EXT"("0x8D77") + "GL_ALPHA16UI_EXT"("0x8D78") + "GL_INTENSITY16UI_EXT"("0x8D79") + "GL_LUMINANCE16UI_EXT"("0x8D7A") + "GL_LUMINANCE_ALPHA16UI_EXT"("0x8D7B") + "GL_RGBA8UI_EXT"("0x8D7C") + "GL_RGB8UI_EXT"("0x8D7D") + "GL_ALPHA8UI_EXT"("0x8D7E") + "GL_INTENSITY8UI_EXT"("0x8D7F") + "GL_LUMINANCE8UI_EXT"("0x8D80") + "GL_LUMINANCE_ALPHA8UI_EXT"("0x8D81") + "GL_RGBA32I_EXT"("0x8D82") + "GL_RGB32I_EXT"("0x8D83") + "GL_ALPHA32I_EXT"("0x8D84") + "GL_INTENSITY32I_EXT"("0x8D85") + "GL_LUMINANCE32I_EXT"("0x8D86") + "GL_LUMINANCE_ALPHA32I_EXT"("0x8D87") + "GL_RGBA16I_EXT"("0x8D88") + "GL_RGB16I_EXT"("0x8D89") + "GL_ALPHA16I_EXT"("0x8D8A") + "GL_INTENSITY16I_EXT"("0x8D8B") + "GL_LUMINANCE16I_EXT"("0x8D8C") + "GL_LUMINANCE_ALPHA16I_EXT"("0x8D8D") + "GL_RGBA8I_EXT"("0x8D8E") + "GL_RGB8I_EXT"("0x8D8F") + "GL_ALPHA8I_EXT"("0x8D90") + "GL_INTENSITY8I_EXT"("0x8D91") + "GL_LUMINANCE8I_EXT"("0x8D92") + "GL_LUMINANCE_ALPHA8I_EXT"("0x8D93") + "GL_RED_INTEGER_EXT"("0x8D94") + "GL_GREEN_INTEGER_EXT"("0x8D95") + "GL_BLUE_INTEGER_EXT"("0x8D96") + "GL_ALPHA_INTEGER_EXT"("0x8D97") + "GL_RGB_INTEGER_EXT"("0x8D98") + "GL_RGBA_INTEGER_EXT"("0x8D99") + "GL_BGR_INTEGER_EXT"("0x8D9A") + "GL_BGRA_INTEGER_EXT"("0x8D9B") + "GL_LUMINANCE_INTEGER_EXT"("0x8D9C") + "GL_LUMINANCE_ALPHA_INTEGER_EXT"("0x8D9D") + "GL_RGBA_INTEGER_MODE_EXT"("0x8D9E") + "glTexParameterIivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "const GLint *")) + "glTexParameterIuivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "const GLuint *")) + "glGetTexParameterIivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLint *")) + "glGetTexParameterIuivEXT"(void, GLenum("target"), GLenum("pname"), address("params", "GLuint *")) + "glClearColorIiEXT"(void, GLint("red"), GLint("green"), GLint("blue"), GLint("alpha")) + "glClearColorIuiEXT"(void, GLuint("red"), GLuint("green"), GLuint("blue"), GLuint("alpha")) + } + file( + "TextureLodBias", EXT, "GL_EXT_texture_lod_bias", + "GL_MAX_TEXTURE_LOD_BIAS_EXT" to "0x84FD", + "GL_TEXTURE_FILTER_CONTROL_EXT" to "0x8500", + "GL_TEXTURE_LOD_BIAS_EXT" to "0x8501" + ) + file( + "TextureMirrorClamp", EXT, "GL_EXT_texture_mirror_clamp", + "GL_MIRROR_CLAMP_EXT" to "0x8742", + "GL_MIRROR_CLAMP_TO_EDGE_EXT" to "0x8743", + "GL_MIRROR_CLAMP_TO_BORDER_EXT" to "0x8912" + ) + file("TextureObject", EXT, "GL_EXT_texture_object") { + "GL_TEXTURE_PRIORITY_EXT"("0x8066") + "GL_TEXTURE_RESIDENT_EXT"("0x8067") + "GL_TEXTURE_1D_BINDING_EXT"("0x8068") + "GL_TEXTURE_2D_BINDING_EXT"("0x8069") + "GL_TEXTURE_3D_BINDING_EXT"("0x806A") + "glAreTexturesResidentEXT"( + GLboolean, + GLsizei("n"), + address("textures", "const GLuint *"), + address("residences", "GLboolean *") + ) + "glBindTextureEXT"(void, GLenum("target"), GLuint("texture")) + "glDeleteTexturesEXT"(void, GLsizei("n"), address("textures", "const GLuint *")) + "glGenTexturesEXT"(void, GLsizei("n"), address("textures", "GLuint *")) + "glIsTextureEXT"(GLboolean, GLuint("texture")) + "glPrioritizeTexturesEXT"( + void, + GLsizei("n"), + address("textures", "const GLuint *"), + address("priorities", "const GLclampf *") + ) + } + file("TexturePerturbNormal", EXT, "GL_EXT_texture_perturb_normal") { + "GL_PERTURB_EXT"("0x85AE") + "GL_TEXTURE_NORMAL_EXT"("0x85AF") + "glTextureNormalEXT"(void, GLenum("mode")) + } + file( + "TextureSrgb", EXT, "GL_EXT_texture_sRGB", + "GL_SRGB_EXT" to "0x8C40", + "GL_SRGB8_EXT" to "0x8C41", + "GL_SRGB_ALPHA_EXT" to "0x8C42", + "GL_SRGB8_ALPHA8_EXT" to "0x8C43", + "GL_SLUMINANCE_ALPHA_EXT" to "0x8C44", + "GL_SLUMINANCE8_ALPHA8_EXT" to "0x8C45", + "GL_SLUMINANCE_EXT" to "0x8C46", + "GL_SLUMINANCE8_EXT" to "0x8C47", + "GL_COMPRESSED_SRGB_EXT" to "0x8C48", + "GL_COMPRESSED_SRGB_ALPHA_EXT" to "0x8C49", + "GL_COMPRESSED_SLUMINANCE_EXT" to "0x8C4A", + "GL_COMPRESSED_SLUMINANCE_ALPHA_EXT" to "0x8C4B", + "GL_COMPRESSED_SRGB_S3TC_DXT1_EXT" to "0x8C4C", + "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT" to "0x8C4D", + "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT" to "0x8C4E", + "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT" to "0x8C4F" + ) + file("TextureSrgbR8", EXT, "GL_EXT_texture_sRGB_R8", "GL_SR8_EXT" to "0x8FBD") + file("TextureSrgbRGB", EXT, "GL_EXT_texture_sRGB_RG8", "GL_SRG8_EXT" to "0x8FBE") + file( + "TextureSrgbDecode", EXT, "GL_EXT_texture_sRGB_decode", + "GL_TEXTURE_SRGB_DECODE_EXT" to "0x8A48", + "GL_DECODE_EXT" to "0x8A49", + "GL_SKIP_DECODE_EXT" to "0x8A4A" + ) + file( + "TextureSharedExponent", EXT, "GL_EXT_texture_shared_exponent", + "GL_RGB9_E5_EXT" to "0x8C3D", + "GL_UNSIGNED_INT_5_9_9_9_REV_EXT" to "0x8C3E", + "GL_TEXTURE_SHARED_SIZE_EXT" to "0x8C3F", + ) + file( + "TextureSnorm", EXT, "GL_EXT_texture_snorm", + "GL_ALPHA_SNORM" to "0x9010", + "GL_LUMINANCE_SNORM" to "0x9011", + "GL_LUMINANCE_ALPHA_SNORM" to "0x9012", + "GL_INTENSITY_SNORM" to "0x9013", + "GL_ALPHA8_SNORM" to "0x9014", + "GL_LUMINANCE8_SNORM" to "0x9015", + "GL_LUMINANCE8_ALPHA8_SNORM" to "0x9016", + "GL_INTENSITY8_SNORM" to "0x9017", + "GL_ALPHA16_SNORM" to "0x9018", + "GL_LUMINANCE16_SNORM" to "0x9019", + "GL_LUMINANCE16_ALPHA16_SNORM" to "0x901A", + "GL_INTENSITY16_SNORM" to "0x901B", + "GL_RED_SNORM" to "0x8F90", + "GL_RG_SNORM" to "0x8F91", + "GL_RGB_SNORM" to "0x8F92", + "GL_RGBA_SNORM" to "0x8F93", + ) + file("TextureStorage", EXT, "GL_EXT_texture_storage") { + "GL_TEXTURE_IMMUTABLE_FORMAT_EXT"("0x912F") + "GL_RGBA32F_EXT"("0x8814") + "GL_RGB32F_EXT"("0x8815") + "GL_ALPHA32F_EXT"("0x8816") + "GL_LUMINANCE32F_EXT"("0x8818") + "GL_LUMINANCE_ALPHA32F_EXT"("0x8819") + "GL_RGBA16F_EXT"("0x881A") + "GL_RGB16F_EXT"("0x881B") + "GL_ALPHA16F_EXT"("0x881C") + "GL_LUMINANCE16F_EXT"("0x881E") + "GL_LUMINANCE_ALPHA16F_EXT"("0x881F") + "GL_BGRA8_EXT"("0x93A1") + "GL_R8_EXT"("0x8229") + "GL_RG8_EXT"("0x822B") + "GL_R32F_EXT"("0x822E") + "GL_RG32F_EXT"("0x8230") + "GL_R16F_EXT"("0x822D") + "GL_RG16F_EXT"("0x822F") + "glTexStorage1DEXT"(void, GLenum("target"), GLsizei("levels"), GLenum("internalformat"), GLsizei("width")) + "glTexStorage2DEXT"( + void, + GLenum("target"), + GLsizei("levels"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height") + ) + "glTexStorage3DEXT"( + void, + GLenum("target"), + GLsizei("levels"), + GLenum("internalformat"), + GLsizei("width"), + GLsizei("height"), + GLsizei("depth") + ) + } + file( + "TextureSwizzle", EXT, "GL_EXT_texture_swizzle", + "GL_TEXTURE_SWIZZLE_R_EXT" to "0x8E42", + "GL_TEXTURE_SWIZZLE_G_EXT" to "0x8E43", + "GL_TEXTURE_SWIZZLE_B_EXT" to "0x8E44", + "GL_TEXTURE_SWIZZLE_A_EXT" to "0x8E45", + "GL_TEXTURE_SWIZZLE_RGBA_EXT" to "0x8E46" + ) + file("TimerQuery", EXT, "GL_EXT_timer_query") { + "GL_TIME_ELAPSED_EXT"("0x88BF") + "glGetQueryObjecti64vEXT"(void, GLuint("id"), GLenum("pname"), address("params", "GLint64 *")) + "glGetQueryObjectui64vEXT"(void, GLuint("id"), GLenum("pname"), address("params", "GLuint64 *")) + } + file("TransformFeedback", EXT, "GL_EXT_transform_feedback") { + "GL_TRANSFORM_FEEDBACK_BUFFER_EXT"("0x8C8E") + "GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT"("0x8C84") + "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT"("0x8C85") + "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT"("0x8C8F") + "GL_INTERLEAVED_ATTRIBS_EXT"("0x8C8C") + "GL_SEPARATE_ATTRIBS_EXT"("0x8C8D") + "GL_PRIMITIVES_GENERATED_EXT"("0x8C87") + "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT"("0x8C88") + "GL_RASTERIZER_DISCARD_EXT"("0x8C89") + "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT"("0x8C8A") + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT"("0x8C8B") + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT"("0x8C80") + "GL_TRANSFORM_FEEDBACK_VARYINGS_EXT"("0x8C83") + "GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT"("0x8C7F") + "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT"("0x8C76") + "glBeginTransformFeedbackEXT"(void, GLenum("primitiveMode")) + "glEndTransformFeedbackEXT"(void) + "glBindBufferRangeEXT"( + void, + GLenum("target"), + GLuint("index"), + GLuint("buffer"), + GLintptr("offset"), + GLsizeiptr("size") + ) + "glBindBufferOffsetEXT"(void, GLenum("target"), GLuint("index"), GLuint("buffer"), GLintptr("offset")) + "glBindBufferBaseEXT"(void, GLenum("target"), GLuint("index"), GLuint("buffer")) + "glTransformFeedbackVaryingsEXT"( + void, + GLuint("program"), + GLsizei("count"), + address("varyings", "const GLchar *const*"), + GLenum("bufferMode") + ) + "glGetTransformFeedbackVaryingEXT"( + void, + GLuint("program"), + GLuint("index"), + GLsizei("bufSize"), + address("length", "GLsizei *"), + address("size", "GLsizei *"), + address("type", "GLenum *"), + address("name", "GLchar *") + ) + } + file("VertexArray", EXT, "GL_EXT_vertex_array") { + "GL_VERTEX_ARRAY_EXT"("0x8074") + "GL_NORMAL_ARRAY_EXT"("0x8075") + "GL_COLOR_ARRAY_EXT"("0x8076") + "GL_INDEX_ARRAY_EXT"("0x8077") + "GL_TEXTURE_COORD_ARRAY_EXT"("0x8078") + "GL_EDGE_FLAG_ARRAY_EXT"("0x8079") + "GL_VERTEX_ARRAY_SIZE_EXT"("0x807A") + "GL_VERTEX_ARRAY_TYPE_EXT"("0x807B") + "GL_VERTEX_ARRAY_STRIDE_EXT"("0x807C") + "GL_VERTEX_ARRAY_COUNT_EXT"("0x807D") + "GL_NORMAL_ARRAY_TYPE_EXT"("0x807E") + "GL_NORMAL_ARRAY_STRIDE_EXT"("0x807F") + "GL_NORMAL_ARRAY_COUNT_EXT"("0x8080") + "GL_COLOR_ARRAY_SIZE_EXT"("0x8081") + "GL_COLOR_ARRAY_TYPE_EXT"("0x8082") + "GL_COLOR_ARRAY_STRIDE_EXT"("0x8083") + "GL_COLOR_ARRAY_COUNT_EXT"("0x8084") + "GL_INDEX_ARRAY_TYPE_EXT"("0x8085") + "GL_INDEX_ARRAY_STRIDE_EXT"("0x8086") + "GL_INDEX_ARRAY_COUNT_EXT"("0x8087") + "GL_TEXTURE_COORD_ARRAY_SIZE_EXT"("0x8088") + "GL_TEXTURE_COORD_ARRAY_TYPE_EXT"("0x8089") + "GL_TEXTURE_COORD_ARRAY_STRIDE_EXT"("0x808A") + "GL_TEXTURE_COORD_ARRAY_COUNT_EXT"("0x808B") + "GL_EDGE_FLAG_ARRAY_STRIDE_EXT"("0x808C") + "GL_EDGE_FLAG_ARRAY_COUNT_EXT"("0x808D") + "GL_VERTEX_ARRAY_POINTER_EXT"("0x808E") + "GL_NORMAL_ARRAY_POINTER_EXT"("0x808F") + "GL_COLOR_ARRAY_POINTER_EXT"("0x8090") + "GL_INDEX_ARRAY_POINTER_EXT"("0x8091") + "GL_TEXTURE_COORD_ARRAY_POINTER_EXT"("0x8092") + "GL_EDGE_FLAG_ARRAY_POINTER_EXT"("0x8093") + "glArrayElementEXT"(void, GLint("i")) + "glColorPointerEXT"( + void, + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLsizei("count"), + address("pointer", "const void *") + ) + "glDrawArraysEXT"(void, GLenum("mode"), GLint("first"), GLsizei("count")) + "glEdgeFlagPointerEXT"(void, GLsizei("stride"), GLsizei("count"), address("pointer", "const GLboolean *")) + "glGetPointervEXT"(void, GLenum("pname"), address("params", "void **")) + "glIndexPointerEXT"( + void, + GLenum("type"), + GLsizei("stride"), + GLsizei("count"), + address("pointer", "const void *") + ) + "glNormalPointerEXT"( + void, + GLenum("type"), + GLsizei("stride"), + GLsizei("count"), + address("pointer", "const void *") + ) + "glTexCoordPointerEXT"( + void, + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLsizei("count"), + address("pointer", "const void *") + ) + "glVertexPointerEXT"( + void, + GLint("size"), + GLenum("type"), + GLsizei("stride"), + GLsizei("count"), + address("pointer", "const void *") + ) + } + file("VertexAttrib64bit", EXT, "GL_EXT_vertex_attrib_64bit") { + "GL_DOUBLE_VEC2_EXT"("0x8FFC") + "GL_DOUBLE_VEC3_EXT"("0x8FFD") + "GL_DOUBLE_VEC4_EXT"("0x8FFE") + "GL_DOUBLE_MAT2_EXT"("0x8F46") + "GL_DOUBLE_MAT3_EXT"("0x8F47") + "GL_DOUBLE_MAT4_EXT"("0x8F48") + "GL_DOUBLE_MAT2x3_EXT"("0x8F49") + "GL_DOUBLE_MAT2x4_EXT"("0x8F4A") + "GL_DOUBLE_MAT3x2_EXT"("0x8F4B") + "GL_DOUBLE_MAT3x4_EXT"("0x8F4C") + "GL_DOUBLE_MAT4x2_EXT"("0x8F4D") + "GL_DOUBLE_MAT4x3_EXT"("0x8F4E") + "glVertexAttribL1dEXT"(void, GLuint("index"), GLdouble("x")) + "glVertexAttribL2dEXT"(void, GLuint("index"), GLdouble("x"), GLdouble("y")) + "glVertexAttribL3dEXT"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z")) + "glVertexAttribL4dEXT"(void, GLuint("index"), GLdouble("x"), GLdouble("y"), GLdouble("z"), GLdouble("w")) + "glVertexAttribL1dvEXT"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttribL2dvEXT"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttribL3dvEXT"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttribL4dvEXT"(void, GLuint("index"), address("v", "const GLdouble *")) + "glVertexAttribLPointerEXT"( + void, + GLuint("index"), + GLint("size"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + "glGetVertexAttribLdvEXT"(void, GLuint("index"), GLenum("pname"), address("params", "GLdouble *")) + } + file("VertexShader", EXT, "GL_EXT_vertex_shader") { + "GL_VERTEX_SHADER_EXT"("0x8780") + "GL_VERTEX_SHADER_BINDING_EXT"("0x8781") + "GL_OP_INDEX_EXT"("0x8782") + "GL_OP_NEGATE_EXT"("0x8783") + "GL_OP_DOT3_EXT"("0x8784") + "GL_OP_DOT4_EXT"("0x8785") + "GL_OP_MUL_EXT"("0x8786") + "GL_OP_ADD_EXT"("0x8787") + "GL_OP_MADD_EXT"("0x8788") + "GL_OP_FRAC_EXT"("0x8789") + "GL_OP_MAX_EXT"("0x878A") + "GL_OP_MIN_EXT"("0x878B") + "GL_OP_SET_GE_EXT"("0x878C") + "GL_OP_SET_LT_EXT"("0x878D") + "GL_OP_CLAMP_EXT"("0x878E") + "GL_OP_FLOOR_EXT"("0x878F") + "GL_OP_ROUND_EXT"("0x8790") + "GL_OP_EXP_BASE_2_EXT"("0x8791") + "GL_OP_LOG_BASE_2_EXT"("0x8792") + "GL_OP_POWER_EXT"("0x8793") + "GL_OP_RECIP_EXT"("0x8794") + "GL_OP_RECIP_SQRT_EXT"("0x8795") + "GL_OP_SUB_EXT"("0x8796") + "GL_OP_CROSS_PRODUCT_EXT"("0x8797") + "GL_OP_MULTIPLY_MATRIX_EXT"("0x8798") + "GL_OP_MOV_EXT"("0x8799") + "GL_OUTPUT_VERTEX_EXT"("0x879A") + "GL_OUTPUT_COLOR0_EXT"("0x879B") + "GL_OUTPUT_COLOR1_EXT"("0x879C") + "GL_OUTPUT_TEXTURE_COORD0_EXT"("0x879D") + "GL_OUTPUT_TEXTURE_COORD1_EXT"("0x879E") + "GL_OUTPUT_TEXTURE_COORD2_EXT"("0x879F") + "GL_OUTPUT_TEXTURE_COORD3_EXT"("0x87A0") + "GL_OUTPUT_TEXTURE_COORD4_EXT"("0x87A1") + "GL_OUTPUT_TEXTURE_COORD5_EXT"("0x87A2") + "GL_OUTPUT_TEXTURE_COORD6_EXT"("0x87A3") + "GL_OUTPUT_TEXTURE_COORD7_EXT"("0x87A4") + "GL_OUTPUT_TEXTURE_COORD8_EXT"("0x87A5") + "GL_OUTPUT_TEXTURE_COORD9_EXT"("0x87A6") + "GL_OUTPUT_TEXTURE_COORD10_EXT"("0x87A7") + "GL_OUTPUT_TEXTURE_COORD11_EXT"("0x87A8") + "GL_OUTPUT_TEXTURE_COORD12_EXT"("0x87A9") + "GL_OUTPUT_TEXTURE_COORD13_EXT"("0x87AA") + "GL_OUTPUT_TEXTURE_COORD14_EXT"("0x87AB") + "GL_OUTPUT_TEXTURE_COORD15_EXT"("0x87AC") + "GL_OUTPUT_TEXTURE_COORD16_EXT"("0x87AD") + "GL_OUTPUT_TEXTURE_COORD17_EXT"("0x87AE") + "GL_OUTPUT_TEXTURE_COORD18_EXT"("0x87AF") + "GL_OUTPUT_TEXTURE_COORD19_EXT"("0x87B0") + "GL_OUTPUT_TEXTURE_COORD20_EXT"("0x87B1") + "GL_OUTPUT_TEXTURE_COORD21_EXT"("0x87B2") + "GL_OUTPUT_TEXTURE_COORD22_EXT"("0x87B3") + "GL_OUTPUT_TEXTURE_COORD23_EXT"("0x87B4") + "GL_OUTPUT_TEXTURE_COORD24_EXT"("0x87B5") + "GL_OUTPUT_TEXTURE_COORD25_EXT"("0x87B6") + "GL_OUTPUT_TEXTURE_COORD26_EXT"("0x87B7") + "GL_OUTPUT_TEXTURE_COORD27_EXT"("0x87B8") + "GL_OUTPUT_TEXTURE_COORD28_EXT"("0x87B9") + "GL_OUTPUT_TEXTURE_COORD29_EXT"("0x87BA") + "GL_OUTPUT_TEXTURE_COORD30_EXT"("0x87BB") + "GL_OUTPUT_TEXTURE_COORD31_EXT"("0x87BC") + "GL_OUTPUT_FOG_EXT"("0x87BD") + "GL_SCALAR_EXT"("0x87BE") + "GL_VECTOR_EXT"("0x87BF") + "GL_MATRIX_EXT"("0x87C0") + "GL_VARIANT_EXT"("0x87C1") + "GL_INVARIANT_EXT"("0x87C2") + "GL_LOCAL_CONSTANT_EXT"("0x87C3") + "GL_LOCAL_EXT"("0x87C4") + "GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"("0x87C5") + "GL_MAX_VERTEX_SHADER_VARIANTS_EXT"("0x87C6") + "GL_MAX_VERTEX_SHADER_INVARIANTS_EXT"("0x87C7") + "GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"("0x87C8") + "GL_MAX_VERTEX_SHADER_LOCALS_EXT"("0x87C9") + "GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT"("0x87CA") + "GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT"("0x87CB") + "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"("0x87CC") + "GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT"("0x87CD") + "GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT"("0x87CE") + "GL_VERTEX_SHADER_INSTRUCTIONS_EXT"("0x87CF") + "GL_VERTEX_SHADER_VARIANTS_EXT"("0x87D0") + "GL_VERTEX_SHADER_INVARIANTS_EXT"("0x87D1") + "GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"("0x87D2") + "GL_VERTEX_SHADER_LOCALS_EXT"("0x87D3") + "GL_VERTEX_SHADER_OPTIMIZED_EXT"("0x87D4") + "GL_X_EXT"("0x87D5") + "GL_Y_EXT"("0x87D6") + "GL_Z_EXT"("0x87D7") + "GL_W_EXT"("0x87D8") + "GL_NEGATIVE_X_EXT"("0x87D9") + "GL_NEGATIVE_Y_EXT"("0x87DA") + "GL_NEGATIVE_Z_EXT"("0x87DB") + "GL_NEGATIVE_W_EXT"("0x87DC") + "GL_ZERO_EXT"("0x87DD") + "GL_ONE_EXT"("0x87DE") + "GL_NEGATIVE_ONE_EXT"("0x87DF") + "GL_NORMALIZED_RANGE_EXT"("0x87E0") + "GL_FULL_RANGE_EXT"("0x87E1") + "GL_CURRENT_VERTEX_EXT"("0x87E2") + "GL_MVP_MATRIX_EXT"("0x87E3") + "GL_VARIANT_VALUE_EXT"("0x87E4") + "GL_VARIANT_DATATYPE_EXT"("0x87E5") + "GL_VARIANT_ARRAY_STRIDE_EXT"("0x87E6") + "GL_VARIANT_ARRAY_TYPE_EXT"("0x87E7") + "GL_VARIANT_ARRAY_EXT"("0x87E8") + "GL_VARIANT_ARRAY_POINTER_EXT"("0x87E9") + "GL_INVARIANT_VALUE_EXT"("0x87EA") + "GL_INVARIANT_DATATYPE_EXT"("0x87EB") + "GL_LOCAL_CONSTANT_VALUE_EXT"("0x87EC") + "GL_LOCAL_CONSTANT_DATATYPE_EXT"("0x87ED") + "glBeginVertexShaderEXT"(void) + "glEndVertexShaderEXT"(void) + "glBindVertexShaderEXT"(void, GLuint("id")) + "glGenVertexShadersEXT"(GLuint, GLuint("range")) + "glDeleteVertexShaderEXT"(void, GLuint("id")) + "glShaderOp1EXT"(void, GLenum("op"), GLuint("res"), GLuint("arg1")) + "glShaderOp2EXT"(void, GLenum("op"), GLuint("res"), GLuint("arg1"), GLuint("arg2")) + "glShaderOp3EXT"(void, GLenum("op"), GLuint("res"), GLuint("arg1"), GLuint("arg2"), GLuint("arg3")) + "glSwizzleEXT"( + void, + GLuint("res"), + GLuint("in"), + GLenum("outX"), + GLenum("outY"), + GLenum("outZ"), + GLenum("outW") + ) + "glWriteMaskEXT"( + void, + GLuint("res"), + GLuint("in"), + GLenum("outX"), + GLenum("outY"), + GLenum("outZ"), + GLenum("outW") + ) + "glInsertComponentEXT"(void, GLuint("res"), GLuint("src"), GLuint("num")) + "glExtractComponentEXT"(void, GLuint("res"), GLuint("src"), GLuint("num")) + "glGenSymbolsEXT"(GLuint, GLenum("datatype"), GLenum("storagetype"), GLenum("range"), GLuint("components")) + "glSetInvariantEXT"(void, GLuint("id"), GLenum("type"), address("addr", "const void *")) + "glSetLocalConstantEXT"(void, GLuint("id"), GLenum("type"), address("addr", "const void *")) + "glVariantbvEXT"(void, GLuint("id"), address("addr", "const GLbyte *")) + "glVariantsvEXT"(void, GLuint("id"), address("addr", "const GLshort *")) + "glVariantivEXT"(void, GLuint("id"), address("addr", "const GLint *")) + "glVariantfvEXT"(void, GLuint("id"), address("addr", "const GLfloat *")) + "glVariantdvEXT"(void, GLuint("id"), address("addr", "const GLdouble *")) + "glVariantubvEXT"(void, GLuint("id"), address("addr", "const GLubyte *")) + "glVariantusvEXT"(void, GLuint("id"), address("addr", "const GLushort *")) + "glVariantuivEXT"(void, GLuint("id"), address("addr", "const GLuint *")) + "glVariantPointerEXT"(void, GLuint("id"), GLenum("type"), GLuint("stride"), address("addr", "const void *")) + "glEnableVariantClientStateEXT"(void, GLuint("id")) + "glDisableVariantClientStateEXT"(void, GLuint("id")) + "glBindLightParameterEXT"(GLuint, GLenum("light"), GLenum("value")) + "glBindMaterialParameterEXT"(GLuint, GLenum("face"), GLenum("value")) + "glBindTexGenParameterEXT"(GLuint, GLenum("unit"), GLenum("coord"), GLenum("value")) + "glBindTextureUnitParameterEXT"(GLuint, GLenum("unit"), GLenum("value")) + "glBindParameterEXT"(GLuint, GLenum("value")) + "glIsVariantEnabledEXT"(GLboolean, GLuint("id"), GLenum("cap")) + "glGetVariantBooleanvEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLboolean *")) + "glGetVariantIntegervEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLint *")) + "glGetVariantFloatvEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLfloat *")) + "glGetVariantPointervEXT"(void, GLuint("id"), GLenum("value"), address("data", "void **")) + "glGetInvariantBooleanvEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLboolean *")) + "glGetInvariantIntegervEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLint *")) + "glGetInvariantFloatvEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLfloat *")) + "glGetLocalConstantBooleanvEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLboolean *")) + "glGetLocalConstantIntegervEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLint *")) + "glGetLocalConstantFloatvEXT"(void, GLuint("id"), GLenum("value"), address("data", "GLfloat *")) + } + file("VertexWeighting", EXT, "GL_EXT_vertex_weighting") { + "GL_MODELVIEW0_STACK_DEPTH_EXT"("0x0BA3") + "GL_MODELVIEW1_STACK_DEPTH_EXT"("0x8502") + "GL_MODELVIEW0_MATRIX_EXT"("0x0BA6") + "GL_MODELVIEW1_MATRIX_EXT"("0x8506") + "GL_VERTEX_WEIGHTING_EXT"("0x8509") + "GL_MODELVIEW0_EXT"("0x1700") + "GL_MODELVIEW1_EXT"("0x850A") + "GL_CURRENT_VERTEX_WEIGHT_EXT"("0x850B") + "GL_VERTEX_WEIGHT_ARRAY_EXT"("0x850C") + "GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"("0x850D") + "GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"("0x850E") + "GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"("0x850F") + "GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"("0x8510") + "glVertexWeightfEXT"(void, GLfloat("weight")) + "glVertexWeightfvEXT"(void, address("weight", "const GLfloat *")) + "glVertexWeightPointerEXT"( + void, + GLint("size"), + GLenum("type"), + GLsizei("stride"), + address("pointer", "const void *") + ) + } + file("Win32KeyedMutex", EXT, "GL_EXT_win32_keyed_mutex") { + "glAcquireKeyedMutexWin32EXT"(GLboolean, GLuint("memory"), GLuint64("key"), GLuint("timeout")) + "glReleaseKeyedMutexWin32EXT"(GLboolean, GLuint("memory"), GLuint64("key")) + } + file("WindowRectangles", EXT, "GL_EXT_window_rectangles") { + "GL_INCLUSIVE_EXT"("0x8F10") + "GL_EXCLUSIVE_EXT"("0x8F11") + "GL_WINDOW_RECTANGLE_EXT"("0x8F12") + "GL_WINDOW_RECTANGLE_MODE_EXT"("0x8F13") + "GL_MAX_WINDOW_RECTANGLES_EXT"("0x8F14") + "GL_NUM_WINDOW_RECTANGLES_EXT"("0x8F15") + "glWindowRectanglesEXT"(void, GLenum("mode"), GLsizei("count"), address("box", "const GLint *")) + } + file("X11SyncObject", EXT, "GL_EXT_x11_sync_object") { + "GL_SYNC_X11_FENCE_EXT"("0x90E1") + "glImportSyncEXT"( + address, + GLenum("external_sync_type"), + GLintptr("external_sync"), + GLbitfield("flags"), + nativeType = "GLsync" + ) + } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 239f76c6..344bc8b7 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -132,49 +132,56 @@ public GLExtCaps(GLCapabilities caps) { glTexStorageMem2DMultisampleEXT, glTexStorageMem3DEXT, glTexStorageMem3DMultisampleEXT, glBufferStorageMemEXT, glTextureStorageMem2DEXT, glTextureStorageMem2DMultisampleEXT, glTextureStorageMem3DEXT, glTextureStorageMem3DMultisampleEXT, glNamedBufferStorageMemEXT, glTexStorageMem1DEXT, glTextureStorageMem1DEXT, glImportMemoryFdEXT, glImportMemoryWin32HandleEXT, glImportMemoryWin32NameEXT, glMultiDrawArraysEXT, glMultiDrawElementsEXT, glSampleMaskEXT, glSamplePatternEXT, glColorTableEXT, glGetColorTableEXT, glGetColorTableParameterivEXT, glGetColorTableParameterfvEXT, glPixelTransformParameteriEXT, glPixelTransformParameterfEXT, glPixelTransformParameterivEXT, glPixelTransformParameterfvEXT, glGetPixelTransformParameterivEXT, glGetPixelTransformParameterfvEXT, glPointParameterfEXT, glPointParameterfvEXT, glPolygonOffsetEXT, glPolygonOffsetClampEXT, glProvokingVertexEXT, glRasterSamplesEXT, glSecondaryColor3bEXT, glSecondaryColor3bvEXT, glSecondaryColor3dEXT, glSecondaryColor3dvEXT, glSecondaryColor3fEXT, glSecondaryColor3fvEXT, glSecondaryColor3iEXT, glSecondaryColor3ivEXT, glSecondaryColor3sEXT, glSecondaryColor3svEXT, glSecondaryColor3ubEXT, glSecondaryColor3ubvEXT, glSecondaryColor3uiEXT, glSecondaryColor3uivEXT, - glSecondaryColor3usEXT, glSecondaryColor3usvEXT, glSecondaryColorPointerEXT, glGenSemaphoresEXT, glDeleteSemaphoresEXT, glIsSemaphoreEXT, glSemaphoreParameterui64vEXT, glGetSemaphoreParameterui64vEXT, glWaitSemaphoreEXT, glSignalSemaphoreEXT, glImportSemaphoreFdEXT, glImportSemaphoreWin32HandleEXT, glImportSemaphoreWin32NameEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, - glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, - glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, - glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, - glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, - glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, - glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, - glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, - glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, - glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, - glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, - glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, - glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, - glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, - glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, - glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, - glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, - glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, - glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, - glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, - glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, - glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, - glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, - glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, - glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, - glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, - glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, - glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, - glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, - glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, - glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, - glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, - glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, - glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, - glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, - glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, - glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, - glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, - glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, - glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, - glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, - glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, - glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + glSecondaryColor3usEXT, glSecondaryColor3usvEXT, glSecondaryColorPointerEXT, glGenSemaphoresEXT, glDeleteSemaphoresEXT, glIsSemaphoreEXT, glSemaphoreParameterui64vEXT, glGetSemaphoreParameterui64vEXT, glWaitSemaphoreEXT, glSignalSemaphoreEXT, glImportSemaphoreFdEXT, glImportSemaphoreWin32HandleEXT, glImportSemaphoreWin32NameEXT, glUseShaderProgramEXT, glActiveProgramEXT, glCreateShaderProgramEXT, + glFramebufferFetchBarrierEXT, glBindImageTextureEXT, glMemoryBarrierEXT, glStencilClearTagEXT, glActiveStencilFaceEXT, glTexSubImage1DEXT, glTexSubImage2DEXT, glTexImage3DEXT, glTexSubImage3DEXT, glFramebufferTextureLayerEXT, glTexBufferEXT, glTexParameterIivEXT, glTexParameterIuivEXT, glGetTexParameterIivEXT, glGetTexParameterIuivEXT, glClearColorIiEXT, + glClearColorIuiEXT, glAreTexturesResidentEXT, glBindTextureEXT, glDeleteTexturesEXT, glGenTexturesEXT, glIsTextureEXT, glPrioritizeTexturesEXT, glTextureNormalEXT, glTexStorage1DEXT, glTexStorage2DEXT, glTexStorage3DEXT, glGetQueryObjecti64vEXT, glGetQueryObjectui64vEXT, glBeginTransformFeedbackEXT, glEndTransformFeedbackEXT, glBindBufferRangeEXT, + glBindBufferOffsetEXT, glBindBufferBaseEXT, glTransformFeedbackVaryingsEXT, glGetTransformFeedbackVaryingEXT, glArrayElementEXT, glColorPointerEXT, glDrawArraysEXT, glEdgeFlagPointerEXT, glGetPointervEXT, glIndexPointerEXT, glNormalPointerEXT, glTexCoordPointerEXT, glVertexPointerEXT, glVertexAttribL1dEXT, glVertexAttribL2dEXT, glVertexAttribL3dEXT, + glVertexAttribL4dEXT, glVertexAttribL1dvEXT, glVertexAttribL2dvEXT, glVertexAttribL3dvEXT, glVertexAttribL4dvEXT, glVertexAttribLPointerEXT, glGetVertexAttribLdvEXT, glBeginVertexShaderEXT, glEndVertexShaderEXT, glBindVertexShaderEXT, glGenVertexShadersEXT, glDeleteVertexShaderEXT, glShaderOp1EXT, glShaderOp2EXT, glShaderOp3EXT, glSwizzleEXT, + glWriteMaskEXT, glInsertComponentEXT, glExtractComponentEXT, glGenSymbolsEXT, glSetInvariantEXT, glSetLocalConstantEXT, glVariantbvEXT, glVariantsvEXT, glVariantivEXT, glVariantfvEXT, glVariantdvEXT, glVariantubvEXT, glVariantusvEXT, glVariantuivEXT, glVariantPointerEXT, glEnableVariantClientStateEXT, + glDisableVariantClientStateEXT, glBindLightParameterEXT, glBindMaterialParameterEXT, glBindTexGenParameterEXT, glBindTextureUnitParameterEXT, glBindParameterEXT, glIsVariantEnabledEXT, glGetVariantBooleanvEXT, glGetVariantIntegervEXT, glGetVariantFloatvEXT, glGetVariantPointervEXT, glGetInvariantBooleanvEXT, glGetInvariantIntegervEXT, glGetInvariantFloatvEXT, glGetLocalConstantBooleanvEXT, glGetLocalConstantIntegervEXT, + glGetLocalConstantFloatvEXT, glVertexWeightfEXT, glVertexWeightfvEXT, glVertexWeightPointerEXT, glAcquireKeyedMutexWin32EXT, glReleaseKeyedMutexWin32EXT, glWindowRectanglesEXT, glImportSyncEXT, glFrameTerminatorGREMEDY, glStringMarkerGREMEDY, glImageTransformParameteriHP, glImageTransformParameterfHP, glImageTransformParameterivHP, glImageTransformParameterfvHP, glGetImageTransformParameterivHP, glGetImageTransformParameterfvHP, + glMultiModeDrawArraysIBM, glMultiModeDrawElementsIBM, glFlushStaticDataIBM, glColorPointerListIBM, glSecondaryColorPointerListIBM, glEdgeFlagPointerListIBM, glFogCoordPointerListIBM, glIndexPointerListIBM, glNormalPointerListIBM, glTexCoordPointerListIBM, glVertexPointerListIBM, glBlendFuncSeparateINGR, glApplyFramebufferAttachmentCMAAINTEL, glSyncTextureINTEL, glUnmapTexture2DINTEL, glMapTexture2DINTEL, + glVertexPointervINTEL, glNormalPointervINTEL, glColorPointervINTEL, glTexCoordPointervINTEL, glBeginPerfQueryINTEL, glCreatePerfQueryINTEL, glDeletePerfQueryINTEL, glEndPerfQueryINTEL, glGetFirstPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, glGetPerfCounterInfoINTEL, glGetPerfQueryDataINTEL, glGetPerfQueryIdByNameINTEL, glGetPerfQueryInfoINTEL, glFramebufferParameteriMESA, glGetFramebufferParameterivMESA, + glResizeBuffersMESA, glWindowPos2dMESA, glWindowPos2dvMESA, glWindowPos2fMESA, glWindowPos2fvMESA, glWindowPos2iMESA, glWindowPos2ivMESA, glWindowPos2sMESA, glWindowPos2svMESA, glWindowPos3dMESA, glWindowPos3dvMESA, glWindowPos3fMESA, glWindowPos3fvMESA, glWindowPos3iMESA, glWindowPos3ivMESA, glWindowPos3sMESA, + glWindowPos3svMESA, glWindowPos4dMESA, glWindowPos4dvMESA, glWindowPos4fMESA, glWindowPos4fvMESA, glWindowPos4iMESA, glWindowPos4ivMESA, glWindowPos4sMESA, glWindowPos4svMESA, glBeginConditionalRenderNVX, glEndConditionalRenderNVX, glUploadGpuMaskNVX, glMulticastViewportArrayvNVX, glMulticastViewportPositionWScaleNVX, glMulticastScissorArrayvNVX, glAsyncCopyBufferSubDataNVX, + glAsyncCopyImageSubDataNVX, glLGPUNamedBufferSubDataNVX, glLGPUCopyImageSubDataNVX, glLGPUInterlockNVX, glCreateProgressFenceNVX, glSignalSemaphoreui64NVX, glWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX, glAlphaToCoverageDitherControlNV, glMultiDrawArraysIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, glMultiDrawArraysIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV, glGetTextureHandleNV, glGetTextureSamplerHandleNV, glMakeTextureHandleResidentNV, + glMakeTextureHandleNonResidentNV, glGetImageHandleNV, glMakeImageHandleResidentNV, glMakeImageHandleNonResidentNV, glUniformHandleui64NV, glUniformHandleui64vNV, glProgramUniformHandleui64NV, glProgramUniformHandleui64vNV, glIsTextureHandleResidentNV, glIsImageHandleResidentNV, glBlendParameteriNV, glBlendBarrierNV, glViewportPositionWScaleNV, glCreateStatesNV, glDeleteStatesNV, glIsStateNV, + glStateCaptureNV, glGetCommandHeaderNV, glGetStageIndexNV, glDrawCommandsNV, glDrawCommandsAddressNV, glDrawCommandsStatesNV, glDrawCommandsStatesAddressNV, glCreateCommandListsNV, glDeleteCommandListsNV, glIsCommandListNV, glListDrawCommandsStatesClientNV, glCommandListSegmentsNV, glCompileCommandListNV, glCallCommandListNV, glBeginConditionalRenderNV, glEndConditionalRenderNV, + glSubpixelPrecisionBiasNV, glConservativeRasterParameterfNV, glConservativeRasterParameteriNV, glCopyImageSubDataNV, glDepthRangedNV, glClearDepthdNV, glDepthBoundsdNV, glDrawTextureNV, glDrawVkImageNV, glGetVkProcAddrNV, glWaitVkSemaphoreNV, glSignalVkSemaphoreNV, glSignalVkFenceNV, glMapControlPointsNV, glMapParameterivNV, glMapParameterfvNV, + glGetMapControlPointsNV, glGetMapParameterivNV, glGetMapParameterfvNV, glGetMapAttribParameterivNV, glGetMapAttribParameterfvNV, glEvalMapsNV, glGetMultisamplefvNV, glSampleMaskIndexedNV, glTexRenderbufferNV, glDeleteFencesNV, glGenFencesNV, glIsFenceNV, glTestFenceNV, glGetFenceivNV, glFinishFenceNV, glSetFenceNV, + glFragmentCoverageColorNV, glProgramNamedParameter4fNV, glProgramNamedParameter4fvNV, glProgramNamedParameter4dNV, glProgramNamedParameter4dvNV, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterdvNV, glCoverageModulationTableNV, glGetCoverageModulationTableNV, glCoverageModulationNV, glRenderbufferStorageMultisampleCoverageNV, glProgramVertexLimitNV, glFramebufferTextureEXT, glFramebufferTextureFaceEXT, glRenderGpuMaskNV, glMulticastBufferSubDataNV, + glMulticastCopyBufferSubDataNV, glMulticastCopyImageSubDataNV, glMulticastBlitFramebufferNV, glMulticastFramebufferSampleLocationsfvNV, glMulticastBarrierNV, glMulticastWaitSyncNV, glMulticastGetQueryObjectivNV, glMulticastGetQueryObjectuivNV, glMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjectui64vNV, glProgramLocalParameterI4iNV, glProgramLocalParameterI4ivNV, glProgramLocalParametersI4ivNV, glProgramLocalParameterI4uiNV, glProgramLocalParameterI4uivNV, glProgramLocalParametersI4uivNV, + glProgramEnvParameterI4iNV, glProgramEnvParameterI4ivNV, glProgramEnvParametersI4ivNV, glProgramEnvParameterI4uiNV, glProgramEnvParameterI4uivNV, glProgramEnvParametersI4uivNV, glGetProgramLocalParameterIivNV, glGetProgramLocalParameterIuivNV, glGetProgramEnvParameterIivNV, glGetProgramEnvParameterIuivNV, glProgramSubroutineParametersuivNV, glGetProgramSubroutineParameteruivNV, glVertex2hNV, glVertex2hvNV, glVertex3hNV, glVertex3hvNV, + glVertex4hNV, glVertex4hvNV, glNormal3hNV, glNormal3hvNV, glColor3hNV, glColor3hvNV, glColor4hNV, glColor4hvNV, glTexCoord1hNV, glTexCoord1hvNV, glTexCoord2hNV, glTexCoord2hvNV, glTexCoord3hNV, glTexCoord3hvNV, glTexCoord4hNV, glTexCoord4hvNV, + glMultiTexCoord1hNV, glMultiTexCoord1hvNV, glMultiTexCoord2hNV, glMultiTexCoord2hvNV, glMultiTexCoord3hNV, glMultiTexCoord3hvNV, glMultiTexCoord4hNV, glMultiTexCoord4hvNV, glVertexAttrib1hNV, glVertexAttrib1hvNV, glVertexAttrib2hNV, glVertexAttrib2hvNV, glVertexAttrib3hNV, glVertexAttrib3hvNV, glVertexAttrib4hNV, glVertexAttrib4hvNV, + glVertexAttribs1hvNV, glVertexAttribs2hvNV, glVertexAttribs3hvNV, glVertexAttribs4hvNV, glFogCoordhNV, glFogCoordhvNV, glSecondaryColor3hNV, glSecondaryColor3hvNV, glVertexWeighthNV, glVertexWeighthvNV, glGetInternalformatSampleivNV, glGetMemoryObjectDetachedResourcesuivNV, glResetMemoryObjectParameterNV, glTexAttachMemoryNV, glBufferAttachMemoryNV, glTextureAttachMemoryNV, + glNamedBufferAttachMemoryNV, glBufferPageCommitmentMemNV, glTexPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV, glTexturePageCommitmentMemNV, glDrawMeshTasksNV, glDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectCountNV, glGenOcclusionQueriesNV, glDeleteOcclusionQueriesNV, glIsOcclusionQueryNV, glBeginOcclusionQueryNV, glEndOcclusionQueryNV, glGetOcclusionQueryivNV, glGetOcclusionQueryuivNV, + glProgramBufferParametersfvNV, glProgramBufferParametersIivNV, glProgramBufferParametersIuivNV, glGenPathsNV, glDeletePathsNV, glIsPathNV, glPathCommandsNV, glPathCoordsNV, glPathSubCommandsNV, glPathSubCoordsNV, glPathStringNV, glPathGlyphsNV, glPathGlyphRangeNV, glWeightPathsNV, glCopyPathNV, glInterpolatePathsNV, + glTransformPathNV, glPathParameterivNV, glPathParameteriNV, glPathParameterfvNV, glPathParameterfNV, glPathDashArrayNV, glPathStencilFuncNV, glPathStencilDepthOffsetNV, glStencilFillPathNV, glStencilStrokePathNV, glStencilFillPathInstancedNV, glStencilStrokePathInstancedNV, glPathCoverDepthFuncNV, glCoverFillPathNV, glCoverStrokePathNV, glCoverFillPathInstancedNV, + glCoverStrokePathInstancedNV, glGetPathParameterivNV, glGetPathParameterfvNV, glGetPathCommandsNV, glGetPathCoordsNV, glGetPathDashArrayNV, glGetPathMetricsNV, glGetPathMetricRangeNV, glGetPathSpacingNV, glIsPointInFillPathNV, glIsPointInStrokePathNV, glGetPathLengthNV, glPointAlongPathNV, glMatrixLoad3x2fNV, glMatrixLoad3x3fNV, glMatrixLoadTranspose3x3fNV, + glMatrixMult3x2fNV, glMatrixMult3x3fNV, glMatrixMultTranspose3x3fNV, glStencilThenCoverFillPathNV, glStencilThenCoverStrokePathNV, glStencilThenCoverFillPathInstancedNV, glStencilThenCoverStrokePathInstancedNV, glPathGlyphIndexRangeNV, glPathGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV, glProgramPathFragmentInputGenNV, glGetProgramResourcefvNV, glPathColorGenNV, glPathTexGenNV, glPathFogGenNV, glGetPathColorGenivNV, + glGetPathColorGenfvNV, glGetPathTexGenivNV, glGetPathTexGenfvNV, glPixelDataRangeNV, glFlushPixelDataRangeNV, glPointParameteriNV, glPointParameterivNV, glPresentFrameKeyedNV, glPresentFrameDualFillNV, glGetVideoivNV, glGetVideouivNV, glGetVideoi64vNV, glGetVideoui64vNV, glPrimitiveRestartNV, glPrimitiveRestartIndexNV, glQueryResourceNV, + glGenQueryResourceTagNV, glDeleteQueryResourceTagNV, glQueryResourceTagNV, glCombinerParameterfvNV, glCombinerParameterfNV, glCombinerParameterivNV, glCombinerParameteriNV, glCombinerInputNV, glCombinerOutputNV, glFinalCombinerInputNV, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterivNV, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterivNV, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterivNV, + glCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, glFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV, glResolveDepthValuesNV, glScissorExclusiveNV, glScissorExclusiveArrayvNV, glMakeBufferResidentNV, glMakeBufferNonResidentNV, glIsBufferResidentNV, glMakeNamedBufferResidentNV, glMakeNamedBufferNonResidentNV, glIsNamedBufferResidentNV, glGetBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, glGetIntegerui64vNV, + glUniformui64NV, glUniformui64vNV, glProgramUniformui64NV, glProgramUniformui64vNV, glBindShadingRateImageNV, glGetShadingRateImagePaletteNV, glGetShadingRateSampleLocationivNV, glShadingRateImageBarrierNV, glShadingRateImagePaletteNV, glShadingRateSampleOrderNV, glShadingRateSampleOrderCustomNV, glTextureBarrierNV, glTexImage2DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, glTextureImage2DMultisampleNV, glTextureImage3DMultisampleNV, + glTextureImage2DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, glCreateSemaphoresNV, glSemaphoreParameterivNV, glGetSemaphoreParameterivNV, glBeginTransformFeedbackNV, glEndTransformFeedbackNV, glTransformFeedbackAttribsNV, glBindBufferRangeNV, glBindBufferOffsetNV, glBindBufferBaseNV, glTransformFeedbackVaryingsNV, glActiveVaryingNV, glGetVaryingLocationNV, glGetActiveVaryingNV, glGetTransformFeedbackVaryingNV, + glTransformFeedbackStreamAttribsNV, glBindTransformFeedbackNV, glDeleteTransformFeedbacksNV, glGenTransformFeedbacksNV, glIsTransformFeedbackNV, glPauseTransformFeedbackNV, glResumeTransformFeedbackNV, glDrawTransformFeedbackNV, glVDPAUInitNV, glVDPAUFiniNV, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterOutputSurfaceNV, glVDPAUIsSurfaceNV, glVDPAUUnregisterSurfaceNV, glVDPAUGetSurfaceivNV, glVDPAUSurfaceAccessNV, + glVDPAUMapSurfacesNV, glVDPAUUnmapSurfacesNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV, glFlushVertexArrayRangeNV, glVertexArrayRangeNV, glVertexAttribL1i64NV, glVertexAttribL2i64NV, glVertexAttribL3i64NV, glVertexAttribL4i64NV, glVertexAttribL1i64vNV, glVertexAttribL2i64vNV, glVertexAttribL3i64vNV, glVertexAttribL4i64vNV, glVertexAttribL1ui64NV, glVertexAttribL2ui64NV, glVertexAttribL3ui64NV, + glVertexAttribL4ui64NV, glVertexAttribL1ui64vNV, glVertexAttribL2ui64vNV, glVertexAttribL3ui64vNV, glVertexAttribL4ui64vNV, glGetVertexAttribLi64vNV, glGetVertexAttribLui64vNV, glVertexAttribLFormatNV, glBufferAddressRangeNV, glVertexFormatNV, glNormalFormatNV, glColorFormatNV, glIndexFormatNV, glTexCoordFormatNV, glEdgeFlagFormatNV, glSecondaryColorFormatNV, + glFogCoordFormatNV, glVertexAttribFormatNV, glVertexAttribIFormatNV, glGetIntegerui64i_vNV, glAreProgramsResidentNV, glBindProgramNV, glDeleteProgramsNV, glExecuteProgramNV, glGenProgramsNV, glGetProgramParameterdvNV, glGetProgramParameterfvNV, glGetProgramivNV, glGetProgramStringNV, glGetTrackMatrixivNV, glGetVertexAttribdvNV, glGetVertexAttribfvNV, + glGetVertexAttribivNV, glGetVertexAttribPointervNV, glIsProgramNV, glLoadProgramNV, glProgramParameter4dNV, glProgramParameter4dvNV, glProgramParameter4fNV, glProgramParameter4fvNV, glProgramParameters4dvNV, glProgramParameters4fvNV, glRequestResidentProgramsNV, glTrackMatrixNV, glVertexAttribPointerNV, glVertexAttrib1dNV, glVertexAttrib1dvNV, glVertexAttrib1fNV, + glVertexAttrib1fvNV, glVertexAttrib1sNV, glVertexAttrib1svNV, glVertexAttrib2dNV, glVertexAttrib2dvNV, glVertexAttrib2fNV, glVertexAttrib2fvNV, glVertexAttrib2sNV, glVertexAttrib2svNV, glVertexAttrib3dNV, glVertexAttrib3dvNV, glVertexAttrib3fNV, glVertexAttrib3fvNV, glVertexAttrib3sNV, glVertexAttrib3svNV, glVertexAttrib4dNV, + glVertexAttrib4dvNV, glVertexAttrib4fNV, glVertexAttrib4fvNV, glVertexAttrib4sNV, glVertexAttrib4svNV, glVertexAttrib4ubNV, glVertexAttrib4ubvNV, glVertexAttribs1dvNV, glVertexAttribs1fvNV, glVertexAttribs1svNV, glVertexAttribs2dvNV, glVertexAttribs2fvNV, glVertexAttribs2svNV, glVertexAttribs3dvNV, glVertexAttribs3fvNV, glVertexAttribs3svNV, + glVertexAttribs4dvNV, glVertexAttribs4fvNV, glVertexAttribs4svNV, glVertexAttribs4ubvNV, glBeginVideoCaptureNV, glBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamTextureNV, glEndVideoCaptureNV, glGetVideoCaptureivNV, glGetVideoCaptureStreamivNV, glGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamdvNV, glVideoCaptureNV, glVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterdvNV, + glViewportSwizzleNV, glFramebufferTextureMultiviewOVR, glHintPGI, glDetailTexFuncSGIS, glGetDetailTexFuncSGIS, glFogFuncSGIS, glGetFogFuncSGIS, glSampleMaskSGIS, glSamplePatternSGIS, glPixelTexGenParameteriSGIS, glPixelTexGenParameterivSGIS, glPixelTexGenParameterfSGIS, glPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterfvSGIS, glPointParameterfSGIS, + glPointParameterfvSGIS, glSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, glTexImage4DSGIS, glTexSubImage4DSGIS, glTextureColorMaskSGIS, glGetTexFilterFuncSGIS, glTexFilterFuncSGIS, glAsyncMarkerSGIX, glFinishAsyncSGIX, glPollAsyncSGIX, glGenAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glFlushRasterSGIX, glFragmentColorMaterialSGIX, + glFragmentLightfSGIX, glFragmentLightfvSGIX, glFragmentLightiSGIX, glFragmentLightivSGIX, glFragmentLightModelfSGIX, glFragmentLightModelfvSGIX, glFragmentLightModeliSGIX, glFragmentLightModelivSGIX, glFragmentMaterialfSGIX, glFragmentMaterialfvSGIX, glFragmentMaterialiSGIX, glFragmentMaterialivSGIX, glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX, glGetFragmentMaterialfvSGIX, glGetFragmentMaterialivSGIX, + glLightEnviSGIX, glFrameZoomSGIX, glIglooInterfaceSGIX, glGetInstrumentsSGIX, glInstrumentsBufferSGIX, glPollInstrumentsSGIX, glReadInstrumentsSGIX, glStartInstrumentsSGIX, glStopInstrumentsSGIX, glGetListParameterfvSGIX, glGetListParameterivSGIX, glListParameterfSGIX, glListParameterfvSGIX, glListParameteriSGIX, glListParameterivSGIX, glPixelTexGenSGIX, + glDeformationMap3dSGIX, glDeformationMap3fSGIX, glDeformSGIX, glLoadIdentityDeformationMapSGIX, glReferencePlaneSGIX, glSpriteParameterfSGIX, glSpriteParameterfvSGIX, glSpriteParameteriSGIX, glSpriteParameterivSGIX, glTagSampleBufferSGIX, glColorTableSGI, glColorTableParameterfvSGI, glColorTableParameterivSGI, glCopyColorTableSGI, glGetColorTableSGI, glGetColorTableParameterfvSGI, + glGetColorTableParameterivSGI, glFinishTextureSUNX, glGlobalAlphaFactorbSUN, glGlobalAlphaFactorsSUN, glGlobalAlphaFactoriSUN, glGlobalAlphaFactorfSUN, glGlobalAlphaFactordSUN, glGlobalAlphaFactorubSUN, glGlobalAlphaFactorusSUN, glGlobalAlphaFactoruiSUN, glDrawMeshArraysSUN, glReplacementCodeuiSUN, glReplacementCodeusSUN, glReplacementCodeubSUN, glReplacementCodeuivSUN, glReplacementCodeusvSUN, + glReplacementCodeubvSUN, glReplacementCodePointerSUN, glColor4ubVertex2fSUN, glColor4ubVertex2fvSUN, glColor4ubVertex3fSUN, glColor4ubVertex3fvSUN, glColor3fVertex3fSUN, glColor3fVertex3fvSUN, glNormal3fVertex3fSUN, glNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fvSUN, glTexCoord2fVertex3fSUN, glTexCoord2fVertex3fvSUN, glTexCoord4fVertex4fSUN, glTexCoord4fVertex4fvSUN, + glTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, glReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fvSUN, + glReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; void load(GLLoadFunc load) { GLARBES32Compatibility.load(this, load); @@ -302,6 +309,28 @@ void load(GLLoadFunc load) { GLEXTSemaphore.load(this, load); GLEXTSemaphoreFd.load(this, load); GLEXTSemaphoreWin32.load(this, load); + GLEXTSeparateShaderObjects.load(this, load); + GLEXTShaderFramebufferFetchNonCoherent.load(this, load); + GLEXTShaderImageLoadStore.load(this, load); + GLEXTStencilClearTag.load(this, load); + GLEXTStencilTwoSide.load(this, load); + GLEXTSubtexture.load(this, load); + GLEXTTexture3D.load(this, load); + GLEXTTextureArray.load(this, load); + GLEXTTextureBufferObject.load(this, load); + GLEXTTextureInteger.load(this, load); + GLEXTTextureObject.load(this, load); + GLEXTTexturePerturbNormal.load(this, load); + GLEXTTextureStorage.load(this, load); + GLEXTTimerQuery.load(this, load); + GLEXTTransformFeedback.load(this, load); + GLEXTVertexArray.load(this, load); + GLEXTVertexAttrib64bit.load(this, load); + GLEXTVertexShader.load(this, load); + GLEXTVertexWeighting.load(this, load); + GLEXTWin32KeyedMutex.load(this, load); + GLEXTWindowRectangles.load(this, load); + GLEXTX11SyncObject.load(this, load); GLGREMEDYFrameTerminator.load(this, load); GLGREMEDYStringMarker.load(this, load); GLHPImageTransform.load(this, load); diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java new file mode 100644 index 00000000..2b001c3a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateShaderObjects.java @@ -0,0 +1,61 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_separate_shader_objects} + */ +public final class GLEXTSeparateShaderObjects { + public static final int GL_ACTIVE_PROGRAM_EXT = 0x8B8D; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_separate_shader_objects) return; + ext.glUseShaderProgramEXT = load.invoke("glUseShaderProgramEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glActiveProgramEXT = load.invoke("glActiveProgramEXT", ofVoid(JAVA_INT)); + ext.glCreateShaderProgramEXT = load.invoke("glCreateShaderProgramEXT", of(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glUseShaderProgramEXT(int type, int program) { + final var ext = getExtCapabilities(); + try { + check(ext.glUseShaderProgramEXT).invokeExact(type, program); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glActiveProgramEXT(int program) { + final var ext = getExtCapabilities(); + try { + check(ext.glActiveProgramEXT).invokeExact(program); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glCreateShaderProgramEXT(int type, @NativeType("const GLchar *") MemorySegment string) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glCreateShaderProgramEXT).invokeExact(type, string); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java new file mode 100644 index 00000000..1032c587 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSeparateSpecularColor.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_separate_specular_color} + */ +public final class GLEXTSeparateSpecularColor { + public static final int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; + public static final int GL_SINGLE_COLOR_EXT = 0x81F9; + public static final int GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java new file mode 100644 index 00000000..83accc83 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetch.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_shader_framebuffer_fetch} + */ +public final class GLEXTShaderFramebufferFetch { + public static final int GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java new file mode 100644 index 00000000..48476f95 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderFramebufferFetchNonCoherent.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_shader_framebuffer_fetch_non_coherent} + */ +public final class GLEXTShaderFramebufferFetchNonCoherent { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_shader_framebuffer_fetch_non_coherent) return; + ext.glFramebufferFetchBarrierEXT = load.invoke("glFramebufferFetchBarrierEXT", ofVoid()); + } + + public static void glFramebufferFetchBarrierEXT() { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferFetchBarrierEXT).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java new file mode 100644 index 00000000..646cd6dd --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTShaderImageLoadStore.java @@ -0,0 +1,106 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_shader_image_load_store} + */ +public final class GLEXTShaderImageLoadStore { + public static final int GL_MAX_IMAGE_UNITS_EXT = 0x8F38; + public static final int GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; + public static final int GL_IMAGE_BINDING_NAME_EXT = 0x8F3A; + public static final int GL_IMAGE_BINDING_LEVEL_EXT = 0x8F3B; + public static final int GL_IMAGE_BINDING_LAYERED_EXT = 0x8F3C; + public static final int GL_IMAGE_BINDING_LAYER_EXT = 0x8F3D; + public static final int GL_IMAGE_BINDING_ACCESS_EXT = 0x8F3E; + public static final int GL_IMAGE_1D_EXT = 0x904C; + public static final int GL_IMAGE_2D_EXT = 0x904D; + public static final int GL_IMAGE_3D_EXT = 0x904E; + public static final int GL_IMAGE_2D_RECT_EXT = 0x904F; + public static final int GL_IMAGE_CUBE_EXT = 0x9050; + public static final int GL_IMAGE_BUFFER_EXT = 0x9051; + public static final int GL_IMAGE_1D_ARRAY_EXT = 0x9052; + public static final int GL_IMAGE_2D_ARRAY_EXT = 0x9053; + public static final int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; + public static final int GL_IMAGE_2D_MULTISAMPLE_EXT = 0x9055; + public static final int GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; + public static final int GL_INT_IMAGE_1D_EXT = 0x9057; + public static final int GL_INT_IMAGE_2D_EXT = 0x9058; + public static final int GL_INT_IMAGE_3D_EXT = 0x9059; + public static final int GL_INT_IMAGE_2D_RECT_EXT = 0x905A; + public static final int GL_INT_IMAGE_CUBE_EXT = 0x905B; + public static final int GL_INT_IMAGE_BUFFER_EXT = 0x905C; + public static final int GL_INT_IMAGE_1D_ARRAY_EXT = 0x905D; + public static final int GL_INT_IMAGE_2D_ARRAY_EXT = 0x905E; + public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; + public static final int GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; + public static final int GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; + public static final int GL_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; + public static final int GL_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; + public static final int GL_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; + public static final int GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; + public static final int GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; + public static final int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; + public static final int GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; + public static final int GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; + public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; + public static final int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; + public static final int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; + public static final int GL_MAX_IMAGE_SAMPLES_EXT = 0x906D; + public static final int GL_IMAGE_BINDING_FORMAT_EXT = 0x906E; + public static final int GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; + public static final int GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; + public static final int GL_UNIFORM_BARRIER_BIT_EXT = 0x00000004; + public static final int GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; + public static final int GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; + public static final int GL_COMMAND_BARRIER_BIT_EXT = 0x00000040; + public static final int GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; + public static final int GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; + public static final int GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; + public static final int GL_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; + public static final int GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; + public static final int GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; + public static final int GL_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_shader_image_load_store) return; + ext.glBindImageTextureEXT = load.invoke("glBindImageTextureEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_BYTE, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glMemoryBarrierEXT = load.invoke("glMemoryBarrierEXT", ofVoid(JAVA_INT)); + } + + public static void glBindImageTextureEXT(int index, int texture, int level, boolean layered, int layer, int access, int format) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindImageTextureEXT).invokeExact(index, texture, level, layered, layer, access, format); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glMemoryBarrierEXT(int barriers) { + final var ext = getExtCapabilities(); + try { + check(ext.glMemoryBarrierEXT).invokeExact(barriers); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java new file mode 100644 index 00000000..27b4544a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSharedTexturePalette.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_shared_texture_palette} + */ +public final class GLEXTSharedTexturePalette { + public static final int GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java new file mode 100644 index 00000000..dc830384 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilClearTag.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_stencil_clear_tag} + */ +public final class GLEXTStencilClearTag { + public static final int GL_STENCIL_TAG_BITS_EXT = 0x88F2; + public static final int GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_stencil_clear_tag) return; + ext.glStencilClearTagEXT = load.invoke("glStencilClearTagEXT", ofVoid(JAVA_INT, JAVA_INT)); + } + + public static void glStencilClearTagEXT(int stencilTagBits, int stencilClearTag) { + final var ext = getExtCapabilities(); + try { + check(ext.glStencilClearTagEXT).invokeExact(stencilTagBits, stencilClearTag); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java new file mode 100644 index 00000000..f8912ca0 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilTwoSide.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_stencil_two_side} + */ +public final class GLEXTStencilTwoSide { + public static final int GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910; + public static final int GL_ACTIVE_STENCIL_FACE_EXT = 0x8911; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_stencil_two_side) return; + ext.glActiveStencilFaceEXT = load.invoke("glActiveStencilFaceEXT", ofVoid(JAVA_INT)); + } + + public static void glActiveStencilFaceEXT(int face) { + final var ext = getExtCapabilities(); + try { + check(ext.glActiveStencilFaceEXT).invokeExact(face); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java new file mode 100644 index 00000000..93a1b2b9 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTStencilWrap.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_stencil_wrap} + */ +public final class GLEXTStencilWrap { + public static final int GL_INCR_WRAP_EXT = 0x8507; + public static final int GL_DECR_WRAP_EXT = 0x8508; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java new file mode 100644 index 00000000..fd362640 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTSubtexture.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_subtexture} + */ +public final class GLEXTSubtexture { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_subtexture) return; + ext.glTexSubImage1DEXT = load.invoke("glTexSubImage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexSubImage2DEXT = load.invoke("glTexSubImage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glTexSubImage1DEXT(int target, int level, int xoffset, int width, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexSubImage1DEXT).invokeExact(target, level, xoffset, width, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexSubImage2DEXT(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexSubImage2DEXT).invokeExact(target, level, xoffset, yoffset, width, height, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java new file mode 100644 index 00000000..2ae29a64 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture.java @@ -0,0 +1,74 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture} + */ +public final class GLEXTTexture { + public static final int GL_ALPHA4_EXT = 0x803B; + public static final int GL_ALPHA8_EXT = 0x803C; + public static final int GL_ALPHA12_EXT = 0x803D; + public static final int GL_ALPHA16_EXT = 0x803E; + public static final int GL_LUMINANCE4_EXT = 0x803F; + public static final int GL_LUMINANCE8_EXT = 0x8040; + public static final int GL_LUMINANCE12_EXT = 0x8041; + public static final int GL_LUMINANCE16_EXT = 0x8042; + public static final int GL_LUMINANCE4_ALPHA4_EXT = 0x8043; + public static final int GL_LUMINANCE6_ALPHA2_EXT = 0x8044; + public static final int GL_LUMINANCE8_ALPHA8_EXT = 0x8045; + public static final int GL_LUMINANCE12_ALPHA4_EXT = 0x8046; + public static final int GL_LUMINANCE12_ALPHA12_EXT = 0x8047; + public static final int GL_LUMINANCE16_ALPHA16_EXT = 0x8048; + public static final int GL_INTENSITY_EXT = 0x8049; + public static final int GL_INTENSITY4_EXT = 0x804A; + public static final int GL_INTENSITY8_EXT = 0x804B; + public static final int GL_INTENSITY12_EXT = 0x804C; + public static final int GL_INTENSITY16_EXT = 0x804D; + public static final int GL_RGB2_EXT = 0x804E; + public static final int GL_RGB4_EXT = 0x804F; + public static final int GL_RGB5_EXT = 0x8050; + public static final int GL_RGB8_EXT = 0x8051; + public static final int GL_RGB10_EXT = 0x8052; + public static final int GL_RGB12_EXT = 0x8053; + public static final int GL_RGB16_EXT = 0x8054; + public static final int GL_RGBA2_EXT = 0x8055; + public static final int GL_RGBA4_EXT = 0x8056; + public static final int GL_RGB5_A1_EXT = 0x8057; + public static final int GL_RGBA8_EXT = 0x8058; + public static final int GL_RGB10_A2_EXT = 0x8059; + public static final int GL_RGBA12_EXT = 0x805A; + public static final int GL_RGBA16_EXT = 0x805B; + public static final int GL_TEXTURE_RED_SIZE_EXT = 0x805C; + public static final int GL_TEXTURE_GREEN_SIZE_EXT = 0x805D; + public static final int GL_TEXTURE_BLUE_SIZE_EXT = 0x805E; + public static final int GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F; + public static final int GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; + public static final int GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061; + public static final int GL_REPLACE_EXT = 0x8062; + public static final int GL_PROXY_TEXTURE_1D_EXT = 0x8063; + public static final int GL_PROXY_TEXTURE_2D_EXT = 0x8064; + public static final int GL_TEXTURE_TOO_LARGE_EXT = 0x8065; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java new file mode 100644 index 00000000..486e30dc --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexture3D.java @@ -0,0 +1,60 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture3D} + */ +public final class GLEXTTexture3D { + public static final int GL_PACK_SKIP_IMAGES_EXT = 0x806B; + public static final int GL_PACK_IMAGE_HEIGHT_EXT = 0x806C; + public static final int GL_UNPACK_SKIP_IMAGES_EXT = 0x806D; + public static final int GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E; + public static final int GL_TEXTURE_3D_EXT = 0x806F; + public static final int GL_PROXY_TEXTURE_3D_EXT = 0x8070; + public static final int GL_TEXTURE_DEPTH_EXT = 0x8071; + public static final int GL_TEXTURE_WRAP_R_EXT = 0x8072; + public static final int GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_texture3D) return; + ext.glTexImage3DEXT = load.invoke("glTexImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexSubImage3DEXT = load.invoke("glTexSubImage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glTexImage3DEXT(int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexImage3DEXT).invokeExact(target, level, internalformat, width, height, depth, border, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexSubImage3DEXT(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, @NativeType("const void *") MemorySegment pixels) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexSubImage3DEXT).invokeExact(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java new file mode 100644 index 00000000..e6dab75e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureArray.java @@ -0,0 +1,51 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_array} + */ +public final class GLEXTTextureArray { + public static final int GL_TEXTURE_1D_ARRAY_EXT = 0x8C18; + public static final int GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; + public static final int GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A; + public static final int GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; + public static final int GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; + public static final int GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; + public static final int GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; + public static final int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_texture_array) return; + ext.glFramebufferTextureLayerEXT = load.invoke("glFramebufferTextureLayerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer) { + final var ext = getExtCapabilities(); + try { + check(ext.glFramebufferTextureLayerEXT).invokeExact(target, attachment, texture, level, layer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java new file mode 100644 index 00000000..38ffce42 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureBufferObject.java @@ -0,0 +1,48 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_buffer_object} + */ +public final class GLEXTTextureBufferObject { + public static final int GL_TEXTURE_BUFFER_EXT = 0x8C2A; + public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; + public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; + public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; + public static final int GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_texture_buffer_object) return; + ext.glTexBufferEXT = load.invoke("glTexBufferEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glTexBufferEXT(int target, int internalformat, int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexBufferEXT).invokeExact(target, internalformat, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java new file mode 100644 index 00000000..112d1d66 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionLatc.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_compression_latc} + */ +public final class GLEXTTextureCompressionLatc { + public static final int GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; + public static final int GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; + public static final int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; + public static final int GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java new file mode 100644 index 00000000..61e04e58 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionRgtc.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_compression_rgtc} + */ +public final class GLEXTTextureCompressionRgtc { + public static final int GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB; + public static final int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; + public static final int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; + public static final int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java new file mode 100644 index 00000000..82de3d5f --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCompressionS3tc.java @@ -0,0 +1,35 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_compression_s3tc} + */ +public final class GLEXTTextureCompressionS3tc { + public static final int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; + public static final int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; + public static final int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; + public static final int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java new file mode 100644 index 00000000..22511a64 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureCubeMap.java @@ -0,0 +1,43 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_cube_map} + */ +public final class GLEXTTextureCubeMap { + public static final int GL_NORMAL_MAP_EXT = 0x8511; + public static final int GL_REFLECTION_MAP_EXT = 0x8512; + public static final int GL_TEXTURE_CUBE_MAP_EXT = 0x8513; + public static final int GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; + public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; + public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; + public static final int GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; + public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java new file mode 100644 index 00000000..5e127443 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvCombine.java @@ -0,0 +1,52 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_env_combine} + */ +public final class GLEXTTextureEnvCombine { + public static final int GL_COMBINE_EXT = 0x8570; + public static final int GL_COMBINE_RGB_EXT = 0x8571; + public static final int GL_COMBINE_ALPHA_EXT = 0x8572; + public static final int GL_RGB_SCALE_EXT = 0x8573; + public static final int GL_ADD_SIGNED_EXT = 0x8574; + public static final int GL_INTERPOLATE_EXT = 0x8575; + public static final int GL_CONSTANT_EXT = 0x8576; + public static final int GL_PRIMARY_COLOR_EXT = 0x8577; + public static final int GL_PREVIOUS_EXT = 0x8578; + public static final int GL_SOURCE0_RGB_EXT = 0x8580; + public static final int GL_SOURCE1_RGB_EXT = 0x8581; + public static final int GL_SOURCE2_RGB_EXT = 0x8582; + public static final int GL_SOURCE0_ALPHA_EXT = 0x8588; + public static final int GL_SOURCE1_ALPHA_EXT = 0x8589; + public static final int GL_SOURCE2_ALPHA_EXT = 0x858A; + public static final int GL_OPERAND0_RGB_EXT = 0x8590; + public static final int GL_OPERAND1_RGB_EXT = 0x8591; + public static final int GL_OPERAND2_RGB_EXT = 0x8592; + public static final int GL_OPERAND0_ALPHA_EXT = 0x8598; + public static final int GL_OPERAND1_ALPHA_EXT = 0x8599; + public static final int GL_OPERAND2_ALPHA_EXT = 0x859A; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java new file mode 100644 index 00000000..d2760d3c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureEnvDot3.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_env_dot3} + */ +public final class GLEXTTextureEnvDot3 { + public static final int GL_DOT3_RGB_EXT = 0x8740; + public static final int GL_DOT3_RGBA_EXT = 0x8741; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java new file mode 100644 index 00000000..8c08803e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterAnisotropic.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_filter_anisotropic} + */ +public final class GLEXTTextureFilterAnisotropic { + public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; + public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java new file mode 100644 index 00000000..3661ffe8 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureFilterMinmax.java @@ -0,0 +1,33 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_filter_minmax} + */ +public final class GLEXTTextureFilterMinmax { + public static final int GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366; + public static final int GL_WEIGHTED_AVERAGE_EXT = 0x9367; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java new file mode 100644 index 00000000..9ceef17a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureInteger.java @@ -0,0 +1,130 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_integer} + */ +public final class GLEXTTextureInteger { + public static final int GL_RGBA32UI_EXT = 0x8D70; + public static final int GL_RGB32UI_EXT = 0x8D71; + public static final int GL_ALPHA32UI_EXT = 0x8D72; + public static final int GL_INTENSITY32UI_EXT = 0x8D73; + public static final int GL_LUMINANCE32UI_EXT = 0x8D74; + public static final int GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75; + public static final int GL_RGBA16UI_EXT = 0x8D76; + public static final int GL_RGB16UI_EXT = 0x8D77; + public static final int GL_ALPHA16UI_EXT = 0x8D78; + public static final int GL_INTENSITY16UI_EXT = 0x8D79; + public static final int GL_LUMINANCE16UI_EXT = 0x8D7A; + public static final int GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B; + public static final int GL_RGBA8UI_EXT = 0x8D7C; + public static final int GL_RGB8UI_EXT = 0x8D7D; + public static final int GL_ALPHA8UI_EXT = 0x8D7E; + public static final int GL_INTENSITY8UI_EXT = 0x8D7F; + public static final int GL_LUMINANCE8UI_EXT = 0x8D80; + public static final int GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81; + public static final int GL_RGBA32I_EXT = 0x8D82; + public static final int GL_RGB32I_EXT = 0x8D83; + public static final int GL_ALPHA32I_EXT = 0x8D84; + public static final int GL_INTENSITY32I_EXT = 0x8D85; + public static final int GL_LUMINANCE32I_EXT = 0x8D86; + public static final int GL_LUMINANCE_ALPHA32I_EXT = 0x8D87; + public static final int GL_RGBA16I_EXT = 0x8D88; + public static final int GL_RGB16I_EXT = 0x8D89; + public static final int GL_ALPHA16I_EXT = 0x8D8A; + public static final int GL_INTENSITY16I_EXT = 0x8D8B; + public static final int GL_LUMINANCE16I_EXT = 0x8D8C; + public static final int GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D; + public static final int GL_RGBA8I_EXT = 0x8D8E; + public static final int GL_RGB8I_EXT = 0x8D8F; + public static final int GL_ALPHA8I_EXT = 0x8D90; + public static final int GL_INTENSITY8I_EXT = 0x8D91; + public static final int GL_LUMINANCE8I_EXT = 0x8D92; + public static final int GL_LUMINANCE_ALPHA8I_EXT = 0x8D93; + public static final int GL_RED_INTEGER_EXT = 0x8D94; + public static final int GL_GREEN_INTEGER_EXT = 0x8D95; + public static final int GL_BLUE_INTEGER_EXT = 0x8D96; + public static final int GL_ALPHA_INTEGER_EXT = 0x8D97; + public static final int GL_RGB_INTEGER_EXT = 0x8D98; + public static final int GL_RGBA_INTEGER_EXT = 0x8D99; + public static final int GL_BGR_INTEGER_EXT = 0x8D9A; + public static final int GL_BGRA_INTEGER_EXT = 0x8D9B; + public static final int GL_LUMINANCE_INTEGER_EXT = 0x8D9C; + public static final int GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; + public static final int GL_RGBA_INTEGER_MODE_EXT = 0x8D9E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_texture_integer) return; + ext.glTexParameterIivEXT = load.invoke("glTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexParameterIuivEXT = load.invoke("glTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTexParameterIivEXT = load.invoke("glGetTexParameterIivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetTexParameterIuivEXT = load.invoke("glGetTexParameterIuivEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glClearColorIiEXT = load.invoke("glClearColorIiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glClearColorIuiEXT = load.invoke("glClearColorIuiEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glTexParameterIivEXT(int target, int pname, @NativeType("const GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexParameterIivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexParameterIuivEXT(int target, int pname, @NativeType("const GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexParameterIuivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexParameterIivEXT(int target, int pname, @NativeType("GLint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexParameterIivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTexParameterIuivEXT(int target, int pname, @NativeType("GLuint *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTexParameterIuivEXT).invokeExact(target, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearColorIiEXT(int red, int green, int blue, int alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearColorIiEXT).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glClearColorIuiEXT(int red, int green, int blue, int alpha) { + final var ext = getExtCapabilities(); + try { + check(ext.glClearColorIuiEXT).invokeExact(red, green, blue, alpha); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java new file mode 100644 index 00000000..4387d6e7 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureLodBias.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_lod_bias} + */ +public final class GLEXTTextureLodBias { + public static final int GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; + public static final int GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500; + public static final int GL_TEXTURE_LOD_BIAS_EXT = 0x8501; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java new file mode 100644 index 00000000..7cd56c74 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureMirrorClamp.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_mirror_clamp} + */ +public final class GLEXTTextureMirrorClamp { + public static final int GL_MIRROR_CLAMP_EXT = 0x8742; + public static final int GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; + public static final int GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java new file mode 100644 index 00000000..b1ea171d --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureObject.java @@ -0,0 +1,90 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_object} + */ +public final class GLEXTTextureObject { + public static final int GL_TEXTURE_PRIORITY_EXT = 0x8066; + public static final int GL_TEXTURE_RESIDENT_EXT = 0x8067; + public static final int GL_TEXTURE_1D_BINDING_EXT = 0x8068; + public static final int GL_TEXTURE_2D_BINDING_EXT = 0x8069; + public static final int GL_TEXTURE_3D_BINDING_EXT = 0x806A; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_texture_object) return; + ext.glAreTexturesResidentEXT = load.invoke("glAreTexturesResidentEXT", of(JAVA_BYTE, JAVA_INT, ADDRESS, ADDRESS)); + ext.glBindTextureEXT = load.invoke("glBindTextureEXT", ofVoid(JAVA_INT, JAVA_INT)); + ext.glDeleteTexturesEXT = load.invoke("glDeleteTexturesEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glGenTexturesEXT = load.invoke("glGenTexturesEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glIsTextureEXT = load.invoke("glIsTextureEXT", of(JAVA_BYTE, JAVA_INT)); + ext.glPrioritizeTexturesEXT = load.invoke("glPrioritizeTexturesEXT", ofVoid(JAVA_INT, ADDRESS, ADDRESS)); + } + + public static boolean glAreTexturesResidentEXT(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("GLboolean *") MemorySegment residences) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glAreTexturesResidentEXT).invokeExact(n, textures, residences); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindTextureEXT(int target, int texture) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindTextureEXT).invokeExact(target, texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteTexturesEXT(int n, @NativeType("const GLuint *") MemorySegment textures) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteTexturesEXT).invokeExact(n, textures); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGenTexturesEXT(int n, @NativeType("GLuint *") MemorySegment textures) { + final var ext = getExtCapabilities(); + try { + check(ext.glGenTexturesEXT).invokeExact(n, textures); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsTextureEXT(int texture) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsTextureEXT).invokeExact(texture); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glPrioritizeTexturesEXT(int n, @NativeType("const GLuint *") MemorySegment textures, @NativeType("const GLclampf *") MemorySegment priorities) { + final var ext = getExtCapabilities(); + try { + check(ext.glPrioritizeTexturesEXT).invokeExact(n, textures, priorities); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java new file mode 100644 index 00000000..2b005b58 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTexturePerturbNormal.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_perturb_normal} + */ +public final class GLEXTTexturePerturbNormal { + public static final int GL_PERTURB_EXT = 0x85AE; + public static final int GL_TEXTURE_NORMAL_EXT = 0x85AF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_texture_perturb_normal) return; + ext.glTextureNormalEXT = load.invoke("glTextureNormalEXT", ofVoid(JAVA_INT)); + } + + public static void glTextureNormalEXT(int mode) { + final var ext = getExtCapabilities(); + try { + check(ext.glTextureNormalEXT).invokeExact(mode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java new file mode 100644 index 00000000..4630c092 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSharedExponent.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_shared_exponent} + */ +public final class GLEXTTextureSharedExponent { + public static final int GL_RGB9_E5_EXT = 0x8C3D; + public static final int GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; + public static final int GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java new file mode 100644 index 00000000..9d0cb635 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSnorm.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_snorm} + */ +public final class GLEXTTextureSnorm { + public static final int GL_ALPHA_SNORM = 0x9010; + public static final int GL_LUMINANCE_SNORM = 0x9011; + public static final int GL_LUMINANCE_ALPHA_SNORM = 0x9012; + public static final int GL_INTENSITY_SNORM = 0x9013; + public static final int GL_ALPHA8_SNORM = 0x9014; + public static final int GL_LUMINANCE8_SNORM = 0x9015; + public static final int GL_LUMINANCE8_ALPHA8_SNORM = 0x9016; + public static final int GL_INTENSITY8_SNORM = 0x9017; + public static final int GL_ALPHA16_SNORM = 0x9018; + public static final int GL_LUMINANCE16_SNORM = 0x9019; + public static final int GL_LUMINANCE16_ALPHA16_SNORM = 0x901A; + public static final int GL_INTENSITY16_SNORM = 0x901B; + public static final int GL_RED_SNORM = 0x8F90; + public static final int GL_RG_SNORM = 0x8F91; + public static final int GL_RGB_SNORM = 0x8F92; + public static final int GL_RGBA_SNORM = 0x8F93; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java new file mode 100644 index 00000000..d235182e --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgb.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_sRGB} + */ +public final class GLEXTTextureSrgb { + public static final int GL_SRGB_EXT = 0x8C40; + public static final int GL_SRGB8_EXT = 0x8C41; + public static final int GL_SRGB_ALPHA_EXT = 0x8C42; + public static final int GL_SRGB8_ALPHA8_EXT = 0x8C43; + public static final int GL_SLUMINANCE_ALPHA_EXT = 0x8C44; + public static final int GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45; + public static final int GL_SLUMINANCE_EXT = 0x8C46; + public static final int GL_SLUMINANCE8_EXT = 0x8C47; + public static final int GL_COMPRESSED_SRGB_EXT = 0x8C48; + public static final int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; + public static final int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A; + public static final int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; + public static final int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; + public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; + public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; + public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java new file mode 100644 index 00000000..9528acf6 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbDecode.java @@ -0,0 +1,34 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_sRGB_decode} + */ +public final class GLEXTTextureSrgbDecode { + public static final int GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48; + public static final int GL_DECODE_EXT = 0x8A49; + public static final int GL_SKIP_DECODE_EXT = 0x8A4A; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java new file mode 100644 index 00000000..8db954d1 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbR8.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_sRGB_R8} + */ +public final class GLEXTTextureSrgbR8 { + public static final int GL_SR8_EXT = 0x8FBD; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java new file mode 100644 index 00000000..32424b0c --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSrgbRGB.java @@ -0,0 +1,32 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_sRGB_RG8} + */ +public final class GLEXTTextureSrgbRGB { + public static final int GL_SRG8_EXT = 0x8FBE; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java new file mode 100644 index 00000000..757893be --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureStorage.java @@ -0,0 +1,77 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_storage} + */ +public final class GLEXTTextureStorage { + public static final int GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; + public static final int GL_RGBA32F_EXT = 0x8814; + public static final int GL_RGB32F_EXT = 0x8815; + public static final int GL_ALPHA32F_EXT = 0x8816; + public static final int GL_LUMINANCE32F_EXT = 0x8818; + public static final int GL_LUMINANCE_ALPHA32F_EXT = 0x8819; + public static final int GL_RGBA16F_EXT = 0x881A; + public static final int GL_RGB16F_EXT = 0x881B; + public static final int GL_ALPHA16F_EXT = 0x881C; + public static final int GL_LUMINANCE16F_EXT = 0x881E; + public static final int GL_LUMINANCE_ALPHA16F_EXT = 0x881F; + public static final int GL_BGRA8_EXT = 0x93A1; + public static final int GL_R8_EXT = 0x8229; + public static final int GL_RG8_EXT = 0x822B; + public static final int GL_R32F_EXT = 0x822E; + public static final int GL_RG32F_EXT = 0x8230; + public static final int GL_R16F_EXT = 0x822D; + public static final int GL_RG16F_EXT = 0x822F; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_texture_storage) return; + ext.glTexStorage1DEXT = load.invoke("glTexStorage1DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexStorage2DEXT = load.invoke("glTexStorage2DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTexStorage3DEXT = load.invoke("glTexStorage3DEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + } + + public static void glTexStorage1DEXT(int target, int levels, int internalformat, int width) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorage1DEXT).invokeExact(target, levels, internalformat, width); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexStorage2DEXT(int target, int levels, int internalformat, int width, int height) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorage2DEXT).invokeExact(target, levels, internalformat, width, height); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexStorage3DEXT(int target, int levels, int internalformat, int width, int height, int depth) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexStorage3DEXT).invokeExact(target, levels, internalformat, width, height, depth); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java new file mode 100644 index 00000000..6c20fb0b --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTextureSwizzle.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_texture_swizzle} + */ +public final class GLEXTTextureSwizzle { + public static final int GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42; + public static final int GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43; + public static final int GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44; + public static final int GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45; + public static final int GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java new file mode 100644 index 00000000..7b4cd363 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTimerQuery.java @@ -0,0 +1,52 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_timer_query} + */ +public final class GLEXTTimerQuery { + public static final int GL_TIME_ELAPSED_EXT = 0x88BF; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_timer_query) return; + ext.glGetQueryObjecti64vEXT = load.invoke("glGetQueryObjecti64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetQueryObjectui64vEXT = load.invoke("glGetQueryObjectui64vEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glGetQueryObjecti64vEXT(int id, int pname, @NativeType("GLint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetQueryObjecti64vEXT).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetQueryObjectui64vEXT(int id, int pname, @NativeType("GLuint64 *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetQueryObjectui64vEXT).invokeExact(id, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java new file mode 100644 index 00000000..168f9066 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTTransformFeedback.java @@ -0,0 +1,106 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_transform_feedback} + */ +public final class GLEXTTransformFeedback { + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; + public static final int GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C; + public static final int GL_SEPARATE_ATTRIBS_EXT = 0x8C8D; + public static final int GL_PRIMITIVES_GENERATED_EXT = 0x8C87; + public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; + public static final int GL_RASTERIZER_DISCARD_EXT = 0x8C89; + public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; + public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; + public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; + public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; + public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; + public static final int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_transform_feedback) return; + ext.glBeginTransformFeedbackEXT = load.invoke("glBeginTransformFeedbackEXT", ofVoid(JAVA_INT)); + ext.glEndTransformFeedbackEXT = load.invoke("glEndTransformFeedbackEXT", ofVoid()); + ext.glBindBufferRangeEXT = load.invoke("glBindBufferRangeEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG, JAVA_LONG)); + ext.glBindBufferOffsetEXT = load.invoke("glBindBufferOffsetEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_LONG)); + ext.glBindBufferBaseEXT = load.invoke("glBindBufferBaseEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glTransformFeedbackVaryingsEXT = load.invoke("glTransformFeedbackVaryingsEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS, JAVA_INT)); + ext.glGetTransformFeedbackVaryingEXT = load.invoke("glGetTransformFeedbackVaryingEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS, ADDRESS, ADDRESS, ADDRESS)); + } + + public static void glBeginTransformFeedbackEXT(int primitiveMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginTransformFeedbackEXT).invokeExact(primitiveMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndTransformFeedbackEXT() { + final var ext = getExtCapabilities(); + try { + check(ext.glEndTransformFeedbackEXT).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindBufferRangeEXT(int target, int index, int buffer, long offset, long size) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindBufferRangeEXT).invokeExact(target, index, buffer, offset, size); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindBufferOffsetEXT(int target, int index, int buffer, long offset) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindBufferOffsetEXT).invokeExact(target, index, buffer, offset); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindBufferBaseEXT(int target, int index, int buffer) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindBufferBaseEXT).invokeExact(target, index, buffer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTransformFeedbackVaryingsEXT(int program, int count, @NativeType("const GLchar *const*") MemorySegment varyings, int bufferMode) { + final var ext = getExtCapabilities(); + try { + check(ext.glTransformFeedbackVaryingsEXT).invokeExact(program, count, varyings, bufferMode); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, @NativeType("GLsizei *") MemorySegment length, @NativeType("GLsizei *") MemorySegment size, @NativeType("GLenum *") MemorySegment type, @NativeType("GLchar *") MemorySegment name) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetTransformFeedbackVaryingEXT).invokeExact(program, index, bufSize, length, size, type, name); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java new file mode 100644 index 00000000..25f135ff --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexArray.java @@ -0,0 +1,139 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_vertex_array} + */ +public final class GLEXTVertexArray { + public static final int GL_VERTEX_ARRAY_EXT = 0x8074; + public static final int GL_NORMAL_ARRAY_EXT = 0x8075; + public static final int GL_COLOR_ARRAY_EXT = 0x8076; + public static final int GL_INDEX_ARRAY_EXT = 0x8077; + public static final int GL_TEXTURE_COORD_ARRAY_EXT = 0x8078; + public static final int GL_EDGE_FLAG_ARRAY_EXT = 0x8079; + public static final int GL_VERTEX_ARRAY_SIZE_EXT = 0x807A; + public static final int GL_VERTEX_ARRAY_TYPE_EXT = 0x807B; + public static final int GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C; + public static final int GL_VERTEX_ARRAY_COUNT_EXT = 0x807D; + public static final int GL_NORMAL_ARRAY_TYPE_EXT = 0x807E; + public static final int GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F; + public static final int GL_NORMAL_ARRAY_COUNT_EXT = 0x8080; + public static final int GL_COLOR_ARRAY_SIZE_EXT = 0x8081; + public static final int GL_COLOR_ARRAY_TYPE_EXT = 0x8082; + public static final int GL_COLOR_ARRAY_STRIDE_EXT = 0x8083; + public static final int GL_COLOR_ARRAY_COUNT_EXT = 0x8084; + public static final int GL_INDEX_ARRAY_TYPE_EXT = 0x8085; + public static final int GL_INDEX_ARRAY_STRIDE_EXT = 0x8086; + public static final int GL_INDEX_ARRAY_COUNT_EXT = 0x8087; + public static final int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; + public static final int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; + public static final int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; + public static final int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; + public static final int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; + public static final int GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; + public static final int GL_VERTEX_ARRAY_POINTER_EXT = 0x808E; + public static final int GL_NORMAL_ARRAY_POINTER_EXT = 0x808F; + public static final int GL_COLOR_ARRAY_POINTER_EXT = 0x8090; + public static final int GL_INDEX_ARRAY_POINTER_EXT = 0x8091; + public static final int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; + public static final int GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_vertex_array) return; + ext.glArrayElementEXT = load.invoke("glArrayElementEXT", ofVoid(JAVA_INT)); + ext.glColorPointerEXT = load.invoke("glColorPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glDrawArraysEXT = load.invoke("glDrawArraysEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glEdgeFlagPointerEXT = load.invoke("glEdgeFlagPointerEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetPointervEXT = load.invoke("glGetPointervEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glIndexPointerEXT = load.invoke("glIndexPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glNormalPointerEXT = load.invoke("glNormalPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glTexCoordPointerEXT = load.invoke("glTexCoordPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVertexPointerEXT = load.invoke("glVertexPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glArrayElementEXT(int i) { + final var ext = getExtCapabilities(); + try { + check(ext.glArrayElementEXT).invokeExact(i); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glColorPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glColorPointerEXT).invokeExact(size, type, stride, count, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDrawArraysEXT(int mode, int first, int count) { + final var ext = getExtCapabilities(); + try { + check(ext.glDrawArraysEXT).invokeExact(mode, first, count); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEdgeFlagPointerEXT(int stride, int count, @NativeType("const GLboolean *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glEdgeFlagPointerEXT).invokeExact(stride, count, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetPointervEXT(int pname, @NativeType("void **") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetPointervEXT).invokeExact(pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glIndexPointerEXT(int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glIndexPointerEXT).invokeExact(type, stride, count, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glNormalPointerEXT(int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glNormalPointerEXT).invokeExact(type, stride, count, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glTexCoordPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glTexCoordPointerEXT).invokeExact(size, type, stride, count, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexPointerEXT(int size, int type, int stride, int count, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexPointerEXT).invokeExact(size, type, stride, count, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java new file mode 100644 index 00000000..dc7eac02 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexAttrib64bit.java @@ -0,0 +1,127 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_vertex_attrib_64bit} + */ +public final class GLEXTVertexAttrib64bit { + public static final int GL_DOUBLE_VEC2_EXT = 0x8FFC; + public static final int GL_DOUBLE_VEC3_EXT = 0x8FFD; + public static final int GL_DOUBLE_VEC4_EXT = 0x8FFE; + public static final int GL_DOUBLE_MAT2_EXT = 0x8F46; + public static final int GL_DOUBLE_MAT3_EXT = 0x8F47; + public static final int GL_DOUBLE_MAT4_EXT = 0x8F48; + public static final int GL_DOUBLE_MAT2x3_EXT = 0x8F49; + public static final int GL_DOUBLE_MAT2x4_EXT = 0x8F4A; + public static final int GL_DOUBLE_MAT3x2_EXT = 0x8F4B; + public static final int GL_DOUBLE_MAT3x4_EXT = 0x8F4C; + public static final int GL_DOUBLE_MAT4x2_EXT = 0x8F4D; + public static final int GL_DOUBLE_MAT4x3_EXT = 0x8F4E; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_vertex_attrib_64bit) return; + ext.glVertexAttribL1dEXT = load.invoke("glVertexAttribL1dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE)); + ext.glVertexAttribL2dEXT = load.invoke("glVertexAttribL2dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttribL3dEXT = load.invoke("glVertexAttribL3dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttribL4dEXT = load.invoke("glVertexAttribL4dEXT", ofVoid(JAVA_INT, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE, JAVA_DOUBLE)); + ext.glVertexAttribL1dvEXT = load.invoke("glVertexAttribL1dvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL2dvEXT = load.invoke("glVertexAttribL2dvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL3dvEXT = load.invoke("glVertexAttribL3dvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribL4dvEXT = load.invoke("glVertexAttribL4dvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVertexAttribLPointerEXT = load.invoke("glVertexAttribLPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVertexAttribLdvEXT = load.invoke("glGetVertexAttribLdvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glVertexAttribL1dEXT(int index, double x) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL1dEXT).invokeExact(index, x); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL2dEXT(int index, double x, double y) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL2dEXT).invokeExact(index, x, y); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL3dEXT(int index, double x, double y, double z) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL3dEXT).invokeExact(index, x, y, z); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL4dEXT(int index, double x, double y, double z, double w) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL4dEXT).invokeExact(index, x, y, z, w); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL1dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL1dvEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL2dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL2dvEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL3dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL3dvEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribL4dvEXT(int index, @NativeType("const GLdouble *") MemorySegment v) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribL4dvEXT).invokeExact(index, v); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexAttribLPointerEXT(int index, int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexAttribLPointerEXT).invokeExact(index, size, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVertexAttribLdvEXT(int index, int pname, @NativeType("GLdouble *") MemorySegment params) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVertexAttribLdvEXT).invokeExact(index, pname, params); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java new file mode 100644 index 00000000..3821f511 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexShader.java @@ -0,0 +1,489 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_vertex_shader} + */ +public final class GLEXTVertexShader { + public static final int GL_VERTEX_SHADER_EXT = 0x8780; + public static final int GL_VERTEX_SHADER_BINDING_EXT = 0x8781; + public static final int GL_OP_INDEX_EXT = 0x8782; + public static final int GL_OP_NEGATE_EXT = 0x8783; + public static final int GL_OP_DOT3_EXT = 0x8784; + public static final int GL_OP_DOT4_EXT = 0x8785; + public static final int GL_OP_MUL_EXT = 0x8786; + public static final int GL_OP_ADD_EXT = 0x8787; + public static final int GL_OP_MADD_EXT = 0x8788; + public static final int GL_OP_FRAC_EXT = 0x8789; + public static final int GL_OP_MAX_EXT = 0x878A; + public static final int GL_OP_MIN_EXT = 0x878B; + public static final int GL_OP_SET_GE_EXT = 0x878C; + public static final int GL_OP_SET_LT_EXT = 0x878D; + public static final int GL_OP_CLAMP_EXT = 0x878E; + public static final int GL_OP_FLOOR_EXT = 0x878F; + public static final int GL_OP_ROUND_EXT = 0x8790; + public static final int GL_OP_EXP_BASE_2_EXT = 0x8791; + public static final int GL_OP_LOG_BASE_2_EXT = 0x8792; + public static final int GL_OP_POWER_EXT = 0x8793; + public static final int GL_OP_RECIP_EXT = 0x8794; + public static final int GL_OP_RECIP_SQRT_EXT = 0x8795; + public static final int GL_OP_SUB_EXT = 0x8796; + public static final int GL_OP_CROSS_PRODUCT_EXT = 0x8797; + public static final int GL_OP_MULTIPLY_MATRIX_EXT = 0x8798; + public static final int GL_OP_MOV_EXT = 0x8799; + public static final int GL_OUTPUT_VERTEX_EXT = 0x879A; + public static final int GL_OUTPUT_COLOR0_EXT = 0x879B; + public static final int GL_OUTPUT_COLOR1_EXT = 0x879C; + public static final int GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D; + public static final int GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E; + public static final int GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F; + public static final int GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; + public static final int GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; + public static final int GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; + public static final int GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; + public static final int GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; + public static final int GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; + public static final int GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; + public static final int GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; + public static final int GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; + public static final int GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; + public static final int GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; + public static final int GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; + public static final int GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; + public static final int GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; + public static final int GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; + public static final int GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; + public static final int GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; + public static final int GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; + public static final int GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; + public static final int GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; + public static final int GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; + public static final int GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; + public static final int GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; + public static final int GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; + public static final int GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; + public static final int GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; + public static final int GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; + public static final int GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; + public static final int GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; + public static final int GL_OUTPUT_FOG_EXT = 0x87BD; + public static final int GL_SCALAR_EXT = 0x87BE; + public static final int GL_VECTOR_EXT = 0x87BF; + public static final int GL_MATRIX_EXT = 0x87C0; + public static final int GL_VARIANT_EXT = 0x87C1; + public static final int GL_INVARIANT_EXT = 0x87C2; + public static final int GL_LOCAL_CONSTANT_EXT = 0x87C3; + public static final int GL_LOCAL_EXT = 0x87C4; + public static final int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; + public static final int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; + public static final int GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; + public static final int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; + public static final int GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; + public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; + public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; + public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; + public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; + public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; + public static final int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; + public static final int GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0; + public static final int GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; + public static final int GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; + public static final int GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3; + public static final int GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; + public static final int GL_X_EXT = 0x87D5; + public static final int GL_Y_EXT = 0x87D6; + public static final int GL_Z_EXT = 0x87D7; + public static final int GL_W_EXT = 0x87D8; + public static final int GL_NEGATIVE_X_EXT = 0x87D9; + public static final int GL_NEGATIVE_Y_EXT = 0x87DA; + public static final int GL_NEGATIVE_Z_EXT = 0x87DB; + public static final int GL_NEGATIVE_W_EXT = 0x87DC; + public static final int GL_ZERO_EXT = 0x87DD; + public static final int GL_ONE_EXT = 0x87DE; + public static final int GL_NEGATIVE_ONE_EXT = 0x87DF; + public static final int GL_NORMALIZED_RANGE_EXT = 0x87E0; + public static final int GL_FULL_RANGE_EXT = 0x87E1; + public static final int GL_CURRENT_VERTEX_EXT = 0x87E2; + public static final int GL_MVP_MATRIX_EXT = 0x87E3; + public static final int GL_VARIANT_VALUE_EXT = 0x87E4; + public static final int GL_VARIANT_DATATYPE_EXT = 0x87E5; + public static final int GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6; + public static final int GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7; + public static final int GL_VARIANT_ARRAY_EXT = 0x87E8; + public static final int GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9; + public static final int GL_INVARIANT_VALUE_EXT = 0x87EA; + public static final int GL_INVARIANT_DATATYPE_EXT = 0x87EB; + public static final int GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC; + public static final int GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_vertex_shader) return; + ext.glBeginVertexShaderEXT = load.invoke("glBeginVertexShaderEXT", ofVoid()); + ext.glEndVertexShaderEXT = load.invoke("glEndVertexShaderEXT", ofVoid()); + ext.glBindVertexShaderEXT = load.invoke("glBindVertexShaderEXT", ofVoid(JAVA_INT)); + ext.glGenVertexShadersEXT = load.invoke("glGenVertexShadersEXT", of(JAVA_INT, JAVA_INT)); + ext.glDeleteVertexShaderEXT = load.invoke("glDeleteVertexShaderEXT", ofVoid(JAVA_INT)); + ext.glShaderOp1EXT = load.invoke("glShaderOp1EXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glShaderOp2EXT = load.invoke("glShaderOp2EXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glShaderOp3EXT = load.invoke("glShaderOp3EXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glSwizzleEXT = load.invoke("glSwizzleEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glWriteMaskEXT = load.invoke("glWriteMaskEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glInsertComponentEXT = load.invoke("glInsertComponentEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glExtractComponentEXT = load.invoke("glExtractComponentEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glGenSymbolsEXT = load.invoke("glGenSymbolsEXT", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glSetInvariantEXT = load.invoke("glSetInvariantEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glSetLocalConstantEXT = load.invoke("glSetLocalConstantEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glVariantbvEXT = load.invoke("glVariantbvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantsvEXT = load.invoke("glVariantsvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantivEXT = load.invoke("glVariantivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantfvEXT = load.invoke("glVariantfvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantdvEXT = load.invoke("glVariantdvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantubvEXT = load.invoke("glVariantubvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantusvEXT = load.invoke("glVariantusvEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantuivEXT = load.invoke("glVariantuivEXT", ofVoid(JAVA_INT, ADDRESS)); + ext.glVariantPointerEXT = load.invoke("glVariantPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + ext.glEnableVariantClientStateEXT = load.invoke("glEnableVariantClientStateEXT", ofVoid(JAVA_INT)); + ext.glDisableVariantClientStateEXT = load.invoke("glDisableVariantClientStateEXT", ofVoid(JAVA_INT)); + ext.glBindLightParameterEXT = load.invoke("glBindLightParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBindMaterialParameterEXT = load.invoke("glBindMaterialParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBindTexGenParameterEXT = load.invoke("glBindTexGenParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBindTextureUnitParameterEXT = load.invoke("glBindTextureUnitParameterEXT", of(JAVA_INT, JAVA_INT, JAVA_INT)); + ext.glBindParameterEXT = load.invoke("glBindParameterEXT", of(JAVA_INT, JAVA_INT)); + ext.glIsVariantEnabledEXT = load.invoke("glIsVariantEnabledEXT", of(JAVA_BYTE, JAVA_INT, JAVA_INT)); + ext.glGetVariantBooleanvEXT = load.invoke("glGetVariantBooleanvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVariantIntegervEXT = load.invoke("glGetVariantIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVariantFloatvEXT = load.invoke("glGetVariantFloatvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetVariantPointervEXT = load.invoke("glGetVariantPointervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetInvariantBooleanvEXT = load.invoke("glGetInvariantBooleanvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetInvariantIntegervEXT = load.invoke("glGetInvariantIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetInvariantFloatvEXT = load.invoke("glGetInvariantFloatvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetLocalConstantBooleanvEXT = load.invoke("glGetLocalConstantBooleanvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetLocalConstantIntegervEXT = load.invoke("glGetLocalConstantIntegervEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + ext.glGetLocalConstantFloatvEXT = load.invoke("glGetLocalConstantFloatvEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glBeginVertexShaderEXT() { + final var ext = getExtCapabilities(); + try { + check(ext.glBeginVertexShaderEXT).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEndVertexShaderEXT() { + final var ext = getExtCapabilities(); + try { + check(ext.glEndVertexShaderEXT).invokeExact(); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glBindVertexShaderEXT(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glBindVertexShaderEXT).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGenVertexShadersEXT(int range) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGenVertexShadersEXT).invokeExact(range); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDeleteVertexShaderEXT(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glDeleteVertexShaderEXT).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glShaderOp1EXT(int op, int res, int arg1) { + final var ext = getExtCapabilities(); + try { + check(ext.glShaderOp1EXT).invokeExact(op, res, arg1); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glShaderOp2EXT(int op, int res, int arg1, int arg2) { + final var ext = getExtCapabilities(); + try { + check(ext.glShaderOp2EXT).invokeExact(op, res, arg1, arg2); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glShaderOp3EXT(int op, int res, int arg1, int arg2, int arg3) { + final var ext = getExtCapabilities(); + try { + check(ext.glShaderOp3EXT).invokeExact(op, res, arg1, arg2, arg3); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSwizzleEXT(int res, int in, int outX, int outY, int outZ, int outW) { + final var ext = getExtCapabilities(); + try { + check(ext.glSwizzleEXT).invokeExact(res, in, outX, outY, outZ, outW); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glWriteMaskEXT(int res, int in, int outX, int outY, int outZ, int outW) { + final var ext = getExtCapabilities(); + try { + check(ext.glWriteMaskEXT).invokeExact(res, in, outX, outY, outZ, outW); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glInsertComponentEXT(int res, int src, int num) { + final var ext = getExtCapabilities(); + try { + check(ext.glInsertComponentEXT).invokeExact(res, src, num); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glExtractComponentEXT(int res, int src, int num) { + final var ext = getExtCapabilities(); + try { + check(ext.glExtractComponentEXT).invokeExact(res, src, num); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glGenSymbolsEXT(int datatype, int storagetype, int range, int components) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glGenSymbolsEXT).invokeExact(datatype, storagetype, range, components); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSetInvariantEXT(int id, int type, @NativeType("const void *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glSetInvariantEXT).invokeExact(id, type, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glSetLocalConstantEXT(int id, int type, @NativeType("const void *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glSetLocalConstantEXT).invokeExact(id, type, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantbvEXT(int id, @NativeType("const GLbyte *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantbvEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantsvEXT(int id, @NativeType("const GLshort *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantsvEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantivEXT(int id, @NativeType("const GLint *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantivEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantfvEXT(int id, @NativeType("const GLfloat *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantfvEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantdvEXT(int id, @NativeType("const GLdouble *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantdvEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantubvEXT(int id, @NativeType("const GLubyte *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantubvEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantusvEXT(int id, @NativeType("const GLushort *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantusvEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantuivEXT(int id, @NativeType("const GLuint *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantuivEXT).invokeExact(id, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVariantPointerEXT(int id, int type, int stride, @NativeType("const void *") MemorySegment addr) { + final var ext = getExtCapabilities(); + try { + check(ext.glVariantPointerEXT).invokeExact(id, type, stride, addr); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glEnableVariantClientStateEXT(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glEnableVariantClientStateEXT).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glDisableVariantClientStateEXT(int id) { + final var ext = getExtCapabilities(); + try { + check(ext.glDisableVariantClientStateEXT).invokeExact(id); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glBindLightParameterEXT(int light, int value) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glBindLightParameterEXT).invokeExact(light, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glBindMaterialParameterEXT(int face, int value) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glBindMaterialParameterEXT).invokeExact(face, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glBindTexGenParameterEXT(int unit, int coord, int value) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glBindTexGenParameterEXT).invokeExact(unit, coord, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glBindTextureUnitParameterEXT(int unit, int value) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glBindTextureUnitParameterEXT).invokeExact(unit, value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static int glBindParameterEXT(int value) { + final var ext = getExtCapabilities(); + try { + return (int) + check(ext.glBindParameterEXT).invokeExact(value); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glIsVariantEnabledEXT(int id, int cap) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glIsVariantEnabledEXT).invokeExact(id, cap); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVariantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVariantBooleanvEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVariantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVariantIntegervEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVariantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVariantFloatvEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetVariantPointervEXT(int id, int value, @NativeType("void **") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetVariantPointervEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetInvariantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetInvariantBooleanvEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetInvariantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetInvariantIntegervEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetInvariantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetInvariantFloatvEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetLocalConstantBooleanvEXT(int id, int value, @NativeType("GLboolean *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetLocalConstantBooleanvEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetLocalConstantIntegervEXT(int id, int value, @NativeType("GLint *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetLocalConstantIntegervEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glGetLocalConstantFloatvEXT(int id, int value, @NativeType("GLfloat *") MemorySegment data) { + final var ext = getExtCapabilities(); + try { + check(ext.glGetLocalConstantFloatvEXT).invokeExact(id, value, data); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java new file mode 100644 index 00000000..e735722a --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTVertexWeighting.java @@ -0,0 +1,72 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_vertex_weighting} + */ +public final class GLEXTVertexWeighting { + public static final int GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; + public static final int GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502; + public static final int GL_MODELVIEW0_MATRIX_EXT = 0x0BA6; + public static final int GL_MODELVIEW1_MATRIX_EXT = 0x8506; + public static final int GL_VERTEX_WEIGHTING_EXT = 0x8509; + public static final int GL_MODELVIEW0_EXT = 0x1700; + public static final int GL_MODELVIEW1_EXT = 0x850A; + public static final int GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B; + public static final int GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C; + public static final int GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; + public static final int GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; + public static final int GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; + public static final int GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_vertex_weighting) return; + ext.glVertexWeightfEXT = load.invoke("glVertexWeightfEXT", ofVoid(JAVA_FLOAT)); + ext.glVertexWeightfvEXT = load.invoke("glVertexWeightfvEXT", ofVoid(ADDRESS)); + ext.glVertexWeightPointerEXT = load.invoke("glVertexWeightPointerEXT", ofVoid(JAVA_INT, JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glVertexWeightfEXT(float weight) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexWeightfEXT).invokeExact(weight); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexWeightfvEXT(@NativeType("const GLfloat *") MemorySegment weight) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexWeightfvEXT).invokeExact(weight); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static void glVertexWeightPointerEXT(int size, int type, int stride, @NativeType("const void *") MemorySegment pointer) { + final var ext = getExtCapabilities(); + try { + check(ext.glVertexWeightPointerEXT).invokeExact(size, type, stride, pointer); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java new file mode 100644 index 00000000..f0bf68ad --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWin32KeyedMutex.java @@ -0,0 +1,53 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_win32_keyed_mutex} + */ +public final class GLEXTWin32KeyedMutex { + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_win32_keyed_mutex) return; + ext.glAcquireKeyedMutexWin32EXT = load.invoke("glAcquireKeyedMutexWin32EXT", of(JAVA_BYTE, JAVA_INT, JAVA_LONG, JAVA_INT)); + ext.glReleaseKeyedMutexWin32EXT = load.invoke("glReleaseKeyedMutexWin32EXT", of(JAVA_BYTE, JAVA_INT, JAVA_LONG)); + } + + public static boolean glAcquireKeyedMutexWin32EXT(int memory, long key, int timeout) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glAcquireKeyedMutexWin32EXT).invokeExact(memory, key, timeout); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + + public static boolean glReleaseKeyedMutexWin32EXT(int memory, long key) { + final var ext = getExtCapabilities(); + try { + return (boolean) + check(ext.glReleaseKeyedMutexWin32EXT).invokeExact(memory, key); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java new file mode 100644 index 00000000..d6389d67 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTWindowRectangles.java @@ -0,0 +1,49 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_window_rectangles} + */ +public final class GLEXTWindowRectangles { + public static final int GL_INCLUSIVE_EXT = 0x8F10; + public static final int GL_EXCLUSIVE_EXT = 0x8F11; + public static final int GL_WINDOW_RECTANGLE_EXT = 0x8F12; + public static final int GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13; + public static final int GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14; + public static final int GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_window_rectangles) return; + ext.glWindowRectanglesEXT = load.invoke("glWindowRectanglesEXT", ofVoid(JAVA_INT, JAVA_INT, ADDRESS)); + } + + public static void glWindowRectanglesEXT(int mode, int count, @NativeType("const GLint *") MemorySegment box) { + final var ext = getExtCapabilities(); + try { + check(ext.glWindowRectanglesEXT).invokeExact(mode, count, box); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java new file mode 100644 index 00000000..2b3196b5 --- /dev/null +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/ext/ext/GLEXTX11SyncObject.java @@ -0,0 +1,45 @@ +/* + * MIT License + * + * Copyright (c) 2022-present Overrun Organization + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + */ + +// This file is auto-generated. DO NOT EDIT! +package overrungl.opengl.ext.ext; + +import overrungl.*; +import overrungl.opengl.*; +import java.lang.foreign.*; +import static java.lang.foreign.FunctionDescriptor.*; +import static java.lang.foreign.ValueLayout.*; +import static overrungl.opengl.GLLoader.*; + +/** + * {@code GL_EXT_x11_sync_object} + */ +public final class GLEXTX11SyncObject { + public static final int GL_SYNC_X11_FENCE_EXT = 0x90E1; + public static void load(GLExtCaps ext, GLLoadFunc load) { + if (!ext.GL_EXT_x11_sync_object) return; + ext.glImportSyncEXT = load.invoke("glImportSyncEXT", of(ADDRESS, JAVA_INT, JAVA_LONG, JAVA_INT)); + } + + public static @NativeType("GLsync") MemorySegment glImportSyncEXT(int external_sync_type, long external_sync, int flags) { + final var ext = getExtCapabilities(); + try { + return (MemorySegment) + check(ext.glImportSyncEXT).invokeExact(external_sync_type, external_sync, flags); + } catch (Throwable e) { throw new AssertionError("should not reach here", e); } + } + +} From d44845b7c3df8c31a3622a3301344343d40dfc03 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 29 Dec 2023 13:53:37 +0800 Subject: [PATCH 38/44] [OpenGL] Removed GLConst and GLConstC --- .../main/java/overrungl/opengl/GLConst.java | 204 -- .../main/java/overrungl/opengl/GLConstC.java | 2629 ----------------- 2 files changed, 2833 deletions(-) delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConst.java delete mode 100644 modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConst.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConst.java deleted file mode 100644 index c3e802c4..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConst.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -/** - * The OpenGL 1.0 ~ 4.6 constants. - * - * @author squid233 - * @since 0.1.0 - */ -@Deprecated(since = "0.1.0") -public final class GLConst extends GLConstC { - public static final int GL_2_BYTES_NV = 0x1407; - public static final int GL_3_BYTES_NV = 0x1408; - public static final int GL_4_BYTES_NV = 0x1409; - public static final int GL_ADD_SIGNED = 0x8574; - public static final int GL_ALPHA_INTEGER = 0x8D97; - public static final int GL_AUTO_NORMAL = 0x0D80; - public static final int GL_CLAMP_FRAGMENT_COLOR = 0x891B; - public static final int GL_CLAMP_VERTEX_COLOR = 0x891A; - public static final int GL_CLIENT_ACTIVE_TEXTURE = 0x84E1; - public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898; - public static final int GL_COLOR_MATRIX = 0x80B1; - public static final int GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2; - public static final int GL_COLOR_SUM = 0x8458; - public static final int GL_COLOR_TABLE = 0x80D0; - public static final int GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD; - public static final int GL_COLOR_TABLE_BIAS = 0x80D7; - public static final int GL_COLOR_TABLE_BLUE_SIZE = 0x80DC; - public static final int GL_COLOR_TABLE_FORMAT = 0x80D8; - public static final int GL_COLOR_TABLE_GREEN_SIZE = 0x80DB; - public static final int GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF; - public static final int GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE; - public static final int GL_COLOR_TABLE_RED_SIZE = 0x80DA; - public static final int GL_COLOR_TABLE_SCALE = 0x80D6; - public static final int GL_COLOR_TABLE_WIDTH = 0x80D9; - public static final int GL_COMBINE = 0x8570; - public static final int GL_COMBINE_ALPHA = 0x8572; - public static final int GL_COMBINE_RGB = 0x8571; - public static final int GL_COMPARE_R_TO_TEXTURE = 0x884E; - public static final int GL_COMPRESSED_ALPHA = 0x84E9; - public static final int GL_COMPRESSED_INTENSITY = 0x84EC; - public static final int GL_COMPRESSED_LUMINANCE = 0x84EA; - public static final int GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB; - public static final int GL_COMPRESSED_SLUMINANCE = 0x8C4A; - public static final int GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B; - public static final int GL_CONSTANT = 0x8576; - public static final int GL_CONSTANT_BORDER = 0x8151; - public static final int GL_CONSTANT_NV = 0x8576; - public static final int GL_CONVOLUTION_1D = 0x8010; - public static final int GL_CONVOLUTION_2D = 0x8011; - public static final int GL_CONVOLUTION_BORDER_COLOR = 0x8154; - public static final int GL_CONVOLUTION_BORDER_MODE = 0x8013; - public static final int GL_CONVOLUTION_FILTER_BIAS = 0x8015; - public static final int GL_CONVOLUTION_FILTER_SCALE = 0x8014; - public static final int GL_CONVOLUTION_FORMAT = 0x8017; - public static final int GL_CONVOLUTION_HEIGHT = 0x8019; - public static final int GL_CONVOLUTION_WIDTH = 0x8018; - public static final int GL_COORD_REPLACE = 0x8862; - public static final int GL_CURRENT_FOG_COORD = 0x8453; - public static final int GL_CURRENT_FOG_COORDINATE = 0x8453; - public static final int GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F; - public static final int GL_CURRENT_SECONDARY_COLOR = 0x8459; - public static final int GL_DEPTH_TEXTURE_MODE = 0x884B; - public static final int GL_DISPLAY_LIST = 0x82E7; - public static final int GL_DOT3_RGB = 0x86AE; - public static final int GL_DOT3_RGBA = 0x86AF; - public static final int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B; - public static final int GL_EYE_LINEAR_NV = 0x2400; - public static final int GL_FOG_COORD = 0x8451; - public static final int GL_FOG_COORDINATE = 0x8451; - public static final int GL_FOG_COORDINATE_ARRAY = 0x8457; - public static final int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D; - public static final int GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456; - public static final int GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455; - public static final int GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454; - public static final int GL_FOG_COORDINATE_SOURCE = 0x8450; - public static final int GL_FOG_COORD_ARRAY = 0x8457; - public static final int GL_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D; - public static final int GL_FOG_COORD_ARRAY_POINTER = 0x8456; - public static final int GL_FOG_COORD_ARRAY_STRIDE = 0x8455; - public static final int GL_FOG_COORD_ARRAY_TYPE = 0x8454; - public static final int GL_FOG_COORD_SRC = 0x8450; - public static final int GL_FRAGMENT_DEPTH = 0x8452; - public static final int GL_GENERATE_MIPMAP = 0x8191; - public static final int GL_GENERATE_MIPMAP_HINT = 0x8192; - public static final int GL_HISTOGRAM = 0x8024; - public static final int GL_HISTOGRAM_ALPHA_SIZE = 0x802B; - public static final int GL_HISTOGRAM_BLUE_SIZE = 0x802A; - public static final int GL_HISTOGRAM_FORMAT = 0x8027; - public static final int GL_HISTOGRAM_GREEN_SIZE = 0x8029; - public static final int GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C; - public static final int GL_HISTOGRAM_RED_SIZE = 0x8028; - public static final int GL_HISTOGRAM_SINK = 0x802D; - public static final int GL_HISTOGRAM_WIDTH = 0x8026; - public static final int GL_INDEX = 0x8222; - public static final int GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899; - public static final int GL_INTERPOLATE = 0x8575; - public static final int GL_MAP_COLOR = 0x0D10; - public static final int GL_MAP_STENCIL = 0x0D11; - public static final int GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3; - public static final int GL_MAX_CONVOLUTION_HEIGHT = 0x801B; - public static final int GL_MAX_CONVOLUTION_WIDTH = 0x801A; - public static final int GL_MAX_TEXTURE_COORDS = 0x8871; - public static final int GL_MAX_TEXTURE_UNITS = 0x84E2; - public static final int GL_MINMAX = 0x802E; - public static final int GL_MINMAX_FORMAT = 0x802F; - public static final int GL_MINMAX_SINK = 0x8030; - public static final int GL_MULTISAMPLE_BIT = 0x20000000; - public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897; - public static final int GL_NORMAL_MAP = 0x8511; - public static final int GL_OBJECT_LINEAR_NV = 0x2401; - public static final int GL_OPERAND0_ALPHA = 0x8598; - public static final int GL_OPERAND0_RGB = 0x8590; - public static final int GL_OPERAND1_ALPHA = 0x8599; - public static final int GL_OPERAND1_RGB = 0x8591; - public static final int GL_OPERAND2_ALPHA = 0x859A; - public static final int GL_OPERAND2_RGB = 0x8592; - public static final int GL_PATH_FOG_GEN_MODE_NV = 0x90AC; - public static final int GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2; - public static final int GL_POINT_DISTANCE_ATTENUATION = 0x8129; - public static final int GL_POINT_SIZE_MAX = 0x8127; - public static final int GL_POINT_SIZE_MIN = 0x8126; - public static final int GL_POINT_SPRITE = 0x8861; - public static final int GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB; - public static final int GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7; - public static final int GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA; - public static final int GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6; - public static final int GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2; - public static final int GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9; - public static final int GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5; - public static final int GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8; - public static final int GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4; - public static final int GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023; - public static final int GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F; - public static final int GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022; - public static final int GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E; - public static final int GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1; - public static final int GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021; - public static final int GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D; - public static final int GL_POST_CONVOLUTION_RED_BIAS = 0x8020; - public static final int GL_POST_CONVOLUTION_RED_SCALE = 0x801C; - public static final int GL_PREVIOUS = 0x8578; - public static final int GL_PRIMARY_COLOR = 0x8577; - public static final int GL_PROXY_COLOR_TABLE = 0x80D3; - public static final int GL_PROXY_HISTOGRAM = 0x8025; - public static final int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5; - public static final int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4; - public static final int GL_REDUCE = 0x8016; - public static final int GL_REFLECTION_MAP = 0x8512; - public static final int GL_REPLICATE_BORDER = 0x8153; - public static final int GL_RGB_SCALE = 0x8573; - public static final int GL_S = 0x2000; - public static final int GL_SCISSOR_BIT = 0x00080000; - public static final int GL_SECONDARY_COLOR_ARRAY = 0x845E; - public static final int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C; - public static final int GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D; - public static final int GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A; - public static final int GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C; - public static final int GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B; - public static final int GL_SEPARABLE_2D = 0x8012; - public static final int GL_SLUMINANCE = 0x8C46; - public static final int GL_SLUMINANCE8 = 0x8C47; - public static final int GL_SLUMINANCE8_ALPHA8 = 0x8C45; - public static final int GL_SLUMINANCE_ALPHA = 0x8C44; - public static final int GL_SOURCE0_ALPHA = 0x8588; - public static final int GL_SOURCE0_RGB = 0x8580; - public static final int GL_SOURCE1_RGB = 0x8581; - public static final int GL_SOURCE2_ALPHA = 0x858A; - public static final int GL_SOURCE2_RGB = 0x8582; - public static final int GL_SRC0_ALPHA = 0x8588; - public static final int GL_SRC0_RGB = 0x8580; - public static final int GL_SRC1_RGB = 0x8581; - public static final int GL_SRC2_ALPHA = 0x858A; - public static final int GL_SRC2_RGB = 0x8582; - public static final int GL_SUBTRACT = 0x84E7; - public static final int GL_TABLE_TOO_LARGE = 0x8031; - public static final int GL_TEXTURE_BIT = 0x00040000; - public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A; - public static final int GL_TEXTURE_FILTER_CONTROL = 0x8500; - public static final int GL_TEXTURE_INTENSITY_TYPE = 0x8C15; - public static final int GL_TEXTURE_LUMINANCE_TYPE = 0x8C14; - public static final int GL_TRANSPOSE_COLOR_MATRIX = 0x84E6; - public static final int GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3; - public static final int GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4; - public static final int GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5; - public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896; - public static final int GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643; - public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E; -} diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java deleted file mode 100644 index 02ff6d4b..00000000 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLConstC.java +++ /dev/null @@ -1,2629 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2022-2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.opengl; - -/** - * The OpenGL 1.0 ~ 4.6 core profile constants. - * - * @author squid233 - * @since 0.1.0 - */ -@Deprecated(since = "0.1.0") -public sealed class GLConstC permits GLConst { - public static final int GL_1PASS_EXT = 0x80A1; - public static final int GL_1PASS_SGIS = 0x80A1; - public static final int GL_2PASS_0_EXT = 0x80A2; - public static final int GL_2PASS_0_SGIS = 0x80A2; - public static final int GL_2PASS_1_EXT = 0x80A3; - public static final int GL_2PASS_1_SGIS = 0x80A3; - public static final int GL_2X_BIT_ATI = 0x00000001; - public static final int GL_422_AVERAGE_EXT = 0x80CE; - public static final int GL_422_EXT = 0x80CC; - public static final int GL_422_REV_AVERAGE_EXT = 0x80CF; - public static final int GL_422_REV_EXT = 0x80CD; - public static final int GL_4PASS_0_EXT = 0x80A4; - public static final int GL_4PASS_0_SGIS = 0x80A4; - public static final int GL_4PASS_1_EXT = 0x80A5; - public static final int GL_4PASS_1_SGIS = 0x80A5; - public static final int GL_4PASS_2_EXT = 0x80A6; - public static final int GL_4PASS_2_SGIS = 0x80A6; - public static final int GL_4PASS_3_EXT = 0x80A7; - public static final int GL_4PASS_3_SGIS = 0x80A7; - public static final int GL_4X_BIT_ATI = 0x00000002; - public static final int GL_8X_BIT_ATI = 0x00000004; - public static final int GL_ABGR_EXT = 0x8000; - public static final int GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD; - public static final int GL_ACTIVE_PROGRAM_EXT = 0x8B8D; - public static final int GL_ACTIVE_STENCIL_FACE_EXT = 0x8911; - public static final int GL_ACTIVE_TEXTURE_ARB = 0x84E0; - public static final int GL_ACTIVE_VARYINGS_NV = 0x8C81; - public static final int GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; - public static final int GL_ADD_ATI = 0x8963; - public static final int GL_ADD_SIGNED_EXT = 0x8574; - public static final int GL_ADJACENT_PAIRS_NV = 0x90AE; - public static final int GL_AFFINE_2D_NV = 0x9092; - public static final int GL_AFFINE_3D_NV = 0x9094; - public static final int GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; - public static final int GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; - public static final int GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; - public static final int GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; - public static final int GL_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; - public static final int GL_ALL_COMPLETED_NV = 0x84F2; - public static final int GL_ALL_PIXELS_AMD = 0xFFFFFFFF; - public static final int GL_ALL_STATIC_DATA_IBM = 103060; - public static final int GL_ALPHA12_EXT = 0x803D; - public static final int GL_ALPHA16F_EXT = 0x881C; - public static final int GL_ALPHA16I_EXT = 0x8D8A; - public static final int GL_ALPHA16UI_EXT = 0x8D78; - public static final int GL_ALPHA16_EXT = 0x803E; - public static final int GL_ALPHA32F_EXT = 0x8816; - public static final int GL_ALPHA32I_EXT = 0x8D84; - public static final int GL_ALPHA32UI_EXT = 0x8D72; - public static final int GL_ALPHA4_EXT = 0x803B; - public static final int GL_ALPHA8I_EXT = 0x8D90; - public static final int GL_ALPHA8UI_EXT = 0x8D7E; - public static final int GL_ALPHA8_EXT = 0x803C; - public static final int GL_ALPHA_FLOAT16_APPLE = 0x881C; - public static final int GL_ALPHA_FLOAT16_ATI = 0x881C; - public static final int GL_ALPHA_FLOAT32_APPLE = 0x8816; - public static final int GL_ALPHA_FLOAT32_ATI = 0x8816; - public static final int GL_ALPHA_INTEGER_EXT = 0x8D97; - public static final int GL_ALPHA_MAX_CLAMP_INGR = 0x8567; - public static final int GL_ALPHA_MAX_SGIX = 0x8321; - public static final int GL_ALPHA_MIN_CLAMP_INGR = 0x8563; - public static final int GL_ALPHA_MIN_SGIX = 0x8320; - public static final int GL_ALPHA_REF_COMMAND_NV = 0x000F; - public static final int GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D; - public static final int GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F; - public static final int GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E; - public static final int GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF; - public static final int GL_ALWAYS_FAST_HINT_PGI = 0x1A20C; - public static final int GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D; - public static final int GL_ARC_TO_NV = 0xFE; - public static final int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; - public static final int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; - public static final int GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; - public static final int GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767; - public static final int GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D; - public static final int GL_ASYNC_HISTOGRAM_SGIX = 0x832C; - public static final int GL_ASYNC_MARKER_SGIX = 0x8329; - public static final int GL_ASYNC_READ_PIXELS_SGIX = 0x835E; - public static final int GL_ASYNC_TEX_IMAGE_SGIX = 0x835C; - public static final int GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; - public static final int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E; - public static final int GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F; - public static final int GL_ATTACHED_MEMORY_OBJECT_NV = 0x95A4; - public static final int GL_ATTACHED_MEMORY_OFFSET_NV = 0x95A5; - public static final int GL_ATTENUATION_EXT = 0x834D; - public static final int GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; - public static final int GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; - public static final int GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; - public static final int GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; - public static final int GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; - public static final int GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14; - public static final int GL_AVERAGE_EXT = 0x8335; - public static final int GL_AVERAGE_HP = 0x8160; - public static final int GL_BACK_NORMALS_HINT_PGI = 0x1A223; - public static final int GL_BACK_PRIMARY_COLOR_NV = 0x8C77; - public static final int GL_BACK_SECONDARY_COLOR_NV = 0x8C78; - public static final int GL_BEVEL_NV = 0x90A6; - public static final int GL_BGRA8_EXT = 0x93A1; - public static final int GL_BGRA_EXT = 0x80E1; - public static final int GL_BGRA_INTEGER_EXT = 0x8D9B; - public static final int GL_BGR_EXT = 0x80E0; - public static final int GL_BGR_INTEGER_EXT = 0x8D9A; - public static final int GL_BIAS_BIT_ATI = 0x00000008; - public static final int GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; - public static final int GL_BINORMAL_ARRAY_EXT = 0x843A; - public static final int GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443; - public static final int GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441; - public static final int GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440; - public static final int GL_BLACKHOLE_RENDER_INTEL = 0x83FC; - public static final int GL_BLEND_ADVANCED_COHERENT_NV = 0x9285; - public static final int GL_BLEND_COLOR_COMMAND_NV = 0x000B; - public static final int GL_BLEND_COLOR_EXT = 0x8005; - public static final int GL_BLEND_DST_ALPHA_EXT = 0x80CA; - public static final int GL_BLEND_DST_RGB_EXT = 0x80C8; - public static final int GL_BLEND_EQUATION_ALPHA_EXT = 0x883D; - public static final int GL_BLEND_EQUATION_EXT = 0x8009; - public static final int GL_BLEND_EQUATION_RGB_EXT = 0x8009; - public static final int GL_BLEND_OVERLAP_NV = 0x9281; - public static final int GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280; - public static final int GL_BLEND_SRC_ALPHA_EXT = 0x80CB; - public static final int GL_BLEND_SRC_RGB_EXT = 0x80C9; - public static final int GL_BLUE_BIT_ATI = 0x00000004; - public static final int GL_BLUE_INTEGER_EXT = 0x8D96; - public static final int GL_BLUE_MAX_CLAMP_INGR = 0x8566; - public static final int GL_BLUE_MIN_CLAMP_INGR = 0x8562; - public static final int GL_BLUE_NV = 0x1905; - public static final int GL_BOLD_BIT_NV = 0x01; - public static final int GL_BOUNDING_BOX_NV = 0x908D; - public static final int GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; - public static final int GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; - public static final int GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D; - public static final int GL_BUFFER_OBJECT_APPLE = 0x85B3; - public static final int GL_BUFFER_OBJECT_EXT = 0x9151; - public static final int GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; - public static final int GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; - public static final int GL_BUMP_ENVMAP_ATI = 0x877B; - public static final int GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777; - public static final int GL_BUMP_ROT_MATRIX_ATI = 0x8775; - public static final int GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; - public static final int GL_BUMP_TARGET_ATI = 0x877C; - public static final int GL_BUMP_TEX_UNITS_ATI = 0x8778; - public static final int GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; - public static final int GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8; - public static final int GL_CIRCULAR_CW_ARC_TO_NV = 0xFA; - public static final int GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; - public static final int GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B; - public static final int GL_CLAMP_READ_COLOR_ARB = 0x891C; - public static final int GL_CLAMP_TO_BORDER_SGIS = 0x812D; - public static final int GL_CLAMP_TO_EDGE_SGIS = 0x812F; - public static final int GL_CLAMP_VERTEX_COLOR_ARB = 0x891A; - public static final int GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; - public static final int GL_CLIP_DISTANCE_NV = 0x8C7A; - public static final int GL_CLIP_FAR_HINT_PGI = 0x1A221; - public static final int GL_CLIP_NEAR_HINT_PGI = 0x1A220; - public static final int GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; - public static final int GL_CLOSE_PATH_NV = 0x00; - public static final int GL_CMYKA_EXT = 0x800D; - public static final int GL_CMYK_EXT = 0x800C; - public static final int GL_CND0_ATI = 0x896B; - public static final int GL_CND_ATI = 0x896A; - public static final int GL_COLOR3_BIT_PGI = 0x00010000; - public static final int GL_COLOR4_BIT_PGI = 0x00020000; - public static final int GL_COLORBURN_NV = 0x929A; - public static final int GL_COLORDODGE_NV = 0x9299; - public static final int GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; - public static final int GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23; - public static final int GL_COLOR_ARRAY_COUNT_EXT = 0x8084; - public static final int GL_COLOR_ARRAY_EXT = 0x8076; - public static final int GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D; - public static final int GL_COLOR_ARRAY_LIST_IBM = 103072; - public static final int GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082; - public static final int GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; - public static final int GL_COLOR_ARRAY_POINTER_EXT = 0x8090; - public static final int GL_COLOR_ARRAY_SIZE_EXT = 0x8081; - public static final int GL_COLOR_ARRAY_STRIDE_EXT = 0x8083; - public static final int GL_COLOR_ARRAY_TYPE_EXT = 0x8082; - public static final int GL_COLOR_ATTACHMENT0_EXT = 0x8CE0; - public static final int GL_COLOR_ATTACHMENT10_EXT = 0x8CEA; - public static final int GL_COLOR_ATTACHMENT11_EXT = 0x8CEB; - public static final int GL_COLOR_ATTACHMENT12_EXT = 0x8CEC; - public static final int GL_COLOR_ATTACHMENT13_EXT = 0x8CED; - public static final int GL_COLOR_ATTACHMENT14_EXT = 0x8CEE; - public static final int GL_COLOR_ATTACHMENT15_EXT = 0x8CEF; - public static final int GL_COLOR_ATTACHMENT1_EXT = 0x8CE1; - public static final int GL_COLOR_ATTACHMENT2_EXT = 0x8CE2; - public static final int GL_COLOR_ATTACHMENT3_EXT = 0x8CE3; - public static final int GL_COLOR_ATTACHMENT4_EXT = 0x8CE4; - public static final int GL_COLOR_ATTACHMENT5_EXT = 0x8CE5; - public static final int GL_COLOR_ATTACHMENT6_EXT = 0x8CE6; - public static final int GL_COLOR_ATTACHMENT7_EXT = 0x8CE7; - public static final int GL_COLOR_ATTACHMENT8_EXT = 0x8CE8; - public static final int GL_COLOR_ATTACHMENT9_EXT = 0x8CE9; - public static final int GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; - public static final int GL_COLOR_FLOAT_APPLE = 0x8A0F; - public static final int GL_COLOR_INDEX12_EXT = 0x80E6; - public static final int GL_COLOR_INDEX16_EXT = 0x80E7; - public static final int GL_COLOR_INDEX1_EXT = 0x80E2; - public static final int GL_COLOR_INDEX2_EXT = 0x80E3; - public static final int GL_COLOR_INDEX4_EXT = 0x80E4; - public static final int GL_COLOR_INDEX8_EXT = 0x80E5; - public static final int GL_COLOR_MATRIX_SGI = 0x80B1; - public static final int GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; - public static final int GL_COLOR_SAMPLES_NV = 0x8E20; - public static final int GL_COLOR_SUM_CLAMP_NV = 0x854F; - public static final int GL_COLOR_SUM_EXT = 0x8458; - public static final int GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; - public static final int GL_COLOR_TABLE_BIAS_SGI = 0x80D7; - public static final int GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; - public static final int GL_COLOR_TABLE_FORMAT_SGI = 0x80D8; - public static final int GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; - public static final int GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; - public static final int GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; - public static final int GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA; - public static final int GL_COLOR_TABLE_SCALE_SGI = 0x80D6; - public static final int GL_COLOR_TABLE_SGI = 0x80D0; - public static final int GL_COLOR_TABLE_WIDTH_SGI = 0x80D9; - public static final int GL_COMBINE4_NV = 0x8503; - public static final int GL_COMBINER0_NV = 0x8550; - public static final int GL_COMBINER1_NV = 0x8551; - public static final int GL_COMBINER2_NV = 0x8552; - public static final int GL_COMBINER3_NV = 0x8553; - public static final int GL_COMBINER4_NV = 0x8554; - public static final int GL_COMBINER5_NV = 0x8555; - public static final int GL_COMBINER6_NV = 0x8556; - public static final int GL_COMBINER7_NV = 0x8557; - public static final int GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545; - public static final int GL_COMBINER_AB_OUTPUT_NV = 0x854A; - public static final int GL_COMBINER_BIAS_NV = 0x8549; - public static final int GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546; - public static final int GL_COMBINER_CD_OUTPUT_NV = 0x854B; - public static final int GL_COMBINER_COMPONENT_USAGE_NV = 0x8544; - public static final int GL_COMBINER_INPUT_NV = 0x8542; - public static final int GL_COMBINER_MAPPING_NV = 0x8543; - public static final int GL_COMBINER_MUX_SUM_NV = 0x8547; - public static final int GL_COMBINER_SCALE_NV = 0x8548; - public static final int GL_COMBINER_SUM_OUTPUT_NV = 0x854C; - public static final int GL_COMBINE_ALPHA_EXT = 0x8572; - public static final int GL_COMBINE_EXT = 0x8570; - public static final int GL_COMBINE_RGB_EXT = 0x8571; - public static final int GL_COMMAND_BARRIER_BIT_EXT = 0x00000040; - public static final int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; - public static final int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; - public static final int GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; - public static final int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; - public static final int GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB; - public static final int GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; - public static final int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; - public static final int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; - public static final int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; - public static final int GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0; - public static final int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; - public static final int GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; - public static final int GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; - public static final int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; - public static final int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; - public static final int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; - public static final int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A; - public static final int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; - public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; - public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; - public static final int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; - public static final int GL_COMPRESSED_SRGB_EXT = 0x8C48; - public static final int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; - public static final int GL_COMPUTE_PROGRAM_NV = 0x90FB; - public static final int GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; - public static final int GL_COMP_BIT_ATI = 0x00000002; - public static final int GL_CONFORMANT_NV = 0x9374; - public static final int GL_CONIC_CURVE_TO_NV = 0x1A; - public static final int GL_CONJOINT_NV = 0x9284; - public static final int GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; - public static final int GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346; - public static final int GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; - public static final int GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379; - public static final int GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; - public static final int GL_CONSERVATIVE_RASTER_MODE_NV = 0x954D; - public static final int GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; - public static final int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550; - public static final int GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; - public static final int GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; - public static final int GL_CONSTANT_ALPHA_EXT = 0x8003; - public static final int GL_CONSTANT_BORDER_HP = 0x8151; - public static final int GL_CONSTANT_COLOR0_NV = 0x852A; - public static final int GL_CONSTANT_COLOR1_NV = 0x852B; - public static final int GL_CONSTANT_COLOR_EXT = 0x8001; - public static final int GL_CONSTANT_EXT = 0x8576; - public static final int GL_CONST_EYE_NV = 0x86E5; - public static final int GL_CONTINUOUS_AMD = 0x9007; - public static final int GL_CONTRAST_NV = 0x92A1; - public static final int GL_CONVEX_HULL_NV = 0x908B; - public static final int GL_CONVOLUTION_1D_EXT = 0x8010; - public static final int GL_CONVOLUTION_2D_EXT = 0x8011; - public static final int GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154; - public static final int GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013; - public static final int GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015; - public static final int GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014; - public static final int GL_CONVOLUTION_FORMAT_EXT = 0x8017; - public static final int GL_CONVOLUTION_HEIGHT_EXT = 0x8019; - public static final int GL_CONVOLUTION_HINT_SGIX = 0x8316; - public static final int GL_CONVOLUTION_WIDTH_EXT = 0x8018; - public static final int GL_CON_0_ATI = 0x8941; - public static final int GL_CON_10_ATI = 0x894B; - public static final int GL_CON_11_ATI = 0x894C; - public static final int GL_CON_12_ATI = 0x894D; - public static final int GL_CON_13_ATI = 0x894E; - public static final int GL_CON_14_ATI = 0x894F; - public static final int GL_CON_15_ATI = 0x8950; - public static final int GL_CON_16_ATI = 0x8951; - public static final int GL_CON_17_ATI = 0x8952; - public static final int GL_CON_18_ATI = 0x8953; - public static final int GL_CON_19_ATI = 0x8954; - public static final int GL_CON_1_ATI = 0x8942; - public static final int GL_CON_20_ATI = 0x8955; - public static final int GL_CON_21_ATI = 0x8956; - public static final int GL_CON_22_ATI = 0x8957; - public static final int GL_CON_23_ATI = 0x8958; - public static final int GL_CON_24_ATI = 0x8959; - public static final int GL_CON_25_ATI = 0x895A; - public static final int GL_CON_26_ATI = 0x895B; - public static final int GL_CON_27_ATI = 0x895C; - public static final int GL_CON_28_ATI = 0x895D; - public static final int GL_CON_29_ATI = 0x895E; - public static final int GL_CON_2_ATI = 0x8943; - public static final int GL_CON_30_ATI = 0x895F; - public static final int GL_CON_31_ATI = 0x8960; - public static final int GL_CON_3_ATI = 0x8944; - public static final int GL_CON_4_ATI = 0x8945; - public static final int GL_CON_5_ATI = 0x8946; - public static final int GL_CON_6_ATI = 0x8947; - public static final int GL_CON_7_ATI = 0x8948; - public static final int GL_CON_8_ATI = 0x8949; - public static final int GL_CON_9_ATI = 0x894A; - public static final int GL_COORD_REPLACE_ARB = 0x8862; - public static final int GL_COORD_REPLACE_NV = 0x8862; - public static final int GL_COUNTER_RANGE_AMD = 0x8BC1; - public static final int GL_COUNTER_TYPE_AMD = 0x8BC0; - public static final int GL_COUNT_DOWN_NV = 0x9089; - public static final int GL_COUNT_UP_NV = 0x9088; - public static final int GL_COVERAGE_MODULATION_NV = 0x9332; - public static final int GL_COVERAGE_MODULATION_TABLE_NV = 0x9331; - public static final int GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; - public static final int GL_CUBIC_CURVE_TO_NV = 0x0C; - public static final int GL_CUBIC_EXT = 0x8334; - public static final int GL_CUBIC_HP = 0x815F; - public static final int GL_CULL_FRAGMENT_NV = 0x86E7; - public static final int GL_CULL_MODES_NV = 0x86E0; - public static final int GL_CULL_VERTEX_EXT = 0x81AA; - public static final int GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; - public static final int GL_CULL_VERTEX_IBM = 103050; - public static final int GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; - public static final int GL_CURRENT_ATTRIB_NV = 0x8626; - public static final int GL_CURRENT_BINORMAL_EXT = 0x843C; - public static final int GL_CURRENT_FOG_COORDINATE_EXT = 0x8453; - public static final int GL_CURRENT_MATRIX_ARB = 0x8641; - public static final int GL_CURRENT_MATRIX_INDEX_ARB = 0x8845; - public static final int GL_CURRENT_MATRIX_NV = 0x8641; - public static final int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; - public static final int GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; - public static final int GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; - public static final int GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843; - public static final int GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406; - public static final int GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459; - public static final int GL_CURRENT_TANGENT_EXT = 0x843B; - public static final int GL_CURRENT_TIME_NV = 0x8E28; - public static final int GL_CURRENT_VERTEX_EXT = 0x87E2; - public static final int GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B; - public static final int GL_D3D12_FENCE_VALUE_EXT = 0x9595; - public static final int GL_DARKEN_NV = 0x9297; - public static final int GL_DATA_BUFFER_AMD = 0x9151; - public static final int GL_DECODE_EXT = 0x8A49; - public static final int GL_DECR_WRAP_EXT = 0x8508; - public static final int GL_DEDICATED_MEMORY_OBJECT_EXT = 0x9581; - public static final int GL_DEFORMATIONS_MASK_SGIX = 0x8196; - public static final int GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; - public static final int GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; - public static final int GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; - public static final int GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; - public static final int GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; - public static final int GL_DEPTH24_STENCIL8_EXT = 0x88F0; - public static final int GL_DEPTH32F_STENCIL8_NV = 0x8DAC; - public static final int GL_DEPTH_ATTACHMENT_EXT = 0x8D00; - public static final int GL_DEPTH_BOUNDS_EXT = 0x8891; - public static final int GL_DEPTH_BOUNDS_TEST_EXT = 0x8890; - public static final int GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; - public static final int GL_DEPTH_CLAMP_FAR_AMD = 0x901F; - public static final int GL_DEPTH_CLAMP_NEAR_AMD = 0x901E; - public static final int GL_DEPTH_CLAMP_NV = 0x864F; - public static final int GL_DEPTH_COMPONENT16_ARB = 0x81A5; - public static final int GL_DEPTH_COMPONENT16_SGIX = 0x81A5; - public static final int GL_DEPTH_COMPONENT24_ARB = 0x81A6; - public static final int GL_DEPTH_COMPONENT24_SGIX = 0x81A6; - public static final int GL_DEPTH_COMPONENT32F = 0x8CAC; - public static final int GL_DEPTH_COMPONENT32F_NV = 0x8DAB; - public static final int GL_DEPTH_COMPONENT32_ARB = 0x81A7; - public static final int GL_DEPTH_COMPONENT32_SGIX = 0x81A7; - public static final int GL_DEPTH_SAMPLES_NV = 0x932D; - public static final int GL_DEPTH_STENCIL_EXT = 0x84F9; - public static final int GL_DEPTH_STENCIL_NV = 0x84F9; - public static final int GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F; - public static final int GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E; - public static final int GL_DEPTH_TEXTURE_MODE_ARB = 0x884B; - public static final int GL_DETACHED_BUFFERS_NV = 0x95AB; - public static final int GL_DETACHED_MEMORY_INCARNATION_NV = 0x95A9; - public static final int GL_DETACHED_TEXTURES_NV = 0x95AA; - public static final int GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; - public static final int GL_DETAIL_TEXTURE_2D_SGIS = 0x8095; - public static final int GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; - public static final int GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; - public static final int GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B; - public static final int GL_DEVICE_LUID_EXT = 0x9599; - public static final int GL_DEVICE_NODE_MASK_EXT = 0x959A; - public static final int GL_DEVICE_UUID_EXT = 0x9597; - public static final int GL_DIFFERENCE_NV = 0x929E; - public static final int GL_DISCARD_ATI = 0x8763; - public static final int GL_DISCARD_NV = 0x8530; - public static final int GL_DISCRETE_AMD = 0x9006; - public static final int GL_DISJOINT_NV = 0x9283; - public static final int GL_DISTANCE_ATTENUATION_EXT = 0x8129; - public static final int GL_DISTANCE_ATTENUATION_SGIS = 0x8129; - public static final int GL_DOT2_ADD_ATI = 0x896C; - public static final int GL_DOT3_ATI = 0x8966; - public static final int GL_DOT3_RGBA_EXT = 0x8741; - public static final int GL_DOT3_RGB_EXT = 0x8740; - public static final int GL_DOT4_ATI = 0x8967; - public static final int GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; - public static final int GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; - public static final int GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; - public static final int GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; - public static final int GL_DOT_PRODUCT_NV = 0x86EC; - public static final int GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; - public static final int GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; - public static final int GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; - public static final int GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; - public static final int GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; - public static final int GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; - public static final int GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; - public static final int GL_DOUBLE_MAT2_EXT = 0x8F46; - public static final int GL_DOUBLE_MAT2x3_EXT = 0x8F49; - public static final int GL_DOUBLE_MAT2x4_EXT = 0x8F4A; - public static final int GL_DOUBLE_MAT3_EXT = 0x8F47; - public static final int GL_DOUBLE_MAT3x2_EXT = 0x8F4B; - public static final int GL_DOUBLE_MAT3x4_EXT = 0x8F4C; - public static final int GL_DOUBLE_MAT4_EXT = 0x8F48; - public static final int GL_DOUBLE_MAT4x2_EXT = 0x8F4D; - public static final int GL_DOUBLE_MAT4x3_EXT = 0x8F4E; - public static final int GL_DOUBLE_VEC2_EXT = 0x8FFC; - public static final int GL_DOUBLE_VEC3_EXT = 0x8FFD; - public static final int GL_DOUBLE_VEC4_EXT = 0x8FFE; - public static final int GL_DRAW_ARRAYS_COMMAND_NV = 0x0003; - public static final int GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; - public static final int GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; - public static final int GL_DRAW_BUFFER0_ARB = 0x8825; - public static final int GL_DRAW_BUFFER0_ATI = 0x8825; - public static final int GL_DRAW_BUFFER10_ARB = 0x882F; - public static final int GL_DRAW_BUFFER10_ATI = 0x882F; - public static final int GL_DRAW_BUFFER11_ARB = 0x8830; - public static final int GL_DRAW_BUFFER11_ATI = 0x8830; - public static final int GL_DRAW_BUFFER12_ARB = 0x8831; - public static final int GL_DRAW_BUFFER12_ATI = 0x8831; - public static final int GL_DRAW_BUFFER13_ARB = 0x8832; - public static final int GL_DRAW_BUFFER13_ATI = 0x8832; - public static final int GL_DRAW_BUFFER14_ARB = 0x8833; - public static final int GL_DRAW_BUFFER14_ATI = 0x8833; - public static final int GL_DRAW_BUFFER15_ARB = 0x8834; - public static final int GL_DRAW_BUFFER15_ATI = 0x8834; - public static final int GL_DRAW_BUFFER1_ARB = 0x8826; - public static final int GL_DRAW_BUFFER1_ATI = 0x8826; - public static final int GL_DRAW_BUFFER2_ARB = 0x8827; - public static final int GL_DRAW_BUFFER2_ATI = 0x8827; - public static final int GL_DRAW_BUFFER3_ARB = 0x8828; - public static final int GL_DRAW_BUFFER3_ATI = 0x8828; - public static final int GL_DRAW_BUFFER4_ARB = 0x8829; - public static final int GL_DRAW_BUFFER4_ATI = 0x8829; - public static final int GL_DRAW_BUFFER5_ARB = 0x882A; - public static final int GL_DRAW_BUFFER5_ATI = 0x882A; - public static final int GL_DRAW_BUFFER6_ARB = 0x882B; - public static final int GL_DRAW_BUFFER6_ATI = 0x882B; - public static final int GL_DRAW_BUFFER7_ARB = 0x882C; - public static final int GL_DRAW_BUFFER7_ATI = 0x882C; - public static final int GL_DRAW_BUFFER8_ARB = 0x882D; - public static final int GL_DRAW_BUFFER8_ATI = 0x882D; - public static final int GL_DRAW_BUFFER9_ARB = 0x882E; - public static final int GL_DRAW_BUFFER9_ATI = 0x882E; - public static final int GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002; - public static final int GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; - public static final int GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; - public static final int GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; - public static final int GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9; - public static final int GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41; - public static final int GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42; - public static final int GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40; - public static final int GL_DRAW_PIXELS_APPLE = 0x8A0A; - public static final int GL_DRIVER_UUID_EXT = 0x9598; - public static final int GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B; - public static final int GL_DSDT8_MAG8_NV = 0x870A; - public static final int GL_DSDT8_NV = 0x8709; - public static final int GL_DSDT_MAG_INTENSITY_NV = 0x86DC; - public static final int GL_DSDT_MAG_NV = 0x86F6; - public static final int GL_DSDT_MAG_VIB_NV = 0x86F7; - public static final int GL_DSDT_NV = 0x86F5; - public static final int GL_DST_ATOP_NV = 0x928F; - public static final int GL_DST_IN_NV = 0x928B; - public static final int GL_DST_NV = 0x9287; - public static final int GL_DST_OUT_NV = 0x928D; - public static final int GL_DST_OVER_NV = 0x9289; - public static final int GL_DS_BIAS_NV = 0x8716; - public static final int GL_DS_SCALE_NV = 0x8710; - public static final int GL_DT_BIAS_NV = 0x8717; - public static final int GL_DT_SCALE_NV = 0x8711; - public static final int GL_DU8DV8_ATI = 0x877A; - public static final int GL_DUAL_ALPHA12_SGIS = 0x8112; - public static final int GL_DUAL_ALPHA16_SGIS = 0x8113; - public static final int GL_DUAL_ALPHA4_SGIS = 0x8110; - public static final int GL_DUAL_ALPHA8_SGIS = 0x8111; - public static final int GL_DUAL_INTENSITY12_SGIS = 0x811A; - public static final int GL_DUAL_INTENSITY16_SGIS = 0x811B; - public static final int GL_DUAL_INTENSITY4_SGIS = 0x8118; - public static final int GL_DUAL_INTENSITY8_SGIS = 0x8119; - public static final int GL_DUAL_LUMINANCE12_SGIS = 0x8116; - public static final int GL_DUAL_LUMINANCE16_SGIS = 0x8117; - public static final int GL_DUAL_LUMINANCE4_SGIS = 0x8114; - public static final int GL_DUAL_LUMINANCE8_SGIS = 0x8115; - public static final int GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; - public static final int GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; - public static final int GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124; - public static final int GL_DUDV_ATI = 0x8779; - public static final int GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; - public static final int GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; - public static final int GL_DYNAMIC_ATI = 0x8761; - public static final int GL_EDGEFLAG_BIT_PGI = 0x00040000; - public static final int GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; - public static final int GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; - public static final int GL_EDGE_FLAG_ARRAY_EXT = 0x8079; - public static final int GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; - public static final int GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075; - public static final int GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; - public static final int GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; - public static final int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; - public static final int GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; - public static final int GL_EIGHTH_BIT_ATI = 0x00000020; - public static final int GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008; - public static final int GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; - public static final int GL_ELEMENT_ARRAY_APPLE = 0x8A0C; - public static final int GL_ELEMENT_ARRAY_ATI = 0x8768; - public static final int GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; - public static final int GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33; - public static final int GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; - public static final int GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; - public static final int GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; - public static final int GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769; - public static final int GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; - public static final int GL_EMBOSS_CONSTANT_NV = 0x855E; - public static final int GL_EMBOSS_LIGHT_NV = 0x855D; - public static final int GL_EMBOSS_MAP_NV = 0x855F; - public static final int GL_EVAL_2D_NV = 0x86C0; - public static final int GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; - public static final int GL_EVAL_TRIANGULAR_2D_NV = 0x86C1; - public static final int GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6; - public static final int GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0; - public static final int GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1; - public static final int GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2; - public static final int GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3; - public static final int GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4; - public static final int GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5; - public static final int GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7; - public static final int GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8; - public static final int GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9; - public static final int GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA; - public static final int GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB; - public static final int GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC; - public static final int GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD; - public static final int GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE; - public static final int GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF; - public static final int GL_EXCLUSION_NV = 0x92A0; - public static final int GL_EXCLUSIVE_EXT = 0x8F11; - public static final int GL_EXPAND_NEGATE_NV = 0x8539; - public static final int GL_EXPAND_NORMAL_NV = 0x8538; - public static final int GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; - public static final int GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; - public static final int GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; - public static final int GL_EYE_LINE_SGIS = 0x81F6; - public static final int GL_EYE_PLANE_ABSOLUTE_NV = 0x855C; - public static final int GL_EYE_POINT_SGIS = 0x81F4; - public static final int GL_EYE_RADIAL_NV = 0x855B; - public static final int GL_E_TIMES_F_NV = 0x8531; - public static final int GL_FACTOR_MAX_AMD = 0x901D; - public static final int GL_FACTOR_MIN_AMD = 0x901C; - public static final int GL_FAILURE_NV = 0x9030; - public static final int GL_FENCE_APPLE = 0x8A0B; - public static final int GL_FENCE_CONDITION_NV = 0x84F4; - public static final int GL_FENCE_STATUS_NV = 0x84F3; - public static final int GL_FIELDS_NV = 0x8E27; - public static final int GL_FIELD_LOWER_NV = 0x9023; - public static final int GL_FIELD_UPPER_NV = 0x9022; - public static final int GL_FILE_NAME_NV = 0x9074; - public static final int GL_FILL_RECTANGLE_NV = 0x933C; - public static final int GL_FILTER4_SGIS = 0x8146; - public static final int GL_FIRST_TO_REST_NV = 0x90AF; - public static final int GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; - public static final int GL_FIXED_OES = 0x140C; - public static final int GL_FIXED_ONLY_ARB = 0x891D; - public static final int GL_FLOAT16_MAT2_AMD = 0x91C5; - public static final int GL_FLOAT16_MAT2x3_AMD = 0x91C8; - public static final int GL_FLOAT16_MAT2x4_AMD = 0x91C9; - public static final int GL_FLOAT16_MAT3_AMD = 0x91C6; - public static final int GL_FLOAT16_MAT3x2_AMD = 0x91CA; - public static final int GL_FLOAT16_MAT3x4_AMD = 0x91CB; - public static final int GL_FLOAT16_MAT4_AMD = 0x91C7; - public static final int GL_FLOAT16_MAT4x2_AMD = 0x91CC; - public static final int GL_FLOAT16_MAT4x3_AMD = 0x91CD; - public static final int GL_FLOAT16_NV = 0x8FF8; - public static final int GL_FLOAT16_VEC2_NV = 0x8FF9; - public static final int GL_FLOAT16_VEC3_NV = 0x8FFA; - public static final int GL_FLOAT16_VEC4_NV = 0x8FFB; - public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; - public static final int GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; - public static final int GL_FLOAT_R16_NV = 0x8884; - public static final int GL_FLOAT_R32_NV = 0x8885; - public static final int GL_FLOAT_RG16_NV = 0x8886; - public static final int GL_FLOAT_RG32_NV = 0x8887; - public static final int GL_FLOAT_RGB16_NV = 0x8888; - public static final int GL_FLOAT_RGB32_NV = 0x8889; - public static final int GL_FLOAT_RGBA16_NV = 0x888A; - public static final int GL_FLOAT_RGBA32_NV = 0x888B; - public static final int GL_FLOAT_RGBA_MODE_NV = 0x888E; - public static final int GL_FLOAT_RGBA_NV = 0x8883; - public static final int GL_FLOAT_RGB_NV = 0x8882; - public static final int GL_FLOAT_RG_NV = 0x8881; - public static final int GL_FLOAT_R_NV = 0x8880; - public static final int GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; - public static final int GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076; - public static final int GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; - public static final int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; - public static final int GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; - public static final int GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; - public static final int GL_FOG_COORDINATE_EXT = 0x8451; - public static final int GL_FOG_COORDINATE_SOURCE_EXT = 0x8450; - public static final int GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; - public static final int GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; - public static final int GL_FOG_DISTANCE_MODE_NV = 0x855A; - public static final int GL_FOG_FUNC_POINTS_SGIS = 0x812B; - public static final int GL_FOG_FUNC_SGIS = 0x812A; - public static final int GL_FOG_OFFSET_SGIX = 0x8198; - public static final int GL_FOG_OFFSET_VALUE_SGIX = 0x8199; - public static final int GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC; - public static final int GL_FONT_ASCENDER_BIT_NV = 0x00200000; - public static final int GL_FONT_DESCENDER_BIT_NV = 0x00400000; - public static final int GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368; - public static final int GL_FONT_HAS_KERNING_BIT_NV = 0x10000000; - public static final int GL_FONT_HEIGHT_BIT_NV = 0x00800000; - public static final int GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; - public static final int GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; - public static final int GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; - public static final int GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369; - public static final int GL_FONT_UNAVAILABLE_NV = 0x936A; - public static final int GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; - public static final int GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; - public static final int GL_FONT_UNINTELLIGIBLE_NV = 0x936B; - public static final int GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000; - public static final int GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; - public static final int GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; - public static final int GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; - public static final int GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; - public static final int GL_FORCE_BLUE_TO_ONE_NV = 0x8860; - public static final int GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983; - public static final int GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982; - public static final int GL_FRAGMENT_COLOR_EXT = 0x834C; - public static final int GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; - public static final int GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; - public static final int GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; - public static final int GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; - public static final int GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; - public static final int GL_FRAGMENT_DEPTH_EXT = 0x8452; - public static final int GL_FRAGMENT_INPUT_NV = 0x936D; - public static final int GL_FRAGMENT_LIGHT0_SGIX = 0x840C; - public static final int GL_FRAGMENT_LIGHT1_SGIX = 0x840D; - public static final int GL_FRAGMENT_LIGHT2_SGIX = 0x840E; - public static final int GL_FRAGMENT_LIGHT3_SGIX = 0x840F; - public static final int GL_FRAGMENT_LIGHT4_SGIX = 0x8410; - public static final int GL_FRAGMENT_LIGHT5_SGIX = 0x8411; - public static final int GL_FRAGMENT_LIGHT6_SGIX = 0x8412; - public static final int GL_FRAGMENT_LIGHT7_SGIX = 0x8413; - public static final int GL_FRAGMENT_LIGHTING_SGIX = 0x8400; - public static final int GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; - public static final int GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; - public static final int GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; - public static final int GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; - public static final int GL_FRAGMENT_MATERIAL_EXT = 0x8349; - public static final int GL_FRAGMENT_NORMAL_EXT = 0x834A; - public static final int GL_FRAGMENT_PROGRAM_ARB = 0x8804; - public static final int GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873; - public static final int GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; - public static final int GL_FRAGMENT_PROGRAM_NV = 0x8870; - public static final int GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; - public static final int GL_FRAGMENT_SHADER_ARB = 0x8B30; - public static final int GL_FRAGMENT_SHADER_ATI = 0x8920; - public static final int GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; - public static final int GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; - public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; - public static final int GL_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; - public static final int GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6; - public static final int GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; - public static final int GL_FRAMEBUFFER_EXT = 0x8D40; - public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; - public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; - public static final int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; - public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; - public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; - public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; - public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; - public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; - public static final int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; - public static final int GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; - public static final int GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; - public static final int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; - public static final int GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9; - public static final int GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; - public static final int GL_FRAMEZOOM_FACTOR_SGIX = 0x818C; - public static final int GL_FRAMEZOOM_SGIX = 0x818B; - public static final int GL_FRAME_NV = 0x8E26; - public static final int GL_FRONT_FACE_COMMAND_NV = 0x0012; - public static final int GL_FULL_RANGE_EXT = 0x87E1; - public static final int GL_FULL_STIPPLE_HINT_PGI = 0x1A219; - public static final int GL_FUNC_ADD_EXT = 0x8006; - public static final int GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B; - public static final int GL_FUNC_SUBTRACT_EXT = 0x800A; - public static final int GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192; - public static final int GL_GENERATE_MIPMAP_SGIS = 0x8191; - public static final int GL_GENERIC_ATTRIB_NV = 0x8C7D; - public static final int GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; - public static final int GL_GEOMETRY_DEFORMATION_SGIX = 0x8194; - public static final int GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; - public static final int GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; - public static final int GL_GEOMETRY_PROGRAM_NV = 0x8C26; - public static final int GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; - public static final int GL_GEOMETRY_SHADER_EXT = 0x8DD9; - public static final int GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; - public static final int GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; - public static final int GL_GLOBAL_ALPHA_SUN = 0x81D9; - public static final int GL_GLYPH_HAS_KERNING_BIT_NV = 0x100; - public static final int GL_GLYPH_HEIGHT_BIT_NV = 0x02; - public static final int GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; - public static final int GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; - public static final int GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; - public static final int GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; - public static final int GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; - public static final int GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; - public static final int GL_GLYPH_WIDTH_BIT_NV = 0x01; - public static final int GL_GPU_ADDRESS_NV = 0x8F34; - public static final int GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; - public static final int GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; - public static final int GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; - public static final int GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; - public static final int GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; - public static final int GL_GREEN_BIT_ATI = 0x00000002; - public static final int GL_GREEN_INTEGER_EXT = 0x8D95; - public static final int GL_GREEN_MAX_CLAMP_INGR = 0x8565; - public static final int GL_GREEN_MIN_CLAMP_INGR = 0x8561; - public static final int GL_GREEN_NV = 0x1904; - public static final int GL_HALF_APPLE = 0x140B; - public static final int GL_HALF_BIAS_NEGATE_NV = 0x853B; - public static final int GL_HALF_BIAS_NORMAL_NV = 0x853A; - public static final int GL_HALF_BIT_ATI = 0x00000008; - public static final int GL_HALF_FLOAT_ARB = 0x140B; - public static final int GL_HALF_FLOAT_NV = 0x140B; - public static final int GL_HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B; - public static final int GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C; - public static final int GL_HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594; - public static final int GL_HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A; - public static final int GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589; - public static final int GL_HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; - public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; - public static final int GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; - public static final int GL_HARDLIGHT_NV = 0x929B; - public static final int GL_HARDMIX_NV = 0x92A9; - public static final int GL_HILO16_NV = 0x86F8; - public static final int GL_HILO8_NV = 0x885E; - public static final int GL_HILO_NV = 0x86F4; - public static final int GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; - public static final int GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A; - public static final int GL_HISTOGRAM_EXT = 0x8024; - public static final int GL_HISTOGRAM_FORMAT_EXT = 0x8027; - public static final int GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029; - public static final int GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; - public static final int GL_HISTOGRAM_RED_SIZE_EXT = 0x8028; - public static final int GL_HISTOGRAM_SINK_EXT = 0x802D; - public static final int GL_HISTOGRAM_WIDTH_EXT = 0x8026; - public static final int GL_HI_BIAS_NV = 0x8714; - public static final int GL_HI_SCALE_NV = 0x870E; - public static final int GL_HORIZONTAL_LINE_TO_NV = 0x06; - public static final int GL_HSL_COLOR_NV = 0x92AF; - public static final int GL_HSL_HUE_NV = 0x92AD; - public static final int GL_HSL_LUMINOSITY_NV = 0x92B0; - public static final int GL_HSL_SATURATION_NV = 0x92AE; - public static final int GL_IDENTITY_NV = 0x862A; - public static final int GL_IGNORE_BORDER_HP = 0x8150; - public static final int GL_IMAGE_1D_ARRAY_EXT = 0x9052; - public static final int GL_IMAGE_1D_EXT = 0x904C; - public static final int GL_IMAGE_2D_ARRAY_EXT = 0x9053; - public static final int GL_IMAGE_2D_EXT = 0x904D; - public static final int GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; - public static final int GL_IMAGE_2D_MULTISAMPLE_EXT = 0x9055; - public static final int GL_IMAGE_2D_RECT_EXT = 0x904F; - public static final int GL_IMAGE_3D_EXT = 0x904E; - public static final int GL_IMAGE_BINDING_ACCESS_EXT = 0x8F3E; - public static final int GL_IMAGE_BINDING_FORMAT_EXT = 0x906E; - public static final int GL_IMAGE_BINDING_LAYERED_EXT = 0x8F3C; - public static final int GL_IMAGE_BINDING_LAYER_EXT = 0x8F3D; - public static final int GL_IMAGE_BINDING_LEVEL_EXT = 0x8F3B; - public static final int GL_IMAGE_BINDING_NAME_EXT = 0x8F3A; - public static final int GL_IMAGE_BUFFER_EXT = 0x9051; - public static final int GL_IMAGE_CUBE_EXT = 0x9050; - public static final int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; - public static final int GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E; - public static final int GL_IMAGE_MAG_FILTER_HP = 0x815C; - public static final int GL_IMAGE_MIN_FILTER_HP = 0x815D; - public static final int GL_IMAGE_ROTATE_ANGLE_HP = 0x8159; - public static final int GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; - public static final int GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; - public static final int GL_IMAGE_SCALE_X_HP = 0x8155; - public static final int GL_IMAGE_SCALE_Y_HP = 0x8156; - public static final int GL_IMAGE_TRANSFORM_2D_HP = 0x8161; - public static final int GL_IMAGE_TRANSLATE_X_HP = 0x8157; - public static final int GL_IMAGE_TRANSLATE_Y_HP = 0x8158; - public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; - public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; - public static final int GL_INCLUSIVE_EXT = 0x8F10; - public static final int GL_INCR_WRAP_EXT = 0x8507; - public static final int GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24; - public static final int GL_INDEX_ARRAY_COUNT_EXT = 0x8087; - public static final int GL_INDEX_ARRAY_EXT = 0x8077; - public static final int GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E; - public static final int GL_INDEX_ARRAY_LIST_IBM = 103073; - public static final int GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083; - public static final int GL_INDEX_ARRAY_POINTER_EXT = 0x8091; - public static final int GL_INDEX_ARRAY_STRIDE_EXT = 0x8086; - public static final int GL_INDEX_ARRAY_TYPE_EXT = 0x8085; - public static final int GL_INDEX_BIT_PGI = 0x00080000; - public static final int GL_INDEX_MATERIAL_EXT = 0x81B8; - public static final int GL_INDEX_MATERIAL_FACE_EXT = 0x81BA; - public static final int GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; - public static final int GL_INDEX_TEST_EXT = 0x81B5; - public static final int GL_INDEX_TEST_FUNC_EXT = 0x81B6; - public static final int GL_INDEX_TEST_REF_EXT = 0x81B7; - public static final int GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; - public static final int GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; - public static final int GL_INT16_NV = 0x8FE4; - public static final int GL_INT16_VEC2_NV = 0x8FE5; - public static final int GL_INT16_VEC3_NV = 0x8FE6; - public static final int GL_INT16_VEC4_NV = 0x8FE7; - public static final int GL_INT64_NV = 0x140E; - public static final int GL_INT64_VEC2_NV = 0x8FE9; - public static final int GL_INT64_VEC3_NV = 0x8FEA; - public static final int GL_INT64_VEC4_NV = 0x8FEB; - public static final int GL_INT8_NV = 0x8FE0; - public static final int GL_INT8_VEC2_NV = 0x8FE1; - public static final int GL_INT8_VEC3_NV = 0x8FE2; - public static final int GL_INT8_VEC4_NV = 0x8FE3; - public static final int GL_INTENSITY12_EXT = 0x804C; - public static final int GL_INTENSITY16I_EXT = 0x8D8B; - public static final int GL_INTENSITY16UI_EXT = 0x8D79; - public static final int GL_INTENSITY16_EXT = 0x804D; - public static final int GL_INTENSITY32I_EXT = 0x8D85; - public static final int GL_INTENSITY32UI_EXT = 0x8D73; - public static final int GL_INTENSITY4_EXT = 0x804A; - public static final int GL_INTENSITY8I_EXT = 0x8D91; - public static final int GL_INTENSITY8UI_EXT = 0x8D7F; - public static final int GL_INTENSITY8_EXT = 0x804B; - public static final int GL_INTENSITY_EXT = 0x8049; - public static final int GL_INTENSITY_FLOAT16_APPLE = 0x881D; - public static final int GL_INTENSITY_FLOAT16_ATI = 0x881D; - public static final int GL_INTENSITY_FLOAT32_APPLE = 0x8817; - public static final int GL_INTENSITY_FLOAT32_ATI = 0x8817; - public static final int GL_INTERLACE_OML = 0x8980; - public static final int GL_INTERLACE_READ_INGR = 0x8568; - public static final int GL_INTERLACE_READ_OML = 0x8981; - public static final int GL_INTERLACE_SGIX = 0x8094; - public static final int GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C; - public static final int GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C; - public static final int GL_INTERPOLATE_EXT = 0x8575; - public static final int GL_INT_IMAGE_1D_ARRAY_EXT = 0x905D; - public static final int GL_INT_IMAGE_1D_EXT = 0x9057; - public static final int GL_INT_IMAGE_2D_ARRAY_EXT = 0x905E; - public static final int GL_INT_IMAGE_2D_EXT = 0x9058; - public static final int GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; - public static final int GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; - public static final int GL_INT_IMAGE_2D_RECT_EXT = 0x905A; - public static final int GL_INT_IMAGE_3D_EXT = 0x9059; - public static final int GL_INT_IMAGE_BUFFER_EXT = 0x905C; - public static final int GL_INT_IMAGE_CUBE_EXT = 0x905B; - public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; - public static final int GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; - public static final int GL_INT_SAMPLER_1D_EXT = 0x8DC9; - public static final int GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; - public static final int GL_INT_SAMPLER_2D_EXT = 0x8DCA; - public static final int GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD; - public static final int GL_INT_SAMPLER_3D_EXT = 0x8DCB; - public static final int GL_INT_SAMPLER_BUFFER_AMD = 0x9002; - public static final int GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0; - public static final int GL_INT_SAMPLER_CUBE_EXT = 0x8DCC; - public static final int GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; - public static final int GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; - public static final int GL_INVARIANT_DATATYPE_EXT = 0x87EB; - public static final int GL_INVARIANT_EXT = 0x87C2; - public static final int GL_INVARIANT_VALUE_EXT = 0x87EA; - public static final int GL_INVERSE_NV = 0x862B; - public static final int GL_INVERSE_TRANSPOSE_NV = 0x862D; - public static final int GL_INVERT_OVG_NV = 0x92B4; - public static final int GL_INVERT_RGB_NV = 0x92A3; - public static final int GL_IR_INSTRUMENT1_SGIX = 0x817F; - public static final int GL_ITALIC_BIT_NV = 0x02; - public static final int GL_IUI_N3F_V2F_EXT = 0x81AF; - public static final int GL_IUI_N3F_V3F_EXT = 0x81B0; - public static final int GL_IUI_V2F_EXT = 0x81AD; - public static final int GL_IUI_V3F_EXT = 0x81AE; - public static final int GL_LARGE_CCW_ARC_TO_NV = 0x16; - public static final int GL_LARGE_CW_ARC_TO_NV = 0x18; - public static final int GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E; - public static final int GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; - public static final int GL_LAYER_NV = 0x8DAA; - public static final int GL_LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E; - public static final int GL_LAYOUT_DEFAULT_INTEL = 0; - public static final int GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531; - public static final int GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530; - public static final int GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F; - public static final int GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590; - public static final int GL_LAYOUT_GENERAL_EXT = 0x958D; - public static final int GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; - public static final int GL_LAYOUT_LINEAR_INTEL = 1; - public static final int GL_LAYOUT_SHADER_READ_ONLY_EXT = 0x9591; - public static final int GL_LAYOUT_TRANSFER_DST_EXT = 0x9593; - public static final int GL_LAYOUT_TRANSFER_SRC_EXT = 0x9592; - public static final int GL_LERP_ATI = 0x8969; - public static final int GL_LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; - public static final int GL_LIGHTEN_NV = 0x9298; - public static final int GL_LIGHT_ENV_MODE_SGIX = 0x8407; - public static final int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; - public static final int GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; - public static final int GL_LINEARBURN_NV = 0x92A5; - public static final int GL_LINEARDODGE_NV = 0x92A4; - public static final int GL_LINEARLIGHT_NV = 0x92A7; - public static final int GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; - public static final int GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; - public static final int GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098; - public static final int GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099; - public static final int GL_LINEAR_DETAIL_SGIS = 0x8097; - public static final int GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; - public static final int GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; - public static final int GL_LINEAR_SHARPEN_SGIS = 0x80AD; - public static final int GL_LINEAR_TILING_EXT = 0x9585; - public static final int GL_LINES_ADJACENCY_EXT = 0x000A; - public static final int GL_LINE_STRIP_ADJACENCY_EXT = 0x000B; - public static final int GL_LINE_TO_NV = 0x04; - public static final int GL_LINE_WIDTH_COMMAND_NV = 0x000D; - public static final int GL_LIST_PRIORITY_SGIX = 0x8182; - public static final int GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; - public static final int GL_LOCAL_CONSTANT_EXT = 0x87C3; - public static final int GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC; - public static final int GL_LOCAL_EXT = 0x87C4; - public static final int GL_LO_BIAS_NV = 0x8715; - public static final int GL_LO_SCALE_NV = 0x870F; - public static final int GL_LUID_SIZE_EXT = 8; - public static final int GL_LUMINANCE12_ALPHA12_EXT = 0x8047; - public static final int GL_LUMINANCE12_ALPHA4_EXT = 0x8046; - public static final int GL_LUMINANCE12_EXT = 0x8041; - public static final int GL_LUMINANCE16F_EXT = 0x881E; - public static final int GL_LUMINANCE16I_EXT = 0x8D8C; - public static final int GL_LUMINANCE16UI_EXT = 0x8D7A; - public static final int GL_LUMINANCE16_ALPHA16_EXT = 0x8048; - public static final int GL_LUMINANCE16_EXT = 0x8042; - public static final int GL_LUMINANCE32F_EXT = 0x8818; - public static final int GL_LUMINANCE32I_EXT = 0x8D86; - public static final int GL_LUMINANCE32UI_EXT = 0x8D74; - public static final int GL_LUMINANCE4_ALPHA4_EXT = 0x8043; - public static final int GL_LUMINANCE4_EXT = 0x803F; - public static final int GL_LUMINANCE6_ALPHA2_EXT = 0x8044; - public static final int GL_LUMINANCE8I_EXT = 0x8D92; - public static final int GL_LUMINANCE8UI_EXT = 0x8D80; - public static final int GL_LUMINANCE8_ALPHA8_EXT = 0x8045; - public static final int GL_LUMINANCE8_EXT = 0x8040; - public static final int GL_LUMINANCE_ALPHA16F_EXT = 0x881F; - public static final int GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D; - public static final int GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B; - public static final int GL_LUMINANCE_ALPHA32F_EXT = 0x8819; - public static final int GL_LUMINANCE_ALPHA32I_EXT = 0x8D87; - public static final int GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75; - public static final int GL_LUMINANCE_ALPHA8I_EXT = 0x8D93; - public static final int GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81; - public static final int GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; - public static final int GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; - public static final int GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; - public static final int GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; - public static final int GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; - public static final int GL_LUMINANCE_FLOAT16_APPLE = 0x881E; - public static final int GL_LUMINANCE_FLOAT16_ATI = 0x881E; - public static final int GL_LUMINANCE_FLOAT32_APPLE = 0x8818; - public static final int GL_LUMINANCE_FLOAT32_ATI = 0x8818; - public static final int GL_LUMINANCE_INTEGER_EXT = 0x8D9C; - public static final int GL_MAD_ATI = 0x8968; - public static final int GL_MAGNITUDE_BIAS_NV = 0x8718; - public static final int GL_MAGNITUDE_SCALE_NV = 0x8712; - public static final int GL_MAP1_BINORMAL_EXT = 0x8446; - public static final int GL_MAP1_TANGENT_EXT = 0x8444; - public static final int GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; - public static final int GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; - public static final int GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; - public static final int GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; - public static final int GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; - public static final int GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; - public static final int GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; - public static final int GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; - public static final int GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; - public static final int GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; - public static final int GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; - public static final int GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; - public static final int GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; - public static final int GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; - public static final int GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; - public static final int GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; - public static final int GL_MAP2_BINORMAL_EXT = 0x8447; - public static final int GL_MAP2_TANGENT_EXT = 0x8445; - public static final int GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; - public static final int GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; - public static final int GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; - public static final int GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; - public static final int GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; - public static final int GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; - public static final int GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; - public static final int GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; - public static final int GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; - public static final int GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; - public static final int GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; - public static final int GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; - public static final int GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; - public static final int GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; - public static final int GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; - public static final int GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; - public static final int GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3; - public static final int GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4; - public static final int GL_MAP_TESSELLATION_NV = 0x86C2; - public static final int GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C; - public static final int GL_MATRIX0_ARB = 0x88C0; - public static final int GL_MATRIX0_NV = 0x8630; - public static final int GL_MATRIX10_ARB = 0x88CA; - public static final int GL_MATRIX11_ARB = 0x88CB; - public static final int GL_MATRIX12_ARB = 0x88CC; - public static final int GL_MATRIX13_ARB = 0x88CD; - public static final int GL_MATRIX14_ARB = 0x88CE; - public static final int GL_MATRIX15_ARB = 0x88CF; - public static final int GL_MATRIX16_ARB = 0x88D0; - public static final int GL_MATRIX17_ARB = 0x88D1; - public static final int GL_MATRIX18_ARB = 0x88D2; - public static final int GL_MATRIX19_ARB = 0x88D3; - public static final int GL_MATRIX1_ARB = 0x88C1; - public static final int GL_MATRIX1_NV = 0x8631; - public static final int GL_MATRIX20_ARB = 0x88D4; - public static final int GL_MATRIX21_ARB = 0x88D5; - public static final int GL_MATRIX22_ARB = 0x88D6; - public static final int GL_MATRIX23_ARB = 0x88D7; - public static final int GL_MATRIX24_ARB = 0x88D8; - public static final int GL_MATRIX25_ARB = 0x88D9; - public static final int GL_MATRIX26_ARB = 0x88DA; - public static final int GL_MATRIX27_ARB = 0x88DB; - public static final int GL_MATRIX28_ARB = 0x88DC; - public static final int GL_MATRIX29_ARB = 0x88DD; - public static final int GL_MATRIX2_ARB = 0x88C2; - public static final int GL_MATRIX2_NV = 0x8632; - public static final int GL_MATRIX30_ARB = 0x88DE; - public static final int GL_MATRIX31_ARB = 0x88DF; - public static final int GL_MATRIX3_ARB = 0x88C3; - public static final int GL_MATRIX3_NV = 0x8633; - public static final int GL_MATRIX4_ARB = 0x88C4; - public static final int GL_MATRIX4_NV = 0x8634; - public static final int GL_MATRIX5_ARB = 0x88C5; - public static final int GL_MATRIX5_NV = 0x8635; - public static final int GL_MATRIX6_ARB = 0x88C6; - public static final int GL_MATRIX6_NV = 0x8636; - public static final int GL_MATRIX7_ARB = 0x88C7; - public static final int GL_MATRIX7_NV = 0x8637; - public static final int GL_MATRIX8_ARB = 0x88C8; - public static final int GL_MATRIX9_ARB = 0x88C9; - public static final int GL_MATRIX_EXT = 0x87C0; - public static final int GL_MATRIX_INDEX_ARRAY_ARB = 0x8844; - public static final int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; - public static final int GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; - public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; - public static final int GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; - public static final int GL_MATRIX_PALETTE_ARB = 0x8840; - public static final int GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; - public static final int GL_MAT_AMBIENT_BIT_PGI = 0x00100000; - public static final int GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; - public static final int GL_MAT_DIFFUSE_BIT_PGI = 0x00400000; - public static final int GL_MAT_EMISSION_BIT_PGI = 0x00800000; - public static final int GL_MAT_SHININESS_BIT_PGI = 0x02000000; - public static final int GL_MAT_SPECULAR_BIT_PGI = 0x04000000; - public static final int GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073; - public static final int GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; - public static final int GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405; - public static final int GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; - public static final int GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; - public static final int GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; - public static final int GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; - public static final int GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; - public static final int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; - public static final int GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177; - public static final int GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; - public static final int GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F; - public static final int GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; - public static final int GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; - public static final int GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4; - public static final int GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; - public static final int GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; - public static final int GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; - public static final int GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; - public static final int GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; - public static final int GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A; - public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; - public static final int GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; - public static final int GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; - public static final int GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197; - public static final int GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5; - public static final int GL_MAX_DETACHED_BUFFERS_NV = 0x95AD; - public static final int GL_MAX_DETACHED_TEXTURES_NV = 0x95AC; - public static final int GL_MAX_DRAW_BUFFERS_ARB = 0x8824; - public static final int GL_MAX_DRAW_BUFFERS_ATI = 0x8824; - public static final int GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D; - public static final int GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9; - public static final int GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8; - public static final int GL_MAX_EXT = 0x8008; - public static final int GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C; - public static final int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; - public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; - public static final int GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; - public static final int GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; - public static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; - public static final int GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; - public static final int GL_MAX_GENERAL_COMBINERS_NV = 0x854D; - public static final int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; - public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; - public static final int GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; - public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; - public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; - public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; - public static final int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; - public static final int GL_MAX_IMAGE_SAMPLES_EXT = 0x906D; - public static final int GL_MAX_IMAGE_UNITS_EXT = 0x8F38; - public static final int GL_MAX_LGPU_GPUS_NVX = 0x92BA; - public static final int GL_MAX_MAP_TESSELLATION_NV = 0x86D6; - public static final int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; - public static final int GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65; - public static final int GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64; - public static final int GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62; - public static final int GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539; - public static final int GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538; - public static final int GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66; - public static final int GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61; - public static final int GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536; - public static final int GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60; - public static final int GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63; - public static final int GL_MAX_MESH_VIEWS_NV = 0x9557; - public static final int GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2; - public static final int GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B; - public static final int GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; - public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; - public static final int GL_MAX_PALETTE_MATRICES_ARB = 0x8842; - public static final int GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; - public static final int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; - public static final int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; - public static final int GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; - public static final int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; - public static final int GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; - public static final int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; - public static final int GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; - public static final int GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; - public static final int GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; - public static final int GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; - public static final int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; - public static final int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; - public static final int GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; - public static final int GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; - public static final int GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; - public static final int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; - public static final int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; - public static final int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; - public static final int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; - public static final int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; - public static final int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; - public static final int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; - public static final int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; - public static final int GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; - public static final int GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; - public static final int GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; - public static final int GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; - public static final int GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; - public static final int GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; - public static final int GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; - public static final int GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; - public static final int GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; - public static final int GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; - public static final int GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; - public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; - public static final int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; - public static final int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; - public static final int GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; - public static final int GL_MAX_RASTER_SAMPLES_EXT = 0x9329; - public static final int GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; - public static final int GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; - public static final int GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; - public static final int GL_MAX_SAMPLES_EXT = 0x8D57; - public static final int GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; - public static final int GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; - public static final int GL_MAX_SHININESS_NV = 0x8504; - public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; - public static final int GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; - public static final int GL_MAX_SPOT_EXPONENT_NV = 0x8505; - public static final int GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; - public static final int GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D; - public static final int GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C; - public static final int GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A; - public static final int GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953A; - public static final int GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E; - public static final int GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69; - public static final int GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537; - public static final int GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68; - public static final int GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B; - public static final int GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3; - public static final int GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C; - public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; - public static final int GL_MAX_TEXTURE_COORDS_ARB = 0x8871; - public static final int GL_MAX_TEXTURE_COORDS_NV = 0x8871; - public static final int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; - public static final int GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; - public static final int GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; - public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; - public static final int GL_MAX_TEXTURE_UNITS_ARB = 0x84E2; - public static final int GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6; - public static final int GL_MAX_TRACK_MATRICES_NV = 0x862F; - public static final int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; - public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; - public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; - public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; - public static final int GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B; - public static final int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; - public static final int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; - public static final int GL_MAX_VERTEX_HINT_PGI = 0x1A22D; - public static final int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; - public static final int GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; - public static final int GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; - public static final int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; - public static final int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; - public static final int GL_MAX_VERTEX_STREAMS_ATI = 0x876B; - public static final int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; - public static final int GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14; - public static final int GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; - public static final int GL_MEMORY_ATTACHABLE_NV = 0x95A8; - public static final int GL_MEMORY_ATTACHABLE_SIZE_NV = 0x95A7; - public static final int GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543; - public static final int GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF; - public static final int GL_MESH_OUTPUT_TYPE_NV = 0x957B; - public static final int GL_MESH_PRIMITIVES_OUT_NV = 0x957A; - public static final int GL_MESH_SHADER_BIT_NV = 0x00000040; - public static final int GL_MESH_SHADER_NV = 0x9559; - public static final int GL_MESH_SUBROUTINE_NV = 0x957C; - public static final int GL_MESH_SUBROUTINE_UNIFORM_NV = 0x957E; - public static final int GL_MESH_VERTICES_OUT_NV = 0x9579; - public static final int GL_MESH_WORK_GROUP_SIZE_NV = 0x953E; - public static final int GL_MINMAX_EXT = 0x802E; - public static final int GL_MINMAX_FORMAT_EXT = 0x802F; - public static final int GL_MINMAX_SINK_EXT = 0x8030; - public static final int GL_MINUS_CLAMPED_NV = 0x92B3; - public static final int GL_MINUS_NV = 0x929F; - public static final int GL_MIN_EXT = 0x8007; - public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; - public static final int GL_MIN_LOD_WARNING_AMD = 0x919C; - public static final int GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; - public static final int GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; - public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; - public static final int GL_MIN_SPARSE_LEVEL_AMD = 0x919B; - public static final int GL_MIRRORED_REPEAT_IBM = 0x8370; - public static final int GL_MIRROR_CLAMP_ATI = 0x8742; - public static final int GL_MIRROR_CLAMP_EXT = 0x8742; - public static final int GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; - public static final int GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; - public static final int GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; - public static final int GL_MITER_REVERT_NV = 0x90A7; - public static final int GL_MITER_TRUNCATE_NV = 0x90A8; - public static final int GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; - public static final int GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; - public static final int GL_MODELVIEW0_EXT = 0x1700; - public static final int GL_MODELVIEW0_MATRIX_EXT = 0x0BA6; - public static final int GL_MODELVIEW1_EXT = 0x850A; - public static final int GL_MODELVIEW1_MATRIX_EXT = 0x8506; - public static final int GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502; - public static final int GL_MODELVIEW_PROJECTION_NV = 0x8629; - public static final int GL_MODULATE_ADD_ATI = 0x8744; - public static final int GL_MODULATE_SIGNED_ADD_ATI = 0x8745; - public static final int GL_MODULATE_SUBTRACT_ATI = 0x8746; - public static final int GL_MOVE_TO_CONTINUES_NV = 0x90B6; - public static final int GL_MOVE_TO_NV = 0x02; - public static final int GL_MOVE_TO_RESETS_NV = 0x90B5; - public static final int GL_MOV_ATI = 0x8961; - public static final int GL_MULTICAST_GPUS_NV = 0x92BA; - public static final int GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; - public static final int GL_MULTIPLY_NV = 0x9294; - public static final int GL_MULTISAMPLES_NV = 0x9371; - public static final int GL_MULTISAMPLE_3DFX = 0x86B2; - public static final int GL_MULTISAMPLE_ARB = 0x809D; - public static final int GL_MULTISAMPLE_BIT_3DFX = 0x20000000; - public static final int GL_MULTISAMPLE_BIT_ARB = 0x20000000; - public static final int GL_MULTISAMPLE_BIT_EXT = 0x20000000; - public static final int GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; - public static final int GL_MULTISAMPLE_EXT = 0x809D; - public static final int GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534; - public static final int GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; - public static final int GL_MULTISAMPLE_SGIS = 0x809D; - public static final int GL_MUL_ATI = 0x8964; - public static final int GL_MVP_MATRIX_EXT = 0x87E3; - public static final int GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; - public static final int GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; - public static final int GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; - public static final int GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; - public static final int GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; - public static final int GL_NEGATE_BIT_ATI = 0x00000004; - public static final int GL_NEGATIVE_ONE_EXT = 0x87DF; - public static final int GL_NEGATIVE_W_EXT = 0x87DC; - public static final int GL_NEGATIVE_X_EXT = 0x87D9; - public static final int GL_NEGATIVE_Y_EXT = 0x87DA; - public static final int GL_NEGATIVE_Z_EXT = 0x87DB; - public static final int GL_NEXT_BUFFER_NV = -2; - public static final int GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; - public static final int GL_NOP_COMMAND_NV = 0x0001; - public static final int GL_NORMALIZED_RANGE_EXT = 0x87E0; - public static final int GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22; - public static final int GL_NORMAL_ARRAY_COUNT_EXT = 0x8080; - public static final int GL_NORMAL_ARRAY_EXT = 0x8075; - public static final int GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C; - public static final int GL_NORMAL_ARRAY_LIST_IBM = 103071; - public static final int GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; - public static final int GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; - public static final int GL_NORMAL_ARRAY_POINTER_EXT = 0x808F; - public static final int GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F; - public static final int GL_NORMAL_ARRAY_TYPE_EXT = 0x807E; - public static final int GL_NORMAL_BIT_PGI = 0x08000000; - public static final int GL_NORMAL_MAP_EXT = 0x8511; - public static final int GL_NORMAL_MAP_NV = 0x8511; - public static final int GL_NUM_DEVICE_UUIDS_EXT = 0x9596; - public static final int GL_NUM_FILL_STREAMS_NV = 0x8E29; - public static final int GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; - public static final int GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E; - public static final int GL_NUM_GENERAL_COMBINERS_NV = 0x854E; - public static final int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; - public static final int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; - public static final int GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; - public static final int GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; - public static final int GL_NUM_PASSES_ATI = 0x8970; - public static final int GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6; - public static final int GL_NUM_TILING_TYPES_EXT = 0x9582; - public static final int GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; - public static final int GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15; - public static final int GL_OBJECT_BUFFER_SIZE_ATI = 0x8764; - public static final int GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; - public static final int GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; - public static final int GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; - public static final int GL_OBJECT_LINE_SGIS = 0x81F7; - public static final int GL_OBJECT_POINT_SGIS = 0x81F5; - public static final int GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; - public static final int GL_OCCLUSION_TEST_HP = 0x8165; - public static final int GL_OCCLUSION_TEST_RESULT_HP = 0x8166; - public static final int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; - public static final int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; - public static final int GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854; - public static final int GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; - public static final int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; - public static final int GL_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; - public static final int GL_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; - public static final int GL_OFFSET_TEXTURE_2D_NV = 0x86E8; - public static final int GL_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; - public static final int GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3; - public static final int GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1; - public static final int GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; - public static final int GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; - public static final int GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2; - public static final int GL_ONE_EXT = 0x87DE; - public static final int GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; - public static final int GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; - public static final int GL_OPERAND0_ALPHA_EXT = 0x8598; - public static final int GL_OPERAND0_RGB_EXT = 0x8590; - public static final int GL_OPERAND1_ALPHA_EXT = 0x8599; - public static final int GL_OPERAND1_RGB_EXT = 0x8591; - public static final int GL_OPERAND2_ALPHA_EXT = 0x859A; - public static final int GL_OPERAND2_RGB_EXT = 0x8592; - public static final int GL_OPERAND3_ALPHA_NV = 0x859B; - public static final int GL_OPERAND3_RGB_NV = 0x8593; - public static final int GL_OPTIMAL_TILING_EXT = 0x9584; - public static final int GL_OP_ADD_EXT = 0x8787; - public static final int GL_OP_CLAMP_EXT = 0x878E; - public static final int GL_OP_CROSS_PRODUCT_EXT = 0x8797; - public static final int GL_OP_DOT3_EXT = 0x8784; - public static final int GL_OP_DOT4_EXT = 0x8785; - public static final int GL_OP_EXP_BASE_2_EXT = 0x8791; - public static final int GL_OP_FLOOR_EXT = 0x878F; - public static final int GL_OP_FRAC_EXT = 0x8789; - public static final int GL_OP_INDEX_EXT = 0x8782; - public static final int GL_OP_LOG_BASE_2_EXT = 0x8792; - public static final int GL_OP_MADD_EXT = 0x8788; - public static final int GL_OP_MAX_EXT = 0x878A; - public static final int GL_OP_MIN_EXT = 0x878B; - public static final int GL_OP_MOV_EXT = 0x8799; - public static final int GL_OP_MULTIPLY_MATRIX_EXT = 0x8798; - public static final int GL_OP_MUL_EXT = 0x8786; - public static final int GL_OP_NEGATE_EXT = 0x8783; - public static final int GL_OP_POWER_EXT = 0x8793; - public static final int GL_OP_RECIP_EXT = 0x8794; - public static final int GL_OP_RECIP_SQRT_EXT = 0x8795; - public static final int GL_OP_ROUND_EXT = 0x8790; - public static final int GL_OP_SET_GE_EXT = 0x878C; - public static final int GL_OP_SET_LT_EXT = 0x878D; - public static final int GL_OP_SUB_EXT = 0x8796; - public static final int GL_OUTPUT_COLOR0_EXT = 0x879B; - public static final int GL_OUTPUT_COLOR1_EXT = 0x879C; - public static final int GL_OUTPUT_FOG_EXT = 0x87BD; - public static final int GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D; - public static final int GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; - public static final int GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; - public static final int GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; - public static final int GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; - public static final int GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; - public static final int GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; - public static final int GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; - public static final int GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; - public static final int GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; - public static final int GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; - public static final int GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E; - public static final int GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; - public static final int GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; - public static final int GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; - public static final int GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; - public static final int GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; - public static final int GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; - public static final int GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; - public static final int GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; - public static final int GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; - public static final int GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; - public static final int GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F; - public static final int GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; - public static final int GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; - public static final int GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; - public static final int GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; - public static final int GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; - public static final int GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; - public static final int GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; - public static final int GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; - public static final int GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; - public static final int GL_OUTPUT_VERTEX_EXT = 0x879A; - public static final int GL_OVERLAY_NV = 0x9296; - public static final int GL_PACK_CMYK_HINT_EXT = 0x800E; - public static final int GL_PACK_IMAGE_DEPTH_SGIS = 0x8131; - public static final int GL_PACK_IMAGE_HEIGHT_EXT = 0x806C; - public static final int GL_PACK_INVERT_MESA = 0x8758; - public static final int GL_PACK_RESAMPLE_OML = 0x8984; - public static final int GL_PACK_RESAMPLE_SGIX = 0x842E; - public static final int GL_PACK_ROW_BYTES_APPLE = 0x8A15; - public static final int GL_PACK_SKIP_IMAGES_EXT = 0x806B; - public static final int GL_PACK_SKIP_VOLUMES_SGIS = 0x8130; - public static final int GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; - public static final int GL_PALETTE4_R5_G6_B5_OES = 0x8B92; - public static final int GL_PALETTE4_RGB5_A1_OES = 0x8B94; - public static final int GL_PALETTE4_RGB8_OES = 0x8B90; - public static final int GL_PALETTE4_RGBA4_OES = 0x8B93; - public static final int GL_PALETTE4_RGBA8_OES = 0x8B91; - public static final int GL_PALETTE8_R5_G6_B5_OES = 0x8B97; - public static final int GL_PALETTE8_RGB5_A1_OES = 0x8B99; - public static final int GL_PALETTE8_RGB8_OES = 0x8B95; - public static final int GL_PALETTE8_RGBA4_OES = 0x8B98; - public static final int GL_PALETTE8_RGBA8_OES = 0x8B96; - public static final int GL_PARALLEL_ARRAYS_INTEL = 0x83F4; - public static final int GL_PARTIAL_SUCCESS_NV = 0x902E; - public static final int GL_PASS_THROUGH_NV = 0x86E6; - public static final int GL_PATH_CLIENT_LENGTH_NV = 0x907F; - public static final int GL_PATH_COMMAND_COUNT_NV = 0x909D; - public static final int GL_PATH_COMPUTED_LENGTH_NV = 0x90A0; - public static final int GL_PATH_COORD_COUNT_NV = 0x909E; - public static final int GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF; - public static final int GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F; - public static final int GL_PATH_DASH_CAPS_NV = 0x907B; - public static final int GL_PATH_DASH_OFFSET_NV = 0x907E; - public static final int GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4; - public static final int GL_PATH_END_CAPS_NV = 0x9076; - public static final int GL_PATH_ERROR_POSITION_NV = 0x90AB; - public static final int GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1; - public static final int GL_PATH_FILL_COVER_MODE_NV = 0x9082; - public static final int GL_PATH_FILL_MASK_NV = 0x9081; - public static final int GL_PATH_FILL_MODE_NV = 0x9080; - public static final int GL_PATH_FORMAT_PS_NV = 0x9071; - public static final int GL_PATH_FORMAT_SVG_NV = 0x9070; - public static final int GL_PATH_GEN_COEFF_NV = 0x90B1; - public static final int GL_PATH_GEN_COMPONENTS_NV = 0x90B3; - public static final int GL_PATH_GEN_MODE_NV = 0x90B0; - public static final int GL_PATH_INITIAL_DASH_CAP_NV = 0x907C; - public static final int GL_PATH_INITIAL_END_CAP_NV = 0x9077; - public static final int GL_PATH_JOIN_STYLE_NV = 0x9079; - public static final int GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; - public static final int GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; - public static final int GL_PATH_MITER_LIMIT_NV = 0x907A; - public static final int GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6; - public static final int GL_PATH_MODELVIEW_NV = 0x1700; - public static final int GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; - public static final int GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; - public static final int GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7; - public static final int GL_PATH_PROJECTION_NV = 0x1701; - public static final int GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; - public static final int GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; - public static final int GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; - public static final int GL_PATH_STENCIL_FUNC_NV = 0x90B7; - public static final int GL_PATH_STENCIL_REF_NV = 0x90B8; - public static final int GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9; - public static final int GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; - public static final int GL_PATH_STROKE_COVER_MODE_NV = 0x9083; - public static final int GL_PATH_STROKE_MASK_NV = 0x9084; - public static final int GL_PATH_STROKE_WIDTH_NV = 0x9075; - public static final int GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D; - public static final int GL_PATH_TERMINAL_END_CAP_NV = 0x9078; - public static final int GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; - public static final int GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; - public static final int GL_PERCENTAGE_AMD = 0x8BC3; - public static final int GL_PERFMON_RESULT_AMD = 0x8BC6; - public static final int GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; - public static final int GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5; - public static final int GL_PERFORMANCE_MONITOR_AMD = 0x9152; - public static final int GL_PERTURB_EXT = 0x85AE; - public static final int GL_PER_GPU_STORAGE_BIT_NV = 0x0800; - public static final int GL_PER_GPU_STORAGE_NV = 0x9548; - public static final int GL_PER_STAGE_CONSTANTS_NV = 0x8535; - public static final int GL_PHONG_HINT_WIN = 0x80EB; - public static final int GL_PHONG_WIN = 0x80EA; - public static final int GL_PINLIGHT_NV = 0x92A8; - public static final int GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; - public static final int GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF; - public static final int GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; - public static final int GL_PIXEL_COUNTER_BITS_NV = 0x8864; - public static final int GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867; - public static final int GL_PIXEL_COUNT_NV = 0x8866; - public static final int GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333; - public static final int GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; - public static final int GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; - public static final int GL_PIXEL_GROUP_COLOR_SGIS = 0x8356; - public static final int GL_PIXEL_MAG_FILTER_EXT = 0x8331; - public static final int GL_PIXEL_MIN_FILTER_EXT = 0x8332; - public static final int GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; - public static final int GL_PIXEL_PACK_BUFFER_EXT = 0x88EB; - public static final int GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; - public static final int GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; - public static final int GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; - public static final int GL_PIXEL_TEXTURE_SGIS = 0x8353; - public static final int GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B; - public static final int GL_PIXEL_TEX_GEN_SGIX = 0x8139; - public static final int GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; - public static final int GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; - public static final int GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; - public static final int GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; - public static final int GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; - public static final int GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; - public static final int GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141; - public static final int GL_PIXEL_TILE_WIDTH_SGIX = 0x8140; - public static final int GL_PIXEL_TRANSFORM_2D_EXT = 0x8330; - public static final int GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; - public static final int GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; - public static final int GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; - public static final int GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC; - public static final int GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2; - public static final int GL_PLUS_CLAMPED_NV = 0x92B1; - public static final int GL_PLUS_DARKER_NV = 0x9292; - public static final int GL_PLUS_NV = 0x9291; - public static final int GL_PN_TRIANGLES_ATI = 0x87F0; - public static final int GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; - public static final int GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; - public static final int GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; - public static final int GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; - public static final int GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; - public static final int GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; - public static final int GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; - public static final int GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; - public static final int GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; - public static final int GL_POINT_SIZE_MAX_EXT = 0x8127; - public static final int GL_POINT_SIZE_MAX_SGIS = 0x8127; - public static final int GL_POINT_SIZE_MIN_EXT = 0x8126; - public static final int GL_POINT_SIZE_MIN_SGIS = 0x8126; - public static final int GL_POINT_SPRITE_ARB = 0x8861; - public static final int GL_POINT_SPRITE_NV = 0x8861; - public static final int GL_POINT_SPRITE_R_MODE_NV = 0x8863; - public static final int GL_POLYGON_OFFSET_BIAS_EXT = 0x8039; - public static final int GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; - public static final int GL_POLYGON_OFFSET_COMMAND_NV = 0x000E; - public static final int GL_POLYGON_OFFSET_EXT = 0x8037; - public static final int GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038; - public static final int GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; - public static final int GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; - public static final int GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; - public static final int GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; - public static final int GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; - public static final int GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; - public static final int GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; - public static final int GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; - public static final int GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; - public static final int GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; - public static final int GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; - public static final int GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; - public static final int GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; - public static final int GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; - public static final int GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; - public static final int GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; - public static final int GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; - public static final int GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; - public static final int GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; - public static final int GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; - public static final int GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; - public static final int GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; - public static final int GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; - public static final int GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; - public static final int GL_PRESENT_DURATION_NV = 0x8E2B; - public static final int GL_PRESENT_TIME_NV = 0x8E2A; - public static final int GL_PRESERVE_ATI = 0x8762; - public static final int GL_PREVIOUS_EXT = 0x8578; - public static final int GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; - public static final int GL_PRIMARY_COLOR_EXT = 0x8577; - public static final int GL_PRIMARY_COLOR_NV = 0x852C; - public static final int GL_PRIMITIVES_GENERATED_EXT = 0x8C87; - public static final int GL_PRIMITIVES_GENERATED_NV = 0x8C87; - public static final int GL_PRIMITIVE_ID_NV = 0x8C7C; - public static final int GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559; - public static final int GL_PRIMITIVE_RESTART_NV = 0x8558; - public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; - public static final int GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; - public static final int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; - public static final int GL_PROGRAM_ATTRIBS_ARB = 0x88AC; - public static final int GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; - public static final int GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F; - public static final int GL_PROGRAM_BINDING_ARB = 0x8677; - public static final int GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; - public static final int GL_PROGRAM_ERROR_POSITION_NV = 0x864B; - public static final int GL_PROGRAM_ERROR_STRING_ARB = 0x8874; - public static final int GL_PROGRAM_ERROR_STRING_NV = 0x8874; - public static final int GL_PROGRAM_FORMAT_ARB = 0x8876; - public static final int GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; - public static final int GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; - public static final int GL_PROGRAM_LENGTH_ARB = 0x8627; - public static final int GL_PROGRAM_LENGTH_NV = 0x8627; - public static final int GL_PROGRAM_MATRIX_EXT = 0x8E2D; - public static final int GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; - public static final int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; - public static final int GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; - public static final int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; - public static final int GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; - public static final int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; - public static final int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; - public static final int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; - public static final int GL_PROGRAM_OBJECT_EXT = 0x8B40; - public static final int GL_PROGRAM_PARAMETERS_ARB = 0x88A8; - public static final int GL_PROGRAM_PARAMETER_NV = 0x8644; - public static final int GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; - public static final int GL_PROGRAM_POINT_SIZE_EXT = 0x8642; - public static final int GL_PROGRAM_RESIDENT_NV = 0x8647; - public static final int GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907; - public static final int GL_PROGRAM_STRING_ARB = 0x8628; - public static final int GL_PROGRAM_STRING_NV = 0x8628; - public static final int GL_PROGRAM_TARGET_NV = 0x8646; - public static final int GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; - public static final int GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; - public static final int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; - public static final int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; - public static final int GL_PROTECTED_MEMORY_OBJECT_EXT = 0x959B; - public static final int GL_PROVOKING_VERTEX_EXT = 0x8E4F; - public static final int GL_PROXY_COLOR_TABLE_SGI = 0x80D3; - public static final int GL_PROXY_HISTOGRAM_EXT = 0x8025; - public static final int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; - public static final int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; - public static final int GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; - public static final int GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; - public static final int GL_PROXY_TEXTURE_1D_EXT = 0x8063; - public static final int GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; - public static final int GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; - public static final int GL_PROXY_TEXTURE_2D_EXT = 0x8064; - public static final int GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; - public static final int GL_PROXY_TEXTURE_3D_EXT = 0x8070; - public static final int GL_PROXY_TEXTURE_4D_SGIS = 0x8135; - public static final int GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; - public static final int GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; - public static final int GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; - public static final int GL_PURGEABLE_APPLE = 0x8A1D; - public static final int GL_PURGED_CONTEXT_RESET_NV = 0x92BB; - public static final int GL_QUADRATIC_CURVE_TO_NV = 0x0A; - public static final int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; - public static final int GL_QUAD_ALPHA4_SGIS = 0x811E; - public static final int GL_QUAD_ALPHA8_SGIS = 0x811F; - public static final int GL_QUAD_INTENSITY4_SGIS = 0x8122; - public static final int GL_QUAD_INTENSITY8_SGIS = 0x8123; - public static final int GL_QUAD_LUMINANCE4_SGIS = 0x8120; - public static final int GL_QUAD_LUMINANCE8_SGIS = 0x8121; - public static final int GL_QUAD_MESH_SUN = 0x8614; - public static final int GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125; - public static final int GL_QUARTER_BIT_ATI = 0x00000010; - public static final int GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; - public static final int GL_QUERY_BUFFER_AMD = 0x9192; - public static final int GL_QUERY_BUFFER_BINDING_AMD = 0x9193; - public static final int GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; - public static final int GL_QUERY_BY_REGION_WAIT_NV = 0x8E15; - public static final int GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; - public static final int GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; - public static final int GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; - public static final int GL_QUERY_NO_WAIT_NV = 0x8E14; - public static final int GL_QUERY_OBJECT_AMD = 0x9153; - public static final int GL_QUERY_OBJECT_EXT = 0x9153; - public static final int GL_QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547; - public static final int GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542; - public static final int GL_QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546; - public static final int GL_QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544; - public static final int GL_QUERY_RESOURCE_TEXTURE_NV = 0x9545; - public static final int GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540; - public static final int GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194; - public static final int GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; - public static final int GL_QUERY_WAIT_NV = 0x8E13; - public static final int GL_R11F_G11F_B10F_EXT = 0x8C3A; - public static final int GL_R16F_EXT = 0x822D; - public static final int GL_R1UI_C3F_V3F_SUN = 0x85C6; - public static final int GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8; - public static final int GL_R1UI_C4UB_V3F_SUN = 0x85C5; - public static final int GL_R1UI_N3F_V3F_SUN = 0x85C7; - public static final int GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; - public static final int GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA; - public static final int GL_R1UI_T2F_V3F_SUN = 0x85C9; - public static final int GL_R1UI_V3F_SUN = 0x85C4; - public static final int GL_R32F_EXT = 0x822E; - public static final int GL_R8_EXT = 0x8229; - public static final int GL_RASTERIZER_DISCARD_EXT = 0x8C89; - public static final int GL_RASTERIZER_DISCARD_NV = 0x8C89; - public static final int GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; - public static final int GL_RASTER_MULTISAMPLE_EXT = 0x9327; - public static final int GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262; - public static final int GL_RASTER_SAMPLES_EXT = 0x9328; - public static final int GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; - public static final int GL_READ_FRAMEBUFFER_EXT = 0x8CA8; - public static final int GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; - public static final int GL_READ_PIXEL_DATA_RANGE_NV = 0x8879; - public static final int GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; - public static final int GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; - public static final int GL_RECT_NV = 0xF6; - public static final int GL_REDUCE_EXT = 0x8016; - public static final int GL_RED_BIT_ATI = 0x00000001; - public static final int GL_RED_INTEGER = 0x8D94; - public static final int GL_RED_INTEGER_EXT = 0x8D94; - public static final int GL_RED_MAX_CLAMP_INGR = 0x8564; - public static final int GL_RED_MIN_CLAMP_INGR = 0x8560; - public static final int GL_RED_NV = 0x1903; - public static final int GL_REFERENCED_BY_MESH_SHADER_NV = 0x95A0; - public static final int GL_REFERENCED_BY_TASK_SHADER_NV = 0x95A1; - public static final int GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E; - public static final int GL_REFERENCE_PLANE_SGIX = 0x817D; - public static final int GL_REFLECTION_MAP_EXT = 0x8512; - public static final int GL_REFLECTION_MAP_NV = 0x8512; - public static final int GL_REGISTER_COMBINERS_NV = 0x8522; - public static final int GL_REG_0_ATI = 0x8921; - public static final int GL_REG_10_ATI = 0x892B; - public static final int GL_REG_11_ATI = 0x892C; - public static final int GL_REG_12_ATI = 0x892D; - public static final int GL_REG_13_ATI = 0x892E; - public static final int GL_REG_14_ATI = 0x892F; - public static final int GL_REG_15_ATI = 0x8930; - public static final int GL_REG_16_ATI = 0x8931; - public static final int GL_REG_17_ATI = 0x8932; - public static final int GL_REG_18_ATI = 0x8933; - public static final int GL_REG_19_ATI = 0x8934; - public static final int GL_REG_1_ATI = 0x8922; - public static final int GL_REG_20_ATI = 0x8935; - public static final int GL_REG_21_ATI = 0x8936; - public static final int GL_REG_22_ATI = 0x8937; - public static final int GL_REG_23_ATI = 0x8938; - public static final int GL_REG_24_ATI = 0x8939; - public static final int GL_REG_25_ATI = 0x893A; - public static final int GL_REG_26_ATI = 0x893B; - public static final int GL_REG_27_ATI = 0x893C; - public static final int GL_REG_28_ATI = 0x893D; - public static final int GL_REG_29_ATI = 0x893E; - public static final int GL_REG_2_ATI = 0x8923; - public static final int GL_REG_30_ATI = 0x893F; - public static final int GL_REG_31_ATI = 0x8940; - public static final int GL_REG_3_ATI = 0x8924; - public static final int GL_REG_4_ATI = 0x8925; - public static final int GL_REG_5_ATI = 0x8926; - public static final int GL_REG_6_ATI = 0x8927; - public static final int GL_REG_7_ATI = 0x8928; - public static final int GL_REG_8_ATI = 0x8929; - public static final int GL_REG_9_ATI = 0x892A; - public static final int GL_RELATIVE_ARC_TO_NV = 0xFF; - public static final int GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B; - public static final int GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; - public static final int GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; - public static final int GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; - public static final int GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; - public static final int GL_RELATIVE_LINE_TO_NV = 0x05; - public static final int GL_RELATIVE_MOVE_TO_NV = 0x03; - public static final int GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; - public static final int GL_RELATIVE_RECT_NV = 0xF7; - public static final int GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB; - public static final int GL_RELATIVE_ROUNDED_RECT4_NV = 0xED; - public static final int GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF; - public static final int GL_RELATIVE_ROUNDED_RECT_NV = 0xE9; - public static final int GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; - public static final int GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; - public static final int GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; - public static final int GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; - public static final int GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09; - public static final int GL_RELEASED_APPLE = 0x8A19; - public static final int GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; - public static final int GL_RENDERBUFFER_BINDING_EXT = 0x8CA7; - public static final int GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; - public static final int GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; - public static final int GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; - public static final int GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; - public static final int GL_RENDERBUFFER_EXT = 0x8D41; - public static final int GL_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; - public static final int GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; - public static final int GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43; - public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; - public static final int GL_RENDERBUFFER_RED_SIZE = 0x8D50; - public static final int GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50; - public static final int GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB; - public static final int GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; - public static final int GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; - public static final int GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; - public static final int GL_RENDERBUFFER_WIDTH_EXT = 0x8D42; - public static final int GL_RENDER_GPU_MASK_NV = 0x9558; - public static final int GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; - public static final int GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; - public static final int GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; - public static final int GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; - public static final int GL_REPLACEMENT_CODE_SUN = 0x81D8; - public static final int GL_REPLACE_EXT = 0x8062; - public static final int GL_REPLACE_MIDDLE_SUN = 0x0002; - public static final int GL_REPLACE_OLDEST_SUN = 0x0003; - public static final int GL_REPLACE_VALUE_AMD = 0x874B; - public static final int GL_REPLICATE_BORDER_HP = 0x8153; - public static final int GL_REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F; - public static final int GL_RESAMPLE_AVERAGE_OML = 0x8988; - public static final int GL_RESAMPLE_DECIMATE_OML = 0x8989; - public static final int GL_RESAMPLE_DECIMATE_SGIX = 0x8430; - public static final int GL_RESAMPLE_REPLICATE_OML = 0x8986; - public static final int GL_RESAMPLE_REPLICATE_SGIX = 0x8433; - public static final int GL_RESAMPLE_ZERO_FILL_OML = 0x8987; - public static final int GL_RESAMPLE_ZERO_FILL_SGIX = 0x8434; - public static final int GL_RESCALE_NORMAL_EXT = 0x803A; - public static final int GL_RESTART_PATH_NV = 0xF0; - public static final int GL_RESTART_SUN = 0x0001; - public static final int GL_RETAINED_APPLE = 0x8A1B; - public static final int GL_RG16F_EXT = 0x822F; - public static final int GL_RG32F_EXT = 0x8230; - public static final int GL_RG8_EXT = 0x822B; - public static final int GL_RGB10_A2_EXT = 0x8059; - public static final int GL_RGB10_EXT = 0x8052; - public static final int GL_RGB12_EXT = 0x8053; - public static final int GL_RGB16F_EXT = 0x881B; - public static final int GL_RGB16I_EXT = 0x8D89; - public static final int GL_RGB16UI_EXT = 0x8D77; - public static final int GL_RGB16_EXT = 0x8054; - public static final int GL_RGB2_EXT = 0x804E; - public static final int GL_RGB32F_EXT = 0x8815; - public static final int GL_RGB32I_EXT = 0x8D83; - public static final int GL_RGB32UI_EXT = 0x8D71; - public static final int GL_RGB4_EXT = 0x804F; - public static final int GL_RGB5_A1_EXT = 0x8057; - public static final int GL_RGB5_EXT = 0x8050; - public static final int GL_RGB8I_EXT = 0x8D8F; - public static final int GL_RGB8UI_EXT = 0x8D7D; - public static final int GL_RGB8_EXT = 0x8051; - public static final int GL_RGB9_E5_EXT = 0x8C3D; - public static final int GL_RGBA12_EXT = 0x805A; - public static final int GL_RGBA16F_EXT = 0x881A; - public static final int GL_RGBA16I_EXT = 0x8D88; - public static final int GL_RGBA16UI_EXT = 0x8D76; - public static final int GL_RGBA16_EXT = 0x805B; - public static final int GL_RGBA2_EXT = 0x8055; - public static final int GL_RGBA32F_EXT = 0x8814; - public static final int GL_RGBA32I_EXT = 0x8D82; - public static final int GL_RGBA32UI_EXT = 0x8D70; - public static final int GL_RGBA4_EXT = 0x8056; - public static final int GL_RGBA8I_EXT = 0x8D8E; - public static final int GL_RGBA8UI_EXT = 0x8D7C; - public static final int GL_RGBA8_EXT = 0x8058; - public static final int GL_RGBA_FLOAT16_APPLE = 0x881A; - public static final int GL_RGBA_FLOAT16_ATI = 0x881A; - public static final int GL_RGBA_FLOAT32_APPLE = 0x8814; - public static final int GL_RGBA_FLOAT32_ATI = 0x8814; - public static final int GL_RGBA_FLOAT_MODE_ARB = 0x8820; - public static final int GL_RGBA_FLOAT_MODE_ATI = 0x8820; - public static final int GL_RGBA_INTEGER_EXT = 0x8D99; - public static final int GL_RGBA_INTEGER_MODE_EXT = 0x8D9E; - public static final int GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; - public static final int GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; - public static final int GL_RGB_422_APPLE = 0x8A1F; - public static final int GL_RGB_FLOAT16_APPLE = 0x881B; - public static final int GL_RGB_FLOAT16_ATI = 0x881B; - public static final int GL_RGB_FLOAT32_APPLE = 0x8815; - public static final int GL_RGB_FLOAT32_ATI = 0x8815; - public static final int GL_RGB_INTEGER_EXT = 0x8D98; - public static final int GL_RGB_RAW_422_APPLE = 0x8A51; - public static final int GL_RGB_SCALE_EXT = 0x8573; - public static final int GL_ROUNDED_RECT2_NV = 0xEA; - public static final int GL_ROUNDED_RECT4_NV = 0xEC; - public static final int GL_ROUNDED_RECT8_NV = 0xEE; - public static final int GL_ROUNDED_RECT_NV = 0xE8; - public static final int GL_ROUND_NV = 0x90A4; - public static final int GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0; - public static final int GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; - public static final int GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1; - public static final int GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; - public static final int GL_SAMPLER_BUFFER_AMD = 0x9001; - public static final int GL_SAMPLER_BUFFER_EXT = 0x8DC2; - public static final int GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; - public static final int GL_SAMPLER_OBJECT_AMD = 0x9155; - public static final int GL_SAMPLER_RENDERBUFFER_NV = 0x8E56; - public static final int GL_SAMPLES_3DFX = 0x86B4; - public static final int GL_SAMPLES_ARB = 0x80A9; - public static final int GL_SAMPLES_EXT = 0x80A9; - public static final int GL_SAMPLES_SGIS = 0x80A9; - public static final int GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; - public static final int GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; - public static final int GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; - public static final int GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; - public static final int GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; - public static final int GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; - public static final int GL_SAMPLE_BUFFERS_3DFX = 0x86B3; - public static final int GL_SAMPLE_BUFFERS_ARB = 0x80A8; - public static final int GL_SAMPLE_BUFFERS_EXT = 0x80A8; - public static final int GL_SAMPLE_BUFFERS_SGIS = 0x80A8; - public static final int GL_SAMPLE_COVERAGE_ARB = 0x80A0; - public static final int GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; - public static final int GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; - public static final int GL_SAMPLE_LOCATION_NV = 0x8E50; - public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; - public static final int GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; - public static final int GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; - public static final int GL_SAMPLE_MASK_EXT = 0x80A0; - public static final int GL_SAMPLE_MASK_INVERT_EXT = 0x80AB; - public static final int GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB; - public static final int GL_SAMPLE_MASK_NV = 0x8E51; - public static final int GL_SAMPLE_MASK_SGIS = 0x80A0; - public static final int GL_SAMPLE_MASK_VALUE_EXT = 0x80AA; - public static final int GL_SAMPLE_MASK_VALUE_NV = 0x8E52; - public static final int GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA; - public static final int GL_SAMPLE_PATTERN_EXT = 0x80AC; - public static final int GL_SAMPLE_PATTERN_SGIS = 0x80AC; - public static final int GL_SAMPLE_POSITION_NV = 0x8E50; - public static final int GL_SATURATE_BIT_ATI = 0x00000040; - public static final int GL_SCALAR_EXT = 0x87BE; - public static final int GL_SCALEBIAS_HINT_SGIX = 0x8322; - public static final int GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA; - public static final int GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB; - public static final int GL_SCALE_BY_FOUR_NV = 0x853F; - public static final int GL_SCALE_BY_ONE_HALF_NV = 0x8540; - public static final int GL_SCALE_BY_TWO_NV = 0x853E; - public static final int GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; - public static final int GL_SCISSOR_COMMAND_NV = 0x0011; - public static final int GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; - public static final int GL_SCREEN_NV = 0x9295; - public static final int GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; - public static final int GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; - public static final int GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; - public static final int GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; - public static final int GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; - public static final int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; - public static final int GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; - public static final int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; - public static final int GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; - public static final int GL_SECONDARY_COLOR_NV = 0x852D; - public static final int GL_SECONDARY_INTERPOLATOR_ATI = 0x896D; - public static final int GL_SEMAPHORE_TYPE_BINARY_NV = 0x95B4; - public static final int GL_SEMAPHORE_TYPE_NV = 0x95B3; - public static final int GL_SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5; - public static final int GL_SEPARABLE_2D_EXT = 0x8012; - public static final int GL_SEPARATE_ATTRIBS_EXT = 0x8C8D; - public static final int GL_SEPARATE_ATTRIBS_NV = 0x8C8D; - public static final int GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; - public static final int GL_SET_AMD = 0x874A; - public static final int GL_SHADER_CONSISTENT_NV = 0x86DD; - public static final int GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; - public static final int GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; - public static final int GL_SHADER_OBJECT_EXT = 0x8B48; - public static final int GL_SHADER_OPERATION_NV = 0x86DF; - public static final int GL_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C; - public static final int GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B; - public static final int GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565; - public static final int GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C; - public static final int GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D; - public static final int GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E; - public static final int GL_SHADING_RATE_IMAGE_BINDING_NV = 0x955B; - public static final int GL_SHADING_RATE_IMAGE_NV = 0x9563; - public static final int GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2; - public static final int GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E; - public static final int GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1; - public static final int GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D; - public static final int GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C; - public static final int GL_SHADING_RATE_NO_INVOCATIONS_NV = 0x9564; - public static final int GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE; - public static final int GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF; - public static final int GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0; - public static final int GL_SHADOW_AMBIENT_SGIX = 0x80BF; - public static final int GL_SHADOW_ATTENUATION_EXT = 0x834E; - public static final int GL_SHARED_EDGE_NV = 0xC0; - public static final int GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB; - public static final int GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; - public static final int GL_SIGNED_ALPHA8_NV = 0x8706; - public static final int GL_SIGNED_ALPHA_NV = 0x8705; - public static final int GL_SIGNED_HILO16_NV = 0x86FA; - public static final int GL_SIGNED_HILO8_NV = 0x885F; - public static final int GL_SIGNED_HILO_NV = 0x86F9; - public static final int GL_SIGNED_IDENTITY_NV = 0x853C; - public static final int GL_SIGNED_INTENSITY8_NV = 0x8708; - public static final int GL_SIGNED_INTENSITY_NV = 0x8707; - public static final int GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; - public static final int GL_SIGNED_LUMINANCE8_NV = 0x8702; - public static final int GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703; - public static final int GL_SIGNED_LUMINANCE_NV = 0x8701; - public static final int GL_SIGNED_NEGATE_NV = 0x853D; - public static final int GL_SIGNED_RGB8_NV = 0x86FF; - public static final int GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; - public static final int GL_SIGNED_RGBA8_NV = 0x86FC; - public static final int GL_SIGNED_RGBA_NV = 0x86FB; - public static final int GL_SIGNED_RGB_NV = 0x86FE; - public static final int GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; - public static final int GL_SINGLE_COLOR_EXT = 0x81F9; - public static final int GL_SKIP_COMPONENTS1_NV = -6; - public static final int GL_SKIP_COMPONENTS2_NV = -5; - public static final int GL_SKIP_COMPONENTS3_NV = -4; - public static final int GL_SKIP_COMPONENTS4_NV = -3; - public static final int GL_SKIP_DECODE_EXT = 0x8A4A; - public static final int GL_SKIP_MISSING_GLYPH_NV = 0x90A9; - public static final int GL_SLICE_ACCUM_SUN = 0x85CC; - public static final int GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45; - public static final int GL_SLUMINANCE8_EXT = 0x8C47; - public static final int GL_SLUMINANCE_ALPHA_EXT = 0x8C44; - public static final int GL_SLUMINANCE_EXT = 0x8C46; - public static final int GL_SMALL_CCW_ARC_TO_NV = 0x12; - public static final int GL_SMALL_CW_ARC_TO_NV = 0x14; - public static final int GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10; - public static final int GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; - public static final int GL_SM_COUNT_NV = 0x933B; - public static final int GL_SOFTLIGHT_NV = 0x929C; - public static final int GL_SOURCE0_ALPHA_EXT = 0x8588; - public static final int GL_SOURCE0_RGB_EXT = 0x8580; - public static final int GL_SOURCE1_ALPHA_EXT = 0x8589; - public static final int GL_SOURCE1_RGB_EXT = 0x8581; - public static final int GL_SOURCE2_ALPHA_EXT = 0x858A; - public static final int GL_SOURCE2_RGB_EXT = 0x8582; - public static final int GL_SOURCE3_ALPHA_NV = 0x858B; - public static final int GL_SOURCE3_RGB_NV = 0x8583; - public static final int GL_SPARE0_NV = 0x852E; - public static final int GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; - public static final int GL_SPARE1_NV = 0x852F; - public static final int GL_SPIR_V_EXTENSIONS = 0x9553; - public static final int GL_SPRITE_AXIAL_SGIX = 0x814C; - public static final int GL_SPRITE_AXIS_SGIX = 0x814A; - public static final int GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E; - public static final int GL_SPRITE_MODE_SGIX = 0x8149; - public static final int GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; - public static final int GL_SPRITE_SGIX = 0x8148; - public static final int GL_SPRITE_TRANSLATION_SGIX = 0x814B; - public static final int GL_SQUARE_NV = 0x90A3; - public static final int GL_SR8_EXT = 0x8FBD; - public static final int GL_SRC_ATOP_NV = 0x928E; - public static final int GL_SRC_IN_NV = 0x928A; - public static final int GL_SRC_NV = 0x9286; - public static final int GL_SRC_OUT_NV = 0x928C; - public static final int GL_SRC_OVER_NV = 0x9288; - public static final int GL_SRG8_EXT = 0x8FBE; - public static final int GL_SRGB8_ALPHA8_EXT = 0x8C43; - public static final int GL_SRGB8_EXT = 0x8C41; - public static final int GL_SRGB_ALPHA_EXT = 0x8C42; - public static final int GL_SRGB_EXT = 0x8C40; - public static final int GL_STANDARD_FONT_FORMAT_NV = 0x936C; - public static final int GL_STANDARD_FONT_NAME_NV = 0x9072; - public static final int GL_STATIC_ATI = 0x8760; - public static final int GL_STATIC_VERTEX_ARRAY_IBM = 103061; - public static final int GL_STENCIL_ATTACHMENT_EXT = 0x8D20; - public static final int GL_STENCIL_BACK_FAIL_ATI = 0x8801; - public static final int GL_STENCIL_BACK_FUNC_ATI = 0x8800; - public static final int GL_STENCIL_BACK_OP_VALUE_AMD = 0x874D; - public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; - public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; - public static final int GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; - public static final int GL_STENCIL_INDEX16_EXT = 0x8D49; - public static final int GL_STENCIL_INDEX1_EXT = 0x8D46; - public static final int GL_STENCIL_INDEX4_EXT = 0x8D47; - public static final int GL_STENCIL_INDEX8_EXT = 0x8D48; - public static final int GL_STENCIL_OP_VALUE_AMD = 0x874C; - public static final int GL_STENCIL_REF_COMMAND_NV = 0x000C; - public static final int GL_STENCIL_SAMPLES_NV = 0x932E; - public static final int GL_STENCIL_TAG_BITS_EXT = 0x88F2; - public static final int GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910; - public static final int GL_STORAGE_CACHED_APPLE = 0x85BE; - public static final int GL_STORAGE_CLIENT_APPLE = 0x85B4; - public static final int GL_STORAGE_PRIVATE_APPLE = 0x85BD; - public static final int GL_STORAGE_SHARED_APPLE = 0x85BF; - public static final int GL_STREAM_RASTERIZATION_AMD = 0x91A0; - public static final int GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; - public static final int GL_STRICT_LIGHTING_HINT_PGI = 0x1A217; - public static final int GL_STRICT_SCISSOR_HINT_PGI = 0x1A218; - public static final int GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; - public static final int GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; - public static final int GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; - public static final int GL_SUBSAMPLE_DISTANCE_AMD = 0x883F; - public static final int GL_SUB_ATI = 0x8965; - public static final int GL_SUCCESS_NV = 0x902F; - public static final int GL_SUPERSAMPLE_SCALE_X_NV = 0x9372; - public static final int GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373; - public static final int GL_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7; - public static final int GL_SURFACE_MAPPED_NV = 0x8700; - public static final int GL_SURFACE_REGISTERED_NV = 0x86FD; - public static final int GL_SURFACE_STATE_NV = 0x86EB; - public static final int GL_SWIZZLE_STQ_ATI = 0x8977; - public static final int GL_SWIZZLE_STQ_DQ_ATI = 0x8979; - public static final int GL_SWIZZLE_STRQ_ATI = 0x897A; - public static final int GL_SWIZZLE_STRQ_DQ_ATI = 0x897B; - public static final int GL_SWIZZLE_STR_ATI = 0x8976; - public static final int GL_SWIZZLE_STR_DR_ATI = 0x8978; - public static final int GL_SYNC_X11_FENCE_EXT = 0x90E1; - public static final int GL_SYSTEM_FONT_NAME_NV = 0x9073; - public static final int GL_T2F_IUI_N3F_V2F_EXT = 0x81B3; - public static final int GL_T2F_IUI_N3F_V3F_EXT = 0x81B4; - public static final int GL_T2F_IUI_V2F_EXT = 0x81B1; - public static final int GL_T2F_IUI_V3F_EXT = 0x81B2; - public static final int GL_TABLE_TOO_LARGE_EXT = 0x8031; - public static final int GL_TANGENT_ARRAY_EXT = 0x8439; - public static final int GL_TANGENT_ARRAY_POINTER_EXT = 0x8442; - public static final int GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F; - public static final int GL_TANGENT_ARRAY_TYPE_EXT = 0x843E; - public static final int GL_TASK_SHADER_BIT_NV = 0x00000080; - public static final int GL_TASK_SHADER_NV = 0x955A; - public static final int GL_TASK_SUBROUTINE_NV = 0x957D; - public static final int GL_TASK_SUBROUTINE_UNIFORM_NV = 0x957F; - public static final int GL_TASK_WORK_GROUP_SIZE_NV = 0x953F; - public static final int GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; - public static final int GL_TESSELLATION_FACTOR_AMD = 0x9005; - public static final int GL_TESSELLATION_MODE_AMD = 0x9004; - public static final int GL_TESS_CONTROL_PROGRAM_NV = 0x891E; - public static final int GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; - public static final int GL_TESS_EVALUATION_PROGRAM_NV = 0x891F; - public static final int GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; - public static final int GL_TEXCOORD1_BIT_PGI = 0x10000000; - public static final int GL_TEXCOORD2_BIT_PGI = 0x20000000; - public static final int GL_TEXCOORD3_BIT_PGI = 0x40000000; - public static final int GL_TEXCOORD4_BIT_PGI = 0x80000000; - public static final int GL_TEXTURE_1D_ARRAY_EXT = 0x8C18; - public static final int GL_TEXTURE_1D_BINDING_EXT = 0x8068; - public static final int GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; - public static final int GL_TEXTURE_1D_STACK_MESAX = 0x8759; - public static final int GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A; - public static final int GL_TEXTURE_2D_BINDING_EXT = 0x8069; - public static final int GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; - public static final int GL_TEXTURE_2D_STACK_MESAX = 0x875A; - public static final int GL_TEXTURE_3D_BINDING_EXT = 0x806A; - public static final int GL_TEXTURE_3D_EXT = 0x806F; - public static final int GL_TEXTURE_4DSIZE_SGIS = 0x8136; - public static final int GL_TEXTURE_4D_BINDING_SGIS = 0x814F; - public static final int GL_TEXTURE_4D_SGIS = 0x8134; - public static final int GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F; - public static final int GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F; - public static final int GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C; - public static final int GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; - public static final int GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; - public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; - public static final int GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; - public static final int GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; - public static final int GL_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; - public static final int GL_TEXTURE_BLUE_SIZE_EXT = 0x805E; - public static final int GL_TEXTURE_BORDER_VALUES_NV = 0x871A; - public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; - public static final int GL_TEXTURE_BUFFER_EXT = 0x8C2A; - public static final int GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; - public static final int GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; - public static final int GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; - public static final int GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; - public static final int GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; - public static final int GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; - public static final int GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; - public static final int GL_TEXTURE_COLOR_SAMPLES_NV = 0x9046; - public static final int GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC; - public static final int GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; - public static final int GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; - public static final int GL_TEXTURE_COMPARE_SGIX = 0x819A; - public static final int GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; - public static final int GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; - public static final int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; - public static final int GL_TEXTURE_COORD_ARRAY_EXT = 0x8078; - public static final int GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; - public static final int GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074; - public static final int GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; - public static final int GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; - public static final int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; - public static final int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; - public static final int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; - public static final int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; - public static final int GL_TEXTURE_COORD_NV = 0x8C79; - public static final int GL_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; - public static final int GL_TEXTURE_CUBE_MAP_EXT = 0x8513; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; - public static final int GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; - public static final int GL_TEXTURE_DEFORMATION_SGIX = 0x8195; - public static final int GL_TEXTURE_DEPTH_EXT = 0x8071; - public static final int GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A; - public static final int GL_TEXTURE_DS_SIZE_NV = 0x871D; - public static final int GL_TEXTURE_DT_SIZE_NV = 0x871E; - public static final int GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE; - public static final int GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; - public static final int GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147; - public static final int GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500; - public static final int GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; - public static final int GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC; - public static final int GL_TEXTURE_GEQUAL_R_SGIX = 0x819D; - public static final int GL_TEXTURE_GREEN_SIZE_EXT = 0x805D; - public static final int GL_TEXTURE_HI_SIZE_NV = 0x871B; - public static final int GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; - public static final int GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED; - public static final int GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061; - public static final int GL_TEXTURE_LEQUAL_R_SGIX = 0x819C; - public static final int GL_TEXTURE_LIGHTING_MODE_HP = 0x8167; - public static final int GL_TEXTURE_LIGHT_EXT = 0x8350; - public static final int GL_TEXTURE_LOD_BIAS_EXT = 0x8501; - public static final int GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190; - public static final int GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E; - public static final int GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F; - public static final int GL_TEXTURE_LO_SIZE_NV = 0x871C; - public static final int GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; - public static final int GL_TEXTURE_MAG_SIZE_NV = 0x871F; - public static final int GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351; - public static final int GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; - public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; - public static final int GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; - public static final int GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; - public static final int GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; - public static final int GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D; - public static final int GL_TEXTURE_MAX_LOD_SGIS = 0x813B; - public static final int GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; - public static final int GL_TEXTURE_MIN_LOD_SGIS = 0x813A; - public static final int GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; - public static final int GL_TEXTURE_NORMAL_EXT = 0x85AF; - public static final int GL_TEXTURE_POST_SPECULAR_HP = 0x8168; - public static final int GL_TEXTURE_PRE_SPECULAR_HP = 0x8169; - public static final int GL_TEXTURE_PRIORITY_EXT = 0x8066; - public static final int GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; - public static final int GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8; - public static final int GL_TEXTURE_RECTANGLE_NV = 0x84F5; - public static final int GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366; - public static final int GL_TEXTURE_RED_SIZE_EXT = 0x805C; - public static final int GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; - public static final int GL_TEXTURE_RENDERBUFFER_NV = 0x8E55; - public static final int GL_TEXTURE_RESIDENT_EXT = 0x8067; - public static final int GL_TEXTURE_SHADER_NV = 0x86DE; - public static final int GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F; - public static final int GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48; - public static final int GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1; - public static final int GL_TEXTURE_STORAGE_HINT_APPLE = 0x85BC; - public static final int GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; - public static final int GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45; - public static final int GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44; - public static final int GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43; - public static final int GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; - public static final int GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42; - public static final int GL_TEXTURE_TILING_EXT = 0x9580; - public static final int GL_TEXTURE_TOO_LARGE_EXT = 0x8065; - public static final int GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; - public static final int GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; - public static final int GL_TEXTURE_WRAP_Q_SGIS = 0x8137; - public static final int GL_TEXTURE_WRAP_R_EXT = 0x8072; - public static final int GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200; - public static final int GL_TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; - public static final int GL_TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; - public static final int GL_TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA; - public static final int GL_TILING_TYPES_EXT = 0x9583; - public static final int GL_TIMELINE_SEMAPHORE_VALUE_NV = 0x9595; - public static final int GL_TIME_ELAPSED_EXT = 0x88BF; - public static final int GL_TRACK_MATRIX_NV = 0x8648; - public static final int GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; - public static final int GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; - public static final int GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; - public static final int GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; - public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; - public static final int GL_TRANSFORM_FEEDBACK_NV = 0x8E22; - public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; - public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; - public static final int GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; - public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; - public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; - public static final int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; - public static final int GL_TRANSFORM_HINT_APPLE = 0x85B1; - public static final int GL_TRANSLATE_2D_NV = 0x9090; - public static final int GL_TRANSLATE_3D_NV = 0x9091; - public static final int GL_TRANSLATE_X_NV = 0x908E; - public static final int GL_TRANSLATE_Y_NV = 0x908F; - public static final int GL_TRANSPOSE_AFFINE_2D_NV = 0x9096; - public static final int GL_TRANSPOSE_AFFINE_3D_NV = 0x9098; - public static final int GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; - public static final int GL_TRANSPOSE_NV = 0x862C; - public static final int GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; - public static final int GL_TRIANGLES_ADJACENCY_EXT = 0x000C; - public static final int GL_TRIANGLE_LIST_SUN = 0x81D7; - public static final int GL_TRIANGLE_MESH_SUN = 0x8615; - public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; - public static final int GL_TRIANGULAR_NV = 0x90A5; - public static final int GL_UNCORRELATED_NV = 0x9282; - public static final int GL_UNDEFINED_APPLE = 0x8A1C; - public static final int GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000A; - public static final int GL_UNIFORM_BARRIER_BIT_EXT = 0x00000004; - public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C; - public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D; - public static final int GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F; - public static final int GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; - public static final int GL_UNIFORM_BUFFER_EXT = 0x8DEE; - public static final int GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370; - public static final int GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E; - public static final int GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; - public static final int GL_UNPACK_CMYK_HINT_EXT = 0x800F; - public static final int GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5; - public static final int GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133; - public static final int GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E; - public static final int GL_UNPACK_RESAMPLE_OML = 0x8985; - public static final int GL_UNPACK_RESAMPLE_SGIX = 0x842F; - public static final int GL_UNPACK_ROW_BYTES_APPLE = 0x8A16; - public static final int GL_UNPACK_SKIP_IMAGES_EXT = 0x806D; - public static final int GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132; - public static final int GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; - public static final int GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032; - public static final int GL_UNSIGNED_IDENTITY_NV = 0x8536; - public static final int GL_UNSIGNED_INT16_NV = 0x8FF0; - public static final int GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1; - public static final int GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2; - public static final int GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3; - public static final int GL_UNSIGNED_INT64_AMD = 0x8BC2; - public static final int GL_UNSIGNED_INT64_NV = 0x140F; - public static final int GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5; - public static final int GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6; - public static final int GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7; - public static final int GL_UNSIGNED_INT8_NV = 0x8FEC; - public static final int GL_UNSIGNED_INT8_VEC2_NV = 0x8FED; - public static final int GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE; - public static final int GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF; - public static final int GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; - public static final int GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036; - public static final int GL_UNSIGNED_INT_24_8_EXT = 0x84FA; - public static final int GL_UNSIGNED_INT_24_8_NV = 0x84FA; - public static final int GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; - public static final int GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035; - public static final int GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; - public static final int GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; - public static final int GL_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; - public static final int GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; - public static final int GL_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; - public static final int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; - public static final int GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; - public static final int GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; - public static final int GL_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; - public static final int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; - public static final int GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; - public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; - public static final int GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; - public static final int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; - public static final int GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; - public static final int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; - public static final int GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; - public static final int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; - public static final int GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; - public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; - public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; - public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; - public static final int GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; - public static final int GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6; - public static final int GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7; - public static final int GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8; - public static final int GL_UNSIGNED_INVERT_NV = 0x8537; - public static final int GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; - public static final int GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; - public static final int GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA; - public static final int GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA; - public static final int GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; - public static final int GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; - public static final int GL_UPLOAD_GPU_MASK_NVX = 0x954A; - public static final int GL_USE_MISSING_GLYPH_NV = 0x90AA; - public static final int GL_UTF16_NV = 0x909B; - public static final int GL_UTF8_NV = 0x909A; - public static final int GL_UUID_SIZE_EXT = 16; - public static final int GL_VARIABLE_A_NV = 0x8523; - public static final int GL_VARIABLE_B_NV = 0x8524; - public static final int GL_VARIABLE_C_NV = 0x8525; - public static final int GL_VARIABLE_D_NV = 0x8526; - public static final int GL_VARIABLE_E_NV = 0x8527; - public static final int GL_VARIABLE_F_NV = 0x8528; - public static final int GL_VARIABLE_G_NV = 0x8529; - public static final int GL_VARIANT_ARRAY_EXT = 0x87E8; - public static final int GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9; - public static final int GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6; - public static final int GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7; - public static final int GL_VARIANT_DATATYPE_EXT = 0x87E5; - public static final int GL_VARIANT_EXT = 0x87C1; - public static final int GL_VARIANT_VALUE_EXT = 0x87E4; - public static final int GL_VBO_FREE_MEMORY_ATI = 0x87FB; - public static final int GL_VECTOR_EXT = 0x87BF; - public static final int GL_VERTEX23_BIT_PGI = 0x00000004; - public static final int GL_VERTEX4_BIT_PGI = 0x00000008; - public static final int GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21; - public static final int GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5; - public static final int GL_VERTEX_ARRAY_COUNT_EXT = 0x807D; - public static final int GL_VERTEX_ARRAY_EXT = 0x8074; - public static final int GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B; - public static final int GL_VERTEX_ARRAY_LIST_IBM = 103070; - public static final int GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; - public static final int GL_VERTEX_ARRAY_OBJECT_AMD = 0x9154; - public static final int GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154; - public static final int GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; - public static final int GL_VERTEX_ARRAY_POINTER_EXT = 0x808E; - public static final int GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D; - public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; - public static final int GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; - public static final int GL_VERTEX_ARRAY_RANGE_NV = 0x851D; - public static final int GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; - public static final int GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; - public static final int GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; - public static final int GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; - public static final int GL_VERTEX_ARRAY_SIZE_EXT = 0x807A; - public static final int GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; - public static final int GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C; - public static final int GL_VERTEX_ARRAY_TYPE_EXT = 0x807B; - public static final int GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; - public static final int GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; - public static final int GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; - public static final int GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; - public static final int GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; - public static final int GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; - public static final int GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; - public static final int GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; - public static final int GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; - public static final int GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; - public static final int GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; - public static final int GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; - public static final int GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; - public static final int GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; - public static final int GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; - public static final int GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; - public static final int GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; - public static final int GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; - public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; - public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; - public static final int GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; - public static final int GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; - public static final int GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; - public static final int GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; - public static final int GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; - public static final int GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; - public static final int GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; - public static final int GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; - public static final int GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; - public static final int GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; - public static final int GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; - public static final int GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; - public static final int GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; - public static final int GL_VERTEX_DATA_HINT_PGI = 0x1A22A; - public static final int GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; - public static final int GL_VERTEX_ID_NV = 0x8C7B; - public static final int GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5; - public static final int GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF; - public static final int GL_VERTEX_PRECLIP_SGIX = 0x83EE; - public static final int GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; - public static final int GL_VERTEX_PROGRAM_NV = 0x8620; - public static final int GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; - public static final int GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; - public static final int GL_VERTEX_SHADER_BINDING_EXT = 0x8781; - public static final int GL_VERTEX_SHADER_EXT = 0x8780; - public static final int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; - public static final int GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; - public static final int GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3; - public static final int GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; - public static final int GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; - public static final int GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0; - public static final int GL_VERTEX_SOURCE_ATI = 0x8774; - public static final int GL_VERTEX_STATE_PROGRAM_NV = 0x8621; - public static final int GL_VERTEX_STREAM0_ATI = 0x876C; - public static final int GL_VERTEX_STREAM1_ATI = 0x876D; - public static final int GL_VERTEX_STREAM2_ATI = 0x876E; - public static final int GL_VERTEX_STREAM3_ATI = 0x876F; - public static final int GL_VERTEX_STREAM4_ATI = 0x8770; - public static final int GL_VERTEX_STREAM5_ATI = 0x8771; - public static final int GL_VERTEX_STREAM6_ATI = 0x8772; - public static final int GL_VERTEX_STREAM7_ATI = 0x8773; - public static final int GL_VERTEX_WEIGHTING_EXT = 0x8509; - public static final int GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C; - public static final int GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; - public static final int GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; - public static final int GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; - public static final int GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; - public static final int GL_VERTICAL_LINE_TO_NV = 0x08; - public static final int GL_VIBRANCE_BIAS_NV = 0x8719; - public static final int GL_VIBRANCE_SCALE_NV = 0x8713; - public static final int GL_VIDEO_BUFFER_BINDING_NV = 0x9021; - public static final int GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; - public static final int GL_VIDEO_BUFFER_NV = 0x9020; - public static final int GL_VIDEO_BUFFER_PITCH_NV = 0x9028; - public static final int GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; - public static final int GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; - public static final int GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; - public static final int GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; - public static final int GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; - public static final int GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; - public static final int GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; - public static final int GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; - public static final int GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; - public static final int GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; - public static final int GL_VIEWPORT_COMMAND_NV = 0x0010; - public static final int GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937C; - public static final int GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; - public static final int GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; - public static final int GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; - public static final int GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; - public static final int GL_VIEWPORT_SWIZZLE_W_NV = 0x935B; - public static final int GL_VIEWPORT_SWIZZLE_X_NV = 0x9358; - public static final int GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359; - public static final int GL_VIEWPORT_SWIZZLE_Z_NV = 0x935A; - public static final int GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; - public static final int GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; - public static final int GL_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; - public static final int GL_VIVIDLIGHT_NV = 0x92A6; - public static final int GL_VOLATILE_APPLE = 0x8A1A; - public static final int GL_WARPS_PER_SM_NV = 0x933A; - public static final int GL_WARP_SIZE_NV = 0x9339; - public static final int GL_WEIGHTED_AVERAGE_EXT = 0x9367; - public static final int GL_WIDE_LINE_HINT_PGI = 0x1A222; - public static final int GL_WINDOW_RECTANGLE_EXT = 0x8F12; - public static final int GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13; - public static final int GL_WRAP_BORDER_SUN = 0x81D4; - public static final int GL_WRITE_DISCARD_NV = 0x88BE; - public static final int GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; - public static final int GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878; - public static final int GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; - public static final int GL_W_EXT = 0x87D8; - public static final int GL_XOR_NV = 0x1506; - public static final int GL_X_EXT = 0x87D5; - public static final int GL_YCBAYCR8A_4224_NV = 0x9032; - public static final int GL_YCBCR_422_APPLE = 0x85B9; - public static final int GL_YCBCR_MESA = 0x8757; - public static final int GL_YCBYCR8_422_NV = 0x9031; - public static final int GL_YCRCBA_SGIX = 0x8319; - public static final int GL_YCRCB_422_SGIX = 0x81BB; - public static final int GL_YCRCB_444_SGIX = 0x81BC; - public static final int GL_YCRCB_SGIX = 0x8318; - public static final int GL_Y_EXT = 0x87D6; - public static final int GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; - public static final int GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; - public static final int GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; - public static final int GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; - public static final int GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; - public static final int GL_ZERO_EXT = 0x87DD; - public static final int GL_Z_EXT = 0x87D7; -} From 6b0533faab439aaf9fafe628e95ea3fbef510080 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 29 Dec 2023 19:03:16 +0800 Subject: [PATCH 39/44] [Core] Renamed CStdlib to MemoryUtil; [GLFW] Updated to GLFW 3.3.9 --- build.gradle.kts | 3 +- doc/notes/0.x/0.1.0.md | 3 +- gradle.properties | 2 + modules/overrungl.core/build.gradle.kts | 5 + .../src/main/java/module-info.java | 2 +- .../java/overrungl/FunctionDescriptors.java | 6 +- .../src/main/java/overrungl/OverrunGL.java | 2 +- .../overrungl/internal/RuntimeHelper.java | 10 +- .../main/java/overrungl/os/Architecture.java | 63 ------ .../src/main/java/overrungl/os/Platform.java | 202 ------------------ .../main/java/overrungl/util/CheckUtil.java | 4 +- .../java/overrungl/util/DebugAllocator.java | 4 +- .../main/java/overrungl/util/MemoryStack.java | 8 +- .../util/{CStdlib.java => MemoryUtil.java} | 27 ++- .../java/overrungl/util/StackWalkUtil.java | 2 +- modules/overrungl.glfw/build.gradle.kts | 0 .../src/main/java/overrungl/glfw/GLFW.java | 60 ++++-- .../src/main/java/overrungl/joml/Matrixn.java | 22 +- .../src/main/java/overrungl/joml/Vectorn.java | 20 +- modules/overrungl.nfd/build.gradle.kts | 5 + .../src/main/java/module-info.java | 1 + .../src/main/java/overrungl/nfd/NFD.java | 4 +- modules/overrungl.stb/build.gradle.kts | 0 .../overrungl/demo/mem/MemoryUtilTest.java | 10 +- 24 files changed, 116 insertions(+), 349 deletions(-) delete mode 100644 modules/overrungl.core/src/main/java/overrungl/os/Architecture.java delete mode 100644 modules/overrungl.core/src/main/java/overrungl/os/Platform.java rename modules/overrungl.core/src/main/java/overrungl/util/{CStdlib.java => MemoryUtil.java} (95%) delete mode 100644 modules/overrungl.glfw/build.gradle.kts delete mode 100644 modules/overrungl.stb/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index f6afbbbe..f25c37f6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,6 +17,7 @@ val projName: String by project val projVersion: String by project val projVcs: String by project val projBranch: String by project +val projLicenseYear: String by project val orgName: String by project val orgUrl: String by project val developers: String by project @@ -269,7 +270,7 @@ allprojects { ) bottom = "Report a bug or suggest an enhancement
    " + - "Copyright © 2022-2023 Overrun Organization
    " + + "Copyright © 2022-$projLicenseYear Overrun Organization
    " + "$projVersion" } } diff --git a/doc/notes/0.x/0.1.0.md b/doc/notes/0.x/0.1.0.md index 628bc076..737df0db 100644 --- a/doc/notes/0.x/0.1.0.md +++ b/doc/notes/0.x/0.1.0.md @@ -4,8 +4,9 @@ _Not Released Yet_ This version includes the following features: -- GLFW 3.3.8 +- GLFW 3.3.9 - OpenGL 1.0 ~ 4.6 functions and constants +- OpenGL extension functions - OpenGL Loader - STB Image, perlin noise, easy font - C memory function diff --git a/gradle.properties b/gradle.properties index 480434e8..b4872f92 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,6 +7,7 @@ projName=overrungl projVersion=0.1.0-SNAPSHOT projVcs=Over-Run/overrungl projBranch=main +projLicenseYear=2023 # Organization orgName=Overrun Organization @@ -18,3 +19,4 @@ jdkEnablePreview=true kotlinTargetJdkVersion=21 projModules=core, glfw, nfd, joml, opengl, stb +overrunPlatformVersion=1.0.0 diff --git a/modules/overrungl.core/build.gradle.kts b/modules/overrungl.core/build.gradle.kts index e69de29b..0a130665 100644 --- a/modules/overrungl.core/build.gradle.kts +++ b/modules/overrungl.core/build.gradle.kts @@ -0,0 +1,5 @@ +val overrunPlatformVersion: String by rootProject + +dependencies { + implementation("io.github.over-run:platform:$overrunPlatformVersion") +} diff --git a/modules/overrungl.core/src/main/java/module-info.java b/modules/overrungl.core/src/main/java/module-info.java index 2b187b9c..67406362 100644 --- a/modules/overrungl.core/src/main/java/module-info.java +++ b/modules/overrungl.core/src/main/java/module-info.java @@ -22,7 +22,6 @@ */ module overrungl.core { exports overrungl; - exports overrungl.os; exports overrungl.util; exports overrungl.util.value; exports overrungl.internal @@ -31,5 +30,6 @@ overrungl.opengl, overrungl.stb; + requires io.github.overrun.platform; requires static org.jetbrains.annotations; } diff --git a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java index 7287b1be..8a8ba594 100644 --- a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java +++ b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java @@ -17,7 +17,7 @@ package overrungl; import overrungl.internal.Exceptions; -import overrungl.util.CStdlib; +import overrungl.util.MemoryUtil; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.ValueLayout; @@ -38,7 +38,7 @@ * case 'F' -> JAVA_FLOAT; * case 'D' -> JAVA_DOUBLE; * case 'P' -> ADDRESS; - * case 'p' -> CStdlib.ADDRESS_UNBOUNDED; + * case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; * default -> throw new IllegalArgumentException(); * }} * @@ -123,7 +123,7 @@ public static ValueLayout ofValue(char c) throws IllegalArgumentException { case 'F' -> JAVA_FLOAT; case 'D' -> JAVA_DOUBLE; case 'P' -> ADDRESS; - case 'p' -> CStdlib.ADDRESS_UNBOUNDED; + case 'p' -> MemoryUtil.ADDRESS_UNBOUNDED; default -> throw Exceptions.IAE. "Invalid argument c: expected one of B, S, I, J, C, Z, F, D, P or p; got '\{ c }'" ; }; diff --git a/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java b/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java index dc117b58..f7a005e0 100644 --- a/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java +++ b/modules/overrungl.core/src/main/java/overrungl/OverrunGL.java @@ -33,7 +33,7 @@ public final class OverrunGL { /** * The version of GLFW native libraries. */ - public static final String GLFW_VERSION = "3.3.8.0"; + public static final String GLFW_VERSION = "3.3.9.0"; /** * The version of NFD native libraries. */ diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index eae0bdbd..4b3356aa 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -16,11 +16,11 @@ package overrungl.internal; +import io.github.overrun.platform.Architecture; +import io.github.overrun.platform.Platform; import org.jetbrains.annotations.Nullable; import overrungl.FunctionDescriptors; -import overrungl.os.Architecture; -import overrungl.os.Platform; -import overrungl.util.CStdlib; +import overrungl.util.MemoryUtil; import java.io.File; import java.lang.foreign.*; @@ -50,7 +50,7 @@ public final class RuntimeHelper { /** * An unbounded address layout. */ - public static final AddressLayout ADDRESS_UNBOUNDED = CStdlib.ADDRESS_UNBOUNDED; + public static final AddressLayout ADDRESS_UNBOUNDED = MemoryUtil.ADDRESS_UNBOUNDED; private static final StackWalker STACK_WALKER = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE); /** @@ -194,7 +194,7 @@ public static SymbolLookup load(String module, String basename, String version) * @param segment the segment. */ public static boolean isNullptr(@Nullable MemorySegment segment) { - return CStdlib.isNullptr(segment); + return MemoryUtil.isNullptr(segment); } /** diff --git a/modules/overrungl.core/src/main/java/overrungl/os/Architecture.java b/modules/overrungl.core/src/main/java/overrungl/os/Architecture.java deleted file mode 100644 index a29af38a..00000000 --- a/modules/overrungl.core/src/main/java/overrungl/os/Architecture.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.os; - -import overrungl.internal.Exceptions; - -import java.util.Locale; - -/** - * The architecture of the {@link Platform}. - * - * @author squid233 - * @since 0.1.0 - */ -public enum Architecture { - X64, - ARM64, - ARM32; - - private final String toStringValue = name().toLowerCase(Locale.ROOT); - - /** - * {@return the current architecture of the current {@linkplain Platform platform}} - */ - public static Architecture current() { - class Holder { - private static final Architecture CURRENT; - - static { - final Platform platform = Platform.current(); - final String arch = System.getProperty("os.arch").toLowerCase(Locale.ROOT); - CURRENT = switch (platform) { - case Platform.Linux _ -> arch.startsWith("arm") || arch.startsWith("aarch64") ? - (arch.contains("64") || arch.startsWith("armv8") ? ARM64 : ARM32) : - X64; - case Platform.MacOSX _ -> arch.startsWith("aarch64") ? ARM64 : X64; - case Platform.Windows _ when arch.contains("64") -> arch.startsWith("aarch64") ? ARM64 : X64; - default -> throw Exceptions.ISE. "Unrecognized or unsupported architecture: \{ arch }" ; - }; - } - } - return Holder.CURRENT; - } - - @Override - public String toString() { - return toStringValue; - } -} diff --git a/modules/overrungl.core/src/main/java/overrungl/os/Platform.java b/modules/overrungl.core/src/main/java/overrungl/os/Platform.java deleted file mode 100644 index 72183c55..00000000 --- a/modules/overrungl.core/src/main/java/overrungl/os/Platform.java +++ /dev/null @@ -1,202 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2023 Overrun Organization - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - */ - -package overrungl.os; - -import overrungl.internal.Exceptions; - -/** - * The native platform, identifying the operating system and the architecture. - * - * @author squid233 - * @since 0.1.0 - */ -public sealed interface Platform { - /** - * {@return the current native platform} - */ - static Platform current() { - class Holder { - private static final Platform CURRENT; - - static { - final String os = System.getProperty("os.name"); - if (os.startsWith("Linux") || os.startsWith("FreeBSD") || os.startsWith("SunOS") || os.startsWith("Unit")) - CURRENT = Linux.INSTANCE; - else if (os.startsWith("Mac OS X") || os.startsWith("Darwin")) - CURRENT = MacOSX.INSTANCE; - else if (os.startsWith("Windows")) - CURRENT = Windows.INSTANCE; - else throw Exceptions.ISE. "Unrecognized or unsupported platform: \{ os }" ; - } - } - return Holder.CURRENT; - } - - /** - * {@return the family name of this platform} - */ - String familyName(); - - /** - * {@return the suffix of shared library on this platform, including dot} - */ - String sharedLibrarySuffix(); - - /** - * Converts the given library name for this platform. - * - * @param libraryName the original library name. - * @return the processed library name. - */ - String sharedLibraryName(String libraryName); - - /** - * Linux - * - * @author squid233 - * @since 0.1.0 - */ - final class Linux implements Platform { - private static final Linux INSTANCE = new Linux(); - - @Override - public String familyName() { - return "linux"; - } - - @Override - public String sharedLibrarySuffix() { - return ".so"; - } - - @Override - public String sharedLibraryName(String libraryName) { - return Platform.unixSharedLibraryName(libraryName, sharedLibrarySuffix()); - } - - @Override - public String toString() { - return familyName(); - } - } - - /** - * Mac OS X - * - * @author squid233 - * @since 0.1.0 - */ - final class MacOSX implements Platform { - private static final MacOSX INSTANCE = new MacOSX(); - - @Override - public String familyName() { - return "macos"; - } - - @Override - public String sharedLibrarySuffix() { - return ".dylib"; - } - - @Override - public String sharedLibraryName(String libraryName) { - return Platform.unixSharedLibraryName(libraryName, sharedLibrarySuffix()); - } - - @Override - public String toString() { - return familyName(); - } - } - - /** - * Windows - * - * @author squid233 - * @since 0.1.0 - */ - final class Windows implements Platform { - private static final Windows INSTANCE = new Windows(); - - @Override - public String familyName() { - return "windows"; - } - - @Override - public String sharedLibrarySuffix() { - return ".dll"; - } - - @Override - public String sharedLibraryName(String libraryName) { - return Platform.withExtension(libraryName, sharedLibrarySuffix()); - } - - @Override - public String toString() { - return familyName(); - } - } - - private static String unixSharedLibraryName(String libraryName, String suffix) { - if (libraryName.endsWith(suffix)) { - return libraryName; - } - int pos = libraryName.lastIndexOf('/'); - if (pos >= 0) { - return STR. "\{ libraryName.substring(0, pos + 1) }lib\{ libraryName.substring(pos + 1) }\{ suffix }" ; - } - return STR. "lib\{ libraryName }\{ suffix }" ; - } - - /** - * Returns a representation of the file path with an alternate extension. If the file path has no extension, - * then the provided extension is simply concatenated. If the file path has an extension, the extension is - * stripped and replaced with the provided extension. - *

    - * e.g. with a provided extension of ".bar" - * foo -> foo.bar - * foo.baz -> foo.bar - * - * @param filePath the file path to transform - * @param extension the extension to use in the transformed path - * @return the transformed path - */ - private static String withExtension(String filePath, String extension) { - if (filePath.toLowerCase().endsWith(extension)) { - return filePath; - } - return removeExtension(filePath) + extension; - } - - /** - * Removes the extension (if any) from the file path. If the file path has no extension, then it returns the same string. - * - * @return the file path without an extension - */ - private static String removeExtension(String filePath) { - int fileNameStart = Math.max(filePath.lastIndexOf('/'), filePath.lastIndexOf('\\')); - int extensionPos = filePath.lastIndexOf('.'); - - if (extensionPos > fileNameStart) { - return filePath.substring(0, extensionPos); - } - return filePath; - } -} diff --git a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java index 7b694e62..41743db4 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/CheckUtil.java @@ -92,7 +92,7 @@ public static void checkNotNullptr(MemorySegment segment) throws IllegalStateExc * @see #checkNotNullptr(MemorySegment, String) */ public static void checkNotNullptr(MemorySegment segment, Supplier messageSupplier) throws IllegalStateException { - if (CStdlib.isNullptr(segment)) throw new IllegalStateException(messageSupplier.get()); + if (MemoryUtil.isNullptr(segment)) throw new IllegalStateException(messageSupplier.get()); } /** @@ -105,6 +105,6 @@ public static void checkNotNullptr(MemorySegment segment, Supplier messa * @see #checkNotNullptr(MemorySegment, Supplier) */ public static void checkNotNullptr(MemorySegment segment, String message) throws IllegalStateException { - if (CStdlib.isNullptr(segment)) throw new IllegalStateException(message); + if (MemoryUtil.isNullptr(segment)) throw new IllegalStateException(message); } } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java index 7b0e05d8..28d6309d 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java @@ -74,7 +74,7 @@ private DebugAllocator() { } static long track(long address, long size) { - if (CStdlib.isNullptr(address)) { + if (MemoryUtil.isNullptr(address)) { Thread t = Thread.currentThread(); THREADS.putIfAbsent(t.threadId(), t.getName()); @@ -122,7 +122,7 @@ private static void trackAbortPrint(Allocation allocation, String name, String a } static long untrack(long address) { - if (CStdlib.isNullptr(address)) { + if (MemoryUtil.isNullptr(address)) { return 0L; } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java b/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java index a6f25b7c..7c7c664d 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/MemoryStack.java @@ -312,7 +312,7 @@ private void checkPointer(long pointer) { */ public MemorySegment malloc(long alignment, long size) { if (DEBUG) { - CStdlib.checkAlignment(alignment); + MemoryUtil.checkAlignment(alignment); } // Align address to the specified alignment @@ -338,7 +338,7 @@ public MemorySegment malloc(long alignment, long size) { */ public MemorySegment ncalloc(long alignment, long num, long size) { if (DEBUG) { - CStdlib.checkAlignment(alignment); + MemoryUtil.checkAlignment(alignment); } long bytes = num * size; @@ -559,8 +559,8 @@ public MemorySegment callocPointer() { @Override public MemorySegment allocate(long byteSize, long byteAlignment) throws IllegalArgumentException { - CStdlib.checkByteSize(byteSize); - CStdlib.checkAlignment(byteAlignment); + MemoryUtil.checkByteSize(byteSize); + MemoryUtil.checkAlignment(byteAlignment); return calloc(byteAlignment, byteSize); } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java b/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java similarity index 95% rename from modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java rename to modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java index 621ca7ef..f6956525 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/CStdlib.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java @@ -28,12 +28,12 @@ import static overrungl.FunctionDescriptors.*; /** - * The standard-C library functions. + * The standard-C memory allocator. * * @author squid233 * @since 0.1.0 */ -public final class CStdlib { +public final class MemoryUtil { /** * An unbounded address layout. */ @@ -57,7 +57,7 @@ private static MethodHandle downcall(String name, FunctionDescriptors function) return RuntimeHelper.downcallThrow(LOOKUP.find(name), function); } - private CStdlib() { + private MemoryUtil() { throw new IllegalStateException("Do not construct instance"); } @@ -328,19 +328,16 @@ public static MemorySegment memset(MemorySegment dest, int c, long count) { } /** - * Allocates a string with {@link CStdlib}. + * Creates a segment allocator with the given arena. * - * @param s the string. - * @return the memory segment of the allocated string. MUST be released by {@link #free(MemorySegment)}. + * @param arena the arena to be associated + * @return the segment allocator */ - public static MemorySegment newString(String s) { - class Holder { - private static final SegmentAllocator ALLOCATOR = (byteSize, byteAlignment) -> { - checkByteSize(byteSize); - checkAlignment(byteAlignment); - return calloc(1, byteSize); - }; - } - return Holder.ALLOCATOR.allocateUtf8String(s); + public static SegmentAllocator allocator(Arena arena) { + return (byteSize, byteAlignment) -> { + checkByteSize(byteSize); + checkAlignment(byteAlignment); + return calloc(1, byteSize).reinterpret(arena, MemoryUtil::free); + }; } } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java index 667a7d98..9f3407ce 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/StackWalkUtil.java @@ -109,7 +109,7 @@ static Object[] stackWalkGetTrace() { .skip(2) .dropWhile(f -> { String name = f.getClassName(); - return name.equals(CStdlib.class.getName()) || name.equals(DebugAllocator.class.getName()); + return name.equals(MemoryUtil.class.getName()) || name.equals(DebugAllocator.class.getName()); }) .toArray(StackWalker.StackFrame[]::new) ); diff --git a/modules/overrungl.glfw/build.gradle.kts b/modules/overrungl.glfw/build.gradle.kts deleted file mode 100644 index e69de29b..00000000 diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java index d33247d6..795b7007 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java @@ -26,7 +26,6 @@ import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.invoke.VarHandle; import static java.lang.foreign.ValueLayout.*; import static overrungl.glfw.Handles.*; @@ -55,7 +54,7 @@ public final class GLFW { *

    * This is incremented when a bug fix release is made that does not contain any API changes. */ - public static final int VERSION_REVISION = 8; + public static final int VERSION_REVISION = 9; /** * One. @@ -794,6 +793,9 @@ public final class GLFW { public static final int EGL_CONTEXT_API = 0x00036002; public static final int OSMESA_CONTEXT_API = 0x00036003; + public static final int WAYLAND_PREFER_LIBDECOR = 0x00038001; + public static final int WAYLAND_DISABLE_LIBDECOR = 0x00038002; + /** * The regular arrow cursor. */ @@ -839,6 +841,14 @@ public final class GLFW { */ public static final int COCOA_CHDIR_RESOURCES = 0x00051001, COCOA_MENUBAR = 0x00051002; + /** + * Wayland specific init hint. + *

    + * {@link #WAYLAND_LIBDECOR} specifies whether to use libdecor for window decorations where available. + * Possible values are {@link #WAYLAND_PREFER_LIBDECOR} and {@link #WAYLAND_DISABLE_LIBDECOR}. + * This is ignored on other platforms. + */ + public static final int WAYLAND_LIBDECOR = 0x00053001; /** * Don't care value. @@ -4098,8 +4108,8 @@ public static boolean rawMouseMotionSupported() { * @param key The key to query, or {@link #KEY_UNKNOWN}. * @param scancode The scancode of the key to query. * @return The UTF-8 encoded, layout-specific name of the key, or {@link MemorySegment#NULL NULL}. - * @glfw.errors Possible errors include {@link #NOT_INITIALIZED} and - * {@link #PLATFORM_ERROR}. + * @glfw.errors Possible errors include {@link #NOT_INITIALIZED}, {@link #INVALID_VALUE}, + * {@link #INVALID_ENUM} and {@link #PLATFORM_ERROR}. * @glfw.remark The contents of the returned string may change when a keyboard * layout change event is received. * @glfw.pointer_lifetime The returned string is allocated and freed by GLFW. You @@ -4133,14 +4143,16 @@ public static String getKeyName(int key, int scancode) { *

    * This function returns the platform-specific scancode of the specified key. *

    - * If the key is {@code KEY_UNKNOWN} or does not exist on the keyboard this - * method will return {@code -1}. + * If the specified key token corresponds to a physical key not + * supported on the current platform then this method will return {@code -1}. + * Calling this function with anything other than a key token will return {@code -1} + * and generate a {@link #INVALID_ENUM} error. * - * @param key Any named key. - * @return The platform-specific scancode for the key, or {@code -1} if an - * error occurred. - * @glfw.errors Possible errors include {@link #NOT_INITIALIZED}, - * {@link #INVALID_ENUM} and {@link #PLATFORM_ERROR}. + * @param key Any key token. + * @return The platform-specific scancode for the key, or {@code -1} if the key is + * not supported on the current platform + * or an error occurred. + * @glfw.errors Possible errors include {@link #NOT_INITIALIZED} and {@link #INVALID_ENUM}. * @glfw.thread_safety This function may be called from any thread. */ public static int getKeyScancode(int key) { @@ -4478,9 +4490,9 @@ public static void setCursor(MemorySegment window, MemorySegment cursor) { * use the {@link #nsetCharCallback(MemorySegment, MemorySegment) character callback} instead. *

    * When a window loses input focus, it will generate synthetic key release - * events for all pressed keys. You can tell these events from user-generated - * events by the fact that the synthetic ones are generated after the focus - * loss event has been processed, i.e. after the + * events for all pressed keys with associated key tokens. You can tell these + * events from user-generated events by the fact that the synthetic ones are + * generated after the focus loss event has been processed, i.e. after the * {@link #nsetWindowFocusCallback(MemorySegment, MemorySegment) window focus callback} * has been called. *

    @@ -5556,12 +5568,16 @@ public static long getTimerFrequency() { * thread. *

    * This function makes the OpenGL or OpenGL ES context of the specified window - * current on the calling thread. A context must only be made current on - * a single thread at a time and each thread can have only a single current - * context at a time. + * current on the calling thread. + * It can also detach the current context from + * the calling thread without making a new one current by passing in {@code NULL}. *

    - * When moving a context between threads, you must make it non-current on the - * old thread before making it current on the new one. + * A context must only be made current on a single thread at a time and each + * thread can have only a single current context at a time. Making a context + * current detaches any previously current context on the calling thread. + *

    + * When moving a context between threads, you must detach it (make it + * non-current) on the old thread before making it current on the new one. *

    * By default, making a context non-current implicitly forces a pipeline flush. * On machines that support {@code GL_KHR_context_flush_control}, you can control @@ -5569,12 +5585,16 @@ public static long getTimerFrequency() { * {@link #CONTEXT_RELEASE_BEHAVIOR} * hint. *

    - * The specified window must have an OpenGL or OpenGL ES context. Specifying + * The specified window must have an OpenGL or OpenGL ES context. + * Specifying * a window without a context will generate a {@link #NO_WINDOW_CONTEXT} * error. * * @param window The window whose context to make current, or {@link MemorySegment#NULL NULL} to * detach the current context. + * @glfw.remark If the previously current context was created via a different + * context creation API than the one passed to this function, GLFW will still + * detach the previous one from its API before making the new one current. * @glfw.errors Possible errors include {@link #NOT_INITIALIZED}, * {@link #NO_WINDOW_CONTEXT} and {@link #PLATFORM_ERROR}. * @glfw.thread_safety This function may be called from any thread. diff --git a/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java b/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java index 34d4bb71..e3223f02 100644 --- a/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java +++ b/modules/overrungl.joml/src/main/java/overrungl/joml/Matrixn.java @@ -18,7 +18,7 @@ import org.joml.*; import overrungl.util.MemoryStack; -import overrungl.util.CStdlib; +import overrungl.util.MemoryUtil; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; @@ -197,7 +197,7 @@ public static MemorySegment allocate(SegmentAllocator allocator, Matrix4dc mat) * @return the memory address */ public static MemorySegment malloc(Matrix2fc mat) { - return put(mat, CStdlib.malloc(MAT2F)); + return put(mat, MemoryUtil.malloc(MAT2F)); } /** @@ -207,7 +207,7 @@ public static MemorySegment malloc(Matrix2fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix2dc mat) { - return put(mat, CStdlib.malloc(MAT2D)); + return put(mat, MemoryUtil.malloc(MAT2D)); } /** @@ -217,7 +217,7 @@ public static MemorySegment malloc(Matrix2dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3x2fc mat) { - return put(mat, CStdlib.malloc(MAT3X2F)); + return put(mat, MemoryUtil.malloc(MAT3X2F)); } /** @@ -227,7 +227,7 @@ public static MemorySegment malloc(Matrix3x2fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3x2dc mat) { - return put(mat, CStdlib.malloc(MAT3X2D)); + return put(mat, MemoryUtil.malloc(MAT3X2D)); } /** @@ -237,7 +237,7 @@ public static MemorySegment malloc(Matrix3x2dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3fc mat) { - return put(mat, CStdlib.malloc(MAT3F)); + return put(mat, MemoryUtil.malloc(MAT3F)); } /** @@ -247,7 +247,7 @@ public static MemorySegment malloc(Matrix3fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix3dc mat) { - return put(mat, CStdlib.malloc(MAT3D)); + return put(mat, MemoryUtil.malloc(MAT3D)); } /** @@ -257,7 +257,7 @@ public static MemorySegment malloc(Matrix3dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4x3fc mat) { - return put(mat, CStdlib.malloc(MAT4X3F)); + return put(mat, MemoryUtil.malloc(MAT4X3F)); } /** @@ -267,7 +267,7 @@ public static MemorySegment malloc(Matrix4x3fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4x3dc mat) { - return put(mat, CStdlib.malloc(MAT4X3D)); + return put(mat, MemoryUtil.malloc(MAT4X3D)); } /** @@ -277,7 +277,7 @@ public static MemorySegment malloc(Matrix4x3dc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4fc mat) { - return put(mat, CStdlib.malloc(MAT4F)); + return put(mat, MemoryUtil.malloc(MAT4F)); } /** @@ -287,7 +287,7 @@ public static MemorySegment malloc(Matrix4fc mat) { * @return the memory address */ public static MemorySegment malloc(Matrix4dc mat) { - return put(mat, CStdlib.malloc(MAT4D)); + return put(mat, MemoryUtil.malloc(MAT4D)); } /** diff --git a/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java b/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java index 53f597fe..d0406bfc 100644 --- a/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java +++ b/modules/overrungl.joml/src/main/java/overrungl/joml/Vectorn.java @@ -18,7 +18,7 @@ import org.joml.*; import overrungl.util.MemoryStack; -import overrungl.util.CStdlib; +import overrungl.util.MemoryUtil; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; @@ -181,7 +181,7 @@ public static MemorySegment allocate(SegmentAllocator allocator, Vector4dc vec) * @return the memory address */ public static MemorySegment malloc(Vector2ic vec) { - return put(vec, CStdlib.malloc(VEC2I)); + return put(vec, MemoryUtil.malloc(VEC2I)); } /** @@ -191,7 +191,7 @@ public static MemorySegment malloc(Vector2ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector2fc vec) { - return put(vec, CStdlib.malloc(VEC2F)); + return put(vec, MemoryUtil.malloc(VEC2F)); } /** @@ -201,7 +201,7 @@ public static MemorySegment malloc(Vector2fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector2dc vec) { - return put(vec, CStdlib.malloc(VEC2D)); + return put(vec, MemoryUtil.malloc(VEC2D)); } /** @@ -211,7 +211,7 @@ public static MemorySegment malloc(Vector2dc vec) { * @return the memory address */ public static MemorySegment malloc(Vector3ic vec) { - return put(vec, CStdlib.malloc(VEC3I)); + return put(vec, MemoryUtil.malloc(VEC3I)); } /** @@ -221,7 +221,7 @@ public static MemorySegment malloc(Vector3ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector3fc vec) { - return put(vec, CStdlib.malloc(VEC3F)); + return put(vec, MemoryUtil.malloc(VEC3F)); } /** @@ -231,7 +231,7 @@ public static MemorySegment malloc(Vector3fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector3dc vec) { - return put(vec, CStdlib.malloc(VEC3D)); + return put(vec, MemoryUtil.malloc(VEC3D)); } /** @@ -241,7 +241,7 @@ public static MemorySegment malloc(Vector3dc vec) { * @return the memory address */ public static MemorySegment malloc(Vector4ic vec) { - return put(vec, CStdlib.malloc(VEC4I)); + return put(vec, MemoryUtil.malloc(VEC4I)); } /** @@ -251,7 +251,7 @@ public static MemorySegment malloc(Vector4ic vec) { * @return the memory address */ public static MemorySegment malloc(Vector4fc vec) { - return put(vec, CStdlib.malloc(VEC4F)); + return put(vec, MemoryUtil.malloc(VEC4F)); } /** @@ -261,7 +261,7 @@ public static MemorySegment malloc(Vector4fc vec) { * @return the memory address */ public static MemorySegment malloc(Vector4dc vec) { - return put(vec, CStdlib.malloc(VEC4D)); + return put(vec, MemoryUtil.malloc(VEC4D)); } /** diff --git a/modules/overrungl.nfd/build.gradle.kts b/modules/overrungl.nfd/build.gradle.kts index e69de29b..0a130665 100644 --- a/modules/overrungl.nfd/build.gradle.kts +++ b/modules/overrungl.nfd/build.gradle.kts @@ -0,0 +1,5 @@ +val overrunPlatformVersion: String by rootProject + +dependencies { + implementation("io.github.over-run:platform:$overrunPlatformVersion") +} diff --git a/modules/overrungl.nfd/src/main/java/module-info.java b/modules/overrungl.nfd/src/main/java/module-info.java index 26166dd6..15bfe095 100644 --- a/modules/overrungl.nfd/src/main/java/module-info.java +++ b/modules/overrungl.nfd/src/main/java/module-info.java @@ -24,5 +24,6 @@ exports overrungl.nfd; requires overrungl.core; + requires io.github.overrun.platform; requires static org.jetbrains.annotations; } diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index cc0d0182..0b111880 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -16,12 +16,12 @@ package overrungl.nfd; +import io.github.overrun.platform.Platform; import overrungl.Configurations; import overrungl.FunctionDescriptors; import overrungl.NativeType; import overrungl.OverrunGL; import overrungl.internal.RuntimeHelper; -import overrungl.os.Platform; import overrungl.util.MemoryStack; import overrungl.util.value.Tuple2; @@ -131,7 +131,7 @@ public final class NFD { private static final Platform os = Platform.current(); private static final boolean isOsWin = os instanceof Platform.Windows; - private static final boolean isOsWinOrApple = isOsWin || os instanceof Platform.MacOSX; + private static final boolean isOsWinOrApple = isOsWin || os instanceof Platform.MacOS; /** * The type of the path-set size ({@code long} for Windows and Mac OS X, {@code int} for others). */ diff --git a/modules/overrungl.stb/build.gradle.kts b/modules/overrungl.stb/build.gradle.kts deleted file mode 100644 index e69de29b..00000000 diff --git a/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java b/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java index a6ea1303..d518eff7 100644 --- a/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java +++ b/modules/samples/src/jmh/java/overrungl/demo/mem/MemoryUtilTest.java @@ -25,7 +25,7 @@ import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.RunnerException; import org.openjdk.jmh.runner.options.OptionsBuilder; -import overrungl.util.CStdlib; +import overrungl.util.MemoryUtil; /** * Tests memory util @@ -66,10 +66,10 @@ public MemorySegment testArenaOutside() { public MemorySegment memoryUtilMalloc() { MemorySegment seg = null; try { - seg = CStdlib.malloc(size); + seg = MemoryUtil.malloc(size); return seg; } finally { - CStdlib.free(seg); + MemoryUtil.free(seg); } } @@ -77,10 +77,10 @@ public MemorySegment memoryUtilMalloc() { public MemorySegment memoryUtilCalloc() { MemorySegment seg = null; try { - seg = CStdlib.calloc(1, size); + seg = MemoryUtil.calloc(1, size); return seg; } finally { - CStdlib.free(seg); + MemoryUtil.free(seg); } } From e71657a2f25d836db07a35a285807d4a5531b1e6 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 29 Dec 2023 19:07:54 +0800 Subject: [PATCH 40/44] Update GLFW.java --- modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java index 795b7007..dc2aad7d 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java @@ -5586,8 +5586,7 @@ public static long getTimerFrequency() { * hint. *

    * The specified window must have an OpenGL or OpenGL ES context. - * Specifying - * a window without a context will generate a {@link #NO_WINDOW_CONTEXT} + * Specifying a window without a context will generate a {@link #NO_WINDOW_CONTEXT} * error. * * @param window The window whose context to make current, or {@link MemorySegment#NULL NULL} to From d94e17cd5797969549c1c305ace168d5ed7ff048 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 5 Jan 2024 20:05:11 +0800 Subject: [PATCH 41/44] Update documentation; update build script --- README.md | 4 ++++ SECURITY.md | 4 ++-- modules/overrungl.core/build.gradle.kts | 2 +- modules/overrungl.nfd/build.gradle.kts | 5 ----- pom.xml | 14 ++------------ 5 files changed, 9 insertions(+), 20 deletions(-) delete mode 100644 modules/overrungl.nfd/build.gradle.kts diff --git a/README.md b/README.md index a314e15f..2e017f1b 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,10 @@ Javadoc can be found [here](https://over-run.github.io/overrungl-doc/). The documentation of OpenGL can be found [here](https://docs.gl/). +### Credits + +[JetBrains Logo (Main) logo.](https://jb.gg/OpenSourceSupport) + ### Publishing (for internal member) To publish this library, you need a GPG key and the write permission of Maven Central. diff --git a/SECURITY.md b/SECURITY.md index a6deb3f1..195decc4 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,11 +2,11 @@ ## Supported Versions -We are currently working on 0.x versions +We are currently working on 0.x versions, and only the latest version will be supported. | Version | Supported | -| ------- | ------------------ | +|---------|--------------------| | 0.1.x | :white_check_mark: | ## Reporting a Vulnerability diff --git a/modules/overrungl.core/build.gradle.kts b/modules/overrungl.core/build.gradle.kts index 0a130665..a6c321e8 100644 --- a/modules/overrungl.core/build.gradle.kts +++ b/modules/overrungl.core/build.gradle.kts @@ -1,5 +1,5 @@ val overrunPlatformVersion: String by rootProject dependencies { - implementation("io.github.over-run:platform:$overrunPlatformVersion") + api("io.github.over-run:platform:$overrunPlatformVersion") } diff --git a/modules/overrungl.nfd/build.gradle.kts b/modules/overrungl.nfd/build.gradle.kts deleted file mode 100644 index 0a130665..00000000 --- a/modules/overrungl.nfd/build.gradle.kts +++ /dev/null @@ -1,5 +0,0 @@ -val overrunPlatformVersion: String by rootProject - -dependencies { - implementation("io.github.over-run:platform:$overrunPlatformVersion") -} diff --git a/pom.xml b/pom.xml index 95e7539e..86ff285e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,7 @@ 0.1.0-SNAPSHOT OverrunGL - Overrun Game Library is a set of C/C++ library bindings and native accessor. + Overrun Game Library is a high-performance library, which enables cross-platform access to a set of C/C++ library bindings, and provides some useful utilities. https://github.com/Over-Run/overrungl From a44ecd3791e8965fa27aea7e33834758e105893f Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 5 Jan 2024 20:28:18 +0800 Subject: [PATCH 42/44] Unnamed variables --- .../overrungl/internal/RuntimeHelper.java | 10 ------ .../main/java/overrungl/util/MemoryUtil.java | 8 ++--- .../src/main/java/overrungl/nfd/NFD.java | 4 +-- .../overrungl/demo/glfw/GLFWJoystickTest.java | 4 +-- .../demo/glfw/GLFWWindowIconTest.java | 6 ++-- .../test/java/overrungl/demo/nfd/NFDTest.java | 34 +++++++++---------- .../java/overrungl/demo/opengl/GL10Test.java | 6 ++-- .../java/overrungl/demo/opengl/GL15Test.java | 6 ++-- .../java/overrungl/demo/opengl/GL30Test.java | 6 ++-- .../java/overrungl/demo/opengl/GL33Test.java | 6 ++-- .../overrungl/demo/stb/STBPerlinTest.java | 7 ++-- .../test/java/overrungl/demo/util/IOUtil.java | 4 +-- 12 files changed, 43 insertions(+), 58 deletions(-) diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index 26266662..ce6f85db 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -102,16 +102,6 @@ public static String getString(MemorySegment segment) { return segment.reinterpret(MemoryUtil.strlen(segment)).getString(0); } - /** - * Make sure a method handle is returned as the specified type to deal with {@code MethodHandle::invokeExact}. - * - * @param t the invoking method. - * @param the return type. - */ - @SuppressWarnings("unused") - public static void consume(T t) { - } - /** * Generates a string for unknown token. * diff --git a/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java b/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java index 51c687f3..1085bfda 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/MemoryUtil.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -269,7 +269,7 @@ public static void free(@Nullable MemorySegment memblock) { */ public static MemorySegment memcpy(MemorySegment dest, MemorySegment src, long count) { try { - RuntimeHelper.consume((MemorySegment) m_memcpy.invokeExact(dest, src, count)); + final var _ = (MemorySegment) m_memcpy.invokeExact(dest, src, count); return dest; } catch (Throwable e) { throw new AssertionError("should not reach here", e); @@ -294,7 +294,7 @@ public static MemorySegment memcpy(MemorySegment dest, MemorySegment src, long c */ public static MemorySegment memmove(MemorySegment dest, MemorySegment src, long count) { try { - RuntimeHelper.consume((MemorySegment) m_memmove.invokeExact(dest, src, count)); + final var _ = (MemorySegment) m_memmove.invokeExact(dest, src, count); return dest; } catch (Throwable e) { throw new AssertionError("should not reach here", e); @@ -317,7 +317,7 @@ public static MemorySegment memmove(MemorySegment dest, MemorySegment src, long */ public static MemorySegment memset(MemorySegment dest, int c, long count) { try { - RuntimeHelper.consume((MemorySegment) m_memset.invokeExact(dest, c, count)); + final var _ = (MemorySegment) m_memset.invokeExact(dest, c, count); return dest; } catch (Throwable e) { throw new AssertionError("should not reach here", e); diff --git a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java index 095b7735..06055881 100644 --- a/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java +++ b/modules/overrungl.nfd/src/main/java/overrungl/nfd/NFD.java @@ -67,8 +67,8 @@ * new Pair<>("Image file", "png,jpg")); * var result = NFD.openDialogN(outPath, filterItem, null); * switch (result) { - * case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); - * case OKAY -> System.out.println(STR. "Success! \{ outPath[0] }" ); + * case ERROR -> System.err.println(STR."Error: \{NFD.getError()}"); + * case OKAY -> System.out.println(STR."Success! \{outPath[0]}"); * case CANCEL -> System.out.println("User pressed cancel."); * } * } diff --git a/modules/samples/src/test/java/overrungl/demo/glfw/GLFWJoystickTest.java b/modules/samples/src/test/java/overrungl/demo/glfw/GLFWJoystickTest.java index 0ec93a2d..4292a3a4 100644 --- a/modules/samples/src/test/java/overrungl/demo/glfw/GLFWJoystickTest.java +++ b/modules/samples/src/test/java/overrungl/demo/glfw/GLFWJoystickTest.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -54,7 +54,7 @@ private void init() { GLFW.windowHint(GLFW.CLIENT_API, GLFW.NO_API); window = GLFW.createWindow(200, 100, "Holder", MemorySegment.NULL, MemorySegment.NULL); CheckUtil.checkNotNullptr(window, "Failed to create the GLFW window"); - GLFW.setKeyCallback(window, (handle, key, scancode, action, mods) -> { + GLFW.setKeyCallback(window, (_, key, _, action, _) -> { if (key == GLFW.KEY_ESCAPE && action == GLFW.RELEASE) { GLFW.setWindowShouldClose(window, true); } diff --git a/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java b/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java index debe9522..fb7f580d 100644 --- a/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java +++ b/modules/samples/src/test/java/overrungl/demo/glfw/GLFWWindowIconTest.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -82,12 +82,12 @@ private void init(Arena arena) { throw new RuntimeException(e); } - GLFW.setKeyCallback(window, (handle, key, scancode, action, mods) -> { + GLFW.setKeyCallback(window, (_, key, _, action, _) -> { if (key == GLFW.KEY_ESCAPE && action == GLFW.RELEASE) { GLFW.setWindowShouldClose(window, true); } }); - GLFW.setFramebufferSizeCallback(window, (handle, width, height) -> + GLFW.setFramebufferSizeCallback(window, (_, width, height) -> GL.viewport(0, 0, width, height)); var vidMode = GLFW.getVideoMode(GLFW.getPrimaryMonitor()); if (vidMode != null) { diff --git a/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java b/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java index 7374f897..64fb54cc 100644 --- a/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java +++ b/modules/samples/src/test/java/overrungl/demo/nfd/NFDTest.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2023-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -50,8 +50,8 @@ private static void openDialog() { final NFDResult result = NFD.openDialogN(outPath, filterItem, null); switch (result) { - case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); - case OKAY -> System.out.println(STR. "Success! \{ outPath[0] }" ); + case ERROR -> System.err.println(STR."Error: \{NFD.getError()}"); + case OKAY -> System.out.println(STR."Success! \{outPath[0]}"); case CANCEL -> System.out.println("User pressed cancel."); } } @@ -81,13 +81,13 @@ private static void openDialogMultiple() { MemorySegment outPaths = pOutPaths.get(ValueLayout.ADDRESS, 0); switch (result) { - case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); + case ERROR -> System.err.println(STR."Error: \{NFD.getError()}"); case OKAY -> { System.out.println("Success!"); for (long i = 0, numPaths = NFD.pathSetGetCount(outPaths).y(); i < numPaths; i++) { NFD.pathSetGetPathN(outPaths, i, outPath); - System.out.println(STR. "Path \{ i }: \{ outPath[0] }" ); + System.out.println(STR."Path \{i}: \{outPath[0]}"); } // remember to free the path-set memory (since NFDResult::OKAY is returned) @@ -121,14 +121,14 @@ private static void openDialogMultipleEnum() { MemorySegment outPaths = pOutPaths.get(ValueLayout.ADDRESS, 0); switch (result) { - case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); + case ERROR -> System.err.println(STR."Error: \{NFD.getError()}"); case OKAY -> { System.out.println("Success!"); try (NFDEnumerator enumerator = NFDEnumerator.fromPathSetN(stack, outPaths).y()) { int i = 0; for (String path : enumerator) { - System.out.println(STR. "Path \{ i }: \{ path }" ); + System.out.println(STR."Path \{i}: \{path}"); i++; } } @@ -151,16 +151,14 @@ private static void pickFolder() { // or before/after every time you want to show a file dialog. NFD.init(); - try (MemoryStack stack = MemoryStack.stackPush()) { - String[] outPath = new String[1]; + String[] outPath = new String[1]; - // show the dialog - final NFDResult result = NFD.pickFolderN(outPath, null); - switch (result) { - case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); - case OKAY -> System.out.println(STR. "Success! \{ outPath[0] }" ); - case CANCEL -> System.out.println("User pressed cancel."); - } + // show the dialog + final NFDResult result = NFD.pickFolderN(outPath, null); + switch (result) { + case ERROR -> System.err.println(STR."Error: \{NFD.getError()}"); + case OKAY -> System.out.println(STR."Success! \{outPath[0]}"); + case CANCEL -> System.out.println("User pressed cancel."); } // Quit NFD @@ -185,8 +183,8 @@ private static void saveDialog() { // show the dialog final NFDResult result = NFD.saveDialogN(savePath, filterItem, null, "Untitled.java"); switch (result) { - case ERROR -> System.err.println(STR. "Error: \{ NFD.getError() }" ); - case OKAY -> System.out.println(STR. "Success! \{ savePath[0] }" ); + case ERROR -> System.err.println(STR."Error: \{NFD.getError()}"); + case OKAY -> System.out.println(STR."Success! \{savePath[0]}"); case CANCEL -> System.out.println("User pressed cancel."); } } diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java index 98b5774f..4dbf2a8e 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL10Test.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -56,12 +56,12 @@ private void init() { GLFW.windowHint(GLFW.RESIZABLE, true); window = GLFW.createWindow(300, 300, "Hello World!", MemorySegment.NULL, MemorySegment.NULL); CheckUtil.checkNotNullptr(window, "Failed to create the GLFW window"); - GLFW.setKeyCallback(window, (handle, key, scancode, action, mods) -> { + GLFW.setKeyCallback(window, (_, key, _, action, _) -> { if (key == GLFW.KEY_ESCAPE && action == GLFW.RELEASE) { GLFW.setWindowShouldClose(window, true); } }); - GLFW.setFramebufferSizeCallback(window, (handle, width, height) -> + GLFW.setFramebufferSizeCallback(window, (_, width, height) -> GL.viewport(0, 0, width, height)); var vidMode = GLFW.getVideoMode(GLFW.getPrimaryMonitor()); if (vidMode != null) { diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java index 0b099931..6b3b2d92 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL15Test.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -68,12 +68,12 @@ private void init() { GLFW.windowHint(GLFW.RESIZABLE, true); window = GLFW.createWindow(640, 480, "OpenGL 1.5", MemorySegment.NULL, MemorySegment.NULL); CheckUtil.checkNotNullptr(window, "Failed to create the GLFW window"); - GLFW.setKeyCallback(window, (handle, key, scancode, action, mods) -> { + GLFW.setKeyCallback(window, (_, key, _, action, _) -> { if (key == GLFW.KEY_ESCAPE && action == GLFW.RELEASE) { GLFW.setWindowShouldClose(window, true); } }); - GLFW.setFramebufferSizeCallback(window, (handle, width, height) -> + GLFW.setFramebufferSizeCallback(window, (_, width, height) -> GL.viewport(0, 0, width, height)); var vidMode = GLFW.getVideoMode(GLFW.getPrimaryMonitor()); if (vidMode != null) { diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java index e18537d6..b47a87f7 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL30Test.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -74,12 +74,12 @@ private void init() { GLFW.windowHint(GLFW.RESIZABLE, true); window = GLFW.createWindow(640, 480, "OpenGL 3.0", MemorySegment.NULL, MemorySegment.NULL); CheckUtil.checkNotNullptr(window, "Failed to create the GLFW window"); - GLFW.setKeyCallback(window, (handle, key, scancode, action, mods) -> { + GLFW.setKeyCallback(window, (_, key, _, action, _) -> { if (key == GLFW.KEY_ESCAPE && action == GLFW.RELEASE) { GLFW.setWindowShouldClose(window, true); } }); - GLFW.setFramebufferSizeCallback(window, (handle, width, height) -> + GLFW.setFramebufferSizeCallback(window, (_, width, height) -> GL.viewport(0, 0, width, height)); var vidMode = GLFW.getVideoMode(GLFW.getPrimaryMonitor()); if (vidMode != null) { diff --git a/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java b/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java index 751463b9..420a0ad9 100644 --- a/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java +++ b/modules/samples/src/test/java/overrungl/demo/opengl/GL33Test.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -86,12 +86,12 @@ private void init() { GLFW.windowHint(GLFW.OPENGL_PROFILE, GLFW.OPENGL_CORE_PROFILE); window = GLFW.createWindow(640, 480, WND_TITLE, MemorySegment.NULL, MemorySegment.NULL); CheckUtil.checkNotNullptr(window, "Failed to create the GLFW window"); - GLFW.setKeyCallback(window, (handle, key, scancode, action, mods) -> { + GLFW.setKeyCallback(window, (_, key, _, action, _) -> { if (key == GLFW.KEY_ESCAPE && action == GLFW.RELEASE) { GLFW.setWindowShouldClose(window, true); } }); - GLFW.setFramebufferSizeCallback(window, (handle, width, height) -> + GLFW.setFramebufferSizeCallback(window, (_, width, height) -> GL.viewport(0, 0, width, height)); var vidMode = GLFW.getVideoMode(GLFW.getPrimaryMonitor()); if (vidMode != null) { diff --git a/modules/samples/src/test/java/overrungl/demo/stb/STBPerlinTest.java b/modules/samples/src/test/java/overrungl/demo/stb/STBPerlinTest.java index 61027d11..28897d9f 100644 --- a/modules/samples/src/test/java/overrungl/demo/stb/STBPerlinTest.java +++ b/modules/samples/src/test/java/overrungl/demo/stb/STBPerlinTest.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2023-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -18,7 +18,6 @@ import overrungl.stb.STBImage; import overrungl.stb.STBImageWrite; -import overrungl.util.MemoryStack; import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; @@ -43,9 +42,7 @@ private static void write(Arena arena, float[][] noise, String fileName) { buf.set(ValueLayout.JAVA_BYTE, y * HEIGHT + x, (byte) ((noise[y][x] + 1f) * .5f * 255f)); } } - try (MemoryStack stack = MemoryStack.stackPush()) { - STBImageWrite.png(fileName, WIDTH, HEIGHT, STBImage.GREY, buf, WIDTH); - } + STBImageWrite.png(fileName, WIDTH, HEIGHT, STBImage.GREY, buf, WIDTH); } public static void main(String[] args) { diff --git a/modules/samples/src/test/java/overrungl/demo/util/IOUtil.java b/modules/samples/src/test/java/overrungl/demo/util/IOUtil.java index 2a4ee874..f2336550 100644 --- a/modules/samples/src/test/java/overrungl/demo/util/IOUtil.java +++ b/modules/samples/src/test/java/overrungl/demo/util/IOUtil.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -55,7 +55,7 @@ public static MemorySegment ioResourceToSegment(Arena arena, String resource, lo final boolean isHttp = resource.startsWith("http"); final Path path = isHttp ? null : Path.of(resource); - // Check whether on local + // Check if the path is on local if (path != null && Files.isReadable(path)) { try (var fc = FileChannel.open(path)) { return fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size(), arena); From a1b34ddc1fa39095714c35ebb24c5c2c38e76475 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Fri, 5 Jan 2024 21:43:58 +0800 Subject: [PATCH 43/44] Update usage of SegmentAllocator --- build.gradle.kts | 2 +- .../java/overrungl/FunctionDescriptors.java | 8 +- .../overrungl/internal/RuntimeHelper.java | 18 +- .../src/main/java/overrungl/glfw/GLFW.java | 16 +- .../java/overrungl/glfw/GLFWGammaRamp.java | 4 +- .../main/java/overrungl/glfw/GLFWImage.java | 5 +- .../main/java/overrungl/glfw/GLFWNative.java | 8 +- .../main/java/overrungl/glfw/GLFWVidMode.java | 14 +- .../src/main/java/overrungl/glfw/Handles.java | 4 +- .../overrungl/opengl/OpenGLGenerator.kt | 4 +- .../opengl/DrawArraysIndirectCommand.java | 4 +- .../opengl/DrawElementsIndirectCommand.java | 4 +- .../src/main/java/overrungl/opengl/GL10.java | 238 +++++++++--------- .../src/main/java/overrungl/opengl/GL10C.java | 48 ++-- .../src/main/java/overrungl/opengl/GL11.java | 60 ++--- .../src/main/java/overrungl/opengl/GL11C.java | 12 +- .../src/main/java/overrungl/opengl/GL12C.java | 24 +- .../src/main/java/overrungl/opengl/GL13.java | 42 ++-- .../src/main/java/overrungl/opengl/GL14.java | 52 ++-- .../src/main/java/overrungl/opengl/GL14C.java | 26 +- .../src/main/java/overrungl/opengl/GL15C.java | 46 ++-- .../src/main/java/overrungl/opengl/GL20C.java | 134 +++++----- .../src/main/java/overrungl/opengl/GL21C.java | 14 +- .../src/main/java/overrungl/opengl/GL30C.java | 84 +++---- .../src/main/java/overrungl/opengl/GL31C.java | 35 ++- .../src/main/java/overrungl/opengl/GL32C.java | 52 ++-- .../src/main/java/overrungl/opengl/GL33C.java | 30 +-- .../src/main/java/overrungl/opengl/GL40C.java | 54 ++-- .../src/main/java/overrungl/opengl/GL42C.java | 18 +- .../src/main/java/overrungl/opengl/GL43C.java | 42 ++-- .../src/main/java/overrungl/opengl/GL44C.java | 26 +- .../src/main/java/overrungl/opengl/GL45C.java | 164 ++++++------ .../src/main/java/overrungl/opengl/GL46C.java | 6 +- .../main/java/overrungl/opengl/GLExtCaps.java | 2 +- .../java/overrungl/opengl/GLExtFinder.java | 2 +- .../src/main/java/overrungl/stb/Handles.java | 4 +- .../main/java/overrungl/stb/STBEasyFont.java | 4 +- .../src/main/java/overrungl/stb/STBImage.java | 16 +- .../java/overrungl/stb/STBImageResize.java | 28 +-- 39 files changed, 679 insertions(+), 675 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b7510dcc..aec93e61 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -250,7 +250,7 @@ allprojects { options { if (this is CoreJavadocOptions) { if (jdkEnablePreview.toBoolean()) { - addBooleanOption("-enable-preview") + addBooleanOption("-enable-preview", true) } addStringOption("source", targetJavaVersion.toString()) if (this is StandardJavadocDocletOptions) { diff --git a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java index d24cf3b6..64902c46 100644 --- a/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java +++ b/modules/overrungl.core/src/main/java/overrungl/FunctionDescriptors.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -17,6 +17,7 @@ package overrungl; import overrungl.internal.Exceptions; +import overrungl.internal.RuntimeHelper; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.ValueLayout; @@ -42,7 +43,9 @@ * * @author squid233 * @since 0.1.0 + * @deprecated This class is going to be removed (but is not marked as removal). */ +@Deprecated(since = "0.1.0") public enum FunctionDescriptors { // 1 D, F, I, J, P, p, V, @@ -121,8 +124,9 @@ public static ValueLayout ofValue(char c) throws IllegalArgumentException { case 'F' -> JAVA_FLOAT; case 'D' -> JAVA_DOUBLE; case 'P' -> ADDRESS; + case 'p' -> RuntimeHelper.ADDRESS_UNBOUNDED; default -> - throw Exceptions.IAE. "Invalid argument c: expected one of B, S, I, J, C, Z, F, D or P; got '\{ c }'" ; + throw Exceptions.IAE."Invalid argument c: expected one of B, S, I, J, C, Z, F, D or P; got '\{c}'"; }; } diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index ce6f85db..83b6b8fb 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -78,7 +78,7 @@ private static MemorySegment reinterpreting(MemorySegment pointerToPointer, int * @return the string. */ public static String unboundPointerString(MemorySegment segment) { - return reinterpreting(segment, 0, MemoryUtil::strlen).getString(0); + return unboundPointerString(segment, 0); } /** @@ -89,7 +89,7 @@ public static String unboundPointerString(MemorySegment segment) { * @return the string. */ public static String unboundPointerString(MemorySegment segment, int index) { - return reinterpreting(segment, index, MemoryUtil::strlen).getString(0); + return reinterpreting(segment, index, str -> MemoryUtil.strlen(str) + 1).getString(0); } /** @@ -99,7 +99,7 @@ public static String unboundPointerString(MemorySegment segment, int index) { * @return the string */ public static String getString(MemorySegment segment) { - return segment.reinterpret(MemoryUtil.strlen(segment)).getString(0); + return segment.reinterpret(MemoryUtil.strlen(segment) + 1).getString(0); } /** @@ -120,7 +120,7 @@ public static String unknownToken(int token) { * @return the string is formatted in {@code STR."\{description} [0x\{toHexString(token)}]"}. */ public static String unknownToken(String description, int token) { - return STR. "\{ description } [0x\{ Integer.toHexString(token) }]" ; + return STR."\{description} [0x\{Integer.toHexString(token)}]"; } /** @@ -144,7 +144,7 @@ public static SymbolLookup load(String module, String basename, String version) uri = localFile.toURI(); } else { // 2. Load from classpath - var file = new File(tmpdir, STR. "overrungl\{ System.getProperty("user.name") }" ); + var file = new File(tmpdir, STR."overrungl\{System.getProperty("user.name")}"); if (!file.exists()) { // Create directory file.mkdir(); @@ -154,15 +154,15 @@ public static SymbolLookup load(String module, String basename, String version) // Create directory file.mkdir(); } - var libFile = new File(file, STR. "\{ basename }-\{ version }\{ suffix }" ); + var libFile = new File(file, STR."\{basename}-\{version}\{suffix}"); if (!libFile.exists()) { // Extract - final String fromPath = STR. "\{ module }/\{ os.familyName() }/\{ Architecture.current() }/\{ path }" ; + final String fromPath = STR."\{module}/\{os.familyName()}/\{Architecture.current()}/\{path}"; try (var is = STACK_WALKER.getCallerClass().getClassLoader().getResourceAsStream(fromPath)) { - Files.copy(Objects.requireNonNull(is, STR. "File not found: \{ fromPath }" ), + Files.copy(Objects.requireNonNull(is, STR."File not found: \{fromPath}"), Path.of(libFile.getAbsolutePath())); } catch (Exception e) { - throw new IllegalStateException(STR. "File not found: \{ file }; try setting property -Doverrungl.natives to a valid path" , e); + throw new IllegalStateException(STR."File not found: \{file}; try setting property -Doverrungl.natives to a valid path", e); } } uri = libFile.toURI(); diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java index 58071b71..134a1ca2 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFW.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -1091,7 +1091,7 @@ public static MemorySegment ngetVersionString() { * @see #ngetVersionString() ngetVersionString */ public static String getVersionString() { - return ngetVersionString().getUtf8String(0); + return ngetVersionString().getString(0); } /** @@ -1630,7 +1630,7 @@ public static MemorySegment ngetMonitorName(MemorySegment monitor) { @Nullable public static String getMonitorName(MemorySegment monitor) { var pName = ngetMonitorName(monitor); - return RuntimeHelper.isNullptr(pName) ? null : pName.getUtf8String(0); + return RuntimeHelper.isNullptr(pName) ? null : pName.getString(0); } /** @@ -4136,7 +4136,7 @@ public static MemorySegment ngetKeyName(int key, int scancode) { @Nullable public static String getKeyName(int key, int scancode) { var pName = ngetKeyName(key, scancode); - return RuntimeHelper.isNullptr(pName) ? null : pName.getUtf8String(0); + return RuntimeHelper.isNullptr(pName) ? null : pName.getString(0); } /** @@ -5064,7 +5064,7 @@ public static MemorySegment ngetJoystickName(int jid) { @Nullable public static String getJoystickName(int jid) { var pName = ngetJoystickName(jid); - return RuntimeHelper.isNullptr(pName) ? null : pName.getUtf8String(0); + return RuntimeHelper.isNullptr(pName) ? null : pName.getString(0); } /** @@ -5117,7 +5117,7 @@ public static MemorySegment ngetJoystickGUID(int jid) { @Nullable public static String getJoystickGUID(int jid) { var pGUID = ngetJoystickGUID(jid); - return RuntimeHelper.isNullptr(pGUID) ? null : pGUID.getUtf8String(0); + return RuntimeHelper.isNullptr(pGUID) ? null : pGUID.getString(0); } /** @@ -5334,7 +5334,7 @@ public static MemorySegment ngetGamepadName(int jid) { @Nullable public static String getGamepadName(int jid) { var pName = ngetGamepadName(jid); - return RuntimeHelper.isNullptr(pName) ? null : pName.getUtf8String(0); + return RuntimeHelper.isNullptr(pName) ? null : pName.getString(0); } /** @@ -5464,7 +5464,7 @@ public static MemorySegment ngetClipboardString() { @Nullable public static String getClipboardString(@Deprecated MemorySegment window) { var pString = ngetClipboardString(); - return RuntimeHelper.isNullptr(pString) ? null : pString.getUtf8String(0); + return RuntimeHelper.isNullptr(pString) ? null : pString.getString(0); } /** diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java index 08cfa935..b059aaaa 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWGammaRamp.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -42,7 +42,7 @@ * @since 0.1.0 */ public final class GLFWGammaRamp extends Struct { - private static final AddressLayout SHORT_ARRAY = ADDRESS.withTargetLayout(MemoryLayout.sequenceLayout(JAVA_SHORT)); + private static final AddressLayout SHORT_ARRAY = ADDRESS.withTargetLayout(MemoryLayout.sequenceLayout(Long.MAX_VALUE / JAVA_SHORT.byteSize(), JAVA_SHORT)); /** * The struct layout. */ diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java index e865c0e9..10a19d2b 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWImage.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -18,6 +18,7 @@ import overrungl.ArrayPointer; import overrungl.Struct; +import overrungl.internal.RuntimeHelper; import java.lang.foreign.*; import java.lang.foreign.MemoryLayout.PathElement; @@ -47,7 +48,7 @@ public sealed class GLFWImage extends Struct { public static final StructLayout LAYOUT = MemoryLayout.structLayout( JAVA_INT.withName("width"), JAVA_INT.withName("height"), - ADDRESS.withTargetLayout(MemoryLayout.sequenceLayout(JAVA_BYTE)).withName("pixels") + ADDRESS.withTargetLayout(RuntimeHelper.ADDRESS_UNBOUNDED).withName("pixels") ); private static final VarHandle pWidth = LAYOUT.varHandle(PathElement.groupElement("width")), diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java index 787b02bf..a9ff37fd 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWNative.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2023-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -68,7 +68,7 @@ public static MemorySegment ngetWin32Adapter(MemorySegment monitor) { * @see #ngetWin32Adapter(MemorySegment) ngetWin32Adapter */ public static String getWin32Adapter(MemorySegment monitor) { - return ngetWin32Adapter(monitor).getUtf8String(0); + return ngetWin32Adapter(monitor).getString(0); } /** @@ -100,7 +100,7 @@ public static MemorySegment ngetWin32Monitor(MemorySegment monitor) { * @see #ngetWin32Monitor(MemorySegment) ngetWin32Monitor */ public static String getWin32Monitor(MemorySegment monitor) { - return ngetWin32Monitor(monitor).getUtf8String(0); + return ngetWin32Monitor(monitor).getString(0); } /** @@ -343,7 +343,7 @@ public static MemorySegment ngetX11SelectionString() { */ public static String getX11SelectionString() { final MemorySegment seg = ngetX11SelectionString(); - return seg != null ? seg.getUtf8String(0) : null; + return seg != null ? seg.getString(0) : null; } /** diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java index 3c6937e1..8aecb2f7 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/GLFWVidMode.java @@ -65,7 +65,7 @@ public sealed class GLFWVidMode extends Struct { /** * Create a {@code GLFWvidmode} instance. * - * @param address the address. + * @param address the address. */ public GLFWVidMode(MemorySegment address) { super(address, LAYOUT); @@ -120,42 +120,42 @@ public Value value() { * {@return the width, in screen coordinates, of the video mode} */ public int width() { - return (int) pWidth.get(segment()); + return (int) pWidth.get(segment(), 0L); } /** * {@return the height, in screen coordinates, of the video mode} */ public int height() { - return (int) pHeight.get(segment()); + return (int) pHeight.get(segment(), 0L); } /** * {@return the bit depth of the red channel of the video mode} */ public int redBits() { - return (int) pRedBits.get(segment()); + return (int) pRedBits.get(segment(), 0L); } /** * {@return the bit depth of the green channel of the video mode} */ public int greenBits() { - return (int) pGreenBits.get(segment()); + return (int) pGreenBits.get(segment(), 0L); } /** * {@return the bit depth of the blue channel of the video mode} */ public int blueBits() { - return (int) pBlueBits.get(segment()); + return (int) pBlueBits.get(segment(), 0L); } /** * {@return the refresh rate, in Hz, of the video mode} */ public int refreshRate() { - return (int) pRefreshRate.get(segment()); + return (int) pRefreshRate.get(segment(), 0L); } /** diff --git a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java index 16004308..c3ff845f 100644 --- a/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java +++ b/modules/overrungl.glfw/src/main/java/overrungl/glfw/Handles.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -214,7 +214,7 @@ private static MethodHandle downcall(String name, private static MethodHandle downcallTrivial(String name, FunctionDescriptors function) { - return downcall(name, function, Linker.Option.isTrivial()); + return downcall(name, function, Linker.Option.critical(false)); } private static MethodHandle downcallNative(String name, diff --git a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt index 5c9b98a8..874187e4 100644 --- a/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt +++ b/modules/overrungl.opengl/src/generator/kotlin/overrungl/opengl/OpenGLGenerator.kt @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2023 Overrun Organization + * Copyright (c) 2023-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -3224,7 +3224,7 @@ fun glExtCaps() { | var pExtsI = new MemorySegment[1]; | if (!getExtensions(allocator, version, pExts, pNumExtsI, pExtsI, caps)) return false; | - | String exts = pExts.getUtf8String(0); + | String exts = pExts.getString(0); | int numExtsI = pNumExtsI.get(JAVA_INT, 0); | var extsI = pExtsI[0]; | diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawArraysIndirectCommand.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawArraysIndirectCommand.java index 485c1dec..62bf8372 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawArraysIndirectCommand.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawArraysIndirectCommand.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -98,7 +98,7 @@ public static DrawArraysIndirectCommand create(SegmentAllocator allocator) { * @return the instance */ public static Buffer create(SegmentAllocator allocator, long count) { - return new Buffer(allocator.allocateArray(LAYOUT, count), count); + return new Buffer(allocator.allocate(LAYOUT, count), count); } /** diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawElementsIndirectCommand.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawElementsIndirectCommand.java index 9b18ca61..9c49802b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawElementsIndirectCommand.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/DrawElementsIndirectCommand.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -101,7 +101,7 @@ public static DrawElementsIndirectCommand create(SegmentAllocator allocator) { * @return the instance */ public static Buffer create(SegmentAllocator allocator, long count) { - return new Buffer(allocator.allocateArray(LAYOUT, count), count); + return new Buffer(allocator.allocate(LAYOUT, count), count); } /** diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10.java index c62d601b..4a7aec96 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -378,7 +378,7 @@ public static void clipPlane(int plane, MemorySegment equation) { } public static void clipPlane(SegmentAllocator allocator, int plane, double[] equation) { - clipPlane(plane, allocator.allocateArray(JAVA_DOUBLE, equation)); + clipPlane(plane, allocator.allocateFrom(JAVA_DOUBLE, equation)); } @@ -401,7 +401,7 @@ public static void color3bv(MemorySegment v) { } public static void color3bv(SegmentAllocator allocator, byte[] v) { - color3bv(allocator.allocateArray(JAVA_BYTE, v)); + color3bv(allocator.allocateFrom(JAVA_BYTE, v)); } public static void color3d(double red, double green, double blue) { @@ -423,7 +423,7 @@ public static void color3dv(MemorySegment v) { } public static void color3dv(SegmentAllocator allocator, double[] v) { - color3dv(allocator.allocateArray(JAVA_DOUBLE, v)); + color3dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void color3f(float red, float green, float blue) { @@ -445,7 +445,7 @@ public static void color3fv(MemorySegment v) { } public static void color3fv(SegmentAllocator allocator, float[] v) { - color3fv(allocator.allocateArray(JAVA_FLOAT, v)); + color3fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void color3i(int red, int green, int blue) { @@ -467,7 +467,7 @@ public static void color3iv(MemorySegment v) { } public static void color3iv(SegmentAllocator allocator, int[] v) { - color3iv(allocator.allocateArray(JAVA_INT, v)); + color3iv(allocator.allocateFrom(JAVA_INT, v)); } public static void color3s(short red, short green, short blue) { @@ -489,7 +489,7 @@ public static void color3sv(MemorySegment v) { } public static void color3sv(SegmentAllocator allocator, short[] v) { - color3sv(allocator.allocateArray(JAVA_SHORT, v)); + color3sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void color3ub(byte red, byte green, byte blue) { @@ -511,7 +511,7 @@ public static void color3ubv(MemorySegment v) { } public static void color3ubv(SegmentAllocator allocator, byte[] v) { - color3ubv(allocator.allocateArray(JAVA_BYTE, v)); + color3ubv(allocator.allocateFrom(JAVA_BYTE, v)); } public static void color3ui(int red, int green, int blue) { @@ -533,7 +533,7 @@ public static void color3uiv(MemorySegment v) { } public static void color3uiv(SegmentAllocator allocator, int[] v) { - color3uiv(allocator.allocateArray(JAVA_INT, v)); + color3uiv(allocator.allocateFrom(JAVA_INT, v)); } public static void color3us(short red, short green, short blue) { @@ -555,7 +555,7 @@ public static void color3usv(MemorySegment v) { } public static void color3usv(SegmentAllocator allocator, short[] v) { - color3usv(allocator.allocateArray(JAVA_SHORT, v)); + color3usv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void color4b(byte red, byte green, byte blue, byte alpha) { @@ -577,7 +577,7 @@ public static void color4bv(MemorySegment v) { } public static void color4bv(SegmentAllocator allocator, byte[] v) { - color4bv(allocator.allocateArray(JAVA_BYTE, v)); + color4bv(allocator.allocateFrom(JAVA_BYTE, v)); } public static void color4d(double red, double green, double blue, double alpha) { @@ -599,7 +599,7 @@ public static void color4dv(MemorySegment v) { } public static void color4dv(SegmentAllocator allocator, double[] v) { - color4dv(allocator.allocateArray(JAVA_DOUBLE, v)); + color4dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void color4f(float red, float green, float blue, float alpha) { @@ -621,7 +621,7 @@ public static void color4fv(MemorySegment v) { } public static void color4fv(SegmentAllocator allocator, float[] v) { - color4fv(allocator.allocateArray(JAVA_FLOAT, v)); + color4fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void color4i(int red, int green, int blue, int alpha) { @@ -643,7 +643,7 @@ public static void color4iv(MemorySegment v) { } public static void color4iv(SegmentAllocator allocator, int[] v) { - color4iv(allocator.allocateArray(JAVA_INT, v)); + color4iv(allocator.allocateFrom(JAVA_INT, v)); } public static void color4s(short red, short green, short blue, short alpha) { @@ -665,7 +665,7 @@ public static void color4sv(MemorySegment v) { } public static void color4sv(SegmentAllocator allocator, short[] v) { - color4sv(allocator.allocateArray(JAVA_SHORT, v)); + color4sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void color4ub(byte red, byte green, byte blue, byte alpha) { @@ -687,7 +687,7 @@ public static void color4ubv(MemorySegment v) { } public static void color4ubv(SegmentAllocator allocator, byte[] v) { - color4ubv(allocator.allocateArray(JAVA_BYTE, v)); + color4ubv(allocator.allocateFrom(JAVA_BYTE, v)); } public static void color4ui(int red, int green, int blue, int alpha) { @@ -709,7 +709,7 @@ public static void color4uiv(MemorySegment v) { } public static void color4uiv(SegmentAllocator allocator, int[] v) { - color4uiv(allocator.allocateArray(JAVA_INT, v)); + color4uiv(allocator.allocateFrom(JAVA_INT, v)); } public static void color4us(short red, short green, short blue, short alpha) { @@ -731,7 +731,7 @@ public static void color4usv(MemorySegment v) { } public static void color4usv(SegmentAllocator allocator, short[] v) { - color4usv(allocator.allocateArray(JAVA_SHORT, v)); + color4usv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void colorMaterial(int face, int mode) { @@ -789,7 +789,7 @@ public static void edgeFlagv(MemorySegment flag) { } public static void edgeFlagv(SegmentAllocator allocator, boolean[] flag) { - var pFlag = allocator.allocateArray(JAVA_BOOLEAN, flag.length); + var pFlag = allocator.allocate(JAVA_BOOLEAN, flag.length); for (int i = 0; i < flag.length; i++) { pFlag.set(JAVA_BOOLEAN, i, flag[i]); } @@ -833,7 +833,7 @@ public static void evalCoord1dv(MemorySegment u) { } public static void evalCoord1dv(SegmentAllocator allocator, double[] u) { - evalCoord1dv(allocator.allocateArray(JAVA_DOUBLE, u)); + evalCoord1dv(allocator.allocateFrom(JAVA_DOUBLE, u)); } public static void evalCoord1f(float u) { @@ -855,7 +855,7 @@ public static void evalCoord1fv(MemorySegment u) { } public static void evalCoord1fv(SegmentAllocator allocator, float[] u) { - evalCoord1fv(allocator.allocateArray(JAVA_FLOAT, u)); + evalCoord1fv(allocator.allocateFrom(JAVA_FLOAT, u)); } public static void evalCoord2d(double u, double v) { @@ -877,7 +877,7 @@ public static void evalCoord2dv(MemorySegment u) { } public static void evalCoord2dv(SegmentAllocator allocator, double[] u) { - evalCoord2dv(allocator.allocateArray(JAVA_DOUBLE, u)); + evalCoord2dv(allocator.allocateFrom(JAVA_DOUBLE, u)); } public static void evalCoord2f(float u, float v) { @@ -899,7 +899,7 @@ public static void evalCoord2fv(MemorySegment u) { } public static void evalCoord2fv(SegmentAllocator allocator, float[] u) { - evalCoord2fv(allocator.allocateArray(JAVA_FLOAT, u)); + evalCoord2fv(allocator.allocateFrom(JAVA_FLOAT, u)); } public static void evalMesh1(int mode, int i1, int i2) { @@ -948,7 +948,7 @@ public static void feedbackBuffer(int size, int type, MemorySegment buffer) { } public static void feedbackBuffer(SegmentAllocator allocator, int type, float[] buffer) { - var pBuffer = allocator.allocateArray(JAVA_FLOAT, buffer.length); + var pBuffer = allocator.allocateFrom(JAVA_FLOAT, buffer); feedbackBuffer(buffer.length, type, pBuffer); RuntimeHelper.toArray(pBuffer, buffer); } @@ -972,7 +972,7 @@ public static void fogfv(int pname, MemorySegment params) { } public static void fogfv(SegmentAllocator allocator, int pname, float[] params) { - fogfv(pname, allocator.allocateArray(JAVA_FLOAT, params)); + fogfv(pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void fogi(int pname, int param) { @@ -994,7 +994,7 @@ public static void fogiv(int pname, MemorySegment params) { } public static void fogiv(SegmentAllocator allocator, int pname, int[] params) { - fogiv(pname, allocator.allocateArray(JAVA_INT, params)); + fogiv(pname, allocator.allocateFrom(JAVA_INT, params)); } public static void frustum(double left, double right, double bottom, double top, double zNear, double zFar) { @@ -1046,7 +1046,7 @@ public static void getLightfv(int light, int pname, MemorySegment params) { } public static void getLightfv(SegmentAllocator allocator, int light, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocateFrom(JAVA_FLOAT, params); getLightfv(light, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1073,7 +1073,7 @@ public static void getLightiv(int light, int pname, MemorySegment params) { } public static void getLightiv(SegmentAllocator allocator, int light, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocateFrom(JAVA_INT, params); getLightiv(light, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1100,7 +1100,7 @@ public static void getMapdv(int target, int query, MemorySegment v) { } public static void getMapdv(SegmentAllocator allocator, int target, int query, double[] v) { - var pv = allocator.allocateArray(JAVA_DOUBLE, v.length); + var pv = allocator.allocateFrom(JAVA_DOUBLE, v); getMapdv(target, query, pv); RuntimeHelper.toArray(pv, v); } @@ -1127,7 +1127,7 @@ public static void getMapfv(int target, int query, MemorySegment v) { } public static void getMapfv(SegmentAllocator allocator, int target, int query, float[] v) { - var pv = allocator.allocateArray(JAVA_FLOAT, v.length); + var pv = allocator.allocateFrom(JAVA_FLOAT, v); getMapfv(target, query, pv); RuntimeHelper.toArray(pv, v); } @@ -1154,7 +1154,7 @@ public static void getMapiv(int target, int query, MemorySegment v) { } public static void getMapiv(SegmentAllocator allocator, int target, int query, int[] v) { - var pv = allocator.allocateArray(JAVA_INT, v.length); + var pv = allocator.allocateFrom(JAVA_INT, v); getMapiv(target, query, pv); RuntimeHelper.toArray(pv, v); } @@ -1181,7 +1181,7 @@ public static void getMaterialfv(int face, int pname, MemorySegment params) { } public static void getMaterialfv(SegmentAllocator allocator, int face, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocateFrom(JAVA_FLOAT, params); getMaterialfv(face, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1208,7 +1208,7 @@ public static void getMaterialiv(int face, int pname, MemorySegment params) { } public static void getMaterialiv(SegmentAllocator allocator, int face, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocateFrom(JAVA_INT, params); getMaterialiv(face, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1235,7 +1235,7 @@ public static void getPixelMapfv(int map, MemorySegment values) { } public static void getPixelMapfv(SegmentAllocator allocator, int map, float[] values) { - var pValues = allocator.allocateArray(JAVA_FLOAT, values.length); + var pValues = allocator.allocateFrom(JAVA_FLOAT, values); getPixelMapfv(map, pValues); RuntimeHelper.toArray(pValues, values); } @@ -1250,7 +1250,7 @@ public static void getPixelMapuiv(int map, MemorySegment values) { } public static void getPixelMapuiv(SegmentAllocator allocator, int map, int[] values) { - var pValues = allocator.allocateArray(JAVA_INT, values.length); + var pValues = allocator.allocateFrom(JAVA_INT, values); getPixelMapuiv(map, pValues); RuntimeHelper.toArray(pValues, values); } @@ -1265,7 +1265,7 @@ public static void getPixelMapusv(int map, MemorySegment values) { } public static void getPixelMapusv(SegmentAllocator allocator, int map, short[] values) { - var pValues = allocator.allocateArray(JAVA_SHORT, values.length); + var pValues = allocator.allocateFrom(JAVA_SHORT, values); getPixelMapusv(map, pValues); RuntimeHelper.toArray(pValues, values); } @@ -1280,7 +1280,7 @@ public static void getPolygonStipple(MemorySegment mask) { } public static void getPolygonStipple(SegmentAllocator allocator, byte[] mask) { - var pMask = allocator.allocateArray(JAVA_BYTE, mask.length); + var pMask = allocator.allocateFrom(JAVA_BYTE, mask); getPolygonStipple(pMask); RuntimeHelper.toArray(pMask, mask); } @@ -1295,7 +1295,7 @@ public static void getTexEnvfv(int target, int pname, MemorySegment params) { } public static void getTexEnvfv(SegmentAllocator allocator, int target, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocateFrom(JAVA_FLOAT, params); getTexEnvfv(target, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1322,7 +1322,7 @@ public static void getTexEnviv(int target, int pname, MemorySegment params) { } public static void getTexEnviv(SegmentAllocator allocator, int target, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocateFrom(JAVA_INT, params); getTexEnviv(target, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1349,7 +1349,7 @@ public static void getTexGendv(int coord, int pname, MemorySegment params) { } public static void getTexGendv(SegmentAllocator allocator, int coord, int pname, double[] params) { - var pParams = allocator.allocateArray(JAVA_DOUBLE, params.length); + var pParams = allocator.allocateFrom(JAVA_DOUBLE, params); getTexGendv(coord, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1364,7 +1364,7 @@ public static void getTexGenfv(int coord, int pname, MemorySegment params) { } public static void getTexGenfv(SegmentAllocator allocator, int coord, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocateFrom(JAVA_FLOAT, params); getTexGenfv(coord, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1379,7 +1379,7 @@ public static void getTexGeniv(int coord, int pname, MemorySegment params) { } public static void getTexGeniv(SegmentAllocator allocator, int coord, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocateFrom(JAVA_INT, params); getTexGeniv(coord, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1412,7 +1412,7 @@ public static void indexdv(MemorySegment c) { } public static void indexdv(SegmentAllocator allocator, double[] c) { - indexdv(allocator.allocateArray(JAVA_DOUBLE, c)); + indexdv(allocator.allocateFrom(JAVA_DOUBLE, c)); } public static void indexf(float c) { @@ -1434,7 +1434,7 @@ public static void indexfv(MemorySegment c) { } public static void indexfv(SegmentAllocator allocator, float[] c) { - indexfv(allocator.allocateArray(JAVA_FLOAT, c)); + indexfv(allocator.allocateFrom(JAVA_FLOAT, c)); } public static void indexi(int c) { @@ -1456,7 +1456,7 @@ public static void indexiv(MemorySegment c) { } public static void indexiv(SegmentAllocator allocator, int[] c) { - indexiv(allocator.allocateArray(JAVA_INT, c)); + indexiv(allocator.allocateFrom(JAVA_INT, c)); } public static void indexs(short c) { @@ -1478,7 +1478,7 @@ public static void indexsv(MemorySegment c) { } public static void indexsv(SegmentAllocator allocator, short[] c) { - indexsv(allocator.allocateArray(JAVA_SHORT, c)); + indexsv(allocator.allocateFrom(JAVA_SHORT, c)); } public static void initNames() { @@ -1518,7 +1518,7 @@ public static void lightModelfv(int pname, MemorySegment params) { } public static void lightModelfv(SegmentAllocator allocator, int pname, float[] params) { - lightModelfv(pname, allocator.allocateArray(JAVA_FLOAT, params)); + lightModelfv(pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void lightModeli(int pname, int param) { @@ -1540,7 +1540,7 @@ public static void lightModeliv(int pname, MemorySegment params) { } public static void lightModeliv(SegmentAllocator allocator, int pname, int[] params) { - lightModeliv(pname, allocator.allocateArray(JAVA_INT, params)); + lightModeliv(pname, allocator.allocateFrom(JAVA_INT, params)); } public static void lightf(int light, int pname, float param) { @@ -1562,7 +1562,7 @@ public static void lightfv(int light, int pname, MemorySegment params) { } public static void lightfv(SegmentAllocator allocator, int light, int pname, float[] params) { - lightfv(light, pname, allocator.allocateArray(JAVA_FLOAT, params)); + lightfv(light, pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void lighti(int light, int pname, int param) { @@ -1584,7 +1584,7 @@ public static void lightiv(int light, int pname, MemorySegment params) { } public static void lightiv(SegmentAllocator allocator, int light, int pname, int[] params) { - lightiv(light, pname, allocator.allocateArray(JAVA_INT, params)); + lightiv(light, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void lineStipple(int factor, short pattern) { @@ -1624,7 +1624,7 @@ public static void loadMatrixd(MemorySegment m) { } public static void loadMatrixd(SegmentAllocator allocator, double[] m) { - loadMatrixd(allocator.allocateArray(JAVA_DOUBLE, m)); + loadMatrixd(allocator.allocateFrom(JAVA_DOUBLE, m)); } public static void loadMatrixf(MemorySegment m) { @@ -1637,7 +1637,7 @@ public static void loadMatrixf(MemorySegment m) { } public static void loadMatrixf(SegmentAllocator allocator, float[] m) { - loadMatrixf(allocator.allocateArray(JAVA_FLOAT, m)); + loadMatrixf(allocator.allocateFrom(JAVA_FLOAT, m)); } public static void loadName(int name) { @@ -1659,7 +1659,7 @@ public static void map1d(int target, double u1, double u2, int stride, int order } public static void map1d(SegmentAllocator allocator, int target, double u1, double u2, int stride, int order, double[] points) { - map1d(target, u1, u2, stride, order, allocator.allocateArray(JAVA_DOUBLE, points)); + map1d(target, u1, u2, stride, order, allocator.allocateFrom(JAVA_DOUBLE, points)); } public static void map1f(int target, float u1, float u2, int stride, int order, MemorySegment points) { @@ -1672,7 +1672,7 @@ public static void map1f(int target, float u1, float u2, int stride, int order, } public static void map1f(SegmentAllocator allocator, int target, float u1, float u2, int stride, int order, float[] points) { - map1f(target, u1, u2, stride, order, allocator.allocateArray(JAVA_FLOAT, points)); + map1f(target, u1, u2, stride, order, allocator.allocateFrom(JAVA_FLOAT, points)); } public static void map2d(int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, MemorySegment points) { @@ -1685,7 +1685,7 @@ public static void map2d(int target, double u1, double u2, int ustride, int uord } public static void map2d(SegmentAllocator allocator, int target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double[] points) { - map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, allocator.allocateArray(JAVA_DOUBLE, points)); + map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, allocator.allocateFrom(JAVA_DOUBLE, points)); } public static void map2f(int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, MemorySegment points) { @@ -1698,7 +1698,7 @@ public static void map2f(int target, float u1, float u2, int ustride, int uorder } public static void map2f(SegmentAllocator allocator, int target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float[] points) { - map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, allocator.allocateArray(JAVA_FLOAT, points)); + map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, allocator.allocateFrom(JAVA_FLOAT, points)); } public static void mapGrid1d(int un, double u1, double u2) { @@ -1756,7 +1756,7 @@ public static void materialfv(int face, int pname, MemorySegment params) { } public static void materialfv(SegmentAllocator allocator, int face, int pname, float[] params) { - materialfv(face, pname, allocator.allocateArray(JAVA_FLOAT, params)); + materialfv(face, pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void materiali(int face, int pname, int param) { @@ -1778,7 +1778,7 @@ public static void materialiv(int face, int pname, MemorySegment params) { } public static void materialiv(SegmentAllocator allocator, int face, int pname, int[] params) { - materialiv(face, pname, allocator.allocateArray(JAVA_INT, params)); + materialiv(face, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void matrixMode(int mode) { @@ -1800,7 +1800,7 @@ public static void multMatrixd(MemorySegment m) { } public static void multMatrixd(SegmentAllocator allocator, double[] m) { - multMatrixd(allocator.allocateArray(JAVA_DOUBLE, m)); + multMatrixd(allocator.allocateFrom(JAVA_DOUBLE, m)); } public static void multMatrixf(MemorySegment m) { @@ -1813,7 +1813,7 @@ public static void multMatrixf(MemorySegment m) { } public static void multMatrixf(SegmentAllocator allocator, float[] m) { - multMatrixf(allocator.allocateArray(JAVA_FLOAT, m)); + multMatrixf(allocator.allocateFrom(JAVA_FLOAT, m)); } public static void newList(int list, int mode) { @@ -1844,7 +1844,7 @@ public static void normal3bv(MemorySegment v) { } public static void normal3bv(SegmentAllocator allocator, byte[] v) { - normal3bv(allocator.allocateArray(JAVA_BYTE, v)); + normal3bv(allocator.allocateFrom(JAVA_BYTE, v)); } public static void normal3d(double nx, double ny, double nz) { @@ -1866,7 +1866,7 @@ public static void normal3dv(MemorySegment v) { } public static void normal3dv(SegmentAllocator allocator, double[] v) { - normal3dv(allocator.allocateArray(JAVA_DOUBLE, v)); + normal3dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void normal3f(float nx, float ny, float nz) { @@ -1888,7 +1888,7 @@ public static void normal3fv(MemorySegment v) { } public static void normal3fv(SegmentAllocator allocator, float[] v) { - normal3fv(allocator.allocateArray(JAVA_FLOAT, v)); + normal3fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void normal3i(int nx, int ny, int nz) { @@ -1910,7 +1910,7 @@ public static void normal3iv(MemorySegment v) { } public static void normal3iv(SegmentAllocator allocator, int[] v) { - normal3iv(allocator.allocateArray(JAVA_INT, v)); + normal3iv(allocator.allocateFrom(JAVA_INT, v)); } public static void normal3s(short nx, short ny, short nz) { @@ -1932,7 +1932,7 @@ public static void normal3sv(MemorySegment v) { } public static void normal3sv(SegmentAllocator allocator, short[] v) { - normal3sv(allocator.allocateArray(JAVA_SHORT, v)); + normal3sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void ortho(double left, double right, double bottom, double top, double zNear, double zFar) { @@ -1963,7 +1963,7 @@ public static void pixelMapfv(int map, int mapSize, MemorySegment values) { } public static void pixelMapfv(SegmentAllocator allocator, int map, float[] values) { - pixelMapfv(map, values.length, allocator.allocateArray(JAVA_FLOAT, values)); + pixelMapfv(map, values.length, allocator.allocateFrom(JAVA_FLOAT, values)); } public static void pixelMapuiv(int map, int mapSize, MemorySegment values) { @@ -1976,7 +1976,7 @@ public static void pixelMapuiv(int map, int mapSize, MemorySegment values) { } public static void pixelMapuiv(SegmentAllocator allocator, int map, int[] values) { - pixelMapuiv(map, values.length, allocator.allocateArray(JAVA_INT, values)); + pixelMapuiv(map, values.length, allocator.allocateFrom(JAVA_INT, values)); } public static void pixelMapusv(int map, int mapSize, MemorySegment values) { @@ -1989,7 +1989,7 @@ public static void pixelMapusv(int map, int mapSize, MemorySegment values) { } public static void pixelMapusv(SegmentAllocator allocator, int map, short[] values) { - pixelMapusv(map, values.length, allocator.allocateArray(JAVA_SHORT, values)); + pixelMapusv(map, values.length, allocator.allocateFrom(JAVA_SHORT, values)); } public static void pixelTransferf(int pname, float param) { @@ -2029,7 +2029,7 @@ public static void polygonStipple(MemorySegment mask) { } public static void polygonStipple(SegmentAllocator allocator, byte[] mask) { - polygonStipple(allocator.allocateArray(JAVA_BYTE, mask)); + polygonStipple(allocator.allocateFrom(JAVA_BYTE, mask)); } public static void popAttrib() { @@ -2105,7 +2105,7 @@ public static void rasterPos2dv(MemorySegment v) { } public static void rasterPos2dv(SegmentAllocator allocator, double[] v) { - rasterPos2dv(allocator.allocateArray(JAVA_DOUBLE, v)); + rasterPos2dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void rasterPos2f(float x, float y) { @@ -2127,7 +2127,7 @@ public static void rasterPos2fv(MemorySegment v) { } public static void rasterPos2fv(SegmentAllocator allocator, float[] v) { - rasterPos2fv(allocator.allocateArray(JAVA_FLOAT, v)); + rasterPos2fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void rasterPos2i(int x, int y) { @@ -2149,7 +2149,7 @@ public static void rasterPos2iv(MemorySegment v) { } public static void rasterPos2iv(SegmentAllocator allocator, int[] v) { - rasterPos2iv(allocator.allocateArray(JAVA_INT, v)); + rasterPos2iv(allocator.allocateFrom(JAVA_INT, v)); } public static void rasterPos2s(short x, short y) { @@ -2171,7 +2171,7 @@ public static void rasterPos2sv(MemorySegment v) { } public static void rasterPos2sv(SegmentAllocator allocator, short[] v) { - rasterPos2sv(allocator.allocateArray(JAVA_SHORT, v)); + rasterPos2sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void rasterPos3d(double x, double y, double z) { @@ -2193,7 +2193,7 @@ public static void rasterPos3dv(MemorySegment v) { } public static void rasterPos3dv(SegmentAllocator allocator, double[] v) { - rasterPos3dv(allocator.allocateArray(JAVA_DOUBLE, v)); + rasterPos3dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void rasterPos3f(float x, float y, float z) { @@ -2215,7 +2215,7 @@ public static void rasterPos3fv(MemorySegment v) { } public static void rasterPos3fv(SegmentAllocator allocator, float[] v) { - rasterPos3fv(allocator.allocateArray(JAVA_FLOAT, v)); + rasterPos3fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void rasterPos3i(int x, int y, int z) { @@ -2237,7 +2237,7 @@ public static void rasterPos3iv(MemorySegment v) { } public static void rasterPos3iv(SegmentAllocator allocator, int[] v) { - rasterPos3iv(allocator.allocateArray(JAVA_INT, v)); + rasterPos3iv(allocator.allocateFrom(JAVA_INT, v)); } public static void rasterPos3s(short x, short y, short z) { @@ -2259,7 +2259,7 @@ public static void rasterPos3sv(MemorySegment v) { } public static void rasterPos3sv(SegmentAllocator allocator, short[] v) { - rasterPos3sv(allocator.allocateArray(JAVA_SHORT, v)); + rasterPos3sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void rasterPos4d(double x, double y, double z, double w) { @@ -2281,7 +2281,7 @@ public static void rasterPos4dv(MemorySegment v) { } public static void rasterPos4dv(SegmentAllocator allocator, double[] v) { - rasterPos4dv(allocator.allocateArray(JAVA_DOUBLE, v)); + rasterPos4dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void rasterPos4f(float x, float y, float z, float w) { @@ -2303,7 +2303,7 @@ public static void rasterPos4fv(MemorySegment v) { } public static void rasterPos4fv(SegmentAllocator allocator, float[] v) { - rasterPos4fv(allocator.allocateArray(JAVA_FLOAT, v)); + rasterPos4fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void rasterPos4i(int x, int y, int z, int w) { @@ -2325,7 +2325,7 @@ public static void rasterPos4iv(MemorySegment v) { } public static void rasterPos4iv(SegmentAllocator allocator, int[] v) { - rasterPos4iv(allocator.allocateArray(JAVA_INT, v)); + rasterPos4iv(allocator.allocateFrom(JAVA_INT, v)); } public static void rasterPos4s(short x, short y, short z, short w) { @@ -2347,7 +2347,7 @@ public static void rasterPos4sv(MemorySegment v) { } public static void rasterPos4sv(SegmentAllocator allocator, short[] v) { - rasterPos4sv(allocator.allocateArray(JAVA_SHORT, v)); + rasterPos4sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void rectd(double x1, double y1, double x2, double y2) { @@ -2369,7 +2369,7 @@ public static void rectdv(MemorySegment v1, MemorySegment v2) { } public static void rectdv(SegmentAllocator allocator, double[] v1, double[] v2) { - rectdv(allocator.allocateArray(JAVA_DOUBLE, v1), allocator.allocateArray(JAVA_DOUBLE, v2)); + rectdv(allocator.allocateFrom(JAVA_DOUBLE, v1), allocator.allocateFrom(JAVA_DOUBLE, v2)); } public static void rectf(float x1, float y1, float x2, float y2) { @@ -2391,7 +2391,7 @@ public static void rectfv(MemorySegment v1, MemorySegment v2) { } public static void rectfv(SegmentAllocator allocator, float[] v1, float[] v2) { - rectfv(allocator.allocateArray(JAVA_FLOAT, v1), allocator.allocateArray(JAVA_FLOAT, v2)); + rectfv(allocator.allocateFrom(JAVA_FLOAT, v1), allocator.allocateFrom(JAVA_FLOAT, v2)); } public static void recti(int x1, int y1, int x2, int y2) { @@ -2413,7 +2413,7 @@ public static void rectiv(MemorySegment v1, MemorySegment v2) { } public static void rectiv(SegmentAllocator allocator, int[] v1, int[] v2) { - rectiv(allocator.allocateArray(JAVA_INT, v1), allocator.allocateArray(JAVA_INT, v2)); + rectiv(allocator.allocateFrom(JAVA_INT, v1), allocator.allocateFrom(JAVA_INT, v2)); } public static void rects(short x1, short y1, short x2, short y2) { @@ -2435,7 +2435,7 @@ public static void rectsv(MemorySegment v1, MemorySegment v2) { } public static void rectsv(SegmentAllocator allocator, short[] v1, short[] v2) { - rectsv(allocator.allocateArray(JAVA_SHORT, v1), allocator.allocateArray(JAVA_SHORT, v2)); + rectsv(allocator.allocateFrom(JAVA_SHORT, v1), allocator.allocateFrom(JAVA_SHORT, v2)); } public static int renderMode(int mode) { @@ -2493,7 +2493,7 @@ public static void selectBuffer(int size, MemorySegment buffer) { } public static void selectBuffer(SegmentAllocator allocator, int[] buffer) { - var seg = allocator.allocateArray(JAVA_INT, buffer.length); + var seg = allocator.allocateFrom(JAVA_INT, buffer); selectBuffer(buffer.length, seg); RuntimeHelper.toArray(seg, buffer); } @@ -2526,7 +2526,7 @@ public static void texCoord1dv(MemorySegment v) { } public static void texCoord1dv(SegmentAllocator allocator, double[] v) { - texCoord1dv(allocator.allocateArray(JAVA_DOUBLE, v)); + texCoord1dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void texCoord1f(float s) { @@ -2548,7 +2548,7 @@ public static void texCoord1fv(MemorySegment v) { } public static void texCoord1fv(SegmentAllocator allocator, float[] v) { - texCoord1fv(allocator.allocateArray(JAVA_FLOAT, v)); + texCoord1fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void texCoord1i(int s) { @@ -2570,7 +2570,7 @@ public static void texCoord1iv(MemorySegment v) { } public static void texCoord1iv(SegmentAllocator allocator, int[] v) { - texCoord1iv(allocator.allocateArray(JAVA_INT, v)); + texCoord1iv(allocator.allocateFrom(JAVA_INT, v)); } public static void texCoord1s(short s) { @@ -2592,7 +2592,7 @@ public static void texCoord1sv(MemorySegment v) { } public static void texCoord1sv(SegmentAllocator allocator, short[] v) { - texCoord1sv(allocator.allocateArray(JAVA_SHORT, v)); + texCoord1sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void texCoord2d(double s, double t) { @@ -2614,7 +2614,7 @@ public static void texCoord2dv(MemorySegment v) { } public static void texCoord2dv(SegmentAllocator allocator, double[] v) { - texCoord2dv(allocator.allocateArray(JAVA_DOUBLE, v)); + texCoord2dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void texCoord2f(float s, float t) { @@ -2636,7 +2636,7 @@ public static void texCoord2fv(MemorySegment v) { } public static void texCoord2fv(SegmentAllocator allocator, float[] v) { - texCoord2fv(allocator.allocateArray(JAVA_FLOAT, v)); + texCoord2fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void texCoord2i(int s, int t) { @@ -2658,7 +2658,7 @@ public static void texCoord2iv(MemorySegment v) { } public static void texCoord2iv(SegmentAllocator allocator, int[] v) { - texCoord2iv(allocator.allocateArray(JAVA_INT, v)); + texCoord2iv(allocator.allocateFrom(JAVA_INT, v)); } public static void texCoord2s(short s, short t) { @@ -2680,7 +2680,7 @@ public static void texCoord2sv(MemorySegment v) { } public static void texCoord2sv(SegmentAllocator allocator, short[] v) { - texCoord2sv(allocator.allocateArray(JAVA_SHORT, v)); + texCoord2sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void texCoord3d(double s, double t, double r) { @@ -2702,7 +2702,7 @@ public static void texCoord3dv(MemorySegment v) { } public static void texCoord3dv(SegmentAllocator allocator, double[] v) { - texCoord3dv(allocator.allocateArray(JAVA_DOUBLE, v)); + texCoord3dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void texCoord3f(float s, float t, float r) { @@ -2724,7 +2724,7 @@ public static void texCoord3fv(MemorySegment v) { } public static void texCoord3fv(SegmentAllocator allocator, float[] v) { - texCoord3fv(allocator.allocateArray(JAVA_FLOAT, v)); + texCoord3fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void texCoord3i(int s, int t, int r) { @@ -2746,7 +2746,7 @@ public static void texCoord3iv(MemorySegment v) { } public static void texCoord3iv(SegmentAllocator allocator, int[] v) { - texCoord3iv(allocator.allocateArray(JAVA_INT, v)); + texCoord3iv(allocator.allocateFrom(JAVA_INT, v)); } public static void texCoord3s(short s, short t, short r) { @@ -2768,7 +2768,7 @@ public static void texCoord3sv(MemorySegment v) { } public static void texCoord3sv(SegmentAllocator allocator, short[] v) { - texCoord3sv(allocator.allocateArray(JAVA_SHORT, v)); + texCoord3sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void texCoord4d(double s, double t, double r, double q) { @@ -2790,7 +2790,7 @@ public static void texCoord4dv(MemorySegment v) { } public static void texCoord4dv(SegmentAllocator allocator, double[] v) { - texCoord4dv(allocator.allocateArray(JAVA_DOUBLE, v)); + texCoord4dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void texCoord4f(float s, float t, float r, float q) { @@ -2812,7 +2812,7 @@ public static void texCoord4fv(MemorySegment v) { } public static void texCoord4fv(SegmentAllocator allocator, float[] v) { - texCoord4fv(allocator.allocateArray(JAVA_FLOAT, v)); + texCoord4fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void texCoord4i(int s, int t, int r, int q) { @@ -2834,7 +2834,7 @@ public static void texCoord4iv(MemorySegment v) { } public static void texCoord4iv(SegmentAllocator allocator, int[] v) { - texCoord4iv(allocator.allocateArray(JAVA_INT, v)); + texCoord4iv(allocator.allocateFrom(JAVA_INT, v)); } public static void texCoord4s(short s, short t, short r, short q) { @@ -2856,7 +2856,7 @@ public static void texCoord4sv(MemorySegment v) { } public static void texCoord4sv(SegmentAllocator allocator, short[] v) { - texCoord4sv(allocator.allocateArray(JAVA_SHORT, v)); + texCoord4sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void texEnvf(int target, int pname, float param) { @@ -2878,7 +2878,7 @@ public static void texEnvfv(int target, int pname, MemorySegment params) { } public static void texEnvfv(SegmentAllocator allocator, int target, int pname, float[] params) { - texEnvfv(target, pname, allocator.allocateArray(JAVA_FLOAT, params)); + texEnvfv(target, pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void texEnvi(int target, int pname, int param) { @@ -2900,7 +2900,7 @@ public static void texEnviv(int target, int pname, MemorySegment params) { } public static void texEnviv(SegmentAllocator allocator, int target, int pname, int[] params) { - texEnviv(target, pname, allocator.allocateArray(JAVA_INT, params)); + texEnviv(target, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void texGend(int coord, int pname, double param) { @@ -2922,7 +2922,7 @@ public static void texGendv(int coord, int pname, MemorySegment params) { } public static void texGendv(SegmentAllocator allocator, int coord, int pname, double[] params) { - texGendv(coord, pname, allocator.allocateArray(JAVA_DOUBLE, params)); + texGendv(coord, pname, allocator.allocateFrom(JAVA_DOUBLE, params)); } public static void texGenf(int coord, int pname, float param) { @@ -2944,7 +2944,7 @@ public static void texGenfv(int coord, int pname, MemorySegment params) { } public static void texGenfv(SegmentAllocator allocator, int coord, int pname, float[] params) { - texGenfv(coord, pname, allocator.allocateArray(JAVA_FLOAT, params)); + texGenfv(coord, pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void texGeni(int coord, int pname, int param) { @@ -2966,7 +2966,7 @@ public static void texGeniv(int coord, int pname, MemorySegment params) { } public static void texGeniv(SegmentAllocator allocator, int coord, int pname, int[] params) { - texGeniv(coord, pname, allocator.allocateArray(JAVA_INT, params)); + texGeniv(coord, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void translated(double x, double y, double z) { @@ -3006,7 +3006,7 @@ public static void vertex2dv(MemorySegment v) { } public static void vertex2dv(SegmentAllocator allocator, double[] v) { - vertex2dv(allocator.allocateArray(JAVA_DOUBLE, v)); + vertex2dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertex2f(float x, float y) { @@ -3028,7 +3028,7 @@ public static void vertex2fv(MemorySegment v) { } public static void vertex2fv(SegmentAllocator allocator, float[] v) { - vertex2fv(allocator.allocateArray(JAVA_FLOAT, v)); + vertex2fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void vertex2i(int x, int y) { @@ -3050,7 +3050,7 @@ public static void vertex2iv(MemorySegment v) { } public static void vertex2iv(SegmentAllocator allocator, int[] v) { - vertex2iv(allocator.allocateArray(JAVA_INT, v)); + vertex2iv(allocator.allocateFrom(JAVA_INT, v)); } public static void vertex2s(short x, short y) { @@ -3072,7 +3072,7 @@ public static void vertex2sv(MemorySegment v) { } public static void vertex2sv(SegmentAllocator allocator, short[] v) { - vertex2sv(allocator.allocateArray(JAVA_SHORT, v)); + vertex2sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertex3d(double x, double y, double z) { @@ -3094,7 +3094,7 @@ public static void vertex3dv(MemorySegment v) { } public static void vertex3dv(SegmentAllocator allocator, double[] v) { - vertex3dv(allocator.allocateArray(JAVA_DOUBLE, v)); + vertex3dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertex3f(float x, float y, float z) { @@ -3116,7 +3116,7 @@ public static void vertex3fv(MemorySegment v) { } public static void vertex3fv(SegmentAllocator allocator, float[] v) { - vertex3fv(allocator.allocateArray(JAVA_FLOAT, v)); + vertex3fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void vertex3i(int x, int y, int z) { @@ -3138,7 +3138,7 @@ public static void vertex3iv(MemorySegment v) { } public static void vertex3iv(SegmentAllocator allocator, int[] v) { - vertex3iv(allocator.allocateArray(JAVA_INT, v)); + vertex3iv(allocator.allocateFrom(JAVA_INT, v)); } public static void vertex3s(short x, short y, short z) { @@ -3160,7 +3160,7 @@ public static void vertex3sv(MemorySegment v) { } public static void vertex3sv(SegmentAllocator allocator, short[] v) { - vertex3sv(allocator.allocateArray(JAVA_SHORT, v)); + vertex3sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertex4d(double x, double y, double z, double w) { @@ -3182,7 +3182,7 @@ public static void vertex4dv(MemorySegment v) { } public static void vertex4dv(SegmentAllocator allocator, double[] v) { - vertex4dv(allocator.allocateArray(JAVA_DOUBLE, v)); + vertex4dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertex4f(float x, float y, float z, float w) { @@ -3204,7 +3204,7 @@ public static void vertex4fv(MemorySegment v) { } public static void vertex4fv(SegmentAllocator allocator, float[] v) { - vertex4fv(allocator.allocateArray(JAVA_FLOAT, v)); + vertex4fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void vertex4i(int x, int y, int z, int w) { @@ -3226,7 +3226,7 @@ public static void vertex4iv(MemorySegment v) { } public static void vertex4iv(SegmentAllocator allocator, int[] v) { - vertex4iv(allocator.allocateArray(JAVA_INT, v)); + vertex4iv(allocator.allocateFrom(JAVA_INT, v)); } public static void vertex4s(short x, short y, short z, short w) { @@ -3248,6 +3248,6 @@ public static void vertex4sv(MemorySegment v) { } public static void vertex4sv(SegmentAllocator allocator, short[] v) { - vertex4sv(allocator.allocateArray(JAVA_SHORT, v)); + vertex4sv(allocator.allocateFrom(JAVA_SHORT, v)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java index 51eb83a9..0e53af2c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL10C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -428,7 +428,7 @@ public static void getBooleanv(int pname, MemorySegment data) { } public static void getBooleanv(SegmentAllocator allocator, int pname, boolean[] data) { - var pData = allocator.allocateArray(JAVA_BOOLEAN, data.length); + var pData = allocator.allocate(JAVA_BOOLEAN, data.length); getBooleanv(pname, pData); RuntimeHelper.toArray(pData, data); } @@ -455,7 +455,7 @@ public static void getDoublev(int pname, MemorySegment data) { } public static void getDoublev(SegmentAllocator allocator, int pname, double[] data) { - var pData = allocator.allocateArray(JAVA_DOUBLE, data.length); + var pData = allocator.allocate(JAVA_DOUBLE, data.length); getDoublev(pname, pData); RuntimeHelper.toArray(pData, data); } @@ -491,7 +491,7 @@ public static void getFloatv(int pname, MemorySegment data) { } public static void getFloatv(SegmentAllocator allocator, int pname, float[] data) { - var pData = allocator.allocateArray(JAVA_FLOAT, data.length); + var pData = allocator.allocate(JAVA_FLOAT, data.length); getFloatv(pname, pData); RuntimeHelper.toArray(pData, data); } @@ -518,7 +518,7 @@ public static void getIntegerv(int pname, MemorySegment data) { } public static void getIntegerv(SegmentAllocator allocator, int pname, int[] data) { - var pData = allocator.allocateArray(JAVA_INT, data.length); + var pData = allocator.allocate(JAVA_INT, data.length); getIntegerv(pname, pData); RuntimeHelper.toArray(pData, data); } @@ -547,7 +547,7 @@ public static MemorySegment ngetString(int name) { @Nullable public static String getString(int name) { var pStr = ngetString(name); - return RuntimeHelper.isNullptr(pStr) ? null : pStr.getUtf8String(0); + return RuntimeHelper.isNullptr(pStr) ? null : pStr.getString(0); } public static void getTexImage(int target, int level, int format, int type, MemorySegment pixels) { @@ -569,7 +569,7 @@ public static void getTexLevelParameterfv(int target, int level, int pname, Memo } public static void getTexLevelParameterfv(SegmentAllocator allocator, int target, int level, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocate(JAVA_FLOAT, params.length); getTexLevelParameterfv(target, level, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -596,7 +596,7 @@ public static void getTexLevelParameteriv(int target, int level, int pname, Memo } public static void getTexLevelParameteriv(SegmentAllocator allocator, int target, int level, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocate(JAVA_INT, params.length); getTexLevelParameteriv(target, level, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -623,7 +623,7 @@ public static void getTexParameterfv(int target, int pname, MemorySegment params } public static void getTexParameterfv(SegmentAllocator allocator, int target, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocate(JAVA_FLOAT, params.length); getTexParameterfv(target, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -650,7 +650,7 @@ public static void getTexParameteriv(int target, int pname, MemorySegment params } public static void getTexParameteriv(SegmentAllocator allocator, int target, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocate(JAVA_INT, params.length); getTexParameteriv(target, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -758,25 +758,25 @@ public static void readPixels(int x, int y, int width, int height, int format, i } public static void readPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, byte[] pixels) { - var seg = allocator.allocateArray(JAVA_BYTE, pixels.length); + var seg = allocator.allocate(JAVA_BYTE, pixels.length); readPixels(x, y, width, height, format, type, seg); RuntimeHelper.toArray(seg, pixels); } public static void readPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, short[] pixels) { - var seg = allocator.allocateArray(JAVA_SHORT, pixels.length); + var seg = allocator.allocate(JAVA_SHORT, pixels.length); readPixels(x, y, width, height, format, type, seg); RuntimeHelper.toArray(seg, pixels); } public static void readPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, int[] pixels) { - var seg = allocator.allocateArray(JAVA_INT, pixels.length); + var seg = allocator.allocate(JAVA_INT, pixels.length); readPixels(x, y, width, height, format, type, seg); RuntimeHelper.toArray(seg, pixels); } public static void readPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, float[] pixels) { - var seg = allocator.allocateArray(JAVA_FLOAT, pixels.length); + var seg = allocator.allocate(JAVA_FLOAT, pixels.length); readPixels(x, y, width, height, format, type, seg); RuntimeHelper.toArray(seg, pixels); } @@ -827,19 +827,19 @@ public static void texImage1D(int target, int level, int internalFormat, int wid } public static void texImage1D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int border, int format, int type, byte[] pixels) { - texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void texImage1D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int border, int format, int type, short[] pixels) { - texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void texImage1D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int border, int format, int type, int[] pixels) { - texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateArray(JAVA_INT, pixels)); + texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void texImage1D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int border, int format, int type, float[] pixels) { - texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + texImage1D(target, level, internalFormat, width, border, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } public static void texImage2D(int target, int level, int internalFormat, int width, int height, int border, int format, int type, MemorySegment pixels) { @@ -852,19 +852,19 @@ public static void texImage2D(int target, int level, int internalFormat, int wid } public static void texImage2D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int border, int format, int type, byte[] pixels) { - texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void texImage2D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int border, int format, int type, short[] pixels) { - texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void texImage2D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int border, int format, int type, int[] pixels) { - texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateArray(JAVA_INT, pixels)); + texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void texImage2D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int border, int format, int type, float[] pixels) { - texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + texImage2D(target, level, internalFormat, width, height, border, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } public static void texParameterf(int target, int pname, float param) { @@ -886,7 +886,7 @@ public static void texParameterfv(int target, int pname, MemorySegment params) { } public static void texParameterfv(SegmentAllocator allocator, int target, int pname, float[] params) { - texParameterfv(target, pname, allocator.allocateArray(JAVA_FLOAT, params)); + texParameterfv(target, pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void texParameteri(int target, int pname, int param) { @@ -908,7 +908,7 @@ public static void texParameteriv(int target, int pname, MemorySegment params) { } public static void texParameteriv(SegmentAllocator allocator, int target, int pname, int[] params) { - texParameteriv(target, pname, allocator.allocateArray(JAVA_INT, params)); + texParameteriv(target, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void viewport(int x, int y, int width, int height) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11.java index 450c8d79..3fae162b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -391,8 +391,8 @@ public static boolean areTexturesResident(int n, MemorySegment textures, MemoryS public static boolean areTexturesResident(SegmentAllocator allocator, int[] textures, boolean[] residences) { final int n = textures.length; - var pTex = allocator.allocateArray(JAVA_INT, n); - var pRes = allocator.allocateArray(JAVA_BOOLEAN, n); + var pTex = allocator.allocate(JAVA_INT, n); + var pRes = allocator.allocate(JAVA_BOOLEAN, n); boolean b = areTexturesResident(n, pTex, pRes); for (int i = 0; i < n; i++) { textures[i] = pTex.getAtIndex(JAVA_INT, i); @@ -420,23 +420,23 @@ public static void colorPointer(int size, int type, int stride, MemorySegment po } public static void colorPointer(SegmentAllocator allocator, int size, int type, int stride, byte[] pointer) { - colorPointer(size, type, stride, allocator.allocateArray(JAVA_BYTE, pointer)); + colorPointer(size, type, stride, allocator.allocateFrom(JAVA_BYTE, pointer)); } public static void colorPointer(SegmentAllocator allocator, int size, int type, int stride, short[] pointer) { - colorPointer(size, type, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + colorPointer(size, type, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void colorPointer(SegmentAllocator allocator, int size, int type, int stride, int[] pointer) { - colorPointer(size, type, stride, allocator.allocateArray(JAVA_INT, pointer)); + colorPointer(size, type, stride, allocator.allocateFrom(JAVA_INT, pointer)); } public static void colorPointer(SegmentAllocator allocator, int size, int type, int stride, float[] pointer) { - colorPointer(size, type, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + colorPointer(size, type, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void colorPointer(SegmentAllocator allocator, int size, int type, int stride, double[] pointer) { - colorPointer(size, type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + colorPointer(size, type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } public static void disableClientState(int array) { @@ -476,23 +476,23 @@ public static void indexPointer(int type, int stride, MemorySegment pointer) { } public static void indexPointer(SegmentAllocator allocator, int type, int stride, byte[] pointer) { - indexPointer(type, stride, allocator.allocateArray(JAVA_BYTE, pointer)); + indexPointer(type, stride, allocator.allocateFrom(JAVA_BYTE, pointer)); } public static void indexPointer(SegmentAllocator allocator, int type, int stride, short[] pointer) { - indexPointer(type, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + indexPointer(type, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void indexPointer(SegmentAllocator allocator, int type, int stride, int[] pointer) { - indexPointer(type, stride, allocator.allocateArray(JAVA_INT, pointer)); + indexPointer(type, stride, allocator.allocateFrom(JAVA_INT, pointer)); } public static void indexPointer(SegmentAllocator allocator, int type, int stride, float[] pointer) { - indexPointer(type, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + indexPointer(type, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void indexPointer(SegmentAllocator allocator, int type, int stride, double[] pointer) { - indexPointer(type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + indexPointer(type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } public static void indexub(byte c) { @@ -514,7 +514,7 @@ public static void indexubv(MemorySegment c) { } public static void indexubv(SegmentAllocator allocator, byte[] c) { - var pc = allocator.allocateArray(JAVA_BYTE, c); + var pc = allocator.allocateFrom(JAVA_BYTE, c); indexubv(pc); } @@ -528,7 +528,7 @@ public static void interleavedArrays(int format, int stride, MemorySegment point } public static void interleavedArrays(SegmentAllocator allocator, int format, int stride, float[] pointer) { - var pp = allocator.allocateArray(JAVA_FLOAT, pointer); + var pp = allocator.allocateFrom(JAVA_FLOAT, pointer); interleavedArrays(format, stride, pp); } @@ -542,23 +542,23 @@ public static void normalPointer(int type, int stride, MemorySegment pointer) { } public static void normalPointer(SegmentAllocator allocator, int type, int stride, byte[] pointer) { - normalPointer(type, stride, allocator.allocateArray(JAVA_BYTE, pointer)); + normalPointer(type, stride, allocator.allocateFrom(JAVA_BYTE, pointer)); } public static void normalPointer(SegmentAllocator allocator, int type, int stride, short[] pointer) { - normalPointer(type, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + normalPointer(type, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void normalPointer(SegmentAllocator allocator, int type, int stride, int[] pointer) { - normalPointer(type, stride, allocator.allocateArray(JAVA_INT, pointer)); + normalPointer(type, stride, allocator.allocateFrom(JAVA_INT, pointer)); } public static void normalPointer(SegmentAllocator allocator, int type, int stride, float[] pointer) { - normalPointer(type, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + normalPointer(type, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void normalPointer(SegmentAllocator allocator, int type, int stride, double[] pointer) { - normalPointer(type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + normalPointer(type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } public static void popClientAttrib() { @@ -581,8 +581,8 @@ public static void prioritizeTextures(int n, MemorySegment textures, MemorySegme public static void prioritizeTextures(SegmentAllocator allocator, int[] textures, float[] priorities) { final int n = textures.length; - var pTex = allocator.allocateArray(JAVA_INT, n); - var pPri = allocator.allocateArray(JAVA_FLOAT, n); + var pTex = allocator.allocate(JAVA_INT, n); + var pPri = allocator.allocate(JAVA_FLOAT, n); for (int i = 0; i < n; i++) { pTex.setAtIndex(JAVA_INT, i, textures[i]); pPri.setAtIndex(JAVA_FLOAT, i, priorities[i]); @@ -609,19 +609,19 @@ public static void texCoordPointer(int size, int type, int stride, MemorySegment } public static void texCoordPointer(SegmentAllocator allocator, int size, int type, int stride, short[] pointer) { - texCoordPointer(size, type, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + texCoordPointer(size, type, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void texCoordPointer(SegmentAllocator allocator, int size, int type, int stride, int[] pointer) { - texCoordPointer(size, type, stride, allocator.allocateArray(JAVA_INT, pointer)); + texCoordPointer(size, type, stride, allocator.allocateFrom(JAVA_INT, pointer)); } public static void texCoordPointer(SegmentAllocator allocator, int size, int type, int stride, float[] pointer) { - texCoordPointer(size, type, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + texCoordPointer(size, type, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void texCoordPointer(SegmentAllocator allocator, int size, int type, int stride, double[] pointer) { - texCoordPointer(size, type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + texCoordPointer(size, type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } public static void vertexPointer(int size, int type, int stride, MemorySegment pointer) { @@ -634,18 +634,18 @@ public static void vertexPointer(int size, int type, int stride, MemorySegment p } public static void vertexPointer(SegmentAllocator allocator, int size, int type, int stride, short[] pointer) { - vertexPointer(size, type, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + vertexPointer(size, type, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void vertexPointer(SegmentAllocator allocator, int size, int type, int stride, int[] pointer) { - vertexPointer(size, type, stride, allocator.allocateArray(JAVA_INT, pointer)); + vertexPointer(size, type, stride, allocator.allocateFrom(JAVA_INT, pointer)); } public static void vertexPointer(SegmentAllocator allocator, int size, int type, int stride, float[] pointer) { - vertexPointer(size, type, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + vertexPointer(size, type, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void vertexPointer(SegmentAllocator allocator, int size, int type, int stride, double[] pointer) { - vertexPointer(size, type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + vertexPointer(size, type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java index d5d96aa8..0145d20c 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL11C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -143,7 +143,7 @@ public static void deleteTextures(int n, MemorySegment textures) { } public static void deleteTextures(SegmentAllocator allocator, int[] textures) { - deleteTextures(textures.length, allocator.allocateArray(JAVA_INT, textures)); + deleteTextures(textures.length, allocator.allocateFrom(JAVA_INT, textures)); } public static void deleteTexture(int texture) { @@ -175,17 +175,17 @@ public static void drawElements(int mode, int count, int type, MemorySegment ind } public static void drawElements(SegmentAllocator allocator, int mode, int count, int type, byte[] indices) { - var seg = allocator.allocateArray(JAVA_BYTE, indices); + var seg = allocator.allocateFrom(JAVA_BYTE, indices); drawElements(mode, count, type, seg); } public static void drawElements(SegmentAllocator allocator, int mode, int count, int type, short[] indices) { - var seg = allocator.allocateArray(JAVA_SHORT, indices); + var seg = allocator.allocateFrom(JAVA_SHORT, indices); drawElements(mode, count, type, seg); } public static void drawElements(SegmentAllocator allocator, int mode, int count, int type, int[] indices) { - var seg = allocator.allocateArray(JAVA_INT, indices); + var seg = allocator.allocateFrom(JAVA_INT, indices); drawElements(mode, count, type, seg); } @@ -200,7 +200,7 @@ public static void genTextures(int n, MemorySegment textures) { public static void genTextures(SegmentAllocator allocator, int[] textures) { final int n = textures.length; - var pTex = allocator.allocateArray(JAVA_INT, n); + var pTex = allocator.allocate(JAVA_INT, n); genTextures(n, pTex); RuntimeHelper.toArray(pTex, textures); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL12C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL12C.java index 459700fe..6aaf560b 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL12C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL12C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -96,15 +96,15 @@ public static void drawRangeElements(int mode, int start, int end, int count, in } public static void drawRangeElements(SegmentAllocator allocator, int mode, int start, int end, int count, int type, byte[] indices) { - drawRangeElements(mode, start, end, count, type, allocator.allocateArray(JAVA_BYTE, indices)); + drawRangeElements(mode, start, end, count, type, allocator.allocateFrom(JAVA_BYTE, indices)); } public static void drawRangeElements(SegmentAllocator allocator, int mode, int start, int end, int count, int type, short[] indices) { - drawRangeElements(mode, start, end, count, type, allocator.allocateArray(JAVA_SHORT, indices)); + drawRangeElements(mode, start, end, count, type, allocator.allocateFrom(JAVA_SHORT, indices)); } public static void drawRangeElements(SegmentAllocator allocator, int mode, int start, int end, int count, int type, int[] indices) { - drawRangeElements(mode, start, end, count, type, allocator.allocateArray(JAVA_INT, indices)); + drawRangeElements(mode, start, end, count, type, allocator.allocateFrom(JAVA_INT, indices)); } public static void texImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, MemorySegment pixels) { @@ -117,19 +117,19 @@ public static void texImage3D(int target, int level, int internalFormat, int wid } public static void texImage3D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, byte[] pixels) { - texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void texImage3D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, short[] pixels) { - texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void texImage3D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, int[] pixels) { - texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateArray(JAVA_INT, pixels)); + texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void texImage3D(SegmentAllocator allocator, int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, float[] pixels) { - texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + texImage3D(target, level, internalFormat, width, height, depth, border, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } public static void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, MemorySegment pixels) { @@ -142,18 +142,18 @@ public static void texSubImage3D(int target, int level, int xoffset, int yoffset } public static void texSubImage3D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, byte[] pixels) { - texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void texSubImage3D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, short[] pixels) { - texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void texSubImage3D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int[] pixels) { - texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_INT, pixels)); + texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void texSubImage3D(SegmentAllocator allocator, int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, float[] pixels) { - texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java index 6070c386..f3e2b76f 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL13.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -136,7 +136,7 @@ public static void loadTransposeMatrixd(MemorySegment m) { } public static void loadTransposeMatrixd(SegmentAllocator allocator, double[] m) { - loadTransposeMatrixd(allocator.allocateArray(JAVA_DOUBLE, m)); + loadTransposeMatrixd(allocator.allocateFrom(JAVA_DOUBLE, m)); } public static void loadTransposeMatrixf(MemorySegment m) { @@ -149,7 +149,7 @@ public static void loadTransposeMatrixf(MemorySegment m) { } public static void loadTransposeMatrixf(SegmentAllocator allocator, float[] m) { - loadTransposeMatrixf(allocator.allocateArray(JAVA_FLOAT, m)); + loadTransposeMatrixf(allocator.allocateFrom(JAVA_FLOAT, m)); } public static void multTransposeMatrixd(MemorySegment m) { @@ -162,7 +162,7 @@ public static void multTransposeMatrixd(MemorySegment m) { } public static void multTransposeMatrixd(SegmentAllocator allocator, double[] m) { - multTransposeMatrixd(allocator.allocateArray(JAVA_DOUBLE, m)); + multTransposeMatrixd(allocator.allocateFrom(JAVA_DOUBLE, m)); } public static void multTransposeMatrixf(MemorySegment m) { @@ -175,7 +175,7 @@ public static void multTransposeMatrixf(MemorySegment m) { } public static void multTransposeMatrixf(SegmentAllocator allocator, float[] m) { - multTransposeMatrixf(allocator.allocateArray(JAVA_FLOAT, m)); + multTransposeMatrixf(allocator.allocateFrom(JAVA_FLOAT, m)); } public static void multiTexCoord1d(int target, double s) { @@ -197,7 +197,7 @@ public static void multiTexCoord1dv(int target, MemorySegment v) { } public static void multiTexCoord1dv(SegmentAllocator allocator, int target, double[] v) { - multiTexCoord1dv(target, allocator.allocateArray(JAVA_DOUBLE, v)); + multiTexCoord1dv(target, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void multiTexCoord1f(int target, float s) { @@ -219,7 +219,7 @@ public static void multiTexCoord1fv(int target, MemorySegment v) { } public static void multiTexCoord1fv(SegmentAllocator allocator, int target, float[] v) { - multiTexCoord1fv(target, allocator.allocateArray(JAVA_FLOAT, v)); + multiTexCoord1fv(target, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void multiTexCoord1i(int target, int s) { @@ -241,7 +241,7 @@ public static void multiTexCoord1iv(int target, MemorySegment v) { } public static void multiTexCoord1iv(SegmentAllocator allocator, int target, int[] v) { - multiTexCoord1iv(target, allocator.allocateArray(JAVA_INT, v)); + multiTexCoord1iv(target, allocator.allocateFrom(JAVA_INT, v)); } public static void multiTexCoord1s(int target, short s) { @@ -263,7 +263,7 @@ public static void multiTexCoord1sv(int target, MemorySegment v) { } public static void multiTexCoord1sv(SegmentAllocator allocator, int target, short[] v) { - multiTexCoord1sv(target, allocator.allocateArray(JAVA_SHORT, v)); + multiTexCoord1sv(target, allocator.allocateFrom(JAVA_SHORT, v)); } public static void multiTexCoord2d(int target, double s, double t) { @@ -285,7 +285,7 @@ public static void multiTexCoord2dv(int target, MemorySegment v) { } public static void multiTexCoord2dv(SegmentAllocator allocator, int target, double[] v) { - multiTexCoord2dv(target, allocator.allocateArray(JAVA_DOUBLE, v)); + multiTexCoord2dv(target, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void multiTexCoord2f(int target, float s, float t) { @@ -307,7 +307,7 @@ public static void multiTexCoord2fv(int target, MemorySegment v) { } public static void multiTexCoord2fv(SegmentAllocator allocator, int target, float[] v) { - multiTexCoord2fv(target, allocator.allocateArray(JAVA_FLOAT, v)); + multiTexCoord2fv(target, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void multiTexCoord2i(int target, int s, int t) { @@ -329,7 +329,7 @@ public static void multiTexCoord2iv(int target, MemorySegment v) { } public static void multiTexCoord2iv(SegmentAllocator allocator, int target, int[] v) { - multiTexCoord2iv(target, allocator.allocateArray(JAVA_INT, v)); + multiTexCoord2iv(target, allocator.allocateFrom(JAVA_INT, v)); } public static void multiTexCoord2s(int target, short s, short t) { @@ -351,7 +351,7 @@ public static void multiTexCoord2sv(int target, MemorySegment v) { } public static void multiTexCoord2sv(SegmentAllocator allocator, int target, short[] v) { - multiTexCoord2sv(target, allocator.allocateArray(JAVA_SHORT, v)); + multiTexCoord2sv(target, allocator.allocateFrom(JAVA_SHORT, v)); } public static void multiTexCoord3d(int target, double s, double t, double r) { @@ -373,7 +373,7 @@ public static void multiTexCoord3dv(int target, MemorySegment v) { } public static void multiTexCoord3dv(SegmentAllocator allocator, int target, double[] v) { - multiTexCoord3dv(target, allocator.allocateArray(JAVA_DOUBLE, v)); + multiTexCoord3dv(target, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void multiTexCoord3f(int target, float s, float t, float r) { @@ -395,7 +395,7 @@ public static void multiTexCoord3fv(int target, MemorySegment v) { } public static void multiTexCoord3fv(SegmentAllocator allocator, int target, float[] v) { - multiTexCoord3fv(target, allocator.allocateArray(JAVA_FLOAT, v)); + multiTexCoord3fv(target, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void multiTexCoord3i(int target, int s, int t, int r) { @@ -417,7 +417,7 @@ public static void multiTexCoord3iv(int target, MemorySegment v) { } public static void multiTexCoord3iv(SegmentAllocator allocator, int target, int[] v) { - multiTexCoord3iv(target, allocator.allocateArray(JAVA_INT, v)); + multiTexCoord3iv(target, allocator.allocateFrom(JAVA_INT, v)); } public static void multiTexCoord3s(int target, short s, short t, short r) { @@ -439,7 +439,7 @@ public static void multiTexCoord3sv(int target, MemorySegment v) { } public static void multiTexCoord3sv(SegmentAllocator allocator, int target, short[] v) { - multiTexCoord3sv(target, allocator.allocateArray(JAVA_SHORT, v)); + multiTexCoord3sv(target, allocator.allocateFrom(JAVA_SHORT, v)); } public static void multiTexCoord4d(int target, double s, double t, double r, double q) { @@ -461,7 +461,7 @@ public static void multiTexCoord4dv(int target, MemorySegment v) { } public static void multiTexCoord4dv(SegmentAllocator allocator, int target, double[] v) { - multiTexCoord4dv(target, allocator.allocateArray(JAVA_DOUBLE, v)); + multiTexCoord4dv(target, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void multiTexCoord4f(int target, float s, float t, float r, float q) { @@ -483,7 +483,7 @@ public static void multiTexCoord4fv(int target, MemorySegment v) { } public static void multiTexCoord4fv(SegmentAllocator allocator, int target, float[] v) { - multiTexCoord4fv(target, allocator.allocateArray(JAVA_FLOAT, v)); + multiTexCoord4fv(target, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void multiTexCoord4i(int target, int s, int t, int r, int q) { @@ -505,7 +505,7 @@ public static void multiTexCoord4iv(int target, MemorySegment v) { } public static void multiTexCoord4iv(SegmentAllocator allocator, int target, int[] v) { - multiTexCoord4iv(target, allocator.allocateArray(JAVA_INT, v)); + multiTexCoord4iv(target, allocator.allocateFrom(JAVA_INT, v)); } public static void multiTexCoord4s(int target, short s, short t, short r, short q) { @@ -527,6 +527,6 @@ public static void multiTexCoord4sv(int target, MemorySegment v) { } public static void multiTexCoord4sv(SegmentAllocator allocator, int target, short[] v) { - multiTexCoord4sv(target, allocator.allocateArray(JAVA_SHORT, v)); + multiTexCoord4sv(target, allocator.allocateFrom(JAVA_SHORT, v)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java index 596d064c..6f7e53a3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -88,11 +88,11 @@ public static void fogCoordPointer(int type, int stride, MemorySegment pointer) } public static void fogCoordPointer(SegmentAllocator allocator, int type, int stride, float[] pointer) { - fogCoordPointer(type, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + fogCoordPointer(type, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void fogCoordPointer(SegmentAllocator allocator, int type, int stride, double[] pointer) { - fogCoordPointer(type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + fogCoordPointer(type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } public static void fogCoordd(double coord) { @@ -114,7 +114,7 @@ public static void fogCoorddv(MemorySegment coord) { } public static void fogCoorddv(SegmentAllocator allocator, double[] coord) { - fogCoorddv(allocator.allocateArray(JAVA_DOUBLE, coord)); + fogCoorddv(allocator.allocateFrom(JAVA_DOUBLE, coord)); } public static void fogCoordf(float coord) { @@ -136,7 +136,7 @@ public static void fogCoordfv(MemorySegment coord) { } public static void fogCoordfv(SegmentAllocator allocator, float[] coord) { - fogCoordfv(allocator.allocateArray(JAVA_FLOAT, coord)); + fogCoordfv(allocator.allocateFrom(JAVA_FLOAT, coord)); } public static void secondaryColor3b(byte red, byte green, byte blue) { @@ -158,7 +158,7 @@ public static void secondaryColor3bv(MemorySegment v) { } public static void secondaryColor3bv(SegmentAllocator allocator, byte[] v) { - secondaryColor3bv(allocator.allocateArray(JAVA_BYTE, v)); + secondaryColor3bv(allocator.allocateFrom(JAVA_BYTE, v)); } public static void secondaryColor3d(double red, double green, double blue) { @@ -180,7 +180,7 @@ public static void secondaryColor3dv(MemorySegment v) { } public static void secondaryColor3dv(SegmentAllocator allocator, double[] v) { - secondaryColor3dv(allocator.allocateArray(JAVA_DOUBLE, v)); + secondaryColor3dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void secondaryColor3f(float red, float green, float blue) { @@ -202,7 +202,7 @@ public static void secondaryColor3fv(MemorySegment v) { } public static void secondaryColor3fv(SegmentAllocator allocator, float[] v) { - secondaryColor3fv(allocator.allocateArray(JAVA_FLOAT, v)); + secondaryColor3fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void secondaryColor3i(int red, int green, int blue) { @@ -224,7 +224,7 @@ public static void secondaryColor3iv(MemorySegment v) { } public static void secondaryColor3iv(SegmentAllocator allocator, int[] v) { - secondaryColor3iv(allocator.allocateArray(JAVA_INT, v)); + secondaryColor3iv(allocator.allocateFrom(JAVA_INT, v)); } public static void secondaryColor3s(short red, short green, short blue) { @@ -246,7 +246,7 @@ public static void secondaryColor3sv(MemorySegment v) { } public static void secondaryColor3sv(SegmentAllocator allocator, short[] v) { - secondaryColor3sv(allocator.allocateArray(JAVA_SHORT, v)); + secondaryColor3sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void secondaryColor3ub(byte red, byte green, byte blue) { @@ -268,7 +268,7 @@ public static void secondaryColor3ubv(MemorySegment v) { } public static void secondaryColor3ubv(SegmentAllocator allocator, byte[] v) { - secondaryColor3ubv(allocator.allocateArray(JAVA_BYTE, v)); + secondaryColor3ubv(allocator.allocateFrom(JAVA_BYTE, v)); } public static void secondaryColor3ui(int red, int green, int blue) { @@ -290,7 +290,7 @@ public static void secondaryColor3uiv(MemorySegment v) { } public static void secondaryColor3uiv(SegmentAllocator allocator, int[] v) { - secondaryColor3uiv(allocator.allocateArray(JAVA_INT, v)); + secondaryColor3uiv(allocator.allocateFrom(JAVA_INT, v)); } public static void secondaryColor3us(short red, short green, short blue) { @@ -312,7 +312,7 @@ public static void secondaryColor3usv(MemorySegment v) { } public static void secondaryColor3usv(SegmentAllocator allocator, short[] v) { - secondaryColor3usv(allocator.allocateArray(JAVA_SHORT, v)); + secondaryColor3usv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void secondaryColorPointer(int size, int type, int stride, MemorySegment pointer) { @@ -325,23 +325,23 @@ public static void secondaryColorPointer(int size, int type, int stride, MemoryS } public static void secondaryColorPointer(SegmentAllocator allocator, int size, int type, int stride, byte[] pointer) { - secondaryColorPointer(size, type, stride, allocator.allocateArray(JAVA_BYTE, pointer)); + secondaryColorPointer(size, type, stride, allocator.allocateFrom(JAVA_BYTE, pointer)); } public static void secondaryColorPointer(SegmentAllocator allocator, int size, int type, int stride, short[] pointer) { - secondaryColorPointer(size, type, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + secondaryColorPointer(size, type, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void secondaryColorPointer(SegmentAllocator allocator, int size, int type, int stride, int[] pointer) { - secondaryColorPointer(size, type, stride, allocator.allocateArray(JAVA_INT, pointer)); + secondaryColorPointer(size, type, stride, allocator.allocateFrom(JAVA_INT, pointer)); } public static void secondaryColorPointer(SegmentAllocator allocator, int size, int type, int stride, float[] pointer) { - secondaryColorPointer(size, type, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + secondaryColorPointer(size, type, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void secondaryColorPointer(SegmentAllocator allocator, int size, int type, int stride, double[] pointer) { - secondaryColorPointer(size, type, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + secondaryColorPointer(size, type, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } public static void windowPos2d(double x, double y) { @@ -363,7 +363,7 @@ public static void windowPos2dv(MemorySegment v) { } public static void windowPos2dv(SegmentAllocator allocator, double[] v) { - windowPos2dv(allocator.allocateArray(JAVA_DOUBLE, v)); + windowPos2dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void windowPos2f(float x, float y) { @@ -385,7 +385,7 @@ public static void windowPos2fv(MemorySegment v) { } public static void windowPos2fv(SegmentAllocator allocator, float[] v) { - windowPos2fv(allocator.allocateArray(JAVA_FLOAT, v)); + windowPos2fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void windowPos2i(int x, int y) { @@ -407,7 +407,7 @@ public static void windowPos2iv(MemorySegment v) { } public static void windowPos2iv(SegmentAllocator allocator, int[] v) { - windowPos2iv(allocator.allocateArray(JAVA_INT, v)); + windowPos2iv(allocator.allocateFrom(JAVA_INT, v)); } public static void windowPos2s(short x, short y) { @@ -429,7 +429,7 @@ public static void windowPos2sv(MemorySegment v) { } public static void windowPos2sv(SegmentAllocator allocator, short[] v) { - windowPos2sv(allocator.allocateArray(JAVA_SHORT, v)); + windowPos2sv(allocator.allocateFrom(JAVA_SHORT, v)); } public static void windowPos3d(double x, double y, double z) { @@ -451,7 +451,7 @@ public static void windowPos3dv(MemorySegment v) { } public static void windowPos3dv(SegmentAllocator allocator, double[] v) { - windowPos3dv(allocator.allocateArray(JAVA_DOUBLE, v)); + windowPos3dv(allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void windowPos3f(float x, float y, float z) { @@ -473,7 +473,7 @@ public static void windowPos3fv(MemorySegment v) { } public static void windowPos3fv(SegmentAllocator allocator, float[] v) { - windowPos3fv(allocator.allocateArray(JAVA_FLOAT, v)); + windowPos3fv(allocator.allocateFrom(JAVA_FLOAT, v)); } public static void windowPos3i(int x, int y, int z) { @@ -495,7 +495,7 @@ public static void windowPos3iv(MemorySegment v) { } public static void windowPos3iv(SegmentAllocator allocator, int[] v) { - windowPos3iv(allocator.allocateArray(JAVA_INT, v)); + windowPos3iv(allocator.allocateFrom(JAVA_INT, v)); } public static void windowPos3s(short x, short y, short z) { @@ -517,6 +517,6 @@ public static void windowPos3sv(MemorySegment v) { } public static void windowPos3sv(SegmentAllocator allocator, short[] v) { - windowPos3sv(allocator.allocateArray(JAVA_SHORT, v)); + windowPos3sv(allocator.allocateFrom(JAVA_SHORT, v)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java index c656e322..11d61147 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL14C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -124,7 +124,7 @@ public static void multiDrawArrays(int mode, MemorySegment first, MemorySegment } public static void multiDrawArrays(SegmentAllocator allocator, int mode, int[] first, int[] count, int drawCount) { - multiDrawArrays(mode, allocator.allocateArray(JAVA_INT, first), allocator.allocateArray(JAVA_INT, count), drawCount); + multiDrawArrays(mode, allocator.allocateFrom(JAVA_INT, first), allocator.allocateFrom(JAVA_INT, count), drawCount); } public static void multiDrawArrays(SegmentAllocator allocator, int mode, int[] first, int[] count) { @@ -141,11 +141,11 @@ public static void multiDrawElements(int mode, MemorySegment count, int type, Me } public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] count, int type, byte[][] indices, int drawCount) { - var seg = allocator.allocateArray(ADDRESS, indices.length); + var seg = allocator.allocate(ADDRESS, indices.length); for (int i = 0; i < indices.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateArray(JAVA_BYTE, indices[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(JAVA_BYTE, indices[i])); } - multiDrawElements(mode, allocator.allocateArray(JAVA_INT, count), type, seg, drawCount); + multiDrawElements(mode, allocator.allocateFrom(JAVA_INT, count), type, seg, drawCount); } public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] count, int type, byte[][] indices) { @@ -153,11 +153,11 @@ public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] } public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] count, int type, short[][] indices, int drawCount) { - var seg = allocator.allocateArray(ADDRESS, indices.length); + var seg = allocator.allocate(ADDRESS, indices.length); for (int i = 0; i < indices.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateArray(JAVA_SHORT, indices[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(JAVA_SHORT, indices[i])); } - multiDrawElements(mode, allocator.allocateArray(JAVA_INT, count), type, seg, drawCount); + multiDrawElements(mode, allocator.allocateFrom(JAVA_INT, count), type, seg, drawCount); } public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] count, int type, short[][] indices) { @@ -165,11 +165,11 @@ public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] } public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] count, int type, int[][] indices, int drawCount) { - var seg = allocator.allocateArray(ADDRESS, indices.length); + var seg = allocator.allocate(ADDRESS, indices.length); for (int i = 0; i < indices.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateArray(JAVA_INT, indices[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(JAVA_INT, indices[i])); } - multiDrawElements(mode, allocator.allocateArray(JAVA_INT, count), type, seg, drawCount); + multiDrawElements(mode, allocator.allocateFrom(JAVA_INT, count), type, seg, drawCount); } public static void multiDrawElements(SegmentAllocator allocator, int mode, int[] count, int type, int[][] indices) { @@ -195,7 +195,7 @@ public static void pointParameterfv(int pname, MemorySegment params) { } public static void pointParameterfv(SegmentAllocator allocator, int pname, float[] params) { - pointParameterfv(pname, allocator.allocateArray(JAVA_FLOAT, params)); + pointParameterfv(pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void pointParameteri(int pname, int param) { @@ -217,6 +217,6 @@ public static void pointParameteriv(int pname, MemorySegment params) { } public static void pointParameteriv(SegmentAllocator allocator, int pname, int[] params) { - pointParameteriv(pname, allocator.allocateArray(JAVA_INT, params)); + pointParameteriv(pname, allocator.allocateFrom(JAVA_INT, params)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java index a1aefc42..97c79447 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL15C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -134,27 +134,27 @@ public static void bufferData(int target, long size, int usage) { } public static void bufferData(SegmentAllocator allocator, int target, byte[] data, int usage) { - bufferData(target, Integer.toUnsignedLong(data.length), allocator.allocateArray(JAVA_BYTE, data), usage); + bufferData(target, Integer.toUnsignedLong(data.length), allocator.allocateFrom(JAVA_BYTE, data), usage); } public static void bufferData(SegmentAllocator allocator, int target, short[] data, int usage) { - bufferData(target, Integer.toUnsignedLong(data.length) << 1, allocator.allocateArray(JAVA_SHORT, data), usage); + bufferData(target, Integer.toUnsignedLong(data.length) << 1, allocator.allocateFrom(JAVA_SHORT, data), usage); } public static void bufferData(SegmentAllocator allocator, int target, int[] data, int usage) { - bufferData(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_INT, data), usage); + bufferData(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_INT, data), usage); } public static void bufferData(SegmentAllocator allocator, int target, long[] data, int usage) { - bufferData(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_LONG, data), usage); + bufferData(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_LONG, data), usage); } public static void bufferData(SegmentAllocator allocator, int target, float[] data, int usage) { - bufferData(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_FLOAT, data), usage); + bufferData(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_FLOAT, data), usage); } public static void bufferData(SegmentAllocator allocator, int target, double[] data, int usage) { - bufferData(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_DOUBLE, data), usage); + bufferData(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_DOUBLE, data), usage); } public static void bufferSubData(int target, long offset, long size, MemorySegment data) { @@ -171,27 +171,27 @@ public static void bufferSubData(int target, long offset, MemorySegment data) { } public static void bufferSubData(SegmentAllocator allocator, int target, long offset, byte[] data) { - bufferSubData(target, offset, Integer.toUnsignedLong(data.length), allocator.allocateArray(JAVA_BYTE, data)); + bufferSubData(target, offset, Integer.toUnsignedLong(data.length), allocator.allocateFrom(JAVA_BYTE, data)); } public static void bufferSubData(SegmentAllocator allocator, int target, long offset, short[] data) { - bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 1, allocator.allocateArray(JAVA_SHORT, data)); + bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 1, allocator.allocateFrom(JAVA_SHORT, data)); } public static void bufferSubData(SegmentAllocator allocator, int target, long offset, int[] data) { - bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_INT, data)); + bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_INT, data)); } public static void bufferSubData(SegmentAllocator allocator, int target, long offset, long[] data) { - bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_LONG, data)); + bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_LONG, data)); } public static void bufferSubData(SegmentAllocator allocator, int target, long offset, float[] data) { - bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_FLOAT, data)); + bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_FLOAT, data)); } public static void bufferSubData(SegmentAllocator allocator, int target, long offset, double[] data) { - bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_DOUBLE, data)); + bufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_DOUBLE, data)); } public static void deleteBuffers(int n, MemorySegment buffers) { @@ -204,7 +204,7 @@ public static void deleteBuffers(int n, MemorySegment buffers) { } public static void deleteBuffers(SegmentAllocator allocator, int[] buffers) { - deleteBuffers(buffers.length, allocator.allocateArray(JAVA_INT, buffers)); + deleteBuffers(buffers.length, allocator.allocateFrom(JAVA_INT, buffers)); } public static void deleteBuffer(int buffer) { @@ -227,7 +227,7 @@ public static void deleteQueries(int n, MemorySegment ids) { } public static void deleteQueries(SegmentAllocator allocator, int[] ids) { - deleteQueries(ids.length, allocator.allocateArray(JAVA_INT, ids)); + deleteQueries(ids.length, allocator.allocateFrom(JAVA_INT, ids)); } public static void deleteQuery(int id) { @@ -259,7 +259,7 @@ public static void genBuffers(int n, MemorySegment buffers) { } public static void genBuffers(SegmentAllocator allocator, int[] buffers) { - var seg = allocator.allocateArray(JAVA_INT, buffers.length); + var seg = allocator.allocateFrom(JAVA_INT, buffers.length); genBuffers(buffers.length, seg); RuntimeHelper.toArray(seg, buffers); } @@ -286,7 +286,7 @@ public static void genQueries(int n, MemorySegment ids) { } public static void genQueries(SegmentAllocator allocator, int[] ids) { - var seg = allocator.allocateArray(JAVA_INT, ids.length); + var seg = allocator.allocateFrom(JAVA_INT, ids.length); genQueries(ids.length, seg); RuntimeHelper.toArray(seg, ids); } @@ -355,37 +355,37 @@ public static void getBufferSubData(int target, long offset, long size, MemorySe } public static void getBufferSubData(SegmentAllocator allocator, int target, long offset, byte[] data) { - var seg = allocator.allocateArray(JAVA_BYTE, data.length); + var seg = allocator.allocate(JAVA_BYTE, data.length); getBufferSubData(target, offset, Integer.toUnsignedLong(data.length), seg); RuntimeHelper.toArray(seg, data); } public static void getBufferSubData(SegmentAllocator allocator, int target, long offset, short[] data) { - var seg = allocator.allocateArray(JAVA_SHORT, data.length); + var seg = allocator.allocate(JAVA_SHORT, data.length); getBufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 1, seg); RuntimeHelper.toArray(seg, data); } public static void getBufferSubData(SegmentAllocator allocator, int target, long offset, int[] data) { - var seg = allocator.allocateArray(JAVA_INT, data.length); + var seg = allocator.allocate(JAVA_INT, data.length); getBufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 2, seg); RuntimeHelper.toArray(seg, data); } public static void getBufferSubData(SegmentAllocator allocator, int target, long offset, long[] data) { - var seg = allocator.allocateArray(JAVA_LONG, data.length); + var seg = allocator.allocate(JAVA_LONG, data.length); getBufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 3, seg); RuntimeHelper.toArray(seg, data); } public static void getBufferSubData(SegmentAllocator allocator, int target, long offset, float[] data) { - var seg = allocator.allocateArray(JAVA_FLOAT, data.length); + var seg = allocator.allocate(JAVA_FLOAT, data.length); getBufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 2, seg); RuntimeHelper.toArray(seg, data); } public static void getBufferSubData(SegmentAllocator allocator, int target, long offset, double[] data) { - var seg = allocator.allocateArray(JAVA_DOUBLE, data.length); + var seg = allocator.allocate(JAVA_DOUBLE, data.length); getBufferSubData(target, offset, Integer.toUnsignedLong(data.length) << 3, seg); RuntimeHelper.toArray(seg, data); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java index ea4e76d8..f8dfe744 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -353,7 +353,7 @@ public static void drawBuffers(int n, MemorySegment bufs) { } public static void drawBuffers(SegmentAllocator allocator, int[] bufs) { - drawBuffers(bufs.length, allocator.allocateArray(JAVA_INT, bufs)); + drawBuffers(bufs.length, allocator.allocateFrom(JAVA_INT, bufs)); } public static void enableVertexAttribArray(int index) { @@ -378,14 +378,14 @@ public static void getActiveAttrib(SegmentAllocator allocator, int program, int var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; var pSz = allocator.allocate(JAVA_INT); var pType = allocator.allocate(JAVA_INT); - var pName = allocator.allocateArray(JAVA_BYTE, bufSize); + var pName = allocator.allocate(JAVA_BYTE, bufSize); getActiveAttrib(program, index, bufSize, pLen, pSz, pType, pName); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } size[0] = pSz.get(JAVA_INT, 0); type[0] = pType.get(JAVA_INT, 0); - name[0] = pName.getUtf8String(0); + name[0] = pName.getString(0); } public static void getActiveUniform(int program, int index, int bufSize, MemorySegment length, MemorySegment size, MemorySegment type, MemorySegment name) { @@ -401,14 +401,14 @@ public static void getActiveUniform(SegmentAllocator allocator, int program, int var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; var pSz = allocator.allocate(JAVA_INT); var pType = allocator.allocate(JAVA_INT); - var pName = allocator.allocateArray(JAVA_BYTE, bufSize); + var pName = allocator.allocate(JAVA_BYTE, bufSize); getActiveUniform(program, index, bufSize, pLen, pSz, pType, pName); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } size[0] = pSz.get(JAVA_INT, 0); type[0] = pType.get(JAVA_INT, 0); - name[0] = pName.getUtf8String(0); + name[0] = pName.getString(0); } public static void getAttachedShaders(int program, int maxCount, MemorySegment count, MemorySegment shaders) { @@ -422,7 +422,7 @@ public static void getAttachedShaders(int program, int maxCount, MemorySegment c public static void getAttachedShaders(SegmentAllocator allocator, int program, int @Nullable [] count, int[] shaders) { var pCount = count != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - var pShaders = allocator.allocateArray(JAVA_INT, shaders.length); + var pShaders = allocator.allocate(JAVA_INT, shaders.length); getAttachedShaders(program, shaders.length, pCount, pShaders); if (count != null && count.length > 0) { count[0] = pCount.get(JAVA_INT, 0); @@ -465,12 +465,12 @@ public static String getProgramInfoLog(int program, int bufSize, int @Nullable [ var pLen = length != null ? stack.calloc(JAVA_INT) : MemorySegment.NULL; final Arena allocator = stack.getPointer() < bufSize ? Arena.ofConfined() : stack; try { - var pLog = allocator.allocateArray(JAVA_BYTE, bufSize); + var pLog = allocator.allocate(JAVA_BYTE, bufSize); getProgramInfoLog(program, bufSize, pLen, pLog); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - return pLog.getUtf8String(0); + return pLog.getString(0); } finally { if (!(allocator instanceof MemoryStack)) allocator.close(); } @@ -493,7 +493,7 @@ public static void getProgramiv(int program, int pname, MemorySegment params) { } public static void getProgramiv(SegmentAllocator allocator, int program, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocate(JAVA_INT, params.length); getProgramiv(program, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -526,12 +526,12 @@ public static String getShaderInfoLog(int shader, int bufSize, int @Nullable [] var pLen = length != null ? stack.callocInt() : MemorySegment.NULL; final Arena allocator = stack.getPointer() < bufSize ? Arena.ofConfined() : stack; try { - var pLog = allocator.allocateArray(JAVA_BYTE, bufSize); + var pLog = allocator.allocate(JAVA_BYTE, bufSize); getShaderInfoLog(shader, bufSize, pLen, pLog); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - return pLog.getUtf8String(0); + return pLog.getString(0); } finally { if (!(allocator instanceof MemoryStack)) allocator.close(); } @@ -555,12 +555,12 @@ public static void getShaderSource(int shader, int bufSize, MemorySegment length public static String getShaderSource(SegmentAllocator allocator, int shader, int bufSize, int @Nullable [] length) { var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - var pSrc = allocator.allocateArray(JAVA_BYTE, bufSize); + var pSrc = allocator.allocate(JAVA_BYTE, bufSize); getShaderSource(shader, bufSize, pLen, pSrc); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - return pSrc.getUtf8String(0); + return pSrc.getString(0); } public static String getShaderSource(SegmentAllocator allocator, int shader) { @@ -577,7 +577,7 @@ public static void getShaderiv(int shader, int pname, MemorySegment params) { } public static void getShaderiv(SegmentAllocator allocator, int shader, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocate(JAVA_INT, params.length); getShaderiv(shader, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -623,7 +623,7 @@ public static void getUniformfv(int program, int location, MemorySegment params) } public static void getUniformfv(SegmentAllocator allocator, int program, int location, float[] params) { - var seg = allocator.allocateArray(JAVA_FLOAT, params.length); + var seg = allocator.allocate(JAVA_FLOAT, params.length); getUniformfv(program, location, seg); RuntimeHelper.toArray(seg, params); } @@ -650,7 +650,7 @@ public static void getUniformiv(int program, int location, MemorySegment params) } public static void getUniformiv(SegmentAllocator allocator, int program, int location, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocate(JAVA_INT, params.length); getUniformiv(program, location, seg); RuntimeHelper.toArray(seg, params); } @@ -677,31 +677,31 @@ public static void getVertexAttribPointerv(int index, int pname, MemorySegment p } public static void getVertexAttribPointerv(SegmentAllocator allocator, int index, int pname, byte[] pointer) { - var seg = allocator.allocateArray(JAVA_BYTE, pointer.length); + var seg = allocator.allocate(JAVA_BYTE, pointer.length); getVertexAttribPointerv(index, pname, seg); RuntimeHelper.toArray(seg, pointer); } public static void getVertexAttribPointerv(SegmentAllocator allocator, int index, int pname, short[] pointer) { - var seg = allocator.allocateArray(JAVA_SHORT, pointer.length); + var seg = allocator.allocate(JAVA_SHORT, pointer.length); getVertexAttribPointerv(index, pname, seg); RuntimeHelper.toArray(seg, pointer); } public static void getVertexAttribPointerv(SegmentAllocator allocator, int index, int pname, int[] pointer) { - var seg = allocator.allocateArray(JAVA_INT, pointer.length); + var seg = allocator.allocate(JAVA_INT, pointer.length); getVertexAttribPointerv(index, pname, seg); RuntimeHelper.toArray(seg, pointer); } public static void getVertexAttribPointerv(SegmentAllocator allocator, int index, int pname, float[] pointer) { - var seg = allocator.allocateArray(JAVA_FLOAT, pointer.length); + var seg = allocator.allocate(JAVA_FLOAT, pointer.length); getVertexAttribPointerv(index, pname, seg); RuntimeHelper.toArray(seg, pointer); } public static void getVertexAttribPointerv(SegmentAllocator allocator, int index, int pname, double[] pointer) { - var seg = allocator.allocateArray(JAVA_DOUBLE, pointer.length); + var seg = allocator.allocate(JAVA_DOUBLE, pointer.length); getVertexAttribPointerv(index, pname, seg); RuntimeHelper.toArray(seg, pointer); } @@ -716,7 +716,7 @@ public static void getVertexAttribdv(int index, int pname, MemorySegment params) } public static void getVertexAttribdv(SegmentAllocator allocator, int index, int pname, double[] params) { - var seg = allocator.allocateArray(JAVA_DOUBLE, params.length); + var seg = allocator.allocate(JAVA_DOUBLE, params.length); getVertexAttribdv(index, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -743,7 +743,7 @@ public static void getVertexAttribfv(int index, int pname, MemorySegment params) } public static void getVertexAttribfv(SegmentAllocator allocator, int index, int pname, float[] params) { - var seg = allocator.allocateArray(JAVA_FLOAT, params.length); + var seg = allocator.allocate(JAVA_FLOAT, params.length); getVertexAttribfv(index, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -770,7 +770,7 @@ public static void getVertexAttribiv(int index, int pname, MemorySegment params) } public static void getVertexAttribiv(SegmentAllocator allocator, int index, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocate(JAVA_INT, params.length); getVertexAttribiv(index, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -824,8 +824,8 @@ public static void shaderSource(int shader, int count, MemorySegment string, Mem } public static void shaderSource(SegmentAllocator allocator, int shader, String[] string) { - var pStr = allocator.allocateArray(ADDRESS, string.length); - var pLen = allocator.allocateArray(JAVA_INT, string.length); + var pStr = allocator.allocate(ADDRESS, string.length); + var pLen = allocator.allocate(JAVA_INT, string.length); for (int i = 0; i < string.length; i++) { pStr.setAtIndex(ADDRESS, i, allocator.allocateFrom(string[i])); pLen.setAtIndex(JAVA_INT, i, string[i].length()); @@ -837,7 +837,7 @@ public static void shaderSource(int shader, String string) { final MemoryStack stack = MemoryStack.stackGet(); final long stackPointer = stack.getPointer(); try { - shaderSource(shader, 1, stack.allocate(ADDRESS, stack.allocateFrom(string)), stack.allocateFrom(JAVA_INT, string.length())); + shaderSource(shader, 1, stack.allocateFrom(ADDRESS, stack.allocateFrom(string)), stack.allocateFrom(JAVA_INT, string.length())); } finally { stack.setPointer(stackPointer); } @@ -889,7 +889,7 @@ public static void uniform1fv(int location, int count, MemorySegment value) { } public static void uniform1fv(SegmentAllocator allocator, int location, float[] value) { - uniform1fv(location, value.length, allocator.allocateArray(JAVA_FLOAT, value)); + uniform1fv(location, value.length, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniform1i(int location, int v0) { @@ -911,7 +911,7 @@ public static void uniform1iv(int location, int count, MemorySegment value) { } public static void uniform1iv(SegmentAllocator allocator, int location, int[] value) { - uniform1iv(location, value.length, allocator.allocateArray(JAVA_INT, value)); + uniform1iv(location, value.length, allocator.allocateFrom(JAVA_INT, value)); } public static void uniform2f(int location, float v0, float v1) { @@ -933,7 +933,7 @@ public static void uniform2fv(int location, int count, MemorySegment value) { } public static void uniform2fv(SegmentAllocator allocator, int location, float[] value) { - uniform2fv(location, value.length >> 1, allocator.allocateArray(JAVA_FLOAT, value)); + uniform2fv(location, value.length >> 1, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniform2i(int location, int v0, int v1) { @@ -955,7 +955,7 @@ public static void uniform2iv(int location, int count, MemorySegment value) { } public static void uniform2iv(SegmentAllocator allocator, int location, int[] value) { - uniform2iv(location, value.length >> 1, allocator.allocateArray(JAVA_INT, value)); + uniform2iv(location, value.length >> 1, allocator.allocateFrom(JAVA_INT, value)); } public static void uniform3f(int location, float v0, float v1, float v2) { @@ -977,7 +977,7 @@ public static void uniform3fv(int location, int count, MemorySegment value) { } public static void uniform3fv(SegmentAllocator allocator, int location, float[] value) { - uniform3fv(location, value.length / 3, allocator.allocateArray(JAVA_FLOAT, value)); + uniform3fv(location, value.length / 3, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniform3i(int location, int v0, int v1, int v2) { @@ -999,7 +999,7 @@ public static void uniform3iv(int location, int count, MemorySegment value) { } public static void uniform3iv(SegmentAllocator allocator, int location, int[] value) { - uniform3iv(location, value.length / 3, allocator.allocateArray(JAVA_INT, value)); + uniform3iv(location, value.length / 3, allocator.allocateFrom(JAVA_INT, value)); } public static void uniform4f(int location, float v0, float v1, float v2, float v3) { @@ -1021,7 +1021,7 @@ public static void uniform4fv(int location, int count, MemorySegment value) { } public static void uniform4fv(SegmentAllocator allocator, int location, float[] value) { - uniform4fv(location, value.length >> 2, allocator.allocateArray(JAVA_FLOAT, value)); + uniform4fv(location, value.length >> 2, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniform4i(int location, int v0, int v1, int v2, int v3) { @@ -1043,7 +1043,7 @@ public static void uniform4iv(int location, int count, MemorySegment value) { } public static void uniform4iv(SegmentAllocator allocator, int location, int[] value) { - uniform4iv(location, value.length >> 2, allocator.allocateArray(JAVA_INT, value)); + uniform4iv(location, value.length >> 2, allocator.allocateFrom(JAVA_INT, value)); } public static void uniformMatrix2fv(int location, int count, boolean transpose, MemorySegment value) { @@ -1056,7 +1056,7 @@ public static void uniformMatrix2fv(int location, int count, boolean transpose, } public static void uniformMatrix2fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix2fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix2fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix2fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -1073,7 +1073,7 @@ public static void uniformMatrix3fv(int location, int count, boolean transpose, } public static void uniformMatrix3fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix3fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix3fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix3fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -1090,7 +1090,7 @@ public static void uniformMatrix4fv(int location, int count, boolean transpose, } public static void uniformMatrix4fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix4fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix4fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix4fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -1134,7 +1134,7 @@ public static void vertexAttrib1dv(int index, MemorySegment v) { } public static void vertexAttrib1dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttrib1dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttrib1dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttrib1f(int index, float x) { @@ -1156,7 +1156,7 @@ public static void vertexAttrib1fv(int index, MemorySegment v) { } public static void vertexAttrib1fv(SegmentAllocator allocator, int index, float[] v) { - vertexAttrib1fv(index, allocator.allocateArray(JAVA_FLOAT, v)); + vertexAttrib1fv(index, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void vertexAttrib1s(int index, short x) { @@ -1178,7 +1178,7 @@ public static void vertexAttrib1sv(int index, MemorySegment v) { } public static void vertexAttrib1sv(SegmentAllocator allocator, int index, short[] v) { - vertexAttrib1sv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttrib1sv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttrib2d(int index, double x, double y) { @@ -1200,7 +1200,7 @@ public static void vertexAttrib2dv(int index, MemorySegment v) { } public static void vertexAttrib2dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttrib2dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttrib2dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttrib2f(int index, float x, float y) { @@ -1222,7 +1222,7 @@ public static void vertexAttrib2fv(int index, MemorySegment v) { } public static void vertexAttrib2fv(SegmentAllocator allocator, int index, float[] v) { - vertexAttrib2fv(index, allocator.allocateArray(JAVA_FLOAT, v)); + vertexAttrib2fv(index, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void vertexAttrib2s(int index, short x, short y) { @@ -1244,7 +1244,7 @@ public static void vertexAttrib2sv(int index, MemorySegment v) { } public static void vertexAttrib2sv(SegmentAllocator allocator, int index, short[] v) { - vertexAttrib2sv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttrib2sv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttrib3d(int index, double x, double y, double z) { @@ -1266,7 +1266,7 @@ public static void vertexAttrib3dv(int index, MemorySegment v) { } public static void vertexAttrib3dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttrib3dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttrib3dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttrib3f(int index, float x, float y, float z) { @@ -1288,7 +1288,7 @@ public static void vertexAttrib3fv(int index, MemorySegment v) { } public static void vertexAttrib3fv(SegmentAllocator allocator, int index, float[] v) { - vertexAttrib3fv(index, allocator.allocateArray(JAVA_FLOAT, v)); + vertexAttrib3fv(index, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void vertexAttrib3s(int index, short x, short y, short z) { @@ -1310,7 +1310,7 @@ public static void vertexAttrib3sv(int index, MemorySegment v) { } public static void vertexAttrib3sv(SegmentAllocator allocator, int index, short[] v) { - vertexAttrib3sv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttrib3sv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttrib4Nbv(int index, MemorySegment v) { @@ -1323,7 +1323,7 @@ public static void vertexAttrib4Nbv(int index, MemorySegment v) { } public static void vertexAttrib4Nbv(SegmentAllocator allocator, int index, byte[] v) { - vertexAttrib4Nbv(index, allocator.allocateArray(JAVA_BYTE, v)); + vertexAttrib4Nbv(index, allocator.allocateFrom(JAVA_BYTE, v)); } public static void vertexAttrib4Niv(int index, MemorySegment v) { @@ -1336,7 +1336,7 @@ public static void vertexAttrib4Niv(int index, MemorySegment v) { } public static void vertexAttrib4Niv(SegmentAllocator allocator, int index, int[] v) { - vertexAttrib4Niv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttrib4Niv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttrib4Nsv(int index, MemorySegment v) { @@ -1349,7 +1349,7 @@ public static void vertexAttrib4Nsv(int index, MemorySegment v) { } public static void vertexAttrib4Nsv(SegmentAllocator allocator, int index, short[] v) { - vertexAttrib4Nsv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttrib4Nsv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttrib4Nub(int index, byte x, byte y, byte z, byte w) { @@ -1371,7 +1371,7 @@ public static void vertexAttrib4Nubv(int index, MemorySegment v) { } public static void vertexAttrib4Nubv(SegmentAllocator allocator, int index, byte[] v) { - vertexAttrib4Nubv(index, allocator.allocateArray(JAVA_BYTE, v)); + vertexAttrib4Nubv(index, allocator.allocateFrom(JAVA_BYTE, v)); } public static void vertexAttrib4Nuiv(int index, MemorySegment v) { @@ -1384,7 +1384,7 @@ public static void vertexAttrib4Nuiv(int index, MemorySegment v) { } public static void vertexAttrib4Nuiv(SegmentAllocator allocator, int index, int[] v) { - vertexAttrib4Nuiv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttrib4Nuiv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttrib4Nusv(int index, MemorySegment v) { @@ -1397,7 +1397,7 @@ public static void vertexAttrib4Nusv(int index, MemorySegment v) { } public static void vertexAttrib4Nusv(SegmentAllocator allocator, int index, short[] v) { - vertexAttrib4Nusv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttrib4Nusv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttrib4bv(int index, MemorySegment v) { @@ -1410,7 +1410,7 @@ public static void vertexAttrib4bv(int index, MemorySegment v) { } public static void vertexAttrib4bv(SegmentAllocator allocator, int index, byte[] v) { - vertexAttrib4bv(index, allocator.allocateArray(JAVA_BYTE, v)); + vertexAttrib4bv(index, allocator.allocateFrom(JAVA_BYTE, v)); } public static void vertexAttrib4d(int index, double x, double y, double z, double w) { @@ -1432,7 +1432,7 @@ public static void vertexAttrib4dv(int index, MemorySegment v) { } public static void vertexAttrib4dv(SegmentAllocator allocator, int index, double[] v) { - vertexAttrib4dv(index, allocator.allocateArray(JAVA_DOUBLE, v)); + vertexAttrib4dv(index, allocator.allocateFrom(JAVA_DOUBLE, v)); } public static void vertexAttrib4f(int index, float x, float y, float z, float w) { @@ -1454,7 +1454,7 @@ public static void vertexAttrib4fv(int index, MemorySegment v) { } public static void vertexAttrib4fv(SegmentAllocator allocator, int index, float[] v) { - vertexAttrib4fv(index, allocator.allocateArray(JAVA_FLOAT, v)); + vertexAttrib4fv(index, allocator.allocateFrom(JAVA_FLOAT, v)); } public static void vertexAttrib4iv(int index, MemorySegment v) { @@ -1467,7 +1467,7 @@ public static void vertexAttrib4iv(int index, MemorySegment v) { } public static void vertexAttrib4iv(SegmentAllocator allocator, int index, int[] v) { - vertexAttrib4iv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttrib4iv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttrib4s(int index, short x, short y, short z, short w) { @@ -1489,7 +1489,7 @@ public static void vertexAttrib4sv(int index, MemorySegment v) { } public static void vertexAttrib4sv(SegmentAllocator allocator, int index, short[] v) { - vertexAttrib4sv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttrib4sv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttrib4ubv(int index, MemorySegment v) { @@ -1502,7 +1502,7 @@ public static void vertexAttrib4ubv(int index, MemorySegment v) { } public static void vertexAttrib4ubv(SegmentAllocator allocator, int index, byte[] v) { - vertexAttrib4ubv(index, allocator.allocateArray(JAVA_BYTE, v)); + vertexAttrib4ubv(index, allocator.allocateFrom(JAVA_BYTE, v)); } public static void vertexAttrib4uiv(int index, MemorySegment v) { @@ -1515,7 +1515,7 @@ public static void vertexAttrib4uiv(int index, MemorySegment v) { } public static void vertexAttrib4uiv(SegmentAllocator allocator, int index, int[] v) { - vertexAttrib4uiv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttrib4uiv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttrib4usv(int index, MemorySegment v) { @@ -1528,7 +1528,7 @@ public static void vertexAttrib4usv(int index, MemorySegment v) { } public static void vertexAttrib4usv(SegmentAllocator allocator, int index, short[] v) { - vertexAttrib4usv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttrib4usv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttribPointer(int index, int size, int type, boolean normalized, int stride, MemorySegment pointer) { @@ -1541,22 +1541,22 @@ public static void vertexAttribPointer(int index, int size, int type, boolean no } public static void vertexAttribPointer(SegmentAllocator allocator, int index, int size, int type, boolean normalized, int stride, byte[] pointer) { - vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateArray(JAVA_BYTE, pointer)); + vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateFrom(JAVA_BYTE, pointer)); } public static void vertexAttribPointer(SegmentAllocator allocator, int index, int size, int type, boolean normalized, int stride, short[] pointer) { - vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void vertexAttribPointer(SegmentAllocator allocator, int index, int size, int type, boolean normalized, int stride, int[] pointer) { - vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateArray(JAVA_INT, pointer)); + vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateFrom(JAVA_INT, pointer)); } public static void vertexAttribPointer(SegmentAllocator allocator, int index, int size, int type, boolean normalized, int stride, float[] pointer) { - vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateArray(JAVA_FLOAT, pointer)); + vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateFrom(JAVA_FLOAT, pointer)); } public static void vertexAttribPointer(SegmentAllocator allocator, int index, int size, int type, boolean normalized, int stride, double[] pointer) { - vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateArray(JAVA_DOUBLE, pointer)); + vertexAttribPointer(index, size, type, normalized, stride, allocator.allocateFrom(JAVA_DOUBLE, pointer)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java index 41a01416..dcd436b4 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL21C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -77,7 +77,7 @@ public static void uniformMatrix2x3fv(int location, int count, boolean transpose } public static void uniformMatrix2x3fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix2x3fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix2x3fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix2x3fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -94,7 +94,7 @@ public static void uniformMatrix2x4fv(int location, int count, boolean transpose } public static void uniformMatrix2x4fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix2x4fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix2x4fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix2x4fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -111,7 +111,7 @@ public static void uniformMatrix3x2fv(int location, int count, boolean transpose } public static void uniformMatrix3x2fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix3x2fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix3x2fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix3x2fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -128,7 +128,7 @@ public static void uniformMatrix3x4fv(int location, int count, boolean transpose } public static void uniformMatrix3x4fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix3x4fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix3x4fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix3x4fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -145,7 +145,7 @@ public static void uniformMatrix4x2fv(int location, int count, boolean transpose } public static void uniformMatrix4x2fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix4x2fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix4x2fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix4x2fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { @@ -162,7 +162,7 @@ public static void uniformMatrix4x3fv(int location, int count, boolean transpose } public static void uniformMatrix4x3fv(SegmentAllocator allocator, int location, int count, boolean transpose, float[] value) { - uniformMatrix4x3fv(location, count, transpose, allocator.allocateArray(JAVA_FLOAT, value)); + uniformMatrix4x3fv(location, count, transpose, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void uniformMatrix4x3fv(SegmentAllocator allocator, int location, boolean transpose, float[] value) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java index a7d1d412..22afb3fe 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL30C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -509,7 +509,7 @@ public static void clearBufferfv(int buffer, int drawBuffer, MemorySegment value } public static void clearBufferfv(SegmentAllocator allocator, int buffer, int drawBuffer, float[] value) { - clearBufferfv(buffer, drawBuffer, allocator.allocateArray(JAVA_FLOAT, value)); + clearBufferfv(buffer, drawBuffer, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void clearBufferiv(int buffer, int drawBuffer, MemorySegment value) { @@ -522,7 +522,7 @@ public static void clearBufferiv(int buffer, int drawBuffer, MemorySegment value } public static void clearBufferiv(SegmentAllocator allocator, int buffer, int drawBuffer, int[] value) { - clearBufferiv(buffer, drawBuffer, allocator.allocateArray(JAVA_INT, value)); + clearBufferiv(buffer, drawBuffer, allocator.allocateFrom(JAVA_INT, value)); } public static void clearBufferuiv(int buffer, int drawBuffer, MemorySegment value) { @@ -535,7 +535,7 @@ public static void clearBufferuiv(int buffer, int drawBuffer, MemorySegment valu } public static void clearBufferuiv(SegmentAllocator allocator, int buffer, int drawBuffer, int[] value) { - clearBufferuiv(buffer, drawBuffer, allocator.allocateArray(JAVA_INT, value)); + clearBufferuiv(buffer, drawBuffer, allocator.allocateFrom(JAVA_INT, value)); } public static void colorMaski(int index, boolean r, boolean g, boolean b, boolean a) { @@ -557,7 +557,7 @@ public static void deleteFramebuffers(int n, MemorySegment framebuffers) { } public static void deleteFramebuffers(SegmentAllocator allocator, int[] framebuffers) { - deleteFramebuffers(framebuffers.length, allocator.allocateArray(JAVA_INT, framebuffers)); + deleteFramebuffers(framebuffers.length, allocator.allocateFrom(JAVA_INT, framebuffers)); } public static void deleteFramebuffer(int framebuffer) { @@ -580,7 +580,7 @@ public static void deleteRenderbuffers(int n, MemorySegment renderbuffers) { } public static void deleteRenderbuffers(SegmentAllocator allocator, int[] renderbuffers) { - deleteRenderbuffers(renderbuffers.length, allocator.allocateArray(JAVA_INT, renderbuffers)); + deleteRenderbuffers(renderbuffers.length, allocator.allocateFrom(JAVA_INT, renderbuffers)); } public static void deleteRenderbuffer(int renderbuffer) { @@ -603,7 +603,7 @@ public static void deleteVertexArrays(int n, MemorySegment arrays) { } public static void deleteVertexArrays(SegmentAllocator allocator, int[] arrays) { - deleteVertexArrays(arrays.length, allocator.allocateArray(JAVA_INT, arrays)); + deleteVertexArrays(arrays.length, allocator.allocateFrom(JAVA_INT, arrays)); } public static void deleteVertexArray(int array) { @@ -716,7 +716,7 @@ public static void genFramebuffers(int n, MemorySegment framebuffers) { } public static void genFramebuffers(SegmentAllocator allocator, int[] framebuffers) { - var seg = allocator.allocateArray(JAVA_INT, framebuffers.length); + var seg = allocator.allocateFrom(JAVA_INT, framebuffers); genFramebuffers(framebuffers.length, seg); RuntimeHelper.toArray(seg, framebuffers); } @@ -743,7 +743,7 @@ public static void genRenderbuffers(int n, MemorySegment renderbuffers) { } public static void genRenderbuffers(SegmentAllocator allocator, int[] renderbuffers) { - var seg = allocator.allocateArray(JAVA_INT, renderbuffers.length); + var seg = allocator.allocateFrom(JAVA_INT, renderbuffers); genRenderbuffers(renderbuffers.length, seg); RuntimeHelper.toArray(seg, renderbuffers); } @@ -770,7 +770,7 @@ public static void genVertexArrays(int n, MemorySegment arrays) { } public static void genVertexArrays(SegmentAllocator allocator, int[] arrays) { - var seg = allocator.allocateArray(JAVA_INT, arrays.length); + var seg = allocator.allocateFrom(JAVA_INT, arrays); genVertexArrays(arrays.length, seg); RuntimeHelper.toArray(seg, arrays); } @@ -806,7 +806,7 @@ public static void getBooleani_v(int target, int index, MemorySegment data) { } public static void getBooleani_v(SegmentAllocator allocator, int target, int index, boolean[] data) { - var seg = allocator.allocateArray(JAVA_BOOLEAN, data.length); + var seg = allocator.allocate(JAVA_BOOLEAN, data.length); getBooleani_v(target, index, seg); RuntimeHelper.toArray(seg, data); } @@ -873,7 +873,7 @@ public static void getIntegeri_v(int target, int index, MemorySegment data) { } public static void getIntegeri_v(SegmentAllocator allocator, int target, int index, int[] data) { - var seg = allocator.allocateArray(JAVA_INT, data.length); + var seg = allocator.allocateFrom(JAVA_INT, data); getIntegeri_v(target, index, seg); RuntimeHelper.toArray(seg, data); } @@ -935,7 +935,7 @@ public static MemorySegment ngetStringi(int pname, int index) { @Nullable public static String getStringi(int pname, int index) { var pStr = ngetStringi(pname, index); - return RuntimeHelper.isNullptr(pStr) ? null : pStr.getUtf8String(0); + return RuntimeHelper.isNullptr(pStr) ? null : pStr.getString(0); } public static void getTexParameterIiv(int target, int pname, MemorySegment params) { @@ -948,7 +948,7 @@ public static void getTexParameterIiv(int target, int pname, MemorySegment param } public static void getTexParameterIiv(SegmentAllocator allocator, int target, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getTexParameterIiv(target, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -975,7 +975,7 @@ public static void getTexParameterIuiv(int target, int pname, MemorySegment para } public static void getTexParameterIuiv(SegmentAllocator allocator, int target, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getTexParameterIuiv(target, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -1005,14 +1005,14 @@ public static void getTransformFeedbackVarying(SegmentAllocator allocator, int p var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; var pSz = allocator.allocate(JAVA_INT); var pType = allocator.allocate(JAVA_INT); - var pName = allocator.allocateArray(JAVA_BYTE, bufSize); + var pName = allocator.allocate(JAVA_BYTE, bufSize); getTransformFeedbackVarying(program, index, bufSize, pLen, pSz, pType, pName); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } size[0] = pSz.get(JAVA_INT, 0); type[0] = pType.get(JAVA_INT, 0); - name[0] = pName.getUtf8String(0); + name[0] = pName.getString(0); } public static void getUniformuiv(int program, int location, MemorySegment params) { @@ -1025,7 +1025,7 @@ public static void getUniformuiv(int program, int location, MemorySegment params } public static void getUniformuiv(SegmentAllocator allocator, int program, int location, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getUniformuiv(program, location, seg); RuntimeHelper.toArray(seg, params); } @@ -1052,7 +1052,7 @@ public static void getVertexAttribIiv(int index, int pname, MemorySegment params } public static void getVertexAttribIiv(SegmentAllocator allocator, int index, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getVertexAttribIiv(index, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -1079,7 +1079,7 @@ public static void getVertexAttribIuiv(int index, int pname, MemorySegment param } public static void getVertexAttribIuiv(SegmentAllocator allocator, int index, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getVertexAttribIuiv(index, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -1169,7 +1169,7 @@ public static void texParameterIiv(int target, int pname, MemorySegment params) } public static void texParameterIiv(SegmentAllocator allocator, int target, int pname, int[] params) { - texParameterIiv(target, pname, allocator.allocateArray(JAVA_INT, params)); + texParameterIiv(target, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void texParameterIuiv(int target, int pname, MemorySegment params) { @@ -1182,7 +1182,7 @@ public static void texParameterIuiv(int target, int pname, MemorySegment params) } public static void texParameterIuiv(SegmentAllocator allocator, int target, int pname, int[] params) { - texParameterIuiv(target, pname, allocator.allocateArray(JAVA_INT, params)); + texParameterIuiv(target, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void transformFeedbackVaryings(int program, int count, MemorySegment varyings, int bufferMode) { @@ -1195,7 +1195,7 @@ public static void transformFeedbackVaryings(int program, int count, MemorySegme } public static void transformFeedbackVaryings(SegmentAllocator allocator, int program, String[] varyings, int bufferMode) { - var seg = allocator.allocateArray(ADDRESS, varyings.length); + var seg = allocator.allocate(ADDRESS, varyings.length); for (int i = 0; i < varyings.length; i++) { seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(varyings[i])); } @@ -1221,7 +1221,7 @@ public static void uniform1uiv(int location, int count, MemorySegment value) { } public static void uniform1uiv(SegmentAllocator allocator, int location, int[] value) { - uniform1uiv(location, value.length, allocator.allocateArray(JAVA_INT, value)); + uniform1uiv(location, value.length, allocator.allocateFrom(JAVA_INT, value)); } public static void uniform2ui(int location, int v0, int v1) { @@ -1243,7 +1243,7 @@ public static void uniform2uiv(int location, int count, MemorySegment value) { } public static void uniform2uiv(SegmentAllocator allocator, int location, int[] value) { - uniform2uiv(location, value.length >> 1, allocator.allocateArray(JAVA_INT, value)); + uniform2uiv(location, value.length >> 1, allocator.allocateFrom(JAVA_INT, value)); } public static void uniform3ui(int location, int v0, int v1, int v2) { @@ -1265,7 +1265,7 @@ public static void uniform3uiv(int location, int count, MemorySegment value) { } public static void uniform3uiv(SegmentAllocator allocator, int location, int[] value) { - uniform3uiv(location, value.length / 3, allocator.allocateArray(JAVA_INT, value)); + uniform3uiv(location, value.length / 3, allocator.allocateFrom(JAVA_INT, value)); } public static void uniform4ui(int location, int v0, int v1, int v2, int v3) { @@ -1287,7 +1287,7 @@ public static void uniform4uiv(int location, int count, MemorySegment value) { } public static void uniform4uiv(SegmentAllocator allocator, int location, int[] value) { - uniform4uiv(location, value.length >> 2, allocator.allocateArray(JAVA_INT, value)); + uniform4uiv(location, value.length >> 2, allocator.allocateFrom(JAVA_INT, value)); } public static void vertexAttribI1i(int index, int x) { @@ -1309,7 +1309,7 @@ public static void vertexAttribI1iv(int index, MemorySegment v) { } public static void vertexAttribI1iv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI1iv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI1iv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI1ui(int index, int x) { @@ -1331,7 +1331,7 @@ public static void vertexAttribI1uiv(int index, MemorySegment v) { } public static void vertexAttribI1uiv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI1uiv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI1uiv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI2i(int index, int x, int y) { @@ -1353,7 +1353,7 @@ public static void vertexAttribI2iv(int index, MemorySegment v) { } public static void vertexAttribI2iv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI2iv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI2iv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI2ui(int index, int x, int y) { @@ -1375,7 +1375,7 @@ public static void vertexAttribI2uiv(int index, MemorySegment v) { } public static void vertexAttribI2uiv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI2uiv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI2uiv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI3i(int index, int x, int y, int z) { @@ -1397,7 +1397,7 @@ public static void vertexAttribI3iv(int index, MemorySegment v) { } public static void vertexAttribI3iv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI3iv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI3iv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI3ui(int index, int x, int y, int z) { @@ -1419,7 +1419,7 @@ public static void vertexAttribI3uiv(int index, MemorySegment v) { } public static void vertexAttribI3uiv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI3uiv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI3uiv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI4bv(int index, MemorySegment v) { @@ -1432,7 +1432,7 @@ public static void vertexAttribI4bv(int index, MemorySegment v) { } public static void vertexAttribI4bv(SegmentAllocator allocator, int index, byte[] v) { - vertexAttribI4bv(index, allocator.allocateArray(JAVA_BYTE, v)); + vertexAttribI4bv(index, allocator.allocateFrom(JAVA_BYTE, v)); } public static void vertexAttribI4i(int index, int x, int y, int z, int w) { @@ -1454,7 +1454,7 @@ public static void vertexAttribI4iv(int index, MemorySegment v) { } public static void vertexAttribI4iv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI4iv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI4iv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI4sv(int index, MemorySegment v) { @@ -1467,7 +1467,7 @@ public static void vertexAttribI4sv(int index, MemorySegment v) { } public static void vertexAttribI4sv(SegmentAllocator allocator, int index, short[] v) { - vertexAttribI4sv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttribI4sv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttribI4ubv(int index, MemorySegment v) { @@ -1480,7 +1480,7 @@ public static void vertexAttribI4ubv(int index, MemorySegment v) { } public static void vertexAttribI4ubv(SegmentAllocator allocator, int index, byte[] v) { - vertexAttribI4ubv(index, allocator.allocateArray(JAVA_BYTE, v)); + vertexAttribI4ubv(index, allocator.allocateFrom(JAVA_BYTE, v)); } public static void vertexAttribI4ui(int index, int x, int y, int z, int w) { @@ -1502,7 +1502,7 @@ public static void vertexAttribI4uiv(int index, MemorySegment v) { } public static void vertexAttribI4uiv(SegmentAllocator allocator, int index, int[] v) { - vertexAttribI4uiv(index, allocator.allocateArray(JAVA_INT, v)); + vertexAttribI4uiv(index, allocator.allocateFrom(JAVA_INT, v)); } public static void vertexAttribI4usv(int index, MemorySegment v) { @@ -1515,7 +1515,7 @@ public static void vertexAttribI4usv(int index, MemorySegment v) { } public static void vertexAttribI4usv(SegmentAllocator allocator, int index, short[] v) { - vertexAttribI4usv(index, allocator.allocateArray(JAVA_SHORT, v)); + vertexAttribI4usv(index, allocator.allocateFrom(JAVA_SHORT, v)); } public static void vertexAttribIPointer(int index, int size, int type, int stride, MemorySegment pointer) { @@ -1528,14 +1528,14 @@ public static void vertexAttribIPointer(int index, int size, int type, int strid } public static void vertexAttribIPointer(SegmentAllocator allocator, int index, int size, int type, int stride, byte[] pointer) { - vertexAttribIPointer(index, size, type, stride, allocator.allocateArray(JAVA_BYTE, pointer)); + vertexAttribIPointer(index, size, type, stride, allocator.allocateFrom(JAVA_BYTE, pointer)); } public static void vertexAttribIPointer(SegmentAllocator allocator, int index, int size, int type, int stride, short[] pointer) { - vertexAttribIPointer(index, size, type, stride, allocator.allocateArray(JAVA_SHORT, pointer)); + vertexAttribIPointer(index, size, type, stride, allocator.allocateFrom(JAVA_SHORT, pointer)); } public static void vertexAttribIPointer(SegmentAllocator allocator, int index, int size, int type, int stride, int[] pointer) { - vertexAttribIPointer(index, size, type, stride, allocator.allocateArray(JAVA_INT, pointer)); + vertexAttribIPointer(index, size, type, stride, allocator.allocateFrom(JAVA_INT, pointer)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java index 180e6cb3..9d7c1e63 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL31C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -155,15 +155,15 @@ public static void drawElementsInstanced(int mode, int count, int type, MemorySe } public static void drawElementsInstanced(SegmentAllocator allocator, int mode, int count, int type, byte[] indices, int instanceCount) { - drawElementsInstanced(mode, count, type, allocator.allocateArray(JAVA_BYTE, indices), instanceCount); + drawElementsInstanced(mode, count, type, allocator.allocateFrom(JAVA_BYTE, indices), instanceCount); } public static void drawElementsInstanced(SegmentAllocator allocator, int mode, int count, int type, short[] indices, int instanceCount) { - drawElementsInstanced(mode, count, type, allocator.allocateArray(JAVA_SHORT, indices), instanceCount); + drawElementsInstanced(mode, count, type, allocator.allocateFrom(JAVA_SHORT, indices), instanceCount); } public static void drawElementsInstanced(SegmentAllocator allocator, int mode, int count, int type, int[] indices, int instanceCount) { - drawElementsInstanced(mode, count, type, allocator.allocateArray(JAVA_INT, indices), instanceCount); + drawElementsInstanced(mode, count, type, allocator.allocateFrom(JAVA_INT, indices), instanceCount); } public static void getActiveUniformBlockName(int program, int uniformBlockIndex, int bufSize, MemorySegment length, MemorySegment uniformBlockName) { @@ -177,18 +177,18 @@ public static void getActiveUniformBlockName(int program, int uniformBlockIndex, public static void getActiveUniformBlockName(SegmentAllocator allocator, int program, int uniformBlockIndex, int bufSize, int @Nullable [] length, String[] uniformBlockName) { var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - var pName = allocator.allocateArray(JAVA_BYTE, bufSize); + var pName = allocator.allocate(JAVA_BYTE, bufSize); getActiveUniformBlockName(program, uniformBlockIndex, bufSize, pLen, pName); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - uniformBlockName[0] = pName.getUtf8String(0); + uniformBlockName[0] = pName.getString(0); } public static String getActiveUniformBlockName(SegmentAllocator allocator, int program, int uniformBlockIndex, int bufSize) { - var pName = allocator.allocateArray(JAVA_BYTE, bufSize); + var pName = allocator.allocate(JAVA_BYTE, bufSize); getActiveUniformBlockName(program, uniformBlockIndex, bufSize, MemorySegment.NULL, pName); - return pName.getUtf8String(0); + return pName.getString(0); } public static void getActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, MemorySegment params) { @@ -201,7 +201,7 @@ public static void getActiveUniformBlockiv(int program, int uniformBlockIndex, i } public static void getActiveUniformBlockiv(SegmentAllocator allocator, int program, int uniformBlockIndex, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getActiveUniformBlockiv(program, uniformBlockIndex, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -217,18 +217,18 @@ public static void getActiveUniformName(int program, int uniformIndex, int bufSi public static void getActiveUniformName(SegmentAllocator allocator, int program, int uniformIndex, int bufSize, int @Nullable [] length, String[] uniformName) { var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - var pName = allocator.allocateArray(JAVA_BYTE, bufSize); + var pName = allocator.allocate(JAVA_BYTE, bufSize); getActiveUniformName(program, uniformIndex, bufSize, pLen, pName); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - uniformName[0] = pName.getUtf8String(0); + uniformName[0] = pName.getString(0); } public static String getActiveUniformName(SegmentAllocator allocator, int program, int uniformIndex, int bufSize) { - var pName = allocator.allocateArray(JAVA_BYTE, bufSize); + var pName = allocator.allocate(JAVA_BYTE, bufSize); getActiveUniformName(program, uniformIndex, bufSize, MemorySegment.NULL, pName); - return pName.getUtf8String(0); + return pName.getString(0); } public static void getActiveUniformsiv(int program, int uniformCount, MemorySegment uniformIndices, int pname, MemorySegment params) { @@ -241,9 +241,8 @@ public static void getActiveUniformsiv(int program, int uniformCount, MemorySegm } public static void getActiveUniformsiv(SegmentAllocator allocator, int program, int[] uniformIndices, int pname, int[] params) { - final int count = uniformIndices.length; - var seg = allocator.allocateArray(JAVA_INT, count); - getActiveUniformsiv(program, count, allocator.allocateArray(JAVA_INT, uniformIndices), pname, seg); + var seg = allocator.allocateFrom(JAVA_INT, params); + getActiveUniformsiv(program, uniformIndices.length, allocator.allocateFrom(JAVA_INT, uniformIndices), pname, seg); RuntimeHelper.toArray(seg, params); } @@ -289,11 +288,11 @@ public static void getUniformIndices(int program, int uniformCount, MemorySegmen public static void getUniformIndices(SegmentAllocator allocator, int program, String[] uniformNames, int[] uniformIndices) { final int count = uniformNames.length; - var pNames = allocator.allocateArray(ADDRESS, count); + var pNames = allocator.allocate(ADDRESS, count); for (int i = 0; i < count; i++) { pNames.setAtIndex(ADDRESS, i, allocator.allocateFrom(uniformNames[i])); } - var pIndices = allocator.allocateArray(JAVA_INT, count); + var pIndices = allocator.allocate(JAVA_INT, count); getUniformIndices(program, count, pNames, pIndices); RuntimeHelper.toArray(pIndices, uniformIndices); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java index 318fdc5c..83adbc16 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL32C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -163,15 +163,15 @@ public static void drawElementsBaseVertex(int mode, int count, int type, MemoryS } public static void drawElementsBaseVertex(SegmentAllocator allocator, int mode, int count, int type, byte[] indices, int baseVertex) { - drawElementsBaseVertex(mode, count, type, allocator.allocateArray(JAVA_BYTE, indices), baseVertex); + drawElementsBaseVertex(mode, count, type, allocator.allocateFrom(JAVA_BYTE, indices), baseVertex); } public static void drawElementsBaseVertex(SegmentAllocator allocator, int mode, int count, int type, short[] indices, int baseVertex) { - drawElementsBaseVertex(mode, count, type, allocator.allocateArray(JAVA_SHORT, indices), baseVertex); + drawElementsBaseVertex(mode, count, type, allocator.allocateFrom(JAVA_SHORT, indices), baseVertex); } public static void drawElementsBaseVertex(SegmentAllocator allocator, int mode, int count, int type, int[] indices, int baseVertex) { - drawElementsBaseVertex(mode, count, type, allocator.allocateArray(JAVA_INT, indices), baseVertex); + drawElementsBaseVertex(mode, count, type, allocator.allocateFrom(JAVA_INT, indices), baseVertex); } public static void drawElementsInstancedBaseVertex(int mode, int count, int type, MemorySegment indices, int instanceCount, int baseVertex) { @@ -184,15 +184,15 @@ public static void drawElementsInstancedBaseVertex(int mode, int count, int type } public static void drawElementsInstancedBaseVertex(SegmentAllocator allocator, int mode, int count, int type, byte[] indices, int instanceCount, int baseVertex) { - drawElementsInstancedBaseVertex(mode, count, type, allocator.allocateArray(JAVA_BYTE, indices), instanceCount, baseVertex); + drawElementsInstancedBaseVertex(mode, count, type, allocator.allocateFrom(JAVA_BYTE, indices), instanceCount, baseVertex); } public static void drawElementsInstancedBaseVertex(SegmentAllocator allocator, int mode, int count, int type, short[] indices, int instanceCount, int baseVertex) { - drawElementsInstancedBaseVertex(mode, count, type, allocator.allocateArray(JAVA_SHORT, indices), instanceCount, baseVertex); + drawElementsInstancedBaseVertex(mode, count, type, allocator.allocateFrom(JAVA_SHORT, indices), instanceCount, baseVertex); } public static void drawElementsInstancedBaseVertex(SegmentAllocator allocator, int mode, int count, int type, int[] indices, int instanceCount, int baseVertex) { - drawElementsInstancedBaseVertex(mode, count, type, allocator.allocateArray(JAVA_INT, indices), instanceCount, baseVertex); + drawElementsInstancedBaseVertex(mode, count, type, allocator.allocateFrom(JAVA_INT, indices), instanceCount, baseVertex); } public static void drawRangeElementsBaseVertex(int mode, int start, int end, int count, int type, MemorySegment indices, int baseVertex) { @@ -205,15 +205,15 @@ public static void drawRangeElementsBaseVertex(int mode, int start, int end, int } public static void drawRangeElementsBaseVertex(SegmentAllocator allocator, int mode, int start, int end, int count, int type, byte[] indices, int baseVertex) { - drawRangeElementsBaseVertex(mode, start, end, count, type, allocator.allocateArray(JAVA_BYTE, indices), baseVertex); + drawRangeElementsBaseVertex(mode, start, end, count, type, allocator.allocateFrom(JAVA_BYTE, indices), baseVertex); } public static void drawRangeElementsBaseVertex(SegmentAllocator allocator, int mode, int start, int end, int count, int type, short[] indices, int baseVertex) { - drawRangeElementsBaseVertex(mode, start, end, count, type, allocator.allocateArray(JAVA_SHORT, indices), baseVertex); + drawRangeElementsBaseVertex(mode, start, end, count, type, allocator.allocateFrom(JAVA_SHORT, indices), baseVertex); } public static void drawRangeElementsBaseVertex(SegmentAllocator allocator, int mode, int start, int end, int count, int type, int[] indices, int baseVertex) { - drawRangeElementsBaseVertex(mode, start, end, count, type, allocator.allocateArray(JAVA_INT, indices), baseVertex); + drawRangeElementsBaseVertex(mode, start, end, count, type, allocator.allocateFrom(JAVA_INT, indices), baseVertex); } public static MemorySegment fenceSync(int condition, int flags) { @@ -265,7 +265,7 @@ public static void getInteger64i_v(int target, int index, MemorySegment data) { } public static void getInteger64i_v(SegmentAllocator allocator, int target, int index, long[] data) { - var seg = allocator.allocateArray(JAVA_LONG, data.length); + var seg = allocator.allocateFrom(JAVA_LONG, data); getInteger64i_v(target, index, seg); RuntimeHelper.toArray(seg, data); } @@ -292,7 +292,7 @@ public static void getInteger64v(int pname, MemorySegment data) { } public static void getInteger64v(SegmentAllocator allocator, int pname, long[] data) { - var pData = allocator.allocateArray(JAVA_LONG, data.length); + var pData = allocator.allocateFrom(JAVA_LONG, data); getInteger64v(pname, pData); RuntimeHelper.toArray(pData, data); } @@ -319,13 +319,13 @@ public static void getMultisamplefv(int pname, int index, MemorySegment val) { } public static void getMultisamplefv(SegmentAllocator allocator, int pname, int index, float[] val) { - var seg = allocator.allocateArray(JAVA_FLOAT, val.length); + var seg = allocator.allocateFrom(JAVA_FLOAT, val); getMultisamplefv(pname, index, seg); RuntimeHelper.toArray(seg, val); } public static float[] getMultisamplefv(SegmentAllocator allocator, int pname, int index) { - var seg = allocator.allocateArray(JAVA_FLOAT, 2); + var seg = allocator.allocate(JAVA_FLOAT, 2); getMultisamplefv(pname, index, seg); return new float[]{seg.get(JAVA_FLOAT, 0), seg.getAtIndex(JAVA_FLOAT, 1)}; } @@ -341,7 +341,7 @@ public static void getSynciv(MemorySegment sync, int pname, int count, MemorySeg public static void getSynciv(SegmentAllocator allocator, MemorySegment sync, int pname, int @Nullable [] length, int[] values) { var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - var pVal = allocator.allocateArray(JAVA_INT, values.length); + var pVal = allocator.allocateFrom(JAVA_INT, values); getSynciv(sync, pname, values.length, pLen, pVal); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); @@ -380,35 +380,35 @@ public static void multiDrawElementsBaseVertex(int mode, MemorySegment count, in } public static void multiDrawElementsBaseVertex(SegmentAllocator allocator, int mode, int[] count, int type, MemorySegment[] indices, int drawCount, int[] baseVertex) { - var seg = allocator.allocateArray(ADDRESS, indices.length); + var seg = allocator.allocate(ADDRESS, indices.length); for (int i = 0; i < indices.length; i++) { seg.setAtIndex(ADDRESS, i, indices[i]); } - multiDrawElementsBaseVertex(mode, allocator.allocateArray(JAVA_INT, count), type, seg, drawCount, allocator.allocateArray(JAVA_INT, baseVertex)); + multiDrawElementsBaseVertex(mode, allocator.allocateFrom(JAVA_INT, count), type, seg, drawCount, allocator.allocateFrom(JAVA_INT, baseVertex)); } public static void multiDrawElementsBaseVertex(SegmentAllocator allocator, int mode, int[] count, int type, byte[][] indices, int drawCount, int[] baseVertex) { - var seg = allocator.allocateArray(ADDRESS, indices.length); + var seg = allocator.allocate(ADDRESS, indices.length); for (int i = 0; i < indices.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateArray(JAVA_BYTE, indices[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(JAVA_BYTE, indices[i])); } - multiDrawElementsBaseVertex(mode, allocator.allocateArray(JAVA_INT, count), type, seg, drawCount, allocator.allocateArray(JAVA_INT, baseVertex)); + multiDrawElementsBaseVertex(mode, allocator.allocateFrom(JAVA_INT, count), type, seg, drawCount, allocator.allocateFrom(JAVA_INT, baseVertex)); } public static void multiDrawElementsBaseVertex(SegmentAllocator allocator, int mode, int[] count, int type, short[][] indices, int drawCount, int[] baseVertex) { - var seg = allocator.allocateArray(ADDRESS, indices.length); + var seg = allocator.allocate(ADDRESS, indices.length); for (int i = 0; i < indices.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateArray(JAVA_SHORT, indices[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(JAVA_SHORT, indices[i])); } - multiDrawElementsBaseVertex(mode, allocator.allocateArray(JAVA_INT, count), type, seg, drawCount, allocator.allocateArray(JAVA_INT, baseVertex)); + multiDrawElementsBaseVertex(mode, allocator.allocateFrom(JAVA_INT, count), type, seg, drawCount, allocator.allocateFrom(JAVA_INT, baseVertex)); } public static void multiDrawElementsBaseVertex(SegmentAllocator allocator, int mode, int[] count, int type, int[][] indices, int drawCount, int[] baseVertex) { - var seg = allocator.allocateArray(ADDRESS, indices.length); + var seg = allocator.allocate(ADDRESS, indices.length); for (int i = 0; i < indices.length; i++) { - seg.setAtIndex(ADDRESS, i, allocator.allocateArray(JAVA_INT, indices[i])); + seg.setAtIndex(ADDRESS, i, allocator.allocateFrom(JAVA_INT, indices[i])); } - multiDrawElementsBaseVertex(mode, allocator.allocateArray(JAVA_INT, count), type, seg, drawCount, allocator.allocateArray(JAVA_INT, baseVertex)); + multiDrawElementsBaseVertex(mode, allocator.allocateFrom(JAVA_INT, count), type, seg, drawCount, allocator.allocateFrom(JAVA_INT, baseVertex)); } public static void provokingVertex(int mode) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java index ee209fb3..9f6ebca3 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL33C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -137,7 +137,7 @@ public static void deleteSamplers(int count, MemorySegment samplers) { } public static void deleteSamplers(SegmentAllocator allocator, int[] samplers) { - deleteSamplers(samplers.length, allocator.allocateArray(JAVA_INT, samplers)); + deleteSamplers(samplers.length, allocator.allocateFrom(JAVA_INT, samplers)); } public static void deleteSampler(int sampler) { @@ -160,7 +160,7 @@ public static void genSamplers(int count, MemorySegment samplers) { } public static void genSamplers(SegmentAllocator allocator, int[] samplers) { - var seg = allocator.allocateArray(JAVA_INT, samplers.length); + var seg = allocator.allocateFrom(JAVA_INT, samplers); genSamplers(samplers.length, seg); RuntimeHelper.toArray(seg, samplers); } @@ -248,7 +248,7 @@ public static void getSamplerParameterIiv(int sampler, int pname, MemorySegment } public static void getSamplerParameterIiv(SegmentAllocator allocator, int sampler, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getSamplerParameterIiv(sampler, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -275,7 +275,7 @@ public static void getSamplerParameterIuiv(int sampler, int pname, MemorySegment } public static void getSamplerParameterIuiv(SegmentAllocator allocator, int sampler, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getSamplerParameterIuiv(sampler, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -302,7 +302,7 @@ public static void getSamplerParameterfv(int sampler, int pname, MemorySegment p } public static void getSamplerParameterfv(SegmentAllocator allocator, int sampler, int pname, float[] params) { - var seg = allocator.allocateArray(JAVA_FLOAT, params.length); + var seg = allocator.allocateFrom(JAVA_FLOAT, params); getSamplerParameterfv(sampler, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -329,7 +329,7 @@ public static void getSamplerParameteriv(int sampler, int pname, MemorySegment p } public static void getSamplerParameteriv(SegmentAllocator allocator, int sampler, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getSamplerParameteriv(sampler, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -374,7 +374,7 @@ public static void samplerParameterIiv(int sampler, int pname, MemorySegment par } public static void samplerParameterIiv(SegmentAllocator allocator, int sampler, int pname, int[] param) { - samplerParameterIiv(sampler, pname, allocator.allocateArray(JAVA_INT, param)); + samplerParameterIiv(sampler, pname, allocator.allocateFrom(JAVA_INT, param)); } public static void samplerParameterIuiv(int sampler, int pname, MemorySegment param) { @@ -387,7 +387,7 @@ public static void samplerParameterIuiv(int sampler, int pname, MemorySegment pa } public static void samplerParameterIuiv(SegmentAllocator allocator, int sampler, int pname, int[] param) { - samplerParameterIuiv(sampler, pname, allocator.allocateArray(JAVA_INT, param)); + samplerParameterIuiv(sampler, pname, allocator.allocateFrom(JAVA_INT, param)); } public static void samplerParameterf(int sampler, int pname, int param) { @@ -409,7 +409,7 @@ public static void samplerParameterfv(int sampler, int pname, MemorySegment para } public static void samplerParameterfv(SegmentAllocator allocator, int sampler, int pname, int[] param) { - samplerParameterfv(sampler, pname, allocator.allocateArray(JAVA_INT, param)); + samplerParameterfv(sampler, pname, allocator.allocateFrom(JAVA_INT, param)); } public static void samplerParameteri(int sampler, int pname, int param) { @@ -431,7 +431,7 @@ public static void samplerParameteriv(int sampler, int pname, MemorySegment para } public static void samplerParameteriv(SegmentAllocator allocator, int sampler, int pname, int[] param) { - samplerParameteriv(sampler, pname, allocator.allocateArray(JAVA_INT, param)); + samplerParameteriv(sampler, pname, allocator.allocateFrom(JAVA_INT, param)); } public static void vertexAttribDivisor(int index, int divisor) { @@ -462,7 +462,7 @@ public static void vertexAttribP1uiv(int index, int type, boolean normalized, Me } public static void vertexAttribP1uiv(SegmentAllocator allocator, int index, int type, boolean normalized, int[] value) { - vertexAttribP1uiv(index, type, normalized, allocator.allocateArray(JAVA_INT, value)); + vertexAttribP1uiv(index, type, normalized, allocator.allocateFrom(JAVA_INT, value)); } public static void vertexAttribP2ui(int index, int type, boolean normalized, int value) { @@ -484,7 +484,7 @@ public static void vertexAttribP2uiv(int index, int type, boolean normalized, Me } public static void vertexAttribP2uiv(SegmentAllocator allocator, int index, int type, boolean normalized, int[] value) { - vertexAttribP2uiv(index, type, normalized, allocator.allocateArray(JAVA_INT, value)); + vertexAttribP2uiv(index, type, normalized, allocator.allocateFrom(JAVA_INT, value)); } public static void vertexAttribP3ui(int index, int type, boolean normalized, int value) { @@ -506,7 +506,7 @@ public static void vertexAttribP3uiv(int index, int type, boolean normalized, Me } public static void vertexAttribP3uiv(SegmentAllocator allocator, int index, int type, boolean normalized, int[] value) { - vertexAttribP3uiv(index, type, normalized, allocator.allocateArray(JAVA_INT, value)); + vertexAttribP3uiv(index, type, normalized, allocator.allocateFrom(JAVA_INT, value)); } public static void vertexAttribP4ui(int index, int type, boolean normalized, int value) { @@ -528,6 +528,6 @@ public static void vertexAttribP4uiv(int index, int type, boolean normalized, Me } public static void vertexAttribP4uiv(SegmentAllocator allocator, int index, int type, boolean normalized, int[] value) { - vertexAttribP4uiv(index, type, normalized, allocator.allocateArray(JAVA_INT, value)); + vertexAttribP4uiv(index, type, normalized, allocator.allocateFrom(JAVA_INT, value)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java index a13dad7c..c1a36a3a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL40C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -253,7 +253,7 @@ public static void deleteTransformFeedbacks(int n, MemorySegment ids) { } public static void deleteTransformFeedbacks(SegmentAllocator allocator, int[] ids) { - deleteTransformFeedbacks(ids.length, allocator.allocateArray(JAVA_INT, ids)); + deleteTransformFeedbacks(ids.length, allocator.allocateFrom(JAVA_INT, ids)); } public static void deleteTransformFeedback(int id) { @@ -280,7 +280,7 @@ public static void drawArraysIndirect(int mode, DrawArraysIndirectCommand indire } public static void drawArraysIndirect(SegmentAllocator allocator, int mode, int[] indirect) { - drawArraysIndirect(mode, allocator.allocateArray(JAVA_INT, indirect)); + drawArraysIndirect(mode, allocator.allocateFrom(JAVA_INT, indirect)); } public static void drawElementsIndirect(int mode, int type, MemorySegment indirect) { @@ -297,7 +297,7 @@ public static void drawElementsIndirect(int mode, int type, DrawElementsIndirect } public static void drawElementsIndirect(SegmentAllocator allocator, int mode, int type, int[] indirect) { - drawElementsIndirect(mode, type, allocator.allocateArray(JAVA_INT, indirect)); + drawElementsIndirect(mode, type, allocator.allocateFrom(JAVA_INT, indirect)); } public static void drawTransformFeedback(int mode, int id) { @@ -337,7 +337,7 @@ public static void genTransformFeedbacks(int n, MemorySegment ids) { } public static void genTransformFeedbacks(SegmentAllocator allocator, int[] ids) { - var seg = allocator.allocateArray(JAVA_INT, ids.length); + var seg = allocator.allocateFrom(JAVA_INT, ids); genTransformFeedbacks(ids.length, seg); RuntimeHelper.toArray(seg, ids); } @@ -364,9 +364,9 @@ public static void getActiveSubroutineName(int program, int shaderType, int inde } public static String getActiveSubroutineName(SegmentAllocator allocator, int program, int shaderType, int index, int bufSize) { - var seg = allocator.allocateArray(JAVA_BYTE, bufSize); + var seg = allocator.allocate(JAVA_BYTE, bufSize); getActiveSubroutineName(program, shaderType, index, bufSize, MemorySegment.NULL, seg); - return seg.getUtf8String(0); + return seg.getString(0); } public static void getActiveSubroutineUniformName(int program, int shaderType, int index, int bufSize, MemorySegment length, MemorySegment name) { @@ -379,9 +379,9 @@ public static void getActiveSubroutineUniformName(int program, int shaderType, i } public static String getActiveSubroutineUniformName(SegmentAllocator allocator, int program, int shaderType, int index, int bufSize) { - var seg = allocator.allocateArray(JAVA_BYTE, bufSize); + var seg = allocator.allocate(JAVA_BYTE, bufSize); getActiveSubroutineUniformName(program, shaderType, index, bufSize, MemorySegment.NULL, seg); - return seg.getUtf8String(0); + return seg.getString(0); } public static void getActiveSubroutineUniformiv(int program, int shaderType, int index, int pname, MemorySegment values) { @@ -394,7 +394,7 @@ public static void getActiveSubroutineUniformiv(int program, int shaderType, int } public static void getActiveSubroutineUniformiv(SegmentAllocator allocator, int program, int shaderType, int index, int pname, int[] values) { - var seg = allocator.allocateArray(JAVA_INT, values.length); + var seg = allocator.allocateFrom(JAVA_INT, values); getActiveSubroutineUniformiv(program, shaderType, index, pname, seg); RuntimeHelper.toArray(seg, values); } @@ -501,7 +501,7 @@ public static void getUniformSubroutineuiv(int shaderType, int location, MemoryS } public static void getUniformSubroutineuiv(SegmentAllocator allocator, int shaderType, int location, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getUniformSubroutineuiv(shaderType, location, seg); RuntimeHelper.toArray(seg, params); } @@ -516,7 +516,7 @@ public static void getUniformdv(int program, int location, MemorySegment params) } public static void getUniformdv(SegmentAllocator allocator, int program, int location, double[] params) { - var seg = allocator.allocateArray(JAVA_DOUBLE, params.length); + var seg = allocator.allocateFrom(JAVA_DOUBLE, params); getUniformdv(program, location, seg); RuntimeHelper.toArray(seg, params); } @@ -561,7 +561,7 @@ public static void patchParameterfv(int pname, MemorySegment values) { } public static void patchParameterfv(SegmentAllocator allocator, int pname, float[] values) { - patchParameterfv(pname, allocator.allocateArray(JAVA_FLOAT, values)); + patchParameterfv(pname, allocator.allocateFrom(JAVA_FLOAT, values)); } public static void patchParameteri(int pname, int value) { @@ -610,7 +610,7 @@ public static void uniform1dv(int location, int count, MemorySegment value) { } public static void uniform1dv(SegmentAllocator allocator, int location, double[] value) { - uniform1dv(location, value.length, allocator.allocateArray(JAVA_DOUBLE, value)); + uniform1dv(location, value.length, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniform2d(int location, double x, double y) { @@ -632,7 +632,7 @@ public static void uniform2dv(int location, int count, MemorySegment value) { } public static void uniform2dv(SegmentAllocator allocator, int location, double[] value) { - uniform2dv(location, value.length >> 1, allocator.allocateArray(JAVA_DOUBLE, value)); + uniform2dv(location, value.length >> 1, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniform3d(int location, double x, double y, double z) { @@ -654,7 +654,7 @@ public static void uniform3dv(int location, int count, MemorySegment value) { } public static void uniform3dv(SegmentAllocator allocator, int location, double[] value) { - uniform3dv(location, value.length / 3, allocator.allocateArray(JAVA_DOUBLE, value)); + uniform3dv(location, value.length / 3, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniform4d(int location, double x, double y, double z, double w) { @@ -676,7 +676,7 @@ public static void uniform4dv(int location, int count, MemorySegment value) { } public static void uniform4dv(SegmentAllocator allocator, int location, double[] value) { - uniform4dv(location, value.length >> 2, allocator.allocateArray(JAVA_DOUBLE, value)); + uniform4dv(location, value.length >> 2, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix2dv(int location, int count, boolean transpose, MemorySegment value) { @@ -689,7 +689,7 @@ public static void uniformMatrix2dv(int location, int count, boolean transpose, } public static void uniformMatrix2dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix2dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix2dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix2dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -706,7 +706,7 @@ public static void uniformMatrix2x3dv(int location, int count, boolean transpose } public static void uniformMatrix2x3dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix2x3dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix2x3dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix2x3dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -723,7 +723,7 @@ public static void uniformMatrix2x4dv(int location, int count, boolean transpose } public static void uniformMatrix2x4dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix2x4dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix2x4dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix2x4dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -740,7 +740,7 @@ public static void uniformMatrix3dv(int location, int count, boolean transpose, } public static void uniformMatrix3dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix3dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix3dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix3dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -757,7 +757,7 @@ public static void uniformMatrix3x2dv(int location, int count, boolean transpose } public static void uniformMatrix3x2dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix3x2dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix3x2dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix3x2dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -774,7 +774,7 @@ public static void uniformMatrix3x4dv(int location, int count, boolean transpose } public static void uniformMatrix3x4dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix3x4dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix3x4dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix3x4dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -791,7 +791,7 @@ public static void uniformMatrix4dv(int location, int count, boolean transpose, } public static void uniformMatrix4dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix4dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix4dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix4dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -808,7 +808,7 @@ public static void uniformMatrix4x2dv(int location, int count, boolean transpose } public static void uniformMatrix4x2dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix4x2dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix4x2dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix4x2dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -825,7 +825,7 @@ public static void uniformMatrix4x3dv(int location, int count, boolean transpose } public static void uniformMatrix4x3dv(SegmentAllocator allocator, int location, int count, boolean transpose, double[] value) { - uniformMatrix4x3dv(location, count, transpose, allocator.allocateArray(JAVA_DOUBLE, value)); + uniformMatrix4x3dv(location, count, transpose, allocator.allocateFrom(JAVA_DOUBLE, value)); } public static void uniformMatrix4x3dv(SegmentAllocator allocator, int location, boolean transpose, double[] value) { @@ -842,6 +842,6 @@ public static void uniformSubroutinesuiv(int shaderType, int count, MemorySegmen } public static void uniformSubroutinesuiv(SegmentAllocator allocator, int shaderType, int[] indices) { - uniformSubroutinesuiv(shaderType, indices.length, allocator.allocateArray(JAVA_INT, indices)); + uniformSubroutinesuiv(shaderType, indices.length, allocator.allocateFrom(JAVA_INT, indices)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java index 950b0073..b405e452 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL42C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -206,15 +206,15 @@ public static void drawElementsInstancedBaseInstance(int mode, int count, int ty } public static void drawElementsInstancedBaseInstance(SegmentAllocator allocator, int mode, int count, int type, byte[] indices, int instanceCount, int baseInstance) { - drawElementsInstancedBaseInstance(mode, count, type, allocator.allocateArray(JAVA_BYTE, indices), instanceCount, baseInstance); + drawElementsInstancedBaseInstance(mode, count, type, allocator.allocateFrom(JAVA_BYTE, indices), instanceCount, baseInstance); } public static void drawElementsInstancedBaseInstance(SegmentAllocator allocator, int mode, int count, int type, short[] indices, int instanceCount, int baseInstance) { - drawElementsInstancedBaseInstance(mode, count, type, allocator.allocateArray(JAVA_SHORT, indices), instanceCount, baseInstance); + drawElementsInstancedBaseInstance(mode, count, type, allocator.allocateFrom(JAVA_SHORT, indices), instanceCount, baseInstance); } public static void drawElementsInstancedBaseInstance(SegmentAllocator allocator, int mode, int count, int type, int[] indices, int instanceCount, int baseInstance) { - drawElementsInstancedBaseInstance(mode, count, type, allocator.allocateArray(JAVA_INT, indices), instanceCount, baseInstance); + drawElementsInstancedBaseInstance(mode, count, type, allocator.allocateFrom(JAVA_INT, indices), instanceCount, baseInstance); } public static void drawElementsInstancedBaseVertexBaseInstance(int mode, int count, int type, MemorySegment indices, int instanceCount, int baseVertex, int baseInstance) { @@ -227,15 +227,15 @@ public static void drawElementsInstancedBaseVertexBaseInstance(int mode, int cou } public static void drawElementsInstancedBaseVertexBaseInstance(SegmentAllocator allocator, int mode, int count, int type, byte[] indices, int instanceCount, int baseVertex, int baseInstance) { - drawElementsInstancedBaseVertexBaseInstance(mode, count, type, allocator.allocateArray(JAVA_BYTE, indices), instanceCount, baseVertex, baseInstance); + drawElementsInstancedBaseVertexBaseInstance(mode, count, type, allocator.allocateFrom(JAVA_BYTE, indices), instanceCount, baseVertex, baseInstance); } public static void drawElementsInstancedBaseVertexBaseInstance(SegmentAllocator allocator, int mode, int count, int type, short[] indices, int instanceCount, int baseVertex, int baseInstance) { - drawElementsInstancedBaseVertexBaseInstance(mode, count, type, allocator.allocateArray(JAVA_SHORT, indices), instanceCount, baseVertex, baseInstance); + drawElementsInstancedBaseVertexBaseInstance(mode, count, type, allocator.allocateFrom(JAVA_SHORT, indices), instanceCount, baseVertex, baseInstance); } public static void drawElementsInstancedBaseVertexBaseInstance(SegmentAllocator allocator, int mode, int count, int type, int[] indices, int instanceCount, int baseVertex, int baseInstance) { - drawElementsInstancedBaseVertexBaseInstance(mode, count, type, allocator.allocateArray(JAVA_INT, indices), instanceCount, baseVertex, baseInstance); + drawElementsInstancedBaseVertexBaseInstance(mode, count, type, allocator.allocateFrom(JAVA_INT, indices), instanceCount, baseVertex, baseInstance); } public static void drawTransformFeedbackInstanced(int mode, int id, int instanceCount) { @@ -266,7 +266,7 @@ public static void getActiveAtomicCounterBufferiv(int program, int bufferIndex, } public static void getActiveAtomicCounterBufferiv(SegmentAllocator allocator, int program, int bufferIndex, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getActiveAtomicCounterBufferiv(program, bufferIndex, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -293,7 +293,7 @@ public static void getInternalformativ(int target, int internalFormat, int pname } public static void getInternalformativ(SegmentAllocator allocator, int target, int internalFormat, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getInternalformativ(target, internalFormat, pname, params.length, seg); RuntimeHelper.toArray(seg, params); } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java index 3218077d..94d70f19 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL43C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -432,7 +432,7 @@ public static void debugMessageControl(int source, int type, int severity, int c } public static void debugMessageControl(SegmentAllocator allocator, int source, int type, int severity, int count, int[] ids, boolean enabled) { - debugMessageControl(source, type, severity, count, allocator.allocateArray(JAVA_INT, ids), enabled); + debugMessageControl(source, type, severity, count, allocator.allocateFrom(JAVA_INT, ids), enabled); } public static void debugMessageInsert(int source, int type, int id, int severity, int length, MemorySegment buf) { @@ -495,19 +495,19 @@ public static int getDebugMessageLog(int count, MemorySegment sources, MemorySeg } public static int getDebugMessageLog(SegmentAllocator allocator, int count, int bufSize, int[] sources, int[] types, int[] ids, int[] severities, int[] lengths, String[] messageLog) { - var pSrc = allocator.allocateArray(JAVA_INT, sources.length); - var pTypes = allocator.allocateArray(JAVA_INT, types.length); - var pIds = allocator.allocateArray(JAVA_INT, ids.length); - var pSvr = allocator.allocateArray(JAVA_INT, severities.length); - var pLen = allocator.allocateArray(JAVA_INT, lengths.length); - var pLog = allocator.allocateArray(JAVA_BYTE, bufSize); + var pSrc = allocator.allocateFrom(JAVA_INT, sources); + var pTypes = allocator.allocateFrom(JAVA_INT, types); + var pIds = allocator.allocateFrom(JAVA_INT, ids); + var pSvr = allocator.allocateFrom(JAVA_INT, severities); + var pLen = allocator.allocateFrom(JAVA_INT, lengths); + var pLog = allocator.allocate(JAVA_BYTE, bufSize); int num = getDebugMessageLog(count, bufSize, pSrc, pTypes, pIds, pSvr, pLen, pLog); RuntimeHelper.toArray(pSrc, sources); RuntimeHelper.toArray(pTypes, types); RuntimeHelper.toArray(pIds, ids); RuntimeHelper.toArray(pSvr, severities); RuntimeHelper.toArray(pLen, lengths); - messageLog[0] = pLog.getUtf8String(0); + messageLog[0] = pLog.getString(0); return num; } @@ -542,7 +542,7 @@ public static void getInternalformati64v(int target, int internalFormat, int pna } public static void getInternalformati64v(SegmentAllocator allocator, int target, int internalFormat, int pname, long[] params) { - var seg = allocator.allocateArray(JAVA_LONG, params.length); + var seg = allocator.allocateFrom(JAVA_LONG, params); getInternalformati64v(target, internalFormat, pname, params.length, seg); RuntimeHelper.toArray(seg, params); } @@ -573,13 +573,13 @@ public static void getObjectLabel(int identifier, int name, MemorySegment length } public static String getObjectLabel(SegmentAllocator allocator, int identifier, int name, int bufSize, int @Nullable [] length) { - var seg = allocator.allocateArray(JAVA_BYTE, bufSize); + var seg = allocator.allocate(JAVA_BYTE, bufSize); var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; getObjectLabel(identifier, name, bufSize, seg, pLen); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - return seg.getUtf8String(0); + return seg.getString(0); } public static String getObjectLabel(SegmentAllocator allocator, int identifier, int name, int @Nullable [] length) { @@ -600,13 +600,13 @@ public static void getObjectPtrLabel(MemorySegment ptr, MemorySegment length, Me } public static String getObjectPtrLabel(SegmentAllocator allocator, MemorySegment ptr, int bufSize, int @Nullable [] length) { - var seg = allocator.allocateArray(JAVA_BYTE, bufSize); + var seg = allocator.allocate(JAVA_BYTE, bufSize); var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; getObjectPtrLabel(ptr, bufSize, seg, pLen); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - return seg.getUtf8String(0); + return seg.getString(0); } public static String getObjectPtrLabel(SegmentAllocator allocator, MemorySegment ptr, int @Nullable [] length) { @@ -705,13 +705,13 @@ public static void getProgramResourceName(int program, int programInterface, int } public static String getProgramResourceName(SegmentAllocator allocator, int program, int programInterface, int index, int bufSize, int @Nullable [] length) { - var seg = allocator.allocateArray(JAVA_BYTE, bufSize); + var seg = allocator.allocate(JAVA_BYTE, bufSize); var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; getProgramResourceName(program, programInterface, index, bufSize, pLen, seg); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } - return seg.getUtf8String(0); + return seg.getString(0); } public static String getProgramResourceName(SegmentAllocator allocator, int program, int programInterface, int index, int @Nullable [] length) { @@ -732,9 +732,9 @@ public static void getProgramResourceiv(int program, int programInterface, int i } public static void getProgramResourceiv(SegmentAllocator allocator, int program, int programInterface, int index, int[] props, int @Nullable [] length, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); var pLen = length != null ? allocator.allocate(JAVA_INT) : MemorySegment.NULL; - getProgramResourceiv(program, programInterface, index, props.length, allocator.allocateArray(JAVA_INT, props), params.length, pLen, seg); + getProgramResourceiv(program, programInterface, index, props.length, allocator.allocateFrom(JAVA_INT, props), params.length, pLen, seg); if (length != null && length.length > 0) { length[0] = pLen.get(JAVA_INT, 0); } @@ -743,7 +743,7 @@ public static void getProgramResourceiv(SegmentAllocator allocator, int program, public static int getProgramResourceiv(SegmentAllocator allocator, int program, int programInterface, int index, int[] props) { var seg = allocator.allocate(JAVA_INT); - getProgramResourceiv(program, programInterface, index, props.length, allocator.allocateArray(JAVA_INT, props), 1, MemorySegment.NULL, seg); + getProgramResourceiv(program, programInterface, index, props.length, allocator.allocateFrom(JAVA_INT, props), 1, MemorySegment.NULL, seg); return seg.get(JAVA_INT, 0); } @@ -775,7 +775,7 @@ public static void invalidateFramebuffer(int target, int numAttachments, MemoryS } public static void invalidateFramebuffer(SegmentAllocator allocator, int target, int[] attachments) { - invalidateFramebuffer(target, attachments.length, allocator.allocateArray(JAVA_INT, attachments)); + invalidateFramebuffer(target, attachments.length, allocator.allocateFrom(JAVA_INT, attachments)); } public static void invalidateFramebuffer(int target, int attachment) { @@ -798,7 +798,7 @@ public static void invalidateSubFramebuffer(int target, int numAttachments, Memo } public static void invalidateSubFramebuffer(SegmentAllocator allocator, int target, int[] attachments, int x, int y, int width, int height) { - invalidateSubFramebuffer(target, attachments.length, allocator.allocateArray(JAVA_INT, attachments), x, y, width, height); + invalidateSubFramebuffer(target, attachments.length, allocator.allocateFrom(JAVA_INT, attachments), x, y, width, height); } public static void invalidateSubFramebuffer(int target, int attachment, int x, int y, int width, int height) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL44C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL44C.java index ffc67f46..9ffb207a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL44C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL44C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -84,7 +84,7 @@ public static void bindBuffersBase(int target, int first, int count, MemorySegme } public static void bindBuffersBase(SegmentAllocator allocator, int target, int first, int count, int[] buffers) { - bindBuffersBase(target, first, count, allocator.allocateArray(JAVA_INT, buffers)); + bindBuffersBase(target, first, count, allocator.allocateFrom(JAVA_INT, buffers)); } public static void bindBuffersRange(int target, int first, int count, MemorySegment buffers, MemorySegment offsets, MemorySegment sizes) { @@ -97,7 +97,7 @@ public static void bindBuffersRange(int target, int first, int count, MemorySegm } public static void bindBuffersRange(SegmentAllocator allocator, int target, int first, int count, int[] buffers, long[] offsets, long[] sizes) { - bindBuffersRange(target, first, count, allocator.allocateArray(JAVA_INT, buffers), allocator.allocateArray(JAVA_LONG, offsets), allocator.allocateArray(JAVA_LONG, sizes)); + bindBuffersRange(target, first, count, allocator.allocateFrom(JAVA_INT, buffers), allocator.allocateFrom(JAVA_LONG, offsets), allocator.allocateFrom(JAVA_LONG, sizes)); } public static void bindImageTextures(int first, int count, MemorySegment textures) { @@ -110,7 +110,7 @@ public static void bindImageTextures(int first, int count, MemorySegment texture } public static void bindImageTextures(SegmentAllocator allocator, int first, int count, int[] textures) { - bindImageTextures(first, count, allocator.allocateArray(JAVA_INT, textures)); + bindImageTextures(first, count, allocator.allocateFrom(JAVA_INT, textures)); } public static void bindSamplers(int first, int count, MemorySegment samplers) { @@ -123,7 +123,7 @@ public static void bindSamplers(int first, int count, MemorySegment samplers) { } public static void bindSamplers(SegmentAllocator allocator, int first, int count, int[] samplers) { - bindSamplers(first, count, allocator.allocateArray(JAVA_INT, samplers)); + bindSamplers(first, count, allocator.allocateFrom(JAVA_INT, samplers)); } public static void bindTextures(int first, int count, MemorySegment textures) { @@ -136,7 +136,7 @@ public static void bindTextures(int first, int count, MemorySegment textures) { } public static void bindTextures(SegmentAllocator allocator, int first, int count, int[] textures) { - bindTextures(first, count, allocator.allocateArray(JAVA_INT, textures)); + bindTextures(first, count, allocator.allocateFrom(JAVA_INT, textures)); } public static void bindVertexBuffers(int first, int count, MemorySegment buffers, MemorySegment offsets, MemorySegment strides) { @@ -149,7 +149,7 @@ public static void bindVertexBuffers(int first, int count, MemorySegment buffers } public static void bindVertexBuffers(SegmentAllocator allocator, int first, int count, int[] buffers, long[] offsets, long[] strides) { - bindVertexBuffers(first, count, allocator.allocateArray(JAVA_INT, buffers), allocator.allocateArray(JAVA_LONG, offsets), allocator.allocateArray(JAVA_LONG, strides)); + bindVertexBuffers(first, count, allocator.allocateFrom(JAVA_INT, buffers), allocator.allocateFrom(JAVA_LONG, offsets), allocator.allocateFrom(JAVA_LONG, strides)); } public static void bufferStorage(int target, long size, MemorySegment data, int flags) { @@ -166,27 +166,27 @@ public static void bufferStorage(int target, long size, int flags) { } public static void bufferStorage(SegmentAllocator allocator, int target, byte[] data, int flags) { - bufferStorage(target, Integer.toUnsignedLong(data.length), allocator.allocateArray(JAVA_BYTE, data), flags); + bufferStorage(target, Integer.toUnsignedLong(data.length), allocator.allocateFrom(JAVA_BYTE, data), flags); } public static void bufferStorage(SegmentAllocator allocator, int target, short[] data, int flags) { - bufferStorage(target, Integer.toUnsignedLong(data.length) << 1, allocator.allocateArray(JAVA_SHORT, data), flags); + bufferStorage(target, Integer.toUnsignedLong(data.length) << 1, allocator.allocateFrom(JAVA_SHORT, data), flags); } public static void bufferStorage(SegmentAllocator allocator, int target, int[] data, int flags) { - bufferStorage(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_INT, data), flags); + bufferStorage(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_INT, data), flags); } public static void bufferStorage(SegmentAllocator allocator, int target, long[] data, int flags) { - bufferStorage(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_LONG, data), flags); + bufferStorage(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_LONG, data), flags); } public static void bufferStorage(SegmentAllocator allocator, int target, float[] data, int flags) { - bufferStorage(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_FLOAT, data), flags); + bufferStorage(target, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_FLOAT, data), flags); } public static void bufferStorage(SegmentAllocator allocator, int target, double[] data, int flags) { - bufferStorage(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_DOUBLE, data), flags); + bufferStorage(target, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_DOUBLE, data), flags); } public static void clearTexImage(int texture, int level, int format, int type, MemorySegment data) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java index 40796a95..5b89df3a 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL45C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -266,7 +266,7 @@ public static void clearNamedFramebufferfv(int framebuffer, int buffer, int draw } public static void clearNamedFramebufferfv(SegmentAllocator allocator, int framebuffer, int buffer, int drawBuffer, float[] value) { - clearNamedFramebufferfv(framebuffer, buffer, drawBuffer, allocator.allocateArray(JAVA_FLOAT, value)); + clearNamedFramebufferfv(framebuffer, buffer, drawBuffer, allocator.allocateFrom(JAVA_FLOAT, value)); } public static void clearNamedFramebufferiv(int framebuffer, int buffer, int drawBuffer, MemorySegment value) { @@ -279,7 +279,7 @@ public static void clearNamedFramebufferiv(int framebuffer, int buffer, int draw } public static void clearNamedFramebufferiv(SegmentAllocator allocator, int framebuffer, int buffer, int drawBuffer, int[] value) { - clearNamedFramebufferiv(framebuffer, buffer, drawBuffer, allocator.allocateArray(JAVA_INT, value)); + clearNamedFramebufferiv(framebuffer, buffer, drawBuffer, allocator.allocateFrom(JAVA_INT, value)); } public static void clearNamedFramebufferuiv(int framebuffer, int buffer, int drawBuffer, MemorySegment value) { @@ -292,7 +292,7 @@ public static void clearNamedFramebufferuiv(int framebuffer, int buffer, int dra } public static void clearNamedFramebufferuiv(SegmentAllocator allocator, int framebuffer, int buffer, int drawBuffer, int[] value) { - clearNamedFramebufferuiv(framebuffer, buffer, drawBuffer, allocator.allocateArray(JAVA_INT, value)); + clearNamedFramebufferuiv(framebuffer, buffer, drawBuffer, allocator.allocateFrom(JAVA_INT, value)); } public static void clipControl(int origin, int depth) { @@ -377,7 +377,7 @@ public static void createBuffers(int n, MemorySegment buffers) { } public static void createBuffers(SegmentAllocator allocator, int[] buffers) { - var seg = allocator.allocateArray(JAVA_INT, buffers.length); + var seg = allocator.allocateFrom(JAVA_INT, buffers); createBuffers(buffers.length, seg); RuntimeHelper.toArray(seg, buffers); } @@ -404,7 +404,7 @@ public static void createFramebuffers(int n, MemorySegment framebuffers) { } public static void createFramebuffers(SegmentAllocator allocator, int[] framebuffers) { - var seg = allocator.allocateArray(JAVA_INT, framebuffers.length); + var seg = allocator.allocateFrom(JAVA_INT, framebuffers); createFramebuffers(framebuffers.length, seg); RuntimeHelper.toArray(seg, framebuffers); } @@ -431,7 +431,7 @@ public static void createProgramPipelines(int n, MemorySegment pipelines) { } public static void createProgramPipelines(SegmentAllocator allocator, int[] pipelines) { - var seg = allocator.allocateArray(JAVA_INT, pipelines.length); + var seg = allocator.allocateFrom(JAVA_INT, pipelines.length); createProgramPipelines(pipelines.length, seg); RuntimeHelper.toArray(seg, pipelines); } @@ -458,7 +458,7 @@ public static void createQueries(int target, int n, MemorySegment ids) { } public static void createQueries(SegmentAllocator allocator, int target, int[] ids) { - var seg = allocator.allocateArray(JAVA_INT, ids.length); + var seg = allocator.allocateFrom(JAVA_INT, ids); createQueries(target, ids.length, seg); RuntimeHelper.toArray(seg, ids); } @@ -485,7 +485,7 @@ public static void createRenderbuffers(int n, MemorySegment renderbuffers) { } public static void createRenderbuffers(SegmentAllocator allocator, int[] renderbuffers) { - var seg = allocator.allocateArray(JAVA_INT, renderbuffers.length); + var seg = allocator.allocateFrom(JAVA_INT, renderbuffers); createRenderbuffers(renderbuffers.length, seg); RuntimeHelper.toArray(seg, renderbuffers); } @@ -512,7 +512,7 @@ public static void createSamplers(int n, MemorySegment samplers) { } public static void createSamplers(SegmentAllocator allocator, int[] samplers) { - var seg = allocator.allocateArray(JAVA_INT, samplers.length); + var seg = allocator.allocateFrom(JAVA_INT, samplers); createSamplers(samplers.length, seg); RuntimeHelper.toArray(seg, samplers); } @@ -540,7 +540,7 @@ public static void createTextures(int target, int n, MemorySegment textures) { public static void createTextures(SegmentAllocator allocator, int target, int[] textures) { final int n = textures.length; - var pTex = allocator.allocateArray(JAVA_INT, n); + var pTex = allocator.allocate(JAVA_INT, n); createTextures(target, n, pTex); RuntimeHelper.toArray(pTex, textures); } @@ -567,7 +567,7 @@ public static void createTransformFeedbacks(int n, MemorySegment ids) { } public static void createTransformFeedbacks(SegmentAllocator allocator, int[] ids) { - var seg = allocator.allocateArray(JAVA_INT, ids.length); + var seg = allocator.allocateFrom(JAVA_INT, ids); createTransformFeedbacks(ids.length, seg); RuntimeHelper.toArray(seg, ids); } @@ -594,7 +594,7 @@ public static void createVertexArrays(int n, MemorySegment arrays) { } public static void createVertexArrays(SegmentAllocator allocator, int[] arrays) { - var seg = allocator.allocateArray(JAVA_INT, arrays.length); + var seg = allocator.allocateFrom(JAVA_INT, arrays); createVertexArrays(arrays.length, seg); RuntimeHelper.toArray(seg, arrays); } @@ -747,37 +747,37 @@ public static void getNamedBufferSubData(int buffer, long offset, long size, Mem } public static void getNamedBufferSubData(SegmentAllocator allocator, int buffer, long offset, byte[] data) { - var seg = allocator.allocateArray(JAVA_BYTE, data.length); + var seg = allocator.allocateFrom(JAVA_BYTE, data); getNamedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length), seg); RuntimeHelper.toArray(seg, data); } public static void getNamedBufferSubData(SegmentAllocator allocator, int buffer, long offset, short[] data) { - var seg = allocator.allocateArray(JAVA_SHORT, data.length); + var seg = allocator.allocateFrom(JAVA_SHORT, data); getNamedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 1, seg); RuntimeHelper.toArray(seg, data); } public static void getNamedBufferSubData(SegmentAllocator allocator, int buffer, long offset, int[] data) { - var seg = allocator.allocateArray(JAVA_INT, data.length); + var seg = allocator.allocateFrom(JAVA_INT, data); getNamedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 2, seg); RuntimeHelper.toArray(seg, data); } public static void getNamedBufferSubData(SegmentAllocator allocator, int buffer, long offset, long[] data) { - var seg = allocator.allocateArray(JAVA_LONG, data.length); + var seg = allocator.allocateFrom(JAVA_LONG, data); getNamedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 3, seg); RuntimeHelper.toArray(seg, data); } public static void getNamedBufferSubData(SegmentAllocator allocator, int buffer, long offset, float[] data) { - var seg = allocator.allocateArray(JAVA_FLOAT, data.length); + var seg = allocator.allocateFrom(JAVA_FLOAT, data); getNamedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 2, seg); RuntimeHelper.toArray(seg, data); } public static void getNamedBufferSubData(SegmentAllocator allocator, int buffer, long offset, double[] data) { - var seg = allocator.allocateArray(JAVA_DOUBLE, data.length); + var seg = allocator.allocateFrom(JAVA_DOUBLE, data); getNamedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 3, seg); RuntimeHelper.toArray(seg, data); } @@ -912,7 +912,7 @@ public static void getTextureLevelParameterfv(int texture, int level, int pname, } public static void getTextureLevelParameterfv(SegmentAllocator allocator, int texture, int level, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocateFrom(JAVA_FLOAT, params); getTextureLevelParameterfv(texture, level, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -939,7 +939,7 @@ public static void getTextureLevelParameteriv(int texture, int level, int pname, } public static void getTextureLevelParameteriv(SegmentAllocator allocator, int texture, int level, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocateFrom(JAVA_INT, params); getTextureLevelParameteriv(texture, level, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -966,7 +966,7 @@ public static void getTextureParameterIiv(int texture, int pname, MemorySegment } public static void getTextureParameterIiv(SegmentAllocator allocator, int texture, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getTextureParameterIiv(texture, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -993,7 +993,7 @@ public static void getTextureParameterIuiv(int texture, int pname, MemorySegment } public static void getTextureParameterIuiv(SegmentAllocator allocator, int texture, int pname, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getTextureParameterIuiv(texture, pname, seg); RuntimeHelper.toArray(seg, params); } @@ -1020,7 +1020,7 @@ public static void getTextureParameterfv(int texture, int pname, MemorySegment p } public static void getTextureParameterfv(SegmentAllocator allocator, int texture, int pname, float[] params) { - var pParams = allocator.allocateArray(JAVA_FLOAT, params.length); + var pParams = allocator.allocateFrom(JAVA_FLOAT, params); getTextureParameterfv(texture, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1047,7 +1047,7 @@ public static void getTextureParameteriv(int texture, int pname, MemorySegment p } public static void getTextureParameteriv(SegmentAllocator allocator, int texture, int pname, int[] params) { - var pParams = allocator.allocateArray(JAVA_INT, params.length); + var pParams = allocator.allocateFrom(JAVA_INT, params); getTextureParameteriv(texture, pname, pParams); RuntimeHelper.toArray(pParams, params); } @@ -1074,25 +1074,25 @@ public static void getTextureSubImage(int texture, int level, int xoffset, int y } public static void getTextureSubImage(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, byte[] pixels) { - var seg = allocator.allocateArray(JAVA_BYTE, pixels.length); + var seg = allocator.allocateFrom(JAVA_BYTE, pixels); getTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } public static void getTextureSubImage(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, short[] pixels) { - var seg = allocator.allocateArray(JAVA_SHORT, pixels.length); + var seg = allocator.allocateFrom(JAVA_SHORT, pixels); getTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } public static void getTextureSubImage(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int[] pixels) { - var seg = allocator.allocateArray(JAVA_INT, pixels.length); + var seg = allocator.allocateFrom(JAVA_INT, pixels); getTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } public static void getTextureSubImage(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, float[] pixels) { - var seg = allocator.allocateArray(JAVA_FLOAT, pixels.length); + var seg = allocator.allocateFrom(JAVA_FLOAT, pixels); getTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } @@ -1107,7 +1107,7 @@ public static void getTransformFeedbacki64_v(int xfb, int pname, int index, Memo } public static void getTransformFeedbacki64_v(SegmentAllocator allocator, int xfb, int pname, int index, long[] param) { - var seg = allocator.allocateArray(JAVA_LONG, param.length); + var seg = allocator.allocateFrom(JAVA_LONG, param); getTransformFeedbacki64_v(xfb, pname, index, seg); RuntimeHelper.toArray(seg, param); } @@ -1122,7 +1122,7 @@ public static void getTransformFeedbacki_v(int xfb, int pname, int index, Memory } public static void getTransformFeedbacki_v(SegmentAllocator allocator, int xfb, int pname, int index, int[] param) { - var seg = allocator.allocateArray(JAVA_INT, param.length); + var seg = allocator.allocateFrom(JAVA_INT, param); getTransformFeedbacki_v(xfb, pname, index, seg); RuntimeHelper.toArray(seg, param); } @@ -1137,7 +1137,7 @@ public static void getTransformFeedbackiv(int xfb, int pname, MemorySegment para } public static void getTransformFeedbackiv(SegmentAllocator allocator, int xfb, int pname, int[] param) { - var seg = allocator.allocateArray(JAVA_INT, param.length); + var seg = allocator.allocateFrom(JAVA_INT, param); getTransformFeedbackiv(xfb, pname, seg); RuntimeHelper.toArray(seg, param); } @@ -1232,25 +1232,25 @@ public static void getnTexImage(int target, int level, int format, int type, Mem } public static void getnTexImage(SegmentAllocator allocator, int target, int level, int format, int type, byte[] pixels) { - var seg = allocator.allocateArray(JAVA_BYTE, pixels.length); + var seg = allocator.allocateFrom(JAVA_BYTE, pixels); getnTexImage(target, level, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } public static void getnTexImage(SegmentAllocator allocator, int target, int level, int format, int type, short[] pixels) { - var seg = allocator.allocateArray(JAVA_SHORT, pixels.length); + var seg = allocator.allocateFrom(JAVA_SHORT, pixels); getnTexImage(target, level, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } public static void getnTexImage(SegmentAllocator allocator, int target, int level, int format, int type, int[] pixels) { - var seg = allocator.allocateArray(JAVA_INT, pixels.length); + var seg = allocator.allocateFrom(JAVA_INT, pixels); getnTexImage(target, level, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } public static void getnTexImage(SegmentAllocator allocator, int target, int level, int format, int type, float[] pixels) { - var seg = allocator.allocateArray(JAVA_FLOAT, pixels.length); + var seg = allocator.allocateFrom(JAVA_FLOAT, pixels); getnTexImage(target, level, format, type, pixels.length, seg); RuntimeHelper.toArray(seg, pixels); } @@ -1269,7 +1269,7 @@ public static void getnUniformdv(int program, int location, MemorySegment params } public static void getnUniformdv(SegmentAllocator allocator, int program, int location, double[] params) { - var seg = allocator.allocateArray(JAVA_DOUBLE, params.length); + var seg = allocator.allocateFrom(JAVA_DOUBLE, params); getnUniformdv(program, location, params.length, seg); RuntimeHelper.toArray(seg, params); } @@ -1288,7 +1288,7 @@ public static void getnUniformfv(int program, int location, MemorySegment params } public static void getnUniformfv(SegmentAllocator allocator, int program, int location, float[] params) { - var seg = allocator.allocateArray(JAVA_FLOAT, params.length); + var seg = allocator.allocateFrom(JAVA_FLOAT, params); getnUniformfv(program, location, params.length, seg); RuntimeHelper.toArray(seg, params); } @@ -1307,7 +1307,7 @@ public static void getnUniformiv(int program, int location, MemorySegment params } public static void getnUniformiv(SegmentAllocator allocator, int program, int location, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getnUniformiv(program, location, params.length, seg); RuntimeHelper.toArray(seg, params); } @@ -1326,7 +1326,7 @@ public static void getnUniformuiv(int program, int location, MemorySegment param } public static void getnUniformuiv(SegmentAllocator allocator, int program, int location, int[] params) { - var seg = allocator.allocateArray(JAVA_INT, params.length); + var seg = allocator.allocateFrom(JAVA_INT, params); getnUniformuiv(program, location, params.length, seg); RuntimeHelper.toArray(seg, params); } @@ -1341,7 +1341,7 @@ public static void invalidateNamedFramebufferData(int framebuffer, int numAttach } public static void invalidateNamedFramebufferData(SegmentAllocator allocator, int framebuffer, int[] attachments) { - invalidateNamedFramebufferData(framebuffer, attachments.length, allocator.allocateArray(JAVA_INT, attachments)); + invalidateNamedFramebufferData(framebuffer, attachments.length, allocator.allocateFrom(JAVA_INT, attachments)); } public static void invalidateNamedFramebufferData(int framebuffer, int attachment) { @@ -1364,7 +1364,7 @@ public static void invalidateNamedFramebufferSubData(int framebuffer, int numAtt } public static void invalidateNamedFramebufferSubData(SegmentAllocator allocator, int framebuffer, int[] attachments, int x, int y, int width, int height) { - invalidateNamedFramebufferSubData(framebuffer, attachments.length, allocator.allocateArray(JAVA_INT, attachments), x, y, width, height); + invalidateNamedFramebufferSubData(framebuffer, attachments.length, allocator.allocateFrom(JAVA_INT, attachments), x, y, width, height); } public static void invalidateNamedFramebufferSubData(int framebuffer, int attachment, int x, int y, int width, int height) { @@ -1423,27 +1423,27 @@ public static void namedBufferData(int buffer, long size, int usage) { } public static void namedBufferData(SegmentAllocator allocator, int buffer, byte[] data, int usage) { - namedBufferData(buffer, Integer.toUnsignedLong(data.length), allocator.allocateArray(JAVA_BYTE, data), usage); + namedBufferData(buffer, Integer.toUnsignedLong(data.length), allocator.allocateFrom(JAVA_BYTE, data), usage); } public static void namedBufferData(SegmentAllocator allocator, int buffer, short[] data, int usage) { - namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 1, allocator.allocateArray(JAVA_SHORT, data), usage); + namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 1, allocator.allocateFrom(JAVA_SHORT, data), usage); } public static void namedBufferData(SegmentAllocator allocator, int buffer, int[] data, int usage) { - namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_INT, data), usage); + namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_INT, data), usage); } public static void namedBufferData(SegmentAllocator allocator, int buffer, long[] data, int usage) { - namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_LONG, data), usage); + namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_LONG, data), usage); } public static void namedBufferData(SegmentAllocator allocator, int buffer, float[] data, int usage) { - namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_FLOAT, data), usage); + namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_FLOAT, data), usage); } public static void namedBufferData(SegmentAllocator allocator, int buffer, double[] data, int usage) { - namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_DOUBLE, data), usage); + namedBufferData(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_DOUBLE, data), usage); } public static void namedBufferStorage(int buffer, long size, MemorySegment data, int flags) { @@ -1460,27 +1460,27 @@ public static void namedBufferStorage(int buffer, long size, int flags) { } public static void namedBufferStorage(SegmentAllocator allocator, int buffer, byte[] data, int flags) { - namedBufferStorage(buffer, Integer.toUnsignedLong(data.length), allocator.allocateArray(JAVA_BYTE, data), flags); + namedBufferStorage(buffer, Integer.toUnsignedLong(data.length), allocator.allocateFrom(JAVA_BYTE, data), flags); } public static void namedBufferStorage(SegmentAllocator allocator, int buffer, short[] data, int flags) { - namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 1, allocator.allocateArray(JAVA_SHORT, data), flags); + namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 1, allocator.allocateFrom(JAVA_SHORT, data), flags); } public static void namedBufferStorage(SegmentAllocator allocator, int buffer, int[] data, int flags) { - namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_INT, data), flags); + namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_INT, data), flags); } public static void namedBufferStorage(SegmentAllocator allocator, int buffer, long[] data, int flags) { - namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_LONG, data), flags); + namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_LONG, data), flags); } public static void namedBufferStorage(SegmentAllocator allocator, int buffer, float[] data, int flags) { - namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_FLOAT, data), flags); + namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_FLOAT, data), flags); } public static void namedBufferStorage(SegmentAllocator allocator, int buffer, double[] data, int flags) { - namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_DOUBLE, data), flags); + namedBufferStorage(buffer, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_DOUBLE, data), flags); } public static void namedBufferSubData(int buffer, long offset, long size, MemorySegment data) { @@ -1497,27 +1497,27 @@ public static void namedBufferSubData(int buffer, long offset, MemorySegment dat } public static void namedBufferSubData(SegmentAllocator allocator, int buffer, long offset, byte[] data) { - namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length), allocator.allocateArray(JAVA_BYTE, data)); + namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length), allocator.allocateFrom(JAVA_BYTE, data)); } public static void namedBufferSubData(SegmentAllocator allocator, int buffer, long offset, short[] data) { - namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 1, allocator.allocateArray(JAVA_SHORT, data)); + namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 1, allocator.allocateFrom(JAVA_SHORT, data)); } public static void namedBufferSubData(SegmentAllocator allocator, int buffer, long offset, int[] data) { - namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_INT, data)); + namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_INT, data)); } public static void namedBufferSubData(SegmentAllocator allocator, int buffer, long offset, long[] data) { - namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_LONG, data)); + namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_LONG, data)); } public static void namedBufferSubData(SegmentAllocator allocator, int buffer, long offset, float[] data) { - namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateArray(JAVA_FLOAT, data)); + namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 2, allocator.allocateFrom(JAVA_FLOAT, data)); } public static void namedBufferSubData(SegmentAllocator allocator, int buffer, long offset, double[] data) { - namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateArray(JAVA_DOUBLE, data)); + namedBufferSubData(buffer, offset, Integer.toUnsignedLong(data.length) << 3, allocator.allocateFrom(JAVA_DOUBLE, data)); } public static void namedFramebufferDrawBuffer(int framebuffer, int buf) { @@ -1539,7 +1539,7 @@ public static void namedFramebufferDrawBuffers(int framebuffer, int n, MemorySeg } public static void namedFramebufferDrawBuffers(SegmentAllocator allocator, int framebuffer, int[] bufs) { - namedFramebufferDrawBuffers(framebuffer, bufs.length, allocator.allocateArray(JAVA_INT, bufs)); + namedFramebufferDrawBuffers(framebuffer, bufs.length, allocator.allocateFrom(JAVA_INT, bufs)); } public static void namedFramebufferParameteri(int framebuffer, int pname, int param) { @@ -1619,25 +1619,25 @@ public static void readnPixels(int x, int y, int width, int height, int format, } public static void readnPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, byte[] data) { - var seg = allocator.allocateArray(JAVA_BYTE, data.length); + var seg = allocator.allocateFrom(JAVA_BYTE, data); readnPixels(x, y, width, height, format, type, data.length, seg); RuntimeHelper.toArray(seg, data); } public static void readnPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, short[] data) { - var seg = allocator.allocateArray(JAVA_SHORT, data.length); + var seg = allocator.allocateFrom(JAVA_SHORT, data); readnPixels(x, y, width, height, format, type, data.length, seg); RuntimeHelper.toArray(seg, data); } public static void readnPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, int[] data) { - var seg = allocator.allocateArray(JAVA_INT, data.length); + var seg = allocator.allocateFrom(JAVA_INT, data); readnPixels(x, y, width, height, format, type, data.length, seg); RuntimeHelper.toArray(seg, data); } public static void readnPixels(SegmentAllocator allocator, int x, int y, int width, int height, int format, int type, float[] data) { - var seg = allocator.allocateArray(JAVA_FLOAT, data.length); + var seg = allocator.allocateFrom(JAVA_FLOAT, data); readnPixels(x, y, width, height, format, type, data.length, seg); RuntimeHelper.toArray(seg, data); } @@ -1679,7 +1679,7 @@ public static void textureParameterIiv(int texture, int pname, MemorySegment par } public static void textureParameterIiv(SegmentAllocator allocator, int texture, int pname, int[] params) { - textureParameterIiv(texture, pname, allocator.allocateArray(JAVA_INT, params)); + textureParameterIiv(texture, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void textureParameterIuiv(int texture, int pname, MemorySegment params) { @@ -1692,7 +1692,7 @@ public static void textureParameterIuiv(int texture, int pname, MemorySegment pa } public static void textureParameterIuiv(SegmentAllocator allocator, int texture, int pname, int[] params) { - textureParameterIuiv(texture, pname, allocator.allocateArray(JAVA_INT, params)); + textureParameterIuiv(texture, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void textureParameterf(int texture, int pname, float param) { @@ -1714,7 +1714,7 @@ public static void textureParameterfv(int texture, int pname, MemorySegment para } public static void textureParameterfv(SegmentAllocator allocator, int texture, int pname, float[] params) { - textureParameterfv(texture, pname, allocator.allocateArray(JAVA_FLOAT, params)); + textureParameterfv(texture, pname, allocator.allocateFrom(JAVA_FLOAT, params)); } public static void textureParameteri(int texture, int pname, int param) { @@ -1736,7 +1736,7 @@ public static void textureParameteriv(int texture, int pname, MemorySegment para } public static void textureParameteriv(SegmentAllocator allocator, int texture, int pname, int[] params) { - textureParameteriv(texture, pname, allocator.allocateArray(JAVA_INT, params)); + textureParameteriv(texture, pname, allocator.allocateFrom(JAVA_INT, params)); } public static void textureStorage1D(int texture, int levels, int internalFormat, int width) { @@ -1794,19 +1794,19 @@ public static void textureSubImage1D(int texture, int level, int xoffset, int wi } public static void textureSubImage1D(SegmentAllocator allocator, int texture, int level, int xoffset, int width, int format, int type, byte[] pixels) { - textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void textureSubImage1D(SegmentAllocator allocator, int texture, int level, int xoffset, int width, int format, int type, short[] pixels) { - textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void textureSubImage1D(SegmentAllocator allocator, int texture, int level, int xoffset, int width, int format, int type, int[] pixels) { - textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateArray(JAVA_INT, pixels)); + textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void textureSubImage1D(SegmentAllocator allocator, int texture, int level, int xoffset, int width, int format, int type, float[] pixels) { - textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + textureSubImage1D(texture, level, xoffset, width, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } public static void textureSubImage2D(int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, MemorySegment pixels) { @@ -1819,19 +1819,19 @@ public static void textureSubImage2D(int texture, int level, int xoffset, int yo } public static void textureSubImage2D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, byte[] pixels) { - textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void textureSubImage2D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, short[] pixels) { - textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void textureSubImage2D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, int[] pixels) { - textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_INT, pixels)); + textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void textureSubImage2D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, float[] pixels) { - textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } public static void textureSubImage3D(int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, MemorySegment pixels) { @@ -1844,19 +1844,19 @@ public static void textureSubImage3D(int texture, int level, int xoffset, int yo } public static void textureSubImage3D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, byte[] pixels) { - textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_BYTE, pixels)); + textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_BYTE, pixels)); } public static void textureSubImage3D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, short[] pixels) { - textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_SHORT, pixels)); + textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_SHORT, pixels)); } public static void textureSubImage3D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int[] pixels) { - textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_INT, pixels)); + textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_INT, pixels)); } public static void textureSubImage3D(SegmentAllocator allocator, int texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, float[] pixels) { - textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateArray(JAVA_FLOAT, pixels)); + textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, allocator.allocateFrom(JAVA_FLOAT, pixels)); } public static void transformFeedbackBufferBase(int xfb, int index, int buffer) { @@ -1959,6 +1959,6 @@ public static void vertexArrayVertexBuffers(int vaobj, int first, int count, Mem } public static void vertexArrayVertexBuffers(SegmentAllocator allocator, int vaobj, int first, int count, int[] buffers, long[] offsets, int[] strides) { - vertexArrayVertexBuffers(vaobj, first, count, allocator.allocateArray(JAVA_INT, buffers), allocator.allocateArray(JAVA_LONG, offsets), allocator.allocateArray(JAVA_INT, strides)); + vertexArrayVertexBuffers(vaobj, first, count, allocator.allocateFrom(JAVA_INT, buffers), allocator.allocateFrom(JAVA_LONG, offsets), allocator.allocateFrom(JAVA_INT, strides)); } } diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java index 7fd1984c..ebf81994 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GL46C.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -120,8 +120,8 @@ public static void specializeShader(SegmentAllocator allocator, int shader, @Nul specializeShader(shader, pEntryPoint != null ? allocator.allocateFrom(pEntryPoint) : MemorySegment.NULL, pConstantIndex != null ? pConstantIndex.length : (pConstantValue != null ? pConstantValue.length : 0), - pConstantIndex != null ? allocator.allocateArray(ValueLayout.JAVA_INT, pConstantIndex) : MemorySegment.NULL, - pConstantValue != null ? allocator.allocateArray(ValueLayout.JAVA_INT, pConstantValue) : MemorySegment.NULL); + pConstantIndex != null ? allocator.allocateFrom(ValueLayout.JAVA_INT, pConstantIndex) : MemorySegment.NULL, + pConstantValue != null ? allocator.allocateFrom(ValueLayout.JAVA_INT, pConstantValue) : MemorySegment.NULL); } public static void specializeShader(int shader, @Nullable String pEntryPoint) { diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java index 344bc8b7..700721e6 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtCaps.java @@ -445,7 +445,7 @@ boolean findExtensionsGL(int version, SegmentAllocator allocator) { var pExtsI = new MemorySegment[1]; if (!getExtensions(allocator, version, pExts, pNumExtsI, pExtsI, caps)) return false; - String exts = pExts.getUtf8String(0); + String exts = pExts.getString(0); int numExtsI = pNumExtsI.get(JAVA_INT, 0); var extsI = pExtsI[0]; diff --git a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java index 22f30f71..7a66c34e 100644 --- a/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java +++ b/modules/overrungl.opengl/src/main/java/overrungl/opengl/GLExtFinder.java @@ -49,7 +49,7 @@ static boolean getExtensions(SegmentAllocator allocator, int numExtsI = GL10C.getInteger(GL30C.NUM_EXTENSIONS); var extsI = MemorySegment.NULL; if (numExtsI > 0) { - extsI = allocator.allocateArray(ADDRESS, numExtsI); + extsI = allocator.allocate(ADDRESS, numExtsI); } if (RuntimeHelper.isNullptr(extsI)) { return false; diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java index ff35af8b..4b462487 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/Handles.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -53,6 +53,6 @@ static MethodHandle downcall(String name, static MethodHandle downcallTrivial(String name, FunctionDescriptors function) { - return downcall(name, function, Linker.Option.isTrivial()); + return downcall(name, function, Linker.Option.critical(false)); } } diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java index 8dd6a000..cbd74d06 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBEasyFont.java @@ -80,7 +80,7 @@ public static int ndrawSegs(float x, float y, MemorySegment segs, int numSegs, b } public static int drawSegs(SegmentAllocator allocator, float x, float y, byte[] segs, boolean vertical, byte[] c, MemorySegment vbuf, int vbufSize, int offset) { - return ndrawSegs(x, y, allocator.allocateArray(ValueLayout.JAVA_BYTE, segs), segs.length, vertical, allocator.allocateArray(ValueLayout.JAVA_BYTE, c), vbuf, vbufSize, offset); + return ndrawSegs(x, y, allocator.allocateFrom(ValueLayout.JAVA_BYTE, segs), segs.length, vertical, allocator.allocateFrom(ValueLayout.JAVA_BYTE, c), vbuf, vbufSize, offset); } public static float getSpacing() { @@ -108,7 +108,7 @@ public static int nprint(float x, float y, MemorySegment text, MemorySegment col } public static int print(SegmentAllocator allocator, float x, float y, String text, byte[] color, MemorySegment vertexBuffer, int vbufSize) { - return nprint(x, y, allocator.allocateFrom(text), allocator.allocateArray(ValueLayout.JAVA_BYTE, color), vertexBuffer, vbufSize); + return nprint(x, y, allocator.allocateFrom(text), allocator.allocateFrom(ValueLayout.JAVA_BYTE, color), vertexBuffer, vbufSize); } public static int nwidth(MemorySegment text) { diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java index e40e2ffa..f0bae4b9 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImage.java @@ -123,7 +123,7 @@ public static MemorySegment nfailureReason() { @Nullable public static String failureReason() { var pReason = nfailureReason(); - return RuntimeHelper.isNullptr(pReason) ? null : pReason.getUtf8String(0); + return RuntimeHelper.isNullptr(pReason) ? null : pReason.getString(0); } public static void hdrToLdrGamma(float gamma) { @@ -244,7 +244,7 @@ public static boolean infoFromMemory(SegmentAllocator allocator, byte[] buffer, var px = stack.callocInt(); var py = stack.callocInt(); var pc = stack.callocInt(); - boolean b = infoFromMemory(allocator.allocateArray(JAVA_BYTE, buffer), px, py, pc); + boolean b = infoFromMemory(allocator.allocateFrom(JAVA_BYTE, buffer), px, py, pc); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); comp[0] = pc.get(JAVA_INT, 0); @@ -305,7 +305,7 @@ public static boolean is16BitFromMemory(MemorySegment buffer) { } public static boolean is16BitFromMemory(SegmentAllocator allocator, byte[] buffer) { - return is16BitFromMemory(allocator.allocateArray(JAVA_BYTE, buffer)); + return is16BitFromMemory(allocator.allocateFrom(JAVA_BYTE, buffer)); } public static boolean nisHdr(MemorySegment filename) { @@ -359,7 +359,7 @@ public static boolean isHdrFromMemory(MemorySegment buffer) { } public static boolean isHdrFromMemory(SegmentAllocator allocator, byte[] buffer) { - return isHdrFromMemory(allocator.allocateArray(JAVA_BYTE, buffer)); + return isHdrFromMemory(allocator.allocateFrom(JAVA_BYTE, buffer)); } public static void ldrToHdrGamma(float gamma) { @@ -469,7 +469,7 @@ public static MemorySegment load16FromMemory(SegmentAllocator allocator, byte[] var px = allocator.allocate(JAVA_INT); var py = allocator.allocate(JAVA_INT); var pc = allocator.allocate(JAVA_INT); - var addr = load16FromMemory(allocator.allocateArray(JAVA_BYTE, buffer), px, py, pc, desiredChannels); + var addr = load16FromMemory(allocator.allocateFrom(JAVA_BYTE, buffer), px, py, pc, desiredChannels); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); channelsInFile[0] = pc.get(JAVA_INT, 0); @@ -567,7 +567,7 @@ public static MemorySegment loadFromMemory(SegmentAllocator allocator, byte[] bu var px = allocator.allocate(JAVA_INT); var py = allocator.allocate(JAVA_INT); var pc = allocator.allocate(JAVA_INT); - var addr = nloadFromMemory(allocator.allocateArray(JAVA_BYTE, buffer), buffer.length, px, py, pc, desiredChannels); + var addr = nloadFromMemory(allocator.allocateFrom(JAVA_BYTE, buffer), buffer.length, px, py, pc, desiredChannels); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); channelsInFile[0] = pc.get(JAVA_INT, 0); @@ -592,7 +592,7 @@ public static MemorySegment loadGifFromMemory(SegmentAllocator allocator, byte[] var py = allocator.allocate(JAVA_INT); var pz = allocator.allocate(JAVA_INT); var pc = allocator.allocate(JAVA_INT); - var addr = loadGifFromMemory(allocator.allocateArray(JAVA_BYTE, buffer), pd, px, py, pz, pc, reqComp); + var addr = loadGifFromMemory(allocator.allocateFrom(JAVA_BYTE, buffer), pd, px, py, pz, pc, reqComp); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); final int layers = pz.get(JAVA_INT, 0); @@ -693,7 +693,7 @@ public static MemorySegment loadfFromMemory(SegmentAllocator allocator, byte[] b var px = allocator.allocate(JAVA_INT); var py = allocator.allocate(JAVA_INT); var pc = allocator.allocate(JAVA_INT); - var addr = nloadfFromMemory(allocator.allocateArray(JAVA_BYTE, buffer), buffer.length, px, py, pc, desiredChannels); + var addr = nloadfFromMemory(allocator.allocateFrom(JAVA_BYTE, buffer), buffer.length, px, py, pc, desiredChannels); x[0] = px.get(JAVA_INT, 0); y[0] = py.get(JAVA_INT, 0); channelsInFile[0] = pc.get(JAVA_INT, 0); diff --git a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java index de1a6782..1b2aa331 100644 --- a/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java +++ b/modules/overrungl.stb/src/main/java/overrungl/stb/STBImageResize.java @@ -65,8 +65,8 @@ public static boolean resizeUint8(SegmentAllocator allocator, byte[] inputPixels, int inputW, int inputH, int inputStrideInBytes, byte[] outputPixels, int outputW, int outputH, int outputStrideInBytes, int numChannels) { - var seg = allocator.allocateArray(JAVA_BYTE, outputPixels.length); - boolean b = resizeUint8(allocator.allocateArray(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, + var seg = allocator.allocateFrom(JAVA_BYTE, outputPixels); + boolean b = resizeUint8(allocator.allocateFrom(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, seg, outputW, outputH, outputStrideInBytes, numChannels); RuntimeHelper.toArray(seg, outputPixels); @@ -89,8 +89,8 @@ public static boolean resizeFloat(SegmentAllocator allocator, float[] inputPixels, int inputW, int inputH, int inputStrideInBytes, float[] outputPixels, int outputW, int outputH, int outputStrideInBytes, int numChannels) { - var seg = allocator.allocateArray(JAVA_FLOAT, outputPixels.length); - boolean b = resizeFloat(allocator.allocateArray(JAVA_FLOAT, inputPixels), inputW, inputH, inputStrideInBytes, + var seg = allocator.allocateFrom(JAVA_FLOAT, outputPixels); + boolean b = resizeFloat(allocator.allocateFrom(JAVA_FLOAT, inputPixels), inputW, inputH, inputStrideInBytes, seg, outputW, outputH, outputStrideInBytes, numChannels); RuntimeHelper.toArray(seg, outputPixels); @@ -113,8 +113,8 @@ public static boolean resizeUint8Srgb(SegmentAllocator allocator, byte[] inputPixels, int inputW, int inputH, int inputStrideInBytes, byte[] outputPixels, int outputW, int outputH, int outputStrideInBytes, int numChannels, int alphaChannel, int flags) { - var seg = allocator.allocateArray(JAVA_BYTE, outputPixels.length); - boolean b = resizeUint8Srgb(allocator.allocateArray(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, + var seg = allocator.allocateFrom(JAVA_BYTE, outputPixels); + boolean b = resizeUint8Srgb(allocator.allocateFrom(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, seg, outputW, outputH, outputStrideInBytes, numChannels, alphaChannel, flags); RuntimeHelper.toArray(seg, outputPixels); @@ -140,8 +140,8 @@ public static boolean resizeUint8SrgbEdgemode(SegmentAllocator allocator, byte[] outputPixels, int outputW, int outputH, int outputStrideInBytes, int numChannels, int alphaChannel, int flags, STBIREdge edgeWrapMode) { - var seg = allocator.allocateArray(JAVA_BYTE, outputPixels.length); - boolean b = resizeUint8SrgbEdgemode(allocator.allocateArray(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, + var seg = allocator.allocateFrom(JAVA_BYTE, outputPixels); + boolean b = resizeUint8SrgbEdgemode(allocator.allocateFrom(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, seg, outputW, outputH, outputStrideInBytes, numChannels, alphaChannel, flags, edgeWrapMode.getValue()); @@ -171,8 +171,8 @@ public static boolean resizeUint8Generic(SegmentAllocator allocator, int numChannels, int alphaChannel, int flags, STBIREdge edgeWrapMode, STBIRFilter filter, STBIRColorspace space, MemorySegment allocContext) { - var seg = allocator.allocateArray(JAVA_BYTE, outputPixels.length); - boolean b = resizeUint8Generic(allocator.allocateArray(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, + var seg = allocator.allocateFrom(JAVA_BYTE, outputPixels); + boolean b = resizeUint8Generic(allocator.allocateFrom(JAVA_BYTE, inputPixels), inputW, inputH, inputStrideInBytes, seg, outputW, outputH, outputStrideInBytes, numChannels, alphaChannel, flags, edgeWrapMode.getValue(), filter.getValue(), space.ordinal(), @@ -203,8 +203,8 @@ public static boolean resizeUint16Generic(SegmentAllocator allocator, int numChannels, int alphaChannel, int flags, STBIREdge edgeWrapMode, STBIRFilter filter, STBIRColorspace space, MemorySegment allocContext) { - var seg = allocator.allocateArray(JAVA_SHORT, outputPixels.length); - boolean b = resizeUint16Generic(allocator.allocateArray(JAVA_SHORT, inputPixels), inputW, inputH, inputStrideInBytes, + var seg = allocator.allocateFrom(JAVA_SHORT, outputPixels); + boolean b = resizeUint16Generic(allocator.allocateFrom(JAVA_SHORT, inputPixels), inputW, inputH, inputStrideInBytes, seg, outputW, outputH, outputStrideInBytes, numChannels, alphaChannel, flags, edgeWrapMode.getValue(), filter.getValue(), space.ordinal(), @@ -235,8 +235,8 @@ public static boolean resizeFloatGeneric(SegmentAllocator allocator, int numChannels, int alphaChannel, int flags, STBIREdge edgeWrapMode, STBIRFilter filter, STBIRColorspace space, MemorySegment allocContext) { - var seg = allocator.allocateArray(JAVA_FLOAT, outputPixels.length); - boolean b = resizeFloatGeneric(allocator.allocateArray(JAVA_FLOAT, inputPixels), inputW, inputH, inputStrideInBytes, + var seg = allocator.allocateFrom(JAVA_FLOAT, outputPixels); + boolean b = resizeFloatGeneric(allocator.allocateFrom(JAVA_FLOAT, inputPixels), inputW, inputH, inputStrideInBytes, seg, outputW, outputH, outputStrideInBytes, numChannels, alphaChannel, flags, edgeWrapMode.getValue(), filter.getValue(), space.ordinal(), From 5d8650fd3d6ff56bc246813f5dbf2ca8b93812d2 Mon Sep 17 00:00:00 2001 From: squid233 <60126026+squid233@users.noreply.github.com> Date: Sat, 6 Jan 2024 12:53:56 +0800 Subject: [PATCH 44/44] [Core] Update debug functionality --- README.md | 2 +- .../overrungl/internal/RuntimeHelper.java | 7 +++- .../java/overrungl/util/DebugAllocator.java | 37 ++++++++++--------- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 2e017f1b..4f4162e3 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ ![Maven Central](https://img.shields.io/maven-central/v/io.github.over-run/overrungl) ![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/io.github.over-run/overrungl?server=https%3A%2F%2Fs01.oss.sonatype.org%2F) -![GitHub repo size](https://img.shields.io/github/repo-size/Over-Run/overrungl) [![Java CI with Gradle](https://github.com/Over-Run/overrungl/actions/workflows/gradle.yml/badge.svg?event=push)](https://github.com/Over-Run/overrungl/actions/workflows/gradle.yml) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8279/badge)](https://www.bestpractices.dev/projects/8279) ## Introduction diff --git a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java index 83b6b8fb..273a8f49 100644 --- a/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java +++ b/modules/overrungl.core/src/main/java/overrungl/internal/RuntimeHelper.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -19,8 +19,10 @@ import io.github.overrun.platform.Architecture; import io.github.overrun.platform.Platform; import org.jetbrains.annotations.Nullable; +import overrungl.Configurations; import overrungl.FunctionDescriptors; import overrungl.NativeType; +import overrungl.OverrunGL; import overrungl.util.MemoryUtil; import java.io.File; @@ -167,6 +169,9 @@ public static SymbolLookup load(String module, String basename, String version) } uri = libFile.toURI(); } + if (Configurations.DEBUG.get()) { + OverrunGL.apiLog(STR."[OverrunGL] Loading native library from: \{uri}"); + } // Load the library by the path with the global arena return SymbolLookup.libraryLookup(Path.of(uri), Arena.global()); } diff --git a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java index 28d6309d..62d44085 100644 --- a/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java +++ b/modules/overrungl.core/src/main/java/overrungl/util/DebugAllocator.java @@ -1,7 +1,7 @@ /* * MIT License * - * Copyright (c) 2022-2023 Overrun Organization + * Copyright (c) 2022-2024 Overrun Organization * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -45,16 +45,16 @@ final class DebugAllocator { for (Allocation allocation : ALLOCATIONS.keySet()) { StringBuilder sb = new StringBuilder(512); - sb.append(STR. """ - [OverrunGL] \{ allocation.size } bytes leaked,\ - thread \{ allocation.threadId } (\{ THREADS.get(allocation.threadId) }),\ - address: 0x\{ Long.toHexString(allocation.address).toUpperCase() } - """ ); + sb.append(STR.""" + [OverrunGL] \{allocation.size} bytes leaked,\ + thread \{allocation.threadId} (\{THREADS.get(allocation.threadId)}),\ + address: 0x\{Long.toHexString(allocation.address).toUpperCase()} + """); StackTraceElement[] stackTrace = allocation.getElements(); if (stackTrace != null) { for (Object el : stackTrace) { - sb.append(STR. "\tat \{ el.toString() }\n" ); + sb.append(STR."\tat \{el.toString()}\n"); } } else { missingStacktrace = true; @@ -99,22 +99,22 @@ private static void trackAbort(long address, Allocation allocationOld, Allocatio trackAbortPrint(allocationOld, "Old", addressHex); trackAbortPrint(allocationNew, "New", addressHex); - throw Exceptions.ISE. "The memory address specified is already being tracked: 0x\{ addressHex }" ; + throw Exceptions.ISE."The memory address specified is already being tracked: 0x\{addressHex}"; } private static void trackAbortPrint(Allocation allocation, String name, String address) { StringBuilder sb = new StringBuilder(512); - sb.append(STR. """ - [OverrunGL] \{ name } allocation with size \{ allocation.size },\ - thread \{ allocation.threadId } (\{ THREADS.get(allocation.threadId) }),\ - address: 0x\{ address } - """ ); + sb.append(STR.""" + [OverrunGL] \{name} allocation with size \{allocation.size},\ + thread \{allocation.threadId} (\{THREADS.get(allocation.threadId)}),\ + address: 0x\{address} + """); StackTraceElement[] stackTrace = allocation.getElements(); if (stackTrace != null) { for (Object el : stackTrace) { - sb.append(STR. "\tat \{ el.toString() }\n" ); + sb.append(STR."\tat \{el.toString()}\n"); } } @@ -138,7 +138,7 @@ static long untrack(long address) { private static void untrackAbort(long address) { String addressHex = Long.toHexString(address).toUpperCase(); - throw Exceptions.ISE. "The memory address specified is not being tracked: 0x\{ addressHex }" ; + throw Exceptions.ISE."The memory address specified is not being tracked: 0x\{addressHex}"; } private record Allocation(long address, long size, long threadId, @Nullable Object[] stacktrace) { @@ -147,10 +147,11 @@ private StackTraceElement[] getElements() { return stacktrace == null ? null : StackWalkUtil.stackWalkArray(stacktrace); } - @SuppressWarnings("EqualsWhichDoesntCheckParameterClass") @Override - public boolean equals(Object obj) { - return address == ((Allocation) obj).address; + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Allocation that)) return false; + return address == that.address; } @Override