├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── me │ │ └── robot9 │ │ └── tlshook │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── cpp │ │ ├── CMakeLists.txt │ │ └── native-lib.cpp │ ├── java │ │ └── me │ │ │ └── robot9 │ │ │ └── tlshook │ │ │ └── MainActivity.java │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values-night │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── me │ └── robot9 │ └── tlshook │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshot ├── demo.jpg └── tlshook.png ├── settings.gradle └── tlshook ├── common.h ├── eglcore.cpp ├── eglcore.h ├── entry ├── entries.16.in ├── entries.18.in ├── entries.21.in ├── entries.24.in └── entries.28.in ├── tls.h ├── tlshook.cpp └── tlshook.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | .DS_Store 6 | /build 7 | /captures 8 | .externalNativeBuild 9 | .cxx 10 | local.properties 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 keith2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TLSHook 2 | Hook opengl es function call on Android by replacing TLS entry point, compatible with Android 5.x ~ 12.x 3 | 4 | ![](screenshot/tlshook.png) 5 | 6 | For more details see [https://robot9.me/android-tls-hook/](https://robot9.me/android-tls-hook/) 7 | 8 | ## Api 9 | ### init hook 10 | ```cpp 11 | /** 12 | * init hook 13 | * @return success or not 14 | */ 15 | bool tls_hook_init(); 16 | ``` 17 | 18 | ### hook GL function 19 | ```cpp 20 | /** 21 | * hook function 22 | * @param symbol: function name 23 | * @param new_func: function you want to replace with 24 | * @param old_func: origin function entry point 25 | * @return success or not 26 | */ 27 | bool tls_hook_func(const char *symbol, void *new_func, void **old_func); 28 | ``` 29 | 30 | ### clear all hooks 31 | ```cpp 32 | /** 33 | * clear all hooks 34 | */ 35 | void tls_hook_clear(); 36 | ``` 37 | 38 | ## Usage 39 | ```cpp 40 | // origin function 41 | PFNGLCLEARCOLORPROC cb_glClearColor = nullptr; 42 | 43 | // new function 44 | void hook_glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { 45 | LOGD("hook call glClear: (%f, %f, %f, %f)", red, green, blue, alpha); 46 | if (cb_glClearColor) { 47 | cb_glClearColor(0.f, 0.f, 1.f, 1.f); 48 | } 49 | } 50 | 51 | // start hook 52 | bool startHook() { 53 | bool success = TLSHook::tls_hook_init(); 54 | if (success) { 55 | success = TLSHook::tls_hook_func("glClearColor", 56 | (void *) hook_glClearColor, 57 | (void **) &cb_glClearColor); 58 | } 59 | LOGD("hookTestStart: %s", success ? "true" : "false"); 60 | return success ? JNI_TRUE : JNI_FALSE; 61 | } 62 | 63 | // stop hook 64 | void stopHook() { 65 | TLSHook::tls_hook_clear(); 66 | LOGD("hookTestStop"); 67 | } 68 | ``` 69 | 70 | in the demo app, we set the clear color of GLSurfaceView to red 71 | ```java 72 | surfaceView.setRenderer(new GLSurfaceView.Renderer() { 73 | @Override 74 | public void onSurfaceCreated(GL10 gl, EGLConfig config) { 75 | } 76 | 77 | @Override 78 | public void onSurfaceChanged(GL10 gl, int width, int height) { 79 | } 80 | 81 | @Override 82 | public void onDrawFrame(GL10 gl) { 83 | GLES20.glClearColor(1.f, 0.f, 0.f, 1.f); 84 | GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); 85 | } 86 | }); 87 | ``` 88 | 89 | but after hook `glClearColor` with 90 | ```cpp 91 | cb_glClearColor(0.f, 0.f, 1.f, 1.f); 92 | ``` 93 | 94 | the GLSurfaceView show with color blue 95 | 96 | ![](screenshot/demo.jpg) 97 | 98 | 99 | ## License 100 | This code is licensed under the MIT License (see [LICENSE](LICENSE)). 101 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | } 4 | 5 | android { 6 | compileSdk 31 7 | 8 | defaultConfig { 9 | applicationId "me.robot9.tlshook" 10 | minSdk 21 11 | targetSdk 31 12 | versionCode 1 13 | versionName "1.0" 14 | 15 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 16 | externalNativeBuild { 17 | cmake { 18 | cppFlags '' 19 | } 20 | } 21 | } 22 | 23 | buildTypes { 24 | release { 25 | minifyEnabled false 26 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 27 | } 28 | } 29 | compileOptions { 30 | sourceCompatibility JavaVersion.VERSION_1_8 31 | targetCompatibility JavaVersion.VERSION_1_8 32 | } 33 | externalNativeBuild { 34 | cmake { 35 | path file('src/main/cpp/CMakeLists.txt') 36 | version '3.18.1' 37 | } 38 | } 39 | } 40 | 41 | dependencies { 42 | 43 | implementation 'androidx.appcompat:appcompat:1.4.1' 44 | implementation 'com.google.android.material:material:1.6.1' 45 | implementation 'androidx.constraintlayout:constraintlayout:2.1.4' 46 | testImplementation 'junit:junit:4.13.2' 47 | androidTestImplementation 'androidx.test.ext:junit:1.1.3' 48 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 49 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/androidTest/java/me/robot9/tlshook/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package me.robot9.tlshook; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.platform.app.InstrumentationRegistry; 6 | import androidx.test.ext.junit.runners.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 24 | assertEquals("me.robot9.tlshook", appContext.getPackageName()); 25 | } 26 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # For more information about using CMake with Android Studio, read the 2 | # documentation: https://d.android.com/studio/projects/add-native-code.html 3 | 4 | # Sets the minimum version of CMake required to build the native library. 5 | 6 | cmake_minimum_required(VERSION 3.18.1) 7 | 8 | # Declares and names the project. 9 | 10 | project("tlshook") 11 | set(TLSHook_DIR "../../../../tlshook") 12 | 13 | include_directories( 14 | ${TLSHook_DIR} 15 | ) 16 | 17 | # Creates and names a library, sets it as either STATIC 18 | # or SHARED, and provides the relative paths to its source code. 19 | # You can define multiple libraries, and CMake builds them for you. 20 | # Gradle automatically packages shared libraries with your APK. 21 | 22 | add_library( # Sets the name of the library. 23 | tlshook 24 | 25 | # Sets the library as a shared library. 26 | SHARED 27 | 28 | # Provides a relative path to your source file(s). 29 | ${TLSHook_DIR}/eglcore.cpp 30 | ${TLSHook_DIR}/tlshook.cpp 31 | native-lib.cpp) 32 | 33 | # Searches for a specified prebuilt library and stores the path as a 34 | # variable. Because CMake includes system libraries in the search path by 35 | # default, you only need to specify the name of the public NDK library 36 | # you want to add. CMake verifies that the library exists before 37 | # completing its build. 38 | 39 | find_library( # Sets the name of the path variable. 40 | log-lib 41 | 42 | # Specifies the name of the NDK library that 43 | # you want CMake to locate. 44 | log) 45 | 46 | # Specifies libraries CMake should link to your target library. You 47 | # can link multiple libraries, such as libraries you define in this 48 | # build script, prebuilt third-party libraries, or system libraries. 49 | 50 | target_link_libraries( # Specifies the target library. 51 | tlshook 52 | GLESv3 53 | EGL 54 | # Links the target library to the log library 55 | # included in the NDK. 56 | ${log-lib}) -------------------------------------------------------------------------------- /app/src/main/cpp/native-lib.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TLSHook 3 | * @author : keith@robot9.me 4 | * 5 | */ 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #include "common.h" 12 | #include "tlshook.h" 13 | 14 | // origin function 15 | PFNGLCLEARCOLORPROC cb_glClearColor = nullptr; 16 | 17 | EGLContext cb_eglContext = nullptr; 18 | 19 | // new function 20 | void hook_glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { 21 | if (cb_glClearColor) { 22 | EGLContext eglContext = eglGetCurrentContext(); 23 | if (eglContext == cb_eglContext) { 24 | LOGD("hook call glClearColor: (%f, %f, %f, %f)", red, green, blue, alpha); 25 | cb_glClearColor(0.f, 0.f, 1.f, 1.f); 26 | } else { 27 | LOGD("ignore call glClearColor: (%f, %f, %f, %f)", red, green, blue, alpha); 28 | cb_glClearColor(red, green, blue, alpha); 29 | } 30 | } 31 | } 32 | 33 | extern "C" JNIEXPORT jboolean JNICALL 34 | Java_me_robot9_tlshook_MainActivity_hookTestStart(JNIEnv *env, 35 | jobject /* this */) { 36 | bool success = TLSHook::tls_hook_init(); 37 | if (success) { 38 | success = TLSHook::tls_hook_func("glClearColor", 39 | (void *) hook_glClearColor, 40 | (void **) &cb_glClearColor); 41 | } 42 | LOGD("hookTestStart: %s", success ? "true" : "false"); 43 | return success ? JNI_TRUE : JNI_FALSE; 44 | } 45 | 46 | extern "C" 47 | JNIEXPORT void JNICALL 48 | Java_me_robot9_tlshook_MainActivity_hookEGLContext(JNIEnv *env, jobject thiz) { 49 | cb_eglContext = eglGetCurrentContext(); 50 | } 51 | 52 | extern "C" JNIEXPORT void JNICALL 53 | Java_me_robot9_tlshook_MainActivity_hookTestStop( 54 | JNIEnv *env, 55 | jobject /* this */) { 56 | cb_eglContext = nullptr; 57 | TLSHook::tls_hook_clear(); 58 | LOGD("hookTestStop"); 59 | } 60 | -------------------------------------------------------------------------------- /app/src/main/java/me/robot9/tlshook/MainActivity.java: -------------------------------------------------------------------------------- 1 | package me.robot9.tlshook; 2 | 3 | import android.opengl.GLES20; 4 | import android.opengl.GLSurfaceView; 5 | import android.os.Bundle; 6 | import android.widget.TextView; 7 | 8 | import androidx.appcompat.app.AppCompatActivity; 9 | 10 | import javax.microedition.khronos.egl.EGLConfig; 11 | import javax.microedition.khronos.opengles.GL10; 12 | 13 | 14 | public class MainActivity extends AppCompatActivity { 15 | 16 | // Used to load the 'tlshook' library on application startup. 17 | static { 18 | System.loadLibrary("tlshook"); 19 | } 20 | 21 | 22 | @Override 23 | protected void onCreate(Bundle savedInstanceState) { 24 | super.onCreate(savedInstanceState); 25 | setContentView(R.layout.activity_main); 26 | 27 | TextView tv = findViewById(R.id.sample_text); 28 | 29 | // start hook 30 | boolean hookOk = hookTestStart(); 31 | tv.setText(hookOk ? "Hook Success" : "Hook Failed"); 32 | 33 | // test hook via GLSurfaceView 34 | GLSurfaceView surfaceView = findViewById(R.id.surface_view); 35 | surfaceView.setEGLContextClientVersion(2); 36 | surfaceView.setRenderer(new GLSurfaceView.Renderer() { 37 | @Override 38 | public void onSurfaceCreated(GL10 gl, EGLConfig config) { 39 | hookEGLContext(); 40 | } 41 | 42 | @Override 43 | public void onSurfaceChanged(GL10 gl, int width, int height) { 44 | } 45 | 46 | @Override 47 | public void onDrawFrame(GL10 gl) { 48 | GLES20.glClearColor(1.f, 0.f, 0.f, 1.f); 49 | GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); 50 | } 51 | }); 52 | surfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); 53 | } 54 | 55 | @Override 56 | protected void onDestroy() { 57 | // destroy hook 58 | hookTestStop(); 59 | super.onDestroy(); 60 | } 61 | 62 | public native boolean hookTestStart(); 63 | 64 | public native void hookEGLContext(); 65 | 66 | public native void hookTestStop(); 67 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 18 | 19 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TLSHook 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/test/java/me/robot9/tlshook/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package me.robot9.tlshook; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | plugins { 3 | id 'com.android.application' version '7.1.3' apply false 4 | id 'com.android.library' version '7.1.3' apply false 5 | } 6 | 7 | task clean(type: Delete) { 8 | delete rootProject.buildDir 9 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Enables namespacing of each library's R class so that its R class includes only the 19 | # resources declared in the library itself and none from the library's dependencies, 20 | # thereby reducing the size of the R class for that library 21 | android.nonTransitiveRClass=true -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 17 20:06:24 CST 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # Copyright 2015 the original author or authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | ## 21 | ## Gradle start up script for UN*X 22 | ## 23 | ############################################################################## 24 | 25 | # Attempt to set APP_HOME 26 | # Resolve links: $0 may be a link 27 | PRG="$0" 28 | # Need this for relative symlinks. 29 | while [ -h "$PRG" ] ; do 30 | ls=`ls -ld "$PRG"` 31 | link=`expr "$ls" : '.*-> \(.*\)$'` 32 | if expr "$link" : '/.*' > /dev/null; then 33 | PRG="$link" 34 | else 35 | PRG=`dirname "$PRG"`"/$link" 36 | fi 37 | done 38 | SAVED="`pwd`" 39 | cd "`dirname \"$PRG\"`/" >/dev/null 40 | APP_HOME="`pwd -P`" 41 | cd "$SAVED" >/dev/null 42 | 43 | APP_NAME="Gradle" 44 | APP_BASE_NAME=`basename "$0"` 45 | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 48 | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. 50 | MAX_FD="maximum" 51 | 52 | warn () { 53 | echo "$*" 54 | } 55 | 56 | die () { 57 | echo 58 | echo "$*" 59 | echo 60 | exit 1 61 | } 62 | 63 | # OS specific support (must be 'true' or 'false'). 64 | cygwin=false 65 | msys=false 66 | darwin=false 67 | nonstop=false 68 | case "`uname`" in 69 | CYGWIN* ) 70 | cygwin=true 71 | ;; 72 | Darwin* ) 73 | darwin=true 74 | ;; 75 | MINGW* ) 76 | msys=true 77 | ;; 78 | NONSTOP* ) 79 | nonstop=true 80 | ;; 81 | esac 82 | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 84 | 85 | 86 | # Determine the Java command to use to start the JVM. 87 | if [ -n "$JAVA_HOME" ] ; then 88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 89 | # IBM's JDK on AIX uses strange locations for the executables 90 | JAVACMD="$JAVA_HOME/jre/sh/java" 91 | else 92 | JAVACMD="$JAVA_HOME/bin/java" 93 | fi 94 | if [ ! -x "$JAVACMD" ] ; then 95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 96 | 97 | Please set the JAVA_HOME variable in your environment to match the 98 | location of your Java installation." 99 | fi 100 | else 101 | JAVACMD="java" 102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 103 | 104 | Please set the JAVA_HOME variable in your environment to match the 105 | location of your Java installation." 106 | fi 107 | 108 | # Increase the maximum file descriptors if we can. 109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 110 | MAX_FD_LIMIT=`ulimit -H -n` 111 | if [ $? -eq 0 ] ; then 112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 113 | MAX_FD="$MAX_FD_LIMIT" 114 | fi 115 | ulimit -n $MAX_FD 116 | if [ $? -ne 0 ] ; then 117 | warn "Could not set maximum file descriptor limit: $MAX_FD" 118 | fi 119 | else 120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 121 | fi 122 | fi 123 | 124 | # For Darwin, add options to specify how the application appears in the dock 125 | if $darwin; then 126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 127 | fi 128 | 129 | # For Cygwin or MSYS, switch paths to Windows format before running java 130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then 131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 133 | 134 | JAVACMD=`cygpath --unix "$JAVACMD"` 135 | 136 | # We build the pattern for arguments to be converted via cygpath 137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 138 | SEP="" 139 | for dir in $ROOTDIRSRAW ; do 140 | ROOTDIRS="$ROOTDIRS$SEP$dir" 141 | SEP="|" 142 | done 143 | OURCYGPATTERN="(^($ROOTDIRS))" 144 | # Add a user-defined pattern to the cygpath arguments 145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 147 | fi 148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 149 | i=0 150 | for arg in "$@" ; do 151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 153 | 154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 156 | else 157 | eval `echo args$i`="\"$arg\"" 158 | fi 159 | i=`expr $i + 1` 160 | done 161 | case $i in 162 | 0) set -- ;; 163 | 1) set -- "$args0" ;; 164 | 2) set -- "$args0" "$args1" ;; 165 | 3) set -- "$args0" "$args1" "$args2" ;; 166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;; 167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 172 | esac 173 | fi 174 | 175 | # Escape application args 176 | save () { 177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 178 | echo " " 179 | } 180 | APP_ARGS=`save "$@"` 181 | 182 | # Collect all arguments for the java command, following the shell quoting and substitution rules 183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 184 | 185 | exec "$JAVACMD" "$@" 186 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /screenshot/demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/screenshot/demo.jpg -------------------------------------------------------------------------------- /screenshot/tlshook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keith2018/TLSHook/9bd40306809d4a24c4d0b875866131d1d81b10c8/screenshot/tlshook.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | dependencyResolutionManagement { 9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | } 15 | rootProject.name = "TLSHook" 16 | include ':app' 17 | -------------------------------------------------------------------------------- /tlshook/common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TLSHook 3 | * @author : keith@robot9.me 4 | * 5 | */ 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | #define TAG "TLSHook-jni" 12 | 13 | #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__) 14 | #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__) 15 | #define LOGW(...) __android_log_print(ANDROID_LOG_WARN, TAG, __VA_ARGS__) 16 | #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, TAG, __VA_ARGS__) 17 | -------------------------------------------------------------------------------- /tlshook/eglcore.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TLSHook 3 | * @author : keith@robot9.me 4 | * 5 | */ 6 | #include "eglcore.h" 7 | #include "common.h" 8 | 9 | namespace TLSHook { 10 | 11 | bool EGLCore::create(int width, int height, EGLContext sharedContext) { 12 | if (mEGLDisplay != EGL_NO_DISPLAY) { 13 | LOGE("EGL already set up"); 14 | return false; 15 | } 16 | if (sharedContext == nullptr) { 17 | sharedContext = EGL_NO_CONTEXT; 18 | } 19 | 20 | mEGLDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY); 21 | if (mEGLDisplay == EGL_NO_DISPLAY) { 22 | LOGE("unable to get EGL display."); 23 | return false; 24 | } 25 | 26 | if (!eglInitialize(mEGLDisplay, nullptr, nullptr)) { 27 | mEGLDisplay = EGL_NO_DISPLAY; 28 | LOGE("unable to initialize EGL"); 29 | return false; 30 | } 31 | 32 | // Try GLES3 33 | EGLConfig config = getConfig(3); 34 | if (config != nullptr) { 35 | int attrib3_list[] = { 36 | EGL_CONTEXT_CLIENT_VERSION, 3, 37 | EGL_NONE 38 | }; 39 | EGLContext context = eglCreateContext(mEGLDisplay, config, sharedContext, attrib3_list); 40 | if (eglGetError() == EGL_SUCCESS) { 41 | mEGLConfig = config; 42 | mEGLContext = context; 43 | } 44 | } 45 | 46 | // Back to GLES2 47 | if (mEGLContext == EGL_NO_CONTEXT) { 48 | config = getConfig(2); 49 | int attrib2_list[] = { 50 | EGL_CONTEXT_CLIENT_VERSION, 2, 51 | EGL_NONE 52 | }; 53 | EGLContext context = eglCreateContext(mEGLDisplay, config, sharedContext, attrib2_list); 54 | if (eglGetError() == EGL_SUCCESS) { 55 | mEGLConfig = config; 56 | mEGLContext = context; 57 | } 58 | } 59 | 60 | int values[1] = {0}; 61 | eglQueryContext(mEGLDisplay, mEGLContext, EGL_CONTEXT_CLIENT_VERSION, values); 62 | LOGD("EGLContext created, client version %d", values[0]); 63 | 64 | mEGLSurface = createOffscreenSurface(width, height); 65 | return mEGLSurface != nullptr; 66 | } 67 | 68 | void EGLCore::destroy() { 69 | releaseSurface(mEGLSurface); 70 | 71 | if (mEGLDisplay != EGL_NO_DISPLAY) { 72 | eglMakeCurrent(mEGLDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); 73 | eglDestroyContext(mEGLDisplay, mEGLContext); 74 | } 75 | 76 | mEGLDisplay = EGL_NO_DISPLAY; 77 | mEGLContext = EGL_NO_CONTEXT; 78 | mEGLConfig = nullptr; 79 | } 80 | 81 | void EGLCore::makeCurrent() { 82 | if (mEGLDisplay == EGL_NO_DISPLAY) { 83 | LOGD("Note: makeCurrent w/o display."); 84 | } 85 | if (!eglMakeCurrent(mEGLDisplay, mEGLSurface, mEGLSurface, mEGLContext)) { 86 | LOGE("Error: makeCurrent w/o display."); 87 | } 88 | } 89 | 90 | EGLConfig EGLCore::getConfig(int version) { 91 | int renderableType = EGL_OPENGL_ES2_BIT; 92 | if (version >= 3) { 93 | renderableType |= EGL_OPENGL_ES3_BIT_KHR; 94 | } 95 | int attribList[] = { 96 | EGL_RED_SIZE, 8, 97 | EGL_GREEN_SIZE, 8, 98 | EGL_BLUE_SIZE, 8, 99 | EGL_ALPHA_SIZE, 8, 100 | //EGL_DEPTH_SIZE, 16, 101 | //EGL_STENCIL_SIZE, 8, 102 | EGL_RENDERABLE_TYPE, renderableType, 103 | EGL_NONE, 0, 104 | EGL_NONE 105 | }; 106 | 107 | EGLConfig configs = nullptr; 108 | int numConfigs; 109 | if (!eglChooseConfig(mEGLDisplay, attribList, &configs, 1, &numConfigs)) { 110 | LOGW("unable to find RGB8888 / %d EGLConfig", version); 111 | } 112 | return configs; 113 | } 114 | 115 | EGLSurface EGLCore::createOffscreenSurface(int width, int height) { 116 | int surfaceAttribs[] = { 117 | EGL_WIDTH, width, 118 | EGL_HEIGHT, height, 119 | EGL_NONE 120 | }; 121 | EGLSurface eglSurface = eglCreatePbufferSurface(mEGLDisplay, mEGLConfig, surfaceAttribs); 122 | if (eglSurface == nullptr) { 123 | LOGE("EGLSurface nullptr"); 124 | } 125 | return eglSurface; 126 | } 127 | 128 | void EGLCore::releaseSurface(EGLSurface eglSurface) { 129 | if (mEGLSurface) { 130 | eglDestroySurface(mEGLDisplay, eglSurface); 131 | } 132 | } 133 | 134 | } -------------------------------------------------------------------------------- /tlshook/eglcore.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TLSHook 3 | * @author : keith@robot9.me 4 | * 5 | */ 6 | #pragma once 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace TLSHook { 13 | 14 | class EGLCore { 15 | public: 16 | bool create(int width, int height, EGLContext sharedContext = nullptr); 17 | void destroy(); 18 | void makeCurrent(); 19 | 20 | private: 21 | EGLConfig getConfig(int version); 22 | EGLSurface createOffscreenSurface(int width, int height); 23 | void releaseSurface(EGLSurface eglSurface); 24 | 25 | private: 26 | EGLDisplay mEGLDisplay = EGL_NO_DISPLAY; 27 | EGLConfig mEGLConfig = nullptr; 28 | EGLContext mEGLContext = EGL_NO_CONTEXT; 29 | EGLSurface mEGLSurface = nullptr; 30 | }; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /tlshook/entry/entries.16.in: -------------------------------------------------------------------------------- 1 | GL_ENTRY(void, glActiveShaderProgramEXT, GLuint pipeline, GLuint program) 2 | GL_ENTRY(void, glActiveTexture, GLenum texture) 3 | GL_ENTRY(void, glAlphaFunc, GLenum func, GLclampf ref) 4 | GL_ENTRY(void, glAlphaFuncQCOM, GLenum func, GLclampf ref) 5 | GL_ENTRY(void, glAlphaFuncx, GLenum func, GLclampx ref) 6 | GL_ENTRY(void, glAlphaFuncxOES, GLenum func, GLclampx ref) 7 | GL_ENTRY(void, glAttachShader, GLuint program, GLuint shader) 8 | GL_ENTRY(void, glBeginPerfMonitorAMD, GLuint monitor) 9 | GL_ENTRY(void, glBeginQueryEXT, GLenum target, GLuint id) 10 | GL_ENTRY(void, glBindAttribLocation, GLuint program, GLuint index, const GLchar* name) 11 | GL_ENTRY(void, glBindBuffer, GLenum target, GLuint buffer) 12 | GL_ENTRY(void, glBindFramebuffer, GLenum target, GLuint framebuffer) 13 | GL_ENTRY(void, glBindFramebufferOES, GLenum target, GLuint framebuffer) 14 | GL_ENTRY(void, glBindProgramPipelineEXT, GLuint pipeline) 15 | GL_ENTRY(void, glBindRenderbuffer, GLenum target, GLuint renderbuffer) 16 | GL_ENTRY(void, glBindRenderbufferOES, GLenum target, GLuint renderbuffer) 17 | GL_ENTRY(void, glBindTexture, GLenum target, GLuint texture) 18 | GL_ENTRY(void, glBindVertexArrayOES, GLuint array) 19 | GL_ENTRY(void, glBlendColor, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 20 | GL_ENTRY(void, glBlendEquation, GLenum mode ) 21 | GL_ENTRY(void, glBlendEquationOES, GLenum mode) 22 | GL_ENTRY(void, glBlendEquationSeparate, GLenum modeRGB, GLenum modeAlpha) 23 | GL_ENTRY(void, glBlendEquationSeparateOES, GLenum modeRGB, GLenum modeAlpha) 24 | GL_ENTRY(void, glBlendFunc, GLenum sfactor, GLenum dfactor) 25 | GL_ENTRY(void, glBlendFuncSeparate, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 26 | GL_ENTRY(void, glBlendFuncSeparateOES, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 27 | GL_ENTRY(void, glBlitFramebufferANGLE, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 28 | GL_ENTRY(void, glBufferData, GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) 29 | GL_ENTRY(void, glBufferSubData, GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) 30 | GL_ENTRY(GLenum, glCheckFramebufferStatus, GLenum target) 31 | GL_ENTRY(GLenum, glCheckFramebufferStatusOES, GLenum target) 32 | GL_ENTRY(void, glClear, GLbitfield mask) 33 | GL_ENTRY(void, glClearColor, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 34 | GL_ENTRY(void, glClearColorx, GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) 35 | GL_ENTRY(void, glClearColorxOES, GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) 36 | GL_ENTRY(void, glClearDepthf, GLclampf depth) 37 | GL_ENTRY(void, glClearDepthfOES, GLclampf depth) 38 | GL_ENTRY(void, glClearDepthx, GLclampx depth) 39 | GL_ENTRY(void, glClearDepthxOES, GLclampx depth) 40 | GL_ENTRY(void, glClearStencil, GLint s) 41 | GL_ENTRY(void, glClientActiveTexture, GLenum texture) 42 | GL_ENTRY(void, glClipPlanef, GLenum plane, const GLfloat *equation) 43 | GL_ENTRY(void, glClipPlanefIMG, GLenum p, const GLfloat *eqn) 44 | GL_ENTRY(void, glClipPlanefOES, GLenum plane, const GLfloat *equation) 45 | GL_ENTRY(void, glClipPlanex, GLenum plane, const GLfixed *equation) 46 | GL_ENTRY(void, glClipPlanexIMG, GLenum p, const GLfixed *eqn) 47 | GL_ENTRY(void, glClipPlanexOES, GLenum plane, const GLfixed *equation) 48 | GL_ENTRY(void, glColor4f, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 49 | GL_ENTRY(void, glColor4ub, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) 50 | GL_ENTRY(void, glColor4x, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 51 | GL_ENTRY(void, glColor4xOES, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 52 | GL_ENTRY(void, glColorMask, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) 53 | GL_ENTRY(void, glColorPointer, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 54 | GL_ENTRY(void, glCompileShader, GLuint shader) 55 | GL_ENTRY(void, glCompressedTexImage2D, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) 56 | GL_ENTRY(void, glCompressedTexImage3DOES, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) 57 | GL_ENTRY(void, glCompressedTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) 58 | GL_ENTRY(void, glCompressedTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) 59 | GL_ENTRY(void, glCopyTexImage2D, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 60 | GL_ENTRY(void, glCopyTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 61 | GL_ENTRY(void, glCopyTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 62 | GL_ENTRY(void, glCoverageMaskNV, GLboolean mask) 63 | GL_ENTRY(void, glCoverageOperationNV, GLenum operation) 64 | GL_ENTRY(GLuint, glCreateProgram, void) 65 | GL_ENTRY(GLuint, glCreateShader, GLenum type) 66 | GL_ENTRY(GLuint, glCreateShaderProgramvEXT, GLenum type, GLsizei count, const GLchar **strings) 67 | GL_ENTRY(void, glCullFace, GLenum mode) 68 | GL_ENTRY(void, glCurrentPaletteMatrixOES, GLuint matrixpaletteindex) 69 | GL_ENTRY(void, glDeleteBuffers, GLsizei n, const GLuint *buffers) 70 | GL_ENTRY(void, glDeleteFencesNV, GLsizei n, const GLuint *fences) 71 | GL_ENTRY(void, glDeleteFramebuffers, GLsizei n, const GLuint* framebuffers) 72 | GL_ENTRY(void, glDeleteFramebuffersOES, GLsizei n, const GLuint* framebuffers) 73 | GL_ENTRY(void, glDeletePerfMonitorsAMD, GLsizei n, GLuint *monitors) 74 | GL_ENTRY(void, glDeleteProgram, GLuint program) 75 | GL_ENTRY(void, glDeleteProgramPipelinesEXT, GLsizei n, const GLuint *pipelines) 76 | GL_ENTRY(void, glDeleteQueriesEXT, GLsizei n, const GLuint *ids) 77 | GL_ENTRY(void, glDeleteRenderbuffers, GLsizei n, const GLuint* renderbuffers) 78 | GL_ENTRY(void, glDeleteRenderbuffersOES, GLsizei n, const GLuint* renderbuffers) 79 | GL_ENTRY(void, glDeleteShader, GLuint shader) 80 | GL_ENTRY(void, glDeleteTextures, GLsizei n, const GLuint *textures) 81 | GL_ENTRY(void, glDeleteVertexArraysOES, GLsizei n, const GLuint *arrays) 82 | GL_ENTRY(void, glDepthFunc, GLenum func) 83 | GL_ENTRY(void, glDepthMask, GLboolean flag) 84 | GL_ENTRY(void, glDepthRangef, GLclampf zNear, GLclampf zFar) 85 | GL_ENTRY(void, glDepthRangefOES, GLclampf zNear, GLclampf zFar) 86 | GL_ENTRY(void, glDepthRangex, GLclampx zNear, GLclampx zFar) 87 | GL_ENTRY(void, glDepthRangexOES, GLclampx zNear, GLclampx zFar) 88 | GL_ENTRY(void, glDetachShader, GLuint program, GLuint shader) 89 | GL_ENTRY(void, glDisable, GLenum cap) 90 | GL_ENTRY(void, glDisableClientState, GLenum array) 91 | GL_ENTRY(void, glDisableDriverControlQCOM, GLuint driverControl) 92 | GL_ENTRY(void, glDisableVertexAttribArray, GLuint index) 93 | GL_ENTRY(void, glDiscardFramebufferEXT, GLenum target, GLsizei numAttachments, const GLenum *attachments) 94 | GL_ENTRY(void, glDrawArrays, GLenum mode, GLint first, GLsizei count) 95 | GL_ENTRY(void, glDrawBuffersNV, GLsizei n, const GLenum *bufs) 96 | GL_ENTRY(void, glDrawElements, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) 97 | GL_ENTRY(void, glDrawTexfOES, GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) 98 | GL_ENTRY(void, glDrawTexfvOES, const GLfloat *coords) 99 | GL_ENTRY(void, glDrawTexiOES, GLint x, GLint y, GLint z, GLint width, GLint height) 100 | GL_ENTRY(void, glDrawTexivOES, const GLint *coords) 101 | GL_ENTRY(void, glDrawTexsOES, GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) 102 | GL_ENTRY(void, glDrawTexsvOES, const GLshort *coords) 103 | GL_ENTRY(void, glDrawTexxOES, GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) 104 | GL_ENTRY(void, glDrawTexxvOES, const GLfixed *coords) 105 | GL_ENTRY(void, glEGLImageTargetRenderbufferStorageOES, GLenum target, GLeglImageOES image) 106 | GL_ENTRY(void, glEGLImageTargetTexture2DOES, GLenum target, GLeglImageOES image) 107 | GL_ENTRY(void, glEnable, GLenum cap) 108 | GL_ENTRY(void, glEnableClientState, GLenum array) 109 | GL_ENTRY(void, glEnableDriverControlQCOM, GLuint driverControl) 110 | GL_ENTRY(void, glEnableVertexAttribArray, GLuint index) 111 | GL_ENTRY(void, glEndPerfMonitorAMD, GLuint monitor) 112 | GL_ENTRY(void, glEndQueryEXT, GLenum target) 113 | GL_ENTRY(void, glEndTilingQCOM, GLbitfield preserveMask) 114 | GL_ENTRY(void, glExtGetBufferPointervQCOM, GLenum target, GLvoid **params) 115 | GL_ENTRY(void, glExtGetBuffersQCOM, GLuint *buffers, GLint maxBuffers, GLint *numBuffers) 116 | GL_ENTRY(void, glExtGetFramebuffersQCOM, GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers) 117 | GL_ENTRY(void, glExtGetProgramBinarySourceQCOM, GLuint program, GLenum shadertype, GLchar *source, GLint *length) 118 | GL_ENTRY(void, glExtGetProgramsQCOM, GLuint *programs, GLint maxPrograms, GLint *numPrograms) 119 | GL_ENTRY(void, glExtGetRenderbuffersQCOM, GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers) 120 | GL_ENTRY(void, glExtGetShadersQCOM, GLuint *shaders, GLint maxShaders, GLint *numShaders) 121 | GL_ENTRY(void, glExtGetTexLevelParameterivQCOM, GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params) 122 | GL_ENTRY(void, glExtGetTexSubImageQCOM, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels) 123 | GL_ENTRY(void, glExtGetTexturesQCOM, GLuint *textures, GLint maxTextures, GLint *numTextures) 124 | GL_ENTRY(GLboolean, glExtIsProgramBinaryQCOM, GLuint program) 125 | GL_ENTRY(void, glExtTexObjectStateOverrideiQCOM, GLenum target, GLenum pname, GLint param) 126 | GL_ENTRY(void, glFinish, void) 127 | GL_ENTRY(void, glFinishFenceNV, GLuint fence) 128 | GL_ENTRY(void, glFlush, void) 129 | GL_ENTRY(void, glFogf, GLenum pname, GLfloat param) 130 | GL_ENTRY(void, glFogfv, GLenum pname, const GLfloat *params) 131 | GL_ENTRY(void, glFogx, GLenum pname, GLfixed param) 132 | GL_ENTRY(void, glFogxOES, GLenum pname, GLfixed param) 133 | GL_ENTRY(void, glFogxv, GLenum pname, const GLfixed *params) 134 | GL_ENTRY(void, glFogxvOES, GLenum pname, const GLfixed *params) 135 | GL_ENTRY(void, glFramebufferRenderbuffer, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 136 | GL_ENTRY(void, glFramebufferRenderbufferOES, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 137 | GL_ENTRY(void, glFramebufferTexture2D, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 138 | GL_ENTRY(void, glFramebufferTexture2DMultisampleEXT, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) 139 | GL_ENTRY(void, glFramebufferTexture2DMultisampleIMG, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) 140 | GL_ENTRY(void, glFramebufferTexture2DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 141 | GL_ENTRY(void, glFramebufferTexture3DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 142 | GL_ENTRY(void, glFrontFace, GLenum mode) 143 | GL_ENTRY(void, glFrustumf, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 144 | GL_ENTRY(void, glFrustumfOES, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 145 | GL_ENTRY(void, glFrustumx, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 146 | GL_ENTRY(void, glFrustumxOES, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 147 | GL_ENTRY(void, glGenBuffers, GLsizei n, GLuint *buffers) 148 | GL_ENTRY(void, glGenFencesNV, GLsizei n, GLuint *fences) 149 | GL_ENTRY(void, glGenFramebuffers, GLsizei n, GLuint* framebuffers) 150 | GL_ENTRY(void, glGenFramebuffersOES, GLsizei n, GLuint* framebuffers) 151 | GL_ENTRY(void, glGenPerfMonitorsAMD, GLsizei n, GLuint *monitors) 152 | GL_ENTRY(void, glGenProgramPipelinesEXT, GLsizei n, GLuint *pipelines) 153 | GL_ENTRY(void, glGenQueriesEXT, GLsizei n, GLuint *ids) 154 | GL_ENTRY(void, glGenRenderbuffers, GLsizei n, GLuint* renderbuffers) 155 | GL_ENTRY(void, glGenRenderbuffersOES, GLsizei n, GLuint* renderbuffers) 156 | GL_ENTRY(void, glGenTextures, GLsizei n, GLuint *textures) 157 | GL_ENTRY(void, glGenVertexArraysOES, GLsizei n, GLuint *arrays) 158 | GL_ENTRY(void, glGenerateMipmap, GLenum target) 159 | GL_ENTRY(void, glGenerateMipmapOES, GLenum target) 160 | GL_ENTRY(void, glGetActiveAttrib, GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) 161 | GL_ENTRY(void, glGetActiveUniform, GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) 162 | GL_ENTRY(void, glGetAttachedShaders, GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) 163 | GL_ENTRY(int, glGetAttribLocation, GLuint program, const GLchar* name) 164 | GL_ENTRY(void, glGetBooleanv, GLenum pname, GLboolean *params) 165 | GL_ENTRY(void, glGetBufferParameteriv, GLenum target, GLenum pname, GLint *params) 166 | GL_ENTRY(void, glGetBufferPointervOES, GLenum target, GLenum pname, GLvoid ** params) 167 | GL_ENTRY(void, glGetClipPlanef, GLenum pname, GLfloat eqn[4]) 168 | GL_ENTRY(void, glGetClipPlanefOES, GLenum pname, GLfloat eqn[4]) 169 | GL_ENTRY(void, glGetClipPlanex, GLenum pname, GLfixed eqn[4]) 170 | GL_ENTRY(void, glGetClipPlanexOES, GLenum pname, GLfixed eqn[4]) 171 | GL_ENTRY(void, glGetDriverControlStringQCOM, GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString) 172 | GL_ENTRY(void, glGetDriverControlsQCOM, GLint *num, GLsizei size, GLuint *driverControls) 173 | GL_ENTRY(GLenum, glGetError, void) 174 | GL_ENTRY(void, glGetFenceivNV, GLuint fence, GLenum pname, GLint *params) 175 | GL_ENTRY(void, glGetFixedv, GLenum pname, GLfixed *params) 176 | GL_ENTRY(void, glGetFixedvOES, GLenum pname, GLfixed *params) 177 | GL_ENTRY(void, glGetFloatv, GLenum pname, GLfloat *params) 178 | GL_ENTRY(void, glGetFramebufferAttachmentParameteriv, GLenum target, GLenum attachment, GLenum pname, GLint* params) 179 | GL_ENTRY(void, glGetFramebufferAttachmentParameterivOES, GLenum target, GLenum attachment, GLenum pname, GLint* params) 180 | GL_ENTRY(GLenum, glGetGraphicsResetStatusEXT, void) 181 | GL_ENTRY(void, glGetIntegerv, GLenum pname, GLint *params) 182 | GL_ENTRY(void, glGetLightfv, GLenum light, GLenum pname, GLfloat *params) 183 | GL_ENTRY(void, glGetLightxv, GLenum light, GLenum pname, GLfixed *params) 184 | GL_ENTRY(void, glGetLightxvOES, GLenum light, GLenum pname, GLfixed *params) 185 | GL_ENTRY(void, glGetMaterialfv, GLenum face, GLenum pname, GLfloat *params) 186 | GL_ENTRY(void, glGetMaterialxv, GLenum face, GLenum pname, GLfixed *params) 187 | GL_ENTRY(void, glGetMaterialxvOES, GLenum face, GLenum pname, GLfixed *params) 188 | GL_ENTRY(void, glGetObjectLabelEXT, GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label) 189 | GL_ENTRY(void, glGetPerfMonitorCounterDataAMD, GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten) 190 | GL_ENTRY(void, glGetPerfMonitorCounterInfoAMD, GLuint group, GLuint counter, GLenum pname, GLvoid *data) 191 | GL_ENTRY(void, glGetPerfMonitorCounterStringAMD, GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString) 192 | GL_ENTRY(void, glGetPerfMonitorCountersAMD, GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters) 193 | GL_ENTRY(void, glGetPerfMonitorGroupStringAMD, GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString) 194 | GL_ENTRY(void, glGetPerfMonitorGroupsAMD, GLint *numGroups, GLsizei groupsSize, GLuint *groups) 195 | GL_ENTRY(void, glGetPointerv, GLenum pname, GLvoid **params) 196 | GL_ENTRY(void, glGetProgramBinaryOES, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) 197 | GL_ENTRY(void, glGetProgramInfoLog, GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) 198 | GL_ENTRY(void, glGetProgramPipelineInfoLogEXT, GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) 199 | GL_ENTRY(void, glGetProgramPipelineivEXT, GLuint pipeline, GLenum pname, GLint *params) 200 | GL_ENTRY(void, glGetProgramiv, GLuint program, GLenum pname, GLint* params) 201 | GL_ENTRY(void, glGetQueryObjectuivEXT, GLuint id, GLenum pname, GLuint *params) 202 | GL_ENTRY(void, glGetQueryivEXT, GLenum target, GLenum pname, GLint *params) 203 | GL_ENTRY(void, glGetRenderbufferParameteriv, GLenum target, GLenum pname, GLint* params) 204 | GL_ENTRY(void, glGetRenderbufferParameterivOES, GLenum target, GLenum pname, GLint* params) 205 | GL_ENTRY(void, glGetShaderInfoLog, GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) 206 | GL_ENTRY(void, glGetShaderPrecisionFormat, GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) 207 | GL_ENTRY(void, glGetShaderSource, GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) 208 | GL_ENTRY(void, glGetShaderiv, GLuint shader, GLenum pname, GLint* params) 209 | GL_ENTRY(const GLubyte *, glGetString, GLenum name) 210 | GL_ENTRY(void, glGetTexEnvfv, GLenum env, GLenum pname, GLfloat *params) 211 | GL_ENTRY(void, glGetTexEnviv, GLenum env, GLenum pname, GLint *params) 212 | GL_ENTRY(void, glGetTexEnvxv, GLenum env, GLenum pname, GLfixed *params) 213 | GL_ENTRY(void, glGetTexEnvxvOES, GLenum env, GLenum pname, GLfixed *params) 214 | GL_ENTRY(void, glGetTexGenfvOES, GLenum coord, GLenum pname, GLfloat *params) 215 | GL_ENTRY(void, glGetTexGenivOES, GLenum coord, GLenum pname, GLint *params) 216 | GL_ENTRY(void, glGetTexGenxvOES, GLenum coord, GLenum pname, GLfixed *params) 217 | GL_ENTRY(void, glGetTexParameterfv, GLenum target, GLenum pname, GLfloat *params) 218 | GL_ENTRY(void, glGetTexParameteriv, GLenum target, GLenum pname, GLint *params) 219 | GL_ENTRY(void, glGetTexParameterxv, GLenum target, GLenum pname, GLfixed *params) 220 | GL_ENTRY(void, glGetTexParameterxvOES, GLenum target, GLenum pname, GLfixed *params) 221 | GL_ENTRY(int, glGetUniformLocation, GLuint program, const GLchar* name) 222 | GL_ENTRY(void, glGetUniformfv, GLuint program, GLint location, GLfloat* params) 223 | GL_ENTRY(void, glGetUniformiv, GLuint program, GLint location, GLint* params) 224 | GL_ENTRY(void, glGetVertexAttribPointerv, GLuint index, GLenum pname, GLvoid** pointer) 225 | GL_ENTRY(void, glGetVertexAttribfv, GLuint index, GLenum pname, GLfloat* params) 226 | GL_ENTRY(void, glGetVertexAttribiv, GLuint index, GLenum pname, GLint* params) 227 | GL_ENTRY(void, glGetnUniformfvEXT, GLuint program, GLint location, GLsizei bufSize, float *params) 228 | GL_ENTRY(void, glGetnUniformivEXT, GLuint program, GLint location, GLsizei bufSize, GLint *params) 229 | GL_ENTRY(void, glHint, GLenum target, GLenum mode) 230 | GL_ENTRY(void, glInsertEventMarkerEXT, GLsizei length, const GLchar *marker) 231 | GL_ENTRY(GLboolean, glIsBuffer, GLuint buffer) 232 | GL_ENTRY(GLboolean, glIsEnabled, GLenum cap) 233 | GL_ENTRY(GLboolean, glIsFenceNV, GLuint fence) 234 | GL_ENTRY(GLboolean, glIsFramebuffer, GLuint framebuffer) 235 | GL_ENTRY(GLboolean, glIsFramebufferOES, GLuint framebuffer) 236 | GL_ENTRY(GLboolean, glIsProgram, GLuint program) 237 | GL_ENTRY(GLboolean, glIsProgramPipelineEXT, GLuint pipeline) 238 | GL_ENTRY(GLboolean, glIsQueryEXT, GLuint id) 239 | GL_ENTRY(GLboolean, glIsRenderbuffer, GLuint renderbuffer) 240 | GL_ENTRY(GLboolean, glIsRenderbufferOES, GLuint renderbuffer) 241 | GL_ENTRY(GLboolean, glIsShader, GLuint shader) 242 | GL_ENTRY(GLboolean, glIsTexture, GLuint texture) 243 | GL_ENTRY(GLboolean, glIsVertexArrayOES, GLuint array) 244 | GL_ENTRY(void, glLabelObjectEXT, GLenum type, GLuint object, GLsizei length, const GLchar *label) 245 | GL_ENTRY(void, glLightModelf, GLenum pname, GLfloat param) 246 | GL_ENTRY(void, glLightModelfv, GLenum pname, const GLfloat *params) 247 | GL_ENTRY(void, glLightModelx, GLenum pname, GLfixed param) 248 | GL_ENTRY(void, glLightModelxOES, GLenum pname, GLfixed param) 249 | GL_ENTRY(void, glLightModelxv, GLenum pname, const GLfixed *params) 250 | GL_ENTRY(void, glLightModelxvOES, GLenum pname, const GLfixed *params) 251 | GL_ENTRY(void, glLightf, GLenum light, GLenum pname, GLfloat param) 252 | GL_ENTRY(void, glLightfv, GLenum light, GLenum pname, const GLfloat *params) 253 | GL_ENTRY(void, glLightx, GLenum light, GLenum pname, GLfixed param) 254 | GL_ENTRY(void, glLightxOES, GLenum light, GLenum pname, GLfixed param) 255 | GL_ENTRY(void, glLightxv, GLenum light, GLenum pname, const GLfixed *params) 256 | GL_ENTRY(void, glLightxvOES, GLenum light, GLenum pname, const GLfixed *params) 257 | GL_ENTRY(void, glLineWidth, GLfloat width) 258 | GL_ENTRY(void, glLineWidthx, GLfixed width) 259 | GL_ENTRY(void, glLineWidthxOES, GLfixed width) 260 | GL_ENTRY(void, glLinkProgram, GLuint program) 261 | GL_ENTRY(void, glLoadIdentity, void) 262 | GL_ENTRY(void, glLoadMatrixf, const GLfloat *m) 263 | GL_ENTRY(void, glLoadMatrixx, const GLfixed *m) 264 | GL_ENTRY(void, glLoadMatrixxOES, const GLfixed *m) 265 | GL_ENTRY(void, glLoadPaletteFromModelViewMatrixOES, void) 266 | GL_ENTRY(void, glLogicOp, GLenum opcode) 267 | GL_ENTRY(void*, glMapBufferOES, GLenum target, GLenum access) 268 | GL_ENTRY(void, glMaterialf, GLenum face, GLenum pname, GLfloat param) 269 | GL_ENTRY(void, glMaterialfv, GLenum face, GLenum pname, const GLfloat *params) 270 | GL_ENTRY(void, glMaterialx, GLenum face, GLenum pname, GLfixed param) 271 | GL_ENTRY(void, glMaterialxOES, GLenum face, GLenum pname, GLfixed param) 272 | GL_ENTRY(void, glMaterialxv, GLenum face, GLenum pname, const GLfixed *params) 273 | GL_ENTRY(void, glMaterialxvOES, GLenum face, GLenum pname, const GLfixed *params) 274 | GL_ENTRY(void, glMatrixIndexPointerOES, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 275 | GL_ENTRY(void, glMatrixMode, GLenum mode) 276 | GL_ENTRY(void, glMultMatrixf, const GLfloat *m) 277 | GL_ENTRY(void, glMultMatrixx, const GLfixed *m) 278 | GL_ENTRY(void, glMultMatrixxOES, const GLfixed *m) 279 | GL_ENTRY(void, glMultiDrawArraysEXT, GLenum mode, GLint *first, GLsizei *count, GLsizei primcount) 280 | GL_ENTRY(void, glMultiDrawElementsEXT, GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount) 281 | GL_ENTRY(void, glMultiTexCoord4f, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) 282 | GL_ENTRY(void, glMultiTexCoord4x, GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 283 | GL_ENTRY(void, glMultiTexCoord4xOES, GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 284 | GL_ENTRY(void, glNormal3f, GLfloat nx, GLfloat ny, GLfloat nz) 285 | GL_ENTRY(void, glNormal3x, GLfixed nx, GLfixed ny, GLfixed nz) 286 | GL_ENTRY(void, glNormal3xOES, GLfixed nx, GLfixed ny, GLfixed nz) 287 | GL_ENTRY(void, glNormalPointer, GLenum type, GLsizei stride, const GLvoid *pointer) 288 | GL_ENTRY(void, glOrthof, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 289 | GL_ENTRY(void, glOrthofOES, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 290 | GL_ENTRY(void, glOrthox, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 291 | GL_ENTRY(void, glOrthoxOES, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 292 | GL_ENTRY(void, glPixelStorei, GLenum pname, GLint param) 293 | GL_ENTRY(void, glPointParameterf, GLenum pname, GLfloat param) 294 | GL_ENTRY(void, glPointParameterfv, GLenum pname, const GLfloat *params) 295 | GL_ENTRY(void, glPointParameterx, GLenum pname, GLfixed param) 296 | GL_ENTRY(void, glPointParameterxOES, GLenum pname, GLfixed param) 297 | GL_ENTRY(void, glPointParameterxv, GLenum pname, const GLfixed *params) 298 | GL_ENTRY(void, glPointParameterxvOES, GLenum pname, const GLfixed *params) 299 | GL_ENTRY(void, glPointSize, GLfloat size) 300 | GL_ENTRY(void, glPointSizePointerOES, GLenum type, GLsizei stride, const GLvoid *pointer) 301 | GL_ENTRY(void, glPointSizex, GLfixed size) 302 | GL_ENTRY(void, glPointSizexOES, GLfixed size) 303 | GL_ENTRY(void, glPolygonOffset, GLfloat factor, GLfloat units) 304 | GL_ENTRY(void, glPolygonOffsetx, GLfixed factor, GLfixed units) 305 | GL_ENTRY(void, glPolygonOffsetxOES, GLfixed factor, GLfixed units) 306 | GL_ENTRY(void, glPopGroupMarkerEXT, void) 307 | GL_ENTRY(void, glPopMatrix, void) 308 | GL_ENTRY(void, glProgramBinaryOES, GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length) 309 | GL_ENTRY(void, glProgramParameteriEXT, GLuint program, GLenum pname, GLint value) 310 | GL_ENTRY(void, glProgramUniform1fEXT, GLuint program, GLint location, GLfloat x) 311 | GL_ENTRY(void, glProgramUniform1fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 312 | GL_ENTRY(void, glProgramUniform1iEXT, GLuint program, GLint location, GLint x) 313 | GL_ENTRY(void, glProgramUniform1ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 314 | GL_ENTRY(void, glProgramUniform2fEXT, GLuint program, GLint location, GLfloat x, GLfloat y) 315 | GL_ENTRY(void, glProgramUniform2fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 316 | GL_ENTRY(void, glProgramUniform2iEXT, GLuint program, GLint location, GLint x, GLint y) 317 | GL_ENTRY(void, glProgramUniform2ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 318 | GL_ENTRY(void, glProgramUniform3fEXT, GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z) 319 | GL_ENTRY(void, glProgramUniform3fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 320 | GL_ENTRY(void, glProgramUniform3iEXT, GLuint program, GLint location, GLint x, GLint y, GLint z) 321 | GL_ENTRY(void, glProgramUniform3ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 322 | GL_ENTRY(void, glProgramUniform4fEXT, GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 323 | GL_ENTRY(void, glProgramUniform4fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 324 | GL_ENTRY(void, glProgramUniform4iEXT, GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w) 325 | GL_ENTRY(void, glProgramUniform4ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 326 | GL_ENTRY(void, glProgramUniformMatrix2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 327 | GL_ENTRY(void, glProgramUniformMatrix3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 328 | GL_ENTRY(void, glProgramUniformMatrix4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 329 | GL_ENTRY(void, glPushGroupMarkerEXT, GLsizei length, const GLchar *marker) 330 | GL_ENTRY(void, glPushMatrix, void) 331 | GL_ENTRY(GLbitfield, glQueryMatrixxOES, GLfixed mantissa[16], GLint exponent[16]) 332 | GL_ENTRY(void, glReadBufferNV, GLenum mode) 333 | GL_ENTRY(void, glReadPixels, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) 334 | GL_ENTRY(void, glReadnPixelsEXT, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data) 335 | GL_ENTRY(void, glReleaseShaderCompiler, void) 336 | GL_ENTRY(void, glRenderbufferStorage, GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 337 | GL_ENTRY(void, glRenderbufferStorageMultisampleANGLE, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 338 | GL_ENTRY(void, glRenderbufferStorageMultisampleAPPLE, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 339 | GL_ENTRY(void, glRenderbufferStorageMultisampleEXT, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 340 | GL_ENTRY(void, glRenderbufferStorageMultisampleIMG, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 341 | GL_ENTRY(void, glRenderbufferStorageOES, GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 342 | GL_ENTRY(void, glResolveMultisampleFramebufferAPPLE, void) 343 | GL_ENTRY(void, glRotatef, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) 344 | GL_ENTRY(void, glRotatex, GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 345 | GL_ENTRY(void, glRotatexOES, GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 346 | GL_ENTRY(void, glSampleCoverage, GLclampf value, GLboolean invert) 347 | GL_ENTRY(void, glSampleCoveragex, GLclampx value, GLboolean invert) 348 | GL_ENTRY(void, glSampleCoveragexOES, GLclampx value, GLboolean invert) 349 | GL_ENTRY(void, glScalef, GLfloat x, GLfloat y, GLfloat z) 350 | GL_ENTRY(void, glScalex, GLfixed x, GLfixed y, GLfixed z) 351 | GL_ENTRY(void, glScalexOES, GLfixed x, GLfixed y, GLfixed z) 352 | GL_ENTRY(void, glScissor, GLint x, GLint y, GLsizei width, GLsizei height) 353 | GL_ENTRY(void, glSelectPerfMonitorCountersAMD, GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList) 354 | GL_ENTRY(void, glSetFenceNV, GLuint fence, GLenum condition) 355 | GL_ENTRY(void, glShadeModel, GLenum mode) 356 | GL_ENTRY(void, glShaderBinary, GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) 357 | GL_ENTRY(void, glShaderSource, GLuint shader, GLsizei count, const GLchar** string, const GLint* length) 358 | GL_ENTRY(void, glStartTilingQCOM, GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) 359 | GL_ENTRY(void, glStencilFunc, GLenum func, GLint ref, GLuint mask) 360 | GL_ENTRY(void, glStencilFuncSeparate, GLenum face, GLenum func, GLint ref, GLuint mask) 361 | GL_ENTRY(void, glStencilMask, GLuint mask) 362 | GL_ENTRY(void, glStencilMaskSeparate, GLenum face, GLuint mask) 363 | GL_ENTRY(void, glStencilOp, GLenum fail, GLenum zfail, GLenum zpass) 364 | GL_ENTRY(void, glStencilOpSeparate, GLenum face, GLenum fail, GLenum zfail, GLenum zpass) 365 | GL_ENTRY(GLboolean, glTestFenceNV, GLuint fence) 366 | GL_ENTRY(void, glTexCoordPointer, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 367 | GL_ENTRY(void, glTexEnvf, GLenum target, GLenum pname, GLfloat param) 368 | GL_ENTRY(void, glTexEnvfv, GLenum target, GLenum pname, const GLfloat *params) 369 | GL_ENTRY(void, glTexEnvi, GLenum target, GLenum pname, GLint param) 370 | GL_ENTRY(void, glTexEnviv, GLenum target, GLenum pname, const GLint *params) 371 | GL_ENTRY(void, glTexEnvx, GLenum target, GLenum pname, GLfixed param) 372 | GL_ENTRY(void, glTexEnvxOES, GLenum target, GLenum pname, GLfixed param) 373 | GL_ENTRY(void, glTexEnvxv, GLenum target, GLenum pname, const GLfixed *params) 374 | GL_ENTRY(void, glTexEnvxvOES, GLenum target, GLenum pname, const GLfixed *params) 375 | GL_ENTRY(void, glTexGenfOES, GLenum coord, GLenum pname, GLfloat param) 376 | GL_ENTRY(void, glTexGenfvOES, GLenum coord, GLenum pname, const GLfloat *params) 377 | GL_ENTRY(void, glTexGeniOES, GLenum coord, GLenum pname, GLint param) 378 | GL_ENTRY(void, glTexGenivOES, GLenum coord, GLenum pname, const GLint *params) 379 | GL_ENTRY(void, glTexGenxOES, GLenum coord, GLenum pname, GLfixed param) 380 | GL_ENTRY(void, glTexGenxvOES, GLenum coord, GLenum pname, const GLfixed *params) 381 | GL_ENTRY(void, glTexImage2D, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) 382 | GL_ENTRY(void, glTexImage3DOES, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) 383 | GL_ENTRY(void, glTexParameterf, GLenum target, GLenum pname, GLfloat param) 384 | GL_ENTRY(void, glTexParameterfv, GLenum target, GLenum pname, const GLfloat *params) 385 | GL_ENTRY(void, glTexParameteri, GLenum target, GLenum pname, GLint param) 386 | GL_ENTRY(void, glTexParameteriv, GLenum target, GLenum pname, const GLint *params) 387 | GL_ENTRY(void, glTexParameterx, GLenum target, GLenum pname, GLfixed param) 388 | GL_ENTRY(void, glTexParameterxOES, GLenum target, GLenum pname, GLfixed param) 389 | GL_ENTRY(void, glTexParameterxv, GLenum target, GLenum pname, const GLfixed *params) 390 | GL_ENTRY(void, glTexParameterxvOES, GLenum target, GLenum pname, const GLfixed *params) 391 | GL_ENTRY(void, glTexStorage1DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 392 | GL_ENTRY(void, glTexStorage2DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 393 | GL_ENTRY(void, glTexStorage3DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 394 | GL_ENTRY(void, glTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) 395 | GL_ENTRY(void, glTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) 396 | GL_ENTRY(void, glTextureStorage1DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 397 | GL_ENTRY(void, glTextureStorage2DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 398 | GL_ENTRY(void, glTextureStorage3DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 399 | GL_ENTRY(void, glTranslatef, GLfloat x, GLfloat y, GLfloat z) 400 | GL_ENTRY(void, glTranslatex, GLfixed x, GLfixed y, GLfixed z) 401 | GL_ENTRY(void, glTranslatexOES, GLfixed x, GLfixed y, GLfixed z) 402 | GL_ENTRY(void, glUniform1f, GLint location, GLfloat x) 403 | GL_ENTRY(void, glUniform1fv, GLint location, GLsizei count, const GLfloat* v) 404 | GL_ENTRY(void, glUniform1i, GLint location, GLint x) 405 | GL_ENTRY(void, glUniform1iv, GLint location, GLsizei count, const GLint* v) 406 | GL_ENTRY(void, glUniform2f, GLint location, GLfloat x, GLfloat y) 407 | GL_ENTRY(void, glUniform2fv, GLint location, GLsizei count, const GLfloat* v) 408 | GL_ENTRY(void, glUniform2i, GLint location, GLint x, GLint y) 409 | GL_ENTRY(void, glUniform2iv, GLint location, GLsizei count, const GLint* v) 410 | GL_ENTRY(void, glUniform3f, GLint location, GLfloat x, GLfloat y, GLfloat z) 411 | GL_ENTRY(void, glUniform3fv, GLint location, GLsizei count, const GLfloat* v) 412 | GL_ENTRY(void, glUniform3i, GLint location, GLint x, GLint y, GLint z) 413 | GL_ENTRY(void, glUniform3iv, GLint location, GLsizei count, const GLint* v) 414 | GL_ENTRY(void, glUniform4f, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 415 | GL_ENTRY(void, glUniform4fv, GLint location, GLsizei count, const GLfloat* v) 416 | GL_ENTRY(void, glUniform4i, GLint location, GLint x, GLint y, GLint z, GLint w) 417 | GL_ENTRY(void, glUniform4iv, GLint location, GLsizei count, const GLint* v) 418 | GL_ENTRY(void, glUniformMatrix2fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 419 | GL_ENTRY(void, glUniformMatrix3fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 420 | GL_ENTRY(void, glUniformMatrix4fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 421 | GL_ENTRY(GLboolean, glUnmapBufferOES, GLenum target) 422 | GL_ENTRY(void, glUseProgram, GLuint program) 423 | GL_ENTRY(void, glUseProgramStagesEXT, GLuint pipeline, GLbitfield stages, GLuint program) 424 | GL_ENTRY(void, glValidateProgram, GLuint program) 425 | GL_ENTRY(void, glValidateProgramPipelineEXT, GLuint pipeline) 426 | GL_ENTRY(void, glVertexAttrib1f, GLuint indx, GLfloat x) 427 | GL_ENTRY(void, glVertexAttrib1fv, GLuint indx, const GLfloat* values) 428 | GL_ENTRY(void, glVertexAttrib2f, GLuint indx, GLfloat x, GLfloat y) 429 | GL_ENTRY(void, glVertexAttrib2fv, GLuint indx, const GLfloat* values) 430 | GL_ENTRY(void, glVertexAttrib3f, GLuint indx, GLfloat x, GLfloat y, GLfloat z) 431 | GL_ENTRY(void, glVertexAttrib3fv, GLuint indx, const GLfloat* values) 432 | GL_ENTRY(void, glVertexAttrib4f, GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 433 | GL_ENTRY(void, glVertexAttrib4fv, GLuint indx, const GLfloat* values) 434 | GL_ENTRY(void, glVertexAttribPointer, GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) 435 | GL_ENTRY(void, glVertexPointer, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 436 | GL_ENTRY(void, glViewport, GLint x, GLint y, GLsizei width, GLsizei height) 437 | GL_ENTRY(void, glWeightPointerOES, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) -------------------------------------------------------------------------------- /tlshook/entry/entries.18.in: -------------------------------------------------------------------------------- 1 | GL_ENTRY(void, glActiveShaderProgramEXT, GLuint pipeline, GLuint program) 2 | GL_ENTRY(void, glActiveTexture, GLenum texture) 3 | GL_ENTRY(void, glAlphaFunc, GLenum func, GLclampf ref) 4 | GL_ENTRY(void, glAlphaFuncQCOM, GLenum func, GLclampf ref) 5 | GL_ENTRY(void, glAlphaFuncx, GLenum func, GLclampx ref) 6 | GL_ENTRY(void, glAlphaFuncxOES, GLenum func, GLclampx ref) 7 | GL_ENTRY(void, glAttachShader, GLuint program, GLuint shader) 8 | GL_ENTRY(void, glBeginPerfMonitorAMD, GLuint monitor) 9 | GL_ENTRY(void, glBeginQuery, GLenum target, GLuint id) 10 | GL_ENTRY(void, glBeginQueryEXT, GLenum target, GLuint id) 11 | GL_ENTRY(void, glBeginTransformFeedback, GLenum primitiveMode) 12 | GL_ENTRY(void, glBindAttribLocation, GLuint program, GLuint index, const GLchar* name) 13 | GL_ENTRY(void, glBindBuffer, GLenum target, GLuint buffer) 14 | GL_ENTRY(void, glBindBufferBase, GLenum target, GLuint index, GLuint buffer) 15 | GL_ENTRY(void, glBindBufferRange, GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) 16 | GL_ENTRY(void, glBindFramebuffer, GLenum target, GLuint framebuffer) 17 | GL_ENTRY(void, glBindFramebufferOES, GLenum target, GLuint framebuffer) 18 | GL_ENTRY(void, glBindProgramPipelineEXT, GLuint pipeline) 19 | GL_ENTRY(void, glBindRenderbuffer, GLenum target, GLuint renderbuffer) 20 | GL_ENTRY(void, glBindRenderbufferOES, GLenum target, GLuint renderbuffer) 21 | GL_ENTRY(void, glBindSampler, GLuint unit, GLuint sampler) 22 | GL_ENTRY(void, glBindTexture, GLenum target, GLuint texture) 23 | GL_ENTRY(void, glBindTransformFeedback, GLenum target, GLuint id) 24 | GL_ENTRY(void, glBindVertexArray, GLuint array) 25 | GL_ENTRY(void, glBindVertexArrayOES, GLuint array) 26 | GL_ENTRY(void, glBlendColor, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 27 | GL_ENTRY(void, glBlendEquation, GLenum mode ) 28 | GL_ENTRY(void, glBlendEquationOES, GLenum mode) 29 | GL_ENTRY(void, glBlendEquationSeparate, GLenum modeRGB, GLenum modeAlpha) 30 | GL_ENTRY(void, glBlendEquationSeparateOES, GLenum modeRGB, GLenum modeAlpha) 31 | GL_ENTRY(void, glBlendFunc, GLenum sfactor, GLenum dfactor) 32 | GL_ENTRY(void, glBlendFuncSeparate, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 33 | GL_ENTRY(void, glBlendFuncSeparateOES, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 34 | GL_ENTRY(void, glBlitFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 35 | GL_ENTRY(void, glBlitFramebufferANGLE, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 36 | GL_ENTRY(void, glBufferData, GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) 37 | GL_ENTRY(void, glBufferSubData, GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) 38 | GL_ENTRY(GLenum, glCheckFramebufferStatus, GLenum target) 39 | GL_ENTRY(GLenum, glCheckFramebufferStatusOES, GLenum target) 40 | GL_ENTRY(void, glClear, GLbitfield mask) 41 | GL_ENTRY(void, glClearBufferfi, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) 42 | GL_ENTRY(void, glClearBufferfv, GLenum buffer, GLint drawbuffer, const GLfloat* value) 43 | GL_ENTRY(void, glClearBufferiv, GLenum buffer, GLint drawbuffer, const GLint* value) 44 | GL_ENTRY(void, glClearBufferuiv, GLenum buffer, GLint drawbuffer, const GLuint* value) 45 | GL_ENTRY(void, glClearColor, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) 46 | GL_ENTRY(void, glClearColorx, GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) 47 | GL_ENTRY(void, glClearColorxOES, GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) 48 | GL_ENTRY(void, glClearDepthf, GLclampf depth) 49 | GL_ENTRY(void, glClearDepthfOES, GLclampf depth) 50 | GL_ENTRY(void, glClearDepthx, GLclampx depth) 51 | GL_ENTRY(void, glClearDepthxOES, GLclampx depth) 52 | GL_ENTRY(void, glClearStencil, GLint s) 53 | GL_ENTRY(void, glClientActiveTexture, GLenum texture) 54 | GL_ENTRY(GLenum, glClientWaitSync, GLsync sync, GLbitfield flags, GLuint64 timeout) 55 | GL_ENTRY(void, glClipPlanef, GLenum plane, const GLfloat *equation) 56 | GL_ENTRY(void, glClipPlanefIMG, GLenum p, const GLfloat *eqn) 57 | GL_ENTRY(void, glClipPlanefOES, GLenum plane, const GLfloat *equation) 58 | GL_ENTRY(void, glClipPlanex, GLenum plane, const GLfixed *equation) 59 | GL_ENTRY(void, glClipPlanexIMG, GLenum p, const GLfixed *eqn) 60 | GL_ENTRY(void, glClipPlanexOES, GLenum plane, const GLfixed *equation) 61 | GL_ENTRY(void, glColor4f, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 62 | GL_ENTRY(void, glColor4ub, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) 63 | GL_ENTRY(void, glColor4x, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 64 | GL_ENTRY(void, glColor4xOES, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 65 | GL_ENTRY(void, glColorMask, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) 66 | GL_ENTRY(void, glColorPointer, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 67 | GL_ENTRY(void, glCompileShader, GLuint shader) 68 | GL_ENTRY(void, glCompressedTexImage2D, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) 69 | GL_ENTRY(void, glCompressedTexImage3D, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) 70 | GL_ENTRY(void, glCompressedTexImage3DOES, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) 71 | GL_ENTRY(void, glCompressedTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) 72 | GL_ENTRY(void, glCompressedTexSubImage3D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) 73 | GL_ENTRY(void, glCompressedTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) 74 | GL_ENTRY(void, glCopyBufferSubData, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) 75 | GL_ENTRY(void, glCopyTexImage2D, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 76 | GL_ENTRY(void, glCopyTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 77 | GL_ENTRY(void, glCopyTexSubImage3D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 78 | GL_ENTRY(void, glCopyTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 79 | GL_ENTRY(void, glCoverageMaskNV, GLboolean mask) 80 | GL_ENTRY(void, glCoverageOperationNV, GLenum operation) 81 | GL_ENTRY(GLuint, glCreateProgram, void) 82 | GL_ENTRY(GLuint, glCreateShader, GLenum type) 83 | GL_ENTRY(GLuint, glCreateShaderProgramvEXT, GLenum type, GLsizei count, const GLchar **strings) 84 | GL_ENTRY(void, glCullFace, GLenum mode) 85 | GL_ENTRY(void, glCurrentPaletteMatrixOES, GLuint matrixpaletteindex) 86 | GL_ENTRY(void, glDeleteBuffers, GLsizei n, const GLuint *buffers) 87 | GL_ENTRY(void, glDeleteFencesNV, GLsizei n, const GLuint *fences) 88 | GL_ENTRY(void, glDeleteFramebuffers, GLsizei n, const GLuint* framebuffers) 89 | GL_ENTRY(void, glDeleteFramebuffersOES, GLsizei n, const GLuint* framebuffers) 90 | GL_ENTRY(void, glDeletePerfMonitorsAMD, GLsizei n, GLuint *monitors) 91 | GL_ENTRY(void, glDeleteProgram, GLuint program) 92 | GL_ENTRY(void, glDeleteProgramPipelinesEXT, GLsizei n, const GLuint *pipelines) 93 | GL_ENTRY(void, glDeleteQueries, GLsizei n, const GLuint* ids) 94 | GL_ENTRY(void, glDeleteQueriesEXT, GLsizei n, const GLuint *ids) 95 | GL_ENTRY(void, glDeleteRenderbuffers, GLsizei n, const GLuint* renderbuffers) 96 | GL_ENTRY(void, glDeleteRenderbuffersOES, GLsizei n, const GLuint* renderbuffers) 97 | GL_ENTRY(void, glDeleteSamplers, GLsizei count, const GLuint* samplers) 98 | GL_ENTRY(void, glDeleteShader, GLuint shader) 99 | GL_ENTRY(void, glDeleteSync, GLsync sync) 100 | GL_ENTRY(void, glDeleteTextures, GLsizei n, const GLuint *textures) 101 | GL_ENTRY(void, glDeleteTransformFeedbacks, GLsizei n, const GLuint* ids) 102 | GL_ENTRY(void, glDeleteVertexArrays, GLsizei n, const GLuint* arrays) 103 | GL_ENTRY(void, glDeleteVertexArraysOES, GLsizei n, const GLuint *arrays) 104 | GL_ENTRY(void, glDepthFunc, GLenum func) 105 | GL_ENTRY(void, glDepthMask, GLboolean flag) 106 | GL_ENTRY(void, glDepthRangef, GLclampf zNear, GLclampf zFar) 107 | GL_ENTRY(void, glDepthRangefOES, GLclampf zNear, GLclampf zFar) 108 | GL_ENTRY(void, glDepthRangex, GLclampx zNear, GLclampx zFar) 109 | GL_ENTRY(void, glDepthRangexOES, GLclampx zNear, GLclampx zFar) 110 | GL_ENTRY(void, glDetachShader, GLuint program, GLuint shader) 111 | GL_ENTRY(void, glDisable, GLenum cap) 112 | GL_ENTRY(void, glDisableClientState, GLenum array) 113 | GL_ENTRY(void, glDisableDriverControlQCOM, GLuint driverControl) 114 | GL_ENTRY(void, glDisableVertexAttribArray, GLuint index) 115 | GL_ENTRY(void, glDiscardFramebufferEXT, GLenum target, GLsizei numAttachments, const GLenum *attachments) 116 | GL_ENTRY(void, glDrawArrays, GLenum mode, GLint first, GLsizei count) 117 | GL_ENTRY(void, glDrawArraysInstanced, GLenum mode, GLint first, GLsizei count, GLsizei instanceCount) 118 | GL_ENTRY(void, glDrawBuffers, GLsizei n, const GLenum* bufs) 119 | GL_ENTRY(void, glDrawBuffersNV, GLsizei n, const GLenum *bufs) 120 | GL_ENTRY(void, glDrawElements, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) 121 | GL_ENTRY(void, glDrawElementsInstanced, GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount) 122 | GL_ENTRY(void, glDrawRangeElements, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices) 123 | GL_ENTRY(void, glDrawTexfOES, GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) 124 | GL_ENTRY(void, glDrawTexfvOES, const GLfloat *coords) 125 | GL_ENTRY(void, glDrawTexiOES, GLint x, GLint y, GLint z, GLint width, GLint height) 126 | GL_ENTRY(void, glDrawTexivOES, const GLint *coords) 127 | GL_ENTRY(void, glDrawTexsOES, GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) 128 | GL_ENTRY(void, glDrawTexsvOES, const GLshort *coords) 129 | GL_ENTRY(void, glDrawTexxOES, GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) 130 | GL_ENTRY(void, glDrawTexxvOES, const GLfixed *coords) 131 | GL_ENTRY(void, glEGLImageTargetRenderbufferStorageOES, GLenum target, GLeglImageOES image) 132 | GL_ENTRY(void, glEGLImageTargetTexture2DOES, GLenum target, GLeglImageOES image) 133 | GL_ENTRY(void, glEnable, GLenum cap) 134 | GL_ENTRY(void, glEnableClientState, GLenum array) 135 | GL_ENTRY(void, glEnableDriverControlQCOM, GLuint driverControl) 136 | GL_ENTRY(void, glEnableVertexAttribArray, GLuint index) 137 | GL_ENTRY(void, glEndPerfMonitorAMD, GLuint monitor) 138 | GL_ENTRY(void, glEndQuery, GLenum target) 139 | GL_ENTRY(void, glEndQueryEXT, GLenum target) 140 | GL_ENTRY(void, glEndTilingQCOM, GLbitfield preserveMask) 141 | GL_ENTRY(void, glEndTransformFeedback, void) 142 | GL_ENTRY(void, glExtGetBufferPointervQCOM, GLenum target, GLvoid **params) 143 | GL_ENTRY(void, glExtGetBuffersQCOM, GLuint *buffers, GLint maxBuffers, GLint *numBuffers) 144 | GL_ENTRY(void, glExtGetFramebuffersQCOM, GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers) 145 | GL_ENTRY(void, glExtGetProgramBinarySourceQCOM, GLuint program, GLenum shadertype, GLchar *source, GLint *length) 146 | GL_ENTRY(void, glExtGetProgramsQCOM, GLuint *programs, GLint maxPrograms, GLint *numPrograms) 147 | GL_ENTRY(void, glExtGetRenderbuffersQCOM, GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers) 148 | GL_ENTRY(void, glExtGetShadersQCOM, GLuint *shaders, GLint maxShaders, GLint *numShaders) 149 | GL_ENTRY(void, glExtGetTexLevelParameterivQCOM, GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params) 150 | GL_ENTRY(void, glExtGetTexSubImageQCOM, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels) 151 | GL_ENTRY(void, glExtGetTexturesQCOM, GLuint *textures, GLint maxTextures, GLint *numTextures) 152 | GL_ENTRY(GLboolean, glExtIsProgramBinaryQCOM, GLuint program) 153 | GL_ENTRY(void, glExtTexObjectStateOverrideiQCOM, GLenum target, GLenum pname, GLint param) 154 | GL_ENTRY(GLsync, glFenceSync, GLenum condition, GLbitfield flags) 155 | GL_ENTRY(void, glFinish, void) 156 | GL_ENTRY(void, glFinishFenceNV, GLuint fence) 157 | GL_ENTRY(void, glFlush, void) 158 | GL_ENTRY(void, glFlushMappedBufferRange, GLenum target, GLintptr offset, GLsizeiptr length) 159 | GL_ENTRY(void, glFogf, GLenum pname, GLfloat param) 160 | GL_ENTRY(void, glFogfv, GLenum pname, const GLfloat *params) 161 | GL_ENTRY(void, glFogx, GLenum pname, GLfixed param) 162 | GL_ENTRY(void, glFogxOES, GLenum pname, GLfixed param) 163 | GL_ENTRY(void, glFogxv, GLenum pname, const GLfixed *params) 164 | GL_ENTRY(void, glFogxvOES, GLenum pname, const GLfixed *params) 165 | GL_ENTRY(void, glFramebufferRenderbuffer, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 166 | GL_ENTRY(void, glFramebufferRenderbufferOES, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 167 | GL_ENTRY(void, glFramebufferTexture2D, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 168 | GL_ENTRY(void, glFramebufferTexture2DMultisampleEXT, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) 169 | GL_ENTRY(void, glFramebufferTexture2DMultisampleIMG, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) 170 | GL_ENTRY(void, glFramebufferTexture2DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 171 | GL_ENTRY(void, glFramebufferTexture3DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 172 | GL_ENTRY(void, glFramebufferTextureLayer, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) 173 | GL_ENTRY(void, glFrontFace, GLenum mode) 174 | GL_ENTRY(void, glFrustumf, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 175 | GL_ENTRY(void, glFrustumfOES, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 176 | GL_ENTRY(void, glFrustumx, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 177 | GL_ENTRY(void, glFrustumxOES, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 178 | GL_ENTRY(void, glGenBuffers, GLsizei n, GLuint *buffers) 179 | GL_ENTRY(void, glGenFencesNV, GLsizei n, GLuint *fences) 180 | GL_ENTRY(void, glGenFramebuffers, GLsizei n, GLuint* framebuffers) 181 | GL_ENTRY(void, glGenFramebuffersOES, GLsizei n, GLuint* framebuffers) 182 | GL_ENTRY(void, glGenPerfMonitorsAMD, GLsizei n, GLuint *monitors) 183 | GL_ENTRY(void, glGenProgramPipelinesEXT, GLsizei n, GLuint *pipelines) 184 | GL_ENTRY(void, glGenQueries, GLsizei n, GLuint* ids) 185 | GL_ENTRY(void, glGenQueriesEXT, GLsizei n, GLuint *ids) 186 | GL_ENTRY(void, glGenRenderbuffers, GLsizei n, GLuint* renderbuffers) 187 | GL_ENTRY(void, glGenRenderbuffersOES, GLsizei n, GLuint* renderbuffers) 188 | GL_ENTRY(void, glGenSamplers, GLsizei count, GLuint* samplers) 189 | GL_ENTRY(void, glGenTextures, GLsizei n, GLuint *textures) 190 | GL_ENTRY(void, glGenTransformFeedbacks, GLsizei n, GLuint* ids) 191 | GL_ENTRY(void, glGenVertexArrays, GLsizei n, GLuint* arrays) 192 | GL_ENTRY(void, glGenVertexArraysOES, GLsizei n, GLuint *arrays) 193 | GL_ENTRY(void, glGenerateMipmap, GLenum target) 194 | GL_ENTRY(void, glGenerateMipmapOES, GLenum target) 195 | GL_ENTRY(void, glGetActiveAttrib, GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) 196 | GL_ENTRY(void, glGetActiveUniform, GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) 197 | GL_ENTRY(void, glGetActiveUniformBlockName, GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) 198 | GL_ENTRY(void, glGetActiveUniformBlockiv, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) 199 | GL_ENTRY(void, glGetActiveUniformsiv, GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params) 200 | GL_ENTRY(void, glGetAttachedShaders, GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) 201 | GL_ENTRY(GLint, glGetAttribLocation, GLuint program, const GLchar* name) 202 | GL_ENTRY(void, glGetBooleanv, GLenum pname, GLboolean *params) 203 | GL_ENTRY(void, glGetBufferParameteri64v, GLenum target, GLenum pname, GLint64* params) 204 | GL_ENTRY(void, glGetBufferParameteriv, GLenum target, GLenum pname, GLint *params) 205 | GL_ENTRY(void, glGetBufferPointerv, GLenum target, GLenum pname, GLvoid** params) 206 | GL_ENTRY(void, glGetBufferPointervOES, GLenum target, GLenum pname, GLvoid ** params) 207 | GL_ENTRY(void, glGetClipPlanef, GLenum pname, GLfloat eqn[4]) 208 | GL_ENTRY(void, glGetClipPlanefOES, GLenum pname, GLfloat eqn[4]) 209 | GL_ENTRY(void, glGetClipPlanex, GLenum pname, GLfixed eqn[4]) 210 | GL_ENTRY(void, glGetClipPlanexOES, GLenum pname, GLfixed eqn[4]) 211 | GL_ENTRY(void, glGetDriverControlStringQCOM, GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString) 212 | GL_ENTRY(void, glGetDriverControlsQCOM, GLint *num, GLsizei size, GLuint *driverControls) 213 | GL_ENTRY(GLenum, glGetError, void) 214 | GL_ENTRY(void, glGetFenceivNV, GLuint fence, GLenum pname, GLint *params) 215 | GL_ENTRY(void, glGetFixedv, GLenum pname, GLfixed *params) 216 | GL_ENTRY(void, glGetFixedvOES, GLenum pname, GLfixed *params) 217 | GL_ENTRY(void, glGetFloatv, GLenum pname, GLfloat *params) 218 | GL_ENTRY(GLint, glGetFragDataLocation, GLuint program, const GLchar *name) 219 | GL_ENTRY(void, glGetFramebufferAttachmentParameteriv, GLenum target, GLenum attachment, GLenum pname, GLint* params) 220 | GL_ENTRY(void, glGetFramebufferAttachmentParameterivOES, GLenum target, GLenum attachment, GLenum pname, GLint* params) 221 | GL_ENTRY(GLenum, glGetGraphicsResetStatusEXT, void) 222 | GL_ENTRY(void, glGetInteger64i_v, GLenum target, GLuint index, GLint64* data) 223 | GL_ENTRY(void, glGetInteger64v, GLenum pname, GLint64* params) 224 | GL_ENTRY(void, glGetIntegeri_v, GLenum target, GLuint index, GLint* data) 225 | GL_ENTRY(void, glGetIntegerv, GLenum pname, GLint *params) 226 | GL_ENTRY(void, glGetInternalformativ, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) 227 | GL_ENTRY(void, glGetLightfv, GLenum light, GLenum pname, GLfloat *params) 228 | GL_ENTRY(void, glGetLightxv, GLenum light, GLenum pname, GLfixed *params) 229 | GL_ENTRY(void, glGetLightxvOES, GLenum light, GLenum pname, GLfixed *params) 230 | GL_ENTRY(void, glGetMaterialfv, GLenum face, GLenum pname, GLfloat *params) 231 | GL_ENTRY(void, glGetMaterialxv, GLenum face, GLenum pname, GLfixed *params) 232 | GL_ENTRY(void, glGetMaterialxvOES, GLenum face, GLenum pname, GLfixed *params) 233 | GL_ENTRY(void, glGetObjectLabelEXT, GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label) 234 | GL_ENTRY(void, glGetPerfMonitorCounterDataAMD, GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten) 235 | GL_ENTRY(void, glGetPerfMonitorCounterInfoAMD, GLuint group, GLuint counter, GLenum pname, GLvoid *data) 236 | GL_ENTRY(void, glGetPerfMonitorCounterStringAMD, GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString) 237 | GL_ENTRY(void, glGetPerfMonitorCountersAMD, GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters) 238 | GL_ENTRY(void, glGetPerfMonitorGroupStringAMD, GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString) 239 | GL_ENTRY(void, glGetPerfMonitorGroupsAMD, GLint *numGroups, GLsizei groupsSize, GLuint *groups) 240 | GL_ENTRY(void, glGetPointerv, GLenum pname, GLvoid **params) 241 | GL_ENTRY(void, glGetProgramBinary, GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary) 242 | GL_ENTRY(void, glGetProgramBinaryOES, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) 243 | GL_ENTRY(void, glGetProgramInfoLog, GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) 244 | GL_ENTRY(void, glGetProgramPipelineInfoLogEXT, GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) 245 | GL_ENTRY(void, glGetProgramPipelineivEXT, GLuint pipeline, GLenum pname, GLint *params) 246 | GL_ENTRY(void, glGetProgramiv, GLuint program, GLenum pname, GLint* params) 247 | GL_ENTRY(void, glGetQueryObjectuiv, GLuint id, GLenum pname, GLuint* params) 248 | GL_ENTRY(void, glGetQueryObjectuivEXT, GLuint id, GLenum pname, GLuint *params) 249 | GL_ENTRY(void, glGetQueryiv, GLenum target, GLenum pname, GLint* params) 250 | GL_ENTRY(void, glGetQueryivEXT, GLenum target, GLenum pname, GLint *params) 251 | GL_ENTRY(void, glGetRenderbufferParameteriv, GLenum target, GLenum pname, GLint* params) 252 | GL_ENTRY(void, glGetRenderbufferParameterivOES, GLenum target, GLenum pname, GLint* params) 253 | GL_ENTRY(void, glGetSamplerParameterfv, GLuint sampler, GLenum pname, GLfloat* params) 254 | GL_ENTRY(void, glGetSamplerParameteriv, GLuint sampler, GLenum pname, GLint* params) 255 | GL_ENTRY(void, glGetShaderInfoLog, GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) 256 | GL_ENTRY(void, glGetShaderPrecisionFormat, GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) 257 | GL_ENTRY(void, glGetShaderSource, GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) 258 | GL_ENTRY(void, glGetShaderiv, GLuint shader, GLenum pname, GLint* params) 259 | GL_ENTRY(const GLubyte *, glGetString, GLenum name) 260 | GL_ENTRY(const GLubyte*, glGetStringi, GLenum name, GLuint index) 261 | GL_ENTRY(void, glGetSynciv, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) 262 | GL_ENTRY(void, glGetTexEnvfv, GLenum env, GLenum pname, GLfloat *params) 263 | GL_ENTRY(void, glGetTexEnviv, GLenum env, GLenum pname, GLint *params) 264 | GL_ENTRY(void, glGetTexEnvxv, GLenum env, GLenum pname, GLfixed *params) 265 | GL_ENTRY(void, glGetTexEnvxvOES, GLenum env, GLenum pname, GLfixed *params) 266 | GL_ENTRY(void, glGetTexGenfvOES, GLenum coord, GLenum pname, GLfloat *params) 267 | GL_ENTRY(void, glGetTexGenivOES, GLenum coord, GLenum pname, GLint *params) 268 | GL_ENTRY(void, glGetTexGenxvOES, GLenum coord, GLenum pname, GLfixed *params) 269 | GL_ENTRY(void, glGetTexParameterfv, GLenum target, GLenum pname, GLfloat *params) 270 | GL_ENTRY(void, glGetTexParameteriv, GLenum target, GLenum pname, GLint *params) 271 | GL_ENTRY(void, glGetTexParameterxv, GLenum target, GLenum pname, GLfixed *params) 272 | GL_ENTRY(void, glGetTexParameterxvOES, GLenum target, GLenum pname, GLfixed *params) 273 | GL_ENTRY(void, glGetTransformFeedbackVarying, GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) 274 | GL_ENTRY(GLuint, glGetUniformBlockIndex, GLuint program, const GLchar* uniformBlockName) 275 | GL_ENTRY(void, glGetUniformIndices, GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices) 276 | GL_ENTRY(GLint, glGetUniformLocation, GLuint program, const GLchar* name) 277 | GL_ENTRY(void, glGetUniformfv, GLuint program, GLint location, GLfloat* params) 278 | GL_ENTRY(void, glGetUniformiv, GLuint program, GLint location, GLint* params) 279 | GL_ENTRY(void, glGetUniformuiv, GLuint program, GLint location, GLuint* params) 280 | GL_ENTRY(void, glGetVertexAttribIiv, GLuint index, GLenum pname, GLint* params) 281 | GL_ENTRY(void, glGetVertexAttribIuiv, GLuint index, GLenum pname, GLuint* params) 282 | GL_ENTRY(void, glGetVertexAttribPointerv, GLuint index, GLenum pname, GLvoid** pointer) 283 | GL_ENTRY(void, glGetVertexAttribfv, GLuint index, GLenum pname, GLfloat* params) 284 | GL_ENTRY(void, glGetVertexAttribiv, GLuint index, GLenum pname, GLint* params) 285 | GL_ENTRY(void, glGetnUniformfvEXT, GLuint program, GLint location, GLsizei bufSize, float *params) 286 | GL_ENTRY(void, glGetnUniformivEXT, GLuint program, GLint location, GLsizei bufSize, GLint *params) 287 | GL_ENTRY(void, glHint, GLenum target, GLenum mode) 288 | GL_ENTRY(void, glInsertEventMarkerEXT, GLsizei length, const GLchar *marker) 289 | GL_ENTRY(void, glInvalidateFramebuffer, GLenum target, GLsizei numAttachments, const GLenum* attachments) 290 | GL_ENTRY(void, glInvalidateSubFramebuffer, GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height) 291 | GL_ENTRY(GLboolean, glIsBuffer, GLuint buffer) 292 | GL_ENTRY(GLboolean, glIsEnabled, GLenum cap) 293 | GL_ENTRY(GLboolean, glIsFenceNV, GLuint fence) 294 | GL_ENTRY(GLboolean, glIsFramebuffer, GLuint framebuffer) 295 | GL_ENTRY(GLboolean, glIsFramebufferOES, GLuint framebuffer) 296 | GL_ENTRY(GLboolean, glIsProgram, GLuint program) 297 | GL_ENTRY(GLboolean, glIsProgramPipelineEXT, GLuint pipeline) 298 | GL_ENTRY(GLboolean, glIsQuery, GLuint id) 299 | GL_ENTRY(GLboolean, glIsQueryEXT, GLuint id) 300 | GL_ENTRY(GLboolean, glIsRenderbuffer, GLuint renderbuffer) 301 | GL_ENTRY(GLboolean, glIsRenderbufferOES, GLuint renderbuffer) 302 | GL_ENTRY(GLboolean, glIsSampler, GLuint sampler) 303 | GL_ENTRY(GLboolean, glIsShader, GLuint shader) 304 | GL_ENTRY(GLboolean, glIsSync, GLsync sync) 305 | GL_ENTRY(GLboolean, glIsTexture, GLuint texture) 306 | GL_ENTRY(GLboolean, glIsTransformFeedback, GLuint id) 307 | GL_ENTRY(GLboolean, glIsVertexArray, GLuint array) 308 | GL_ENTRY(GLboolean, glIsVertexArrayOES, GLuint array) 309 | GL_ENTRY(void, glLabelObjectEXT, GLenum type, GLuint object, GLsizei length, const GLchar *label) 310 | GL_ENTRY(void, glLightModelf, GLenum pname, GLfloat param) 311 | GL_ENTRY(void, glLightModelfv, GLenum pname, const GLfloat *params) 312 | GL_ENTRY(void, glLightModelx, GLenum pname, GLfixed param) 313 | GL_ENTRY(void, glLightModelxOES, GLenum pname, GLfixed param) 314 | GL_ENTRY(void, glLightModelxv, GLenum pname, const GLfixed *params) 315 | GL_ENTRY(void, glLightModelxvOES, GLenum pname, const GLfixed *params) 316 | GL_ENTRY(void, glLightf, GLenum light, GLenum pname, GLfloat param) 317 | GL_ENTRY(void, glLightfv, GLenum light, GLenum pname, const GLfloat *params) 318 | GL_ENTRY(void, glLightx, GLenum light, GLenum pname, GLfixed param) 319 | GL_ENTRY(void, glLightxOES, GLenum light, GLenum pname, GLfixed param) 320 | GL_ENTRY(void, glLightxv, GLenum light, GLenum pname, const GLfixed *params) 321 | GL_ENTRY(void, glLightxvOES, GLenum light, GLenum pname, const GLfixed *params) 322 | GL_ENTRY(void, glLineWidth, GLfloat width) 323 | GL_ENTRY(void, glLineWidthx, GLfixed width) 324 | GL_ENTRY(void, glLineWidthxOES, GLfixed width) 325 | GL_ENTRY(void, glLinkProgram, GLuint program) 326 | GL_ENTRY(void, glLoadIdentity, void) 327 | GL_ENTRY(void, glLoadMatrixf, const GLfloat *m) 328 | GL_ENTRY(void, glLoadMatrixx, const GLfixed *m) 329 | GL_ENTRY(void, glLoadMatrixxOES, const GLfixed *m) 330 | GL_ENTRY(void, glLoadPaletteFromModelViewMatrixOES, void) 331 | GL_ENTRY(void, glLogicOp, GLenum opcode) 332 | GL_ENTRY(void*, glMapBufferOES, GLenum target, GLenum access) 333 | GL_ENTRY(GLvoid*, glMapBufferRange, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) 334 | GL_ENTRY(void, glMaterialf, GLenum face, GLenum pname, GLfloat param) 335 | GL_ENTRY(void, glMaterialfv, GLenum face, GLenum pname, const GLfloat *params) 336 | GL_ENTRY(void, glMaterialx, GLenum face, GLenum pname, GLfixed param) 337 | GL_ENTRY(void, glMaterialxOES, GLenum face, GLenum pname, GLfixed param) 338 | GL_ENTRY(void, glMaterialxv, GLenum face, GLenum pname, const GLfixed *params) 339 | GL_ENTRY(void, glMaterialxvOES, GLenum face, GLenum pname, const GLfixed *params) 340 | GL_ENTRY(void, glMatrixIndexPointerOES, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 341 | GL_ENTRY(void, glMatrixMode, GLenum mode) 342 | GL_ENTRY(void, glMultMatrixf, const GLfloat *m) 343 | GL_ENTRY(void, glMultMatrixx, const GLfixed *m) 344 | GL_ENTRY(void, glMultMatrixxOES, const GLfixed *m) 345 | GL_ENTRY(void, glMultiDrawArraysEXT, GLenum mode, GLint *first, GLsizei *count, GLsizei primcount) 346 | GL_ENTRY(void, glMultiDrawElementsEXT, GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount) 347 | GL_ENTRY(void, glMultiTexCoord4f, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) 348 | GL_ENTRY(void, glMultiTexCoord4x, GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 349 | GL_ENTRY(void, glMultiTexCoord4xOES, GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 350 | GL_ENTRY(void, glNormal3f, GLfloat nx, GLfloat ny, GLfloat nz) 351 | GL_ENTRY(void, glNormal3x, GLfixed nx, GLfixed ny, GLfixed nz) 352 | GL_ENTRY(void, glNormal3xOES, GLfixed nx, GLfixed ny, GLfixed nz) 353 | GL_ENTRY(void, glNormalPointer, GLenum type, GLsizei stride, const GLvoid *pointer) 354 | GL_ENTRY(void, glOrthof, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 355 | GL_ENTRY(void, glOrthofOES, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) 356 | GL_ENTRY(void, glOrthox, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 357 | GL_ENTRY(void, glOrthoxOES, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) 358 | GL_ENTRY(void, glPauseTransformFeedback, void) 359 | GL_ENTRY(void, glPixelStorei, GLenum pname, GLint param) 360 | GL_ENTRY(void, glPointParameterf, GLenum pname, GLfloat param) 361 | GL_ENTRY(void, glPointParameterfv, GLenum pname, const GLfloat *params) 362 | GL_ENTRY(void, glPointParameterx, GLenum pname, GLfixed param) 363 | GL_ENTRY(void, glPointParameterxOES, GLenum pname, GLfixed param) 364 | GL_ENTRY(void, glPointParameterxv, GLenum pname, const GLfixed *params) 365 | GL_ENTRY(void, glPointParameterxvOES, GLenum pname, const GLfixed *params) 366 | GL_ENTRY(void, glPointSize, GLfloat size) 367 | GL_ENTRY(void, glPointSizePointerOES, GLenum type, GLsizei stride, const GLvoid *pointer) 368 | GL_ENTRY(void, glPointSizex, GLfixed size) 369 | GL_ENTRY(void, glPointSizexOES, GLfixed size) 370 | GL_ENTRY(void, glPolygonOffset, GLfloat factor, GLfloat units) 371 | GL_ENTRY(void, glPolygonOffsetx, GLfixed factor, GLfixed units) 372 | GL_ENTRY(void, glPolygonOffsetxOES, GLfixed factor, GLfixed units) 373 | GL_ENTRY(void, glPopGroupMarkerEXT, void) 374 | GL_ENTRY(void, glPopMatrix, void) 375 | GL_ENTRY(void, glProgramBinary, GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length) 376 | GL_ENTRY(void, glProgramBinaryOES, GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length) 377 | GL_ENTRY(void, glProgramParameteri, GLuint program, GLenum pname, GLint value) 378 | GL_ENTRY(void, glProgramParameteriEXT, GLuint program, GLenum pname, GLint value) 379 | GL_ENTRY(void, glProgramUniform1fEXT, GLuint program, GLint location, GLfloat x) 380 | GL_ENTRY(void, glProgramUniform1fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 381 | GL_ENTRY(void, glProgramUniform1iEXT, GLuint program, GLint location, GLint x) 382 | GL_ENTRY(void, glProgramUniform1ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 383 | GL_ENTRY(void, glProgramUniform2fEXT, GLuint program, GLint location, GLfloat x, GLfloat y) 384 | GL_ENTRY(void, glProgramUniform2fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 385 | GL_ENTRY(void, glProgramUniform2iEXT, GLuint program, GLint location, GLint x, GLint y) 386 | GL_ENTRY(void, glProgramUniform2ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 387 | GL_ENTRY(void, glProgramUniform3fEXT, GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z) 388 | GL_ENTRY(void, glProgramUniform3fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 389 | GL_ENTRY(void, glProgramUniform3iEXT, GLuint program, GLint location, GLint x, GLint y, GLint z) 390 | GL_ENTRY(void, glProgramUniform3ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 391 | GL_ENTRY(void, glProgramUniform4fEXT, GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 392 | GL_ENTRY(void, glProgramUniform4fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat *value) 393 | GL_ENTRY(void, glProgramUniform4iEXT, GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w) 394 | GL_ENTRY(void, glProgramUniform4ivEXT, GLuint program, GLint location, GLsizei count, const GLint *value) 395 | GL_ENTRY(void, glProgramUniformMatrix2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 396 | GL_ENTRY(void, glProgramUniformMatrix3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 397 | GL_ENTRY(void, glProgramUniformMatrix4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 398 | GL_ENTRY(void, glPushGroupMarkerEXT, GLsizei length, const GLchar *marker) 399 | GL_ENTRY(void, glPushMatrix, void) 400 | GL_ENTRY(GLbitfield, glQueryMatrixxOES, GLfixed mantissa[16], GLint exponent[16]) 401 | GL_ENTRY(void, glReadBuffer, GLenum mode) 402 | GL_ENTRY(void, glReadBufferNV, GLenum mode) 403 | GL_ENTRY(void, glReadPixels, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) 404 | GL_ENTRY(void, glReadnPixelsEXT, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data) 405 | GL_ENTRY(void, glReleaseShaderCompiler, void) 406 | GL_ENTRY(void, glRenderbufferStorage, GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 407 | GL_ENTRY(void, glRenderbufferStorageMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 408 | GL_ENTRY(void, glRenderbufferStorageMultisampleANGLE, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 409 | GL_ENTRY(void, glRenderbufferStorageMultisampleAPPLE, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 410 | GL_ENTRY(void, glRenderbufferStorageMultisampleEXT, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 411 | GL_ENTRY(void, glRenderbufferStorageMultisampleIMG, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 412 | GL_ENTRY(void, glRenderbufferStorageOES, GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 413 | GL_ENTRY(void, glResolveMultisampleFramebufferAPPLE, void) 414 | GL_ENTRY(void, glResumeTransformFeedback, void) 415 | GL_ENTRY(void, glRotatef, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) 416 | GL_ENTRY(void, glRotatex, GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 417 | GL_ENTRY(void, glRotatexOES, GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 418 | GL_ENTRY(void, glSampleCoverage, GLclampf value, GLboolean invert) 419 | GL_ENTRY(void, glSampleCoveragex, GLclampx value, GLboolean invert) 420 | GL_ENTRY(void, glSampleCoveragexOES, GLclampx value, GLboolean invert) 421 | GL_ENTRY(void, glSamplerParameterf, GLuint sampler, GLenum pname, GLfloat param) 422 | GL_ENTRY(void, glSamplerParameterfv, GLuint sampler, GLenum pname, const GLfloat* param) 423 | GL_ENTRY(void, glSamplerParameteri, GLuint sampler, GLenum pname, GLint param) 424 | GL_ENTRY(void, glSamplerParameteriv, GLuint sampler, GLenum pname, const GLint* param) 425 | GL_ENTRY(void, glScalef, GLfloat x, GLfloat y, GLfloat z) 426 | GL_ENTRY(void, glScalex, GLfixed x, GLfixed y, GLfixed z) 427 | GL_ENTRY(void, glScalexOES, GLfixed x, GLfixed y, GLfixed z) 428 | GL_ENTRY(void, glScissor, GLint x, GLint y, GLsizei width, GLsizei height) 429 | GL_ENTRY(void, glSelectPerfMonitorCountersAMD, GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList) 430 | GL_ENTRY(void, glSetFenceNV, GLuint fence, GLenum condition) 431 | GL_ENTRY(void, glShadeModel, GLenum mode) 432 | GL_ENTRY(void, glShaderBinary, GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) 433 | GL_ENTRY(void, glShaderSource, GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length) 434 | GL_ENTRY(void, glStartTilingQCOM, GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) 435 | GL_ENTRY(void, glStencilFunc, GLenum func, GLint ref, GLuint mask) 436 | GL_ENTRY(void, glStencilFuncSeparate, GLenum face, GLenum func, GLint ref, GLuint mask) 437 | GL_ENTRY(void, glStencilMask, GLuint mask) 438 | GL_ENTRY(void, glStencilMaskSeparate, GLenum face, GLuint mask) 439 | GL_ENTRY(void, glStencilOp, GLenum fail, GLenum zfail, GLenum zpass) 440 | GL_ENTRY(void, glStencilOpSeparate, GLenum face, GLenum fail, GLenum zfail, GLenum zpass) 441 | GL_ENTRY(GLboolean, glTestFenceNV, GLuint fence) 442 | GL_ENTRY(void, glTexCoordPointer, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 443 | GL_ENTRY(void, glTexEnvf, GLenum target, GLenum pname, GLfloat param) 444 | GL_ENTRY(void, glTexEnvfv, GLenum target, GLenum pname, const GLfloat *params) 445 | GL_ENTRY(void, glTexEnvi, GLenum target, GLenum pname, GLint param) 446 | GL_ENTRY(void, glTexEnviv, GLenum target, GLenum pname, const GLint *params) 447 | GL_ENTRY(void, glTexEnvx, GLenum target, GLenum pname, GLfixed param) 448 | GL_ENTRY(void, glTexEnvxOES, GLenum target, GLenum pname, GLfixed param) 449 | GL_ENTRY(void, glTexEnvxv, GLenum target, GLenum pname, const GLfixed *params) 450 | GL_ENTRY(void, glTexEnvxvOES, GLenum target, GLenum pname, const GLfixed *params) 451 | GL_ENTRY(void, glTexGenfOES, GLenum coord, GLenum pname, GLfloat param) 452 | GL_ENTRY(void, glTexGenfvOES, GLenum coord, GLenum pname, const GLfloat *params) 453 | GL_ENTRY(void, glTexGeniOES, GLenum coord, GLenum pname, GLint param) 454 | GL_ENTRY(void, glTexGenivOES, GLenum coord, GLenum pname, const GLint *params) 455 | GL_ENTRY(void, glTexGenxOES, GLenum coord, GLenum pname, GLfixed param) 456 | GL_ENTRY(void, glTexGenxvOES, GLenum coord, GLenum pname, const GLfixed *params) 457 | GL_ENTRY(void, glTexImage2D, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) 458 | GL_ENTRY(void, glTexImage3D, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) 459 | GL_ENTRY(void, glTexImage3DOES, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) 460 | GL_ENTRY(void, glTexParameterf, GLenum target, GLenum pname, GLfloat param) 461 | GL_ENTRY(void, glTexParameterfv, GLenum target, GLenum pname, const GLfloat *params) 462 | GL_ENTRY(void, glTexParameteri, GLenum target, GLenum pname, GLint param) 463 | GL_ENTRY(void, glTexParameteriv, GLenum target, GLenum pname, const GLint *params) 464 | GL_ENTRY(void, glTexParameterx, GLenum target, GLenum pname, GLfixed param) 465 | GL_ENTRY(void, glTexParameterxOES, GLenum target, GLenum pname, GLfixed param) 466 | GL_ENTRY(void, glTexParameterxv, GLenum target, GLenum pname, const GLfixed *params) 467 | GL_ENTRY(void, glTexParameterxvOES, GLenum target, GLenum pname, const GLfixed *params) 468 | GL_ENTRY(void, glTexStorage1DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 469 | GL_ENTRY(void, glTexStorage2D, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 470 | GL_ENTRY(void, glTexStorage2DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 471 | GL_ENTRY(void, glTexStorage3D, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 472 | GL_ENTRY(void, glTexStorage3DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 473 | GL_ENTRY(void, glTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) 474 | GL_ENTRY(void, glTexSubImage3D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) 475 | GL_ENTRY(void, glTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) 476 | GL_ENTRY(void, glTextureStorage1DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 477 | GL_ENTRY(void, glTextureStorage2DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 478 | GL_ENTRY(void, glTextureStorage3DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 479 | GL_ENTRY(void, glTransformFeedbackVaryings, GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode) 480 | GL_ENTRY(void, glTranslatef, GLfloat x, GLfloat y, GLfloat z) 481 | GL_ENTRY(void, glTranslatex, GLfixed x, GLfixed y, GLfixed z) 482 | GL_ENTRY(void, glTranslatexOES, GLfixed x, GLfixed y, GLfixed z) 483 | GL_ENTRY(void, glUniform1f, GLint location, GLfloat x) 484 | GL_ENTRY(void, glUniform1fv, GLint location, GLsizei count, const GLfloat* v) 485 | GL_ENTRY(void, glUniform1i, GLint location, GLint x) 486 | GL_ENTRY(void, glUniform1iv, GLint location, GLsizei count, const GLint* v) 487 | GL_ENTRY(void, glUniform1ui, GLint location, GLuint v0) 488 | GL_ENTRY(void, glUniform1uiv, GLint location, GLsizei count, const GLuint* value) 489 | GL_ENTRY(void, glUniform2f, GLint location, GLfloat x, GLfloat y) 490 | GL_ENTRY(void, glUniform2fv, GLint location, GLsizei count, const GLfloat* v) 491 | GL_ENTRY(void, glUniform2i, GLint location, GLint x, GLint y) 492 | GL_ENTRY(void, glUniform2iv, GLint location, GLsizei count, const GLint* v) 493 | GL_ENTRY(void, glUniform2ui, GLint location, GLuint v0, GLuint v1) 494 | GL_ENTRY(void, glUniform2uiv, GLint location, GLsizei count, const GLuint* value) 495 | GL_ENTRY(void, glUniform3f, GLint location, GLfloat x, GLfloat y, GLfloat z) 496 | GL_ENTRY(void, glUniform3fv, GLint location, GLsizei count, const GLfloat* v) 497 | GL_ENTRY(void, glUniform3i, GLint location, GLint x, GLint y, GLint z) 498 | GL_ENTRY(void, glUniform3iv, GLint location, GLsizei count, const GLint* v) 499 | GL_ENTRY(void, glUniform3ui, GLint location, GLuint v0, GLuint v1, GLuint v2) 500 | GL_ENTRY(void, glUniform3uiv, GLint location, GLsizei count, const GLuint* value) 501 | GL_ENTRY(void, glUniform4f, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 502 | GL_ENTRY(void, glUniform4fv, GLint location, GLsizei count, const GLfloat* v) 503 | GL_ENTRY(void, glUniform4i, GLint location, GLint x, GLint y, GLint z, GLint w) 504 | GL_ENTRY(void, glUniform4iv, GLint location, GLsizei count, const GLint* v) 505 | GL_ENTRY(void, glUniform4ui, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) 506 | GL_ENTRY(void, glUniform4uiv, GLint location, GLsizei count, const GLuint* value) 507 | GL_ENTRY(void, glUniformBlockBinding, GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) 508 | GL_ENTRY(void, glUniformMatrix2fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 509 | GL_ENTRY(void, glUniformMatrix2x3fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 510 | GL_ENTRY(void, glUniformMatrix2x4fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 511 | GL_ENTRY(void, glUniformMatrix3fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 512 | GL_ENTRY(void, glUniformMatrix3x2fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 513 | GL_ENTRY(void, glUniformMatrix3x4fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 514 | GL_ENTRY(void, glUniformMatrix4fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 515 | GL_ENTRY(void, glUniformMatrix4x2fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 516 | GL_ENTRY(void, glUniformMatrix4x3fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) 517 | GL_ENTRY(GLboolean, glUnmapBuffer, GLenum target) 518 | GL_ENTRY(GLboolean, glUnmapBufferOES, GLenum target) 519 | GL_ENTRY(void, glUseProgram, GLuint program) 520 | GL_ENTRY(void, glUseProgramStagesEXT, GLuint pipeline, GLbitfield stages, GLuint program) 521 | GL_ENTRY(void, glValidateProgram, GLuint program) 522 | GL_ENTRY(void, glValidateProgramPipelineEXT, GLuint pipeline) 523 | GL_ENTRY(void, glVertexAttrib1f, GLuint indx, GLfloat x) 524 | GL_ENTRY(void, glVertexAttrib1fv, GLuint indx, const GLfloat* values) 525 | GL_ENTRY(void, glVertexAttrib2f, GLuint indx, GLfloat x, GLfloat y) 526 | GL_ENTRY(void, glVertexAttrib2fv, GLuint indx, const GLfloat* values) 527 | GL_ENTRY(void, glVertexAttrib3f, GLuint indx, GLfloat x, GLfloat y, GLfloat z) 528 | GL_ENTRY(void, glVertexAttrib3fv, GLuint indx, const GLfloat* values) 529 | GL_ENTRY(void, glVertexAttrib4f, GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 530 | GL_ENTRY(void, glVertexAttrib4fv, GLuint indx, const GLfloat* values) 531 | GL_ENTRY(void, glVertexAttribDivisor, GLuint index, GLuint divisor) 532 | GL_ENTRY(void, glVertexAttribI4i, GLuint index, GLint x, GLint y, GLint z, GLint w) 533 | GL_ENTRY(void, glVertexAttribI4iv, GLuint index, const GLint* v) 534 | GL_ENTRY(void, glVertexAttribI4ui, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) 535 | GL_ENTRY(void, glVertexAttribI4uiv, GLuint index, const GLuint* v) 536 | GL_ENTRY(void, glVertexAttribIPointer, GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) 537 | GL_ENTRY(void, glVertexAttribPointer, GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) 538 | GL_ENTRY(void, glVertexPointer, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) 539 | GL_ENTRY(void, glViewport, GLint x, GLint y, GLsizei width, GLsizei height) 540 | GL_ENTRY(void, glWaitSync, GLsync sync, GLbitfield flags, GLuint64 timeout) 541 | GL_ENTRY(void, glWeightPointerOES, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) -------------------------------------------------------------------------------- /tlshook/entry/entries.21.in: -------------------------------------------------------------------------------- 1 | GL_ENTRY(void, glActiveShaderProgram, GLuint pipeline, GLuint program) 2 | GL_ENTRY(void, glActiveShaderProgramEXT, GLuint pipeline, GLuint program) 3 | GL_ENTRY(void, glActiveTexture, GLenum texture) 4 | GL_ENTRY(void, glAlphaFunc, GLenum func, GLfloat ref) 5 | GL_ENTRY(void, glAlphaFuncQCOM, GLenum func, GLclampf ref) 6 | GL_ENTRY(void, glAlphaFuncx, GLenum func, GLfixed ref) 7 | GL_ENTRY(void, glAlphaFuncxOES, GLenum func, GLfixed ref) 8 | GL_ENTRY(void, glAttachShader, GLuint program, GLuint shader) 9 | GL_ENTRY(void, glBeginPerfMonitorAMD, GLuint monitor) 10 | GL_ENTRY(void, glBeginPerfQueryINTEL, GLuint queryHandle) 11 | GL_ENTRY(void, glBeginQuery, GLenum target, GLuint id) 12 | GL_ENTRY(void, glBeginQueryEXT, GLenum target, GLuint id) 13 | GL_ENTRY(void, glBeginTransformFeedback, GLenum primitiveMode) 14 | GL_ENTRY(void, glBindAttribLocation, GLuint program, GLuint index, const GLchar * name) 15 | GL_ENTRY(void, glBindBuffer, GLenum target, GLuint buffer) 16 | GL_ENTRY(void, glBindBufferBase, GLenum target, GLuint index, GLuint buffer) 17 | GL_ENTRY(void, glBindBufferRange, GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) 18 | GL_ENTRY(void, glBindFramebuffer, GLenum target, GLuint framebuffer) 19 | GL_ENTRY(void, glBindFramebufferOES, GLenum target, GLuint framebuffer) 20 | GL_ENTRY(void, glBindImageTexture, GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) 21 | GL_ENTRY(void, glBindProgramPipeline, GLuint pipeline) 22 | GL_ENTRY(void, glBindProgramPipelineEXT, GLuint pipeline) 23 | GL_ENTRY(void, glBindRenderbuffer, GLenum target, GLuint renderbuffer) 24 | GL_ENTRY(void, glBindRenderbufferOES, GLenum target, GLuint renderbuffer) 25 | GL_ENTRY(void, glBindSampler, GLuint unit, GLuint sampler) 26 | GL_ENTRY(void, glBindTexture, GLenum target, GLuint texture) 27 | GL_ENTRY(void, glBindTransformFeedback, GLenum target, GLuint id) 28 | GL_ENTRY(void, glBindVertexArray, GLuint array) 29 | GL_ENTRY(void, glBindVertexArrayOES, GLuint array) 30 | GL_ENTRY(void, glBindVertexBuffer, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) 31 | GL_ENTRY(void, glBlendBarrierKHR, void) 32 | GL_ENTRY(void, glBlendBarrierNV, void) 33 | GL_ENTRY(void, glBlendColor, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 34 | GL_ENTRY(void, glBlendEquation, GLenum mode) 35 | GL_ENTRY(void, glBlendEquationOES, GLenum mode) 36 | GL_ENTRY(void, glBlendEquationSeparate, GLenum modeRGB, GLenum modeAlpha) 37 | GL_ENTRY(void, glBlendEquationSeparateOES, GLenum modeRGB, GLenum modeAlpha) 38 | GL_ENTRY(void, glBlendEquationSeparateiEXT, GLuint buf, GLenum modeRGB, GLenum modeAlpha) 39 | GL_ENTRY(void, glBlendEquationiEXT, GLuint buf, GLenum mode) 40 | GL_ENTRY(void, glBlendFunc, GLenum sfactor, GLenum dfactor) 41 | GL_ENTRY(void, glBlendFuncSeparate, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) 42 | GL_ENTRY(void, glBlendFuncSeparateOES, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 43 | GL_ENTRY(void, glBlendFuncSeparateiEXT, GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 44 | GL_ENTRY(void, glBlendFunciEXT, GLuint buf, GLenum src, GLenum dst) 45 | GL_ENTRY(void, glBlendParameteriNV, GLenum pname, GLint value) 46 | GL_ENTRY(void, glBlitFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 47 | GL_ENTRY(void, glBlitFramebufferANGLE, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 48 | GL_ENTRY(void, glBlitFramebufferNV, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 49 | GL_ENTRY(void, glBufferData, GLenum target, GLsizeiptr size, const void * data, GLenum usage) 50 | GL_ENTRY(void, glBufferSubData, GLenum target, GLintptr offset, GLsizeiptr size, const void * data) 51 | GL_ENTRY(GLenum, glCheckFramebufferStatus, GLenum target) 52 | GL_ENTRY(GLenum, glCheckFramebufferStatusOES, GLenum target) 53 | GL_ENTRY(void, glClear, GLbitfield mask) 54 | GL_ENTRY(void, glClearBufferfi, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) 55 | GL_ENTRY(void, glClearBufferfv, GLenum buffer, GLint drawbuffer, const GLfloat * value) 56 | GL_ENTRY(void, glClearBufferiv, GLenum buffer, GLint drawbuffer, const GLint * value) 57 | GL_ENTRY(void, glClearBufferuiv, GLenum buffer, GLint drawbuffer, const GLuint * value) 58 | GL_ENTRY(void, glClearColor, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 59 | GL_ENTRY(void, glClearColorx, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 60 | GL_ENTRY(void, glClearColorxOES, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 61 | GL_ENTRY(void, glClearDepthf, GLfloat d) 62 | GL_ENTRY(void, glClearDepthfOES, GLclampf depth) 63 | GL_ENTRY(void, glClearDepthx, GLfixed depth) 64 | GL_ENTRY(void, glClearDepthxOES, GLfixed depth) 65 | GL_ENTRY(void, glClearStencil, GLint s) 66 | GL_ENTRY(void, glClientActiveTexture, GLenum texture) 67 | GL_ENTRY(GLenum, glClientWaitSync, GLsync sync, GLbitfield flags, GLuint64 timeout) 68 | GL_ENTRY(GLenum, glClientWaitSyncAPPLE, GLsync sync, GLbitfield flags, GLuint64 timeout) 69 | GL_ENTRY(void, glClipPlanef, GLenum p, const GLfloat * eqn) 70 | GL_ENTRY(void, glClipPlanefIMG, GLenum p, const GLfloat * eqn) 71 | GL_ENTRY(void, glClipPlanefOES, GLenum plane, const GLfloat * equation) 72 | GL_ENTRY(void, glClipPlanex, GLenum plane, const GLfixed * equation) 73 | GL_ENTRY(void, glClipPlanexIMG, GLenum p, const GLfixed * eqn) 74 | GL_ENTRY(void, glClipPlanexOES, GLenum plane, const GLfixed * equation) 75 | GL_ENTRY(void, glColor4f, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 76 | GL_ENTRY(void, glColor4ub, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) 77 | GL_ENTRY(void, glColor4x, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 78 | GL_ENTRY(void, glColor4xOES, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 79 | GL_ENTRY(void, glColorMask, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) 80 | GL_ENTRY(void, glColorMaskiEXT, GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) 81 | GL_ENTRY(void, glColorPointer, GLint size, GLenum type, GLsizei stride, const void * pointer) 82 | GL_ENTRY(void, glCompileShader, GLuint shader) 83 | GL_ENTRY(void, glCompressedTexImage2D, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data) 84 | GL_ENTRY(void, glCompressedTexImage3D, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data) 85 | GL_ENTRY(void, glCompressedTexImage3DOES, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data) 86 | GL_ENTRY(void, glCompressedTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data) 87 | GL_ENTRY(void, glCompressedTexSubImage3D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) 88 | GL_ENTRY(void, glCompressedTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) 89 | GL_ENTRY(void, glCopyBufferSubData, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) 90 | GL_ENTRY(void, glCopyBufferSubDataNV, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) 91 | GL_ENTRY(void, glCopyImageSubDataEXT, 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) 92 | GL_ENTRY(void, glCopyTexImage2D, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 93 | GL_ENTRY(void, glCopyTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 94 | GL_ENTRY(void, glCopyTexSubImage3D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 95 | GL_ENTRY(void, glCopyTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 96 | GL_ENTRY(void, glCopyTextureLevelsAPPLE, GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount) 97 | GL_ENTRY(void, glCoverageMaskNV, GLboolean mask) 98 | GL_ENTRY(void, glCoverageOperationNV, GLenum operation) 99 | GL_ENTRY(void, glCreatePerfQueryINTEL, GLuint queryId, GLuint * queryHandle) 100 | GL_ENTRY(GLuint, glCreateProgram, void) 101 | GL_ENTRY(GLuint, glCreateShader, GLenum type) 102 | GL_ENTRY(GLuint, glCreateShaderProgramv, GLenum type, GLsizei count, const GLchar *const* strings) 103 | GL_ENTRY(GLuint, glCreateShaderProgramvEXT, GLenum type, GLsizei count, const GLchar ** strings) 104 | GL_ENTRY(void, glCullFace, GLenum mode) 105 | GL_ENTRY(void, glCurrentPaletteMatrixOES, GLuint matrixpaletteindex) 106 | GL_ENTRY(void, glDebugMessageCallbackKHR, GLDEBUGPROCKHR callback, const void * userParam) 107 | GL_ENTRY(void, glDebugMessageControlKHR, GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) 108 | GL_ENTRY(void, glDebugMessageInsertKHR, GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf) 109 | GL_ENTRY(void, glDeleteBuffers, GLsizei n, const GLuint * buffers) 110 | GL_ENTRY(void, glDeleteFencesNV, GLsizei n, const GLuint * fences) 111 | GL_ENTRY(void, glDeleteFramebuffers, GLsizei n, const GLuint * framebuffers) 112 | GL_ENTRY(void, glDeleteFramebuffersOES, GLsizei n, const GLuint * framebuffers) 113 | GL_ENTRY(void, glDeletePerfMonitorsAMD, GLsizei n, GLuint * monitors) 114 | GL_ENTRY(void, glDeletePerfQueryINTEL, GLuint queryHandle) 115 | GL_ENTRY(void, glDeleteProgram, GLuint program) 116 | GL_ENTRY(void, glDeleteProgramPipelines, GLsizei n, const GLuint * pipelines) 117 | GL_ENTRY(void, glDeleteProgramPipelinesEXT, GLsizei n, const GLuint * pipelines) 118 | GL_ENTRY(void, glDeleteQueries, GLsizei n, const GLuint * ids) 119 | GL_ENTRY(void, glDeleteQueriesEXT, GLsizei n, const GLuint * ids) 120 | GL_ENTRY(void, glDeleteRenderbuffers, GLsizei n, const GLuint * renderbuffers) 121 | GL_ENTRY(void, glDeleteRenderbuffersOES, GLsizei n, const GLuint * renderbuffers) 122 | GL_ENTRY(void, glDeleteSamplers, GLsizei count, const GLuint * samplers) 123 | GL_ENTRY(void, glDeleteShader, GLuint shader) 124 | GL_ENTRY(void, glDeleteSync, GLsync sync) 125 | GL_ENTRY(void, glDeleteSyncAPPLE, GLsync sync) 126 | GL_ENTRY(void, glDeleteTextures, GLsizei n, const GLuint * textures) 127 | GL_ENTRY(void, glDeleteTransformFeedbacks, GLsizei n, const GLuint * ids) 128 | GL_ENTRY(void, glDeleteVertexArrays, GLsizei n, const GLuint * arrays) 129 | GL_ENTRY(void, glDeleteVertexArraysOES, GLsizei n, const GLuint * arrays) 130 | GL_ENTRY(void, glDepthFunc, GLenum func) 131 | GL_ENTRY(void, glDepthMask, GLboolean flag) 132 | GL_ENTRY(void, glDepthRangef, GLfloat n, GLfloat f) 133 | GL_ENTRY(void, glDepthRangefOES, GLclampf n, GLclampf f) 134 | GL_ENTRY(void, glDepthRangex, GLfixed n, GLfixed f) 135 | GL_ENTRY(void, glDepthRangexOES, GLfixed n, GLfixed f) 136 | GL_ENTRY(void, glDetachShader, GLuint program, GLuint shader) 137 | GL_ENTRY(void, glDisable, GLenum cap) 138 | GL_ENTRY(void, glDisableClientState, GLenum array) 139 | GL_ENTRY(void, glDisableDriverControlQCOM, GLuint driverControl) 140 | GL_ENTRY(void, glDisableVertexAttribArray, GLuint index) 141 | GL_ENTRY(void, glDisableiEXT, GLenum target, GLuint index) 142 | GL_ENTRY(void, glDiscardFramebufferEXT, GLenum target, GLsizei numAttachments, const GLenum * attachments) 143 | GL_ENTRY(void, glDispatchCompute, GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) 144 | GL_ENTRY(void, glDispatchComputeIndirect, GLintptr indirect) 145 | GL_ENTRY(void, glDrawArrays, GLenum mode, GLint first, GLsizei count) 146 | GL_ENTRY(void, glDrawArraysIndirect, GLenum mode, const void * indirect) 147 | GL_ENTRY(void, glDrawArraysInstanced, GLenum mode, GLint first, GLsizei count, GLsizei instancecount) 148 | GL_ENTRY(void, glDrawArraysInstancedANGLE, GLenum mode, GLint first, GLsizei count, GLsizei primcount) 149 | GL_ENTRY(void, glDrawArraysInstancedEXT, GLenum mode, GLint start, GLsizei count, GLsizei primcount) 150 | GL_ENTRY(void, glDrawArraysInstancedNV, GLenum mode, GLint first, GLsizei count, GLsizei primcount) 151 | GL_ENTRY(void, glDrawBuffers, GLsizei n, const GLenum * bufs) 152 | GL_ENTRY(void, glDrawBuffersEXT, GLsizei n, const GLenum * bufs) 153 | GL_ENTRY(void, glDrawBuffersIndexedEXT, GLint n, const GLenum * location, const GLint * indices) 154 | GL_ENTRY(void, glDrawBuffersNV, GLsizei n, const GLenum * bufs) 155 | GL_ENTRY(void, glDrawElements, GLenum mode, GLsizei count, GLenum type, const void * indices) 156 | GL_ENTRY(void, glDrawElementsIndirect, GLenum mode, GLenum type, const void * indirect) 157 | GL_ENTRY(void, glDrawElementsInstanced, GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount) 158 | GL_ENTRY(void, glDrawElementsInstancedANGLE, GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) 159 | GL_ENTRY(void, glDrawElementsInstancedEXT, GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) 160 | GL_ENTRY(void, glDrawElementsInstancedNV, GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount) 161 | GL_ENTRY(void, glDrawRangeElements, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices) 162 | GL_ENTRY(void, glDrawTexfOES, GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) 163 | GL_ENTRY(void, glDrawTexfvOES, const GLfloat * coords) 164 | GL_ENTRY(void, glDrawTexiOES, GLint x, GLint y, GLint z, GLint width, GLint height) 165 | GL_ENTRY(void, glDrawTexivOES, const GLint * coords) 166 | GL_ENTRY(void, glDrawTexsOES, GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) 167 | GL_ENTRY(void, glDrawTexsvOES, const GLshort * coords) 168 | GL_ENTRY(void, glDrawTexxOES, GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) 169 | GL_ENTRY(void, glDrawTexxvOES, const GLfixed * coords) 170 | GL_ENTRY(void, glEGLImageTargetRenderbufferStorageOES, GLenum target, GLeglImageOES image) 171 | GL_ENTRY(void, glEGLImageTargetTexture2DOES, GLenum target, GLeglImageOES image) 172 | GL_ENTRY(void, glEnable, GLenum cap) 173 | GL_ENTRY(void, glEnableClientState, GLenum array) 174 | GL_ENTRY(void, glEnableDriverControlQCOM, GLuint driverControl) 175 | GL_ENTRY(void, glEnableVertexAttribArray, GLuint index) 176 | GL_ENTRY(void, glEnableiEXT, GLenum target, GLuint index) 177 | GL_ENTRY(void, glEndPerfMonitorAMD, GLuint monitor) 178 | GL_ENTRY(void, glEndPerfQueryINTEL, GLuint queryHandle) 179 | GL_ENTRY(void, glEndQuery, GLenum target) 180 | GL_ENTRY(void, glEndQueryEXT, GLenum target) 181 | GL_ENTRY(void, glEndTilingQCOM, GLbitfield preserveMask) 182 | GL_ENTRY(void, glEndTransformFeedback, void) 183 | GL_ENTRY(void, glExtGetBufferPointervQCOM, GLenum target, void ** params) 184 | GL_ENTRY(void, glExtGetBuffersQCOM, GLuint * buffers, GLint maxBuffers, GLint * numBuffers) 185 | GL_ENTRY(void, glExtGetFramebuffersQCOM, GLuint * framebuffers, GLint maxFramebuffers, GLint * numFramebuffers) 186 | GL_ENTRY(void, glExtGetProgramBinarySourceQCOM, GLuint program, GLenum shadertype, GLchar * source, GLint * length) 187 | GL_ENTRY(void, glExtGetProgramsQCOM, GLuint * programs, GLint maxPrograms, GLint * numPrograms) 188 | GL_ENTRY(void, glExtGetRenderbuffersQCOM, GLuint * renderbuffers, GLint maxRenderbuffers, GLint * numRenderbuffers) 189 | GL_ENTRY(void, glExtGetShadersQCOM, GLuint * shaders, GLint maxShaders, GLint * numShaders) 190 | GL_ENTRY(void, glExtGetTexLevelParameterivQCOM, GLuint texture, GLenum face, GLint level, GLenum pname, GLint * params) 191 | GL_ENTRY(void, glExtGetTexSubImageQCOM, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void * texels) 192 | GL_ENTRY(void, glExtGetTexturesQCOM, GLuint * textures, GLint maxTextures, GLint * numTextures) 193 | GL_ENTRY(GLboolean, glExtIsProgramBinaryQCOM, GLuint program) 194 | GL_ENTRY(void, glExtTexObjectStateOverrideiQCOM, GLenum target, GLenum pname, GLint param) 195 | GL_ENTRY(GLsync, glFenceSync, GLenum condition, GLbitfield flags) 196 | GL_ENTRY(GLsync, glFenceSyncAPPLE, GLenum condition, GLbitfield flags) 197 | GL_ENTRY(void, glFinish, void) 198 | GL_ENTRY(void, glFinishFenceNV, GLuint fence) 199 | GL_ENTRY(void, glFlush, void) 200 | GL_ENTRY(void, glFlushMappedBufferRange, GLenum target, GLintptr offset, GLsizeiptr length) 201 | GL_ENTRY(void, glFlushMappedBufferRangeEXT, GLenum target, GLintptr offset, GLsizeiptr length) 202 | GL_ENTRY(void, glFogf, GLenum pname, GLfloat param) 203 | GL_ENTRY(void, glFogfv, GLenum pname, const GLfloat * params) 204 | GL_ENTRY(void, glFogx, GLenum pname, GLfixed param) 205 | GL_ENTRY(void, glFogxOES, GLenum pname, GLfixed param) 206 | GL_ENTRY(void, glFogxv, GLenum pname, const GLfixed * param) 207 | GL_ENTRY(void, glFogxvOES, GLenum pname, const GLfixed * param) 208 | GL_ENTRY(void, glFramebufferParameteri, GLenum target, GLenum pname, GLint param) 209 | GL_ENTRY(void, glFramebufferRenderbuffer, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 210 | GL_ENTRY(void, glFramebufferRenderbufferOES, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 211 | GL_ENTRY(void, glFramebufferTexture2D, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 212 | GL_ENTRY(void, glFramebufferTexture2DMultisampleEXT, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) 213 | GL_ENTRY(void, glFramebufferTexture2DMultisampleIMG, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) 214 | GL_ENTRY(void, glFramebufferTexture2DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 215 | GL_ENTRY(void, glFramebufferTexture3DOES, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 216 | GL_ENTRY(void, glFramebufferTextureEXT, GLenum target, GLenum attachment, GLuint texture, GLint level) 217 | GL_ENTRY(void, glFramebufferTextureLayer, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) 218 | GL_ENTRY(void, glFrontFace, GLenum mode) 219 | GL_ENTRY(void, glFrustumf, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) 220 | GL_ENTRY(void, glFrustumfOES, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) 221 | GL_ENTRY(void, glFrustumx, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) 222 | GL_ENTRY(void, glFrustumxOES, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) 223 | GL_ENTRY(void, glGenBuffers, GLsizei n, GLuint * buffers) 224 | GL_ENTRY(void, glGenFencesNV, GLsizei n, GLuint * fences) 225 | GL_ENTRY(void, glGenFramebuffers, GLsizei n, GLuint * framebuffers) 226 | GL_ENTRY(void, glGenFramebuffersOES, GLsizei n, GLuint * framebuffers) 227 | GL_ENTRY(void, glGenPerfMonitorsAMD, GLsizei n, GLuint * monitors) 228 | GL_ENTRY(void, glGenProgramPipelines, GLsizei n, GLuint * pipelines) 229 | GL_ENTRY(void, glGenProgramPipelinesEXT, GLsizei n, GLuint * pipelines) 230 | GL_ENTRY(void, glGenQueries, GLsizei n, GLuint * ids) 231 | GL_ENTRY(void, glGenQueriesEXT, GLsizei n, GLuint * ids) 232 | GL_ENTRY(void, glGenRenderbuffers, GLsizei n, GLuint * renderbuffers) 233 | GL_ENTRY(void, glGenRenderbuffersOES, GLsizei n, GLuint * renderbuffers) 234 | GL_ENTRY(void, glGenSamplers, GLsizei count, GLuint * samplers) 235 | GL_ENTRY(void, glGenTextures, GLsizei n, GLuint * textures) 236 | GL_ENTRY(void, glGenTransformFeedbacks, GLsizei n, GLuint * ids) 237 | GL_ENTRY(void, glGenVertexArrays, GLsizei n, GLuint * arrays) 238 | GL_ENTRY(void, glGenVertexArraysOES, GLsizei n, GLuint * arrays) 239 | GL_ENTRY(void, glGenerateMipmap, GLenum target) 240 | GL_ENTRY(void, glGenerateMipmapOES, GLenum target) 241 | GL_ENTRY(void, glGetActiveAttrib, GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) 242 | GL_ENTRY(void, glGetActiveUniform, GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) 243 | GL_ENTRY(void, glGetActiveUniformBlockName, GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName) 244 | GL_ENTRY(void, glGetActiveUniformBlockiv, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params) 245 | GL_ENTRY(void, glGetActiveUniformsiv, GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params) 246 | GL_ENTRY(void, glGetAttachedShaders, GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders) 247 | GL_ENTRY(GLint, glGetAttribLocation, GLuint program, const GLchar * name) 248 | GL_ENTRY(void, glGetBooleani_v, GLenum target, GLuint index, GLboolean * data) 249 | GL_ENTRY(void, glGetBooleanv, GLenum pname, GLboolean * data) 250 | GL_ENTRY(void, glGetBufferParameteri64v, GLenum target, GLenum pname, GLint64 * params) 251 | GL_ENTRY(void, glGetBufferParameteriv, GLenum target, GLenum pname, GLint * params) 252 | GL_ENTRY(void, glGetBufferPointerv, GLenum target, GLenum pname, void ** params) 253 | GL_ENTRY(void, glGetBufferPointervOES, GLenum target, GLenum pname, void ** params) 254 | GL_ENTRY(void, glGetClipPlanef, GLenum plane, GLfloat * equation) 255 | GL_ENTRY(void, glGetClipPlanefOES, GLenum plane, GLfloat * equation) 256 | GL_ENTRY(void, glGetClipPlanex, GLenum plane, GLfixed * equation) 257 | GL_ENTRY(void, glGetClipPlanexOES, GLenum plane, GLfixed * equation) 258 | GL_ENTRY(GLuint, glGetDebugMessageLogKHR, GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog) 259 | GL_ENTRY(void, glGetDriverControlStringQCOM, GLuint driverControl, GLsizei bufSize, GLsizei * length, GLchar * driverControlString) 260 | GL_ENTRY(void, glGetDriverControlsQCOM, GLint * num, GLsizei size, GLuint * driverControls) 261 | GL_ENTRY(GLenum, glGetError, void) 262 | GL_ENTRY(void, glGetFenceivNV, GLuint fence, GLenum pname, GLint * params) 263 | GL_ENTRY(void, glGetFirstPerfQueryIdINTEL, GLuint * queryId) 264 | GL_ENTRY(void, glGetFixedv, GLenum pname, GLfixed * params) 265 | GL_ENTRY(void, glGetFixedvOES, GLenum pname, GLfixed * params) 266 | GL_ENTRY(void, glGetFloatv, GLenum pname, GLfloat * data) 267 | GL_ENTRY(GLint, glGetFragDataLocation, GLuint program, const GLchar * name) 268 | GL_ENTRY(void, glGetFramebufferAttachmentParameteriv, GLenum target, GLenum attachment, GLenum pname, GLint * params) 269 | GL_ENTRY(void, glGetFramebufferAttachmentParameterivOES, GLenum target, GLenum attachment, GLenum pname, GLint * params) 270 | GL_ENTRY(void, glGetFramebufferParameteriv, GLenum target, GLenum pname, GLint * params) 271 | GL_ENTRY(GLenum, glGetGraphicsResetStatusEXT, void) 272 | GL_ENTRY(void, glGetInteger64i_v, GLenum target, GLuint index, GLint64 * data) 273 | GL_ENTRY(void, glGetInteger64v, GLenum pname, GLint64 * data) 274 | GL_ENTRY(void, glGetInteger64vAPPLE, GLenum pname, GLint64 * params) 275 | GL_ENTRY(void, glGetIntegeri_v, GLenum target, GLuint index, GLint * data) 276 | GL_ENTRY(void, glGetIntegeri_vEXT, GLenum target, GLuint index, GLint * data) 277 | GL_ENTRY(void, glGetIntegerv, GLenum pname, GLint * data) 278 | GL_ENTRY(void, glGetInternalformativ, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params) 279 | GL_ENTRY(void, glGetLightfv, GLenum light, GLenum pname, GLfloat * params) 280 | GL_ENTRY(void, glGetLightxv, GLenum light, GLenum pname, GLfixed * params) 281 | GL_ENTRY(void, glGetLightxvOES, GLenum light, GLenum pname, GLfixed * params) 282 | GL_ENTRY(void, glGetMaterialfv, GLenum face, GLenum pname, GLfloat * params) 283 | GL_ENTRY(void, glGetMaterialxv, GLenum face, GLenum pname, GLfixed * params) 284 | GL_ENTRY(void, glGetMaterialxvOES, GLenum face, GLenum pname, GLfixed * params) 285 | GL_ENTRY(void, glGetMultisamplefv, GLenum pname, GLuint index, GLfloat * val) 286 | GL_ENTRY(void, glGetNextPerfQueryIdINTEL, GLuint queryId, GLuint * nextQueryId) 287 | GL_ENTRY(void, glGetObjectLabelEXT, GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label) 288 | GL_ENTRY(void, glGetObjectLabelKHR, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label) 289 | GL_ENTRY(void, glGetObjectPtrLabelKHR, const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label) 290 | GL_ENTRY(void, glGetPerfCounterInfoINTEL, GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar * counterName, GLuint counterDescLength, GLchar * counterDesc, GLuint * counterOffset, GLuint * counterDataSize, GLuint * counterTypeEnum, GLuint * counterDataTypeEnum, GLuint64 * rawCounterMaxValue) 291 | GL_ENTRY(void, glGetPerfMonitorCounterDataAMD, GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten) 292 | GL_ENTRY(void, glGetPerfMonitorCounterInfoAMD, GLuint group, GLuint counter, GLenum pname, void * data) 293 | GL_ENTRY(void, glGetPerfMonitorCounterStringAMD, GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString) 294 | GL_ENTRY(void, glGetPerfMonitorCountersAMD, GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei counterSize, GLuint * counters) 295 | GL_ENTRY(void, glGetPerfMonitorGroupStringAMD, GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString) 296 | GL_ENTRY(void, glGetPerfMonitorGroupsAMD, GLint * numGroups, GLsizei groupsSize, GLuint * groups) 297 | GL_ENTRY(void, glGetPerfQueryDataINTEL, GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid * data, GLuint * bytesWritten) 298 | GL_ENTRY(void, glGetPerfQueryIdByNameINTEL, GLchar * queryName, GLuint * queryId) 299 | GL_ENTRY(void, glGetPerfQueryInfoINTEL, GLuint queryId, GLuint queryNameLength, GLchar * queryName, GLuint * dataSize, GLuint * noCounters, GLuint * noInstances, GLuint * capsMask) 300 | GL_ENTRY(void, glGetPointerv, GLenum pname, void ** params) 301 | GL_ENTRY(void, glGetPointervKHR, GLenum pname, void ** params) 302 | GL_ENTRY(void, glGetProgramBinary, GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary) 303 | GL_ENTRY(void, glGetProgramBinaryOES, GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary) 304 | GL_ENTRY(void, glGetProgramInfoLog, GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog) 305 | GL_ENTRY(void, glGetProgramInterfaceiv, GLuint program, GLenum programInterface, GLenum pname, GLint * params) 306 | GL_ENTRY(void, glGetProgramPipelineInfoLog, GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) 307 | GL_ENTRY(void, glGetProgramPipelineInfoLogEXT, GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) 308 | GL_ENTRY(void, glGetProgramPipelineiv, GLuint pipeline, GLenum pname, GLint * params) 309 | GL_ENTRY(void, glGetProgramPipelineivEXT, GLuint pipeline, GLenum pname, GLint * params) 310 | GL_ENTRY(GLuint, glGetProgramResourceIndex, GLuint program, GLenum programInterface, const GLchar * name) 311 | GL_ENTRY(GLint, glGetProgramResourceLocation, GLuint program, GLenum programInterface, const GLchar * name) 312 | GL_ENTRY(void, glGetProgramResourceName, GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) 313 | GL_ENTRY(void, glGetProgramResourceiv, GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params) 314 | GL_ENTRY(void, glGetProgramiv, GLuint program, GLenum pname, GLint * params) 315 | GL_ENTRY(void, glGetQueryObjecti64vEXT, GLuint id, GLenum pname, GLint64 * params) 316 | GL_ENTRY(void, glGetQueryObjectivEXT, GLuint id, GLenum pname, GLint * params) 317 | GL_ENTRY(void, glGetQueryObjectui64vEXT, GLuint id, GLenum pname, GLuint64 * params) 318 | GL_ENTRY(void, glGetQueryObjectuiv, GLuint id, GLenum pname, GLuint * params) 319 | GL_ENTRY(void, glGetQueryObjectuivEXT, GLuint id, GLenum pname, GLuint * params) 320 | GL_ENTRY(void, glGetQueryiv, GLenum target, GLenum pname, GLint * params) 321 | GL_ENTRY(void, glGetQueryivEXT, GLenum target, GLenum pname, GLint * params) 322 | GL_ENTRY(void, glGetRenderbufferParameteriv, GLenum target, GLenum pname, GLint * params) 323 | GL_ENTRY(void, glGetRenderbufferParameterivOES, GLenum target, GLenum pname, GLint * params) 324 | GL_ENTRY(void, glGetSamplerParameterIivEXT, GLuint sampler, GLenum pname, GLint * params) 325 | GL_ENTRY(void, glGetSamplerParameterIuivEXT, GLuint sampler, GLenum pname, GLuint * params) 326 | GL_ENTRY(void, glGetSamplerParameterfv, GLuint sampler, GLenum pname, GLfloat * params) 327 | GL_ENTRY(void, glGetSamplerParameteriv, GLuint sampler, GLenum pname, GLint * params) 328 | GL_ENTRY(void, glGetShaderInfoLog, GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog) 329 | GL_ENTRY(void, glGetShaderPrecisionFormat, GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision) 330 | GL_ENTRY(void, glGetShaderSource, GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source) 331 | GL_ENTRY(void, glGetShaderiv, GLuint shader, GLenum pname, GLint * params) 332 | GL_ENTRY(const GLubyte *, glGetString, GLenum name) 333 | GL_ENTRY(const GLubyte *, glGetStringi, GLenum name, GLuint index) 334 | GL_ENTRY(void, glGetSynciv, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values) 335 | GL_ENTRY(void, glGetSyncivAPPLE, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values) 336 | GL_ENTRY(void, glGetTexEnvfv, GLenum target, GLenum pname, GLfloat * params) 337 | GL_ENTRY(void, glGetTexEnviv, GLenum target, GLenum pname, GLint * params) 338 | GL_ENTRY(void, glGetTexEnvxv, GLenum target, GLenum pname, GLfixed * params) 339 | GL_ENTRY(void, glGetTexEnvxvOES, GLenum target, GLenum pname, GLfixed * params) 340 | GL_ENTRY(void, glGetTexGenfvOES, GLenum coord, GLenum pname, GLfloat * params) 341 | GL_ENTRY(void, glGetTexGenivOES, GLenum coord, GLenum pname, GLint * params) 342 | GL_ENTRY(void, glGetTexGenxvOES, GLenum coord, GLenum pname, GLfixed * params) 343 | GL_ENTRY(void, glGetTexLevelParameterfv, GLenum target, GLint level, GLenum pname, GLfloat * params) 344 | GL_ENTRY(void, glGetTexLevelParameteriv, GLenum target, GLint level, GLenum pname, GLint * params) 345 | GL_ENTRY(void, glGetTexParameterIivEXT, GLenum target, GLenum pname, GLint * params) 346 | GL_ENTRY(void, glGetTexParameterIuivEXT, GLenum target, GLenum pname, GLuint * params) 347 | GL_ENTRY(void, glGetTexParameterfv, GLenum target, GLenum pname, GLfloat * params) 348 | GL_ENTRY(void, glGetTexParameteriv, GLenum target, GLenum pname, GLint * params) 349 | GL_ENTRY(void, glGetTexParameterxv, GLenum target, GLenum pname, GLfixed * params) 350 | GL_ENTRY(void, glGetTexParameterxvOES, GLenum target, GLenum pname, GLfixed * params) 351 | GL_ENTRY(void, glGetTransformFeedbackVarying, GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name) 352 | GL_ENTRY(void, glGetTranslatedShaderSourceANGLE, GLuint shader, GLsizei bufsize, GLsizei * length, GLchar * source) 353 | GL_ENTRY(GLuint, glGetUniformBlockIndex, GLuint program, const GLchar * uniformBlockName) 354 | GL_ENTRY(void, glGetUniformIndices, GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint * uniformIndices) 355 | GL_ENTRY(GLint, glGetUniformLocation, GLuint program, const GLchar * name) 356 | GL_ENTRY(void, glGetUniformfv, GLuint program, GLint location, GLfloat * params) 357 | GL_ENTRY(void, glGetUniformiv, GLuint program, GLint location, GLint * params) 358 | GL_ENTRY(void, glGetUniformuiv, GLuint program, GLint location, GLuint * params) 359 | GL_ENTRY(void, glGetVertexAttribIiv, GLuint index, GLenum pname, GLint * params) 360 | GL_ENTRY(void, glGetVertexAttribIuiv, GLuint index, GLenum pname, GLuint * params) 361 | GL_ENTRY(void, glGetVertexAttribPointerv, GLuint index, GLenum pname, void ** pointer) 362 | GL_ENTRY(void, glGetVertexAttribfv, GLuint index, GLenum pname, GLfloat * params) 363 | GL_ENTRY(void, glGetVertexAttribiv, GLuint index, GLenum pname, GLint * params) 364 | GL_ENTRY(void, glGetnUniformfvEXT, GLuint program, GLint location, GLsizei bufSize, GLfloat * params) 365 | GL_ENTRY(void, glGetnUniformivEXT, GLuint program, GLint location, GLsizei bufSize, GLint * params) 366 | GL_ENTRY(void, glHint, GLenum target, GLenum mode) 367 | GL_ENTRY(void, glInsertEventMarkerEXT, GLsizei length, const GLchar * marker) 368 | GL_ENTRY(void, glInvalidateFramebuffer, GLenum target, GLsizei numAttachments, const GLenum * attachments) 369 | GL_ENTRY(void, glInvalidateSubFramebuffer, GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height) 370 | GL_ENTRY(GLboolean, glIsBuffer, GLuint buffer) 371 | GL_ENTRY(GLboolean, glIsEnabled, GLenum cap) 372 | GL_ENTRY(GLboolean, glIsEnablediEXT, GLenum target, GLuint index) 373 | GL_ENTRY(GLboolean, glIsFenceNV, GLuint fence) 374 | GL_ENTRY(GLboolean, glIsFramebuffer, GLuint framebuffer) 375 | GL_ENTRY(GLboolean, glIsFramebufferOES, GLuint framebuffer) 376 | GL_ENTRY(GLboolean, glIsProgram, GLuint program) 377 | GL_ENTRY(GLboolean, glIsProgramPipeline, GLuint pipeline) 378 | GL_ENTRY(GLboolean, glIsProgramPipelineEXT, GLuint pipeline) 379 | GL_ENTRY(GLboolean, glIsQuery, GLuint id) 380 | GL_ENTRY(GLboolean, glIsQueryEXT, GLuint id) 381 | GL_ENTRY(GLboolean, glIsRenderbuffer, GLuint renderbuffer) 382 | GL_ENTRY(GLboolean, glIsRenderbufferOES, GLuint renderbuffer) 383 | GL_ENTRY(GLboolean, glIsSampler, GLuint sampler) 384 | GL_ENTRY(GLboolean, glIsShader, GLuint shader) 385 | GL_ENTRY(GLboolean, glIsSync, GLsync sync) 386 | GL_ENTRY(GLboolean, glIsSyncAPPLE, GLsync sync) 387 | GL_ENTRY(GLboolean, glIsTexture, GLuint texture) 388 | GL_ENTRY(GLboolean, glIsTransformFeedback, GLuint id) 389 | GL_ENTRY(GLboolean, glIsVertexArray, GLuint array) 390 | GL_ENTRY(GLboolean, glIsVertexArrayOES, GLuint array) 391 | GL_ENTRY(void, glLabelObjectEXT, GLenum type, GLuint object, GLsizei length, const GLchar * label) 392 | GL_ENTRY(void, glLightModelf, GLenum pname, GLfloat param) 393 | GL_ENTRY(void, glLightModelfv, GLenum pname, const GLfloat * params) 394 | GL_ENTRY(void, glLightModelx, GLenum pname, GLfixed param) 395 | GL_ENTRY(void, glLightModelxOES, GLenum pname, GLfixed param) 396 | GL_ENTRY(void, glLightModelxv, GLenum pname, const GLfixed * param) 397 | GL_ENTRY(void, glLightModelxvOES, GLenum pname, const GLfixed * param) 398 | GL_ENTRY(void, glLightf, GLenum light, GLenum pname, GLfloat param) 399 | GL_ENTRY(void, glLightfv, GLenum light, GLenum pname, const GLfloat * params) 400 | GL_ENTRY(void, glLightx, GLenum light, GLenum pname, GLfixed param) 401 | GL_ENTRY(void, glLightxOES, GLenum light, GLenum pname, GLfixed param) 402 | GL_ENTRY(void, glLightxv, GLenum light, GLenum pname, const GLfixed * params) 403 | GL_ENTRY(void, glLightxvOES, GLenum light, GLenum pname, const GLfixed * params) 404 | GL_ENTRY(void, glLineWidth, GLfloat width) 405 | GL_ENTRY(void, glLineWidthx, GLfixed width) 406 | GL_ENTRY(void, glLineWidthxOES, GLfixed width) 407 | GL_ENTRY(void, glLinkProgram, GLuint program) 408 | GL_ENTRY(void, glLoadIdentity, void) 409 | GL_ENTRY(void, glLoadMatrixf, const GLfloat * m) 410 | GL_ENTRY(void, glLoadMatrixx, const GLfixed * m) 411 | GL_ENTRY(void, glLoadMatrixxOES, const GLfixed * m) 412 | GL_ENTRY(void, glLoadPaletteFromModelViewMatrixOES, void) 413 | GL_ENTRY(void, glLogicOp, GLenum opcode) 414 | GL_ENTRY(void *, glMapBufferOES, GLenum target, GLenum access) 415 | GL_ENTRY(void *, glMapBufferRange, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) 416 | GL_ENTRY(void *, glMapBufferRangeEXT, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) 417 | GL_ENTRY(void, glMaterialf, GLenum face, GLenum pname, GLfloat param) 418 | GL_ENTRY(void, glMaterialfv, GLenum face, GLenum pname, const GLfloat * params) 419 | GL_ENTRY(void, glMaterialx, GLenum face, GLenum pname, GLfixed param) 420 | GL_ENTRY(void, glMaterialxOES, GLenum face, GLenum pname, GLfixed param) 421 | GL_ENTRY(void, glMaterialxv, GLenum face, GLenum pname, const GLfixed * param) 422 | GL_ENTRY(void, glMaterialxvOES, GLenum face, GLenum pname, const GLfixed * param) 423 | GL_ENTRY(void, glMatrixIndexPointerOES, GLint size, GLenum type, GLsizei stride, const void * pointer) 424 | GL_ENTRY(void, glMatrixMode, GLenum mode) 425 | GL_ENTRY(void, glMemoryBarrier, GLbitfield barriers) 426 | GL_ENTRY(void, glMemoryBarrierByRegion, GLbitfield barriers) 427 | GL_ENTRY(void, glMinSampleShadingOES, GLfloat value) 428 | GL_ENTRY(void, glMultMatrixf, const GLfloat * m) 429 | GL_ENTRY(void, glMultMatrixx, const GLfixed * m) 430 | GL_ENTRY(void, glMultMatrixxOES, const GLfixed * m) 431 | GL_ENTRY(void, glMultiDrawArraysEXT, GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount) 432 | GL_ENTRY(void, glMultiDrawElementsEXT, GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount) 433 | GL_ENTRY(void, glMultiTexCoord1bOES, GLenum texture, GLbyte s) 434 | GL_ENTRY(void, glMultiTexCoord1bvOES, GLenum texture, const GLbyte * coords) 435 | GL_ENTRY(void, glMultiTexCoord2bOES, GLenum texture, GLbyte s, GLbyte t) 436 | GL_ENTRY(void, glMultiTexCoord2bvOES, GLenum texture, const GLbyte * coords) 437 | GL_ENTRY(void, glMultiTexCoord3bOES, GLenum texture, GLbyte s, GLbyte t, GLbyte r) 438 | GL_ENTRY(void, glMultiTexCoord3bvOES, GLenum texture, const GLbyte * coords) 439 | GL_ENTRY(void, glMultiTexCoord4bOES, GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q) 440 | GL_ENTRY(void, glMultiTexCoord4bvOES, GLenum texture, const GLbyte * coords) 441 | GL_ENTRY(void, glMultiTexCoord4f, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) 442 | GL_ENTRY(void, glMultiTexCoord4x, GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 443 | GL_ENTRY(void, glMultiTexCoord4xOES, GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 444 | GL_ENTRY(void, glNormal3f, GLfloat nx, GLfloat ny, GLfloat nz) 445 | GL_ENTRY(void, glNormal3x, GLfixed nx, GLfixed ny, GLfixed nz) 446 | GL_ENTRY(void, glNormal3xOES, GLfixed nx, GLfixed ny, GLfixed nz) 447 | GL_ENTRY(void, glNormalPointer, GLenum type, GLsizei stride, const void * pointer) 448 | GL_ENTRY(void, glObjectLabelKHR, GLenum identifier, GLuint name, GLsizei length, const GLchar * label) 449 | GL_ENTRY(void, glObjectPtrLabelKHR, const void * ptr, GLsizei length, const GLchar * label) 450 | GL_ENTRY(void, glOrthof, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) 451 | GL_ENTRY(void, glOrthofOES, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) 452 | GL_ENTRY(void, glOrthox, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) 453 | GL_ENTRY(void, glOrthoxOES, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) 454 | GL_ENTRY(void, glPatchParameteriEXT, GLenum pname, GLint value) 455 | GL_ENTRY(void, glPauseTransformFeedback, void) 456 | GL_ENTRY(void, glPixelStorei, GLenum pname, GLint param) 457 | GL_ENTRY(void, glPointParameterf, GLenum pname, GLfloat param) 458 | GL_ENTRY(void, glPointParameterfv, GLenum pname, const GLfloat * params) 459 | GL_ENTRY(void, glPointParameterx, GLenum pname, GLfixed param) 460 | GL_ENTRY(void, glPointParameterxOES, GLenum pname, GLfixed param) 461 | GL_ENTRY(void, glPointParameterxv, GLenum pname, const GLfixed * params) 462 | GL_ENTRY(void, glPointParameterxvOES, GLenum pname, const GLfixed * params) 463 | GL_ENTRY(void, glPointSize, GLfloat size) 464 | GL_ENTRY(void, glPointSizePointerOES, GLenum type, GLsizei stride, const void * pointer) 465 | GL_ENTRY(void, glPointSizex, GLfixed size) 466 | GL_ENTRY(void, glPointSizexOES, GLfixed size) 467 | GL_ENTRY(void, glPolygonOffset, GLfloat factor, GLfloat units) 468 | GL_ENTRY(void, glPolygonOffsetx, GLfixed factor, GLfixed units) 469 | GL_ENTRY(void, glPolygonOffsetxOES, GLfixed factor, GLfixed units) 470 | GL_ENTRY(void, glPopDebugGroupKHR, void) 471 | GL_ENTRY(void, glPopGroupMarkerEXT, void) 472 | GL_ENTRY(void, glPopMatrix, void) 473 | GL_ENTRY(void, glPrimitiveBoundingBoxEXT, GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) 474 | GL_ENTRY(void, glProgramBinary, GLuint program, GLenum binaryFormat, const void * binary, GLsizei length) 475 | GL_ENTRY(void, glProgramBinaryOES, GLuint program, GLenum binaryFormat, const void * binary, GLint length) 476 | GL_ENTRY(void, glProgramParameteri, GLuint program, GLenum pname, GLint value) 477 | GL_ENTRY(void, glProgramParameteriEXT, GLuint program, GLenum pname, GLint value) 478 | GL_ENTRY(void, glProgramUniform1f, GLuint program, GLint location, GLfloat v0) 479 | GL_ENTRY(void, glProgramUniform1fEXT, GLuint program, GLint location, GLfloat v0) 480 | GL_ENTRY(void, glProgramUniform1fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) 481 | GL_ENTRY(void, glProgramUniform1fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) 482 | GL_ENTRY(void, glProgramUniform1i, GLuint program, GLint location, GLint v0) 483 | GL_ENTRY(void, glProgramUniform1iEXT, GLuint program, GLint location, GLint v0) 484 | GL_ENTRY(void, glProgramUniform1iv, GLuint program, GLint location, GLsizei count, const GLint * value) 485 | GL_ENTRY(void, glProgramUniform1ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) 486 | GL_ENTRY(void, glProgramUniform1ui, GLuint program, GLint location, GLuint v0) 487 | GL_ENTRY(void, glProgramUniform1uiEXT, GLuint program, GLint location, GLuint v0) 488 | GL_ENTRY(void, glProgramUniform1uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) 489 | GL_ENTRY(void, glProgramUniform1uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) 490 | GL_ENTRY(void, glProgramUniform2f, GLuint program, GLint location, GLfloat v0, GLfloat v1) 491 | GL_ENTRY(void, glProgramUniform2fEXT, GLuint program, GLint location, GLfloat v0, GLfloat v1) 492 | GL_ENTRY(void, glProgramUniform2fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) 493 | GL_ENTRY(void, glProgramUniform2fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) 494 | GL_ENTRY(void, glProgramUniform2i, GLuint program, GLint location, GLint v0, GLint v1) 495 | GL_ENTRY(void, glProgramUniform2iEXT, GLuint program, GLint location, GLint v0, GLint v1) 496 | GL_ENTRY(void, glProgramUniform2iv, GLuint program, GLint location, GLsizei count, const GLint * value) 497 | GL_ENTRY(void, glProgramUniform2ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) 498 | GL_ENTRY(void, glProgramUniform2ui, GLuint program, GLint location, GLuint v0, GLuint v1) 499 | GL_ENTRY(void, glProgramUniform2uiEXT, GLuint program, GLint location, GLuint v0, GLuint v1) 500 | GL_ENTRY(void, glProgramUniform2uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) 501 | GL_ENTRY(void, glProgramUniform2uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) 502 | GL_ENTRY(void, glProgramUniform3f, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) 503 | GL_ENTRY(void, glProgramUniform3fEXT, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) 504 | GL_ENTRY(void, glProgramUniform3fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) 505 | GL_ENTRY(void, glProgramUniform3fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) 506 | GL_ENTRY(void, glProgramUniform3i, GLuint program, GLint location, GLint v0, GLint v1, GLint v2) 507 | GL_ENTRY(void, glProgramUniform3iEXT, GLuint program, GLint location, GLint v0, GLint v1, GLint v2) 508 | GL_ENTRY(void, glProgramUniform3iv, GLuint program, GLint location, GLsizei count, const GLint * value) 509 | GL_ENTRY(void, glProgramUniform3ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) 510 | GL_ENTRY(void, glProgramUniform3ui, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) 511 | GL_ENTRY(void, glProgramUniform3uiEXT, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) 512 | GL_ENTRY(void, glProgramUniform3uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) 513 | GL_ENTRY(void, glProgramUniform3uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) 514 | GL_ENTRY(void, glProgramUniform4f, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) 515 | GL_ENTRY(void, glProgramUniform4fEXT, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) 516 | GL_ENTRY(void, glProgramUniform4fv, GLuint program, GLint location, GLsizei count, const GLfloat * value) 517 | GL_ENTRY(void, glProgramUniform4fvEXT, GLuint program, GLint location, GLsizei count, const GLfloat * value) 518 | GL_ENTRY(void, glProgramUniform4i, GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) 519 | GL_ENTRY(void, glProgramUniform4iEXT, GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) 520 | GL_ENTRY(void, glProgramUniform4iv, GLuint program, GLint location, GLsizei count, const GLint * value) 521 | GL_ENTRY(void, glProgramUniform4ivEXT, GLuint program, GLint location, GLsizei count, const GLint * value) 522 | GL_ENTRY(void, glProgramUniform4ui, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) 523 | GL_ENTRY(void, glProgramUniform4uiEXT, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) 524 | GL_ENTRY(void, glProgramUniform4uiv, GLuint program, GLint location, GLsizei count, const GLuint * value) 525 | GL_ENTRY(void, glProgramUniform4uivEXT, GLuint program, GLint location, GLsizei count, const GLuint * value) 526 | GL_ENTRY(void, glProgramUniformMatrix2fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 527 | GL_ENTRY(void, glProgramUniformMatrix2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 528 | GL_ENTRY(void, glProgramUniformMatrix2x3fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 529 | GL_ENTRY(void, glProgramUniformMatrix2x3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 530 | GL_ENTRY(void, glProgramUniformMatrix2x4fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 531 | GL_ENTRY(void, glProgramUniformMatrix2x4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 532 | GL_ENTRY(void, glProgramUniformMatrix3fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 533 | GL_ENTRY(void, glProgramUniformMatrix3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 534 | GL_ENTRY(void, glProgramUniformMatrix3x2fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 535 | GL_ENTRY(void, glProgramUniformMatrix3x2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 536 | GL_ENTRY(void, glProgramUniformMatrix3x4fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 537 | GL_ENTRY(void, glProgramUniformMatrix3x4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 538 | GL_ENTRY(void, glProgramUniformMatrix4fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 539 | GL_ENTRY(void, glProgramUniformMatrix4fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 540 | GL_ENTRY(void, glProgramUniformMatrix4x2fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 541 | GL_ENTRY(void, glProgramUniformMatrix4x2fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 542 | GL_ENTRY(void, glProgramUniformMatrix4x3fv, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 543 | GL_ENTRY(void, glProgramUniformMatrix4x3fvEXT, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 544 | GL_ENTRY(void, glPushDebugGroupKHR, GLenum source, GLuint id, GLsizei length, const GLchar * message) 545 | GL_ENTRY(void, glPushGroupMarkerEXT, GLsizei length, const GLchar * marker) 546 | GL_ENTRY(void, glPushMatrix, void) 547 | GL_ENTRY(void, glQueryCounterEXT, GLuint id, GLenum target) 548 | GL_ENTRY(GLbitfield, glQueryMatrixxOES, GLfixed * mantissa, GLint * exponent) 549 | GL_ENTRY(void, glReadBuffer, GLenum mode) 550 | GL_ENTRY(void, glReadBufferIndexedEXT, GLenum src, GLint index) 551 | GL_ENTRY(void, glReadBufferNV, GLenum mode) 552 | GL_ENTRY(void, glReadPixels, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels) 553 | GL_ENTRY(void, glReadnPixelsEXT, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data) 554 | GL_ENTRY(void, glReleaseShaderCompiler, void) 555 | GL_ENTRY(void, glRenderbufferStorage, GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 556 | GL_ENTRY(void, glRenderbufferStorageMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 557 | GL_ENTRY(void, glRenderbufferStorageMultisampleANGLE, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 558 | GL_ENTRY(void, glRenderbufferStorageMultisampleAPPLE, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 559 | GL_ENTRY(void, glRenderbufferStorageMultisampleEXT, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 560 | GL_ENTRY(void, glRenderbufferStorageMultisampleIMG, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 561 | GL_ENTRY(void, glRenderbufferStorageMultisampleNV, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 562 | GL_ENTRY(void, glRenderbufferStorageOES, GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 563 | GL_ENTRY(void, glResolveMultisampleFramebufferAPPLE, void) 564 | GL_ENTRY(void, glResumeTransformFeedback, void) 565 | GL_ENTRY(void, glRotatef, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) 566 | GL_ENTRY(void, glRotatex, GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 567 | GL_ENTRY(void, glRotatexOES, GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 568 | GL_ENTRY(void, glSampleCoverage, GLfloat value, GLboolean invert) 569 | GL_ENTRY(void, glSampleCoverageOES, GLfixed value, GLboolean invert) 570 | GL_ENTRY(void, glSampleCoveragex, GLclampx value, GLboolean invert) 571 | GL_ENTRY(void, glSampleCoveragexOES, GLclampx value, GLboolean invert) 572 | GL_ENTRY(void, glSampleMaski, GLuint maskNumber, GLbitfield mask) 573 | GL_ENTRY(void, glSamplerParameterIivEXT, GLuint sampler, GLenum pname, const GLint * param) 574 | GL_ENTRY(void, glSamplerParameterIuivEXT, GLuint sampler, GLenum pname, const GLuint * param) 575 | GL_ENTRY(void, glSamplerParameterf, GLuint sampler, GLenum pname, GLfloat param) 576 | GL_ENTRY(void, glSamplerParameterfv, GLuint sampler, GLenum pname, const GLfloat * param) 577 | GL_ENTRY(void, glSamplerParameteri, GLuint sampler, GLenum pname, GLint param) 578 | GL_ENTRY(void, glSamplerParameteriv, GLuint sampler, GLenum pname, const GLint * param) 579 | GL_ENTRY(void, glScalef, GLfloat x, GLfloat y, GLfloat z) 580 | GL_ENTRY(void, glScalex, GLfixed x, GLfixed y, GLfixed z) 581 | GL_ENTRY(void, glScalexOES, GLfixed x, GLfixed y, GLfixed z) 582 | GL_ENTRY(void, glScissor, GLint x, GLint y, GLsizei width, GLsizei height) 583 | GL_ENTRY(void, glSelectPerfMonitorCountersAMD, GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList) 584 | GL_ENTRY(void, glSetFenceNV, GLuint fence, GLenum condition) 585 | GL_ENTRY(void, glShadeModel, GLenum mode) 586 | GL_ENTRY(void, glShaderBinary, GLsizei count, const GLuint * shaders, GLenum binaryformat, const void * binary, GLsizei length) 587 | GL_ENTRY(void, glShaderSource, GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length) 588 | GL_ENTRY(void, glStartTilingQCOM, GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) 589 | GL_ENTRY(void, glStencilFunc, GLenum func, GLint ref, GLuint mask) 590 | GL_ENTRY(void, glStencilFuncSeparate, GLenum face, GLenum func, GLint ref, GLuint mask) 591 | GL_ENTRY(void, glStencilMask, GLuint mask) 592 | GL_ENTRY(void, glStencilMaskSeparate, GLenum face, GLuint mask) 593 | GL_ENTRY(void, glStencilOp, GLenum fail, GLenum zfail, GLenum zpass) 594 | GL_ENTRY(void, glStencilOpSeparate, GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) 595 | GL_ENTRY(GLboolean, glTestFenceNV, GLuint fence) 596 | GL_ENTRY(void, glTexBufferEXT, GLenum target, GLenum internalformat, GLuint buffer) 597 | GL_ENTRY(void, glTexBufferRangeEXT, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) 598 | GL_ENTRY(void, glTexCoord1bOES, GLbyte s) 599 | GL_ENTRY(void, glTexCoord1bvOES, const GLbyte * coords) 600 | GL_ENTRY(void, glTexCoord2bOES, GLbyte s, GLbyte t) 601 | GL_ENTRY(void, glTexCoord2bvOES, const GLbyte * coords) 602 | GL_ENTRY(void, glTexCoord3bOES, GLbyte s, GLbyte t, GLbyte r) 603 | GL_ENTRY(void, glTexCoord3bvOES, const GLbyte * coords) 604 | GL_ENTRY(void, glTexCoord4bOES, GLbyte s, GLbyte t, GLbyte r, GLbyte q) 605 | GL_ENTRY(void, glTexCoord4bvOES, const GLbyte * coords) 606 | GL_ENTRY(void, glTexCoordPointer, GLint size, GLenum type, GLsizei stride, const void * pointer) 607 | GL_ENTRY(void, glTexEnvf, GLenum target, GLenum pname, GLfloat param) 608 | GL_ENTRY(void, glTexEnvfv, GLenum target, GLenum pname, const GLfloat * params) 609 | GL_ENTRY(void, glTexEnvi, GLenum target, GLenum pname, GLint param) 610 | GL_ENTRY(void, glTexEnviv, GLenum target, GLenum pname, const GLint * params) 611 | GL_ENTRY(void, glTexEnvx, GLenum target, GLenum pname, GLfixed param) 612 | GL_ENTRY(void, glTexEnvxOES, GLenum target, GLenum pname, GLfixed param) 613 | GL_ENTRY(void, glTexEnvxv, GLenum target, GLenum pname, const GLfixed * params) 614 | GL_ENTRY(void, glTexEnvxvOES, GLenum target, GLenum pname, const GLfixed * params) 615 | GL_ENTRY(void, glTexGenfOES, GLenum coord, GLenum pname, GLfloat param) 616 | GL_ENTRY(void, glTexGenfvOES, GLenum coord, GLenum pname, const GLfloat * params) 617 | GL_ENTRY(void, glTexGeniOES, GLenum coord, GLenum pname, GLint param) 618 | GL_ENTRY(void, glTexGenivOES, GLenum coord, GLenum pname, const GLint * params) 619 | GL_ENTRY(void, glTexGenxOES, GLenum coord, GLenum pname, GLfixed param) 620 | GL_ENTRY(void, glTexGenxvOES, GLenum coord, GLenum pname, const GLfixed * params) 621 | GL_ENTRY(void, glTexImage2D, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels) 622 | GL_ENTRY(void, glTexImage3D, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) 623 | GL_ENTRY(void, glTexImage3DOES, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) 624 | GL_ENTRY(void, glTexParameterIivEXT, GLenum target, GLenum pname, const GLint * params) 625 | GL_ENTRY(void, glTexParameterIuivEXT, GLenum target, GLenum pname, const GLuint * params) 626 | GL_ENTRY(void, glTexParameterf, GLenum target, GLenum pname, GLfloat param) 627 | GL_ENTRY(void, glTexParameterfv, GLenum target, GLenum pname, const GLfloat * params) 628 | GL_ENTRY(void, glTexParameteri, GLenum target, GLenum pname, GLint param) 629 | GL_ENTRY(void, glTexParameteriv, GLenum target, GLenum pname, const GLint * params) 630 | GL_ENTRY(void, glTexParameterx, GLenum target, GLenum pname, GLfixed param) 631 | GL_ENTRY(void, glTexParameterxOES, GLenum target, GLenum pname, GLfixed param) 632 | GL_ENTRY(void, glTexParameterxv, GLenum target, GLenum pname, const GLfixed * params) 633 | GL_ENTRY(void, glTexParameterxvOES, GLenum target, GLenum pname, const GLfixed * params) 634 | GL_ENTRY(void, glTexStorage1DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 635 | GL_ENTRY(void, glTexStorage2D, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 636 | GL_ENTRY(void, glTexStorage2DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 637 | GL_ENTRY(void, glTexStorage2DMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) 638 | GL_ENTRY(void, glTexStorage3D, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 639 | GL_ENTRY(void, glTexStorage3DEXT, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 640 | GL_ENTRY(void, glTexStorage3DMultisampleOES, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) 641 | GL_ENTRY(void, glTexSubImage2D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels) 642 | GL_ENTRY(void, glTexSubImage3D, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) 643 | GL_ENTRY(void, glTexSubImage3DOES, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) 644 | GL_ENTRY(void, glTextureStorage1DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 645 | GL_ENTRY(void, glTextureStorage2DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 646 | GL_ENTRY(void, glTextureStorage3DEXT, GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 647 | GL_ENTRY(void, glTextureViewEXT, GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) 648 | GL_ENTRY(void, glTransformFeedbackVaryings, GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode) 649 | GL_ENTRY(void, glTranslatef, GLfloat x, GLfloat y, GLfloat z) 650 | GL_ENTRY(void, glTranslatex, GLfixed x, GLfixed y, GLfixed z) 651 | GL_ENTRY(void, glTranslatexOES, GLfixed x, GLfixed y, GLfixed z) 652 | GL_ENTRY(void, glUniform1f, GLint location, GLfloat v0) 653 | GL_ENTRY(void, glUniform1fv, GLint location, GLsizei count, const GLfloat * value) 654 | GL_ENTRY(void, glUniform1i, GLint location, GLint v0) 655 | GL_ENTRY(void, glUniform1iv, GLint location, GLsizei count, const GLint * value) 656 | GL_ENTRY(void, glUniform1ui, GLint location, GLuint v0) 657 | GL_ENTRY(void, glUniform1uiv, GLint location, GLsizei count, const GLuint * value) 658 | GL_ENTRY(void, glUniform2f, GLint location, GLfloat v0, GLfloat v1) 659 | GL_ENTRY(void, glUniform2fv, GLint location, GLsizei count, const GLfloat * value) 660 | GL_ENTRY(void, glUniform2i, GLint location, GLint v0, GLint v1) 661 | GL_ENTRY(void, glUniform2iv, GLint location, GLsizei count, const GLint * value) 662 | GL_ENTRY(void, glUniform2ui, GLint location, GLuint v0, GLuint v1) 663 | GL_ENTRY(void, glUniform2uiv, GLint location, GLsizei count, const GLuint * value) 664 | GL_ENTRY(void, glUniform3f, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) 665 | GL_ENTRY(void, glUniform3fv, GLint location, GLsizei count, const GLfloat * value) 666 | GL_ENTRY(void, glUniform3i, GLint location, GLint v0, GLint v1, GLint v2) 667 | GL_ENTRY(void, glUniform3iv, GLint location, GLsizei count, const GLint * value) 668 | GL_ENTRY(void, glUniform3ui, GLint location, GLuint v0, GLuint v1, GLuint v2) 669 | GL_ENTRY(void, glUniform3uiv, GLint location, GLsizei count, const GLuint * value) 670 | GL_ENTRY(void, glUniform4f, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) 671 | GL_ENTRY(void, glUniform4fv, GLint location, GLsizei count, const GLfloat * value) 672 | GL_ENTRY(void, glUniform4i, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) 673 | GL_ENTRY(void, glUniform4iv, GLint location, GLsizei count, const GLint * value) 674 | GL_ENTRY(void, glUniform4ui, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) 675 | GL_ENTRY(void, glUniform4uiv, GLint location, GLsizei count, const GLuint * value) 676 | GL_ENTRY(void, glUniformBlockBinding, GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) 677 | GL_ENTRY(void, glUniformMatrix2fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 678 | GL_ENTRY(void, glUniformMatrix2x3fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 679 | GL_ENTRY(void, glUniformMatrix2x3fvNV, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 680 | GL_ENTRY(void, glUniformMatrix2x4fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 681 | GL_ENTRY(void, glUniformMatrix2x4fvNV, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 682 | GL_ENTRY(void, glUniformMatrix3fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 683 | GL_ENTRY(void, glUniformMatrix3x2fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 684 | GL_ENTRY(void, glUniformMatrix3x2fvNV, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 685 | GL_ENTRY(void, glUniformMatrix3x4fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 686 | GL_ENTRY(void, glUniformMatrix3x4fvNV, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 687 | GL_ENTRY(void, glUniformMatrix4fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 688 | GL_ENTRY(void, glUniformMatrix4x2fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 689 | GL_ENTRY(void, glUniformMatrix4x2fvNV, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 690 | GL_ENTRY(void, glUniformMatrix4x3fv, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 691 | GL_ENTRY(void, glUniformMatrix4x3fvNV, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) 692 | GL_ENTRY(GLboolean, glUnmapBuffer, GLenum target) 693 | GL_ENTRY(GLboolean, glUnmapBufferOES, GLenum target) 694 | GL_ENTRY(void, glUseProgram, GLuint program) 695 | GL_ENTRY(void, glUseProgramStages, GLuint pipeline, GLbitfield stages, GLuint program) 696 | GL_ENTRY(void, glUseProgramStagesEXT, GLuint pipeline, GLbitfield stages, GLuint program) 697 | GL_ENTRY(void, glValidateProgram, GLuint program) 698 | GL_ENTRY(void, glValidateProgramPipeline, GLuint pipeline) 699 | GL_ENTRY(void, glValidateProgramPipelineEXT, GLuint pipeline) 700 | GL_ENTRY(void, glVertex2bOES, GLbyte x) 701 | GL_ENTRY(void, glVertex2bvOES, const GLbyte * coords) 702 | GL_ENTRY(void, glVertex3bOES, GLbyte x, GLbyte y) 703 | GL_ENTRY(void, glVertex3bvOES, const GLbyte * coords) 704 | GL_ENTRY(void, glVertex4bOES, GLbyte x, GLbyte y, GLbyte z) 705 | GL_ENTRY(void, glVertex4bvOES, const GLbyte * coords) 706 | GL_ENTRY(void, glVertexAttrib1f, GLuint index, GLfloat x) 707 | GL_ENTRY(void, glVertexAttrib1fv, GLuint index, const GLfloat * v) 708 | GL_ENTRY(void, glVertexAttrib2f, GLuint index, GLfloat x, GLfloat y) 709 | GL_ENTRY(void, glVertexAttrib2fv, GLuint index, const GLfloat * v) 710 | GL_ENTRY(void, glVertexAttrib3f, GLuint index, GLfloat x, GLfloat y, GLfloat z) 711 | GL_ENTRY(void, glVertexAttrib3fv, GLuint index, const GLfloat * v) 712 | GL_ENTRY(void, glVertexAttrib4f, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 713 | GL_ENTRY(void, glVertexAttrib4fv, GLuint index, const GLfloat * v) 714 | GL_ENTRY(void, glVertexAttribBinding, GLuint attribindex, GLuint bindingindex) 715 | GL_ENTRY(void, glVertexAttribDivisor, GLuint index, GLuint divisor) 716 | GL_ENTRY(void, glVertexAttribDivisorANGLE, GLuint index, GLuint divisor) 717 | GL_ENTRY(void, glVertexAttribDivisorEXT, GLuint index, GLuint divisor) 718 | GL_ENTRY(void, glVertexAttribDivisorNV, GLuint index, GLuint divisor) 719 | GL_ENTRY(void, glVertexAttribFormat, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) 720 | GL_ENTRY(void, glVertexAttribI4i, GLuint index, GLint x, GLint y, GLint z, GLint w) 721 | GL_ENTRY(void, glVertexAttribI4iv, GLuint index, const GLint * v) 722 | GL_ENTRY(void, glVertexAttribI4ui, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) 723 | GL_ENTRY(void, glVertexAttribI4uiv, GLuint index, const GLuint * v) 724 | GL_ENTRY(void, glVertexAttribIFormat, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) 725 | GL_ENTRY(void, glVertexAttribIPointer, GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer) 726 | GL_ENTRY(void, glVertexAttribPointer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer) 727 | GL_ENTRY(void, glVertexBindingDivisor, GLuint bindingindex, GLuint divisor) 728 | GL_ENTRY(void, glVertexPointer, GLint size, GLenum type, GLsizei stride, const void * pointer) 729 | GL_ENTRY(void, glViewport, GLint x, GLint y, GLsizei width, GLsizei height) 730 | GL_ENTRY(void, glWaitSync, GLsync sync, GLbitfield flags, GLuint64 timeout) 731 | GL_ENTRY(void, glWaitSyncAPPLE, GLsync sync, GLbitfield flags, GLuint64 timeout) 732 | GL_ENTRY(void, glWeightPointerOES, GLint size, GLenum type, GLsizei stride, const void * pointer) -------------------------------------------------------------------------------- /tlshook/tls.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 The Android Open Source Project 3 | * All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in 12 | * the documentation and/or other materials provided with the 13 | * distribution. 14 | * 15 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 18 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 19 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 21 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 22 | * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 23 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25 | * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 | * SUCH DAMAGE. 27 | */ 28 | #pragma once 29 | #if defined(__aarch64__) 30 | # define __get_tls() ({ void** __val; __asm__("mrs %0, tpidr_el0" : "=r"(__val)); __val; }) 31 | #elif defined(__arm__) 32 | # define __get_tls() ({ void** __val; __asm__("mrc p15, 0, %0, c13, c0, 3" : "=r"(__val)); __val; }) 33 | #elif defined(__i386__) 34 | # define __get_tls() ({ void** __val; __asm__("movl %%gs:0, %0" : "=r"(__val)); __val; }) 35 | #elif defined(__x86_64__) 36 | # define __get_tls() ({ void** __val; __asm__("mov %%fs:0, %0" : "=r"(__val)); __val; }) 37 | #else 38 | #error unsupported architecture 39 | #endif -------------------------------------------------------------------------------- /tlshook/tlshook.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TLSHook 3 | * @author : keith@robot9.me 4 | * 5 | */ 6 | #include "tlshook.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include "common.h" 13 | #include "tls.h" 14 | #include "eglcore.h" 15 | 16 | 17 | /** entries.in commit logs 18 | 8.0-28 1381b18 Update EGL and GLES headers. by Krzysztof Kosiński · 4 years, 1 month ago 19 | 20 | 7.0-24 4690754 opengl: Update headers and registry and regenerate *api.in by Pablo Ceballos · 6 years ago 21 | 22 | 5.0-21 fca1b54 opengl: Regenerate code with ES 3.1 and new extensions by Jesse Hall · 8 years ago 23 | 3703f7f opengl: Update GLES headers and generate *.in from registry XML by Jesse Hall · 8 years ago 24 | 0b96e6c Revert "opengl: Generate *.in from registry XML" by Jesse Hall · 8 years ago 25 | 4a73962 opengl: Generate *.in from registry XML by Jesse Hall · 8 years ago 26 | 27 | 4.3-18 4774338 Add ES3 support to libGLESv2 and tracing tools by Jesse Hall · 9 years ago 28 | d58974c Regenerate API/trace files for constness change by Jesse Hall · 9 years ago 29 | 300ad09 Fix return type of glGetAttribLocation and glGetUniformLocation by Andrew Hsieh · 9 years ago 30 | 31 | 4.1-16 3127260 update GLES headers and add support for corresponding new extensions. by Mathias Agopian · 10 years ago 32 | 11cca92 update GL ES stub libraries with the new GL ES headers by Mathias Agopian · 12 years ago 33 | 618fa10 fix [2187212] add support for GLESv2 dispatch based on TLS by Mathias Agopian · 13 years ago 34 | */ 35 | 36 | namespace TLSHook { 37 | 38 | #define TLS_SLOT_OPENGL_API_LOWER 3 39 | #define TLS_SLOT_OPENGL_API_29 4 40 | 41 | struct HookFuncEntry { 42 | std::string name; 43 | int idx = -1; 44 | size_t *origin = nullptr; 45 | size_t *hooked = nullptr; 46 | }; 47 | 48 | static size_t *tlsPtr = nullptr; 49 | static std::unordered_map hookMap; 50 | static std::unordered_map hookFunctions; 51 | 52 | void *volatile *get_tls_hooks() { 53 | volatile void *tls_base = __get_tls(); 54 | void *volatile *tls_hooks = reinterpret_cast(tls_base); 55 | return tls_hooks; 56 | } 57 | 58 | void *getGlThreadSpecific(int idx) { 59 | void *volatile *tls_hooks = get_tls_hooks(); 60 | void *hooks = tls_hooks[idx]; 61 | return hooks; 62 | } 63 | 64 | bool tls_hook_init() { 65 | if (tlsPtr == nullptr) { 66 | EGLCore egl_core; 67 | bool needCreateEGL = (eglGetCurrentContext() == EGL_NO_CONTEXT); 68 | if (needCreateEGL) { 69 | LOGI("Init egl ..."); 70 | // init egl 71 | if (!egl_core.create(1, 1)) { 72 | LOGE("Init egl failed"); 73 | } 74 | egl_core.makeCurrent(); 75 | LOGI("Init egl done"); 76 | } 77 | 78 | char sdk[128] = "0"; 79 | __system_property_get("ro.build.version.sdk", sdk); 80 | int api_level = atoi(sdk); 81 | LOGI("ro.build.version.sdk: %s", sdk); 82 | int tlsIdx = api_level >= 29 ? TLS_SLOT_OPENGL_API_29 : TLS_SLOT_OPENGL_API_LOWER; 83 | 84 | // get tls ptr 85 | tlsPtr = static_cast(getGlThreadSpecific(tlsIdx)); 86 | if (tlsPtr == nullptr) { 87 | LOGE("Error getGlThreadSpecific nullptr"); 88 | return false; 89 | } 90 | 91 | int idx = 0; 92 | 93 | #define GL_ENTRY(_r, _api, ...) hookMap[#_api] = idx++; 94 | if (api_level >= 28) { 95 | #include "entry/entries.28.in" 96 | } else if (api_level >= 24) { 97 | #include "entry/entries.24.in" 98 | } else if (api_level >= 21) { 99 | #include "entry/entries.21.in" 100 | } else if (api_level >= 18) { 101 | #include "entry/entries.18.in" 102 | } else if (api_level >= 16) { 103 | #include "entry/entries.16.in" 104 | } 105 | 106 | if (needCreateEGL) { 107 | egl_core.destroy(); 108 | LOGI("Destroy egl"); 109 | } 110 | } 111 | 112 | LOGI("hook init success"); 113 | return true; 114 | } 115 | 116 | bool tls_hook_func(const char *symbol, void *new_func, void **old_func) { 117 | HookFuncEntry entry; 118 | entry.name = symbol; 119 | auto it = hookMap.find(entry.name); 120 | if (it == hookMap.end()) { 121 | LOGE("Hook failed: symbol not found: %s", symbol); 122 | return false; 123 | } 124 | entry.idx = it->second; 125 | size_t *slot = tlsPtr + entry.idx; 126 | 127 | *old_func = entry.origin = reinterpret_cast(*slot); 128 | entry.hooked = static_cast(new_func); 129 | *slot = reinterpret_cast(new_func); 130 | hookFunctions[entry.name] = entry; 131 | 132 | LOGI("Hook success: symbol: %s", symbol); 133 | return true; 134 | } 135 | 136 | void tls_hook_clear() { 137 | for (auto &it : hookFunctions) { 138 | auto &entry = it.second; 139 | size_t *slot = tlsPtr + entry.idx; 140 | *slot = reinterpret_cast(entry.origin); 141 | } 142 | hookFunctions.clear(); 143 | LOGI("hook clear"); 144 | } 145 | 146 | } -------------------------------------------------------------------------------- /tlshook/tlshook.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TLSHook 3 | * @author : keith@robot9.me 4 | * 5 | */ 6 | #pragma once 7 | 8 | namespace TLSHook { 9 | 10 | /** 11 | * init hook 12 | * @return success or not 13 | */ 14 | bool tls_hook_init(); 15 | 16 | /** 17 | * hook function 18 | * @param symbol: function name 19 | * @param new_func: function you want to replace with 20 | * @param old_func: origin function entry point 21 | * @return success or not 22 | */ 23 | bool tls_hook_func(const char *symbol, void *new_func, void **old_func); 24 | 25 | /** 26 | * clear all hooks 27 | */ 28 | void tls_hook_clear(); 29 | 30 | } 31 | --------------------------------------------------------------------------------